@font-face{font-family:Barlow;font-weight:400;font-display:swap;src:url(/fonts/barlow-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Barlow;font-weight:500;font-display:swap;src:url(/fonts/barlow-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Barlow;font-weight:600;font-display:swap;src:url(/fonts/barlow-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Barlow;font-weight:700;font-display:swap;src:url(/fonts/barlow-latin-700-normal.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}:root{color-scheme:light;--paper: #f3f4f1;--sheet: #ffffff;--sheet-2: #f7f8f6;--ink: #141614;--ink-2: #434a46;--muted: #69716c;--rule: #d6dad5;--rule-strong: #b9beb9;--mat: #2d5a4c;--mat-deep: #224a3e;--mat-line: rgba(255, 255, 255, .13);--mat-mark: rgba(243, 198, 35, .5);--on-mat: #eef3f0;--action: #f3c623;--action-hover: #e2b512;--on-action: #141614;--link: #1f5a49;--current: #e0301e;--done: #1f8a5b;--warn: #8a5800;--warn-bg: #fff4cc;--error: #b3261e;--focus: #1f5a49;--text: "Barlow", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--display: "Barlow Condensed", "Barlow", "Segoe UI", system-ui, sans-serif;--bg: var(--paper);--surface: var(--sheet);--surface-2: var(--sheet-2);--line: var(--rule);--line-strong: var(--rule-strong);--accent: var(--current);--accent-ink: var(--current);--cobalt: var(--link);--ok: var(--done);--stage: var(--mat);--on-stage: var(--on-mat);font-family:var(--text);font-size:17px;color:var(--ink);background:var(--paper);font-synthesis:none;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color-scheme:dark;--paper: #141514;--sheet: #1d1f1d;--sheet-2: #242624;--ink: #ebedea;--ink-2: #c5cac6;--muted: #9ba39e;--rule: #2e322f;--rule-strong: #454a46;--mat: #23483d;--mat-deep: #1b3b32;--link: #8fd0b8;--focus: #8fd0b8;--warn: #f0c24a;--warn-bg: #332a0c;--error: #ff8a80}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5}img,svg,canvas{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.4}a{color:var(--link);text-underline-offset:3px}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.05;letter-spacing:-.005em;margin:0;text-wrap:balance}p{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[id]{scroll-margin-top:70px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 12px}.skip-link:focus{top:12px}kbd{font-family:ui-monospace,Consolas,monospace;font-size:.8em;padding:0 5px;border:1px solid var(--rule-strong);border-radius:3px;background:var(--sheet)}code{font-family:ui-monospace,Consolas,monospace;font-size:.86em}.eyebrow{font-weight:600;color:var(--muted);margin-bottom:8px}.muted{color:var(--muted);font-size:.92rem}.lede{color:var(--ink-2);font-size:1.08rem;max-width:62ch;margin-top:10px}.primary-button,.ghost-button,.glass-button,.make-button,.icon-text,.link-button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;text-decoration:none;white-space:nowrap;border-radius:4px;transition:background .15s,border-color .15s,color .15s}.primary-button{min-height:46px;padding:0 20px;background:var(--action);color:var(--on-action);font-size:1rem}.primary-button:hover:not(:disabled){background:var(--action-hover)}.primary-button.big,.glass-button.big{min-height:52px;padding:0 26px;font-size:1.06rem}.ghost-button,.glass-button{min-height:42px;padding:0 16px;border:1px solid var(--rule-strong);background:var(--sheet);color:var(--ink)}.ghost-button:hover:not(:disabled),.glass-button:hover{border-color:var(--ink)}.make-button{min-height:42px;padding:0 16px;background:var(--ink);color:var(--paper)}.make-button:hover:not(:disabled){background:var(--ink-2)}.text-link{color:var(--ink);padding:0;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--action);text-underline-offset:5px}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--sheet);color:var(--ink)}.icon-button:hover:not(:disabled){border-color:var(--ink)}.icon-text{min-height:32px;padding:0 8px;font-size:.88rem;color:var(--ink-2)}.icon-text:hover{color:var(--ink);background:var(--sheet-2)}.icon-text.danger:hover,.danger:hover{color:var(--error)}.link-button{color:var(--link);padding:0;text-decoration:underline}.chip-button{min-height:32px;padding:0 12px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--sheet);font-weight:600;font-size:.86rem}.segmented{display:inline-flex;flex-wrap:wrap;border:1px solid var(--rule-strong);border-radius:4px;overflow:hidden;background:var(--sheet)}.segmented button{min-height:36px;padding:0 12px;font-size:.9rem;font-weight:600;color:var(--ink-2);border-right:1px solid var(--rule)}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.segmented.small button{min-height:32px;padding:0 10px}.site-header,.site-header.on-dark{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:20px;height:60px;padding:0 clamp(16px,3vw,32px);background:var(--sheet);color:var(--ink);border-bottom:1px solid var(--rule)}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.3rem}.brand b{font-weight:700;color:var(--ink)}.brand img{width:26px;height:26px}.nav{display:flex;gap:2px;margin-left:10px}.nav a{padding:8px 12px;color:var(--ink-2);font-weight:600;font-size:.95rem;text-decoration:none;border-bottom:2px solid transparent}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.nav-count{margin-left:5px;color:var(--muted);font-weight:500}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.theme-toggle{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--rule-strong);border-radius:4px;font-weight:600;font-size:.88rem;white-space:nowrap}.header-cta{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:4px;background:var(--action);color:var(--on-action);font-weight:600;font-size:.92rem}.mobile-menu{display:none}.auth-buttons{display:flex;align-items:center;gap:6px}.login-button,.signup-button{min-height:36px;padding:0 14px;border-radius:4px;font-weight:600;font-size:.92rem;white-space:nowrap}.login-button{color:var(--ink)}.login-button:hover{background:var(--sheet-2)}.signup-button{background:var(--ink);color:var(--paper)}.signup-button:hover{background:var(--ink-2)}.user-menu{position:relative}.avatar-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid var(--rule-strong);overflow:hidden}.avatar-button[aria-expanded=true]{outline:2px solid var(--ink);outline-offset:1px}.avatar-photo{display:block;border-radius:50%;object-fit:cover}.avatar-initial{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--mat);color:var(--on-mat);font-family:var(--display);font-weight:700;line-height:1}.user-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:50;display:grid;min-width:250px;max-width:calc(100vw - 24px);padding:6px;border-radius:8px;background:var(--sheet);border:1px solid var(--rule-strong);box-shadow:0 12px 32px #0003}.user-menu-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;padding:10px 10px 12px;border-bottom:1px solid var(--rule)}.user-menu-head div{display:grid;min-width:0}.user-menu-head strong,.user-menu-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-head small{color:var(--muted)}.user-menu-panel button{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:4px;text-align:left;font-weight:600}.user-menu-panel button:hover{background:var(--sheet-2)}.signin-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid var(--rule-strong);border-radius:10px;background:var(--sheet);color:var(--ink);box-shadow:0 24px 64px #00000059}.signin-dialog::backdrop{background:#0a0a0c99}.dialog-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--ink-2)}.dialog-close:hover{background:var(--sheet-2);color:var(--ink)}.signin-panel{display:grid;gap:14px;padding:32px 28px 26px;text-align:center}.signin-panel h1,.signin-panel h2{font-family:var(--display);font-size:2rem;font-weight:700;line-height:1.1}.signin-mark{justify-self:center}.signin-lede{color:var(--ink-2)}.signin-benefits{display:grid;gap:8px;margin:0;padding:14px 16px;border-radius:6px;background:var(--sheet-2);list-style:none;text-align:left}.signin-benefits li{display:flex;align-items:center;gap:10px;font-size:.94rem}.signin-panel .google-button{width:100%}.google-slot{display:flex;justify-content:center;min-height:44px}.signin-panel .account-form{max-width:none;text-align:left}.signin-legal{color:var(--muted)}.signin-switch{color:var(--ink-2);font-size:.94rem}.link-button{padding:0;border:0;background:none;color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.signin-card{max-width:460px;margin:clamp(8px,4vw,40px) auto 0;border-radius:10px;background:var(--sheet);border:1px solid var(--rule)}.signin-aside{max-width:460px;margin:16px auto 0;color:var(--muted);font-size:.92rem;text-align:center}.account-loading{padding:60px 0;color:var(--muted);text-align:center}.account-head{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:24px}.account-head h1{font-size:clamp(2rem,4vw,3rem);font-weight:700}.account-head p{color:var(--muted)}.account-head .ghost-button{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.account-section{display:grid;justify-items:start;gap:12px}.account-section h2{display:flex;align-items:center;gap:8px;font-size:1.4rem}.account-section>p{color:var(--ink-2)}.account-section>button{display:inline-flex;align-items:center;gap:8px}.account-section .project-grid{justify-self:stretch}.account-main>*+*{padding-top:18px;border-top:1px solid var(--rule)}.board3d{position:relative;display:grid;place-items:center;perspective:1600px;width:100%}.board3d.is-3d[tabindex]{cursor:grab;touch-action:pan-y}.board3d.is-3d[tabindex]:active{cursor:grabbing}.board3d-object{position:relative;width:100%;aspect-ratio:1;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .45s cubic-bezier(.2,.8,.2,1)}.board3d.is-flat .board3d-object{transform:none}.board3d-mat{position:absolute;inset:-160%;pointer-events:none;background-color:var(--mat);background-image:linear-gradient(var(--mat-mark) 1px,transparent 1px),linear-gradient(90deg,var(--mat-mark) 1px,transparent 1px),linear-gradient(var(--mat-line) 1px,transparent 1px),linear-gradient(90deg,var(--mat-line) 1px,transparent 1px);background-size:calc(var(--cm, 14px) * 5) calc(var(--cm, 14px) * 5),calc(var(--cm, 14px) * 5) calc(var(--cm, 14px) * 5),var(--cm, 14px) var(--cm, 14px),var(--cm, 14px) var(--cm, 14px);background-position:center;transform:translateZ(-34px)}.board3d-edge{position:absolute;inset:0;clip-path:var(--clip);background:linear-gradient(135deg,var(--edge-a) 0%,var(--edge-b) 100%);transform:translateZ(calc(var(--z) * var(--layer, -2.2px)));pointer-events:none}.board3d-face{position:relative;transform:translateZ(.5px)}.board3d-face canvas{display:block;width:100%;height:auto}.canvas-stage,.making-board,.card-visual,.gallery-board,.hero-art,.process-grid .board3d-host,.compare-grid figure,.geo-show .board-window{position:relative;overflow:hidden;background:var(--mat);color:var(--on-mat)}@media(prefers-reduced-motion:reduce){.board3d-object{transition:none}}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:stretch;min-height:min(calc(100vh - 60px),820px);border-bottom:1px solid var(--rule)}.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:clamp(28px,5vw,72px) clamp(16px,5vw,72px);background:var(--sheet)}.hero h1{font-size:clamp(2.8rem,5.4vw,4.8rem);font-weight:700;max-width:14ch}.hero-lede{font-size:1.15rem;color:var(--ink-2);max-width:46ch}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.hero-facts{color:var(--muted);font-size:.95rem;max-width:46ch}.hero-art{display:grid;align-content:center;justify-items:center;padding:clamp(24px,4vw,56px)}.hero-board{width:min(560px,100%)}.hero-caption{position:relative;margin-top:22px;font-size:.95rem;color:var(--on-mat);text-align:center}.hero-caption output{font-weight:700}.hero-threads{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin-top:8px;font-size:.85rem;color:var(--on-mat)}.hero-threads span{display:inline-flex;align-items:center;gap:5px}.hero-threads i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.5)}.hero-threads small{flex-basis:100%;text-align:center;opacity:.8}.hero-credit{position:relative;margin-top:6px;font-size:.8rem;color:var(--on-mat);opacity:.75}.live-threading{position:relative;aspect-ratio:1}.live-threading canvas{position:absolute;inset:0;width:100%;height:100%}.home-section{padding:clamp(48px,7vw,96px) clamp(16px,5vw,72px) 0;max-width:1440px;margin:0 auto}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.section-head h2,.questions h2{font-size:clamp(2rem,3.6vw,3rem);font-weight:700}.section-note{max-width:52ch;color:var(--ink-2)}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}.gallery-grid figure{margin:0;display:grid;gap:10px;align-content:start;background:var(--sheet);border:1px solid var(--rule);border-radius:6px;overflow:hidden}.gallery-grid figure.feature{grid-row:span 2}.gallery-board{padding:22px}.gallery-board .board3d{width:88%;margin:0 auto}.source-inset{position:absolute;right:10px;bottom:10px;width:22%;height:auto;aspect-ratio:1;object-fit:cover;border:3px solid #fff;border-radius:2px}.gallery-grid figcaption{display:grid;gap:2px;padding:4px 16px 16px}.gallery-grid figcaption strong{font-family:var(--display);font-size:1.3rem}.gallery-grid figcaption small{color:var(--muted)}.gallery-grid figcaption .text-link{justify-self:start;margin-top:6px}.geo-show{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.geo-show figure{margin:0;display:grid;align-content:start;background:var(--sheet);border:1px solid var(--rule);border-radius:6px;overflow:hidden}.geo-show .board-window{padding:18px}.geo-show .board-window .board3d{width:92%;margin:0 auto}.geo-show figcaption{display:grid;gap:2px;padding:12px 14px 14px}.geo-show figcaption strong{font-family:var(--display);font-size:1.3rem}.geo-show figcaption small{color:var(--muted)}.geo-show figcaption .swatches{margin:6px 0}.geo-show figcaption .text-link{justify-self:start;margin-top:4px;font-size:.94rem}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.process-grid article{display:grid;align-content:start;background:var(--sheet);border:1px solid var(--rule);border-radius:6px;overflow:hidden}.process-grid .board3d-host{padding:22px}.process-grid .board3d-host .board3d{width:80%;margin:0 auto}.process-grid .process-text{padding:14px 16px 18px}.process-grid small{color:var(--muted);font-weight:600}.process-grid h3{font-size:1.6rem;margin:2px 0 6px}.process-grid p{color:var(--ink-2)}.direction-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;border-top:1px solid var(--rule)}.direction{display:grid;grid-template-columns:110px 1fr;gap:4px 18px;padding:18px 0;border-bottom:1px solid var(--rule)}.direction .status-tag{grid-row:span 3;align-self:start}.direction h3{font-size:1.35rem}.direction p{color:var(--ink-2);font-size:.97rem}.direction small{color:var(--muted);font-size:.9rem}.status-tag{justify-self:start;padding:2px 8px;border-radius:3px;font-size:.82rem;font-weight:600;background:#dff1e7;color:#155d3c}.status-experimental .status-tag,.status-partly .status-tag{background:var(--warn-bg);color:var(--warn)}.status-notyet .status-tag{background:var(--sheet-2);color:var(--muted)}:root[data-theme=dark] .status-ready .status-tag{background:#173a2a;color:#9be0bd}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guide-card{display:grid;align-content:start;gap:6px;background:var(--sheet);border:1px solid var(--rule);border-radius:6px;overflow:hidden;color:var(--ink);text-decoration:none}.guide-card:hover{border-color:var(--ink)}.guide-card img,.guide-card .guide-visual{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;display:block;background:var(--mat)}.guide-card small{padding:12px 16px 0;color:var(--muted);font-weight:600}.guide-card h3{padding:0 16px;font-size:1.4rem}.guide-card p{padding:0 16px 16px;color:var(--ink-2)}.image-note{margin-top:12px;font-size:.85rem;color:var(--muted)}.questions{padding-bottom:20px;max-width:980px}.questions>div{margin-top:20px;border-top:1px solid var(--rule)}.questions details{border-bottom:1px solid var(--rule)}.questions summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-weight:600;font-size:1.08rem}.questions summary:after{content:"+";font-weight:500;font-size:1.3rem;line-height:1}.questions details[open] summary:after{content:"−"}.questions details p{padding:0 0 18px;color:var(--ink-2);max-width:70ch}.studio{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);min-height:calc(100vh - 60px)}.stage-panel{display:flex;flex-direction:column;background:var(--sheet);border-right:1px solid var(--rule);position:sticky;top:60px;height:calc(100vh - 60px);min-width:0}.stage-panel fieldset{border:0;margin:0;padding:0;min-width:0;flex:1;overflow-y:auto}.panel-body{display:grid;gap:14px;padding:22px 22px 26px}.panel-section+.panel-section{border-top:1px solid var(--rule)}.panel-head{display:flex;gap:12px;align-items:flex-start}.panel-head h2{font-size:1.7rem;font-weight:700}.panel-head p{color:var(--muted);font-size:.94rem;margin-top:2px}.panel-head .section-step{display:grid;place-items:center;flex:0 0 30px;height:30px;margin:2px 0 0;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--display);font-weight:700;font-size:1.05rem}.group-title{font-family:var(--text);font-size:.98rem;font-weight:700;margin-top:4px}.group-title small{font-weight:500;color:var(--muted);margin-left:6px}.panel-tip{font-size:.9rem;color:var(--muted)}.svg-help{display:block;font-size:.85rem;line-height:1.5;color:var(--muted)}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-zone{display:grid;justify-items:center;gap:4px;padding:22px 16px;border:1.5px dashed var(--rule-strong);border-radius:6px;background:var(--sheet-2);text-align:center}.upload-zone:hover{border-color:var(--ink)}.upload-zone strong{font-size:1.02rem}.upload-zone span{color:var(--muted);font-size:.88rem}.tile,.shape-card,.preset-card,.palette-card{position:relative;border:1px solid var(--rule);border-radius:6px;background:var(--sheet);text-align:left;color:var(--ink)}.tile:hover:not(:disabled),.shape-card:hover,.preset-card:hover,.palette-card:hover:not(:disabled){border-color:var(--rule-strong)}.tile.selected,.shape-card.selected,.preset-card.selected,.palette-card.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.tile.selected:after,.shape-card.selected:after,.preset-card.selected:after,.palette-card.selected:after{content:"";position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:var(--action);border:2px solid var(--ink)}.tile{display:grid;gap:6px;padding:6px 6px 8px}.tile img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:3px;background:#fff}.tile span{font-weight:600;font-size:.88rem;padding:0 2px;line-height:1.2}.tile small{color:var(--muted);font-size:.8rem;padding:0 2px;line-height:1.3}.sample-grid.portraits{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.sample-grid.portraits .tile span{font-size:.8rem}.geo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tile.geo{padding:0;overflow:hidden}.tile.geo canvas{display:block;width:100%;height:auto;aspect-ratio:1;background:var(--mat)}.tile.geo span{padding:8px 10px 0;font-size:.98rem}.tile.geo small{padding:0 10px 10px}.shape-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.shape-card{display:grid;justify-items:center;gap:2px;padding:7px 3px 6px;font-size:.8rem;font-weight:600;min-width:0;text-align:center}.shape-card span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shape-card.custom{border-style:dashed}.shape-card.custom svg:not(.shape-glyph){width:30px;height:30px;margin:4px 0}.shape-glyph{width:40px;height:40px;display:block}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.preset-card{display:grid;justify-items:center;gap:1px;padding:10px 4px;text-align:center}.preset-card .shape-glyph{width:44px;height:44px;margin-bottom:4px}.preset-card strong{font-size:.98rem}.preset-card small{color:var(--muted);font-size:.78rem}.size-row{display:grid;gap:10px}.spacing-note{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--muted)}.spacing-note.warn{color:var(--warn);font-weight:600}.palette-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.palette-card{display:grid;gap:2px;padding:10px}.palette-card strong{display:inline-flex;align-items:center;gap:6px;font-size:.98rem}.palette-card small{color:var(--muted);font-size:.8rem}.swatches{display:flex;height:22px;border-radius:3px;overflow:hidden;margin-bottom:6px;border:1px solid var(--rule)}.swatches i{flex:1}.swatches.dark{background:#2b2a30;padding:4px}.palette-editor,.compose-box{display:grid;gap:10px;padding:14px;border-radius:6px;background:var(--sheet-2);border:1px solid var(--rule)}.palette-editor small{color:var(--muted);font-size:.84rem}.swatch-row{display:flex;flex-wrap:wrap;gap:8px}.swatch-input{position:relative;width:40px;height:40px}.swatch-input input{width:40px;height:40px;padding:0;border:1px solid var(--rule-strong);border-radius:4px;cursor:pointer;background:none}.swatch-input span{position:absolute;right:-5px;top:-7px;min-width:18px;height:18px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:.7rem;display:grid;place-items:center;pointer-events:none}.swatch-input .swatch-share{position:absolute;left:0;right:0;bottom:-18px;text-align:center;font-size:.68rem;color:var(--muted);font-variant-numeric:tabular-nums;pointer-events:none}.swatch-row:has(.swatch-share){padding-bottom:18px}.swatch-add{width:40px;height:40px;border-radius:4px;border:1px dashed var(--rule-strong);font-size:1.2rem}.board-swatches{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.swatch-dot{position:relative;width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.25);padding:0;cursor:pointer}.board-swatches.large .swatch-dot{width:36px;height:36px}.swatch-dot[aria-pressed=true]{box-shadow:0 0 0 2px var(--sheet),0 0 0 4px var(--ink)}.swatch-dot.custom{overflow:hidden;background:conic-gradient(#ff4d3d,#ffe600,#3ddc84,#00c2ff,#b45cff,#ff4d3d);display:inline-block}.swatch-dot.custom input{position:absolute;inset:-6px;opacity:0;cursor:pointer;width:150%;height:150%}.swatch-dot.single{width:30px;height:30px}.thread-custom{display:inline-flex;align-items:center;gap:10px;font-size:.92rem;font-weight:600}.inline-warn{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;padding:10px 12px;border-radius:4px;background:var(--warn-bg);color:var(--warn);font-weight:600}.inline-error{color:var(--error);font-weight:600;font-size:.92rem}.inline-ok{color:var(--done);font-weight:600;font-size:.92rem}.range-field{display:grid;gap:4px}.range-field>span{display:flex;justify-content:space-between;font-weight:600;font-size:.94rem}.range-field output{font-weight:700}.range-field small{color:var(--muted);font-size:.84rem}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--ink) var(--fill, 50%),var(--rule) var(--fill, 50%));margin:8px 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--action);border:2px solid var(--ink);cursor:grab}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--action);border:2px solid var(--ink);cursor:grab}label:has(>input[type=number]){display:grid;gap:4px;font-size:.92rem;font-weight:600}label:has(>input[type=number]) small{color:var(--muted);font-weight:500;font-size:.8rem}input[type=number],input[type=search],input[type=email],input[type=password],textarea,.rename-input{min-height:40px;padding:6px 10px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--sheet);max-width:100%}input[aria-invalid=true]{border-color:var(--error)}.canvas-area{display:flex;flex-direction:column;gap:14px;padding:20px clamp(16px,2.4vw,32px) 28px;min-width:0}.canvas-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.preview-top{display:flex;align-items:center;gap:8px;min-width:0}.project-title{font-size:clamp(1.7rem,2.4vw,2.2rem);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}.rename-input{font-size:1.2rem;font-weight:600;min-width:240px}.workspace-status{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;font-weight:600;color:var(--muted)}.workspace-status .dot{width:9px;height:9px;border-radius:50%;background:var(--rule-strong)}.workspace-status.ok{color:var(--done)}.workspace-status.ok .dot{background:var(--done)}.workspace-status.stale{color:var(--warn)}.workspace-status.stale .dot{background:var(--action);border:1px solid var(--warn)}.workspace-status.busy .dot{background:var(--current)}.canvas-stage{display:grid;place-items:center;min-height:420px;padding:clamp(18px,4vw,48px);border-radius:6px}.canvas-stage>.board3d{width:min(100%,70vh,720px)}.board-plan.can-pan{cursor:move;touch-action:none}.board-plan{display:block;width:100%;height:auto}.empty-preview{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--on-mat);text-align:center}.progress-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#14161473}.progress-overlay>div{display:grid;justify-items:center;gap:8px;padding:20px 26px;border-radius:6px;background:var(--sheet);color:var(--ink)}.progress-overlay progress{width:240px;height:6px;accent-color:var(--ink)}.progress-overlay span{font-size:.9rem;color:var(--muted)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--rule);border-top-color:var(--ink);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stale-banner{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:4px;background:var(--warn-bg);color:var(--warn);font-size:.92rem}.canvas-tools{position:absolute;left:14px;bottom:14px;display:inline-flex;border-radius:4px;overflow:hidden;background:var(--sheet);border:1px solid var(--rule-strong)}.canvas-tools button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;color:var(--ink-2);font-size:.88rem;font-weight:600;border-right:1px solid var(--rule)}.canvas-tools button:last-child{border-right:0}.canvas-tools button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.mat-scale{position:absolute;right:14px;bottom:14px;font-size:.82rem;color:var(--on-mat);opacity:.85}.pattern-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));border:1px solid var(--rule);border-radius:6px;background:var(--sheet)}.pattern-stats>div{padding:12px 16px;border-right:1px solid var(--rule)}.pattern-stats>div:last-child{border-right:0}.pattern-stats strong{display:block;font-family:var(--display);font-size:1.8rem;font-weight:700;line-height:1.1}.pattern-stats strong small{font-size:1rem;color:var(--muted)}.pattern-stats span{font-size:.88rem;color:var(--muted)}.feedback{font-size:.95rem;color:var(--ink-2)}.feedback.error{color:var(--error);font-weight:600}.action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.result-actions{display:flex;flex-wrap:wrap;gap:8px}.download-actions{display:inline-flex;align-items:center;gap:2px;margin-left:auto;color:var(--muted);font-size:.9rem}.download-actions button{min-height:36px;padding:0 10px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--rule-strong)}.download-actions button:hover:not(:disabled){text-decoration-color:var(--ink)}.save-note{width:100%;color:var(--done);font-weight:600}.batch-controls{display:grid;gap:8px}.batch-controls button{min-height:38px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--sheet);font-weight:600;font-size:.92rem}.batch-controls small{color:var(--muted)}.making-mode{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,440px);gap:22px;padding:20px clamp(16px,2.4vw,32px) 40px;align-items:start}.making-board{position:sticky;top:76px;display:grid;gap:14px;padding:clamp(16px,3vw,30px);border-radius:6px}.making-board:fullscreen{position:static;border-radius:0;place-content:center;overflow:auto}.making-board:fullscreen .making-3d{width:min(84vh,92vw)}.making-3d{width:min(100%,74vh);margin:0 auto}.board-hud{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;color:var(--on-mat)}.board-hud small{display:block;font-size:.85rem;opacity:.8}.board-hud strong{font-family:var(--display);font-size:1.3rem}.board-hud b{font-family:var(--display);font-size:1.6rem}.hud-progress{height:6px;border-radius:3px;background:#fff3;overflow:hidden}.hud-progress span{display:block;height:100%;background:var(--action);transition:width .3s}.board-legend{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.board-legend button,.legend-item{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;font-size:.86rem;font-weight:600;color:var(--on-mat)}.board-legend button{border:1px solid rgba(255,255,255,.35);border-radius:4px}.board-legend button[aria-pressed=true]{background:var(--sheet);color:var(--ink);border-color:var(--sheet)}.board-legend .swatch-dot{min-height:0;width:26px;height:26px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.6)}.board-legend .swatch-dot[aria-pressed=true]{box-shadow:0 0 0 2px var(--mat),0 0 0 4px var(--action)}.board-legend i{width:18px;height:3px;border-radius:1px}.legend-ghost{background:#c9ccc8;opacity:.7}.legend-woven{background:#141614;box-shadow:0 0 0 1px #fff9}.legend-current{background:var(--current);height:4px!important}.legend-previous{background:repeating-linear-gradient(90deg,#e6962a 0 4px,transparent 4px 7px)}.fullscreen-step{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;color:var(--on-mat)}.fullscreen-step strong{font-family:var(--display);font-size:clamp(2.4rem,6vw,4.4rem)}.making-panel{display:grid;gap:14px}.step-card{display:grid;gap:6px;padding:20px 22px;border-radius:6px;background:var(--sheet);border:1px solid var(--rule);border-top:6px solid var(--ink)}.step-card>small{font-weight:600;color:var(--muted)}.step-big{display:flex;align-items:center;gap:14px;font-family:var(--display);font-size:clamp(3.2rem,6vw,5rem);font-weight:700;line-height:1}.step-big .to{color:var(--current)}.thread-chip{display:inline-flex;align-items:center;gap:8px;font-size:.92rem}.thread-chip i{width:14px;height:14px;border-radius:50%;border:1px solid var(--rule-strong)}.up-next{margin-top:6px;padding-top:10px;border-top:1px solid var(--rule)}.up-next small{font-weight:600;color:var(--muted)}.up-next ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:6px 0 0}.up-next li{padding:2px 8px;border:1px solid var(--rule);border-radius:3px;font-weight:600;font-size:.92rem}.up-next em{font-style:normal;color:var(--current)}.step-player{display:flex;align-items:center;gap:8px;padding:10px;border-radius:6px;background:var(--sheet);border:1px solid var(--rule)}.step-player input[type=range]{flex:1}.play-button{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--action);color:var(--on-action);border:2px solid var(--ink);flex:0 0 auto}.animation-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.animation-toolbar>button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--sheet);font-weight:600;font-size:.9rem}.animation-toolbar .jump{display:grid;gap:2px;font-size:.84rem;font-weight:600;color:var(--muted);margin-left:auto}.animation-toolbar .jump input{width:110px}.kbd-hint{font-size:.86rem;color:var(--muted)}.making-break{display:grid;gap:10px;padding:18px;border-radius:6px;background:var(--sheet);border:1px solid var(--rule);border-left:6px solid var(--action)}.break-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.break-head>div{flex:1;min-width:160px}.break-head h3{font-size:1.3rem}.break-head small{color:var(--muted);font-weight:600}.making-break>p{margin:0}.making-break .ad-slot{width:100%;min-height:100px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--rule)}.panel-card{display:grid;gap:12px;padding:18px;border-radius:6px;background:var(--sheet);border:1px solid var(--rule)}.panel-card h3{font-size:1.4rem}.voice-panel{display:grid;gap:12px}.voice-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.switch{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.94rem;cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch>span{position:relative;width:38px;height:22px;border-radius:11px;background:var(--rule-strong);flex:0 0 auto;transition:background .2s}.switch>span:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}.switch input:checked+span{background:var(--ink)}.switch input:checked+span:after{transform:translate(16px);background:var(--action)}.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.switch input:disabled+span{opacity:.45}.switch.small{font-size:.9rem}.voice-language{display:grid;gap:4px;font-weight:600;font-size:.9rem}.voice-language select{justify-self:start;min-width:180px;min-height:36px;padding:0 10px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--sheet);font-weight:600}.voice-chips{display:flex;flex-wrap:wrap;gap:6px}.voice-chips button{min-height:30px;padding:0 10px;border-radius:4px;border:1px solid var(--rule);background:var(--sheet);font-size:.84rem;font-weight:600;color:var(--ink-2)}.voice-chips button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.voice-commands{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--rule)}.voice-commands button{justify-self:start}.voice-commands small,.voice-panel>small{color:var(--muted);font-size:.84rem}.voice-commands .heard{color:var(--done);font-weight:600}.guide-controls,.session-timer,.video-export{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.94rem}.guide-controls small,.session-timer small,.video-export small{flex-basis:100%;color:var(--muted);font-size:.84rem}.session-timer output{font-weight:700;font-size:1.1rem}.session-timer button,.video-export button{min-height:34px;padding:0 12px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--sheet);font-weight:600;font-size:.9rem}.finished-note{display:flex;align-items:center;gap:8px;color:var(--done);font-weight:600}.notes{display:grid;gap:6px;font-size:.92rem;font-weight:600}.notes textarea{min-height:80px;resize:vertical;font-weight:400}.export-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.export-grid button{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:9px 11px;border-radius:4px;border:1px solid var(--rule);background:var(--sheet);text-align:left;font-weight:600;font-size:.92rem}.export-grid button small{grid-column:2;color:var(--muted);font-weight:500;font-size:.8rem}.export-grid button:hover{border-color:var(--ink)}.making-empty{display:grid;justify-items:center;text-align:center;gap:12px;padding:110px 20px;color:var(--muted)}.making-empty h1{color:var(--ink);font-size:2.4rem}.making-empty .row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.workbench,.account-page{padding:clamp(24px,4vw,48px) clamp(16px,4vw,48px) 60px;max-width:1480px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{font-size:clamp(2.4rem,4.4vw,3.6rem);font-weight:700}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.file-button{cursor:pointer;position:relative}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.workbench-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.search{display:flex;align-items:center;gap:8px;padding:0 12px;min-height:40px;border-radius:4px;background:var(--sheet);border:1px solid var(--rule-strong);flex:1 1 240px;max-width:340px}.search input{border:0;background:none;min-height:38px;padding:0;flex:1;outline:none}.search:focus-within{border-color:var(--ink)}.filter-chips{display:flex;flex-wrap:wrap;border:1px solid var(--rule-strong);border-radius:4px;overflow:hidden}.filter-chips button{min-height:38px;padding:0 12px;font-weight:600;font-size:.9rem;color:var(--ink-2);border-right:1px solid var(--rule);background:var(--sheet)}.filter-chips button:last-child{border-right:0}.filter-chips button span{color:var(--muted);margin-left:4px}.filter-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.filter-chips button[aria-pressed=true] span{color:inherit;opacity:.8}.workbench-tools .segmented{margin-left:auto}.toast{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:14px;border-radius:4px;background:var(--ink);color:var(--paper);font-size:.94rem}.toast span{flex:1}.toast button:not(.icon-button){font-weight:700;color:var(--action)}.toast .icon-button{width:28px;height:28px;background:transparent;border-color:transparent;color:inherit}.bulk-bar{position:sticky;top:70px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;margin-bottom:14px;border-radius:4px;background:var(--sheet);border:2px solid var(--ink)}.bulk-bar button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:4px;border:1px solid var(--rule);font-weight:600;font-size:.88rem}.bulk-bar strong{margin-right:6px}.project-grid.layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-grid.layout-list{display:grid;gap:12px}.project-card{position:relative;display:grid;border-radius:6px;background:var(--sheet);border:1px solid var(--rule);overflow:hidden}.project-card.is-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.project-card.is-archived .card-visual{filter:grayscale(.8)}.card-visual{display:grid;place-items:center;padding:22px 22px 18px}.card-visual .board3d{width:86%;--layer: -1.4px}.state-pill{position:absolute;left:12px;top:12px;z-index:1;padding:2px 8px;border-radius:3px;font-size:.84rem;font-weight:600;background:var(--sheet);color:var(--ink)}.state-pill.progress{background:var(--action);color:var(--on-action)}.state-pill.finished{background:var(--done);color:#fff}.card-body{display:grid;gap:10px;padding:14px 16px 16px}.card-title{display:flex;align-items:center;gap:10px}.card-title input{width:18px;height:18px;accent-color:var(--ink)}.card-title h3{font-size:1.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-progress{display:flex;align-items:center;gap:10px}.card-progress .bar{flex:1;height:6px;border-radius:3px;background:var(--rule);overflow:hidden}.card-progress .bar span{display:block;height:100%;background:var(--ink)}.state-finished .card-progress .bar span{background:var(--done)}.card-progress b{font-family:var(--display);font-size:1.25rem;min-width:44px;text-align:right}.card-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0}.card-facts div{min-width:0}.card-facts dt{font-size:.82rem;color:var(--muted)}.card-facts dd{margin:0;font-size:.96rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-notes{font-size:.9rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.card-actions .make-button{margin-right:auto}.open-badge{font-size:.82rem;font-weight:600;color:var(--done)}.layout-list .project-card{grid-template-columns:220px 1fr}.layout-list .card-facts{grid-template-columns:repeat(4,1fr)}.compare-panel{padding:18px;margin-bottom:18px;border-radius:6px;background:var(--sheet);border:1px solid var(--rule)}.compare-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.compare-panel h2{font-size:1.8rem}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compare-grid figure{margin:0;display:grid;gap:10px;padding:18px;border-radius:6px}.compare-grid figcaption{position:relative;display:grid;gap:2px;text-align:center}.empty-state{display:grid;justify-items:center;gap:10px;text-align:center;padding:60px 20px;border-radius:6px;border:1px dashed var(--rule-strong);color:var(--muted)}.empty-state h2{color:var(--ink);font-size:2rem}.account-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start}.profile-card{position:sticky;top:76px;display:grid;justify-items:start;gap:6px;padding:22px;border-radius:6px;background:var(--sheet);border:1px solid var(--rule)}.profile-card small{color:var(--muted)}.profile-card dl{width:100%;margin:14px 0 8px;display:grid;gap:8px}.profile-card dl div{display:flex;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--rule)}.profile-card dt{color:var(--muted)}.profile-card dd{margin:0;font-weight:700}.account-main{display:grid;gap:14px;padding:22px;border-radius:6px;background:var(--sheet);border:1px solid var(--rule)}.account-main>p{color:var(--ink-2)}.account-form{display:grid;gap:12px;max-width:460px}.account-form label{display:grid;gap:4px;font-weight:600;font-size:.94rem}.account-form label.consent{display:block;font-weight:500}.account-form button,.account-section>button:not(.make-button),.project-controls button,.account-main details button,.account-main article button{min-height:40px;padding:0 16px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--sheet);font-weight:600}.account-form button:not([type=button]){background:var(--action);border-color:var(--action);color:var(--on-action)}.project-controls{display:flex;flex-wrap:wrap;gap:8px}.account-main .project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.account-main .project-grid article{display:grid;gap:8px;padding:14px;border-radius:6px;border:1px solid var(--rule)}.account-main details summary{cursor:pointer;font-weight:600;color:var(--error)}.account-main details{display:grid;gap:10px}.oauth-signin{display:grid;gap:8px;max-width:460px}.oauth-signin small{color:var(--ink-2)}.google-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 16px;border-radius:4px;border:1px solid #747775;background:#fff;color:#1f1f1f;font:inherit;font-weight:600;cursor:pointer}.google-button:hover:not(:disabled){background:#f2f2f2}:root[data-theme=dark] .google-button{background:#131314;border-color:#8e918f;color:#e3e3e3}:root[data-theme=dark] .google-button:hover:not(:disabled){background:#1e1f20}.oauth-divider{display:flex;align-items:center;gap:12px;margin:6px 0 0;color:var(--ink-2);font-size:.9rem}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;border-top:1px solid var(--rule)}.site-footer{display:grid;grid-template-columns:1fr auto;gap:16px 28px;align-items:center;margin-top:80px;padding:34px clamp(16px,5vw,72px);background:var(--sheet);border-top:1px solid var(--rule);color:var(--ink-2)}.view-studio+.site-footer,.view-build+.site-footer{margin-top:0}.footer-brand p{margin-top:6px;font-size:.94rem}.footer-links{display:flex;flex-wrap:wrap;gap:6px 18px}.footer-links a{color:var(--ink);font-weight:600;text-decoration:none}.footer-links a:hover{text-decoration:underline}.site-footer small{grid-column:1 / -1;color:var(--muted)}@media(max-width:1280px){.studio{grid-template-columns:minmax(330px,390px) minmax(0,1fr)}.geo-show{grid-template-columns:repeat(3,1fr)}}@media(max-width:1080px){.nav{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;margin:0;padding:8px 16px 14px;background:var(--sheet);border-bottom:1px solid var(--rule)}.nav.open{display:flex}.nav a{padding:12px 4px;border-bottom:1px solid var(--rule)}.mobile-menu{display:inline-grid;margin-left:auto;order:3}.header-actions{margin-left:0}.hero{grid-template-columns:1fr;min-height:0}.hero-art{order:-1}.hero-board{width:min(420px,86vw)}.making-mode{grid-template-columns:1fr}.making-board{position:relative;top:0}.process-grid,.guide-grid,.geo-show{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid figure.feature{grid-column:1 / -1;grid-row:auto}.direction-grid,.account-layout{grid-template-columns:1fr}.profile-card{position:static}}@media(max-width:820px){.studio{grid-template-columns:1fr}.canvas-area{order:2;padding-top:14px}.stage-panel{order:3;position:static;height:auto;border-right:0}.stage-panel fieldset{overflow:visible}.canvas-stage{min-height:0;padding:18px}.canvas-stage>.board3d{width:100%}.pattern-stats{grid-template-columns:repeat(2,1fr)}.pattern-stats>div:nth-child(2){border-right:0}.pattern-stats>div:nth-child(-n+2){border-bottom:1px solid var(--rule)}.download-actions{margin-left:0}.header-cta{display:none}.layout-list .project-card{grid-template-columns:1fr}.layout-list .card-facts{grid-template-columns:1fr 1fr}}@media(max-width:640px){:root{font-size:16px}.process-grid,.guide-grid,.geo-show,.gallery-grid,.compare-grid,.direction{grid-template-columns:1fr}.direction .status-tag{grid-row:auto}.project-grid.layout-grid,.site-footer{grid-template-columns:1fr}.sample-grid.portraits{grid-template-columns:repeat(3,1fr)}.animation-toolbar .jump{margin-left:0}.export-grid{grid-template-columns:1fr}.hero h1{font-size:2.6rem}.site-header,.site-header.on-dark{gap:10px}.header-actions{gap:6px}.theme-toggle{min-width:36px;justify-content:center;padding:0 9px}.theme-toggle .toggle-text{display:none}.login-button{padding:0 10px}.signup-button{display:none}.mobile-menu{flex:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.guide-visual{display:grid;place-items:center;padding:14px}.guide-visual .board3d{width:56%}.group-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.text-button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 0;color:var(--ink);font:inherit;font-size:.85rem;font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.text-button:hover{color:var(--accent, var(--ink))}.seen-from-afar canvas{filter:blur(1.4px)}.quality-tip{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;padding:10px 12px;border-radius:6px;background:var(--warn-bg);color:var(--warn);font-size:.88rem}.quality-tip svg{flex:none;margin-top:2px}.pattern-stats .legibility.good strong{color:#2f8a5b}.pattern-stats .legibility.fair strong{color:#b07b12}.pattern-stats .legibility.weak strong{color:#c0462f}.phone-handoff{margin:12px 0;padding:16px;border:1px solid var(--rule);border-radius:6px;background:var(--sheet);display:grid;gap:10px;justify-items:center;text-align:center}.phone-handoff header{width:100%;display:flex;justify-content:space-between;align-items:center}.phone-handoff header strong{display:inline-flex;gap:6px;align-items:center}.phone-handoff .qr{width:min(100%,600px);background:#fff;padding:8px;border-radius:4px}.phone-handoff .qr svg{display:block;width:100%;height:auto}.phone-handoff p{margin:0;color:var(--muted);font-size:.9rem;max-width:46ch}.board-plan.can-paint{cursor:crosshair;touch-action:none}.compare-slider{position:relative;aspect-ratio:1}.compare-slider canvas{display:block;width:100%;height:auto}.compare-photo{position:absolute;width:91%;height:91%;object-fit:cover;filter:grayscale(1) contrast(1.3);pointer-events:none}.compare-divider{position:absolute;top:4.5%;bottom:4.5%;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px #00000059;pointer-events:none}.compare-slider input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare-slider input[type=range]:focus-visible+.compare-divider,.compare-slider:focus-within .compare-divider{background:var(--accent, #ffd166)}.compare-hint{display:block;margin-top:6px;color:var(--muted);font-size:.8rem;text-align:center}.gallery-panel{margin:18px 0;display:grid;gap:10px}.gallery-panel>summary{cursor:pointer;font-weight:650}.gallery-panel label{display:grid;gap:4px}.gallery-panel label.check{display:flex;gap:8px;align-items:flex-start}.gallery-preview{max-width:240px;border-radius:6px}.my-posts{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}.my-posts li{display:flex;gap:10px;align-items:center}.my-posts img{width:64px;height:64px;object-fit:cover;border-radius:4px}.my-posts span{display:grid;flex:1}.post-status.approved{color:#2f8a5b}.post-status.rejected{color:#c0462f}.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.community-grid figure{margin:0;border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--sheet)}.community-grid img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}.community-grid figcaption{display:grid;gap:4px;padding:10px 12px 12px}.ad-slot{display:grid;gap:4px;width:min(100% - 32px,970px);min-height:120px;margin:40px auto}.ad-slot:has(ins[data-ad-status=unfilled]){display:none}.ad-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--ink-2)}
