:root{--bg:#f2f2f2;--panel:#fff;--stage-a:#eeeeec;--stage-b:#dededa;--ink:#111;--ink-2:#6b6b70;--ink-3:#9a9aa0;--line:#0000001a;--line-soft:#0000000f;--cap-bg:40%;--hover:#00000009;--sel:#111;--sel-ink:#fff;--shadow-1:0 1px 2px #0000000d;--thumb-bg:#f4f4f2;--tip-ink:#9a9aa1;--tip-halo:#ffffff73;--warn-ink:#6b4208;--warn-line:#6b420873;--warn-bg:88%;color-scheme:light}.dark{--bg:#111;--panel:#18181b;--stage-a:#1a1a1d;--stage-b:#101012;--ink:#f2f2f2;--ink-2:#a1a1aa;--ink-3:#71717a;--line:#ffffff21;--line-soft:#ffffff12;--cap-bg:40%;--hover:#ffffff0d;--sel:#f2f2f2;--sel-ink:#111;--shadow-1:0 1px 2px #0006;--thumb-bg:#e9e7e2;--tip-ink:#a6a6ae;--tip-halo:#00000073;--warn-ink:#f0c274;--warn-line:#f0c27473;--warn-bg:90%;color-scheme:dark}*{box-sizing:border-box}html,body{max-width:100%;height:100%;margin:0;overflow-x:hidden}body>main{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Hiragino Sans,Noto Sans JP,Arial,sans-serif}:where(.app) button,:where(.hdr-peek,.sh-hide){font:inherit;color:inherit;cursor:pointer;text-align:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0}:where(.app,.hdr-peek,.sh-hide) :focus-visible,:where(.hdr-peek,.sh-hide):focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}:root{--hdr-real:57px;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}@media (width>=1024px){:root{--hdr-real:109px}}#site-header{transition:transform .34s cubic-bezier(.22,.61,.36,1),margin-top .34s cubic-bezier(.22,.61,.36,1),background-color .3s,border-color .3s}html.hdr-off #site-header{transform:translateY(-100%)}@media (width>=850px){html.hdr-off #site-header{margin-top:calc(-1 * var(--hdr-real))}}.hdr-peek{z-index:60;opacity:0;pointer-events:none;place-items:end center;width:120px;height:20px;padding-bottom:4px;transition:opacity .3s;display:grid;position:fixed;top:0;left:50%;transform:translate(-50%)}html.hdr-off .hdr-peek{opacity:1;pointer-events:auto}.hdr-peek i{background:var(--ink-3);opacity:.45;border-radius:999px;width:34px;height:4px;transition:opacity .2s;display:block}.hdr-peek:hover i{opacity:.85}.sh-hide{color:#111;opacity:.45;justify-content:center;align-items:center;width:22px;height:22px;transition:opacity .2s;display:inline-flex}.sh-hide:hover{opacity:.9}.dark .sh-hide{color:#f2f2f2}.sh-hide svg{width:13px;height:13px}html,body{height:100%;overflow:hidden}@supports (height:100svh){html,body{height:100svh}body{min-height:100svh}}body>footer{display:none!important}body>main{min-height:0;padding-bottom:var(--consent-h,0px);flex-direction:column;flex:auto;display:flex}.app{flex:auto;grid-template-columns:clamp(340px,31vw,440px) 1fr;min-height:0;display:grid}@media (width<=849px){.app{grid-template-columns:1fr;grid-template-rows:max(110px, calc(36svh - var(--consent-h,0px))) 1fr}}.panel{background:var(--panel);border-right:1px solid var(--line-soft);padding:26px 32px 22px calc(32px + var(--safe-l));flex-direction:column;gap:18px;display:flex;overflow-y:auto}@media (width<=849px){.panel{border-right:none;border-top:1px solid var(--line-soft);padding:18px calc(16px + var(--safe-r)) 14px calc(16px + var(--safe-l));grid-row:2}}.masthead{flex-direction:column;gap:11px;display:flex}.wordmark{letter-spacing:-.01em;color:var(--ink-2);font-size:13px;font-weight:600}.navbar{align-items:center;gap:12px;display:flex}.back{color:var(--ink-2);opacity:1;flex:none;align-items:center;gap:5px;font-size:12px;transition:opacity .28s,transform .28s;display:inline-flex}.back:hover{color:var(--ink)}.back[hidden]{opacity:0;pointer-events:none;transform:translate(-4px);display:inline-flex!important}.back svg{width:8px;height:12px}.track{background:var(--line);border-radius:2px;flex:1;height:2px;overflow:hidden}.fill{background:var(--ink);width:0;height:100%;transition:width .5s cubic-bezier(.22,.61,.36,1);display:block}.pnum{font-variant-numeric:tabular-nums;color:var(--ink-3);letter-spacing:.06em;flex:none;font-size:11px}.flow{transition:height .44s cubic-bezier(.22,.61,.36,1);position:relative}.pane{flex-direction:column;gap:13px;transition:opacity .3s,transform .44s cubic-bezier(.22,.61,.36,1);display:flex}.pane.enter{opacity:0;transform:translateY(14px)}.pane.enter-back{opacity:0;transform:translateY(-14px)}.pane.leave{opacity:0;pointer-events:none;transform:translateY(-14px)}.pane.leave-back{opacity:0;pointer-events:none;transform:translateY(14px)}.pane-foot{z-index:2;padding:12px 0 calc(6px + env(safe-area-inset-bottom,0px));background:var(--panel);flex-direction:column;margin-top:6px;display:flex;position:sticky;bottom:0}.pane-foot:before{content:"";background:linear-gradient(to top, var(--panel), transparent);pointer-events:none;height:20px;position:absolute;top:-20px;left:0;right:0}.foot-pick{color:var(--ink-2);text-align:center;margin:0 0 8px;font-size:11.5px}.foot-pick b{color:var(--ink);font-weight:600}.kicker{letter-spacing:.2em;color:var(--ink-3);text-transform:uppercase;font-size:10px;font-weight:700}.pane h2{letter-spacing:-.02em;margin:-6px 0 0;font-size:clamp(22px,2vw,27px);font-weight:600;line-height:1.2}.pane .lede{color:var(--ink-2);margin:-6px 0 2px;font-size:12.5px;line-height:1.7}.flow{flex:auto;min-height:0}.flow>.pane{position:absolute;inset:0;overflow:hidden auto}.pane.tight>.lede{display:none}.pane.tight2{gap:8px}.pane.tight2 .grow{min-height:48px}.pane.tight3 .grow{min-height:0;overflow:visible}.pane.tight2 .foot-pick{display:none}.pane.tight2 .sub{gap:6px 12px;padding-top:8px}.pane .grow{min-height:var(--grow-min,96px);scrollbar-width:thin;overscroll-behavior:contain;flex:auto;padding-right:4px;overflow:hidden auto}.pane .sub{border-top:1px solid var(--line-soft);grid-template-columns:max-content 1fr;align-items:center;gap:8px 12px;padding-top:12px;display:grid}.pane .sub .chip-group{display:contents}.pane .sub .sub-label{margin-bottom:0}.pane .sub .chips{flex-wrap:nowrap}.pane .sub .chip{flex:0 auto;min-width:0;overflow:hidden}.rows{flex-direction:column;gap:8px;display:flex}.rows.compact .row{gap:11px;padding:8px 12px 8px 8px}.rows.compact .thumb{width:72px;height:46px}.rows.compact .row-txt b{font-size:13.5px}.rows.compact .row-txt small{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.rows.finishes{gap:6px}.rows.finishes .thumb{height:42px}.row{border:1px solid var(--line);background:var(--panel);border-radius:14px;align-items:center;gap:14px;width:100%;padding:10px 14px 10px 10px;transition:border-color .22s,background .22s,box-shadow .22s,transform .22s;display:flex}.row:hover{background:var(--hover)}.row:active{transform:scale(.988)}.row[aria-pressed=true]{border-color:var(--sel);box-shadow:inset 0 0 0 1px var(--sel)}.thumb{background:var(--thumb-bg);border-radius:9px;flex:none;width:84px;height:54px;position:relative;overflow:hidden}.thumb model-viewer{--poster-color:transparent;background:0 0;width:100%;height:100%}.thumb .swatch{position:absolute;inset:0}.row-txt{text-align:left;flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.row-txt b{letter-spacing:-.01em;font-size:14px;font-weight:600}.row-txt small{color:var(--ink-2);font-size:11px;line-height:1.5}.badge{border:1px solid var(--line);letter-spacing:.06em;color:var(--ink-3);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;display:inline-block}.tick{border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-left:auto;transition:background .22s,border-color .22s;display:grid}.tick svg{opacity:0;width:11px;height:11px;transition:opacity .22s,transform .28s cubic-bezier(.22,1.4,.4,1);transform:scale(.7)}.row[aria-pressed=true] .tick{background:var(--sel);border-color:var(--sel)}.row[aria-pressed=true] .tick svg{opacity:1;stroke:var(--sel-ink);transform:scale(1)}.sub{flex-direction:column;gap:14px;display:flex}.sub-label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:10px;font-weight:700}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{text-align:center;border:1px solid var(--line);letter-spacing:-.01em;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;transition:border-color .2s,background .2s,color .2s,transform .2s;display:inline-flex}.chip:hover{background:var(--hover)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--sel);border-color:var(--sel);color:var(--sel-ink)}.chip.solo{pointer-events:none;opacity:.5}.chip .dot{border:1px solid var(--line);border-radius:50%;flex:none;width:13px;height:13px}.chip[aria-pressed=true] .dot{border-color:#ffffff59}.dark .chip[aria-pressed=true] .dot{border-color:#00000040}.chip .len{font-variant-numeric:tabular-nums;font-weight:600}.chip .len em{opacity:.6;margin-left:2px;font-size:11px;font-style:normal;font-weight:400}.summary{flex-direction:column;margin:0;display:flex}.sum-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:14px;padding:12px 0;display:flex}.sum-row:last-child{border-bottom:none}.sum-row dt{color:var(--ink-2);flex:none;font-size:12px}.sum-row .val{text-align:right;flex:auto;margin:0;font-size:13px;font-weight:600}.sum-row .val small{color:var(--ink-3);margin-top:2px;font-size:11px;font-weight:400;display:block}.sum-row .edit{color:var(--ink-3);text-underline-offset:3px;flex:none;font-size:11px;text-decoration:underline}.sum-row .edit:hover{color:var(--ink)}.sum-row.sum-locked{cursor:default}.sum-row.sum-locked dt{color:var(--ink-3)}.actions{flex-direction:column;gap:9px;margin-top:10px;display:flex}.btn{text-align:center;letter-spacing:-.01em;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:15px 18px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s,background .2s;display:flex}.btn:active{transform:scale(.985)}.btn-primary{background:var(--sel);color:var(--sel-ink)}.btn-secondary{border-color:var(--line)}.btn-secondary:hover{background:var(--hover)}.lead{border-top:1px solid var(--line);margin:14px 0 0;padding:14px 0 0;position:relative}.lead-open{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;border-radius:11px;padding:12px;font-size:13px;font-weight:600;transition:border-color .16s,color .16s}.lead-open:hover,.lead.is-open .lead-open{border-color:var(--ink)}.lead-open:after{content:"";opacity:.5;border-bottom:1.5px solid;border-right:1.5px solid;width:5px;height:5px;margin-left:8px;display:inline-block;transform:translateY(-2px)rotate(-135deg)}.lead-pop{background:var(--bg);border:1px solid var(--line);z-index:30;opacity:0;visibility:hidden;border-radius:13px;padding:14px;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;bottom:calc(100% - 6px);left:0;right:0;transform:translateY(6px);box-shadow:0 14px 34px #00000029}.lead.is-open .lead-pop{opacity:1;visibility:visible;transform:none}.lead-row{gap:8px;display:flex}.lead-row input{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--bg);border-radius:11px;flex:auto;padding:12px;font-size:14px}.lead-row input:focus{border-color:var(--ink);outline:none}.lead-row .btn{flex:none;width:auto;padding:12px 18px}.lead-msg{color:var(--ink-3);margin:8px 0 0;font-size:11.5px;line-height:1.6}.lead-msg[data-tone=err]{color:#b91c1c}.lead-msg[data-tone=ok]{color:var(--ink);font-weight:600}@media (width<=900px){.lead-pop{opacity:1;visibility:hidden;box-shadow:none;border:none;height:0;padding:12px 0 0;position:static;overflow:hidden;transform:none}.lead.is-open .lead-pop{visibility:visible;height:auto;overflow:visible}}.btn-text{color:var(--ink-2);text-underline-offset:3px;padding:6px;font-size:13px;font-weight:400;text-decoration:underline}.hint{color:var(--ink-3);text-align:center;margin:2px 0 0;font-size:11px;line-height:1.6}.qr-over{z-index:9;background:color-mix(in srgb, var(--stage-b) 55%, transparent);-webkit-backdrop-filter:blur(3px);opacity:0;justify-content:center;align-items:center;padding:20px;transition:opacity .18s;display:flex;position:absolute;inset:0}.qr-over[data-on="1"]{opacity:1}.qr-over[hidden]{display:none}.qr-card{background:var(--bg);border:1px solid var(--line);flex-direction:column;align-items:center;gap:10px;max-width:260px;padding:20px 18px 18px;display:flex;position:relative;box-shadow:0 18px 50px #00000047}.qr-title{color:var(--ink);text-align:center;margin:0;font-size:12px;font-weight:600}.qr-img{background:#fff;width:180px;height:180px;padding:8px;display:block}.qr-body{color:var(--ink-3);text-align:center;margin:0;font-size:11px;line-height:1.6}.qr-url{word-break:break-all;user-select:all;font-size:10px}.qr-copy{width:100%}.qr-x{cursor:pointer;width:28px;height:28px;color:var(--ink-3);background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:17px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.qr-x:hover{color:var(--ink)}.stage{background:radial-gradient(120% 90% at 50% 12%, var(--stage-a), var(--stage-b));position:relative;overflow:hidden}@media (width<=849px){.stage{z-index:5;grid-row:1}}.stage model-viewer{--poster-color:transparent;background:0 0;width:100%;height:100%}.stage-caption{left:50%;bottom:calc(26px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--panel) var(--cap-bg), transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4);max-width:calc(100% - 40px);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;box-shadow:var(--shadow-1);border-radius:0;align-items:center;gap:10px;padding:9px 18px;font-size:12px;display:flex;position:absolute;overflow:hidden;transform:translate(-50%)}.stage-caption b{color:var(--ink);font-weight:600}.stage-caption .sep{opacity:.35}.stage-warn{z-index:7;background:color-mix(in srgb, var(--panel) var(--warn-bg), transparent);border:1px solid var(--warn-line);max-width:calc(100% - 36px);color:var(--warn-ink);white-space:nowrap;text-overflow:ellipsis;box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-radius:999px;padding:8px 16px;font-size:12px;font-weight:500;line-height:1.45;position:absolute;top:16px;left:50%;overflow:hidden;transform:translate(-50%)}.stage-warn b{font-weight:700}.tip{z-index:6;pointer-events:none;opacity:0;transition:opacity .2s,transform .34s cubic-bezier(.22,.61,.36,1);position:absolute;top:0;left:0;transform:translate(-50%,calc(-100% - 30px))}.tip[data-on="1"]{opacity:1;transform:translate(-50%,calc(-100% - 46px))}.tip.below{transform:translate(-50%,30px)}.tip.below[data-on="1"]{transform:translate(-50%,46px)}.tip b{letter-spacing:.02em;white-space:nowrap;color:var(--tip-ink);text-shadow:0 0 4px var(--tip-halo), 0 1px 3px var(--tip-halo);font-size:11px;font-weight:400}.ripple{z-index:5;pointer-events:none;border:1px solid var(--tip-ink);opacity:0;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;animation:.8s cubic-bezier(.22,.61,.36,1) forwards ripple;position:absolute}.ripple.slow{border-width:.75px;animation-duration:1.05s;animation-delay:.13s}@keyframes ripple{0%{opacity:.75;transform:scale(.28)}60%{opacity:.28}to{opacity:0;transform:scale(4.2)}}@media (width<=849px){.panel{padding:14px calc(16px + var(--safe-r)) 10px calc(16px + var(--safe-l));gap:12px}.masthead{gap:8px}.pane{gap:10px}.pane h2{font-size:20px}.pane .lede{display:none}.kicker{font-size:9px}.rows.compact .row{gap:10px;padding:6px 10px 6px 6px}.rows.compact .thumb{width:64px;height:40px}.pane .sub{gap:6px 14px;padding-top:10px}.pane-foot{padding:10px 0 calc(6px + env(safe-area-inset-bottom,0px))}.foot-pick{margin-bottom:6px;font-size:11px}.pane-foot .btn{padding:13px 16px;font-size:13.5px}}@media (width>=850px) and (height<=420px){.foot-pick{display:none}}@media (prefers-reduced-motion:reduce){.ripple{display:none}}.busy{pointer-events:none;opacity:0;place-items:center;transition:opacity .25s;display:grid;position:absolute;inset:0}.busy[data-on="1"]{opacity:1}.busy span{color:var(--ink-2);background:color-mix(in srgb, var(--panel) 80%, transparent);-webkit-backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:9px;padding:8px 16px;font-size:12px;display:flex}.spin{border:1.5px solid var(--line);border-top-color:var(--ink-2);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.devlog{color:var(--ink-3);max-width:46ch;font-size:10.5px;position:absolute;top:16px;left:18px}.devlog summary{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;font-size:9.5px}.devlog pre{white-space:pre-wrap;margin:8px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.75}.devlog.err pre{color:#ef4444}@media (width>=850px) and (height<=540px){.masthead>div:first-child{display:none}.panel{padding:12px 20px 8px calc(20px + var(--safe-l));gap:10px}.masthead{gap:0}.pane{gap:9px}.pane h2{font-size:19px}.pane .lede{display:none}.pane .grow{min-height:80px}.pane .sub{gap:5px 14px;padding-top:9px}.rows{gap:6px}.row{border-radius:12px;gap:10px;padding:6px 10px 6px 6px}.thumb{border-radius:8px;width:64px;height:40px}.row-txt b{font-size:12.5px}.row-txt small{font-size:10px}.chip{padding:5px 10px;font-size:11.5px}.pane .sub{gap:4px 12px}.pane-foot{padding:8px 0 calc(4px + env(safe-area-inset-bottom,0px))}.foot-pick{margin-bottom:5px;font-size:10.5px}.btn{padding:11px 16px;font-size:13px}.sum-row{padding:8px 0}}@media (prefers-reduced-motion:reduce){.flow,.pane,.fill{transition:none!important}}.row,.chip,.btn,.thumb,.badge,.sh-hide,.pane-foot .btn,.btn-primary,.btn-secondary,.btn-text,:where(.app,.hdr-peek,.sh-hide) :focus-visible,:where(.hdr-peek,.sh-hide):focus-visible{border-radius:0}
