:root{--backdrop:#e7e2d9;--ink:#1f1b16;--ink-soft:#6b6359;--line:#1f1b161a;--card:#faf8f4f2;--accent:#1f1b16;--radius:14px;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--backdrop);height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}#stage{position:absolute;inset:0}#stage canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.logo{pointer-events:none;-webkit-user-select:none;user-select:none;width:150px;height:auto;position:absolute;top:22px;left:calc(50% - 182px);transform:translate(-50%)}.panel{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);opacity:0;border-radius:20px;flex-direction:column;gap:18px;width:340px;max-height:calc(100% - 48px);padding:24px 24px 0;transition:opacity .5s,transform .5s;display:flex;position:absolute;top:24px;right:24px;overflow-y:auto;transform:translateY(6px);box-shadow:0 18px 50px -24px #281e0f59}.panel.ready{opacity:1;transform:none}.panel header h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:650;line-height:1.15}.panel h2{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-size:12px;font-weight:600}.choices{flex-direction:column;gap:8px;display:flex}.choice{text-align:left;width:100%;font:inherit;color:inherit;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;grid-template-columns:44px 1fr 22px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .2s,box-shadow .2s,background .2s;display:grid;position:relative}.choice:hover{border-color:#1f1b1647}.choice:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.choice[aria-pressed=true],.choice.fixed{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.choice.fixed{cursor:default}.choice:disabled{cursor:progress}.pic{background:var(--swatch);border-radius:10px;width:44px;height:44px;display:block;overflow:hidden}.pic img{object-fit:cover;width:100%;height:100%;display:block}.choice .short{display:none}.choice strong{letter-spacing:-.005em;font-size:15px;font-weight:600;display:block}.choice span.note{color:var(--ink-soft);margin-top:2px;font-size:13px;line-height:1.35;display:block}.tick{border:1px solid var(--line);border-radius:50%;place-items:center;width:22px;height:22px;transition:background .2s,border-color .2s;display:grid}.tick svg{opacity:0;width:12px;height:12px;transition:opacity .2s}.choice[aria-pressed=true] .tick,.choice.fixed .tick{background:var(--ink);border-color:var(--ink)}.choice[aria-pressed=true] .tick svg,.choice.fixed .tick svg{opacity:1}.panel footer{background:linear-gradient(#faf8f400,#faf8f4 12px);justify-content:flex-start;margin:-6px -24px 0;padding:12px 24px 20px;display:flex;position:sticky;bottom:0}.ghost{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:550;transition:border-color .2s}.ghost:hover{border-color:#1f1b1659}.panel{scrollbar-width:thin}.panel header .base,.tabs{display:none}@media (max-width:760px){.logo{width:118px;top:14px;left:50%}.panel{border-radius:18px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title restart""tabs tabs""options options";gap:10px;width:auto;max-height:none;padding:12px;display:grid;inset:auto 8px 8px;overflow:hidden}.panel header{grid-area:title;align-self:center;min-width:0}.panel header h1{font-size:16px;line-height:1.2}.panel header .base{color:var(--ink-soft);margin:2px 0 0;font-size:12px;line-height:1.3;display:block}.panel footer{background:0 0;grid-area:restart;align-self:center;margin:0;padding:0;position:static}.ghost{padding:7px 13px;font-size:13px}.tabs{scrollbar-width:none;background:#1f1b160f;border-radius:12px;grid-area:tabs;gap:3px;padding:3px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs [role=tab]{white-space:nowrap;height:34px;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1 0 auto;justify-content:center;align-items:center;gap:5px;padding:0 5px;font-size:12.5px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex}.tabs [role=tab][aria-selected=true]{color:var(--ink);box-shadow:0 1px 3px #281e0f1f, 0 0 0 1px var(--line);background:#fff}.tabs [role=tab]:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.tabs .count{background:var(--ink);border-radius:50%;width:6px;height:6px;font-size:0}.tabs .count:empty{display:none}.panel section{grid-area:options;min-width:0;display:none}.panel section.group.active{display:block}.panel h2{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.choices{scrollbar-width:none;scroll-snap-type:x proximity;grid-auto-columns:calc(25% - 6px);grid-auto-flow:column;gap:8px;margin:-3px;padding:3px;display:grid;overflow-x:auto}.choices::-webkit-scrollbar{display:none}.choice{aspect-ratio:3/4;scroll-snap-align:start;border-radius:14px;flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.choice:after{content:"";border-radius:inherit;pointer-events:none;transition:box-shadow .2s;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #0000}.choice[aria-pressed=true]{box-shadow:none}.choice[aria-pressed=true]:after{box-shadow:inset 0 0 0 2px var(--ink)}.pic{border-radius:0;flex:1 1 0;width:100%;height:auto;min-height:0}.label{padding:6px 7px 8px}.choice strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.2;display:-webkit-box;overflow:hidden}.choice span.note{display:none}.choice .short{display:inline}.choice .full{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tick{background:#ffffffeb;border-color:#1f1b1629;width:20px;height:20px;position:absolute;top:6px;right:6px}}@media (max-width:359px){.choices{grid-auto-columns:calc(33.3333% - 5.33333px)}}@media (prefers-reduced-motion:reduce){.panel{transition:none}}
