.tool{max-width:var(--max);padding:0 var(--gutter);width:100%;margin:0 auto}.tool__intro{gap:8px;padding:clamp(4px,2vw,20px) 0 clamp(14px,2.4vw,24px);display:grid}.tool__intro h1{letter-spacing:-.04em;font-size:clamp(2rem,5.2vw,3.6rem);font-weight:800;line-height:.98}.tool__lede{color:var(--ink-2);max-width:52em;font-size:clamp(1rem,1.6vw,1.15rem)}.tool__body{align-items:start;gap:20px;display:grid}@media (min-width:900px){.tool__body{grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr)}}.stage{isolation:isolate;border-radius:var(--radius-l);background:var(--stage);justify-items:center;gap:14px;padding:clamp(14px,2.4vw,28px);display:grid;position:relative;overflow:hidden}.stage:before{content:"";z-index:-1;background:repeating-conic-gradient(from 0deg at 50% 54%, var(--ray) 0deg 7.5deg, transparent 7.5deg 15deg);pointer-events:none;position:absolute;top:-20%;bottom:-20%;left:-20%;right:-20%;-webkit-mask-image:radial-gradient(circle at 50% 54%,#000 18%,#0000 62%);mask-image:radial-gradient(circle at 50% 54%,#000 18%,#0000 62%)}.stage__head{justify-content:center;width:100%;display:flex}.stage__title{border-radius:var(--radius-s);text-align:center;letter-spacing:-.02em;width:100%;max-width:32ch;color:var(--ink);text-overflow:ellipsis;background:0 0;border:0;padding:6px 10px;font-size:clamp(1.25rem,2.6vw,1.75rem);font-weight:740}.stage__title::placeholder{color:var(--ink-3);font-weight:560}.stage__title:hover{background:color-mix(in srgb, var(--surface) 55%, transparent)}.stage__title:focus-visible{background:var(--surface);outline-offset:0}.wheel{aspect-ratio:1;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex:none;width:min(100%,640px,max(280px,100svh - 290px));position:relative;container-type:inline-size}.wheel__spinner{will-change:transform;cursor:pointer;filter:var(--wheel-shadow);touch-action:manipulation;position:absolute;top:0;bottom:0;left:0;right:0}.is-spinning .wheel__spinner{cursor:progress}.wheel__face{width:100%;height:100%;display:block}.wheel__pointer{transform-origin:92%;width:10%;fill:var(--accent);stroke:var(--wheel-rim);stroke-width:3px;stroke-linejoin:round;filter:drop-shadow(-2px 3px 3px #16142b40);pointer-events:none;z-index:2;margin-top:-4.2%;position:absolute;top:50%;right:-2.5%}.wheel__hub{background:var(--hub-bg);width:21%;min-width:68px;height:21%;min-height:68px;color:var(--hub-ink);box-shadow:0 0 0 clamp(4px, .9vw, 7px) var(--accent), 0 6px 18px #16142b59;letter-spacing:-.02em;z-index:3;transition:transform .18s var(--ease-out);border:0;border-radius:50%;place-items:center;margin:auto;font-size:clamp(.9rem,4cqi,2.6rem);font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.wheel__hub span{text-overflow:ellipsis;max-width:88%;overflow:hidden}.wheel__hub:hover{transform:scale(1.05)}.wheel__hub:active{transform:scale(.95)}.wheel__hub:focus-visible{outline:4px solid var(--focus);outline-offset:6px;border-radius:50%}.is-spinning .wheel__hub{transform:none}.wheel.is-empty .wheel__hub{opacity:.55}.confetti{pointer-events:none;z-index:4;width:160%;height:160%;position:absolute;top:-30%;bottom:-30%;left:-30%;right:-30%}.stage__hint{color:var(--ink-2);min-height:1.5em;font-size:.95rem;font-weight:520}.hint-touch{display:none}@media (hover:none) and (pointer:coarse){.hint-mouse{display:none}.hint-touch{display:inline}}.stage__bar{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.stage__bar .btn--quiet:hover{background:color-mix(in srgb, var(--surface) 70%, transparent)}[data-sound] .icon--off,[data-sound][aria-pressed=false] .icon--on{display:none}[data-sound][aria-pressed=false] .icon--off{display:block}@media (min-width:900px){.wheel{width:min(100%,640px,max(320px,100svh - 410px))}.tool__intro{padding-top:4px}.stage__edit,.stage__results{display:none}}@media (max-width:599px){.stage{margin:0 calc(var(--gutter) * -1);padding:12px var(--gutter) 16px;border-radius:0;gap:10px}.stage__bar{flex-wrap:nowrap;gap:2px}.stage__bar .btn--quiet:not(.stage__results) span,.stage__results span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.stage__bar .btn--quiet{width:46px;padding:0}.stage__edit{margin-right:6px}}.present-exit{display:none}.panel{background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-1);flex-direction:column;gap:4px;min-width:0;padding:16px 20px 20px;display:flex}.panel__grip{display:none}.panel__top{align-items:center;gap:8px;margin-bottom:12px;display:flex}.panel__close{display:none}.tabs{background:var(--surface-2);border-radius:999px;flex:1;gap:2px;padding:4px;display:flex}.tabs [role=tab]{min-height:40px;color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.95rem;font-weight:640;display:inline-flex}.tabs [role=tab][aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.tabs .badge{font-size:.75rem}.pane{align-content:start;gap:10px;display:grid}.pane-title{letter-spacing:-.01em;margin:0;padding:0;font-size:1rem;font-weight:720}.entry-tools{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.chip{background:var(--surface-2);min-height:36px;color:var(--ink);border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.875rem;font-weight:620;transition:background-color .15s;display:inline-flex}.chip:hover{background:color-mix(in srgb, var(--surface-2) 70%, var(--ink) 12%)}.chip .icon{width:17px;height:17px}.chip--danger{color:var(--danger)}.is-spinning .chip,.is-spinning .link-btn{opacity:.5;pointer-events:none}.field-label{font-size:.95rem;font-weight:680}.entries{resize:vertical;border:1.5px solid var(--line);border-radius:var(--radius-m);background:var(--field);width:100%;min-height:280px;max-height:60vh;caret-color:var(--accent);padding:14px 16px;font-size:1.0625rem;font-weight:500;line-height:1.55}.entries:hover{border-color:var(--line-strong)}.entries:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 35%, transparent);outline:none}.entries[readonly]{opacity:.7}.entries-meta{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:640}.hint{color:var(--ink-3);font-size:.9rem;line-height:1.45}.aside-list{border-top:1px solid var(--line);gap:6px;margin-top:10px;padding-top:14px;display:grid}.aside-list__head,.results-head,.wheels__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.aside-list ul,.results,.wheels__list{margin:0;padding:0;list-style:none;display:grid}.aside-list li,.wheels__list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:4px 0;display:flex}.aside-list li>span{color:var(--ink-2);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);overflow-wrap:anywhere}.results-actions{gap:16px;display:flex}.results{counter-reset:res;max-height:420px;overflow:auto}.results li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;font-weight:600;display:flex}.results li span{overflow-wrap:anywhere}.results li:first-child{font-size:1.15rem;font-weight:760}.results time{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;font-size:.875rem;font-weight:500}.setting{border:0;gap:10px;min-width:0;margin:0 0 10px;padding:0;display:grid}.swatches{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.swatch{border-radius:var(--radius-m);background:var(--surface-2);cursor:pointer;justify-items:center;gap:6px;padding:10px 6px;font-size:.85rem;font-weight:620;display:grid;position:relative}.swatch input{opacity:0;cursor:pointer;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.swatch:has(input:checked){box-shadow:inset 0 0 0 2px var(--ink);background:var(--surface)}.swatch:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.swatch__dots{display:flex}.swatch__dots i{width:18px;height:18px;box-shadow:0 0 0 2px var(--surface-2);border-radius:50%;margin-left:-5px}.swatch:has(input:checked) .swatch__dots i{box-shadow:0 0 0 2px var(--surface)}.swatch__dots i:first-child{margin-left:0}.swatch__dots--fiesta i:first-child{background:#ff5a3c}.swatch__dots--fiesta i:nth-child(2){background:#ffc233}.swatch__dots--fiesta i:nth-child(3){background:#19a974}.swatch__dots--fiesta i:nth-child(4){background:#3d5bff}.swatch__dots--sorbet i:first-child{background:#ffb4a2}.swatch__dots--sorbet i:nth-child(2){background:#ffe28a}.swatch__dots--sorbet i:nth-child(3){background:#a8e6cf}.swatch__dots--sorbet i:nth-child(4){background:#a9c7ff}.swatch__dots--lagoon i:first-child{background:#0b3c5d}.swatch__dots--lagoon i:nth-child(2){background:#2fb5a6}.swatch__dots--lagoon i:nth-child(3){background:#f2c14e}.swatch__dots--lagoon i:nth-child(4){background:#f78154}.swatch__dots--grove i:first-child{background:#2d4a22}.swatch__dots--grove i:nth-child(2){background:#a7c957}.swatch__dots--grove i:nth-child(3){background:#e9a23b}.swatch__dots--grove i:nth-child(4){background:#bc4749}.swatch__dots--mono i:first-child{background:#1d1b34}.swatch__dots--mono i:nth-child(2){background:#ecebf7}.swatch__dots--mono i:nth-child(3){background:#46426f}.swatch__dots--mono i:nth-child(4){background:#cfcce9}.range{align-items:center;gap:14px;display:flex}.range input{accent-color:var(--accent);flex:1;min-height:44px}.range output{font-variant-numeric:tabular-nums;text-align:right;min-width:6.5em;font-weight:650}.toggle{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-weight:560;display:flex}.toggle input{-webkit-appearance:none;appearance:none;background:var(--line-strong);cursor:pointer;border-radius:999px;flex:none;width:46px;height:28px;margin:0;transition:background-color .2s;position:relative}.toggle input:after{content:"";width:22px;height:22px;transition:transform .2s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.toggle input:checked{background:var(--accent)}.toggle input:checked:after{transform:translate(18px)}.wheels{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.wheels__name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;justify-content:flex-start;min-width:0;margin:0;padding:0;font-weight:620;overflow:hidden}.wheels__list li.is-current .wheels__name{font-weight:760}.wheels__now{color:var(--ink-2);background:var(--surface-2);border-radius:999px;flex:none;padding:2px 10px;font-size:.8rem;font-weight:650}.panel-scrim{z-index:60;background:#0a081973;position:fixed;top:0;bottom:0;left:0;right:0}@media (max-width:899px){.panel{z-index:70;overscroll-behavior:contain;border-radius:var(--radius-l) var(--radius-l) 0 0;max-height:min(86svh,720px);box-shadow:var(--shadow-2);padding:6px 16px calc(20px + env(safe-area-inset-bottom));visibility:hidden;transition:transform .34s var(--ease-out), visibility 0s linear .34s;position:fixed;bottom:0;left:0;right:0;overflow:auto;transform:translateY(105%)}.panel.is-open{visibility:visible;transition:transform .34s var(--ease-out);transform:none}.panel__grip{background:var(--line-strong);border-radius:999px;width:44px;height:5px;margin:4px auto 10px;display:block}.panel__top{z-index:1;background:var(--surface);margin:0 -16px 8px;padding:4px 16px 8px;position:sticky;top:-6px}.panel__close{display:inline-grid}.entries{min-height:220px;max-height:46svh}html.sheet-open{overflow:hidden}}@media (min-width:900px){.panel-scrim{display:none}}@media (prefers-reduced-motion:reduce){.panel,.panel.is-open{transition:none}}.result{--winner:var(--accent);border-radius:var(--radius-l);background:var(--surface);width:min(92vw,600px);max-width:none;color:var(--ink);box-shadow:var(--shadow-2);text-align:center;border:0;padding:0;overflow:hidden}.result:before{content:"";background:var(--winner);height:14px;display:block}.result::backdrop{background:#0a08198c}.result[open]{animation:result-in .42s var(--ease-out)}@keyframes result-in{0%{opacity:0;transform:translateY(16px)scale(.94)}}@media (prefers-reduced-motion:reduce){.result[open]{animation:none}}.result__kicker{color:var(--ink-2);margin:34px 24px 6px;font-size:1.05rem;font-weight:620}.result__name{letter-spacing:-.04em;overflow-wrap:anywhere;text-wrap:balance;margin:0 24px;font-size:clamp(2.6rem,10vw,5.2rem);font-weight:800;line-height:1.02}.result__name.is-long{font-size:clamp(1.8rem,6vw,3rem)}.result__actions{flex-wrap:wrap;justify-content:center;gap:10px;padding:30px 24px 28px;display:flex}.result__close{position:absolute;top:22px;right:10px}.notice{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:90;border-radius:var(--radius-m);background:var(--btn-bg);width:max-content;max-width:calc(100vw - 32px);color:var(--btn-ink);box-shadow:var(--shadow-2);animation:notice-in .3s var(--ease-out);align-items:center;gap:14px;padding:12px 14px 12px 18px;font-size:.95rem;font-weight:560;display:flex;position:fixed;transform:translate(-50%)}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,10px)}}.notice__action{background:var(--accent);color:#16142b;border:0;border-radius:999px;flex:none;min-height:36px;padding:0 14px;font-weight:720}.stage.is-present{z-index:100;border-radius:0;align-content:center;gap:2vh;margin:0;padding:2.5vh 3vw;position:fixed;top:0;bottom:0;left:0;right:0}.stage.is-present .stage__bar,.stage.is-present .stage__hint{display:none}.stage.is-present .stage__title{max-width:40ch;font-size:clamp(1.6rem,4.4vh,3.4rem)}.stage.is-present .wheel{width:min(92vw,100svh - 20.8vh)}.stage.is-present .present-exit{background:color-mix(in srgb, var(--surface) 80%, transparent);min-height:44px;color:var(--ink);opacity:.5;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:620;transition:opacity .2s;display:inline-flex;position:absolute;top:16px;right:16px}.stage.is-present .present-exit:hover{opacity:1}.stage.is-present .present-exit:focus-visible{opacity:1}html.is-presenting{overflow:hidden}.stage:-webkit-full-screen{background:var(--stage)}.stage:fullscreen{background:var(--stage)}.embed-dialog{border-radius:var(--radius-l);background:var(--surface);width:min(92vw,620px);max-width:none;color:var(--ink);box-shadow:var(--shadow-2);border:0;padding:26px 24px 24px}.embed-dialog::backdrop{background:#0a08198c}.embed-dialog__title{letter-spacing:-.02em;margin:0 44px 8px 0;font-size:1.45rem;font-weight:760;line-height:1.2}.embed-dialog__text{color:var(--ink-2);margin:0 0 16px;line-height:1.5}.embed-dialog__code{border:1.5px solid var(--line);border-radius:var(--radius-m);background:var(--field);width:100%;color:var(--ink);resize:vertical;word-break:break-all;margin-top:6px;padding:12px 14px;font:500 .82rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:block}.embed-dialog__actions{justify-content:flex-end;margin-top:16px;display:flex}.embed-dialog__close{position:absolute;top:18px;right:14px}@media (max-width:599px){.embed-dialog{padding:22px 18px 18px}.embed-dialog__actions .btn{justify-content:center;width:100%}}.crumbs{color:var(--ink-3);margin:0 0 8px;font-size:.95rem}.crumbs a{color:var(--ink-2)}.own-wheel{margin-top:20px}.own-wheel .btn{border-radius:var(--radius-m);white-space:normal;text-align:left;max-width:100%;padding:10px 18px}@media (max-width:599px){.stage__embed{display:none}}.tabs{min-width:0}.panel__close{flex:none}@media (max-width:420px){.tabs [role=tab]{gap:4px;padding:0 6px;font-size:.9rem}}.result--wheel{overscroll-behavior:contain;max-height:calc(100dvh - 24px);margin:0;position:fixed;top:auto;bottom:auto;left:auto;right:auto;overflow:auto}.result--wheel::backdrop{background:#0a08191f}.result--wheel.is-beside{max-width:calc(100vw - 32px)}.result--wheel.is-beside[open]{animation:result-beside .42s var(--ease-out)}@keyframes result-beside{0%{opacity:0;transform:translate(-18px)}}.result--wheel.is-sheet{border-radius:var(--radius-l) var(--radius-l) 0 0;width:min(100%,600px);padding-bottom:env(safe-area-inset-bottom);margin:0 auto;bottom:0;left:0;right:0}.result--wheel.is-sheet[open]{animation:result-sheet .42s var(--ease-out)}@keyframes result-sheet{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.result--wheel[open],.result--wheel.is-beside[open],.result--wheel.is-sheet[open]{animation:none}}.result--wheel:before{height:12px}.result--wheel .result__kicker{margin:24px 56px 4px}.result--wheel .result__kicker:empty{display:none}.result--wheel .result__name{margin:0 20px;font-size:clamp(3rem,14vw,4.4rem)}.result--wheel .result__name.is-long{font-size:clamp(1.9rem,7.5vw,2.6rem)}.result--wheel .result__kicker:empty+.result__name{margin-top:30px}.result--wheel .result__close{top:16px}.result__list{counter-reset:pick;text-align:left;gap:4px;max-height:40vh;margin:6px 20px 0;padding:0;list-style:none;display:grid;overflow:auto}.result__list li{counter-increment:pick;border-radius:var(--radius-s);background:var(--surface-2);letter-spacing:-.02em;overflow-wrap:anywhere;align-items:baseline;gap:12px;padding:6px 12px;font-size:1.35rem;font-weight:740;line-height:1.2;display:flex}.result__list li:before{content:counter(pick);min-width:1.4em;color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;font-size:1rem;font-weight:700}.result--wheel .result__actions{padding:22px 20px 0}.result--wheel .result__actions .btn{width:100%}.result__more{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;padding:10px 20px 20px;display:grid}.result__small{border-radius:var(--radius-m);background:var(--surface-2);min-height:60px;color:var(--ink);white-space:normal;text-align:center;align-content:center;justify-items:center;gap:2px;padding:6px 4px;font-size:.9rem;font-weight:640;line-height:1.15;display:grid}.result__small:hover{background:var(--line)}.result__small .icon{width:20px;height:20px}.wheel__glow{pointer-events:none;width:100%;height:100%;animation:.3s ease-out glow-in;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.wheel__glow-dim{fill:#0a081980}.wheel__glow-edge{fill:none;stroke:#fff;stroke-width:12px;stroke-linejoin:round;filter:drop-shadow(0 0 10px #ffffffb3);animation:1.1s ease-in-out infinite alternate glow-pulse}@keyframes glow-in{0%{opacity:0}}@keyframes glow-pulse{to{stroke-width:6px;stroke-opacity:.55}}@media (prefers-reduced-motion:reduce){.wheel__glow,.wheel__glow-edge{animation:none}}.setting--inline{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px;margin-top:4px}.setting--inline .hint{grid-column:1/-1}.opt-select,.opt-input{border:1.5px solid var(--line);border-radius:var(--radius-s);background:var(--field);min-height:44px;padding:0 12px;font-weight:620}.opt-select{font-variant-numeric:tabular-nums;min-width:5em}.opt-input{width:100%;caret-color:var(--accent)}.opt-select:hover,.opt-input:hover{border-color:var(--line-strong)}.opt-select:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 35%, transparent);outline:none}.opt-input:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 35%, transparent);outline:none}.setting.more{border-top:1px solid var(--line);padding:4px 0 6px;display:block}.setting.more summary{letter-spacing:-.01em;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;font-size:1rem;font-weight:720;list-style:none;display:flex}.setting.more summary::-webkit-details-marker{display:none}.setting.more summary:after{content:"";width:9px;height:9px;transition:transform .2s var(--ease-out);border-bottom:2px solid;border-right:2px solid;flex:none;margin-right:6px;transform:translateY(-3px)rotate(45deg)}.setting.more[open] summary:after{transform:translateY(2px)rotate(-135deg)}.setting.more summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--radius-s)}.setting.more>:not(summary){margin:0 0 10px}.own-colors{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;padding:0;list-style:none;display:grid}.own-color{border-radius:var(--radius-s);background:var(--surface-2);cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:4px 10px 4px 4px;font-size:.95rem;font-weight:600;display:flex}.own-color span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.own-color.is-own{box-shadow:inset 0 0 0 2px var(--ink)}.own-color input{cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;width:36px;height:36px;padding:0}.own-color input::-webkit-color-swatch-wrapper{padding:0}.own-color input::-webkit-color-swatch{border:2px solid var(--surface);border-radius:8px}.own-color input::-moz-color-swatch{border:2px solid var(--surface);border-radius:8px}.own-color:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.overlay-actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}
