.acc{max-width:440px;padding:clamp(32px,6vw,72px) 0 80px;margin-left:0}.acc .h-section-title{margin-bottom:28px}.acc-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font:inherit;font-weight:600;font-size:14px;padding:12px 16px;border-radius:999px;background:#fbfaf8;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}.acc-google span{font-family:var(--font-serif);font-size:18px;font-weight:700;color:#4285f4}.acc-or{text-align:center;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0}.acc-form{display:flex;flex-direction:column;gap:14px}.acc-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.acc-form input{font:inherit;font-size:15px;letter-spacing:normal;text-transform:none;padding:12px 14px;border-radius:10px;background:#fbfaf8;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.acc-form input:focus{outline:none;border-color:var(--tape)}.acc-form em{font-style:normal;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--muted)}.acc-form .h-btn{border-radius:999px;padding:12px 18px;cursor:pointer;margin-top:4px}.acc-error{margin:0;color:var(--bad);font-size:13.5px}.acc-notice{margin:0;color:var(--good);font-size:13.5px}.acc-switch{margin:18px 0;font-size:13.5px}.acc-switch button{font:inherit;background:none;border:0;padding:0;color:var(--tape);cursor:pointer;text-decoration:underline}.acct{position:relative}.acct-link{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:inherit;white-space:nowrap}.acct-btn{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;background:var(--ink);color:var(--bg);font-weight:700;font-size:14px}.acct-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:220px;display:flex;flex-direction:column;padding:8px;border-radius:12px;background:var(--raise);border:1px solid var(--line);box-shadow:0 12px 30px #0000001f}.acct-menu a,.acct-menu button{text-align:left;font:inherit;font-size:14px;padding:9px 10px;border-radius:8px;border:0;background:none;color:var(--ink);text-decoration:none;cursor:pointer}.acct-menu a:hover,.acct-menu button:hover{background:var(--panel)}.acct-email{margin:4px 10px 8px;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.shared-wait{padding:60px 0}.shared-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:clamp(24px,4vw,48px) 0 20px;border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.shared-head .h-section-title{margin:6px 0 8px}.shared-head .h-desc{margin:0}.shared-actions{display:flex;gap:10px;flex-wrap:wrap}.shared-actions .h-btn{cursor:pointer;border-radius:999px}.shared-actions .h-btn:not(.h-btn-solid){background:transparent;color:var(--ink)}.shared-main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding:28px 0}.shared-plan{background:var(--floor);border-radius:14px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);aspect-ratio:4 / 3;display:grid;padding:8px}.shared-plan .planner{width:100%;height:100%}.shared-key h2{margin:18px 0 8px}.shared-key h2:first-child{margin-top:0}.shared-key ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.shared-key li{display:flex;align-items:center;gap:8px}.shared-key b{font-weight:500;color:var(--muted)}.sk-num{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;background:var(--ink);color:var(--bg)}.sk-cam{background:var(--cam);border-radius:6px}.sk-light{background:transparent;color:var(--tape);border:1.5px solid var(--tape);font-size:9.5px}.sk-dot{flex:none;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #0003}.shared-shots{padding:8px 0 60px}.shared-shots h2{margin:0 0 12px}@media (max-width: 820px){.shared-main{grid-template-columns:minmax(0,1fr)}}.sim-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#14120f73;display:grid;place-items:center;padding:16px;overflow:auto}.sim{position:relative;width:min(420px,100%);padding:28px 24px 22px;border-radius:16px;background:var(--bg);color:var(--ink);font-family:var(--font-type);font-size:14px;line-height:1.6;box-shadow:0 24px 60px #00000040}.sim-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:var(--muted)}.sim-reason{margin:0 0 4px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tape)}.sim-title{margin:0 0 20px;font-family:var(--font-serif);font-weight:400;font-size:30px;line-height:1.1}.sim .h-btn{display:inline-flex;justify-content:center;text-decoration:none;background:var(--ink);color:var(--bg);border:1px solid var(--ink);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.sim .acc-switch{margin:14px 0 0}.sim-small{margin:12px 0 0;font-size:11.5px;color:var(--muted)}.wl-done{margin:10px 0 0;font-size:13.5px;color:var(--good)}.wl-error{margin:8px 0 0;font-size:13px;color:var(--bad)}.wl-card{position:relative;overflow:hidden;margin-top:18px;padding:26px 24px 24px;border-radius:4px;background:radial-gradient(120% 90% at 100% 0%,rgba(224,119,74,.22),transparent 55%),#121315;color:#efece6;border:1px solid #2a2b2e}.wl-kicker{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#e0774a}.wl-kicker i{width:7px;height:7px;border-radius:50%;background:#e0774a;box-shadow:0 0 0 4px #e0774a2e}.wl-title{margin:0 0 10px;font-family:var(--font-serif);font-size:clamp(24px,2.6vw,32px);line-height:1.08;font-weight:400}.wl-title em{font-style:italic;color:#e0774a}.wl-copy{margin:0 0 20px;font-size:13.5px;line-height:1.6;color:#efece6b3;max-width:40ch}.wl-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;cursor:pointer;font:inherit;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:#efece6;color:#121315;border:1px solid #efece6;transition:background .15s,color .15s}.wl-btn:hover{background:#e0774a;border-color:#e0774a;color:#121315}.wl-btn:disabled{opacity:.6;cursor:default}.wl-btn span{transition:transform .15s}.wl-btn:hover span{transform:translate(3px)}.wl-joined{display:flex;align-items:center;gap:14px;margin:4px 0 0;font-size:13.5px;color:#efece6cc}.wl-place{font-family:var(--font-serif);font-size:40px;line-height:1;color:#e0774a}.wl-card .wl-error{color:#f19a8a}.wl-compact{margin:0;padding:20px}.wl-compact .wl-title{font-size:24px;margin-bottom:16px}.wl-pop.wl-pop{width:300px;padding:0;background:none;border:0;box-shadow:0 18px 40px #0000004d}.wl-card .wl-title{color:#efece6}.wl-card .wl-copy{color:#efece6b3}.wl-card .wl-joined{color:#efece6cc}.wl-card .wl-kicker{color:#e0774a}.legal{max-width:720px;padding:clamp(24px,5vw,64px) 0 80px;margin-left:0}.legal .h-item{margin:32px 0 8px}.legal ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.legal .cap-small{margin-top:40px}.legal .h-desc,.legal ul{max-width:64ch;margin-top:12px}.mp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:clamp(24px,4vw,48px) 0 24px;border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.mp-head .h-section-title{margin:6px 0 0}.mp-head .h-btn{border-radius:999px}.mp-wait{padding:40px 0}.mp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(16px,2.4vw,28px);padding:28px 0 40px}.mp-card{display:flex;flex-direction:column;gap:12px;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.mp-pic{display:grid;aspect-ratio:4 / 3;overflow:hidden;background:var(--floor, #e8e4dc);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);transition:border-color .15s,transform .15s}.mp-pic img{width:100%;height:100%;object-fit:cover;display:block}.mp-pic .planner{width:100%;height:100%;pointer-events:none}.mp-card:hover .mp-pic,.mp-card:focus-visible .mp-pic{border-color:var(--ink);transform:translateY(-2px)}.mp-meta{display:flex;flex-direction:column;gap:2px}.mp-meta .cap-index{margin:0}.mp-name{font-family:var(--font-serif);font-size:22px;line-height:1.15}.mp-sub{font-size:12.5px;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.mp-tag{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tape);border:1px solid var(--tape);padding:1px 6px}.mp-foot{padding-bottom:60px}@media (max-width: 480px){.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mp-name{font-size:17px}.mp-sub{font-size:11px}}.up{width:min(460px,100%)}.up-perks{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}.up-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.up-plans button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:14px;cursor:pointer;text-align:left;font:inherit;background:var(--raise, #fff);color:var(--ink);border:1.5px solid var(--line, #e0d7d9)}.up-plans button.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.up-plans span{font-size:12px;color:var(--muted)}.up-plans b{font-size:22px;font-weight:600;letter-spacing:-.03em}.up-plans small{font-size:11.5px;color:var(--muted)}.up-go{width:100%;justify-content:center}.up-copy{margin:0 0 18px;font-size:14px;line-height:1.55}.acct-plan{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 10px 8px;padding:8px 10px;border-radius:10px;background:var(--panel);font-size:12.5px}.acct-plan b{font-weight:600}.acct-menu .acct-plan button{padding:4px 10px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:500}.acct-menu .acct-plan button:hover{background:var(--ink);opacity:.85}.sim{font-family:var(--font-site)}.sim .sim-title{font-family:var(--font-site);font-weight:500;letter-spacing:-.035em}.sim .sim-reason{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.sim .h-btn{font-family:var(--font-site);font-size:13.5px;font-weight:500;letter-spacing:0;text-transform:none;border-radius:999px;padding:11px 18px}.sim :is(.acc-or,.acc-form label){text-transform:none;letter-spacing:0}.fd-count{display:flex;gap:8px;margin:4px 0 16px}.fd-count span{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 4px;border:1px solid var(--line);border-radius:12px;background:var(--raise)}.fd-count b{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.fd-count small{font-size:11px;color:var(--muted);margin-top:4px}.fd-count.compact b{font-size:22px}.fd-form{display:flex;flex-wrap:wrap;gap:8px}.fd-form input{flex:1 1 200px;font:inherit;font-size:14px;padding:11px 14px;border:1px solid var(--line);border-radius:999px;background:var(--raise);color:var(--ink)}.fd-go{flex:none;font:inherit;font-size:13px;font-weight:600;padding:11px 18px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer}.fd-go:disabled{opacity:.6;cursor:default}.fd-note{flex-basis:100%;margin:4px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.fd-joined{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px;border:1px solid var(--ink);background:var(--raise)}.fd-joined b{font-size:15px}.fd-joined span{font-size:13px;color:var(--muted);line-height:1.5}.up-founder{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--tape)}.up-terms{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;font-size:13px;line-height:1.45;cursor:pointer}.up-terms input{margin-top:2px}.up-terms a{color:inherit;text-decoration:underline}.up-go:disabled{opacity:.5;cursor:default}.cp-steps{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13.5px;line-height:1.5}.cp-reason{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:12.5px}.cp-reason textarea{font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--raise);color:var(--ink);resize:vertical}.cp-keep{margin-top:8px;background:transparent!important;color:var(--ink)!important}.acct-cancel{font-size:12.5px!important;color:var(--muted)!important}.fd-taken{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}.fd-taken span{font-size:12.5px;font-weight:600}.fd-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.fd-bar i{display:block;height:100%;background:var(--tape);border-radius:inherit}.mood-collage{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.mood-img,.mood-add{margin:0;border:1px solid var(--line);border-radius:12px;background:var(--raise);aspect-ratio:4 / 5;overflow:hidden;position:relative}.mood-img input{position:absolute;left:0;right:0;bottom:0;border-top:0!important;background:color-mix(in srgb,var(--raise) 88%,transparent)!important}.mood-img img{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.mood-palette{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:8px}.mood-pal-col{border:1px solid var(--line);border-radius:12px;background:var(--raise);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.mood-pal-k{margin:0;font-size:12px;color:var(--muted)}.mood-pal-empty{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.mood-pal-name{margin:0;font-size:13.5px;font-weight:500}.mood-strip{display:flex;height:56px;border-radius:8px;overflow:hidden}.mood-strip i{min-width:6px}.mood-chips{display:flex;gap:6px}.mood-chips i{width:36px;height:36px;border-radius:8px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.mood-chips .mood-pop{outline:2px solid var(--ink);outline-offset:2px;margin-left:6px}.mood-use{align-self:flex-start;font:inherit;font-size:13px;font-weight:500;padding:7px 14px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer}.mood-use:disabled{background:transparent;color:var(--ink)}.mood-use:disabled{opacity:.7;cursor:default}.mood-img{display:flex;flex-direction:column}.mood-img img{width:100%;flex:1;min-height:0;object-fit:cover;display:block}.mood-wait{flex:1;display:grid;place-items:center;font-size:12px;color:var(--muted)}.mood-img input{border:0;border-top:1px solid var(--line);font:inherit;font-size:12.5px;padding:8px 10px;background:var(--raise);color:var(--ink)}.mood-del{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:0;background:#0f0f0fb3;color:#fff;cursor:pointer;font-size:15px;line-height:1}.mood-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-style:dashed;cursor:pointer;font:inherit;font-size:14px;font-weight:500;color:var(--ink)}.mood-add small{font-size:11.5px;color:var(--muted);font-weight:400;text-align:center;padding:0 12px}.mood-add:hover{border-color:var(--ink)}.mood-notes{font:inherit;font-size:13.5px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--raise);color:var(--ink);resize:vertical;margin-top:6px}.look-chips{display:flex;flex-wrap:wrap;gap:6px}.look-chips button{font:inherit;font-size:13px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--raise);color:var(--ink);cursor:pointer}.look-chips button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.look-verdict{margin:4px 0 0;font-size:13px}.look-verdict.ok,.ward-notes .ok{color:var(--good)}.look-verdict.bad,.ward-notes .bad{color:var(--bad)}.ward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.ward-card{border:1px solid var(--line);border-radius:14px;background:var(--raise);padding:12px;display:flex;flex-direction:column;gap:10px}.ward-head{display:flex;align-items:center;gap:10px}.ward-swatch{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);flex:none}.ward-head input{flex:1;min-width:0;font:inherit;font-weight:600;font-size:14px;border:0;background:transparent;color:var(--ink);padding:4px 0;border-bottom:1px dashed transparent}.ward-head input:focus{outline:none;border-bottom-color:var(--line)}.ward-colours{display:flex;flex-wrap:wrap;gap:7px 5px}.ward-colours button{width:22px;height:22px;border-radius:50%;border:1px solid rgba(15,15,15,.15);cursor:pointer;padding:0;position:relative}.ward-colours button.suggest:after{content:"";position:absolute;left:50%;bottom:-6px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ink)}.ward-colours button.on{outline:2px solid var(--ink);outline-offset:2px}.ward-custom{width:22px;height:22px;border-radius:50%;overflow:hidden;border:1px dashed var(--muted);display:inline-block}.ward-custom input{width:40px;height:40px;margin:-8px;border:0;padding:0;cursor:pointer}.ward-card select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);align-self:flex-start}.ward-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12.5px}.ward-hint{margin:0;font-size:12.5px;color:var(--muted)}.power-loads{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.power-load{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--raise);padding:12px 14px 16px;display:flex;flex-direction:column;gap:4px}.power-load span{font-size:12px;color:var(--muted)}.power-load b{font-size:20px;font-weight:600;letter-spacing:-.02em}.power-load b small{font-size:12px;font-weight:400;color:var(--muted)}.power-load i{position:absolute;left:0;bottom:0;height:4px;background:var(--good)}.power-load.over{border-color:var(--bad)}.power-load.over i{background:var(--bad)}.power-load select{font:inherit;font-size:12px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);align-self:flex-start;margin-top:4px}.plot-row{display:grid;grid-template-columns:minmax(0,2fr) 110px 70px 90px auto;gap:10px;align-items:center;padding:8px 14px;border-top:1px solid var(--line);font-size:13.5px}.plot-row:first-child{border-top:0}.plot-k{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px}.plot-k i{width:12px;height:12px;border-radius:50%;border:1px solid var(--line)}.plot-num{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.plot-sockets{display:flex;gap:3px}.plot-sockets button{width:28px;height:28px;border-radius:7px;font:inherit;font-size:12px;font-weight:600;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.plot-sockets button.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}@media (max-width: 720px){.mood-collage{grid-template-columns:repeat(2,minmax(0,1fr))}.mood-palette{grid-template-columns:minmax(0,1fr)}.plot-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name sockets" "k watts"}.plot-row.shop-head{display:none}.plot-row>:nth-child(1){grid-area:name}.plot-row>:nth-child(2){grid-area:k}.plot-row>:nth-child(3){display:none}.plot-row>:nth-child(4){grid-area:watts;justify-self:end}.plot-row>:nth-child(5){grid-area:sockets}}.ws-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin-top:10px;font-size:13.5px}.ws-tabs button{font:inherit;background:none;border:0;padding:4px 0;cursor:pointer;color:var(--muted);border-bottom:1.5px solid transparent}.ws-tabs button:hover{color:var(--ink)}.ws-tabs button.on{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.ws-soon{color:color-mix(in srgb,var(--muted) 70%,transparent);cursor:default}.ws-soon i{font-style:normal;font-size:10.5px;color:var(--tape)}.app:not([data-section=plan]){grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "stage"}.app:not([data-section=plan]) :is(.library,.side,.shot-strip,.tabs,.plan-box,.keys){display:none!important}.app:not([data-section=plan]) .stage{overflow:visible}.ws{display:flex;flex-direction:column;gap:14px;padding-bottom:40px;max-width:1100px}.ws-totals{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.ws-total{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--raise);min-width:150px}.ws-total span{font-size:12px;color:var(--muted)}.ws-total b{font-size:22px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ws-total-mine{background:var(--ink);color:var(--bg);border-color:var(--ink)}.ws-total-mine span{color:color-mix(in srgb,var(--bg) 70%,transparent)}.ws-total-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.ws-note{margin:0;font-size:12.5px;color:var(--muted);max-width:70ch}.ws-group{display:flex;flex-direction:column;gap:6px}.ws-group-title{margin:10px 0 2px;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:baseline}.ws-group-title span{font-weight:400;color:var(--muted);font-size:12px}.shop-rows{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--raise)}.shop-row{display:grid;grid-template-columns:minmax(0,3fr) 72px minmax(0,1.2fr) minmax(0,1.2fr) 92px minmax(0,1fr);gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);font-size:13.5px}.shop-row:first-child{border-top:0}.shop-head{font-size:11.5px;color:var(--muted);padding-top:8px;padding-bottom:8px;background:var(--panel)}.shop-name{display:flex;flex-direction:column;min-width:0}.shop-name b{font-weight:500}.shop-name small{font-size:11.5px;color:var(--muted)}.shop-qty{width:56px;font:inherit;padding:5px 6px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}.shop-price{font:inherit;text-align:left;cursor:pointer;padding:6px 10px;border-radius:10px;border:1px solid transparent;background:none;color:var(--muted);font-variant-numeric:tabular-nums}.shop-price small{display:none}.shop-price:hover{border-color:var(--line);color:var(--ink)}.shop-price.on{border-color:var(--ink);color:var(--ink);font-weight:600}.shop-one{display:flex;align-items:center;gap:10px;grid-column:span 2;font-variant-numeric:tabular-nums}.shop-have{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer}.shop-have input{accent-color:var(--ink)}.shop-line{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.shop-row.have .shop-name b{text-decoration:line-through;color:var(--muted)}.shop-row.have .shop-price{opacity:.45}.shop-del{font:inherit;font-size:12px;color:var(--muted);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.shop-del:hover{color:var(--bad)}.ws-add{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.ws-add input{font:inherit;font-size:13.5px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--raise);color:var(--ink);flex:1 1 220px;min-width:0}.ws-add .ws-add-qty{flex:0 0 72px}.ws-add .ws-add-price{flex:0 1 120px}.ws-brief summary{cursor:pointer}.ws-brief-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ws-brief-h{margin:6px 0;font-weight:600;font-size:13px}.ws-brief-h span{font-weight:400;color:var(--muted)}.ws-brief ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px}.ws-brief li small{display:block;color:var(--muted);font-size:12px}.ws-brief li span{color:var(--muted)}.gear-bar{flex:1 1 200px;align-self:center;height:6px;border-radius:999px;background:var(--line);overflow:hidden}.gear-bar i{display:block;height:100%;background:var(--ink);transition:width .2s}.gear-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px 24px;align-items:start}.gear-list{list-style:none;margin:0;padding:4px 0;display:flex;flex-direction:column;border-top:1px solid var(--line)}.gear-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}.gear-list label{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.gear-list input{accent-color:var(--ink);width:16px;height:16px;flex:none}.gear-list li.on span{text-decoration:line-through;color:var(--muted)}@media (max-width: 720px){.app:not([data-section=plan]){grid-template-areas:"top" "stage"}.ws-total{min-width:0;flex:1 1 30%;padding:10px 12px}.ws-total b{font-size:17px}.ws-total-tools{margin-left:0}.shop-head{display:none}.shop-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:8px 10px;grid-template-areas:"name name name" "qty budget premium" "have have line"}.shop-row>:nth-child(1){grid-area:name}.shop-row>:nth-child(2){grid-area:qty}.shop-row>:nth-child(3){grid-area:budget}.shop-row>:nth-child(4){grid-area:premium}.shop-row>:nth-child(5){grid-area:have}.shop-row>:nth-child(6){grid-area:line;text-align:right}.shop-one{grid-column:auto;grid-area:budget / budget / premium / premium}.shop-price small{display:block;font-size:10.5px;font-weight:400;color:var(--muted)}.shop-price{border-color:var(--line)}.ws-brief-cols{grid-template-columns:minmax(0,1fr)}}@media print{.app:not([data-section=plan]) :is(.topbar,.project-tools,.ws-tabs,.ws-total-tools,.ws-add,.shop-del){display:none!important}}@media (max-width: 720px){.ws-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:16px}.ws-tabs>*{flex:none}.app .project-name{font-size:24px}.app .stage-head{flex-direction:column;align-items:stretch}.app .project{flex-basis:auto}.app .project-tools{align-items:flex-start}.app .project-actions{justify-content:flex-start}}.shoot-day{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.shoot-day label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.shoot-day .shoot-wide{grid-column:span 2}.shoot-day .shoot-full{grid-column:1 / -1}.shoot-day :is(input,textarea),.shoot-seg input,.shoot-crew input{font:inherit;font-size:13.5px;color:var(--ink);background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}.shoot-day textarea{resize:vertical}.shoot-empty{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;border:1px dashed var(--line);border-radius:14px;font-size:13.5px;color:var(--muted)}.shoot-empty p{margin:0}.shoot-segs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--raise)}.shoot-seg{display:grid;grid-template-columns:56px minmax(0,2fr) 92px auto minmax(0,2fr) auto;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--line)}.shoot-seg:first-child{border-top:0}.shoot-time{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.shoot-seg .shoot-title{font-weight:500;border-color:transparent;background:transparent}.shoot-seg .shoot-title:hover,.shoot-seg .shoot-title:focus{border-color:var(--line)}.shoot-min{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.shoot-min input{width:60px}.shoot-cams{display:flex;gap:4px}.shoot-cams button{width:28px;height:28px;border-radius:7px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;border:1px solid color-mix(in srgb,var(--cam) 40%,var(--line));background:transparent;color:var(--cam)}.shoot-cams button.on{background:var(--cam);color:#fff;border-color:var(--cam)}.shoot-seg .shoot-notes{border-color:transparent;background:transparent;color:var(--muted)}.shoot-seg .shoot-notes:hover,.shoot-seg .shoot-notes:focus{border-color:var(--line);color:var(--ink)}.shoot-move{display:flex;gap:2px}.shoot-move button{width:26px;height:26px;border:0;background:none;border-radius:6px;cursor:pointer;color:var(--muted);font-size:14px}.shoot-move button:hover:not(:disabled){background:var(--panel);color:var(--ink)}.shoot-move button:disabled{opacity:.3;cursor:default}.shoot-add{align-self:flex-start}.shoot-crew{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.shoot-crew li{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) 120px auto;gap:8px;align-items:center}@media (max-width: 720px){.shoot-day{grid-template-columns:repeat(2,minmax(0,1fr))}.shoot-seg{grid-template-columns:48px minmax(0,1fr) 84px;grid-template-areas:"time title title" "min min cams" "notes notes move"}.shoot-time{grid-area:time}.shoot-seg .shoot-title{grid-area:title}.shoot-min{grid-area:min}.shoot-cams{grid-area:cams;justify-content:flex-end}.shoot-seg .shoot-notes{grid-area:notes}.shoot-move{grid-area:move;justify-content:flex-end}.shoot-crew li{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.home{--font-site: "Host Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-type: var(--font-site);--font-serif: var(--font-site);--side: 216px;--lilac: #bcabae;--onyx: #0f0f0f;--graphite: #2d2e2e;--dim: #716969;--white: #fbfbfb;--pink: #b8607d;--pink-soft: #e7a9bb;--bg: var(--white);--ink: var(--onyx);--muted: var(--dim);--tape: var(--pink);--side-bg: color-mix(in srgb, var(--lilac) 22%, var(--white));--hair: color-mix(in srgb, var(--lilac) 75%, transparent);--tint: color-mix(in srgb, var(--lilac) 16%, var(--white))}.sn{position:fixed;inset:0 auto 0 0;width:var(--side);z-index:40;display:flex;flex-direction:column;gap:20px;padding:14px 8px 10px;background:var(--side-bg);font-family:var(--font-site);font-size:12.5px;line-height:1.2;overflow-y:auto}.sn-brand{display:block;padding:6px 8px;text-decoration:none;color:var(--ink);font-family:var(--font-site);font-size:14px;font-weight:700;letter-spacing:-.035em;white-space:nowrap}.sn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.sn-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;text-decoration:none;color:var(--muted);transition:background .12s,color .12s}.sn-item:hover{color:var(--ink)}.sn-item.on{background:color-mix(in srgb,var(--lilac) 45%,transparent);color:var(--ink)}.sn-tag{font-style:normal;font-size:10px;color:var(--tape)}.sn-group{margin:18px 8px 4px;color:var(--muted);font-size:11px;opacity:.8}.sn-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:0 8px}.sn-account .acct-link{font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}.sn-account .acct-menu{left:0;right:auto;top:auto;bottom:calc(100% + 8px)}.sn-account .acct-sub{right:auto;left:100%;top:auto;bottom:-8px}.sn-legal{margin:0;font-size:11px;color:var(--muted)}.sn-legal a{color:inherit;text-decoration:none}.sn-legal a:hover{color:var(--ink)}.home{padding-left:calc(var(--side) + var(--gutter))!important;padding-top:28px}.sn-bar,.sn-sheet{display:none}@media (max-width: 900px){.sn{display:none}.home{padding-left:var(--gutter)!important;padding-top:0}.home>.sn-bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 calc(-1 * var(--gutter));padding:12px var(--gutter);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair);font-family:var(--font-site)}.sn-bar .sn-brand{padding:0}.sn-bar-right{display:flex;align-items:center;gap:12px}.sn-bar .acct-link{font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none}.sn-menu-btn{font:inherit;font-family:var(--font-site);font-size:12.5px;font-weight:500;background:none;border:0;padding:4px 0;cursor:pointer;color:var(--ink)}.sn-sheet{display:flex;flex-direction:column;position:fixed;top:49px;right:0;bottom:0;left:0;z-index:39;overflow-y:auto;background:var(--bg);padding:14px var(--gutter) 40px;font-family:var(--font-site)}.sn-sheet .sn-item{font-size:22px;padding:8px 0;color:var(--ink);letter-spacing:-.02em}.sn-sheet .sn-item.on{background:none;color:var(--tape)}.sn-sheet .sn-tag{font-size:12px}.sn-sheet .sn-group{margin:22px 0 6px;font-size:12px}.sn-sheet .sn-legal{margin-top:28px;font-size:12px}}html.sn-locked{overflow:hidden}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg, #fbfbfb);pointer-events:none}.intro-word{position:fixed;left:0;top:0;margin:0;white-space:nowrap;transform-origin:0 0;font-family:Host Grotesk,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:-.035em;color:#0f0f0f;font-size:14px;line-height:1.2;z-index:101;pointer-events:none}html.intro-on .sn-brand[data-brand],html.intro-on .sn-brand[data-brand-phone]{visibility:hidden}html.intro-on{overflow:hidden}.home>.intro,.home>.intro-word{max-width:none;margin:0}.home>.acc{max-width:440px;margin-left:0}.home>.legal{max-width:720px;margin-left:0}.home :is(.acc-or,.acc-form label,.st-tool,.wl-kicker,.wl-btn,.sim-reason,.acct-all,.mp-tag,.qcard-q,.brief-label,.st-who){text-transform:none;letter-spacing:normal}.home .acc-form label{font-size:12.5px;font-weight:500}.home .acc-form em{font-size:12px}.home .acc-or{font-size:12px;font-weight:400}.home .st-tool,.home .wl-kicker{font-size:12px;font-weight:500}.home .wl-btn{font-size:13px;font-weight:500}.home .wl-title em{font-style:normal}.home .sim-reason{font-size:12px;font-weight:500}.home .sim-title{font-family:var(--font-site);font-weight:500;letter-spacing:-.03em}.home .pic{background:var(--tint)}.home :is(.pic-plan,.pic-score,.pic-board){background:#fff}.home .pic-shots{background:var(--tint)}.home .g-stylist{background:var(--graphite);color:var(--white)}.home .g-stylist-k{color:var(--pink-soft)}.home .g-stylist-a{color:color-mix(in srgb,var(--white) 62%,transparent)}.home .h-btn-solid:hover{background:var(--graphite);border-color:var(--graphite)}.home .h-btn{border-color:var(--hair)}.home .h-btn:hover{border-color:var(--ink)}.home .mp-pic,.home .acct-thumb{background:var(--tint)}.home .wl-card{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--pink-soft) 26%,transparent),transparent 55%),var(--graphite);border-color:var(--graphite);color:var(--white)}.home .wl-card .wl-kicker{color:var(--pink-soft)}.home .wl-kicker i{background:var(--pink-soft);box-shadow:0 0 0 4px color-mix(in srgb,var(--pink-soft) 22%,transparent)}.home .wl-card .wl-title{color:var(--white)}.home .wl-title em{color:var(--pink-soft)}.home .wl-btn{background:var(--white);border-color:var(--white);color:var(--onyx)}.home .wl-btn:hover{background:var(--pink-soft);border-color:var(--pink-soft);color:var(--onyx)}.home .wl-place{color:var(--pink-soft)}.home :is(.acc-form input,.acc-google,.st-box,.qcard,.brief,.st-starter){background:#fff;border-color:var(--hair)}.home .st-user .st-text,.home .st-user>.st-text{background:var(--tint)}.intro-word p,.intro-welcome p{margin:0;white-space:nowrap}.intro-measure{opacity:0;display:inline-block;white-space:nowrap}.intro-word{width:max-content}.intro-welcome{position:fixed;z-index:101;pointer-events:none;margin:0;line-height:1.1;font-family:Host Grotesk,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:-.035em;color:#716969}.home>.intro-welcome{max-width:none;margin:0}html:has(.home){scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html:has(.home){scroll-behavior:auto}}.home{--gutter: clamp(16px, 3vw, 40px);background:var(--bg);color:var(--ink);font-family:var(--font-site);font-size:14px;line-height:1.55;min-height:100%;padding:0 var(--gutter) 0;-webkit-font-smoothing:antialiased}.home>*{max-width:1240px;margin-left:auto;margin-right:auto}.home a{color:inherit}.home figure{margin:0;min-width:0}.home :focus-visible{outline:2px solid var(--tape);outline-offset:3px}.cap{margin:0 0 8px;font-size:12.5px;line-height:1.5}.cap-index{display:block;font-size:11.5px;font-weight:500;color:var(--muted);margin-bottom:4px}.cap-small{font-size:12px;color:var(--muted);margin-top:8px}.h-title{font-weight:500;font-size:clamp(40px,5.6vw,76px);line-height:.98;letter-spacing:-.045em;margin:10px 0 20px;text-wrap:balance}.h-title em{font-style:normal;color:var(--muted)}.h-lede{margin:0 0 24px;max-width:52ch;font-size:15px;line-height:1.6}.h-section-title{font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1;letter-spacing:-.035em;margin:0 0 clamp(20px,3vw,32px)}.h-item{font-weight:500;font-size:20px;line-height:1.2;letter-spacing:-.02em;margin:0 0 10px}.h-desc{margin:0 0 12px;max-width:52ch}.h-soon{font-size:10.5px;font-weight:500;color:var(--tape);margin-left:6px;vertical-align:middle}.h-link{text-decoration:none;font-weight:500;color:var(--tape)!important}.h-link:hover{text-decoration:underline}.h-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;white-space:nowrap;cursor:pointer;font-family:var(--font-site);font-size:13px;font-weight:500;letter-spacing:-.005em;text-transform:none;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);background:transparent;color:var(--ink);padding:9px 16px;border-radius:999px;transition:background .15s,color .15s,border-color .15s}.h-btn:hover{border-color:var(--ink)}.h-btn-solid{background:var(--ink);color:var(--bg)!important;border-color:var(--ink)}.h-btn-solid:hover{background:var(--tape);border-color:var(--tape)}.pic{background:#e6e2da;overflow:hidden;border-radius:4px}.pic-plan{aspect-ratio:4 / 3;display:grid;place-items:center;padding:6px;background:#fbfaf7}.pic-plan .planner{width:100%;height:100%}.pic-score{background:#fbfaf7;height:100%}.pic-score .score{padding:18px}.pic-shots{padding:14px;background:#e6e2da;height:100%;display:grid;align-items:center}.pic-shots .shot{pointer-events:none}.pic-board{background:#fbfaf7;aspect-ratio:4 / 3;position:relative}.board-title{position:absolute;left:8%;top:10%;margin:0;font-size:clamp(18px,1.8vw,24px);font-weight:500;letter-spacing:-.03em}.board-swatches{position:absolute;left:8%;bottom:10%;display:flex;gap:6px}.board-swatches i{width:clamp(22px,2.6vw,34px);aspect-ratio:1;display:block;border-radius:2px}.board-swatches.pops{flex-wrap:wrap;width:70%}.g-main{padding-top:clamp(40px,9vh,120px)}.g-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,4vw,64px);align-items:end;padding-bottom:clamp(48px,9vh,112px)}.g-title{margin:0;font-weight:500;font-size:clamp(42px,6.4vw,96px);line-height:.95;letter-spacing:-.05em;text-wrap:balance}.g-hero-side p{margin:0 0 20px;font-size:14px;line-height:1.55;color:color-mix(in srgb,var(--ink) 80%,transparent);max-width:40ch}.g-ctas{display:flex;flex-wrap:wrap;gap:8px}.g-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;margin-bottom:16px;border-top:1px solid var(--hair);scroll-margin-top:70px}.g-head h2{margin:0;font-size:13px;font-weight:500}.g-head p{margin:0;font-size:12.5px;color:var(--muted)}.g-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 16px;margin-bottom:clamp(64px,10vh,120px)}.g-span-2{grid-column:span 2}.g-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;min-width:0;scroll-margin-top:70px}.g-card>.pic,.g-card>.wl-card{flex:1;transition:transform .25s ease,box-shadow .25s ease}a.g-card:hover>.pic{transform:translateY(-3px);box-shadow:0 10px 28px #16161614}.g-card .wl-card{margin:0;border-radius:4px}.g-cap{margin:0;font-size:12.5px;color:var(--muted);line-height:1.4}.g-cap b{font-weight:500;color:var(--ink);margin-right:6px}.g-stylist{background:#161616;color:#f3f0ea;padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;justify-content:flex-end;gap:12px;min-height:260px}.g-stylist-k{margin:0 0 auto;font-size:11.5px;color:#e0774a}.g-stylist-t{margin:0;font-size:clamp(22px,2.4vw,32px);line-height:1.1;letter-spacing:-.03em;font-weight:500;max-width:22ch}.g-stylist-a{margin:0;font-size:13px;color:#f3f0ea99;max-width:46ch}.g-steps{list-style:none;margin:0 0 clamp(64px,10vh,120px);padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.g-steps span{font-size:12px;color:var(--tape)}.g-steps h3{margin:10px 0 8px;font-size:18px;font-weight:500;letter-spacing:-.02em}.g-steps p{margin:0;font-size:13px;color:color-mix(in srgb,var(--ink) 75%,transparent);max-width:34ch}.g-rows{margin-bottom:clamp(64px,10vh,120px)}.g-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,2fr);gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--hair);font-size:13.5px}.g-row b{font-weight:500;font-size:18px;letter-spacing:-.02em}.g-row span{color:color-mix(in srgb,var(--ink) 75%,transparent)}.g-row-go{justify-self:end;text-decoration:none;font-weight:500}.g-row-go:hover{color:var(--tape)}.g-soon{justify-self:end;font-style:normal;font-size:12px;color:var(--tape)}.g-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0 28px;border-top:1px solid var(--hair);font-size:12px;color:var(--muted)}.g-foot a{text-decoration:none}.g-foot a:hover{color:var(--ink)}@media (max-width: 1100px){.g-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}}@media (max-width: 720px){.g-main{padding-top:40px}.g-hero{grid-template-columns:minmax(0,1fr);gap:24px}.g-grid{grid-template-columns:minmax(0,1fr);gap:32px}.g-span-2{grid-column:auto}.g-steps{grid-template-columns:minmax(0,1fr)}.g-row{grid-template-columns:minmax(0,1fr);gap:4px}.g-row-go,.g-soon{justify-self:start}.g-head{flex-direction:column;gap:4px}}.vf{position:fixed;z-index:102;pointer-events:none;top:16px;bottom:16px;left:calc(var(--side, 216px) + 16px);right:16px;color:#fbfbfb;mix-blend-mode:difference;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:10.5px;letter-spacing:.06em;line-height:1.5;transition:left 1s cubic-bezier(.7,0,.2,1)}html.intro-on:not(.intro-moving) .vf{left:16px}.vf-fades{mix-blend-mode:normal;z-index:101;top:0;bottom:0;left:var(--side, 216px);right:0;background:linear-gradient(to bottom,var(--bg) 0,var(--bg) 52px,transparent 86px),linear-gradient(to top,var(--bg) 0,var(--bg) 58px,transparent 92px)}html.intro-on .vf-fades{opacity:0}.vf-solid{mix-blend-mode:normal;z-index:103}.vf-corner{position:absolute;width:34px;height:34px;border:0 solid currentColor}.vf-tl{top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}.vf-tr{top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}.vf-bl{bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}.vf-br{bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}.vf-slot{position:absolute;display:flex;gap:10px;align-items:center}.vf-top-left{top:14px;left:22px}.vf-top-right{top:14px;right:22px}.vf-mid-left{top:50%;left:14px;transform:translateY(-50%);flex-direction:column;align-items:flex-start;gap:6px}.vf-mid-right{top:50%;right:14px;transform:translateY(-50%);flex-direction:column;align-items:flex-end;gap:6px}.vf-bottom-left{bottom:14px;left:22px;flex-direction:column;align-items:flex-start;gap:0;font-size:12px;font-weight:500}.vf-bottom-right{bottom:14px;right:22px;flex-direction:column;align-items:flex-end;gap:0;font-size:12px;font-weight:500}.vf-rec{padding-left:14px}.vf-tc{font-variant-numeric:tabular-nums}.vf-box{border:1px solid currentColor;padding:0 4px;line-height:1.35}.vf-battery{position:relative;width:22px;height:10px;border:1px solid currentColor}.vf-battery:after{content:"";position:absolute;right:-4px;top:2px;width:2px;height:4px;background:currentColor}.vf-battery i{position:absolute;top:1px;right:6px;bottom:1px;left:1px;background:currentColor}.vf-dot{position:absolute;top:18px;left:22px;width:8px;height:8px;border-radius:50%;background:var(--pink, #b8607d);animation:vf-blink 1.2s steps(1,end) infinite}@keyframes vf-blink{50%{opacity:0}}.vf-focus{position:absolute;left:50%;top:50%;width:64px;height:48px;transform:translate(-50%,-50%);opacity:.4;animation:vf-focus 1.4s cubic-bezier(.2,.7,.2,1) .2s both}.vf-f{position:absolute;width:12px;height:12px;border:0 solid currentColor}.vf-f1{top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}.vf-f2{top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}.vf-f3{bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}.vf-f4{bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}.vf-cross{position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%)}.vf-cross:before,.vf-cross:after{content:"";position:absolute;background:currentColor}.vf-cross:before{left:0;right:0;top:50%;height:1px}.vf-cross:after{top:0;bottom:0;left:50%;width:1px}@keyframes vf-focus{0%{transform:translate(-50%,-50%) scale(1.9);opacity:0}55%{transform:translate(-50%,-50%) scale(.92);opacity:.4}75%{transform:translate(-50%,-50%) scale(1.05)}to{transform:translate(-50%,-50%) scale(1);opacity:.4}}.vf-scale{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px}.vf-ticks{white-space:pre;letter-spacing:.02em}.vf-track{position:relative;width:100%;height:6px}.vf-marker{position:absolute;top:0;left:0;width:0;height:0;transform:translate(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid currentColor;transition:left .12s linear}.home.has-vf{--gutter: clamp(56px, 6vw, 96px)}@media (max-width: 900px){.vf,html.intro-on .vf{top:61px;left:10px;right:10px;bottom:10px;font-size:9.5px}.vf-fades{top:49px;left:0;right:0;bottom:0;background:linear-gradient(to bottom,var(--bg) 0,var(--bg) 34px,transparent 60px),linear-gradient(to top,var(--bg) 0,var(--bg) 46px,transparent 76px)}.vf-mid-left,.vf-mid-right{display:none}.vf-dot{top:18px;left:22px}.vf-bottom-left,.vf-bottom-right{font-size:10.5px}.vf-scale{display:none}.home.has-vf{--gutter: 30px}}@media (prefers-reduced-motion: reduce){.vf-dot,.vf-focus{animation:none}}.home>.vf{max-width:none;margin:0}.st-intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,4vw,56px);align-items:end;padding:clamp(24px,5vw,64px) 0 clamp(24px,4vw,40px);border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.st-title{font-size:clamp(40px,6vw,84px);margin-bottom:0}.st-intro .h-lede{margin:0}.st-chat{display:flex;flex-direction:column;gap:22px;padding:32px 0 24px;max-width:820px}.st-empty .st-starters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.st-starter{text-align:left;font:inherit;font-size:13.5px;line-height:1.45;padding:14px 16px;cursor:pointer;border-radius:10px;background:#f6f4f0;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}.st-starter:hover:not(:disabled){border-color:var(--ink)}.st-msg{display:flex;flex-direction:column;gap:8px}.st-who{margin:0;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;font-weight:600}.st-user{align-self:flex-end;max-width:min(560px,88%)}.st-user .st-text{background:#e4e0d8;color:var(--ink);padding:10px 16px;border-radius:16px 16px 4px;white-space:pre-line}.st-user .st-who{text-align:right}.st-assistant .st-text{max-width:66ch}.st-text{font-size:14px;line-height:1.65}.st-text p{margin:0 0 10px}.st-text>:last-child{margin-bottom:0}.st-text ul,.st-text ol{margin:0 0 12px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px}.st-text li{position:relative;padding-left:18px}.st-text ul>li:before{content:"";position:absolute;left:0;top:.8em;width:9px;height:1.5px;background:var(--tape)}.st-text ol{counter-reset:n}.st-text ol>li{counter-increment:n;padding-left:24px}.st-text ol>li:before{content:counter(n);position:absolute;left:0;top:0;font-weight:700;color:var(--tape);font-size:12.5px}.st-text strong{font-weight:700}.st-h{margin:14px 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}.st-text>.st-h:first-child{margin-top:0}.st-typing{margin:0;color:var(--muted);font-style:italic}.st-error{margin:0;color:var(--bad);font-size:13px}.st-retry{background:none;border:0;padding:0;font:inherit;cursor:pointer}.st-thumbs{display:flex;flex-wrap:wrap;gap:8px}.st-user .st-thumbs{justify-content:flex-end}.st-thumbs img{width:96px;height:72px;object-fit:cover;display:block}.st-compose{position:sticky;bottom:0;padding:10px 0 14px;max-width:820px;background:linear-gradient(to bottom,transparent,var(--bg) 14px);display:flex;flex-direction:column;gap:6px}.st-box{display:flex;flex-direction:column;background:#fbfaf8;border-radius:18px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);box-shadow:0 6px 24px #1616160f}.st-box:focus-within{border-color:color-mix(in srgb,var(--tape) 60%,transparent)}.st-compose textarea{width:100%;resize:none;min-height:24px;max-height:160px;font:inherit;font-size:14.5px;line-height:1.55;padding:14px 18px 4px;background:transparent;color:var(--ink);border:0;display:block}.st-compose textarea:focus{outline:none}.st-bar{display:flex;align-items:center;gap:6px;padding:6px 8px 8px 12px}.st-tool{font:inherit;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:6px 11px;border-radius:999px;background:transparent;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.st-tool:hover:not(:disabled){border-color:var(--ink)}.st-tool:disabled{opacity:.4;cursor:not-allowed}.st-tool-solid{background:var(--ink);color:var(--bg);border-color:var(--ink)}.st-send{margin-left:auto;width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;background:var(--ink);color:var(--bg);font-size:17px;font-weight:700;line-height:1}.st-send:hover:not(:disabled){background:var(--tape)}.st-send:disabled{opacity:.25;cursor:not-allowed}.st-compose .st-note{margin:0;padding:0 6px;font-size:11px}.st-attached{padding:12px 14px 0}.st-attached img{width:64px;height:48px}.st-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:820px;padding-top:20px}.st-attached button{position:relative;padding:0;border:0;background:none;cursor:pointer}.st-attached span{position:absolute;top:2px;right:2px;width:20px;height:20px;display:grid;place-items:center;background:var(--ink);color:var(--bg);font-size:13px}.st-gate{max-width:560px;padding:36px 0 60px}.st-gate .h-desc{margin-bottom:20px}.st-gate-actions{display:flex;gap:10px;flex-wrap:wrap}.st-gate-actions .h-btn{border-radius:999px}.st-gate-actions .h-btn:not(.h-btn-solid){background:transparent;color:var(--ink)}.st-past{font:inherit;font-size:12px;padding:7px 10px;border-radius:999px;max-width:180px;background:transparent;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}.qcard{border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:14px;background:#fbfaf8;padding:18px;display:flex;flex-direction:column;gap:16px;max-width:680px}.qcard-item{border:0;padding:0;margin:0;min-width:0}.qcard-q{font-size:14px;font-weight:600;line-height:1.35;margin:0 0 10px;padding:0}.qcard-options{display:flex;flex-wrap:wrap;gap:8px}.qcard-opt{font:inherit;font-size:13px;padding:7px 14px;cursor:pointer;color:var(--ink);border-radius:999px;background:transparent;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}.qcard-opt.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.qcard-other{font:inherit;font-size:13px;padding:7px 10px;min-width:140px;flex:1 1 140px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 35%,transparent)}.qcard-other:focus{outline:none;border-bottom-color:var(--tape)}.qcard .h-btn{align-self:flex-start;cursor:pointer;border-radius:999px}.qcard-done{opacity:.6;gap:4px}.qcard-done .qcard-q{font-size:15px;margin:0}.st-mic.on{background:var(--tape)!important;border-color:var(--tape);color:#fff!important}.st-listening{color:var(--tape);margin:0}.brief{margin-top:6px;background:#fbfaf8;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:16px;padding:clamp(18px,3vw,32px);display:flex;flex-direction:column;gap:6px;max-width:920px}.brief-title{font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.05;margin:0}.brief-concept{margin:6px 0 4px;max-width:70ch}.brief-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:10px 0 8px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.brief-meta dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.brief-meta dd{margin:2px 0 0;text-transform:capitalize}.brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;margin-top:8px}.brief-grid section{min-width:0}.brief-grid .span-all{grid-column:1 / -1}.brief-grid h4{font-family:var(--font-serif);font-weight:400;font-size:20px;margin:0 0 8px}.brief-grid ul{margin:0;padding-left:18px;font-size:13px}.brief-grid li{margin-bottom:5px}.brief-grid p{margin:6px 0 0;font-size:13px}.brief-grid em{font-style:normal;color:var(--muted)}.brief-lights{list-style:none;padding-left:0!important}.brief-lights li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;align-items:start}.brief-lights i{width:14px;height:14px;border-radius:50%;margin-top:2px;box-shadow:0 0 0 1px #0003}.brief-palette{display:flex;gap:4px}.brief-palette i{width:26px;height:26px;display:block}.brief-palette i.pop{margin-left:10px}.brief-kits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.brief-kit{list-style:none;padding-left:0!important}.brief-kit li{display:flex;gap:10px;align-items:baseline;padding:6px 0;margin:0!important;border-bottom:1px dotted color-mix(in srgb,var(--ink) 35%,transparent)}.brief-kit li>span{display:flex;flex-direction:column}.brief-kit li>b{margin-left:auto;font-weight:500;white-space:nowrap}.brief-kit-note{font-size:12px}.brief-kit-head{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ink);padding-bottom:4px}.brief-kit-head b{font-weight:700}.brief-pieces{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding-left:0!important}.brief-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.brief-actions .h-btn{cursor:pointer;background:transparent;color:var(--ink);border-radius:999px}.brief-actions .h-btn-solid{background:var(--ink);color:var(--bg)}.h-stylist{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,4vw,56px);align-items:start}.h-stylist .h-desc{max-width:54ch;margin-bottom:18px}@media (max-width: 720px){.st-intro,.h-stylist,.st-empty .st-starters{grid-template-columns:minmax(0,1fr)}.brief-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-grid,.brief-kits{grid-template-columns:minmax(0,1fr)}}.st-note-intro{display:none}@media (max-width: 720px){.st-compose textarea{padding:12px 14px 2px;font-size:15px}.st-tool{font-size:10px;padding:6px 9px}.st-compose .st-note{font-size:10px}.st-note-intro{display:block}}.gd-main{padding-top:clamp(32px,7vh,88px);padding-bottom:80px}.gd-head{max-width:720px;margin-bottom:clamp(28px,5vh,56px)}.gd-head .h-section-title{margin:8px 0 14px}.gd-for{margin:-4px 0 0;font-size:12.5px;color:var(--muted)}.gd-row{text-decoration:none;color:inherit}.gd-row:hover b{color:var(--tape)}.gd-article{max-width:680px}.gd-article .cap-index a{color:inherit}.gd-title{margin:10px 0 14px;font-weight:500;font-size:clamp(32px,4.4vw,54px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.gd-lede{margin:0 0 28px;font-size:17px;line-height:1.55;color:color-mix(in srgb,var(--ink) 75%,transparent)}.gd-article h2{margin:32px 0 8px;font-size:20px;font-weight:600;letter-spacing:-.02em}.gd-article p{margin:0 0 14px;font-size:15px;line-height:1.65}.gd-article ul{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.55}.gd-cta{margin:32px 0 0}.gd-more{max-width:680px;margin-top:56px;padding-top:16px;border-top:1px solid var(--hair)}.gd-more ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}.gd-more a{text-decoration:none}.gd-more a:hover{color:var(--tape)}.gv{margin:22px 0 28px}.gv figure{margin:0}.gv figcaption{margin-top:8px;font-size:12.5px}.gv-good{color:var(--good)}.gv-bad{color:var(--bad)}.gv-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gv-shots{padding:12px}.gv-shots .shots{flex-wrap:wrap;overflow:visible}.gv-shots .shot{width:calc(33.3% - 7px);min-width:150px}.gv-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gv-ward{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:4px;background:var(--tint)}.gv-ward p{margin:0 0 8px;font-size:12.5px;font-weight:500}.gv-swatches{display:flex;flex-wrap:wrap;gap:12px}.gv-swatches span{display:flex;flex-direction:column;gap:5px}.gv-swatches i{width:64px;height:64px;border-radius:50%;border:1px solid rgba(15,15,15,.12)}.gv-swatches small{font-size:11.5px;color:var(--muted);max-width:80px}.gv-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gv-tile{display:block;width:100%;height:auto;border-radius:4px}.gv-tile .gv-wall{fill:#efe9e4}.gv-tile path,.gv-tile line,.gv-tile rect:not(.gv-wall),.gv-tile circle{fill:none;stroke:#6b5a52;stroke-width:1.4}.gv-tile-curtains .gv-wall{fill:#d9c3bb}.gv-tile-slats .gv-wall{fill:#c9a882}.gv-tile-black .gv-wall{fill:#141414}.gv-tile-void .gv-wall{fill:#b9b9b9}.gv-tile-blank .gv-wall{fill:#f1f1ef}.gv-hero{margin:0;flex:1}.gd-card .gv-hero .pic-plan,.gd-card .gv-hero .gv-ward,.gd-card .gv-hero .gv-boards,.gd-card .gv-hero .gv-tiles{aspect-ratio:4 / 3}.gd-card .gv-hero .gv-boards{grid-template-columns:1fr;gap:8px}.gd-card .gv-hero .gv-boards .pic-board{aspect-ratio:auto;height:100%}.gd-card .gv-hero .gv-ward{justify-content:center;gap:10px}.gd-card .gv-hero .gv-swatches i{width:44px;height:44px}.gd-card .gv-hero .gv-tiles{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;padding:14px;background:var(--tint);border-radius:4px;gap:8px}.gd-card .gv-hero figcaption{margin-top:4px;font-size:11px}@media (max-width: 720px){.gv-pair,.gv-boards{grid-template-columns:minmax(0,1fr)}.gv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.gv-shots .shot{width:100%}}.pr-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:880px;margin-bottom:28px}.pr-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px;border:1px solid var(--hair);border-radius:16px;background:#fff}.pr-pro{background:var(--graphite);color:var(--white);border-color:var(--graphite)}.pr-pro .cap-index,.pr-pro .gd-for{color:color-mix(in srgb,var(--white) 65%,transparent)}.pr-pro .h-btn-solid{background:var(--white);color:var(--onyx)!important;border-color:var(--white)}.pr-price{margin:4px 0 0;font-size:44px;font-weight:500;letter-spacing:-.04em;line-height:1}.pr-price small{font-size:14px;letter-spacing:0;font-weight:400;opacity:.7}.pr-card .h-btn{margin-top:12px}.pr-table{max-width:880px;border-top:1px solid var(--hair);margin-bottom:40px}.pr-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--hair);font-size:14px}.pr-head{font-size:12px;color:var(--muted)}.pr-row b{font-weight:500}.pr-faq{max-width:680px}.pr-faq h3{margin:18px 0 4px;font-size:15px;font-weight:600}.pr-faq p{margin:0;font-size:14px;line-height:1.6;color:color-mix(in srgb,var(--ink) 80%,transparent)}@media (max-width: 720px){.pr-cards{grid-template-columns:minmax(0,1fr)}.pr-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);font-size:13px}}.pr-launch{max-width:880px;padding:24px;margin-bottom:28px;border-radius:16px;border:1px solid var(--hair);background:#fff;display:flex;flex-direction:column;gap:10px}.pr-launch-title{margin:0;font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.15}.pr-launch .h-desc{margin:0}:root{color-scheme:light;--bg: #fbfbfb;--panel: #f4f1f2;--raise: #ffffff;--line: #e0d7d9;--ink: #0f0f0f;--muted: #716969;--tape: #b8607d;--tape-ink: #ffffff;--cam: #2f5f93;--cam-fill: rgba(47, 95, 147, .08);--good: #3c7a4f;--warn: #a86b00;--bad: #a8323e;--floor: #ffffff;--grid: rgba(15, 15, 15, .055);--wall: #2d2e2e;--floorpiece: rgba(188, 171, 174, .16);--plan-line: rgba(15, 15, 15, .82);--plan-line-soft: rgba(15, 15, 15, .32);--piece-fill: rgba(255, 255, 255, .92);--seat-fill: rgba(184, 96, 125, .16);--seat-line: #8f4a62;--glow-blend: multiply;--font-site: "Host Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: var(--font-site);--font-body: var(--font-site);--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-serif: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;--font-type: "Montserrat", "Helvetica Neue", Arial, sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #0f0f0f;--panel: #1a1a1a;--raise: #2d2e2e;--line: #3a3637;--ink: #fbfbfb;--muted: #a9a1a2;--tape: #e7a9bb;--tape-ink: #0f0f0f;--cam: #7fb1e8;--cam-fill: rgba(127, 177, 232, .13);--good: #6fc48a;--warn: #f2b632;--bad: #ef7461;--floor: #1a1a1a;--grid: rgba(255, 255, 255, .045);--wall: #4a4647;--floorpiece: rgba(188, 171, 174, .14);--plan-line: rgba(251, 251, 251, .78);--plan-line-soft: rgba(251, 251, 251, .36);--piece-fill: rgba(26, 26, 26, .86);--seat-fill: rgba(231, 169, 187, .3);--seat-line: #e7a9bb;--glow-blend: screen}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 var(--font-body);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--tape);outline-offset:2px}.app{height:100%;display:grid;grid-template-columns:260px minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top top top" "lib stage side" "lib shots side";gap:12px;padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.topbar{grid-area:top;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.logo{width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;position:relative}.logo i{width:8px;height:8px;border-radius:50%;background:var(--tape)}.logo:after{content:"";position:absolute;right:-7px;top:50%;width:9px;height:2px;background:var(--ink)}.brand-name{font-family:var(--font-display);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.04em;margin-left:4px}.brand-stage{font-family:var(--font-mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-left:1px solid var(--line);padding-left:10px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}.seg button{border:0;background:transparent;padding:6px 10px;font-size:13px;border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button:hover:not(:disabled){background:var(--raise)}.seg button.on{background:var(--raise);box-shadow:inset 0 -2px 0 var(--tape)}.seg.small button{font-size:12.5px}.btn{border-radius:8px;padding:7px 12px;border:1px solid var(--line);background:var(--panel);font-size:13px;font-weight:500}.btn{text-decoration:none;color:inherit;display:inline-block}.btn.primary{background:var(--tape);color:var(--tape-ink);border-color:transparent;font-weight:600}.btn.ghost:hover{background:var(--raise)}.btn.danger{color:var(--bad)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:auto;min-width:0}.library{grid-area:lib;padding:14px;display:flex;flex-direction:column;gap:18px}.side{grid-area:side;display:flex;flex-direction:column}.eyebrow{margin:0;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.library section{display:flex;flex-direction:column;gap:8px}.set-types{display:flex;flex-direction:column;gap:6px}.set-type{text-align:left;background:transparent;border:1px solid var(--line);border-radius:8px;padding:9px 11px;display:flex;flex-direction:column;gap:2px}.set-type:hover{background:var(--raise)}.set-type.active{border-color:var(--tape);background:var(--raise)}.st-name{font-weight:600}.st-meta{font-size:12px;color:var(--muted)}.lib-group h3{margin:4px 0 6px;font-size:12px;font-weight:600;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:4px 10px;font-size:12.5px}.chip:hover{border-color:var(--muted)}.chip-cam{align-self:flex-start;color:var(--cam);border-color:color-mix(in srgb,var(--cam) 45%,var(--line))}.chip-light:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tape);margin-right:6px;vertical-align:1px}.stage{grid-area:stage;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.stage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.stage-head h1{margin:2px 0 0;font-family:var(--font-display);font-weight:800;font-size:30px;text-transform:uppercase;letter-spacing:.02em;line-height:1;text-wrap:balance}.project{min-width:0;flex:1 1 280px}.project .eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.project-name{display:block;width:100%;margin:2px 0 0;padding:0;border:0;background:transparent;color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:30px;line-height:1.05;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px dashed transparent}.project-name:hover{border-bottom-color:var(--line)}.project-name:focus{outline:none;border-bottom-color:var(--tape)}.draft-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--tape);background:transparent;border:1px solid var(--tape);border-radius:4px;padding:1px 6px}.project-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.project-switch{flex-direction:row;align-items:center;gap:8px}.project-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sync{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);white-space:nowrap}.sync-saved{color:var(--good)}.sync-offline{color:var(--warn)}.pg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#14120f59;display:grid;place-items:center;padding:16px}.pg{width:min(1040px,100%);max-height:min(760px,100%);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.pg-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.pg-head h2{margin:0;font-family:var(--font-display);font-weight:800;font-size:26px;text-transform:uppercase}.pg-head div{display:flex;gap:8px}.pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.pg-card{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--raise)}.pg-card.on{border-color:var(--tape);box-shadow:0 0 0 1px var(--tape)}.pg-open{display:block;width:100%;padding:0;border:0;background:var(--floor);cursor:pointer;aspect-ratio:4 / 3}.pg-open img{width:100%;height:100%;object-fit:cover;display:block}.pg-blank{display:grid;place-items:center;height:100%;font-size:12px;color:var(--muted)}.pg-meta{padding:10px 12px}.pg-name{margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-sub{margin:2px 0 0;font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pg-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tape);border:1px solid var(--tape);border-radius:4px;padding:0 5px}.pg-shared{color:var(--cam);border-color:var(--cam)}.pg-del{position:absolute;top:8px;right:8px;font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:var(--raise);color:var(--bad);opacity:0}.pg-card:hover .pg-del,.pg-del:focus{opacity:1}@media (pointer: coarse){.pg-del{opacity:1}}.share{position:relative}.share-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:320px;padding:14px;border-radius:12px;background:var(--raise);border:1px solid var(--line);box-shadow:0 12px 30px #0000001f;display:flex;flex-direction:column;gap:10px;font-size:13px}.share-pop p{margin:0;color:var(--muted)}.share-pop input{width:100%;font:inherit;font-family:var(--font-mono);font-size:12px;padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.share-row{display:flex;gap:8px}.share-error{color:var(--bad)!important}.project-switch select{width:auto;max-width:240px}.stage-mood{margin:0;color:var(--muted);font-size:13px;max-width:42ch}.plan-wrap{flex:1;min-height:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;overflow:hidden;padding:8px}.planner.read-only{pointer-events:none}.brand{color:inherit;text-decoration:none}.planner{width:100%;height:100%;max-height:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.keys{margin:0;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.keys-touch{display:none}@media (pointer: coarse){.keys-mouse{display:none}.keys-touch{display:block}}.shot-strip{grid-area:shots;display:flex;flex-direction:column;gap:6px;min-width:0}.tabs{display:none}.pane-edit,.pane-score{display:contents}.shots{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.shot{flex:none;width:236px;display:flex;flex-direction:column;gap:5px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;scroll-snap-align:start}.shot.selected{border-color:var(--cam)}.shot-head{display:flex;justify-content:space-between;gap:8px;font-size:12px}.shot-head b{font-weight:600;color:var(--cam);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shot-head em{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--muted);white-space:nowrap}.shot-frame{width:100%;aspect-ratio:16 / 9;border-radius:6px;display:block;background:#0d0e10}.shot-list{font-size:11.5px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shot-empty{margin:0;font-size:12.5px;color:var(--muted)}.shot-floor{fill:#24262b}.shot-sky{fill:#1a1b1f}.shot-wall{fill:#2c2f35;stroke:#3a3d44;stroke-width:.5}.shot-seat{fill:#b9826f;stroke:#00000059;stroke-width:.6}.shot-table{fill:#8d7a62;stroke:#00000059;stroke-width:.6}.shot-decor{fill:#6a6d75;stroke:#00000059;stroke-width:.6}polygon.shot-floor{fill:#baa07838;stroke:#baa07880;stroke-width:.6}.shot-pop{fill:var(--pop)}.shot-person rect,.shot-person circle{fill:#d9d6cf;stroke:#00000059;stroke-width:.6}.shot-leaf{fill:#6e8b6a;stroke:#0000004d;stroke-width:.6}.shot-pole{stroke:#8a8d94}.shot-shade{fill:#e9dcc0}.shot-glow{mix-blend-mode:screen}.shot-line{stroke:#00000059;stroke-width:.6}.shot-screen{fill:#2a4f7a;stroke:var(--cam);stroke-width:.8}.shot-fixture{opacity:.9}.shot-thirds line{stroke:#ffffff12;stroke-width:.6}.wall-label{font-family:var(--font-mono);font-size:calc(10px * var(--u, 1));letter-spacing:.12em;fill:var(--muted)}.obj-label{font-family:var(--font-body);font-size:calc(11.5px * var(--u, 1));font-weight:500;fill:var(--ink);paint-order:stroke;stroke:var(--floor);stroke-width:calc(3.5px * var(--u, 1));stroke-linejoin:round}.cam-label{fill:var(--cam);font-family:var(--font-mono);font-size:calc(10.5px * var(--u, 1))}.item{cursor:grab}.is-dragging .item,.is-dragging .camera,.is-dragging .light{cursor:grabbing}.item .body{fill:var(--piece-fill);stroke:var(--plan-line);stroke-width:calc(1.25px * var(--u, 1))}.item .line{fill:none;stroke:var(--plan-line);stroke-width:calc(1px * var(--u, 1));stroke-linecap:round}.item .line.faint{stroke:var(--plan-line-soft)}.item .line.dashed{stroke-dasharray:calc(5px * var(--u, 1)) calc(4px * var(--u, 1))}.item.is-seat .body{fill:var(--seat-fill);stroke:var(--seat-line)}.item.is-seat .line{stroke:var(--seat-line)}.k-rug .body,.k-riser .body{fill:var(--floorpiece)}.k-rug .body{stroke-dasharray:calc(6px * var(--u, 1)) calc(4px * var(--u, 1))}.k-floor-lamp .bulb{fill:var(--plan-line-soft)}.item .glass{stroke:var(--cam);stroke-width:calc(2.5px * var(--u, 1));stroke-linecap:round}.item.is-pop .body{fill:color-mix(in srgb,var(--pop) 50%,transparent);stroke:var(--pop)}.item.is-pop .line{stroke:color-mix(in srgb,var(--pop) 70%,var(--ink))}.item.clash .body{stroke:var(--bad);fill:color-mix(in srgb,var(--bad) 22%,var(--piece-fill))}.item.blocked .body{stroke:var(--bad);stroke-dasharray:calc(4px * var(--u, 1)) calc(3px * var(--u, 1))}.item.selected .body{stroke:var(--tape);stroke-width:calc(2.25px * var(--u, 1));stroke-dasharray:none}.cone path{fill:var(--cam-fill);stroke:var(--cam);stroke-opacity:.35;stroke-width:1.5}.cone .cone-axis{stroke:var(--cam);stroke-opacity:.35;stroke-dasharray:4 6}.cone.selected path{fill:color-mix(in srgb,var(--cam) 24%,transparent);stroke-opacity:.9}.camera{cursor:grab}.camera .hit,.light .hit{fill:transparent}.camera .body{fill:var(--cam)}.camera .lens{fill:var(--cam);opacity:.75}.cam-letter{font-family:var(--font-mono);font-weight:500;font-size:13px;fill:var(--bg)}.camera.selected .body{stroke:var(--tape);stroke-width:3}.light{cursor:grab}.light .lamp{stroke:#00000059;stroke-width:1}.light.selected .lamp{stroke:var(--tape);stroke-width:3}.handle-line{stroke:var(--tape);stroke-width:calc(1.5px * var(--u, 1));stroke-dasharray:calc(3px * var(--u, 1)) calc(4px * var(--u, 1))}.handle{cursor:grab}.handle-hit{fill:transparent}.handle-dot{fill:var(--tape);stroke:var(--bg);stroke-width:calc(2px * var(--u, 1))}.handle.resize{cursor:nwse-resize}.light-pools{mix-blend-mode:var(--glow-blend)}.marker{fill:var(--ink);stroke:var(--floor);stroke-width:calc(1.5px * var(--u, 1))}.marker-n{fill:var(--floor);font-family:var(--font-type, var(--font-body));font-weight:700;font-size:calc(10px * var(--u, 1))}.marker-light{fill:var(--tape);font-family:var(--font-type, var(--font-body));font-weight:700;font-size:calc(10px * var(--u, 1));paint-order:stroke;stroke:var(--floor);stroke-width:calc(3px * var(--u, 1))}.snap-guide{stroke:var(--cam);stroke-width:calc(1px * var(--u, 1));stroke-dasharray:calc(4px * var(--u, 1)) calc(3px * var(--u, 1))}.measure line{stroke:var(--tape);stroke-width:calc(1.25px * var(--u, 1))}.measure rect{fill:var(--tape)}.measure text{font-family:var(--font-mono);font-size:calc(10.5px * var(--u, 1));font-weight:500;fill:var(--tape-ink);font-variant-numeric:tabular-nums}.select-box{fill:color-mix(in srgb,var(--tape) 10%,transparent);stroke:var(--tape);stroke-width:calc(1px * var(--u, 1));stroke-dasharray:calc(4px * var(--u, 1)) calc(3px * var(--u, 1))}.group-box{fill:none;stroke:var(--tape);stroke-width:calc(1.25px * var(--u, 1));stroke-dasharray:calc(5px * var(--u, 1)) calc(4px * var(--u, 1))}.inspector{padding:14px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line)}.insp-title{margin:-4px 0 0;font-family:var(--font-display);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.02em}.row{display:flex;gap:10px}.row>*{flex:1;min-width:0}.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.field b{color:var(--ink);font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums}.field input[type=number],.field input[type=text],.field select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:13px;color:var(--ink)}.field input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.field-input{position:relative;display:block}.field-input em{position:absolute;right:26px;top:50%;transform:translateY(-50%);font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--muted);pointer-events:none}.field-range input{width:100%;accent-color:var(--tape)}.field-range span{display:flex;justify-content:space-between}.field .seg{width:100%}.field .seg button{flex:1;font-family:var(--font-mono);font-size:12px}.hint{margin:0;font-size:12.5px;color:var(--muted)}.actions{margin-top:2px}.chip.on{border-color:var(--tape);background:var(--raise)}.chip-meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-left:4px}.chip-static{cursor:default}.families{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px}.family{display:flex;align-items:center;gap:8px;text-align:left;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:12.5px;color:var(--ink)}.family.on{border-color:var(--tape);background:var(--raise)}.family-swatches{display:inline-flex;flex:none}.family-swatches i{width:12px;height:18px;display:block}.family-swatches i:first-child{border-radius:4px 0 0 4px}.family-swatches i:last-child{border-radius:0 4px 4px 0}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line);padding:0;position:relative}.swatch.on{box-shadow:0 0 0 2px var(--tape)}.swatch-custom{display:grid;place-items:center;cursor:pointer;overflow:hidden;background:conic-gradient(#e0614f,#d6a21e,#6fc48a,#2f8fd0,#8a4fc4,#e0614f)}.swatch-custom span{color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.6)}.swatch-custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.toggle{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.toggle.disabled{color:var(--muted);cursor:default}.toggle input{accent-color:var(--tape);width:16px;height:16px;margin:0}.toggle-swatch{width:14px;height:14px;border-radius:50%;background:var(--line);flex:none}.score{padding:14px;display:flex;flex-direction:column;gap:12px}.score-head{display:flex;align-items:center;gap:12px}.score-sub{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.score-ring{--c: var(--bad);width:58px;height:58px;border-radius:50%;flex:none;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--line) 0);display:grid;place-items:center}.score-ring.ok{--c: var(--warn)}.score-ring.great{--c: var(--good)}.score-ring span{width:46px;height:46px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:22px;font-variant-numeric:tabular-nums}.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.checks li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start}.mark{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;margin-top:1px}.pass .mark{background:color-mix(in srgb,var(--good) 22%,transparent);color:var(--good)}.fail .mark{background:color-mix(in srgb,var(--bad) 22%,transparent);color:var(--bad)}.check-label{display:block;font-size:13px}.warnings{list-style:none;margin:0;padding:10px;display:flex;flex-direction:column;gap:8px;border:1px solid color-mix(in srgb,var(--bad) 45%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--bad) 8%,transparent)}.warnings li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start}.warnings .mark{color:var(--bad);font-size:10px}.pass .check-label{color:var(--muted)}.check-tip{display:block;font-size:12px;color:var(--muted);margin-top:2px}@media (max-width: 1100px){.app{grid-template-columns:240px minmax(0,1fr);grid-template-areas:"top top" "lib stage" "lib shots" "side side";grid-template-rows:auto minmax(520px,1fr) auto auto;height:auto;min-height:100%}.side{flex-direction:row;flex-wrap:wrap}.side>*{flex:1 1 280px}.pane-edit,.pane-score{display:block;flex:1 1 280px}}@media (max-width: 720px){.app{height:100vh;height:100svh;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:"top" "stage" "tabs" "pane";gap:8px;padding-block:8px;padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}.topbar{flex-wrap:nowrap;gap:8px}.brand{flex:none;gap:6px}.brand-name{font-size:18px;white-space:nowrap}.brand-stage{display:none}.logo{width:22px;height:22px}.toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0}.toolbar::-webkit-scrollbar{display:none}.toolbar .seg,.toolbar .btn{flex:none}.seg button{padding:7px 10px}.stage{gap:4px}.stage-head h1{font-size:20px}.stage-mood{display:none}.stage-head{flex-wrap:nowrap;align-items:flex-end}.project-name{font-size:20px}.project .eyebrow{font-size:9.5px}.project-switch>span{display:none}.project-switch select{max-width:130px;padding:4px 6px}.plan-wrap{flex:none;height:46vh;height:46svh;aspect-ratio:auto;padding:4px}.keys{display:none!important}.tabs{grid-area:tabs;display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}.tabs button{flex:1;border:0;background:transparent;padding:10px 4px;font-size:13px;font-weight:500;border-right:1px solid var(--line);white-space:nowrap}.tabs button:last-child{border-right:0}.tabs button.on{background:var(--raise);box-shadow:inset 0 -2px 0 var(--tape)}.library,.side,.shot-strip{grid-area:pane;min-height:0;overflow:auto;display:none}.side{flex-direction:column;flex-wrap:nowrap}.pane-edit,.pane-score{display:none;flex:none}.app[data-tab=add] .library,.app[data-tab=edit] .side,.app[data-tab=score] .side{display:flex}.app[data-tab=edit] .pane-edit,.app[data-tab=score] .pane-score{display:block}.app[data-tab=shots] .shot-strip{display:flex}.shot-strip>.eyebrow{display:none}.shots{flex-direction:column;overflow:visible}.shot{width:100%}.chip{padding:7px 12px;font-size:13px}.swatch{width:36px;height:36px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.brand-name{font-family:var(--font-site);font-weight:700;font-size:15px;text-transform:none;letter-spacing:-.035em;margin-left:0}.brand-stage{font-family:var(--font-site);font-size:12px;text-transform:none;letter-spacing:0}.logo{display:none}.eyebrow{font-family:var(--font-site);font-size:12px;letter-spacing:0;text-transform:none;font-weight:500}.stage-head h1,.project-name{font-family:var(--font-site);font-weight:600;font-size:30px;text-transform:none;letter-spacing:-.04em}.pg-head h2,.insp-title{font-family:var(--font-site);font-weight:600;text-transform:none;letter-spacing:-.03em}.draft-tag{font-family:var(--font-site);font-size:11px;letter-spacing:0;text-transform:none;border-radius:999px;padding:1px 8px}.sync{font-family:var(--font-site);font-size:12px}.btn{border-radius:999px;padding:7px 14px;background:var(--raise)}.btn.primary{background:var(--ink);color:var(--bg)}.btn.primary:hover{background:color-mix(in srgb,var(--ink) 82%,var(--tape))}.seg{border-radius:999px;background:var(--raise)}.seg button{padding:6px 12px}.panel{border-radius:14px}.set-type{border-radius:10px}.set-type.active{border-color:var(--ink)}.topbar .acct-link{font-family:var(--font-site);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.shot{cursor:pointer}.shot:focus-visible{outline:2px solid var(--cam);outline-offset:2px}.shot-vdim{fill:#0f0f0f9e}.shot-vbox{fill:none;stroke:#fbfbfb;stroke-width:1.5}.shot-vlabel{fill:#fbfbfb;font-family:var(--font-mono);font-size:9px}.shot-lenses{display:flex;align-items:center;gap:3px}.shot-lenses button{font:inherit;font-family:var(--font-mono);font-size:11px;padding:2px 7px;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--muted)}.shot-lenses button:hover{color:var(--ink);border-color:var(--muted)}.shot-lenses button.on{background:var(--cam);border-color:var(--cam);color:#fff}.shot-lenses i{font-style:normal;font-size:11px;color:var(--muted);margin-left:2px}@media (min-width: 721px){html:has(.app),html:has(.app) body,html:has(.app) #root{height:auto;min-height:100%}.app{height:auto;min-height:100vh;grid-template-rows:auto auto auto;align-items:start}.app :is(.library,.side){position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.plan-box .plan-wrap{flex:none;height:clamp(440px,70vh,980px)}.shot{width:200px}}.plan-wrap{position:relative;overflow:auto}.plan-zoom{display:grid;min-width:100%;min-height:100%;flex:none}.plan-zoom .planner{width:100%;height:100%;max-height:none}.plan-wrap.zoomed{place-items:start}.plan-box{position:relative;display:flex;flex-direction:column;min-height:0;flex:1}.zoom-tools{position:absolute;bottom:10px;right:10px;z-index:3;display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--raise);box-shadow:0 4px 14px #0f0f0f14}.zoom-tools button{border:0;background:transparent;padding:6px 12px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}.zoom-tools button:disabled{opacity:.3;cursor:default}.zoom-tools .zoom-level{font-size:12px;min-width:52px;border-inline:1px solid var(--line)}.zoom-tools button:hover:not(:disabled){background:var(--panel)}.pl{position:relative;border-radius:14px}.pl-blur{filter:blur(5px) saturate(.85);opacity:.75;pointer-events:none;-webkit-user-select:none;user-select:none;max-height:520px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}.pl-compact{min-height:200px}.pl-compact .pl-blur{max-height:260px;-webkit-mask-image:none;mask-image:none}.pl-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 32px));display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;border-radius:14px;background:var(--raise);border:1px solid var(--line);box-shadow:0 12px 40px #0f0f0f24}.pl-compact .pl-card{top:50%}.pl-badge{font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 9px;border-radius:999px;background:var(--tape);color:var(--tape-ink)}.pl-title{margin:4px 0 0;font-size:16px;font-weight:600;color:var(--ink)}.pl-what{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}.pl-go{margin-top:8px;font:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer}.pl-go:hover{background:var(--tape);border-color:var(--tape);color:var(--tape-ink)}.pl-inline{display:inline-flex;align-items:center;gap:6px;font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}.pl-inline-blur{filter:blur(4px);-webkit-user-select:none;user-select:none}.pl-inline-tag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--tape);color:var(--tape-ink);flex:none}.pro-tag{display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--tape);color:var(--tape-ink);vertical-align:middle;margin-left:6px}@media print{.pl-card{display:none}}.pop-pieces{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.pop-pieces>span{font-size:12px;color:var(--muted)}.pop-pieces .chip{display:inline-flex;align-items:center;gap:6px}.pop-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
