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