.map-city-select{min-width:72px;max-width:130px;height:32px;padding:3px 22px 3px 8px;border:1px solid #d7ddd9;border-radius:5px;background:#fff;color:#27382d;font-size:13px}.city-add{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin-bottom:20px}.city-add label{display:grid;gap:8px}.city-add .city-check{display:flex;align-items:center;padding-bottom:12px}.city-panel input[type=checkbox]{width:18px;height:18px;accent-color:#147b59}.city-add button{gap:8px}.city-add button,.city-row{display:flex;align-items:center}.city-row{justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e5e7eb}.city-row small{display:block;color:#69716f;margin-top:4px}.city-row label{display:flex;align-items:center;gap:8px;white-space:nowrap}.city-panel button:not(.admin-primary){display:grid;place-items:center;width:36px;height:36px;background:#f5f7f6;border:1px solid #e1e5e3;border-radius:6px}.map-home-entry{border-block:1px solid rgba(32,32,29,.12);padding:15px 0;margin:12px 0 16px}.draw-notice{margin:0 0 12px;color:#973924;font-size:13px;line-height:1.5}.map-home-entry a{display:flex;align-items:center;gap:12px;color:#237650;text-decoration:none}.map-home-entry a>span{flex:1 1;min-width:0}.map-home-entry strong{display:block;font-size:16px;line-height:1.4;letter-spacing:0}.map-home-entry small{display:block;margin-top:2px;color:#778474;font-size:11px}:root{--ink:#20201d;--muted:#746f66;--paper:#fffaf0;--cream:#f5ecd9;--line:rgba(32,32,29,.12);--red:#ef5b3f;--red-dark:#c93c27;--mint:#9bc6ae;--mint-dark:#446d57}*{box-sizing:border-box}html{background:#e9e1d3}body{min-width:320px;margin:0;color:var(--ink);background:radial-gradient(circle at 18% 12%,rgba(239,91,63,.14),transparent 28rem),radial-gradient(circle at 82% 75%,rgba(81,143,110,.14),transparent 30rem),#e9e1d3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible{outline:3px solid rgba(239,91,63,.38);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:24px;line-height:1;letter-spacing:-.04em}h1,h2{margin-bottom:0}h2{font-size:18px;letter-spacing:-.025em}h3{margin:0 0 10px;font-size:14px}.app-shell{min-height:100dvh;padding:24px 16px 56px}.phone-stage{width:min(100%,500px);min-height:calc(100dvh - 48px);margin:0 auto;padding:22px 20px 34px;overflow:hidden;border:1px solid rgba(45,38,28,.1);border-radius:34px;background:linear-gradient(rgba(255,250,240,.965),rgba(255,250,240,.965)),repeating-linear-gradient(0deg,transparent 0 23px,rgba(55,48,38,.035) 24px);box-shadow:0 28px 80px rgba(59,48,34,.18)}.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:22px}.brand-mark{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:14px;color:#fffaf0;background:var(--red);font-size:20px;font-weight:900;transform:rotate(-5deg);box-shadow:3px 4px 0 var(--ink)}.brand-mark.large{width:56px;height:56px;margin-bottom:22px;font-size:28px}.eyebrow{margin:0 0 3px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.ghost-icon{width:40px;height:40px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:rgba(255,255,255,.5);font-weight:900}.location-card{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 15px;border:1px solid rgba(32,32,29,.09);border-radius:20px;color:inherit;text-align:left;background:#fff;box-shadow:0 8px 24px rgba(74,59,38,.07)}.location-card small{display:block;margin-bottom:2px;color:var(--muted);font-size:11px}.location-card strong{display:block;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.location-action{color:var(--red-dark);font-size:11px;font-weight:800}.location-dot{width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--red)}.location-dot.locating{animation:pulse 1s ease-in-out infinite}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid rgba(201,60,39,.2);border-radius:12px;color:#8d2e20;background:#fff1ee;font-size:11px}.error-banner button{border:0;color:inherit;background:none;font-weight:900}.library-search{margin-top:18px;padding:14px;border:1px solid rgba(68,109,87,.13);border-radius:19px;background:rgba(255,255,255,.72);box-shadow:0 7px 22px rgba(65,82,68,.055)}.library-search-copy{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.library-search-copy strong{font-size:13px}.library-search-copy small{color:var(--muted);font-size:9px}.library-search-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid rgba(68,109,87,.18);border-radius:14px;background:#f5f8f3}.library-search-box>span{color:var(--mint-dark);font-size:23px;line-height:1;transform:rotate(-18deg)}.library-search-box input{min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font:inherit;font-size:13px}.library-search-box input::placeholder{color:#a19d94}.library-search-box button{width:28px;height:28px;border:0;border-radius:50%;color:#817b72;background:rgba(32,32,29,.06);font-size:18px;line-height:1}.library-search-results{display:grid;max-height:320px;gap:6px;overflow-y:auto;margin-top:10px;padding-right:2px;overscroll-behavior:contain}.library-search-summary{display:flex;justify-content:space-between;gap:10px;padding:1px 2px 4px;color:var(--muted);font-size:10px}.library-search-summary small{color:#a26d25;text-align:right}.library-search-result{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 11px;border:1px solid rgba(32,32,29,.08);border-radius:12px;color:inherit;background:#fff;text-align:left}.library-search-result>span{min-width:0}.library-search-result small,.library-search-result strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-search-result strong{font-size:12px}.library-search-result small{margin-top:3px;color:var(--muted);font-size:9px}.library-search-result b{flex:0 0 auto;color:var(--red-dark);font-size:10px}.library-search-results>p{margin:4px 0 0;color:var(--muted);text-align:center;font-size:11px}.library-search-more{width:100%;min-height:38px;border:1px solid #bdddd1;border-radius:11px;color:#1e745a;background:#eff8f3;font-size:11px;font-weight:750;cursor:pointer}.library-search-more:disabled{opacity:.6;cursor:default}.filter-section{margin-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading>span{color:var(--muted);font-size:12px}.text-button{border:0;color:var(--red-dark);background:none;font-size:12px;font-weight:800}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 6px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip-row.categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px 8px;overflow:visible;padding-bottom:4px}.chip-row.categories .chip{width:100%;min-width:0;padding-inline:4px}.chip{min-width:54px;flex:0 0 auto;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#5e5a52;background:rgba(255,255,255,.58);font-size:13px;font-weight:750}.chip.active{border-color:var(--ink);color:var(--paper);background:var(--ink);box-shadow:2px 3px 0 var(--red)}.scope-section .chip{min-width:0;padding:8px 10px;font-size:12px}.district-current{margin-top:8px;padding:0;border:0;color:var(--red-dark);background:transparent;font-size:11px;font-weight:750}.district-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.district-choice{min-height:44px;border:1px solid var(--line);border-radius:12px;color:#5e5a52;background:#fff;font-size:13px;font-weight:750}.district-choice.active{border-color:var(--ink);color:var(--paper);background:var(--ink);box-shadow:2px 3px 0 var(--red)}.filter-summary{display:flex;align-items:center;gap:6px;overflow-x:auto;margin-top:7px;padding:1px 0 4px;scrollbar-width:none}.filter-summary span{flex:0 0 auto;padding:4px 7px;border-radius:7px;color:var(--mint-dark);background:rgba(155,198,174,.24);font-size:10px;font-weight:800}.filter-summary button{flex:0 0 auto;border:0;color:var(--muted);background:none;font-size:10px;text-decoration:underline}.wheel-section{margin-top:28px;padding-top:22px;border-top:1px dashed rgba(32,32,29,.2)}.wheel-heading{margin-bottom:0}.wheel-heading h2{font-size:24px}.wheel-tools{display:flex;align-items:center;gap:7px}.wheel-tools>button{padding:6px 7px;border:0;color:var(--red-dark);background:transparent;font-size:11px;font-weight:850}.round-count{padding:7px 10px;border-radius:10px;color:var(--mint-dark)!important;background:rgba(155,198,174,.27);font-weight:850}.wheel-wrap{position:relative;width:min(88vw,390px);margin:24px auto 21px}.wheel-wrap.loading{opacity:.62}.pointer{position:absolute;z-index:5;top:-10px;left:50%;width:0;height:0;border-right:15px solid transparent;border-left:15px solid transparent;border-top:34px solid var(--ink);filter:drop-shadow(0 3px 0 rgba(255,255,255,.8));transform:translateX(-50%)}.wheel{position:relative;aspect-ratio:1;border:8px solid var(--ink);border-radius:50%;box-shadow:0 13px 0 var(--ink),0 23px 40px rgba(58,43,26,.24);transition:transform 3.8s cubic-bezier(.11,.63,.12,1);transform-origin:50% 50%;backface-visibility:hidden;translate:0 0;will-change:transform}.wheel.spinning{pointer-events:none}.wheel.spinning .wheel-label{opacity:.22}.wheel:after{content:"";position:absolute;z-index:1;inset:0;border-radius:inherit;background:repeating-conic-gradient(from 0deg,rgba(32,32,29,.38) 0 1deg,transparent 1deg calc(1turn / var(--segments, 8)));pointer-events:none}.wheel-label{z-index:2;width:76px;min-height:34px;border:0;color:var(--ink);background:transparent;font-size:11px;line-height:1.15;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.45);backface-visibility:hidden;transform:translate(-50%,-50%) rotate(var(--label-angle)) translateY(-108px) rotate(var(--label-counter-angle))}.wheel-hub,.wheel-label{position:absolute;top:50%;left:50%;padding:0;font-weight:900}.wheel-hub{z-index:7;display:flex;width:82px;height:82px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:6px solid var(--paper);border-radius:50%;color:var(--paper);background:var(--ink);font-size:17px;transform:translate(-50%,-50%);box-shadow:0 4px 0 rgba(32,32,29,.24)}.wheel-hub span{display:block;font:inherit;line-height:1;letter-spacing:.04em;white-space:nowrap}.wheel-hub small{margin:0;font-size:9px;font-weight:650;line-height:1;opacity:.78;white-space:nowrap}.wheel-hub:disabled{opacity:1}.wheel-wrap.is-spinning .wheel-hub{box-shadow:0 0 0 0 rgba(43,138,110,.34),0 5px 16px rgba(43,138,110,.25);animation:fixedHubGlow .7s ease-out infinite}.spin-button{display:flex;width:min(100%,340px);align-items:center;justify-content:center;gap:10px;margin:0 auto;padding:15px 20px;border:2px solid var(--ink);border-radius:18px;color:#fff;background:var(--red);box-shadow:4px 5px 0 var(--ink)}.spin-button span{font-size:18px;font-weight:900}.spin-button small{opacity:.8;font-size:11px}.primary-button:active:not(:disabled),.spin-button:active:not(:disabled){transform:translateY(2px);box-shadow:2px 2px 0 var(--ink)}.fair-note{margin:14px 0 0;color:var(--muted);text-align:center;font-size:10px;letter-spacing:.02em}.spin-hint{margin:4px 0 18px;color:#527167;text-align:center;font-size:12px;font-weight:700}.marquee-panel{position:relative;overflow:hidden;margin-top:8px;padding:14px;border:1px solid rgba(119,221,185,.25);border-radius:20px;background:radial-gradient(circle at 50% -20%,rgba(116,241,192,.2),transparent 45%),linear-gradient(145deg,#102b25,#173f34 55%,#102b25);box-shadow:0 14px 30px rgba(21,62,50,.18),inset 0 0 0 1px rgba(255,255,255,.04)}.marquee-panel:before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(134,255,211,.08) 45%,transparent 68%);transform:translateX(-110%);pointer-events:none}.marquee-panel.is-running:before{animation:marqueeSweep 1.25s linear infinite}.marquee-heading{position:relative;z-index:1;display:grid;gap:8px;margin-bottom:11px}.marquee-heading strong{color:#effff8;font-size:14px}.marquee-heading small{color:#8fb3a6;font-size:9px}.marquee-heading .marquee-actions{display:flex;align-items:center;justify-content:space-between;gap:7px}.marquee-description{display:block;padding:0 2px;line-height:1.45}.marquee-heading .marquee-actions>span{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(142,237,201,.22);border-radius:999px;color:#b8f2dc;background:rgba(73,154,126,.16);font-size:9px;font-weight:760}.marquee-panel.is-running .marquee-heading .marquee-actions>span{animation:marqueeBadgePulse .7s ease-in-out infinite alternate}.marquee-name-layer{position:fixed;z-index:40;inset:0;display:grid;place-items:center;box-sizing:border-box;width:100%;height:100dvh;padding:24px;overflow:hidden;background:rgba(32,32,29,.34);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none}.marquee-name-card{position:relative;width:min(430px,100%);height:206px;box-sizing:border-box;contain:layout size;isolation:isolate;transform:translateZ(0);will-change:transform;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 24px 30px;border:0;border-radius:34px;color:var(--ink);background:transparent;text-align:center;box-shadow:none;animation:none}.marquee-name-card:after,.marquee-name-card:before{content:"";position:absolute;z-index:-1;pointer-events:none}.marquee-name-card:before{inset:-48px;border-radius:64px;background:radial-gradient(ellipse at center,rgba(255,250,240,.72) 0,rgba(255,250,240,.54) 46%,rgba(255,250,240,.2) 72%,transparent 100%);filter:blur(18px)}.marquee-name-card:after{inset:-16px;border-radius:52px;background:radial-gradient(ellipse at center,rgba(255,250,240,.64) 0,rgba(255,250,240,.46) 52%,rgba(255,250,240,.18) 76%,transparent 100%);filter:blur(5px);-webkit-mask-image:radial-gradient(ellipse at center,#000 40%,rgba(0,0,0,.92) 56%,rgba(0,0,0,.45) 78%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 40%,rgba(0,0,0,.92) 56%,rgba(0,0,0,.45) 78%,transparent 100%)}.marquee-name-card>*{position:relative;z-index:1}.marquee-name-card .eyebrow{margin-bottom:14px;color:var(--red-dark)}.marquee-name-kicker{display:block;margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:750}.marquee-name-card strong{display:flex;height:58px;align-items:center;justify-content:center;font-size:clamp(28px,7vw,44px);line-height:1;letter-spacing:-.06em}.marquee-name-card small,.marquee-name-card strong{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marquee-name-card small{display:block;max-width:100%;margin-top:14px;color:var(--muted);font-size:12px}@keyframes marqueeNamePop{0%{opacity:0;transform:scale(.92) rotate(-1deg)}to{opacity:1;transform:scale(1) rotate(0)}}.marquee-spin-button{min-height:30px;padding:6px 10px;border:1px solid rgba(152,242,207,.4);border-radius:999px;color:#173d32;background:linear-gradient(135deg,#fff3a9,#98f2cf);box-shadow:0 5px 13px rgba(4,25,19,.24);font-size:10px;font-weight:820}.marquee-spin-button:disabled{opacity:.62}.marquee-grid{position:relative;z-index:1;display:grid;max-height:320px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;overflow-y:auto;padding:3px;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:rgba(140,209,184,.42) transparent;overflow-anchor:none;overscroll-behavior:contain}.marquee-cell{position:relative;min-width:0;min-height:34px;overflow:hidden;padding:5px 2px;border:1px solid rgba(157,207,188,.18);border-radius:10px;color:#b5cfc5;background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);font-size:9px;font-weight:680;letter-spacing:.02em;line-height:1.1;text-align:center;white-space:nowrap;transition:color .08s linear,border-color .08s linear,background .08s linear,box-shadow .08s linear,transform .08s linear}.marquee-cell:hover{color:#effff8;border-color:rgba(147,231,200,.38);background:rgba(111,197,166,.12)}.marquee-cell.is-tail-two{color:#9bcdbb;border-color:rgba(97,203,164,.3);background:rgba(72,180,141,.1);box-shadow:0 0 9px rgba(80,219,167,.08)}.marquee-cell.is-tail-one{color:#c3f4e2;border-color:rgba(105,224,180,.52);background:rgba(74,201,154,.2);box-shadow:0 0 14px rgba(80,230,172,.16)}.marquee-cell.is-active{z-index:2;border-color:#fff2a9;color:#173d32;background:linear-gradient(135deg,#fff3a9,#98f2cf 72%);box-shadow:0 0 0 2px rgba(255,243,169,.15),0 0 20px rgba(119,248,196,.58),0 8px 16px rgba(4,25,19,.35);font-weight:820}.marquee-cell.is-active:after{content:"";position:absolute;top:-60%;left:-45%;width:28%;height:220%;background:rgba(255,255,255,.56);transform:rotate(24deg);animation:marqueeCellShine .55s ease-out;pointer-events:none}.candidate-roster{margin-top:8px}.selection-results-section{margin-top:24px}.static-roster{margin-top:30px;padding-top:24px;border-top:1px solid #edf1ef}.candidate-roster-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.candidate-roster-heading div{display:grid;gap:3px}.candidate-roster-heading strong{color:#29483e;font-size:14px}.candidate-roster-heading small{color:#8a9891;font-size:10px}.candidate-roster-heading>span{flex:0 0 auto;padding:5px 8px;border-radius:10px;color:#2b765f;background:#edf7f3;font-size:10px;font-weight:750}.candidate-list{position:relative;max-height:390px;overflow-y:auto;padding:6px;border:1px solid #e5ece8;border-radius:16px;background:#f8faf9;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#c9d9d2 transparent}.candidate-list.is-spinning{scroll-behavior:auto}.candidate-row{display:grid;width:100%;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:54px;padding:8px 9px;border:0;border-radius:11px;color:#30483f;background:transparent;text-align:left;transition:color .1s ease,background .1s ease,transform .1s ease}.candidate-row+.candidate-row{border-top:1px solid #edf1ef}.candidate-row:hover{background:#f0f6f3}.candidate-number{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#718078;background:#eaf0ed;font-size:10px;font-weight:760;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.candidate-row-main{min-width:0}.candidate-row-main strong{display:block;overflow:hidden;font-size:12px;font-weight:720;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.candidate-row-main small{display:block;margin-top:3px;color:#8a9891;font-size:9px}.candidate-status{color:#9aa59f;font-size:9px;font-weight:700}.candidate-row.is-highlighted{color:#fff;background:#2b8a6e;box-shadow:0 6px 16px rgba(43,138,110,.2);transform:scale(.995)}.candidate-row.is-highlighted .candidate-number{color:#236e58;background:#fff}.candidate-row.is-highlighted .candidate-row-main small,.candidate-row.is-highlighted .candidate-status{color:rgba(255,255,255,.76)}.candidate-empty{margin:0;padding:30px 12px;color:#8a9891;text-align:center;font-size:11px}@keyframes marqueeSweep{to{transform:translateX(110%)}}@keyframes marqueeBadgePulse{to{color:#fff5b7;border-color:rgba(255,239,146,.58);box-shadow:0 0 13px rgba(124,245,198,.25)}}@keyframes marqueeCellShine{0%{transform:translateX(-160%) rotate(24deg)}to{transform:translateX(620%) rotate(24deg)}}@keyframes fixedHubGlow{70%{box-shadow:0 0 0 12px rgba(43,138,110,0),0 5px 16px rgba(43,138,110,.25)}to{box-shadow:0 0 0 0 rgba(43,138,110,0),0 5px 16px rgba(43,138,110,.25)}}.dialog-layer{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:18px;background:rgba(26,25,22,.53);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .18s ease-out}.dialog-card,.intro-card{position:relative;width:min(100%,450px);max-height:calc(100dvh - 36px);overflow-y:auto;padding:28px;border:2px solid var(--ink);border-radius:28px;background:var(--paper);box-shadow:7px 9px 0 var(--ink);animation:popIn .24s ease-out}.dialog-card h2,.intro-card h2{max-width:350px;font-size:28px;line-height:1.15}.dialog-copy{margin:12px 0 20px;color:var(--muted);line-height:1.65}.intro-card{padding-top:22px}.intro-illustration{display:flex;height:76px;align-items:center;justify-content:center;gap:7px;margin:-4px 0 22px}.intro-illustration span{display:grid;width:58px;height:58px;place-items:center;border:2px solid var(--ink);border-radius:50%;color:var(--ink);background:#f6d875;font-size:22px;font-weight:950;box-shadow:3px 4px 0 var(--ink)}.intro-illustration span:nth-child(2){background:var(--mint);transform:translateY(8px) rotate(5deg)}.intro-illustration span:nth-child(3){background:#ef8069;transform:rotate(-6deg)}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:17px}.scope-choice{display:flex;min-height:60px;flex-direction:column;align-items:flex-start;justify-content:center;padding:10px 13px;border:1px solid var(--line);color:var(--ink);background:#fff;text-align:left}.scope-choice:last-child{grid-column:span 2}.scope-choice strong{font-size:15px}.scope-choice small{margin-top:2px;color:var(--muted);font-size:10px}.scope-choice.active{border:2px solid var(--ink);background:rgba(155,198,174,.27);box-shadow:2px 3px 0 var(--ink)}.primary-button,.secondary-button{display:flex;width:100%;align-items:center;justify-content:center;padding:11px 14px;border-radius:14px;font-size:13px;font-weight:900}.primary-button{border:2px solid var(--ink);background:var(--red);box-shadow:3px 4px 0 var(--ink)}.secondary-button{border:1px solid var(--line);color:var(--ink);background:#fff}.intro-card>.secondary-button{margin-top:9px;border:0;color:var(--muted);background:transparent}.inline-error{margin:0 0 12px;padding:9px 10px;border-radius:10px;color:#8d2e20;background:#fff0ec;font-size:11px;line-height:1.5}.bottom-layer{place-items:end center;padding:18px 18px 0}.bottom-sheet{position:relative;width:min(100%,520px);overflow-y:auto;padding:12px 24px 26px;border:2px solid var(--ink);border-radius:28px 28px 0 0;background:var(--paper);box-shadow:0 -10px 50px rgba(20,18,15,.18);animation:sheetIn .25s ease-out}.sheet-handle{width:42px;height:5px;margin:0 auto 20px;border-radius:999px;background:rgba(32,32,29,.22)}.sheet-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.sheet-title h2{font-size:27px}.close-button{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:rgba(255,255,255,.75);font-size:23px;line-height:1}.close-button.floating{position:absolute;z-index:5;top:18px;right:18px}.filter-block{margin-top:24px}.option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.option{min-height:40px;padding:8px 6px;border:1px solid var(--line);color:#5d584f;background:#fff;font-size:11px;font-weight:750}.option.active{border:2px solid var(--ink);color:var(--ink);background:#f6d875;box-shadow:2px 2px 0 var(--ink)}.budget-grid{grid-template-columns:repeat(5,1fr)}.field-note{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.sheet-actions{display:grid;grid-template-columns:105px 1fr;gap:10px;margin-top:26px}.empty-card{padding-top:38px}.empty-symbol{display:grid;width:52px;height:52px;place-items:center;margin-bottom:17px;border:2px solid var(--ink);border-radius:50%;color:#fff;background:var(--red);font-size:25px;font-weight:950;box-shadow:3px 4px 0 var(--ink);transform:rotate(-7deg)}.nearby-list{margin:21px 0;padding-top:16px;border-top:1px dashed rgba(32,32,29,.2)}.list-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:9px}.list-heading strong{font-size:12px}.list-heading span{color:var(--muted);font-size:9px}.nearby-item{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border:0;border-bottom:1px solid rgba(32,32,29,.08);color:inherit;background:transparent;text-align:left}.restaurant-initial{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;color:#7a3528;background:rgba(239,91,63,.15);font-weight:950}.nearby-item strong{font-size:12px}.nearby-item small,.nearby-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nearby-item small{margin-top:3px;color:var(--muted);font-size:9px}.chevron{color:var(--muted);font-size:22px}.dialog-actions{display:grid;gap:9px}.restaurant-sheet{padding-top:18px}.result-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:10px 45px 18px 0}.result-hero h2{overflow:hidden;font-size:27px;text-overflow:ellipsis;white-space:nowrap}.result-hero p:last-child{margin:5px 0 0;color:var(--muted);font-size:11px}.restaurant-photos{margin:0 0 14px}.restaurant-photo-cover{position:relative;overflow:hidden;aspect-ratio:18/13;margin:0;border-radius:18px;background:#eaf2ee}.restaurant-photo-cover img{display:block;width:100%;height:100%;object-fit:contain}.restaurant-photo-cover figcaption{position:absolute;inset:auto 0 0;overflow:hidden;padding:28px 14px 11px;color:#fff;background:linear-gradient(transparent,rgba(10,31,24,.72));font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.restaurant-photo-strip{display:flex;overflow-x:auto;gap:7px;margin-top:8px;padding:1px 1px 4px;scrollbar-width:none;overscroll-behavior-inline:contain}.restaurant-photo-strip::-webkit-scrollbar{display:none}.restaurant-photo-strip button{overflow:hidden;width:70px;height:50px;flex:0 0 auto;padding:0;border:2px solid transparent;border-radius:10px;background:#edf3f0;opacity:.72}.restaurant-photo-strip button.active{border-color:#2b8a6e;opacity:1}.restaurant-photo-strip img{display:block;width:100%;height:100%;object-fit:cover}.restaurant-photo-source{margin:5px 2px 0;color:var(--muted);font-size:8px;line-height:1.45}.restaurant-photo-skeleton{display:grid;overflow:hidden;aspect-ratio:16/10;place-items:center;border-radius:18px;color:#718078;background:#edf3f0}.restaurant-photo-skeleton span{width:44px;height:44px;border-radius:50%;background:#d8e9e1;animation:photoPulse 1.2s ease-in-out infinite}.restaurant-photo-skeleton p{margin:-42px 0 0;font-size:10px}.restaurant-photo-empty{display:flex;min-height:108px;align-items:center;gap:13px;padding:16px;border:1px dashed #dce7e1;border-radius:16px;background:linear-gradient(135deg,#f7faf8,#eef6f2)}.restaurant-photo-empty>span{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:14px;color:#2b765f;background:#dff1e9;font-size:19px;font-weight:760}.restaurant-photo-empty strong{display:block;color:#31483f;font-size:11px}.restaurant-photo-empty small{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.5}.result-stamp{display:grid;width:62px;height:62px;place-items:center;border:2px solid var(--ink);border-radius:19px;color:var(--ink);background:#f6d875;font-size:25px;font-weight:950;box-shadow:4px 4px 0 var(--ink);transform:rotate(-4deg)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.stat-row span{padding:13px 8px;text-align:center}.stat-row span+span{border-left:1px solid var(--line)}.stat-row strong{display:block;font-size:16px}.stat-row small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.tag-line{margin:12px 0 0;padding:9px 11px;border-radius:10px;color:var(--mint-dark);background:rgba(155,198,174,.22);font-size:11px;font-weight:750}.info-list{margin:18px 0}.info-list div{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid rgba(32,32,29,.07);font-size:11px}.info-list span{color:var(--muted)}.info-list strong{font-weight:750}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.community-section{margin-top:24px;padding-top:20px;border-top:1px dashed rgba(32,32,29,.2)}.community-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.community-heading h3{margin:0;font-size:17px}.community-heading>span{padding:5px 7px;border-radius:8px;color:var(--mint-dark);background:rgba(155,198,174,.23);font-size:9px;font-weight:850}.review-form{padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff}.review-form-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.review-form input,.review-form textarea{width:100%;border:0;color:var(--ink);background:transparent;font:inherit;font-size:11px;outline:0}.review-form input{min-width:0}.review-form textarea{display:block;padding:9px;border-radius:10px;background:#f8f3e9;line-height:1.55;resize:vertical}.review-area-choice{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;border:0}.review-area-choice legend{width:100%;margin-bottom:7px;color:var(--ink);font-size:10px;font-weight:700}.review-area-choice legend span{margin-left:7px;color:var(--muted);font-size:9px;font-weight:400}.review-area-choice label{display:inline-flex;align-items:center;gap:6px;min-width:64px;min-height:30px;padding:4px 9px;border:1px solid #dce9e2;border-radius:9px;color:#516b60;background:#fff;font-size:10px;cursor:pointer}.review-area-choice label.selected{border-color:#78bca3;color:#1d7558;background:#eaf6f0}.review-area-choice input{width:13px;height:13px;min-width:13px;margin:0;accent-color:#2b8a6e}.review-area-choice .review-area-clear{align-self:center;padding:4px;border:0;color:var(--muted);background:transparent;font-size:9px;text-decoration:underline;cursor:pointer}.review-area-choice:disabled label{cursor:default;opacity:.6}.review-photo-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:9px}.review-photo-tools small{color:var(--muted);font-size:9px;line-height:1.4;text-align:right}.review-photo-add{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;color:var(--mint-dark);background:#fff;font-size:10px;font-weight:750;cursor:pointer}.review-photo-add.is-disabled{opacity:.55;cursor:default}.review-photo-add input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.review-photo-add:focus-within{outline:2px solid var(--mint-dark);outline-offset:2px}.review-photo-drafts,.review-photo-public{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.review-photo-draft,.review-photo-public a{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:9px;background:#eef3f0}.review-photo-draft img,.review-photo-public img{display:block;width:100%;height:100%;object-fit:cover}.review-photo-draft button{position:absolute;top:3px;right:3px;display:grid;width:23px;height:23px;place-items:center;border:0;border-radius:50%;color:#fff;background:rgba(28,44,38,.82);font-size:17px;line-height:1;cursor:pointer}.review-photo-draft button:disabled{opacity:.5;cursor:default}.star-picker{display:flex;flex:0 0 auto;gap:1px}.star-picker button{padding:0 1px;border:0;color:#d5cfc4;background:transparent;font-size:14px}.star-picker button.selected{color:#f0a23d}.review-submit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.review-submit-row small{color:var(--muted);font-size:8px}.mini-primary,.upload-button{display:inline-flex;min-height:30px;align-items:center;justify-content:center;padding:6px 9px;border:1px solid var(--ink);border-radius:9px;background:var(--red);font-size:9px;font-weight:900;box-shadow:2px 2px 0 var(--ink)}.community-error{margin:8px 0 0;color:#a13424;font-size:9px;line-height:1.45}.community-empty{margin:11px 0 0;padding:12px;border-radius:10px;color:var(--muted);background:rgba(245,236,217,.64);font-size:10px;text-align:center}.review-list{display:grid;gap:8px;margin-top:10px}.review-item{padding:11px;border-radius:12px;background:var(--cream)}.review-meta{display:flex;align-items:center;gap:7px}.review-meta strong{font-size:10px}.review-meta span{color:#e7972f;font-size:9px;letter-spacing:1px}.review-meta time{margin-left:auto;color:var(--muted);font-size:8px}.review-item p{margin:7px 0 0;font-size:10px;line-height:1.55;overflow-wrap:anywhere}.review-item .review-area-answer{display:inline-block;padding:4px 7px;border-radius:6px;color:#426e5e;background:#eaf6f0;font-size:9px}.review-photo-public a{border:1px solid var(--line)}.menu-section{padding-bottom:8px}.upload-button{position:relative;flex:0 0 auto;cursor:pointer}.upload-button.disabled{cursor:wait;opacity:.55}.upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.menu-help{margin:-2px 0 10px;color:var(--muted);font-size:9px;line-height:1.55}.menu-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.menu-gallery a{display:block;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.menu-gallery img{display:block;width:100%;height:100%;object-fit:cover}.about-card{text-align:left}.promise-list{display:flex;gap:7px;margin:0 0 24px}.promise-list span{padding:6px 8px;border-radius:8px;color:var(--mint-dark);background:rgba(155,198,174,.25);font-size:10px;font-weight:900}@keyframes fadeIn{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.97)}}@keyframes sheetIn{0%{transform:translateY(100%)}}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(239,91,63,.12)}}@keyframes hubPulse{to{transform:translate(-50%,-50%) scale(1.08)}}@keyframes photoPulse{50%{opacity:.45;transform:scale(.9)}}@media (max-width:520px){.app-shell{padding:0}.phone-stage{min-height:100dvh;border:0;border-radius:0;box-shadow:none}.bottom-layer{padding:0}.dialog-card,.intro-card{padding:24px 20px}.dialog-card h2,.intro-card h2{font-size:25px}.option-grid{grid-template-columns:repeat(4,1fr)}.budget-grid{grid-template-columns:repeat(5,1fr)}}.admin-page{min-height:100dvh;padding:36px 18px 64px;color:#17352c;background:#eef5f1}.admin-wrap{width:min(1120px,100%);margin:0 auto}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.admin-header h1{color:#17352c;font-size:clamp(25px,4vw,36px)}.admin-logo{display:grid;width:58px;height:58px;place-items:center;margin-bottom:22px;border-radius:18px;color:#fffaf0;background:#ef5b3f;font-size:30px;font-weight:900;transform:rotate(-5deg);box-shadow:4px 5px 0 #17352c}.admin-login{width:min(420px,100%);margin:10vh auto 0;padding:34px;border:1px solid #dce9e3;border-radius:26px;background:#fff;box-shadow:0 22px 70px rgba(37,83,67,.12)}.admin-login h1{margin:8px 0 12px;font-size:28px}.admin-login p:not(.eyebrow):not(.admin-error){color:#6b8178;font-size:13px;line-height:1.7}.admin-filters input,.admin-filters select,.admin-form input,.admin-login input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d6e4de;border-radius:11px;outline:0;color:inherit;background:#fbfdfc;font:inherit;font-size:13px}.admin-filters input:focus,.admin-form input:focus,.admin-login input:focus{border-color:#5d9f84;box-shadow:0 0 0 3px rgba(93,159,132,.14)}.admin-primary{width:100%;min-height:44px;margin-top:14px;border:0;border-radius:12px;color:white;background:#2f7b62;font-weight:800}.admin-link{padding:5px 0;border:0;color:#2f7b62;background:transparent;font-size:12px;font-weight:800}.admin-tabs{display:flex;gap:8px;margin-bottom:18px;padding:5px;border-radius:14px;background:#dfece6}.admin-tabs button{flex:1 1;padding:11px;border:0;border-radius:10px;color:#527268;background:transparent;font-weight:750}.admin-tabs button.active{color:#17352c;background:white;box-shadow:0 3px 10px rgba(35,80,64,.08)}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.admin-panel,.admin-stat{border:1px solid #dce9e3;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(37,83,67,.055)}.admin-stat{display:flex;flex-direction:column;gap:8px;padding:18px}.admin-stat span{color:#71857c;font-size:12px}.admin-stat strong{color:#1e624c;font-size:30px;letter-spacing:-.04em}.admin-panel{padding:18px}.admin-panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.admin-panel-title h2{font-size:17px}.admin-panel-title h2 small{margin-left:7px;color:#82958c;font-size:11px;font-weight:500}.screening-panel{margin-bottom:14px}.screening-panel .admin-panel-title{margin-bottom:10px}.screening-panel .admin-panel-title small{color:#a07837;font-size:11px}.screening-progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e4eee9}.screening-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6db49c,#2f7b62);transition:width .35s ease}.screening-progress-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:10px;color:#688078;font-size:11px}.screening-progress-meta strong{color:#245e4b;font-size:16px}.screening-progress-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screening-counts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.screening-counts span{padding:5px 9px;border-radius:999px;color:#688078;background:#f1f6f3;font-size:11px}.screening-counts strong{margin-left:3px;color:#245e4b;font-size:13px}.admin-two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;align-items:start}.admin-filters{display:flex;gap:7px;width:min(420px,58%)}.admin-filters select{width:92px}.admin-restaurant-list{display:grid;gap:8px}.admin-restaurant,.admin-review{padding:13px;border:1px solid #e4eee9;border-radius:13px;background:#fcfefd}.admin-restaurant{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-restaurant small,.admin-restaurant span,.admin-restaurant strong{display:block}.admin-restaurant strong{font-size:13px}.admin-restaurant span{margin-top:4px;overflow:hidden;color:#688078;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-restaurant small{margin-top:4px;color:#a07837;font-size:10px}.admin-actions{display:flex;flex:0 0 auto;gap:6px}.admin-actions button{padding:6px 9px;border:1px solid #cde0d7;border-radius:8px;color:#2f7b62;background:white;font-size:11px;font-weight:750}.admin-actions button.danger{border-color:#f0d3cd;color:#b74836}.admin-form{display:grid;gap:10px}.admin-form label{display:grid;gap:5px;color:#5d766b;font-size:11px;font-weight:750}.admin-form .admin-primary{margin-top:4px}.admin-review{position:relative;margin-bottom:9px}.admin-review.is-pending{border-color:#efd6a8;background:#fffaf0}.admin-review-head{display:flex;align-items:center;gap:9px}.admin-review-head strong{font-size:12px}.admin-review-head span{color:#a07837;font-size:10px}.review-status{margin-left:auto;padding:3px 6px;border-radius:999px;color:#3f8067;background:#e4f2eb;font-size:9px;font-style:normal}.review-status.flagged,.review-status.pending{color:#9c671d;background:#ffedc6}.review-status.rejected{color:#a34838;background:#fde6e1}.admin-review p{margin:9px 0 7px;color:#405d52;font-size:13px;line-height:1.6}.admin-visit-list{display:grid;gap:8px}.admin-visit{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #e4eee9;border-radius:13px;background:#fcfefd}.admin-visit small,.admin-visit span,.admin-visit strong{display:block}.admin-visit strong{color:#245e4b;font-size:13px;overflow-wrap:anywhere}.admin-visit span{margin-top:4px;color:#688078;font-size:11px}.admin-visit small{max-width:52%;overflow:hidden;color:#82958c;font-size:10px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.risk-copy{margin-bottom:9px;color:#a26d25}.ip-copy,.risk-copy{display:block;font-size:10px}.ip-copy{margin-bottom:5px;color:#70867b}.admin-review .admin-actions{justify-content:flex-end}.admin-error.admin-banner,.admin-notice{margin-bottom:14px;padding:10px 13px;border-radius:10px;font-size:12px;cursor:pointer}.admin-notice{color:#2f7b62;background:#e4f2eb}.admin-error{color:#a34838}.admin-error.admin-banner{color:#a34838;background:#fde6e1}.admin-empty{padding:28px 8px;color:#82958c;text-align:center;font-size:12px}.ai-confirmations-panel{overflow:hidden}.ai-progress-note{margin-top:5px;color:#688078;font-size:11px}.ai-summary{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;margin-bottom:13px;padding:10px 12px;border:1px solid #e4eee9;border-radius:12px;color:#688078;background:#f7fbf9;font-size:11px}.ai-summary strong{color:#245e4b;font-size:13px}.ai-summary-divider{margin-left:8px;padding-left:15px;border-left:1px solid #dce9e3;color:#527268;font-weight:750}.ai-filters{display:flex;gap:8px;margin-bottom:12px}.ai-filters input,.ai-filters select{min-height:38px;padding:0 10px;border:1px solid #d6e4de;border-radius:9px;outline:0;color:inherit;background:#fbfdfc;font:inherit;font-size:12px}.ai-filters input{flex:1 1;min-width:180px}.ai-filters select{min-width:116px}.ai-legend{margin:-3px 0 10px;color:#82958c;font-size:10px}.ai-legend .ai-check{display:inline-grid;width:16px;height:16px;vertical-align:middle;font-size:11px}.ai-table-wrap{overflow:auto;border:1px solid #e1ece6;border-radius:12px}.ai-table{width:100%;min-width:860px;border-collapse:collapse;font-size:11px}.ai-table th{padding:9px 8px;color:#527268;background:#f1f7f4;font-size:10px;font-weight:800;text-align:left;white-space:nowrap}.ai-table td:nth-child(n+4),.ai-table th:not(:first-child):not(:nth-child(2)):not(:nth-child(3)){text-align:center}.ai-table .ai-subhead th{padding-top:5px;padding-bottom:7px;color:#82958c;background:#f7fbf9;font-size:9px}.ai-table td{padding:10px 8px;border-top:1px solid #edf3ef;color:#405d52;vertical-align:middle}.ai-table tbody tr:hover{background:#fbfdfc}.ai-table td small,.ai-table td strong{display:block}.ai-table td strong{color:#245e4b;font-size:11px}.ai-table td small{margin-top:3px;color:#82958c;font-size:9px}.ai-ordinal{width:50px;color:#a07837!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.ai-address{max-width:255px;overflow:hidden;color:#688078!important;text-overflow:ellipsis;white-space:nowrap}.ai-check{display:inline-grid;width:20px;height:20px;place-items:center;border-radius:6px;color:#a9b9b2;background:#f1f5f3;font-size:13px;font-weight:900}.ai-check.is-yes{color:#fff;background:#2f7b62;box-shadow:0 2px 5px rgba(47,123,98,.2)}.ai-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;color:#82958c;font-size:11px}.ai-pagination div{display:flex;gap:7px}.ai-pagination button{padding:6px 10px;border:1px solid #cde0d7;border-radius:8px;color:#2f7b62;background:white;font-size:11px;font-weight:750}.ai-pagination button:disabled{cursor:not-allowed;opacity:.45}@media (max-width:760px){.admin-grid{grid-template-columns:repeat(2,1fr)}.admin-two-col{grid-template-columns:1fr}.admin-panel-title{align-items:flex-start;flex-direction:column}.admin-filters{width:100%}.admin-visit{align-items:flex-start;flex-direction:column}.admin-visit small{max-width:100%;text-align:left}}@media (max-width:370px){.phone-stage{padding-inline:16px}.wheel-label{width:68px;transform:translate(-50%,-50%) rotate(var(--label-angle)) translateY(-94px) rotate(var(--label-counter-angle))}.budget-grid,.option-grid{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--ink:#18332b;--muted:#728078;--paper:#ffffff;--cream:#f4f7f5;--line:#e7ede9;--red:#2b8a6e;--red-dark:#23745d;--mint:#dff3ea;--mint-dark:#27775f}body,html{background:#f3f6f4}body{background:radial-gradient(circle at 50% -20%,rgba(73,166,132,.12),transparent 34rem),#f3f6f4}.app-shell{padding:28px 16px 64px}.phone-stage{width:min(100%,520px);padding:14px 24px 30px;border:1px solid rgba(31,67,56,.06);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 20px 60px rgba(37,65,55,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar{margin-bottom:10px}.topbar h1{font-size:23px;font-weight:760;letter-spacing:-.03em}.brand-mark{width:40px;height:40px;border-radius:12px;background:#2b8a6e;font-size:18px;font-weight:750;transform:none;box-shadow:none}.location-card:disabled{cursor:wait;opacity:1}.eyebrow{color:#8a9690;font-size:9px;font-weight:700;letter-spacing:.12em}.ghost-icon{width:38px;height:38px;border-color:#edf1ef;border-radius:12px;color:#65736c;background:#f7f9f8}.location-card{gap:8px;padding:9px 11px;border-color:#e9efeb;border-radius:13px;background:#f8faf9;box-shadow:none}.location-card small{margin-bottom:1px;font-size:9px}.location-card strong{font-size:12px}.location-card .location-action{font-size:9px}.location-card .location-dot{width:9px;height:9px;border-width:2px}.location-dot{background:#36a07c;box-shadow:0 0 0 2px #36a07c}.location-action{color:#2b8a6e}.location-feedback{border:1px solid #f0dfc2;border-radius:11px;color:#805d28;background:#fffaf0;line-height:1.5}.location-context-warning,.location-feedback{margin:8px 3px 0;padding:9px 11px;font-size:10px}.location-context-warning{border:1px solid #dce9e3;border-radius:11px;color:#4e675c;background:#f3f8f5;line-height:1.55}.location-context-warning>strong{display:block;color:#31594a;font-size:11px}.location-context-warning p{margin:4px 0 8px}.location-context-warning>div{display:flex;flex-wrap:wrap;gap:7px}.location-context-warning a{padding:7px 9px;border:1px solid #bcd8cc;border-radius:9px;color:#28775b;background:#fff;font-weight:760;text-decoration:none}.location-context-warning small{display:block;margin-top:8px;color:#718079;font-size:9px}.location-calibrate{display:block;margin:3px 4px 0 auto;padding:2px 0;border:0;color:#2b8a6e;background:transparent;font-size:10px;font-weight:720}.location-editor-sheet{padding-bottom:28px}.location-search-form{display:grid;gap:12px;margin-top:18px}.location-search-form input{width:100%;padding:13px 14px;border:1px solid #dfe8e3;border-radius:12px;outline:none;color:#2e3934;background:#f8faf9;font:inherit}.location-search-form input:focus{border-color:#4b9b7f;box-shadow:0 0 0 3px rgba(75,155,127,.12)}.location-confirm-layer{z-index:80}.location-confirm-sheet{max-height:min(86vh,720px);overflow-y:auto;padding-bottom:max(24px,env(safe-area-inset-bottom))}.location-candidate-list{display:grid;gap:9px;margin-top:17px}.location-candidate{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid #e4ebe7;border-radius:14px;color:#2e3934;text-align:left;background:#fafcfb}.location-candidate.recommended{border-color:#87bda8;background:#f0f8f4;box-shadow:0 0 0 2px rgba(54,160,124,.08)}.location-candidate>span:nth-child(2){min-width:0}.location-candidate em,.location-candidate small,.location-candidate strong{display:block}.location-candidate small{margin-bottom:3px;color:#2b8a6e;font-size:9px;font-weight:780}.location-candidate strong{font-size:13px;line-height:1.4}.location-candidate em{margin-top:3px;color:#7c8983;font-size:9px;font-style:normal;line-height:1.4}.location-candidate b{color:#2b8a6e;font-size:10px;white-space:nowrap}.candidate-pin{width:10px;height:10px;border:3px solid #fff;border-radius:50%;background:#36a07c;box-shadow:0 0 0 2px #36a07c}.location-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.location-confirm-actions button{margin:0}.data-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:11px 12px;border:1px solid #e6eee9;border-radius:14px;background:#f7faf8}.data-status-dot{width:8px;height:8px;border-radius:50%;background:#d49a45;box-shadow:0 0 0 4px rgba(212,154,69,.12)}.data-status.live .data-status-dot{background:#2f9a73;box-shadow:0 0 0 4px rgba(47,154,115,.12)}.data-status.loading .data-status-dot{animation:pulse 1s ease-in-out infinite}.data-status-copy{min-width:0}.data-status-copy small,.data-status-copy strong{display:block}.data-status-copy strong{color:#34433d;font-size:12px;font-weight:760}.data-status-copy small{margin-top:2px;color:#87918c;font-size:10px}.data-status>button{padding:7px 10px;border:0;border-radius:9px;color:#2b765f;background:#e9f4ef;font-size:10px;font-weight:750}.data-status>button:disabled{cursor:wait;opacity:.65}.filter-section{margin-top:27px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:16px;font-weight:720}.text-button{color:#2b8a6e;font-weight:700}.chip-row{gap:9px}.chip{padding:9px 14px;border-color:#e7ede9;color:#67746d;background:#f7f9f8;font-weight:650}.chip.active{border-color:#2b8a6e;color:#fff;background:#2b8a6e;box-shadow:none}.wheel-section{margin-top:7px;padding-top:9px;border-top:1px solid #edf1ef}.wheel-heading h2{font-size:20px;font-weight:760}.wheel-heading .eyebrow{font-size:8px}.round-count{color:#2b765f!important;background:#edf7f3;font-weight:700}.wheel-tools>button{color:#2b8a6e}.wheel-wrap{width:min(72vw,300px);margin-top:44px;margin-bottom:10px}.magnifier-pointer{position:absolute;z-index:8;top:-38px;left:50%;width:144px;min-height:56px;padding:0;border:0;background:transparent;transform:translateX(-50%);pointer-events:auto;cursor:pointer}.magnifier-pointer:disabled{cursor:default}.magnifier-pointer:not(:disabled):hover .magnifier-lens{border-color:#23745d;transform:translateY(-1px)}.magnifier-pointer:focus-visible{outline:3px solid rgba(43,138,110,.3);outline-offset:5px;border-radius:50%}.magnifier-lens{position:relative;z-index:2;display:grid;min-height:56px;align-content:center;gap:3px;padding:7px 13px;border:3px solid #2b8a6e;border-radius:50%;color:#18332b;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(35,88,70,.18),inset 0 0 0 4px rgba(223,243,234,.72);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .16s ease,transform .16s ease}.magnifier-lens:after{content:"";position:absolute;bottom:-12px;left:50%;width:0;height:0;border-right:8px solid transparent;border-left:8px solid transparent;border-top:12px solid #2b8a6e;transform:translateX(-50%)}.magnifier-lens small{color:#759087;font-size:9px;font-weight:700;letter-spacing:.08em}.magnifier-lens strong{font-size:clamp(10px,2.8vw,12px);font-weight:760;line-height:1.15;overflow-wrap:anywhere}.wheel{border:7px solid #fff;box-shadow:0 0 0 1px #e7ede9,0 18px 42px rgba(49,82,70,.14)}.wheel:after{background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.95) 0 2px,transparent 2px calc(1turn / var(--segments, 8)))}.pointer{top:-7px;border-right-width:12px;border-left-width:12px;border-top:28px solid #2b8a6e;filter:drop-shadow(0 2px 0 #fff)}.wheel-label{display:flex;width:var(--label-width,16px);height:var(--label-height,72px);min-height:0;align-items:center;justify-content:center;overflow:hidden;color:#344a42;font-size:var(--label-font-size,10px);font-weight:720;line-height:1;letter-spacing:.04em;text-align:start;text-shadow:none;text-orientation:upright;writing-mode:vertical-rl;transform:translate(-50%,-50%) rotate(var(--label-angle)) translateY(var(--label-distance,-100px))}.wheel-hub{width:68px;height:68px;border:5px solid #fff;color:#fff;background:#2b8a6e;font-size:15px;font-weight:760;box-shadow:0 5px 16px rgba(43,138,110,.25)}.spin-hint{margin-bottom:8px;font-size:9px}.scope-section{margin-top:9px}.spin-button{border:0;border-radius:15px;background:#2b8a6e;box-shadow:0 10px 22px rgba(43,138,110,.2)}.spin-button span{font-size:17px;font-weight:750}.spin-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 6px 14px rgba(43,138,110,.18)}.fair-note{color:#87938d}@media (max-width:520px){.app-shell{padding:0}.phone-stage{min-height:100dvh;padding:10px 20px 30px;border:0;border-radius:0;box-shadow:none}}.dialog-layer{padding:20px;background:rgba(22,43,36,.38);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dialog-card,.intro-card{width:min(100%,460px);padding:30px;border:1px solid rgba(31,67,56,.08);border-radius:24px;background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(23,53,43,.16)}.dialog-card h2,.intro-card h2{max-width:370px;color:#18332b;font-size:26px;font-weight:760;line-height:1.22}.dialog-copy{color:#74817a;font-size:13px;line-height:1.7}.intro-illustration{height:66px;gap:8px;margin-bottom:24px}.intro-illustration span{width:52px;height:52px;border:0;border-radius:16px;color:#2a725c;background:#eef7f3;font-size:19px;font-weight:720;box-shadow:none}.intro-illustration span:nth-child(2){color:#4e668a;background:#eff3f9;transform:translateY(5px)}.intro-illustration span:nth-child(3){color:#9a6a36;background:#fff6e6;transform:none}.scope-grid{gap:10px}.preset-location{display:flex;align-items:center;gap:12px;margin:20px 0 16px;padding:13px 15px;border:1px solid #dcebe4;border-radius:14px;color:#264a3d;background:#f2f8f5}.preset-location-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#2b8a6e;box-shadow:0 0 0 5px rgba(43,138,110,.1)}.preset-location div{display:grid;gap:2px}.preset-location small{color:#7a8e85;font-size:11px}.preset-location strong{font-size:15px;font-weight:720}.scope-choice{min-height:54px;padding:8px 10px;border-color:#e8eeea;border-radius:14px;background:#f8faf9}.scope-choice:last-child{grid-column:auto}.scope-choice strong{font-weight:700}.scope-choice.active{border:1px solid #6db49c;color:#236f58;background:#edf7f3;box-shadow:none}.primary-button,.secondary-button{min-height:46px;border-radius:13px;font-weight:700}.primary-button{border:0;color:#fff;background:#2b8a6e;box-shadow:0 8px 18px rgba(43,138,110,.17)}.secondary-button{border-color:#e5ebe7;color:#45574f;background:#f8faf9}.primary-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 4px 12px rgba(43,138,110,.14)}.inline-error{color:#a04d3c;background:#fff5f2}.bottom-layer{padding:20px 20px 0}.bottom-sheet{width:min(100%,540px);max-height:92dvh;padding:12px 26px 30px;border:1px solid rgba(31,67,56,.08);border-bottom:0;border-radius:26px 26px 0 0;background:#fff;box-shadow:0 -18px 60px rgba(24,55,44,.13)}.sheet-handle{width:38px;height:4px;margin-bottom:22px;background:#dce4df}.sheet-title h2{font-size:25px;font-weight:760}.close-button{width:34px;height:34px;border-color:#e8eeea;color:#718078;background:#f7f9f8;font-size:20px}.filter-block{margin-top:26px}.filter-block h3{color:#30483f;font-size:13px;font-weight:700}.filter-heading-with-note{display:flex;align-items:center;gap:7px;margin-bottom:9px}.filter-heading-with-note h3{margin-bottom:0}.filter-heading-with-note small{padding:2px 5px;border-radius:999px;color:#a26d25;background:#fff0cf;font-size:9px;font-weight:750}.business-hour-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 10px}.business-hour-tab{min-height:36px;border:1px solid #e8eeea;border-radius:10px;color:#69766f;background:#f8faf9;font-weight:650}.business-hour-tab.active{border-color:#6db49c;color:#246f59;background:#edf7f3;box-shadow:none}.option-grid{gap:9px}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.option{min-height:41px;border-color:#e8eeea;border-radius:11px;color:#69766f;background:#f8faf9;font-weight:650}.option.active{border:1px solid #6db49c;color:#246f59;background:#edf7f3;box-shadow:none}.filter-option{display:flex;align-items:center;justify-content:space-between;gap:4px}.feature-grid .filter-option{min-height:48px;padding-inline:12px;font-size:12px;white-space:nowrap}.option-count{display:inline-grid;min-width:18px;height:18px;padding:0 4px;place-items:center;border-radius:9px;color:#718078;background:#edf1ef;font-size:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.option.active .option-count{color:#246f59;background:#d8eee6}.award-filter-option.option{justify-content:center;gap:5px;border:1px solid #a88447;color:#efdbaf;background:linear-gradient(135deg,#151719,#30302b 62%,#1b1a18);box-shadow:inset 0 1px 0 #ffffff1a;font-weight:760;letter-spacing:.02em}.award-filter-option.option.is-active{border-color:#e2c079;color:#fff0c4;background:linear-gradient(135deg,#282018,#171819 58%,#44301c);box-shadow:0 0 0 2px #e0bb6c66,0 3px 9px #4d351529}.award-filter-option.option:focus-visible{outline:2px solid #d6aa59;outline-offset:2px}.award-filter-glyph{color:#e4bd6d;font-size:13px;line-height:1}.filter-summary .award-filter-summary{color:#d3ae69;background:#242321}.restaurant-award-badges{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 3px}.restaurant-award-badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border:1px solid #a88447;border-radius:6px;color:#f4deb0;background:linear-gradient(125deg,#17191a,#33302a);font-size:11px;font-weight:760;line-height:1.3;letter-spacing:.01em}.restaurant-award-badge.is-historical{border-color:#c9bda7;color:#69583d;background:#f5f1e9}.restaurant-award-history{margin:18px 0 20px;padding:14px;border:1px solid #e6dfd3;border-radius:14px;background:#fbfaf7}.restaurant-award-history-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.restaurant-award-history-heading h3{margin:0;color:#322c23;font-size:14px;font-weight:760}.restaurant-award-history-heading small{color:#897d6b;font-size:10px}.restaurant-award-history-list{display:grid;gap:9px}.restaurant-award-history-entry{display:grid;gap:3px;padding-top:9px;border-top:1px solid #eee7db;color:#746b5d;font-size:11px;line-height:1.55}.restaurant-award-history-entry:first-child{padding-top:0;border-top:0}.restaurant-award-history-entry strong{color:#42382b;font-size:12px;font-weight:740}.restaurant-award-history-entry a{width:fit-content;color:#74532c;font-weight:700;text-underline-offset:2px}.option:disabled{cursor:not-allowed;opacity:.42}.field-note{color:#8a958f}.restaurant-size-tag{display:inline-block;padding:2px 6px;border-radius:999px;font-size:9px;font-style:normal;font-weight:750;line-height:1.2;vertical-align:1px}.restaurant-size-tag.large{color:#9a641d;background:#fff0cf}.restaurant-size-tag.small{color:#36755e;background:#e2f2eb}.restaurant-size-tag.uncertain{color:#68756e;background:#edf1ef}.restaurant-feature-tag{display:inline-block;padding:2px 6px;border-radius:999px;color:#745889;background:#eee7f7;font-size:9px;font-style:normal;font-weight:750;line-height:1.2;vertical-align:1px}.venue-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:7px;margin:14px 0 4px}.venue-feature{display:grid;min-width:0;gap:3px;padding:9px 5px;border:1px solid #e3eae6;border-radius:10px;color:#8a958f;background:#f7f9f8;text-align:center}.venue-feature.is-yes{border-color:#b9dfd0;color:#28745d;background:#edf8f3}.venue-feature strong{font-size:12px}.venue-feature small,.venue-feature strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.venue-feature small{font-size:9px}.empty-symbol{width:48px;height:48px;border:0;color:#2b8a6e;background:#eaf6f1;font-size:22px;font-weight:720;box-shadow:none;transform:none}.nearby-list{border-top-color:#e9eeeb}.nearby-item{border-bottom-color:#edf1ef}.restaurant-initial{color:#2b765f;background:#edf7f3;font-weight:720}.result-hero{gap:16px;padding-top:8px}.result-hero h2{color:#18332b;font-size:26px;font-weight:760}.result-stamp{width:58px;height:58px;border:0;border-radius:16px;color:#2b765f;background:#eaf6f1;font-size:22px;font-weight:740;box-shadow:none;transform:none}.stat-row{border-color:#e8eeea;border-radius:14px;background:#f8faf9}.stat-row span+span{border-left-color:#e8eeea}.dice-app{min-height:100vh;color:#eee9dc;background:#171b1e;font-family:var(--font-body,ui-sans-serif,system-ui,sans-serif)}.dice-topbar{display:flex;align-items:center;justify-content:space-between;width:min(1080px,calc(100% - 40px));height:76px;margin:0 auto;border-bottom:1px solid #30373a}.dice-back{color:#afb9b5;font-size:13px;text-decoration:none}.dice-back:hover{color:#f0c56f}.dice-brand{display:flex;align-items:center;gap:9px;color:#f4eee2;font-size:17px;font-weight:800;letter-spacing:.08em}.dice-brand-mark{display:grid;width:30px;height:30px;place-items:center;border:1px solid #c58c3e;color:#f0c56f;font-size:22px;line-height:1;transform:rotate(-9deg)}.dice-top-status{color:#7d8988;font-size:10px;letter-spacing:.18em}.dice-home,.dice-room-page{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:74px 0 56px}.dice-intro{max-width:620px}.dice-kicker,.dice-overline{margin:0 0 12px;color:#d59a43;font-size:10px;font-weight:800;letter-spacing:.2em}.dice-intro h1,.room-banner h1{margin:0;color:#f7f0e3;font-size:clamp(42px,7vw,78px);font-weight:850;letter-spacing:0;line-height:.98}.dice-intro h1 em{color:#f0c56f;font-style:normal}.dice-intro>p:last-child{max-width:380px;margin:22px 0 0;color:#909c98;font-size:14px;line-height:1.8}.dice-mode-switch{display:inline-flex;gap:4px;margin:48px 0 18px;padding:4px;border:1px solid #353d3f;background:#22282b}.dice-mode-switch button{min-width:94px;padding:11px 18px;border:0;color:#8d9996;background:transparent;font:inherit;font-size:13px;cursor:pointer}.dice-mode-switch button.is-active{color:#171b1e;background:#f0c56f;font-weight:800}.dice-table-card{padding:28px;border:1px solid #394144;background:#20272a;box-shadow:0 18px 60px rgb(0 0 0/20%)}.dice-card-heading,.room-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dice-card-heading h2,.room-card-heading h2{margin:0;color:#f3eee5;font-size:24px;letter-spacing:0}.dice-round-chip{padding:7px 9px;color:#8e9b96;border:1px solid #3d4849;font-size:9px;letter-spacing:.14em}.dice-count-picker{display:flex;gap:8px;margin:28px 0 16px}.dice-count-picker button{display:grid;min-width:48px;min-height:48px;place-items:center;border:1px solid #465053;color:#b3bfba;background:#252e31;font-size:18px;cursor:pointer}.dice-count-picker button small{color:#76827f;font-size:9px}.dice-count-picker button.is-selected{border-color:#d59a43;color:#171b1e;background:#f0c56f;font-weight:800}.dice-name-field{display:flex;align-items:center;gap:14px;margin:0 0 24px;color:#87938f;font-size:11px}.dice-name-field input,.team-join-card input{width:160px;padding:9px 10px;border:1px solid #3d4849;outline:0;color:#f4eee2;background:#171d20;font:inherit}.dice-name-field input:focus,.team-join-card input:focus{border-color:#d59a43}.solo-cup-stage{position:relative;display:flex;min-height:260px;align-items:center;justify-content:center;overflow:hidden;border:1px solid #313b3d;background:#1b2525}.solo-cup-stage:after{position:absolute;right:8%;bottom:15px;left:8%;height:1px;background:#49544f;content:""}.dice-set{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:430px}.dice-set.is-rolling .dice-face{animation:diceTumble .22s linear infinite alternate}.dice-face{position:relative;border:1px solid #a8b3ac;border-radius:11px;background:#e9e5da;box-shadow:0 7px 0 #a9aaa0,0 12px 18px rgb(0 0 0/22%);transform:rotate(-3deg)}.dice-face:nth-child(2n){transform:rotate(4deg)}.pip{position:absolute;width:10px;height:10px;border-radius:50%;background:#20282a;transform:translate(-50%,-50%)}.pip.center{top:50%;left:50%}.pip.top-left{top:23%;left:23%}.pip.top-right{top:23%;left:77%}.pip.middle-left{top:50%;left:23%}.pip.middle-right{top:50%;left:77%}.pip.bottom-left{top:77%;left:23%}.pip.bottom-right{top:77%;left:77%}.dice-question{position:absolute;inset:0;display:grid;place-items:center;color:#7b8580;font-size:30px;font-weight:850}.dice-cup{position:absolute;z-index:3;bottom:33px;left:50%;width:174px;height:174px;transform:translateX(-50%)}.cup-body{position:absolute;right:12px;left:12px;height:128px;border:4px solid #8a4f32;background:#713e2b;clip-path:polygon(8% 0,92% 0,78% 100%,22% 100%);box-shadow:inset 0 -20px 20px rgb(0 0 0/18%),0 14px 18px rgb(0 0 0/28%)}.cup-lid{position:absolute;z-index:2;left:10px;width:154px;height:36px;border:4px solid #a36540;background:#8b4b31;box-shadow:inset 0 4px 0 rgb(255 255 255/13%)}.cup-handle{position:absolute;z-index:4;top:-18px;left:61px;height:38px;border:8px solid #b67b4c;border-radius:28px 28px 0 0}.dice-cup small{position:absolute;right:0;bottom:-27px;left:0;z-index:5;color:#c49d6a;font-size:10px;text-align:center}.dice-cup.is-shaking{animation:cupShake .12s ease-in-out infinite alternate}.dice-cup.is-ready{animation:cupSettle .4s ease-out both}.dice-cup.is-ready .cup-body,.dice-cup.is-ready .cup-lid{box-shadow:0 0 22px rgb(240 197 111/22%)}.dice-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.dice-primary-action,.dice-quiet-action,.team-create-card,.team-join-card button{border:0;font:inherit;cursor:pointer}.dice-primary-action{min-height:48px;padding:0 18px;color:#171b1e;background:#f0c56f;font-size:13px;font-weight:850}.dice-primary-action span,.team-join-card button span{margin-left:10px;font-size:17px}.dice-primary-action:disabled{cursor:wait;opacity:.55}.dice-quiet-action{min-height:48px;padding:0 16px;border:1px solid #465053;color:#b8c2bd;background:transparent;font-size:12px}.dice-rules-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:22px;color:#717d7a;font-size:10px;letter-spacing:.04em}.dice-error{margin:14px 0 0;color:#e2876f;font-size:12px}.team-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.team-create-card,.team-join-card{min-height:150px;padding:22px;border:1px solid #465053;text-align:left;background:#182022}.team-create-card{position:relative;display:grid;align-content:start;gap:8px;color:#f3eee5}.team-create-card strong{font-size:17px}.team-create-card span{color:#83908b;font-size:11px}.team-create-card b{position:absolute;right:22px;bottom:18px;color:#f0c56f;font-size:26px;font-weight:300}.team-join-card{display:flex;flex-direction:column;justify-content:space-between}.team-join-card label{display:grid;gap:10px;color:#83908b;font-size:11px}.team-join-card input{width:100%;font-size:22px;letter-spacing:.2em}.team-join-card button{align-self:flex-start;min-height:40px;padding:0 13px;color:#171b1e;background:#f0c56f;font-size:12px;font-weight:800}.team-join-card button:disabled{opacity:.42}.room-banner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.room-banner h1{font-size:clamp(38px,6vw,64px)}.room-code-box{display:grid;min-width:188px;gap:6px;padding:15px 18px;border-left:2px solid #d59a43;background:#20272a}.room-code-box small,.room-code-box span{color:#84918c;font-size:10px}.room-code-box strong{color:#f0c56f;font-size:32px;letter-spacing:.18em;line-height:1}.room-progress{display:flex;gap:22px;margin:34px 0 14px;color:#8b9792;font-size:11px}.room-progress span+span{padding-left:22px;border-left:1px solid #394144}.room-progress b{color:#f2ebdd;font-weight:750}.room-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:14px}.all-results,.room-cup-card,.room-players-card{padding:24px;border:1px solid #394144;background:#20272a}.room-card-label{margin-bottom:14px;color:#d59a43;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.room-cup-card .solo-cup-stage{min-height:330px}.room-cup-card .dice-cup{bottom:55px}.room-cup-card .dice-action-row{margin-top:18px}.revealed-note{color:#7eaaa0;font-size:12px}.room-card-heading{align-items:center;margin-bottom:18px}.room-card-heading h2{font-size:18px}.room-card-heading span{color:#84918c;font-size:10px;letter-spacing:.12em}.room-player-list{display:grid;gap:7px}.room-player{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;min-height:54px;padding:8px 10px;border:1px solid #333d3f}.room-player.is-you{border-color:#a8783d;background:#292d2d}.player-index{color:#66736f;font-size:10px}.room-player strong{color:#ece6da;font-size:12px}.result-player>div i,.room-player strong i{margin-left:7px;color:#f0c56f;font-size:9px;font-style:normal}.room-player small{display:block;margin-top:4px;color:#82908a;font-size:10px}.player-state{color:#65716d;font-size:9px;letter-spacing:.08em}.player-state.is-rolled{color:#d3a35b}.player-state.is-revealed{color:#7eb7a5}.room-rule-callout{margin-top:18px;padding:13px;border-left:2px solid #d59a43;color:#9ca8a2;background:#1a2123;font-size:11px;line-height:1.6}.all-results{margin-top:14px}.all-results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px}.result-player{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:14px;border:1px solid #394144}.result-player.is-you{border-color:#a8783d}.result-player>div{grid-column:1/-1;color:#e8e1d5;font-size:12px}.result-player .dice-set{grid-column:1;justify-content:flex-start;gap:5px}.result-player .dice-face{width:30px;height:30px;border-radius:6px;box-shadow:0 3px 0 #a9aaa0}.result-player .pip{width:5px;height:5px}.result-player>b{color:#f0c56f;font-size:24px}.result-player>b small{margin-left:2px;color:#9daba5;font-size:9px;font-weight:400}.leave-room{display:block;margin:24px auto 0;border:0;color:#717d79;background:transparent;font:inherit;font-size:11px;cursor:pointer}.leave-room:hover{color:#e2876f}@keyframes cupShake{0%{transform:translateX(-54%) rotate(-5deg) translateY(0)}to{transform:translateX(-46%) rotate(5deg) translateY(-5px)}}@keyframes cupSettle{0%{transform:translateX(-50%) translateY(-8px) rotate(2deg)}to{transform:translateX(-50%) translateY(0) rotate(0)}}@keyframes diceTumble{0%{transform:rotate(-18deg) translateY(-8px)}to{transform:rotate(21deg) translateY(8px)}}@media (max-width:700px){.dice-home,.dice-room-page,.dice-topbar{width:min(100% - 28px,560px)}.dice-home,.dice-room-page{padding-top:46px}.dice-top-status{display:none}.dice-table-card{padding:18px}.dice-intro h1{font-size:48px}.room-layout,.team-entry-grid{grid-template-columns:1fr}.room-banner{align-items:flex-start;flex-direction:column}.room-code-box{width:100%;box-sizing:border-box}.room-cup-card .solo-cup-stage{min-height:280px}.dice-rules-strip{display:grid}.dice-face{width:50px;height:50px}.dice-cup{transform:translateX(-50%) scale(.88)}.room-progress{flex-wrap:wrap;gap:10px}.room-progress span+span{padding-left:10px}.room-player{min-height:50px}}.stat-row strong{color:#29443a;font-weight:730}.tag-line{color:#2b765f;background:#edf7f3;font-weight:650}.info-list div{border-bottom-color:#edf1ef}.info-list span{color:#8a958f}.info-list strong{color:#44564f;font-weight:630}.action-grid{gap:10px}.community-section{margin-top:26px;padding-top:22px;border-top-color:#e9eeeb}.community-heading h3{color:#29443a;font-weight:720}.community-heading>span{color:#2b765f;background:#edf7f3;font-weight:700}.review-form{border-color:#e8eeea;border-radius:14px;background:#fafcfb}.review-form textarea{color:#31463e;background:#f1f5f3}.mini-primary,.upload-button{border:0;color:#fff;background:#2b8a6e;font-weight:700;box-shadow:none}.community-empty{color:#87938d;background:#f6f8f7}.review-item{border:1px solid #edf1ef;background:#fafcfb}.review-meta strong{color:#40564e}.menu-help{color:#87938d}.menu-gallery a{border-color:#e8eeea;background:#f5f8f6}.about-card .brand-mark.large{margin-bottom:24px}.promise-list span{color:#2b765f;background:#edf7f3;font-weight:700}@media (max-width:520px){.dialog-layer{padding:16px}.bottom-layer{padding:0}.dialog-card,.intro-card{padding:26px 22px;border-radius:22px}.bottom-sheet{padding-inline:21px}}.dice-app{background:#111817}.solo-cup-stage{isolation:isolate;min-height:292px;border:1px solid #38504b;border-radius:22px;background:radial-gradient(circle at 50% 32%,#24423b 0,#182a27 52%,#12201e 100%);box-shadow:inset 0 1px 0 rgb(255 255 255/7%),inset 0 -28px 50px rgb(0 0 0/18%)}.solo-cup-stage:before{position:absolute;top:17px;right:17px;left:17px;height:1px;background:linear-gradient(90deg,transparent,rgb(161 211 187/16%),transparent);content:""}.solo-cup-stage:after{right:12%;bottom:17px;left:12%;height:8px;border-radius:50%;background:rgb(0 0 0/25%);filter:blur(7px)}.dice-face{border-color:#c7cec7;border-radius:14px;background:linear-gradient(145deg,#fffdf4,#e5e2d8 72%,#c5c8bf);box-shadow:inset 2px 2px 0 rgb(255 255 255/70%),0 6px 0 #9da69e,0 13px 20px rgb(0 0 0/24%)}.dice-set.is-covered .dice-face{transform:scale(.72)}.pip{background:#1c2826;box-shadow:inset 1px 1px 1px rgb(255 255 255/18%)}.dice-cup{width:180px;height:190px;bottom:29px;transform-origin:50% 86%;filter:drop-shadow(0 16px 13px rgb(0 0 0/30%));transition:transform .42s cubic-bezier(.22,.75,.24,1),opacity .32s ease,filter .32s ease}.cup-body{right:19px;bottom:0;left:19px;height:137px;border:0;border-radius:18px 18px 38px 38px;background:linear-gradient(90deg,#532b25,#7c3d2b 13%,#a85835 34%,#773725 66%,#4e2924);clip-path:polygon(3% 0,97% 0,83% 100%,17% 100%);box-shadow:inset 13px 0 14px rgb(255 190 115/10%),inset -14px 0 17px rgb(0 0 0/25%),inset 0 -21px 19px rgb(0 0 0/22%)}.cup-body:before{position:absolute;top:0;right:8%;left:8%;height:24px;border:3px solid #c07047;background:#3c2420;box-shadow:inset 0 3px 0 rgb(255 216 159/18%)}.cup-body:after{position:absolute;right:15%;bottom:7px;left:15%;height:7px;border-radius:50%;background:rgb(241 156 91/22%);content:""}.cup-lid{left:4px;width:172px;height:48px;border:3px solid #b96742;border-radius:50%;background:linear-gradient(180deg,#bc7046,#8d432f 56%,#612e28);box-shadow:inset 0 5px 0 rgb(255 218 164/19%),0 7px 8px rgb(0 0 0/20%)}.cup-lid:before{top:8px;right:10px;left:10px;height:23px;background:radial-gradient(ellipse at 50% 25%,#c77a4b 0,#87402e 68%,#642f28 100%)}.cup-lid:after,.cup-lid:before{position:absolute;border-radius:50%;content:""}.cup-lid:after{top:12px;left:45px;width:43px;background:rgb(255 222 167/26%);transform:rotate(-5deg)}.cup-handle{top:-24px;left:64px;width:52px;height:45px;border:9px solid #c17a4d;border-bottom:0;border-radius:30px 30px 0 0;filter:drop-shadow(0 2px 0 rgb(255 220 155/17%))}.cup-handle:after{position:absolute;right:3px;bottom:-1px;left:3px;height:7px;border-radius:50%;background:#713727;content:""}.dice-cup small{right:auto;bottom:-30px;left:50%;width:max-content;padding:5px 10px;border:1px solid rgb(209 159 89/28%);border-radius:99px;color:#e1b67a;background:rgb(28 33 31/82%);font-size:9px;letter-spacing:.12em;transform:translateX(-50%)}.dice-cup.is-open{opacity:.2;filter:drop-shadow(0 8px 6px rgb(0 0 0/18%));transform:translateX(92px) translateY(20px) rotate(24deg)}.all-results,.dice-count-picker button,.dice-mode-switch,.dice-primary-action,.dice-quiet-action,.dice-table-card,.room-cup-card,.room-players-card,.team-create-card,.team-join-card{border-radius:14px}.dice-primary-action,.dice-quiet-action,.team-join-card button{min-height:50px;border-radius:13px}@media (max-width:700px){.dice-topbar{width:calc(100% - 32px);height:60px}.dice-back{display:inline-flex;min-height:44px;align-items:center}.dice-home,.dice-room-page{width:calc(100% - 32px);padding:28px 0 38px}.dice-intro h1{font-size:40px;line-height:1.05}.dice-intro>p:last-child{margin-top:14px;font-size:13px;line-height:1.65}.dice-mode-switch{display:flex;width:100%;box-sizing:border-box;margin:26px 0 12px}.dice-mode-switch button{flex:1 1;min-width:0;min-height:44px;padding:10px 8px;border-radius:9px}.dice-table-card{padding:16px}.dice-card-heading{align-items:center}.dice-card-heading h2{font-size:20px}.dice-round-chip{padding:6px 7px;font-size:8px;white-space:nowrap}.dice-count-picker{gap:6px;margin:20px 0 14px}.dice-count-picker button{flex:1 1;min-width:0;min-height:48px;border-radius:11px}.dice-name-field{display:grid;gap:7px;margin-bottom:16px}.dice-name-field input,.team-join-card input{width:100%;box-sizing:border-box;min-height:44px;border-radius:10px}.solo-cup-stage{min-height:246px;border-radius:18px}.solo-cup-stage:before{top:13px;right:13px;left:13px}.dice-set{gap:8px;max-width:calc(100% - 16px)}.dice-face{width:46px;height:46px;border-radius:12px;box-shadow:inset 2px 2px 0 rgb(255 255 255/70%),0 5px 0 #9da69e,0 10px 16px rgb(0 0 0/24%)}.pip{width:8px;height:8px}.dice-question{font-size:24px}.dice-cup{width:154px;height:164px;bottom:26px;transform:translateX(-50%) scale(.88)}.dice-cup.is-open{transform:translateX(56px) translateY(22px) rotate(24deg) scale(.88)}.cup-body{height:119px}.cup-lid{width:146px;height:42px}.cup-handle{top:-22px;left:53px;width:46px;height:40px}.dice-action-row{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}.dice-primary-action,.dice-quiet-action{width:100%}.dice-rules-strip{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:7px;margin-top:14px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.dice-rules-strip::-webkit-scrollbar{display:none}.dice-rules-strip span{flex:0 0 auto;padding:7px 9px;border:1px solid #2d403c;border-radius:99px;color:#81938d;background:#172421;white-space:nowrap}.team-entry-grid{gap:9px;margin-top:20px}.team-create-card,.team-join-card{min-height:132px;padding:17px}.room-banner{gap:16px}.room-banner h1{font-size:38px}.room-code-box{min-width:0;padding:14px 16px;border-radius:14px}.room-code-box strong{font-size:29px}.room-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:24px 0 12px}.room-progress span{min-width:0;text-align:center;line-height:1.5}.room-progress span:first-child{text-align:left}.room-progress span:last-child{text-align:right}.room-progress span+span{padding-left:7px}.all-results,.room-cup-card,.room-players-card{padding:16px}.room-cup-card .solo-cup-stage{min-height:258px}.room-cup-card .dice-cup{bottom:31px}.room-cup-card .dice-cup.is-open{transform:translateX(56px) translateY(22px) rotate(24deg) scale(.88)}.room-player{grid-template-columns:24px 1fr auto;min-height:52px;padding:8px}.player-state{font-size:8px}.all-results-grid{grid-template-columns:1fr}}@media (max-width:360px){.dice-home,.dice-room-page{width:calc(100% - 24px)}.all-results,.dice-table-card,.room-cup-card,.room-players-card{padding:13px}.dice-card-heading h2{font-size:18px}.dice-face{width:42px;height:42px}.dice-cup{transform:translateX(-50%) scale(.78)}.dice-cup.is-open{transform:translateX(42px) translateY(24px) rotate(24deg) scale(.78)}}.dice-base{z-index:0;bottom:23px;left:50%;width:min(230px,62%);height:28px;border:3px solid #a8663d;background:radial-gradient(ellipse at 50% 35%,#a85d37 0,#6d382a 62%,#3f2723 100%);box-shadow:0 8px 12px rgb(0 0 0/32%),inset 0 3px 0 rgb(239 171 105/18%);transform:translateX(-50%)}.dice-base,.dice-base:after{position:absolute;border-radius:50%}.dice-base:after{right:13%;bottom:4px;left:13%;height:4px;background:rgb(255 205 131/18%);content:""}.dice-cup{pointer-events:none;transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1))}.dice-cup.is-pullable{pointer-events:auto;touch-action:none;cursor:grab}.dice-cup.is-pulling{cursor:grabbing;transition:none;animation:none!important}.dice-cup.is-open{opacity:.98;filter:drop-shadow(0 13px 12px rgb(0 0 0/28%));transform:translateX(-50%) translateY(-112px)}.dice-cup.is-open small{opacity:0}.dice-set{transition:opacity .18s ease}@media (max-width:700px){.dice-base{bottom:19px;width:190px;height:24px}.dice-cup{width:154px;height:164px;bottom:26px;transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1)) scale(.88)}.dice-cup.is-open{transform:translateX(-50%) translateY(-105px) scale(.88)}.cup-body{height:119px}.cup-lid{width:146px;height:42px}.cup-handle{top:-22px;left:53px;width:46px;height:40px}}@media (max-width:360px){.dice-base{width:174px}.dice-cup{transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1)) scale(.78)}.dice-cup.is-open{transform:translateX(-50%) translateY(-99px) scale(.78)}}.solo-cup-stage{min-height:340px}.dice-base{width:min(280px,68%);height:34px;bottom:25px}.dice-cup{width:230px;height:240px;bottom:30px}.cup-body{right:17px;left:17px;height:174px;border-radius:24px 24px 48px 48px;background:linear-gradient(90deg,#422722,#6d332a 10%,#a35636 29%,#7a3b2b 57%,#512923 84%,#382321);box-shadow:inset 16px 0 17px rgb(255 193 116/11%),inset -16px 0 20px rgb(0 0 0/28%),inset 0 -22px 22px rgb(0 0 0/22%)}.cup-body:before{top:16%;right:auto;left:18%;width:9%;height:63%;border:0;border-radius:50%;background:linear-gradient(180deg,rgb(255 222 166/22%),transparent);box-shadow:none;content:"";transform:rotate(5deg)}.cup-body:after{right:13%;bottom:6px;left:13%;height:9px;background:linear-gradient(90deg,transparent,rgb(255 189 105/35%),transparent)}.cup-lid{top:8px;left:5px;width:220px;height:57px;border:4px solid #c0784b;background:radial-gradient(ellipse at 50% 36%,#2b201d 0,#513027 58%,#91472f 61%,#6c3329 100%);box-shadow:inset 0 5px 0 rgb(255 222 167/18%),0 8px 10px rgb(0 0 0/24%)}.cup-lid:before{top:9px;height:26px;background:radial-gradient(ellipse at 50% 24%,#42322b 0,#211a18 74%);box-shadow:inset 0 2px 4px rgb(0 0 0/45%)}.cup-lid:after{top:13px;left:59px;width:50px;height:5px}.cup-handle{top:-26px;left:80px;width:61px;height:49px;border-width:10px}.dice-cup.is-open{transform:translateX(-50%) translateY(-145px)}@media (max-width:700px){.room-cup-card .solo-cup-stage,.solo-cup-stage{min-height:310px}.dice-base{width:240px;height:31px;bottom:21px}.dice-cup{width:224px;height:232px;bottom:27px;transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1)) scale(.88)}.dice-cup.is-open{transform:translateX(-50%) translateY(-136px) scale(.88)}.cup-body{height:168px}.cup-lid{width:214px;height:54px}.cup-handle{top:-25px;left:78px;width:58px;height:47px}}@media (max-width:360px){.room-cup-card .solo-cup-stage,.solo-cup-stage{min-height:294px}.dice-base{width:218px}.dice-cup{width:210px;height:222px;transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1)) scale(.82)}.dice-cup.is-open{transform:translateX(-50%) translateY(-126px) scale(.82)}.cup-body{height:160px}.cup-lid{width:200px;height:51px}.cup-handle{left:72px}}.solo-cup-stage{min-height:390px}.dice-set{position:absolute;bottom:50px;left:50%;width:min(430px,86%);pointer-events:none;transform:translateX(-50%)}.dice-base{bottom:19px;width:min(300px,72%);height:46px;border-width:3px;background:radial-gradient(ellipse at 50% 31%,#b26a40 0,#7b402f 61%,#402621 100%);box-shadow:0 10px 16px rgb(0 0 0/34%),inset 0 4px 0 rgb(255 205 131/20%),inset 0 -7px 0 rgb(0 0 0/18%)}.dice-base:before{position:absolute;top:8px;right:7%;left:7%;height:18px;border:1px solid rgb(255 213 152/38%);border-radius:50%;content:""}.dice-cup{bottom:31px}.cup-handle{display:none}.cup-body{right:10px;left:10px;height:177px;clip-path:polygon(1% 0,99% 0,94% 100%,6% 100%)}.cup-lid{top:6px;left:0;width:230px;height:60px}.cup-lid:before{top:10px;right:14px;left:14px;height:29px}.dice-cup.is-open{transform:translateX(-50%) translateY(-151px)}@media (max-width:700px){.room-cup-card .solo-cup-stage,.solo-cup-stage{min-height:380px}.dice-set{bottom:54px;width:calc(100% - 22px)}.dice-base{bottom:18px;width:244px;height:45px}.dice-cup{bottom:29px}.cup-body{height:168px}.cup-lid{width:224px;height:56px}.dice-cup.is-open{transform:translateX(-50%) translateY(-145px) scale(.88)}}@media (max-width:360px){.room-cup-card .solo-cup-stage,.solo-cup-stage{min-height:354px}.dice-base{width:224px;height:42px}.dice-cup.is-open{transform:translateX(-50%) translateY(-133px) scale(.82)}}@media (max-width:700px){.dice-home,.dice-room-page{padding-top:22px}.dice-intro h1{font-size:36px}.dice-intro>p:last-child{margin-top:10px}.dice-mode-switch{margin-top:18px}.dice-table-card{padding:14px}.dice-count-picker{margin-top:14px;margin-bottom:10px}.dice-name-field{margin-bottom:10px}.room-cup-card .solo-cup-stage,.solo-cup-stage{min-height:330px}.dice-set{bottom:49px}.dice-base{bottom:16px}.dice-cup{bottom:26px}}@media (max-width:360px){.room-cup-card .solo-cup-stage,.solo-cup-stage{min-height:310px}}.dice-set{width:min(296px,88%);height:142px;display:block}.dice-face{position:absolute;top:var(--die-top);left:var(--die-left);width:58px;height:58px;border:0;border-radius:0;background:transparent;box-shadow:none;perspective:420px;transform:rotate(var(--die-rotate)) scale(var(--die-scale));transform-origin:50% 75%;filter:drop-shadow(0 8px 5px rgb(0 0 0/30%));transition:opacity .25s ease,transform .25s ease}.die-cube{transform:rotateX(-19deg) rotateY(25deg);transform-style:preserve-3d}.die-cube,.die-side{position:absolute;inset:0}.die-side{overflow:hidden;border:2px solid #d2d0c6;border-radius:12px;background:linear-gradient(145deg,#fffef7,#f0eee5 56%,#c4c5bd);box-shadow:inset 3px 3px 0 rgb(255 255 255/72%),inset -5px -6px 8px rgb(85 88 84/22%);backface-visibility:hidden}.die-front{transform:translateZ(29px)}.die-right{border-color:#bdbdb7;background:linear-gradient(90deg,#d8d8d0,#b7b9b3);transform:rotateY(90deg) translateZ(29px)}.die-top{border-color:#dddcd2;background:linear-gradient(145deg,#fffef8,#e4e2d8);transform:rotateX(90deg) translateZ(29px)}.die-side .pip{width:9px;height:9px;background:#ad1828;box-shadow:inset 1px 1px 1px rgb(255 255 255/30%),0 1px 1px rgb(0 0 0/26%)}.die-right .pip{background:#b91b2c}.die-top .pip{background:#20252a}.dice-set.is-covered .dice-face{opacity:0;transform:rotate(var(--die-rotate)) scale(calc(var(--die-scale) * .72))}.dice-question{z-index:5;border-radius:12px;color:#8c948e;background:#273a35;box-shadow:inset 0 0 0 2px #52675f}.dice-set .dice-face{transform:rotate(var(--die-rotate)) scale(var(--die-scale))}.dice-base{border-color:#a88445;background:radial-gradient(ellipse at 50% 32%,#2f5a4c 0,#163b31 62%,#0b241e 100%);box-shadow:0 12px 17px rgb(0 0 0/36%),inset 0 4px 0 rgb(237 198 117/25%),inset 0 -8px 0 rgb(0 0 0/25%)}.dice-base:before{border-color:rgb(221 180 100/46%)}.cup-body{border:2px solid #8e5d35;border-top:0;background:linear-gradient(90deg,#1d1016,#421524 16%,#6a1d2f 38%,#421524 66%,#1a1016);box-shadow:inset 13px 0 16px rgb(235 157 83/9%),inset -16px 0 20px rgb(0 0 0/40%),inset 0 -22px 22px rgb(0 0 0/34%),0 7px 0 #24131a}.cup-body:before{left:14%;width:7%;background:linear-gradient(180deg,rgb(255 220 162/28%),transparent)}.cup-body:after{right:10%;bottom:4px;left:10%;height:8px;background:linear-gradient(90deg,transparent,#c4934c 22%,#e0b46b 50%,#9c6d35 79%,transparent)}.cup-lid{border-color:#c69b51;background:radial-gradient(ellipse at 50% 40%,#080b0d 0,#151217 58%,#5b2430 62%,#9b7038 88%,#c79b51 100%);box-shadow:inset 0 4px 0 rgb(255 231 174/25%),0 8px 12px rgb(0 0 0/34%)}.cup-lid:before{background:radial-gradient(ellipse at 50% 30%,#30313a 0,#08090c 72%)}.cup-lid:after{background:rgb(255 223 151/40%)}.result-player .dice-set{position:relative;bottom:auto;left:auto;width:126px;height:40px;transform:none}.result-player .dice-face{width:34px;height:34px}.result-player .die-front{transform:translateZ(17px)}.result-player .die-right{transform:rotateY(90deg) translateZ(17px)}.result-player .die-top{transform:rotateX(90deg) translateZ(17px)}.result-player .die-side{border-radius:7px;border-width:1px}.result-player .die-side .pip{width:5px;height:5px}@media (max-width:700px){.dice-set{width:296px;height:142px;bottom:48px}.dice-face{width:56px;height:56px}.die-front{transform:translateZ(28px)}.die-right{transform:rotateY(90deg) translateZ(28px)}.die-top{transform:rotateX(90deg) translateZ(28px)}.dice-base{width:244px}}@media (max-width:360px){.dice-set{width:274px;height:132px;bottom:44px}.dice-face{width:52px;height:52px}.die-front{transform:translateZ(26px)}.die-right{transform:rotateY(90deg) translateZ(26px)}.die-top{transform:rotateX(90deg) translateZ(26px)}.dice-base{width:224px}}@media (max-width:700px){.dice-set{bottom:7px}}@media (max-width:360px){.dice-set{bottom:5px}}.dice-app .solo-cup-stage{min-height:382px;border:1px solid #294d62;border-radius:22px;background:radial-gradient(circle at 50% 24%,#1b4057 0,#122b3a 45%,#0b1b29 100%);box-shadow:inset 0 1px 0 rgb(255 255 255/8%),inset 0 -34px 55px rgb(0 0 0/28%)}.dice-app .solo-cup-stage:before{right:11%;left:11%;background:linear-gradient(90deg,transparent,rgb(133 205 241/22%),transparent)}.dice-app .solo-cup-stage:after{right:9%;bottom:20px;left:9%;height:12px;background:rgb(0 4 9/46%);filter:blur(8px)}.dice-app .dice-set{z-index:1;bottom:25px;width:286px;height:182px}.dice-app .dice-face{width:76px;height:76px;filter:drop-shadow(0 9px 5px rgb(0 0 0/34%))}.dice-app .dice-face:nth-child(4){z-index:2}.dice-app .dice-set.is-rolling .dice-face{animation:diceTumble3d .2s ease-in-out infinite alternate}.dice-app .dice-base{z-index:0;bottom:17px;width:286px;height:52px;border:3px solid #327eb5;background:radial-gradient(ellipse at 50% 30%,#4a8ed0 0,#2769a9 47%,#123d73 80%,#09244a 100%);box-shadow:0 13px 18px rgb(0 0 0/45%),inset 0 4px 0 rgb(157 224 255/42%),inset 0 -9px 0 rgb(3 20 44/50%)}.dice-app .dice-base:before{top:7px;right:5%;left:5%;height:29px;border:2px solid rgb(144 215 255/38%);background:radial-gradient(ellipse at 50% 32%,#193f70 0,#102e58 74%,#0b2345 100%)}.dice-app .dice-base:after{right:7%;bottom:-5px;left:7%;height:12px;border:1px solid rgb(93 180 239/65%)}.dice-app .cup-handle,.dice-app .cup-lid{display:none!important}.dice-app .dice-cup{z-index:3;width:238px;height:252px;filter:drop-shadow(0 18px 14px rgb(0 0 0/42%));transform-origin:50% 88%;transition:transform .48s cubic-bezier(.2,.78,.2,1),opacity .28s ease,filter .28s ease}.dice-app .dice-cup.is-shaking{animation:cupShake .1s ease-in-out infinite alternate}.dice-app .cup-body{top:19px;right:8px;left:8px;border:2px solid rgb(99 177 236/80%);border-radius:20px 20px 50px 50px/22px 22px 42px 42px;clip-path:none;background:linear-gradient(90deg,#071c3c,#123e78 11%,#2672b8 27%,#1f65ad 43%,#155096 64%,#0d326a 84%,#061b3b),radial-gradient(ellipse at 50% 24%,rgb(102 194 255/42%),transparent 62%);background-blend-mode:screen,normal;box-shadow:inset 18px 0 22px rgb(109 207 255/16%),inset -19px 0 22px rgb(0 6 24/48%),inset 0 -32px 28px rgb(0 9 31/40%),0 8px 0 rgb(4 20 43/70%)}.dice-app .cup-body:before{top:-18px;right:-3px;left:-3px;height:43px;border:3px solid #68baff;background:radial-gradient(ellipse at 50% 39%,#030a13 0,#07172a 54%,#164475 62%,#3e89c5 81%,#73c6ff 100%);box-shadow:inset 0 4px 5px rgb(141 216 255/25%),0 4px 7px rgb(0 7 20/48%)}.dice-app .cup-body:after{right:-4px;bottom:-8px;left:-4px;height:30px;border:2px solid rgb(74 157 221/85%);background:linear-gradient(180deg,rgb(51 133 201/88%),rgb(9 40 83/94%));box-shadow:inset 0 4px 0 rgb(154 222 255/28%),0 5px 0 rgb(2 13 34/62%)}.dice-app .dice-cup.is-ready .cup-body{box-shadow:inset 18px 0 22px rgb(109 207 255/16%),inset -19px 0 22px rgb(0 6 24/48%),inset 0 -32px 28px rgb(0 9 31/40%),0 0 24px rgb(91 186 255/20%)}.dice-app .dice-cup.is-open{opacity:.98;filter:drop-shadow(0 12px 10px rgb(0 0 0/30%));transform:translateX(-50%) translateY(-170px)}.dice-app .dice-cup small{border:1px solid rgb(104 184 234/30%);color:#a9d8f3;background:rgb(5 18 33/84%)}@keyframes diceTumble3d{0%{transform:rotate(calc(var(--die-rotate) - 10deg)) scale(calc(var(--die-scale) * .97))}to{transform:rotate(calc(var(--die-rotate) + 13deg)) scale(var(--die-scale))}}.dice-app .result-player .dice-set{position:relative;right:auto;bottom:auto;left:auto;width:142px;height:56px;display:block;transform:none}.dice-app .result-player .dice-face{width:39px;height:39px;filter:drop-shadow(0 4px 3px rgb(0 0 0/28%))}.dice-app .result-player .dice-face:first-child{z-index:2}.dice-app .result-player .dice-face:nth-child(2){z-index:1}.dice-app .result-player .dice-face:nth-child(3){z-index:5}.dice-app .result-player .dice-face:nth-child(4){z-index:2}.dice-app .result-player .dice-face:nth-child(5){z-index:4}@media (max-width:700px){.dice-app .room-cup-card .solo-cup-stage,.dice-app .solo-cup-stage{min-height:350px}.dice-app .dice-set{bottom:25px;width:274px;height:174px}.dice-app .dice-face{width:70px;height:70px}.dice-app .dice-base{bottom:16px;width:264px;height:49px}.dice-app .dice-cup{width:224px;height:238px;bottom:27px}.dice-app .dice-cup.is-open{transform:translateX(-50%) translateY(-160px)}.dice-app .cup-body{top:18px}.dice-app .cup-body:before{height:40px}.dice-app .cup-body:after{height:28px}.dice-app .room-cup-card .dice-cup{bottom:31px}.dice-app .room-cup-card .dice-cup.is-open{transform:translateX(-50%) translateY(-160px)}}@media (max-width:360px){.dice-app .room-cup-card .solo-cup-stage,.dice-app .solo-cup-stage{min-height:332px}.dice-app .dice-set{bottom:22px;width:256px;height:164px}.dice-app .dice-face{width:65px;height:65px}.dice-app .dice-base{bottom:14px;width:238px;height:45px}.dice-app .dice-cup{width:210px;height:224px;bottom:24px}.dice-app .dice-cup.is-open{transform:translateX(-50%) translateY(-150px)}.dice-app .room-cup-card .dice-cup{bottom:27px}.dice-app .room-cup-card .dice-cup.is-open{transform:translateX(-50%) translateY(-150px)}}.dice-app{--dice-paper:#f3f1ed;--dice-card:#fffefa;--dice-ink:#211f1d;--dice-muted:#8b847b;--dice-red:#a81925;min-height:100dvh;overflow-x:hidden;color:var(--dice-ink);background:radial-gradient(circle at 50% -12%,#ffffff 0,rgb(255 255 255/0) 42%),var(--dice-paper)}.dice-app .dice-topbar{height:72px;border-bottom-color:#dfdbd4}.dice-app .dice-back{color:#756e66}.dice-app .dice-back:hover{color:var(--dice-red)}.dice-app .dice-brand{color:var(--dice-ink)}.dice-app .dice-brand-mark{width:30px;height:30px;border:0;border-radius:8px;color:#fffaf0;background:#252321;box-shadow:0 3px 0 rgb(0 0 0/12%);transform:rotate(-7deg)}.dice-app .dice-top-status{color:#9b948b}.dice-app .dice-home,.dice-app .dice-room-page{padding-top:62px}.dice-app .dice-kicker,.dice-app .dice-overline{color:var(--dice-red)}.dice-app .dice-intro h1,.dice-app .room-banner h1{color:var(--dice-ink)}.dice-app .dice-intro h1 em{color:var(--dice-red)}.dice-app .dice-intro>p:last-child{color:#7f7870}.dice-app .dice-mode-switch{border-color:#ded8cf;border-radius:12px;background:#e9e5df}.dice-app .dice-mode-switch button{color:#867f77}.dice-app .dice-mode-switch button.is-active{color:#fffdf8;background:#242220;box-shadow:0 3px 8px rgb(32 29 26/14%)}.dice-app .dice-table-card{border-color:#e5dfd6;border-radius:18px;background:rgb(255 254 250/92%);box-shadow:0 18px 50px rgb(49 42 35/10%)}.dice-app .dice-card-heading h2,.dice-app .room-card-heading h2{color:var(--dice-ink)}.dice-app .dice-round-chip{border-color:#dfd8ce;color:#968e84}.dice-app .dice-count-picker button{border-color:#ded8cf;color:#706960;background:#f8f6f1}.dice-app .dice-count-picker button small{color:#a29b92}.dice-app .dice-count-picker button.is-selected{border-color:#282522;color:#fffdf8;background:#282522;box-shadow:inset 0 -3px 0 var(--dice-red),0 5px 10px rgb(33 31 29/12%)}.dice-app .dice-name-field{color:#817970}.dice-app .dice-name-field input,.dice-app .team-join-card input{border-color:#ded8cf;color:var(--dice-ink);background:#faf8f4}.dice-app .dice-name-field input:focus,.dice-app .team-join-card input:focus{border-color:var(--dice-red)}.dice-app .solo-cup-stage{min-height:406px;overflow:hidden;isolation:isolate;border:1px solid #e3ded6;border-radius:20px;background:radial-gradient(ellipse at 62% 18%,#ffffff 0,rgb(255 255 255/0) 43%),linear-gradient(145deg,#fbfaf7,#f1eee9);box-shadow:inset 0 1px 0 rgb(255 255 255/90%),inset 0 -26px 42px rgb(85 74 61/6%),0 8px 24px rgb(61 51 42/7%);perspective:1000px}.dice-app .solo-cup-stage:before{top:16px;right:14%;left:14%;height:1px;background:linear-gradient(90deg,transparent,rgb(130 119 106/12%),transparent)}.dice-app .solo-cup-stage:after{right:8%;bottom:22px;left:8%;height:24px;border-radius:50%;background:radial-gradient(ellipse,rgb(44 36 29/22%) 0,rgb(44 36 29/0) 72%);filter:blur(7px);z-index:0}.dice-app .dice-base{z-index:1;bottom:22px;width:310px;height:58px;border:2px solid #242321;border-radius:50%;background:radial-gradient(ellipse at 50% 37%,#71101a 0,#460911 34%,#21070b 51%,#121110 54%,#060606 100%);box-shadow:0 17px 20px rgb(38 31 25/25%),inset 0 5px 0 rgb(255 255 255/11%),inset 0 -9px 0 rgb(0 0 0/46%)}.dice-app .dice-base:before{position:absolute;top:8px;right:7%;left:7%;width:auto;height:33px;border:1px solid rgb(226 210 184/38%);border-radius:50%;background:radial-gradient(ellipse at 50% 38%,#8c1721 0,#4b080f 48%,#20060b 73%,#0d0d0c 100%);box-shadow:inset 0 -5px 6px rgb(0 0 0/30%);content:""}.dice-app .dice-base:after{position:absolute;right:4%;bottom:-3px;left:4%;height:19px;border:2px dashed #d9cdb8;border-radius:50%;background:transparent;content:"";opacity:.9}.dice-app .dice-set{position:absolute;z-index:2;right:auto;bottom:-5px;left:50%;width:350px;height:190px;display:block;max-width:none;pointer-events:none;transform:translateX(-50%)}.dice-app .dice-face{position:absolute;top:var(--die-top);left:var(--die-left);width:92px;height:92px;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 10px 6px rgb(44 35 26/24%));transform:rotate(var(--die-rotate)) scale(var(--die-scale));transform-origin:50% 78%;transition:opacity .25s ease,transform .25s ease}.dice-app .dice-face:first-child{z-index:2}.dice-app .dice-face:nth-child(2){z-index:1}.dice-app .dice-face:nth-child(3){z-index:5}.dice-app .dice-face:nth-child(4){z-index:3}.dice-app .dice-face:nth-child(5){z-index:4}.dice-app .die-svg{width:100%;height:100%;display:block;overflow:visible}.dice-app .dice-face .dice-question{display:none}.dice-app .dice-set.is-covered .dice-face{opacity:0;transform:rotate(var(--die-rotate)) scale(calc(var(--die-scale) * .72))}.dice-app .dice-set.is-rolling .dice-face{animation:diceReferenceRock .16s ease-in-out infinite alternate}.dice-app .dice-cup{z-index:4;width:258px;height:264px;bottom:29px;pointer-events:none;filter:drop-shadow(0 18px 15px rgb(40 32 24/25%));transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1));transform-origin:50% 90%;transition:transform .46s cubic-bezier(.2,.78,.2,1),filter .28s ease}.dice-app .dice-cup.is-pullable{pointer-events:auto;touch-action:none;cursor:grab}.dice-app .dice-cup.is-pulling{cursor:grabbing;transition:none;animation:none!important}.dice-app .dice-cup.is-shaking{animation:diceCupShake .1s ease-in-out infinite alternate}.dice-app .cup-body{position:absolute;top:23px;right:7px;bottom:0;left:7px;height:auto;border:2px solid #171616;border-top:0;border-radius:25px 25px 45px 45px/24px 24px 34px 34px;background:radial-gradient(ellipse at 30% 15%,rgb(255 255 255/17%) 0,rgb(255 255 255/0) 18%),repeating-linear-gradient(106deg,rgb(255 255 255/3%) 0 1px,rgb(0 0 0/0) 1px 4px),linear-gradient(90deg,#080808,#252322 17%,#111110 40%,#302e2c 66%,#171716 84%,#050505);background-blend-mode:screen,soft-light,normal;box-shadow:inset 17px 0 19px rgb(255 255 255/5%),inset -19px 0 23px rgb(0 0 0/52%),inset 0 -30px 28px rgb(0 0 0/40%),0 8px 0 #090909}.dice-app .cup-body:before{position:absolute;top:-23px;right:-7px;left:-7px;width:auto;height:57px;border:3px dashed #ded3bf;border-radius:50%;background:radial-gradient(ellipse at 50% 44%,#7c101b 0,#4b0710 49%,#28040a 58%,#131211 60%,#050505 100%);box-shadow:inset 0 5px 8px rgb(255 255 255/10%),inset 0 -10px 10px rgb(0 0 0/42%),0 2px 0 #090909,0 5px 8px rgb(0 0 0/24%);content:""}.dice-app .cup-body:after{position:absolute;right:-8px;bottom:-10px;left:-8px;width:auto;height:40px;border:2px dashed #d8cdb9;border-radius:50%;background:linear-gradient(180deg,#2d2b29,#111110 62%,#050505);box-shadow:inset 0 5px 0 rgb(255 255 255/8%),inset 0 -7px 6px rgb(0 0 0/46%),0 5px 0 #090909;content:""}.dice-app .dice-cup.is-ready .cup-body{box-shadow:inset 17px 0 19px rgb(255 255 255/6%),inset -19px 0 23px rgb(0 0 0/52%),inset 0 -30px 28px rgb(0 0 0/40%),0 8px 0 #090909,0 0 0 2px rgb(168 25 37/11%)}.dice-app .dice-cup.is-open{filter:drop-shadow(0 13px 11px rgb(40 32 24/18%));transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1))}.dice-app .dice-cup.is-open small{opacity:0}.dice-app .dice-cup small{right:auto;bottom:-30px;left:50%;width:max-content;padding:5px 10px;border:1px solid #e0d8cd;border-radius:99px;color:#776e65;background:rgb(255 254 250/92%);font-size:9px;letter-spacing:.12em;transform:translateX(-50%)}.dice-app .dice-action-row{margin-top:18px}.dice-app .dice-primary-action,.dice-app .dice-quiet-action,.dice-app .team-join-card button{border-radius:12px}.dice-app .dice-primary-action{color:#fffdf8;background:#252321;box-shadow:0 5px 12px rgb(37 35 33/14%)}.dice-app .dice-primary-action:hover{background:#111110}.dice-app .dice-primary-action span{color:#e8cbbb}.dice-app .dice-quiet-action{border-color:#ded8cf;color:#6e675f;background:#faf8f4}.dice-app .dice-rules-strip{color:#968e84}.dice-app .dice-rules-strip span{border-color:#e0dad1;color:#887f76;background:#faf8f4}.dice-app .dice-error{color:#b3222e}.dice-app .team-create-card,.dice-app .team-join-card{border-color:#e3ddd4;background:#faf8f4}.dice-app .team-create-card strong{color:var(--dice-ink)}.dice-app .team-create-card span,.dice-app .team-join-card label{color:#8f877e}.dice-app .team-create-card b{color:var(--dice-red)}.dice-app .team-join-card button{color:#fffdf8;background:#252321}.dice-app .room-progress{color:#817970}.dice-app .all-results,.dice-app .room-code-box,.dice-app .room-cup-card,.dice-app .room-players-card{border-color:#e3ddd4;background:rgb(255 254 250/94%);box-shadow:0 14px 36px rgb(49 42 35/8%)}.dice-app .room-code-box strong{color:var(--dice-red)}.dice-app .room-code-box small,.dice-app .room-code-box span{color:#938a80}.dice-app .room-player{border-color:#e6e0d8}.dice-app .room-player.is-you{border-color:rgb(168 25 37/45%);background:#fff8f4}.dice-app .player-index,.dice-app .room-player small{color:#948c83}.dice-app .room-player strong{color:var(--dice-ink)}.dice-app .result-player>div i,.dice-app .room-player strong i{color:var(--dice-red)}.dice-app .player-state{color:#a19a92}.dice-app .player-state.is-rolled{color:#ae7a43}.dice-app .player-state.is-revealed{color:#29806a}.dice-app .room-rule-callout{border-left-color:var(--dice-red);color:#7f776e;background:#faf7f2}.dice-app .result-player{border-color:#e6e0d8}.dice-app .result-player.is-you{border-color:rgb(168 25 37/45%)}.dice-app .result-player>div{color:var(--dice-ink)}.dice-app .result-player>b{color:var(--dice-red)}.dice-app .result-player>b small{color:#948c83}.dice-app .leave-room{color:#8c847b}.dice-app .leave-room:hover{color:var(--dice-red)}@keyframes diceCupShake{0%{transform:translateX(-50%) translateY(0) rotate(-1.2deg)}to{transform:translateX(-50%) translateY(0) rotate(1.2deg)}}@keyframes diceReferenceRock{0%{transform:rotate(calc(var(--die-rotate) - 2deg)) scale(var(--die-scale))}to{transform:rotate(calc(var(--die-rotate) + 2deg)) scale(var(--die-scale))}}@media (max-width:700px){.dice-app .dice-topbar{height:60px}.dice-app .dice-home,.dice-app .dice-room-page{padding-top:28px}.dice-app .dice-intro h1{font-size:40px}.dice-app .dice-table-card{padding:15px}.dice-app .room-cup-card .solo-cup-stage,.dice-app .solo-cup-stage{min-height:382px}.dice-app .dice-set{bottom:-2px;width:330px;height:184px}.dice-app .dice-face{width:88px;height:88px}.dice-app .dice-base{bottom:21px;width:296px;height:55px}.dice-app .dice-cup{width:226px;height:238px;bottom:28px}.dice-app .dice-cup.is-open{transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1))}.dice-app .cup-body{top:21px}.dice-app .cup-body:before{height:52px}.dice-app .cup-body:after{height:37px}.dice-app .dice-primary-action,.dice-app .dice-quiet-action{min-height:50px}.dice-app .room-cup-card .dice-cup{bottom:29px}}@media (max-width:360px){.dice-app .dice-home,.dice-app .dice-room-page{width:calc(100% - 24px)}.dice-app .room-cup-card .solo-cup-stage,.dice-app .solo-cup-stage{min-height:360px}.dice-app .dice-set{bottom:39px;width:306px;height:202px}.dice-app .dice-face{width:87px;height:87px}.dice-app .dice-base{bottom:19px;width:274px;height:51px}.dice-app .dice-cup{width:208px;height:220px;bottom:25px}.dice-app .dice-cup.is-open{transform:translateX(-50%) translateY(calc(var(--cup-lift, 0px) * -1))}.dice-app .cup-body{top:19px}.dice-app .cup-body:before{height:48px}.dice-app .cup-body:after{height:34px}}.game-entry{margin-top:28px;padding-top:22px;border-top:1px solid #e5ece8}.game-entry-link{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:13px;min-height:70px;padding:11px 15px;border-radius:8px;color:#fff;background:#18352d;box-shadow:0 9px 24px rgba(24,53,45,.14);text-decoration:none}.game-entry-link:active{transform:translateY(1px)}.game-entry-die{position:relative;display:block;width:38px;height:38px;border-radius:7px;background:radial-gradient(circle at 28% 28%,#a81925 0 2.5px,transparent 3px),radial-gradient(circle at 72% 28%,#25211e 0 2.5px,transparent 3px),radial-gradient(circle at 50% 50%,#25211e 0 2.5px,transparent 3px),radial-gradient(circle at 28% 72%,#25211e 0 2.5px,transparent 3px),radial-gradient(circle at 72% 72%,#a81925 0 2.5px,transparent 3px),#fffdf7;box-shadow:inset -3px -4px 7px rgba(59,47,38,.16),0 3px 8px rgba(0,0,0,.2)}.game-entry-copy{display:grid;gap:3px;min-width:0}.game-entry-copy small{color:#a9c9bd;font-size:10px;font-weight:700}.game-entry-copy strong{overflow:hidden;color:#fff;font-size:16px;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.game-entry-arrow{color:#c7ded5;font-size:28px;line-height:1;text-align:right}.city-access-toast{position:fixed;top:calc(env(safe-area-inset-top, 0px) + 18px);left:50%;transform:translateX(-50%);z-index:10000;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:8px;background:#202522;color:#fff;font-size:15px;line-height:1.5;text-align:center;pointer-events:none}.topbar-tools{display:flex;align-items:center;gap:8px}.topbar-game-link{display:grid;width:38px;height:38px;place-items:center;border:1px solid #d9e8df;border-radius:12px;background:#f4fbf7;text-decoration:none}.topbar-game-link:focus-visible{outline:3px solid rgba(43,138,110,.35);outline-offset:3px}.topbar-die{display:grid;width:25px;height:25px;grid-template-columns:repeat(2,1fr);gap:5px;padding:5px;border-radius:6px;background:#fff;box-shadow:0 1px 4px rgba(24,51,43,.18)}.topbar-die i{border-radius:50%;background:#df3d37}.marquee-panel.is-collapsed .marquee-heading{margin-bottom:0}.marquee-heading .marquee-actions{justify-content:normal}.marquee-toggle{min-height:30px;margin-left:auto;padding:4px 7px;border:0;border-radius:8px;color:#b5ddc9;background:transparent;font-size:10px;font-weight:750}.marquee-toggle:focus-visible,.marquee-toggle:hover{color:#effff8;background:rgba(148,221,190,.13)}.marquee-grid[hidden]{display:none}.closing-soon-notice{position:fixed;z-index:2;inset:0;display:grid;place-items:center;padding:24px;color:#dc2626;font-size:clamp(20px,4.2vw,27px);font-weight:900;line-height:1.35;text-align:center;text-shadow:0 1px 0 #fff,0 0 15px #fff,0 0 26px #fff;pointer-events:none;animation:closingSoonBlink .5s ease-in-out 6}@keyframes closingSoonBlink{50%{opacity:.3}}.category-selection-note{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.superadmin-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.superadmin-tools .text-button{font-size:10px}.superadmin-search-scope{display:flex;align-items:center;gap:7px;margin:10px 0 0;color:var(--muted);font-size:11px}.superadmin-search-scope input{width:15px;height:15px;accent-color:var(--red)}.superadmin-login-card form{display:grid;gap:12px;margin-top:22px}.superadmin-city-form label,.superadmin-login-card label{font-size:13px;font-weight:650}.superadmin-city-form select,.superadmin-custom-city input,.superadmin-login-card input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d9e4de;border-radius:12px;background:#f7faf8;color:#18332b;font:inherit}.superadmin-custom-city{display:grid;gap:8px}.superadmin-city-form select:focus-visible,.superadmin-login-card input:focus-visible{outline:2px solid #389378;outline-offset:2px}.superadmin-layer{z-index:160}.dialog-card.superadmin-panel{width:min(100%,720px);text-align:left}.superadmin-city-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin:24px 0}.superadmin-city-form .field-note,.superadmin-city-form label{grid-column:1/-1}.superadmin-city-form .primary-button{margin:0;padding-inline:18px;font-size:12px}.superadmin-city-form .field-note{margin:0}.superadmin-notice{margin:12px 0;padding:12px;border-radius:12px;color:#2a725c;background:#eef7f3;font-size:12px}.superadmin-section{margin-top:24px;padding-top:22px;border-top:1px solid #e5ece8}.superadmin-section h3{margin:0 0 12px;color:#18332b;font-size:15px}.superadmin-section>.field-note{margin:-5px 0 12px}.superadmin-table-wrap{overflow-x:auto;border:1px solid #e5ece8;border-radius:12px}.superadmin-section table{width:100%;border-collapse:collapse;font-size:12px}.superadmin-section td,.superadmin-section th{padding:11px 13px;border-bottom:1px solid #e9efeb;text-align:right;white-space:nowrap}.superadmin-section th:first-child{text-align:left}.superadmin-section thead{background:#f3f8f5;color:#62766a}.superadmin-section tbody th{font-weight:500}.superadmin-section tr:last-child td,.superadmin-section tr:last-child th{border-bottom:0}.superadmin-jobs{display:grid;gap:10px}.superadmin-job{padding:14px;border:1px solid #e5ece8;border-radius:14px;background:#f9fbfa}.superadmin-job header{display:flex;justify-content:space-between;gap:12px;font-size:13px}.superadmin-job-status{color:#62766a;font-size:11px}.superadmin-job-status.is-completed{color:#2a725c}.superadmin-job-status.is-failed{color:#bd5348}.superadmin-job progress{width:100%;height:7px;margin:13px 0 8px;accent-color:#389378}.superadmin-job p{display:flex;justify-content:space-between;gap:10px;margin:0;color:#62766a;font-size:11px}.superadmin-job p.inline-error{margin-top:9px;color:#bd5348}.superadmin-job small{font-size:10px}.superadmin-anomalies{margin:0;padding-left:19px;color:#99613d;font-size:12px;line-height:1.7}@media (max-width:520px){.superadmin-tools{gap:8px}.dialog-card.superadmin-panel{padding:22px 18px}.superadmin-panel .sheet-title h2{font-size:22px}.superadmin-city-form{grid-template-columns:1fr}.superadmin-city-form .primary-button{width:100%}.superadmin-job p{flex-wrap:wrap}.phone-stage{padding:max(10px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) max(30px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}.topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:9px}.sheet-title>div,.topbar>div{min-width:0}.topbar-tools{gap:6px}.close-button,.ghost-icon,.topbar-game-link{width:44px;height:44px}.library-search-box input,.location-search-form input,.review-form input:not([type=radio]):not([type=file]),.review-form textarea,.superadmin-city-form select,.superadmin-custom-city input,.superadmin-login-card input{font-size:16px}.library-search-copy,.library-search-summary{flex-wrap:wrap}.chip-row.categories{grid-template-columns:repeat(4,minmax(0,1fr))}.business-hour-tab,.chip,.district-current,.library-search-more,.location-calibrate,.marquee-toggle,.option,.text-button,.wheel-tools>button{min-height:44px}.chip-row.categories .chip{white-space:normal;line-height:1.35}.filter-summary button{min-height:44px;padding-inline:6px}.filter-heading-with-note{flex-wrap:wrap}.budget-grid,.option-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid .filter-option{padding-inline:8px;white-space:normal}.dialog-layer{padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.dialog-card,.intro-card{min-width:0;max-height:calc(100dvh - max(12px, env(safe-area-inset-top, 0px)) - max(12px, env(safe-area-inset-bottom, 0px)));overscroll-behavior:contain;overflow-wrap:anywhere}.bottom-layer{padding:0 env(safe-area-inset-right,0) 0 env(safe-area-inset-left,0)}.bottom-sheet{min-width:0;max-height:min(92dvh,calc(100dvh - env(safe-area-inset-top, 0px) - 12px));padding-bottom:max(24px,env(safe-area-inset-bottom,0px));overscroll-behavior:contain}.sheet-title h2{overflow-wrap:anywhere;line-height:1.25}.result-hero{gap:11px;padding-right:42px}.result-hero h2{font-size:23px;white-space:normal;line-height:1.25;overflow-wrap:anywhere}.result-stamp{width:48px;height:48px}.info-list strong,.restaurant-award-history-entry,.restaurant-award-history-entry a,.superadmin-anomalies,.superadmin-job header{min-width:0;max-width:100%;overflow-wrap:anywhere}.restaurant-award-history-heading{flex-wrap:wrap}.restaurant-award-badge{max-width:100%;overflow-wrap:anywhere}.community-heading{flex-wrap:wrap}.review-form-top{flex-direction:column;align-items:stretch;gap:4px}.review-form-top>input{min-height:44px}.star-picker{align-self:flex-start}.star-picker button{width:44px;height:44px;padding:0;font-size:23px}.review-area-choice{min-width:0;gap:8px}.review-area-choice legend{font-size:13px;line-height:1.5}.review-area-choice legend span{display:block;margin:3px 0 0;font-size:12px}.review-area-choice label{min-width:86px;min-height:44px;padding:8px 13px;font-size:14px}.review-area-choice input{width:18px;height:18px;min-width:18px}.review-area-choice .review-area-clear{min-height:44px;padding-inline:8px;font-size:12px}.mini-primary,.review-photo-add,.upload-button{min-height:44px;padding:9px 12px;font-size:12px}.review-photo-draft button{top:0;right:0;width:44px;height:44px;border-radius:0 9px 0 12px}.community-error,.menu-help,.review-item p,.review-photo-tools small,.review-submit-row small{font-size:12px}.review-meta,.review-submit-row{flex-wrap:wrap}.review-meta strong{max-width:100%;font-size:12px;overflow-wrap:anywhere}.review-meta span{flex-shrink:0;font-size:12px}.review-meta time{font-size:11px}.promise-list,.superadmin-job header{flex-wrap:wrap}.superadmin-table-wrap{max-width:100%;overscroll-behavior-inline:contain}.admin-page{padding-top:max(24px,env(safe-area-inset-top,0px));padding-bottom:max(32px,env(safe-area-inset-bottom,0px))}.admin-header{align-items:flex-start;flex-wrap:wrap}.admin-login{padding:24px 20px}.admin-tabs{flex-wrap:wrap}.admin-tabs button{flex:1 1 90px;min-height:44px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filters>*,.admin-panel,.admin-stat,.admin-two-col>*{min-width:0}.admin-stat strong{font-size:26px;overflow-wrap:anywhere}.admin-filters input{flex:1 1;min-width:0}.admin-filters select{flex:0 0 92px}.admin-restaurant{flex-wrap:wrap}.admin-restaurant>div:first-child{min-width:0;max-width:100%}.admin-restaurant strong,.admin-review p,.city-row>div{overflow-wrap:anywhere}.admin-actions,.admin-review-head,.ai-pagination{flex-wrap:wrap}.admin-actions button,.admin-link,.ai-pagination button,.city-panel button:not(.admin-primary){min-height:44px}.city-panel button:not(.admin-primary){min-width:44px}.ai-filters,.city-row{flex-wrap:wrap}.ai-filters input{flex:1 1 100%;min-width:0}.ai-filters select{flex:1 1;min-width:0}.admin-filters input,.admin-filters select,.admin-form input,.admin-login input,.ai-filters input,.ai-filters select{min-height:44px;font-size:16px}}@media (max-width:360px){.phone-stage{padding-right:max(16px,env(safe-area-inset-right,0px));padding-left:max(16px,env(safe-area-inset-left,0px))}.chip-row.categories{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-sheet{padding-inline:16px}.dialog-card,.intro-card{padding-inline:18px}.result-hero{gap:8px}.result-hero h2{font-size:21px}}