@font-face{font-family:Sora;src:url(/fonts/sora-600-latin.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/sora-700-latin.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/sora-800-latin.woff2) format("woff2");font-style:normal;font-weight:800;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/figtree-400-latin.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/figtree-500-latin.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}:root{--blue-50: oklch(96% .02 240);--blue-100: oklch(90% .04 240);--blue-200: oklch(82% .08 240);--blue-300: oklch(70% .12 240);--blue-400: oklch(60% .16 240);--blue-500: oklch(52% .18 240);--blue-600: oklch(44% .16 240);--blue-700: oklch(36% .14 240);--blue-800: oklch(28% .1 240);--blue-900: oklch(20% .06 240);--orange-50: oklch(96% .03 65);--orange-100: oklch(90% .06 60);--orange-200: oklch(82% .11 55);--orange-300: oklch(74% .15 50);--orange-400: oklch(68% .18 45);--orange-500: oklch(62% .2 40);--orange-600: oklch(54% .18 38);--orange-700: oklch(44% .14 38);--green-50: oklch(96% .03 155);--green-200: oklch(82% .1 155);--green-500: oklch(52% .16 155);--neutral-50: oklch(97% .005 240);--neutral-100: oklch(94% .008 240);--neutral-200: oklch(89% .01 240);--neutral-300: oklch(82% .012 240);--neutral-400: oklch(65% .01 240);--neutral-500: oklch(50% .01 240);--neutral-600: oklch(38% .01 240);--neutral-700: oklch(28% .012 240);--neutral-800: oklch(20% .015 240);--neutral-900: oklch(13% .015 240);--color-bg: oklch(97% .008 60);--color-surface: oklch(99% .003 60);--color-text: var(--neutral-800);--color-text-secondary: var(--neutral-600);--color-text-muted: var(--neutral-400);--color-text-placeholder: var(--neutral-400);--color-border: var(--neutral-200);--color-primary: var(--blue-500);--color-primary-hover: var(--blue-600);--color-accent: var(--orange-400);--color-accent-hover: var(--orange-500);--color-accent-press: var(--orange-600);--color-on-accent: var(--neutral-800);--color-danger: var(--orange-700);--color-danger-hover: var(--orange-600);--color-danger-soft: oklch(from var(--orange-400) l c h / .1);--color-link-inverse: var(--blue-300);--color-link-inverse-hover: var(--blue-200);--color-success: var(--green-500);--color-success-border: var(--green-200);--color-success-bg: var(--green-50);--color-surface-inverse: var(--neutral-800);--color-text-inverse: var(--neutral-100);--color-surface-hover: var(--neutral-100);--color-overlay: oklch(13% .015 240 / .55);--color-shadow: oklch(20% .02 240 / .18);--color-shadow-accent: oklch(62% .2 40 / .3);--wheel-center-fill: oklch(97% .008 240);--wheel-center-stroke: oklch(82% .012 240);--wheel-ring-stroke: oklch(89% .01 240);--wheel-empty-fill: oklch(94% .008 240);--wheel-empty-stroke: oklch(82% .012 240);--wheel-empty-text: oklch(55% .015 240);--wheel-pointer: var(--color-accent);--wheel-seg-1: oklch(45% .14 242);--wheel-seg-2: oklch(67% .15 52);--wheel-seg-3: oklch(54% .12 232);--wheel-seg-4: oklch(61% .14 46);--wheel-seg-5: oklch(39% .11 248);--wheel-seg-6: oklch(73% .12 58);--wheel-seg-7: oklch(50% .1 220);--wheel-seg-8: oklch(57% .15 42);--wheel-seg-9: oklch(63% .09 235);--wheel-seg-10: oklch(78% .1 60);--wheel-seg-11: oklch(47% .13 238);--wheel-seg-12: oklch(69% .12 50);--wheel-seg-text: oklch(97% .005 60);--wheel-seg-text-dark: oklch(25% .02 60);--wheel-seg-border: oklch(98% .005 80 / .15);--font-display: "Sora", system-ui, sans-serif;--font-body: "Figtree", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-2xl: 2.5rem;--lh-heading: 1.15;--lh-body: 1.55;--lh-tight: 1.25;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--page-padding-x: clamp(1rem, 3vw, 2.5rem);--section-gap: clamp(1.5rem, 4vw, 3rem);--panel-gap: clamp(1rem, 2.5vw, 2rem);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--duration-fast: .12s;--duration-normal: .25s;--duration-slow: .4s;color-scheme:light}@media(prefers-color-scheme:dark){:root{--color-bg: oklch(13% .008 60);--color-surface: oklch(20% .01 60);--color-text: var(--neutral-100);--color-text-secondary: var(--neutral-400);--color-text-muted: var(--neutral-500);--color-text-placeholder: var(--neutral-500);--color-border: var(--neutral-700);--color-primary: var(--blue-400);--color-primary-hover: var(--blue-300);--color-accent: var(--orange-400);--color-accent-hover: var(--orange-300);--color-accent-press: var(--orange-500);--color-danger: var(--orange-300);--color-danger-hover: var(--orange-200);--color-danger-soft: oklch(from var(--orange-300) l c h / .14);--color-link-inverse: var(--blue-300);--color-link-inverse-hover: var(--blue-200);--color-success-bg: oklch(20% .04 155);--color-success-border: oklch(32% .08 155);--color-surface-inverse: var(--neutral-700);--color-text-inverse: var(--neutral-100);--color-surface-hover: var(--neutral-700);--color-overlay: oklch(10% .01 240 / .7);--color-shadow: oklch(5% .01 240 / .4);--color-shadow-accent: oklch(50% .16 40 / .25);--wheel-center-fill: oklch(20% .008 240);--wheel-center-stroke: oklch(38% .015 240);--wheel-ring-stroke: oklch(27% .012 240);--wheel-empty-fill: oklch(20% .008 240);--wheel-empty-stroke: oklch(38% .015 240);--wheel-empty-text: oklch(58% .02 240);color-scheme:dark}body{-webkit-font-smoothing:auto}.result-card{border:1px solid var(--color-border);box-shadow:0 16px 60px var(--color-shadow)}.share-toast{background:var(--neutral-700);box-shadow:0 4px 20px var(--color-shadow)}.btn-spin{box-shadow:0 2px 0 var(--color-accent-press),0 4px 12px var(--color-shadow-accent)}.btn-spin:hover{box-shadow:0 3px 0 var(--color-accent-press),0 6px 20px var(--color-shadow-accent)}.btn-spin:active{box-shadow:0 0 0 var(--color-accent-press),0 1px 4px var(--color-shadow-accent)}::selection{background:var(--blue-700);color:var(--blue-100)}.entry-item{border-color:var(--neutral-700)}.entries-panel{background:color-mix(in oklch,var(--color-accent) 1%,var(--color-surface))}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:var(--lh-body);min-height:100dvh}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit;border:none;background:none}ul{list-style:none}::selection{background:var(--blue-200);color:var(--blue-800)}:focus-visible{outline:3px solid var(--blue-500);outline-offset:3px}@media(forced-colors:active){:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.entry-input:focus-visible{outline:2px solid var(--blue-400);outline-offset:-1px;border-color:var(--blue-400)}.btn-spin:focus-visible{outline-offset:6px;outline-color:var(--blue-400)}.btn-spin-again:focus-visible,.btn-result-share:focus-visible{outline-offset:4px}.app{display:flex;flex-direction:column;min-height:100dvh}.panel-logo{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5)}.panel-intro{margin-bottom:var(--space-5);max-width:30ch;font-size:.975rem;line-height:1.6;color:var(--color-text-secondary)}.panel-intro-lead{display:block;margin-bottom:.2rem;color:var(--color-text);font-weight:600}.brand-mark-primary{fill:var(--color-primary)}.brand-mark-accent{fill:var(--color-accent)}.brand-mark-center{fill:var(--color-surface)}.logo{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;letter-spacing:-.03em;line-height:var(--lh-heading);color:var(--color-text);-webkit-user-select:none;user-select:none}.logo-accent{color:var(--color-accent)}.main-layout{flex:1;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:var(--section-gap);padding:var(--space-8) var(--page-padding-x) var(--space-12);max-width:1520px;margin:0 auto;width:100%;align-items:start}.entries-panel{position:sticky;top:var(--space-4);display:flex;flex-direction:column;padding:var(--space-5);background:color-mix(in oklch,var(--color-accent) 1%,var(--color-surface));border-radius:var(--radius-lg);border:1.5px solid var(--color-border);contain:layout style}.entry-input-row{margin-bottom:var(--space-1)}.entry-input-label{display:inline-block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:600;line-height:var(--lh-tight);color:var(--color-text)}.entry-hint,.entry-error{margin-bottom:var(--space-5)}.entries-list{margin-top:0}.entries-header{display:flex;align-items:center;justify-content:space-between;min-width:0;margin-bottom:var(--space-2)}.entries-title{min-width:0;flex-shrink:1}.entries-actions{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.entries-panel.has-entries .entries-actions{opacity:1;transform:translateY(0);pointer-events:auto}.share-status{min-height:1.25rem;margin-bottom:var(--space-4);font-size:var(--text-xs);line-height:1.4;color:var(--color-text-secondary);text-align:right}.share-status[hidden]{display:none}.entries-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;line-height:var(--lh-heading)}.btn-text{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-out-quart);min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-2)}.btn-text:hover{color:var(--color-danger-hover)}.btn-text:active{color:var(--color-danger)}.entry-input-row{display:flex;gap:var(--space-2);min-width:0}.entry-input{flex:1;min-width:0;padding:var(--space-3) var(--space-4);font-size:var(--text-base);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-out-quart)}.entry-input::placeholder{color:var(--color-text-placeholder)}.entry-input:focus{border-color:var(--blue-400)}.btn-add{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-primary);color:var(--neutral-50);transition:background var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.btn-add:hover{background:var(--color-primary-hover)}.btn-add:active{transform:scale(.94)}.btn-add:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.entry-hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.entries-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:min(50vh,400px);min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.entry-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);animation:entry-in .3s var(--ease-out-expo) both;transition:background var(--duration-fast) var(--ease-out-quart)}.entry-item:hover{background:color-mix(in oklch,var(--entry-color, transparent) 6%,transparent)}.entry-color-dot{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0;background:var(--entry-color)}.entry-label{flex:1;min-width:0;font-size:var(--text-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-remove{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);color:var(--color-text-muted);flex-shrink:0;transition:color var(--duration-fast) var(--ease-out-quart),background var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.entry-remove:hover{color:var(--color-danger-hover);background:var(--color-danger-soft)}.entry-remove:active{transform:scale(.9);color:var(--color-danger)}.btn-share-header{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:0 var(--space-3);gap:var(--space-2);transition:color var(--duration-fast) var(--ease-out-quart),background var(--duration-fast) var(--ease-out-quart)}.btn-share-header[hidden],.btn-text[hidden]{display:none}.btn-share-header:hover:not(:disabled){color:var(--color-primary);background:oklch(from var(--color-primary) l c h / .08)}.btn-share-header:active:not(:disabled){transform:scale(.92)}.btn-share-header:disabled{opacity:.42;cursor:not-allowed}.btn-share-header.copied{color:var(--color-success)}.btn-mute{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:0 var(--space-3);gap:var(--space-2);transition:color var(--duration-fast) var(--ease-out-quart),background var(--duration-fast) var(--ease-out-quart);flex-shrink:0}.btn-mute .mute-label{display:none}.btn-mute:hover{color:var(--color-primary);background:oklch(from var(--color-primary) l c h / .08)}.btn-mute:active{transform:scale(.92)}.btn-mute .icon-sound-off,.btn-mute.muted .icon-sound-on{display:none}.btn-mute.muted .icon-sound-off{display:block}.btn-mute.muted{color:var(--color-text-muted);opacity:.45}.check-icon{display:none}.share-label,.mute-label{font-size:var(--text-xs);font-weight:600;line-height:1}.copied .share-icon{display:none}.copied .check-icon{display:inline}.share-fallback{margin-top:var(--space-2);animation:entry-in .2s var(--ease-out-expo) both;flex-basis:100%;min-width:0}.share-fallback-input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-family:var(--font-body);background:var(--color-surface);border:1.5px solid var(--blue-200);border-radius:var(--radius-sm);color:var(--color-text)}.share-fallback-input:focus-visible{outline:2px solid var(--blue-400);outline-offset:-1px;border-color:var(--blue-400)}.wheel-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding-top:var(--space-4)}.wheel-container{position:relative;width:clamp(320px,min(800px,66vw),800px);height:clamp(320px,min(800px,66vw),800px);border-radius:var(--radius-full);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.wheel-container:before{content:"";position:absolute;inset:10px;border-radius:inherit;background:radial-gradient(circle at 50% 42%,color-mix(in oklch,var(--color-surface) 76%,transparent),transparent 72%);opacity:0;transform:scale(.985);transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart);pointer-events:none}.wheel-container:after{content:"";position:absolute;inset:-10px;border:3px solid var(--color-accent);border-radius:inherit;opacity:0;transform:scale(.985);transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart);pointer-events:none}@media(hover:hover){.wheel-container:hover:before{opacity:1;transform:scale(1)}}.wheel-container.spinning{isolation:isolate}.wheel-container.dragging{cursor:grabbing}.wheel-container.dragging:before{opacity:1;transform:scale(1)}.wheel-container.spinning:after{opacity:1;transform:scale(1)}#wheel-canvas{width:100%;height:100%;display:block;border-radius:inherit;cursor:inherit}.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:30px solid var(--wheel-pointer);filter:drop-shadow(0 2px 4px var(--color-shadow));z-index:2;transition:transform 60ms var(--ease-out-quart)}.wheel-container.spinning .wheel-pointer{will-change:transform}.wheel-container.dragging .wheel-pointer{filter:drop-shadow(0 3px 8px var(--color-shadow))}.btn-spin{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;letter-spacing:.08em;line-height:var(--lh-heading);padding:var(--space-4) var(--space-16);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-on-accent);box-shadow:0 2px 0 var(--color-accent-press),0 4px 12px var(--color-shadow-accent);transition:transform var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-fast) var(--ease-out-quart),background var(--duration-fast) var(--ease-out-quart),opacity var(--duration-normal) var(--ease-out-quart)}.btn-spin:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 3px 0 var(--color-accent-press),0 6px 20px var(--color-shadow-accent)}.btn-spin:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 var(--color-accent-press),0 1px 4px var(--color-shadow-accent)}.btn-spin:disabled{opacity:.6;cursor:not-allowed}.result-overlay{position:fixed;inset:0;width:100%;height:100%;border:none;padding:0;margin:0;max-width:none;max-height:none;display:flex;align-items:end;justify-content:center;padding:var(--space-6);background:transparent;animation:overlay-in .3s var(--ease-out-expo) both}.result-overlay:not([open]){display:none}.result-overlay::backdrop{background:color-mix(in oklch,var(--color-overlay) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.result-overlay:focus-visible{outline:none}.result-card{text-align:left;padding:var(--space-6) var(--space-8);background:var(--color-surface);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);border-top-color:var(--color-accent);box-shadow:0 24px 80px var(--color-shadow);animation:card-in .4s var(--ease-out-expo) both;animation-delay:80ms;max-width:min(42rem,calc(100vw - (var(--space-6) * 2)));width:100%;position:relative;overflow:hidden;pointer-events:auto}.result-label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:var(--lh-tight);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.result-text{font-family:var(--font-display);font-size:clamp(1.75rem,2.8vw,2.5rem);font-weight:800;letter-spacing:-.03em;color:var(--color-text);line-height:var(--lh-heading);margin-bottom:var(--space-5);word-break:break-word;overflow-wrap:break-word;max-width:100%}.result-actions{display:flex;gap:var(--space-3);justify-content:flex-start;align-items:center;flex-wrap:wrap}.btn-spin-again{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;line-height:var(--lh-tight);padding:var(--space-3) var(--space-10);min-height:44px;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-on-accent);transition:background var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.btn-spin-again:hover{background:var(--color-accent-hover);transform:scale(1.03)}.btn-spin-again:active{transform:scale(.97)}.btn-result-close{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-out-quart),background var(--duration-fast) var(--ease-out-quart)}.btn-result-close:hover{color:var(--color-text);background:var(--color-surface-hover)}.btn-result-close:active{transform:scale(.92)}.btn-result-share{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius-full);color:var(--color-text-secondary);border:1.5px solid var(--color-border);gap:var(--space-2);padding:0 var(--space-4);transition:color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.btn-result-share:hover{color:var(--color-primary);border-color:var(--blue-300)}.btn-result-share:active{transform:scale(.97)}.btn-result-share:disabled{opacity:.35;cursor:not-allowed}.btn-result-share.copied{color:var(--color-success);border-color:var(--color-success-border)}.spin-status{max-width:34ch;font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;text-wrap:balance}.spin-status[hidden]{display:none}@media(prefers-reduced-motion:reduce){.wheel-container:before,.wheel-container:after,.wheel-pointer{transition:none}}.share-toast{position:fixed;bottom:var(--space-8);left:50%;transform:translate(-50%) translateY(20px);padding:var(--space-3) var(--space-6);background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);box-shadow:0 8px 30px var(--color-shadow);opacity:0;pointer-events:none;z-index:200;transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart)}.share-toast.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.entry-error{font-size:var(--text-xs);color:var(--color-danger);animation:entry-in .2s var(--ease-out-expo) both}.entry-input[aria-invalid=true]{border-color:var(--color-danger-hover)}.entry-error[hidden]{display:none}.undo-toast{position:fixed;bottom:var(--space-8);left:50%;transform:translate(-50%) translateY(20px);padding:var(--space-3) var(--space-4);background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);box-shadow:0 8px 30px var(--color-shadow);opacity:0;pointer-events:none;z-index:200;transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:center;max-width:calc(100vw - var(--space-4));white-space:normal}.undo-toast.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.undo-toast[hidden]{display:none}.btn-undo{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;line-height:var(--lh-tight);color:var(--color-link-inverse);background:none;border:none;cursor:pointer;padding:var(--space-2) var(--space-3);min-height:44px;transition:color var(--duration-fast) var(--ease-out-quart)}.btn-undo:hover{color:var(--color-link-inverse-hover)}.btn-undo:active{transform:scale(.95)}.restore-banner{position:fixed;top:var(--space-5);left:50%;transform:translate(-50%) translateY(-20px);padding:var(--space-3) var(--space-5);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);border:1.5px solid var(--color-border);box-shadow:0 8px 30px var(--color-shadow);opacity:0;pointer-events:none;z-index:150;display:flex;align-items:center;gap:var(--space-3);transition:opacity var(--duration-normal) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-quart);max-width:calc(100vw - var(--space-4));flex-wrap:wrap;justify-content:center}.restore-banner.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.restore-banner[hidden]{display:none}.btn-restore{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;line-height:var(--lh-tight);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:var(--space-2) var(--space-3);min-height:44px;transition:color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.btn-restore:hover{color:var(--color-primary-hover)}.btn-restore:active{transform:scale(.95)}.btn-dismiss-restore:hover{color:var(--color-text);background:var(--color-surface-hover)}.btn-dismiss-restore:active{background:var(--neutral-200)}.btn-dismiss-restore{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:var(--space-2) var(--space-3);min-height:44px;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out-quart),background var(--duration-fast) var(--ease-out-quart)}.btn-dismiss-restore:hover{color:var(--color-text);background:var(--neutral-100)}@media(prefers-color-scheme:dark){.restore-banner{border-color:var(--neutral-700)}.btn-dismiss-restore:hover{background:var(--color-surface-hover)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:9999;padding:var(--space-2) var(--space-4);background:var(--color-surface);color:var(--color-primary);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;border-radius:var(--radius-md);border:2px solid var(--color-primary);text-decoration:none;translate:0 -200%;transition:translate var(--duration-fast) var(--ease-out-quart)}.skip-link:focus{translate:0 0}@keyframes entry-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes card-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes input-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.entry-input-row .entry-input.shake{animation:input-shake .35s var(--ease-out-quart);border-color:var(--orange-400)}.entries-limit{font-size:var(--text-xs);color:var(--color-text-secondary);text-align:right;padding-right:var(--space-1);opacity:0;transition:opacity var(--duration-normal) var(--ease-out-quart)}.entries-limit.visible{opacity:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(min-width:1400px){.main-layout{grid-template-columns:minmax(300px,400px) minmax(0,1fr);padding:var(--space-10) var(--page-padding-x) var(--space-16)}.entries-panel{padding:var(--space-8)}.entries-list{max-height:min(60vh,560px)}.btn-spin{font-size:var(--text-xl);padding:var(--space-5) var(--space-16)}.wheel-area{padding-top:var(--space-10);gap:var(--space-6)}}@media(max-width:1024px){.main-layout{grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:var(--space-6);padding:0 var(--space-6) var(--space-10);max-width:1024px}.wheel-container{width:clamp(280px,min(580px,60vw),580px);height:clamp(280px,min(580px,60vw),580px)}}@media(max-width:840px){.main-layout{grid-template-columns:1fr;padding:0 var(--space-5) calc(var(--space-16) + var(--space-12) + env(safe-area-inset-bottom));gap:var(--space-6)}.entries-panel{position:static;order:-1;padding:var(--space-4);gap:var(--space-3)}.panel-logo{margin-bottom:var(--space-2)}.panel-intro{margin-bottom:var(--space-3);max-width:none;font-size:var(--text-sm)}.share-status{margin-bottom:var(--space-3);text-align:left}.entries-header{order:5;margin-bottom:var(--space-2)}.entry-input-label{order:1;margin-bottom:var(--space-1)}.entry-input-row{order:2}.entry-hint{order:3;margin-bottom:0}.entry-error{order:4;margin-bottom:0}.entries-list{order:6;max-height:clamp(160px,30vh,260px)}.wheel-container{width:clamp(240px,min(400px,75vw),400px);height:clamp(240px,min(400px,75vw),400px)}.wheel-area{gap:var(--space-3);padding-top:0}.btn-spin{position:fixed;left:50%;bottom:calc(var(--space-4) + env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100vw - (var(--space-5) * 2)),32rem);padding:var(--space-4) var(--space-6);z-index:120}.btn-spin:hover:not(:disabled){transform:translate(-50%)}.btn-spin:active:not(:disabled){transform:translate(-50%) translateY(2px)}.spin-status{max-width:none;padding-inline:var(--space-3)}.share-toast,.undo-toast{bottom:calc(var(--space-16) + var(--space-8) + env(safe-area-inset-bottom))}.restore-banner{top:calc(var(--space-3) + env(safe-area-inset-top))}.result-overlay{align-items:end;padding:var(--space-3)}.result-card{width:min(34rem,100%);max-width:none;padding:var(--space-6) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));border-radius:calc(var(--radius-lg) + 4px) calc(var(--radius-lg) + 4px) var(--radius-lg) var(--radius-lg)}.btn-mute .mute-label{display:inline}}@media(max-width:480px){.main-layout{gap:var(--space-5);padding-bottom:calc(var(--space-16) + var(--space-12) + env(safe-area-inset-bottom))}.btn-spin{width:calc(100vw - (var(--space-4) * 2));padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.result-card{padding:var(--space-5) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom))}.result-text{font-size:var(--text-xl)}.entries-actions{width:100%;justify-content:space-between;gap:var(--space-2)}.btn-share-header,.btn-mute,.btn-text{flex:1 1 0;min-width:0}.btn-share-header,.btn-mute{justify-content:center}.share-label,.mute-label{font-size:var(--text-sm)}.wheel-container{width:clamp(220px,min(340px,80vw),340px);height:clamp(220px,min(340px,80vw),340px)}}@media(max-width:360px){.main-layout{padding:0 var(--space-3) calc(var(--space-16) + var(--space-10) + env(safe-area-inset-bottom))}.logo{font-size:var(--text-base)}.btn-spin{padding:var(--space-3) var(--space-8);font-size:var(--text-sm)}.result-card{padding:var(--space-6) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));width:95vw}.result-actions{flex-direction:column;align-items:stretch}.result-actions button{width:100%}.wheel-container{width:clamp(200px,min(280px,85vw),280px);height:clamp(200px,min(280px,85vw),280px)}}@media(max-height:500px)and (orientation:landscape){.main-layout{grid-template-columns:minmax(240px,280px) 1fr;grid-template-rows:1fr;padding:var(--space-2) var(--space-5);gap:var(--space-4);align-items:center}.wheel-area{order:0}.entries-panel{position:static;max-height:80vh;overflow-y:auto}.entries-list{max-height:50vh}.wheel-container{width:clamp(180px,min(320px,45vh),320px);height:clamp(180px,min(320px,45vh),320px)}.btn-spin{position:static;left:auto;bottom:auto;width:auto;transform:none;padding:var(--space-2) var(--space-10);font-size:var(--text-base)}.btn-spin:hover:not(:disabled){transform:translateY(-1px)}.btn-spin:active:not(:disabled){transform:translateY(2px)}.share-toast,.undo-toast{bottom:var(--space-4)}.result-overlay{align-items:center;padding:0}.entry-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
