:root{--bg:#140c33;--bg-2:#1c1248;--card:#241a5a;--card-2:#2c2069;--line:#3a2d80;--text:#f5f2ff;--muted:#a99fd8;--p0:#ff4f8b;--p1:#2ad4ff;--p2:#b6f04a;--p3:#ff9f43;--p4:#c58bff;--p5:#3ee0c8;--p6:#ff7ad9;--p7:#7aa2ff;--paper:#f7f1e3;--paper-line:#d8544f66;--ink-color:#1d1438;--gold:#ffd23f;--gold-deep:#b38d12;--ink:#140c33;--good:#3ee08f;--bad:#ff5a5a;--r:10px;--r-sm:8px;--edge:inset 0 1px 0 #ffffff12;--lift:0 3px 0 #0a0520;--raised:var(--edge), var(--lift);--lime:#dbf21d;--pixel:"Jersey 10", ui-monospace, monospace;--body:"Nunito", ui-rounded, system-ui, -apple-system, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:radial-gradient(ellipse 120% 60% at 50% -10%, #33197f 0%, var(--bg) 65%) fixed, var(--bg);min-height:100dvh;color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-weight:600}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}input,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}a{color:var(--p1)}kbd{font-family:var(--mono);opacity:.6;vertical-align:1px;border:1px solid;border-radius:5px;margin-left:6px;padding:1px 5px;font-size:.68em;font-weight:600}code{font-family:var(--mono);background:var(--bg-2);border-radius:6px;padding:1px 6px;font-size:.9em}.p0{--pc:var(--p0)}.p1{--pc:var(--p1)}.p2{--pc:var(--p2)}.p3{--pc:var(--p3)}.p4{--pc:var(--p4)}.p5{--pc:var(--p5)}.p6{--pc:var(--p6)}.p7{--pc:var(--p7)}.muted{color:var(--muted)}.small{font-size:.85rem}.ok{color:var(--good)}.error{color:var(--bad)}.hint{color:var(--gold);text-align:center;font-size:.85rem}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.row.start{justify-content:flex-start;margin:12px 0}.card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);box-shadow:var(--raised);padding:18px}.card.narrow{flex-direction:column;align-items:flex-start;gap:16px;width:min(420px,100%);display:flex}.big-text{font-size:1.15rem}.btn{border-radius:var(--r);border:1.5px solid var(--line);background:var(--card-2);box-shadow:var(--edge);justify-content:center;align-items:center;gap:4px;padding:12px 22px;font-weight:800;transition:transform 60ms,background .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--line)}.btn:active:not(:disabled){transform:translateY(2px)}.btn.primary{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 4px 0 var(--gold-deep)}.btn.primary:hover:not(:disabled){background:#ffdb5c}.btn.primary:active:not(:disabled){box-shadow:0 1px 0 var(--gold-deep);transform:translateY(3px)}.btn.big{font-family:var(--pixel);letter-spacing:.03em;padding:12px 40px 10px;font-size:1.9rem;font-weight:400;line-height:1}.btn.wide{width:100%}.btn:disabled{opacity:.45;box-shadow:none}.btn.primary:disabled{opacity:1;background:var(--card-2);border-color:var(--line);color:var(--muted)}.link-btn{color:var(--muted);background:0 0;border:none;padding:0;font-weight:800}.link-btn:hover{color:var(--text)}.icon-btn{color:var(--muted);background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:1.1rem}.icon-btn:hover{background:var(--card);color:var(--text)}.tag{background:var(--gold);color:var(--ink);border-radius:999px;margin-left:auto;padding:3px 9px;font-size:.72rem;font-weight:800}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.8rem;font-weight:800;display:block}.section-head{justify-content:space-between;align-items:baseline;display:flex}.segmented{border-radius:calc(var(--r) + 4px);background:var(--bg-2);border:1.5px solid var(--line);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented button{border-radius:var(--r);color:var(--muted);background:0 0;border:none;padding:8px 16px;font-weight:800}.segmented button.on{background:var(--text);color:var(--ink)}.segmented.big button.on small{color:color-mix(in srgb, var(--ink) 70%, transparent)}.segmented.big{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%;display:grid}.segmented.big button{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.segmented.big small{color:var(--muted);font-size:.8rem;font-weight:600}.text-input,.field input:not([type=file]),.field textarea{background:var(--bg-2);border:1.5px solid var(--line);border-radius:var(--r);outline:none;min-width:0;padding:12px 14px;font-weight:700}.text-input:focus,.field input:focus,.field textarea:focus{border-color:var(--gold)}.field{color:var(--muted);flex-direction:column;gap:8px;margin:18px 0 0;display:flex}.field textarea{resize:vertical;line-height:1.5}.deadline,.timebar{background:var(--bg-2);border-radius:999px;height:6px;overflow:hidden}.deadline div{background:var(--pc,var(--gold));height:100%}.page{flex-direction:column;gap:28px;max-width:1100px;margin:0 auto;padding:12px 16px 120px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.topbar-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.back{color:var(--muted);background:0 0;border:none;padding:8px 4px;font-weight:800}.back:hover{color:var(--text)}.page-title{font-family:var(--pixel);letter-spacing:.02em;font-size:3.2rem;font-weight:400;line-height:1}.cta-bar{padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 60%, transparent);z-index:5;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.cta-bar .btn.big{width:min(420px,100%)}.brand{color:var(--text);border-radius:var(--r-sm);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand img{width:auto;height:22px;display:block}.brand-play{font-family:var(--pixel);letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--line);color:var(--muted);border-radius:4px;padding:3px 7px 2px;font-size:1.05rem;line-height:1}.brand:hover .brand-play{color:var(--text);border-color:var(--muted)}.brand:focus-visible,.site-foot a:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.site-foot{border-top:1.5px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding-top:20px;font-size:.85rem;display:flex}.site-foot a{color:var(--muted);text-decoration:none}.site-foot a:hover{color:var(--text)}.site-foot nav{gap:16px;display:flex}.site-foot-brand{align-items:center;gap:8px;font-weight:800;display:inline-flex}.site-foot-brand img{width:auto;height:22px}.hero{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.logo{font-family:var(--pixel);text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 .22em;font-size:clamp(4.5rem,19vw,8rem);font-weight:400;line-height:.85;display:flex}.logo .hl{background:var(--gold);color:var(--ink);letter-spacing:.06em;box-shadow:0 .07em 0 var(--gold-deep);border-radius:.1em;padding:.06em .18em 0}.tagline{color:var(--muted);font-size:1.05rem}.doors{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.door{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);min-height:220px;box-shadow:var(--raised);text-align:left;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;padding:20px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.door:hover{border-color:var(--muted);box-shadow:var(--edge), 0 5px 0 #0a0520;transform:translateY(-2px)}.door:active{box-shadow:var(--edge), 0 1px 0 #0a0520;transform:translateY(2px)}.door-art{width:auto;height:84px;margin-bottom:auto}.door-title{font-family:var(--pixel);font-size:clamp(2.3rem,8vw,2.8rem);font-weight:400;line-height:1}.door-sub{color:var(--muted);font-size:.95rem}.door-host{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 5px 0 var(--gold-deep)}.door-host .door-sub{color:#4a3a05}.door-host:hover{border-color:var(--gold);box-shadow:0 7px 0 var(--gold-deep)}.door-host:active{box-shadow:0 2px 0 var(--gold-deep)}.door-join{border-color:color-mix(in srgb, var(--p1) 45%, var(--line))}.door-join:hover{border-color:var(--p1)}.tagline{align-items:center;gap:10px;display:inline-flex}.tagline-spark{flex:none;width:15px;height:15px}.code-input{cursor:text;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid;position:relative}.code-box{border-radius:var(--r);background:var(--bg-2);border:1.5px solid var(--line);height:56px;font-family:var(--pixel);place-items:center;font-size:2.2rem;line-height:1;display:grid}.code-box.filled{border-color:var(--muted)}.code-input:focus-within .code-box.active{border-color:var(--gold);box-shadow:0 0 0 3px #ffd23f33}.code-input input{opacity:0;width:100%;font-size:16px;position:absolute;inset:0}.divider{font-family:var(--pixel);letter-spacing:.04em;color:var(--text);align-items:center;gap:12px;margin:0;font-size:1.5rem;font-weight:400;line-height:1;display:flex}.divider:after{content:"";background:repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 10px);flex:1;height:2px}.pixel{display:block}.sky{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky svg{width:100%;height:100%;position:absolute;inset:0}.sky .star{fill:#382d7c}.sky .star.bright,.sky .spark rect{fill:#6a5fbd}.sky .spark.gold rect{fill:#a8893a}.sky .spark{opacity:.7;animation:3.2s steps(2,end) infinite twinkle}@keyframes twinkle{50%{opacity:.2}}@media (width<=640px){.sky .spark:nth-of-type(odd){display:none}.sky .star.bright{fill:#4f4499}}.floor{transform-origin:bottom;background:linear-gradient(90deg,#a99fd833 1.5px,#0000 1.5px) 0 0/56px 56px,linear-gradient(#a99fd833 1.5px,#0000 1.5px) 0 0/56px 56px,radial-gradient(50% 70% at 50% 100%,#ff4f8b26,#0000);height:40vh;position:absolute;bottom:0;left:-50%;right:-50%;transform:perspective(320px)rotateX(58deg);-webkit-mask-image:linear-gradient(#0000 10%,#000 80%);mask-image:linear-gradient(#0000 10%,#000 80%)}.room-grid{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.room-code-card{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.room-code-card .section-title{margin:0}.room-code{font-family:var(--pixel);letter-spacing:.08em;color:var(--gold);font-size:5.5rem;line-height:.85}.qr{border-radius:12px;width:190px;height:190px;overflow:hidden}.qr svg{width:100%;height:100%;display:block}.room-players{flex-direction:column;gap:12px;display:flex}.room-players ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.room-players li{border:1.5px dashed var(--line);border-radius:12px;align-items:center;gap:10px;min-height:52px;padding:8px 14px;display:flex}.room-players li.filled{border:1.5px solid var(--pc);background:color-mix(in srgb, var(--pc) 10%, transparent)}.room-players li strong{font-family:var(--pixel);color:var(--pc);font-size:1.7rem;font-weight:400;line-height:1}.seat-dot{background:var(--pc);border-radius:50%;width:10px;height:10px}.center-screen{place-items:center;min-height:100dvh;padding:16px;display:grid}.cta-bar>.muted{padding:14px 0}.game{max-width:760px;height:100dvh;padding:10px 14px calc(12px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;margin:0 auto;display:flex}.hud{align-items:center;gap:8px;display:flex}.round-chip{font-family:var(--pixel);border-radius:var(--r-sm);background:var(--card);color:var(--gold);flex:none;padding:6px 10px 4px;font-size:1.6rem;line-height:1}.round-chip small{color:var(--muted);font-size:.65em}.score-pills{flex:1;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;min-width:0;display:grid}.score-pill{border-radius:var(--r-sm);background:color-mix(in srgb, var(--pc) 12%, var(--bg));border:1.5px solid color-mix(in srgb, var(--pc) 45%, transparent);justify-content:space-between;align-items:baseline;gap:6px;min-width:0;padding:6px 10px 4px;transition:box-shadow .15s,opacity .15s;display:flex;position:relative}.score-pill.me{border-color:var(--pc)}.score-pill.buzzing{box-shadow:0 0 0 3px var(--pc), 0 0 22px var(--pc)}.score-pill.locked{opacity:.4}.sp-name{color:var(--pc);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:800;overflow:hidden}.sp-pts{font-family:var(--pixel);font-variant-numeric:tabular-nums;font-size:1.7rem;line-height:1}.sp-streak{background:var(--bg);border-radius:999px;padding:0 6px;font-size:.72rem;font-weight:800;animation:1.2s ease-in-out infinite pulse;position:absolute;top:-9px;right:6px}@keyframes pulse{50%{transform:scale(1.12)}}.timebar div{background:linear-gradient(90deg, var(--bad), var(--gold) 40%, var(--good));background-size:760px 100%;height:100%;transition:width .1s linear}.window{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);box-shadow:var(--raised);overflow:hidden}.titlebar{background:var(--bg-2);border-bottom:1.5px solid var(--line);font-family:var(--pixel);letter-spacing:.08em;text-transform:uppercase;color:var(--text);white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:5px 6px 5px 10px;font-size:1.15rem;line-height:1;display:flex}.titlebar-title{text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.titlebar-title img{flex:none;width:auto;height:18px}.controls{flex:none;gap:4px;display:flex}.controls i{border:1.5px solid var(--line);width:20px;height:18px;font-family:var(--body);color:var(--muted);border-radius:3px;place-items:center;font-size:.7rem;font-style:normal;font-weight:800;line-height:1;display:grid}.countdown{font-family:var(--pixel);color:var(--gold);font-size:9rem;line-height:1;animation:1s ease-out count}@keyframes count{0%{opacity:0;transform:scale(1.6)}30%{opacity:1}to{transform:scale(1)}}@keyframes float-up{0%{opacity:0;transform:translateY(18px)scale(.6)}60%{opacity:1;transform:translateY(-4px)scale(1.08)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.dialog{width:min(420px,100%);animation:.2s ease-out rise}.dialog-body{flex-direction:column;gap:16px;padding:20px;display:flex}.dialog-title{font-family:var(--pixel);font-size:2.6rem;font-weight:400;line-height:1}.dialog .field{margin:0}.field-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:700}.controls .control-close{border:1.5px solid var(--line);width:20px;height:18px;font-family:var(--body);color:var(--muted);background:0 0;border-radius:3px;place-items:center;padding:0;font-size:.85rem;font-weight:800;line-height:1;display:grid;position:relative}.controls .control-close:after{content:"";position:absolute;inset:-13px -12px}.controls .control-close:hover{background:var(--bad);border-color:var(--bad);color:var(--ink)}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#0b0620d9;place-items:center;padding:16px;animation:.3s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.results{text-align:center;border-radius:calc(var(--r) + 4px);background:var(--card);border:1.5px solid var(--gold);width:min(420px,100%);box-shadow:var(--edge), 0 4px 0 var(--gold-deep);padding:24px 20px}.results h2{font-family:var(--pixel);color:var(--pc,var(--text));margin:6px 0 18px;font-size:3rem;font-weight:400;line-height:1}.rank-medal{text-align:center;width:28px;color:var(--muted);font-size:.85rem}.rank-name{text-align:left;color:var(--pc);flex:1;font-weight:800}.banner{top:max(8px, env(safe-area-inset-top));z-index:40;border:1.5px solid var(--line);background:var(--card-2);max-width:calc(100vw - 32px);color:var(--text);box-shadow:var(--raised);border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:800;position:fixed;left:50%;transform:translate(-50%)}.banner.update{border-color:var(--gold)}.banner.update strong{color:var(--gold)}:root{--anxious:#ff7ad9;--avoidant:#2ad4ff;--secure:#b6f04a;--town:var(--p4)}.page.with-cta{padding-bottom:120px}.window-body{flex-direction:column;gap:20px;padding:20px;display:flex}.window-body .field{margin:0}.setting{color:var(--muted);flex-direction:column;gap:8px;display:flex}.room-side{flex-direction:column;gap:14px;min-width:0;display:flex}.room-players li.empty{border:1.5px dashed var(--line)}.room-players li.away{opacity:.55}.field input[aria-invalid=true]{border-color:var(--bad)}@media (width<=640px){.room-grid{grid-template-columns:1fr}.room-code{font-size:4.5rem}.door{min-height:150px}.door-art{height:60px}}.portrait{width:100%;height:100%;display:block}.face{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--style,var(--p4)) 30%, var(--card-2)), var(--bg-2) 75%);border:2px solid color-mix(in srgb, var(--style,var(--line)) 45%, var(--line));border-radius:12px;flex:none;padding:0;transition:transform .1s,border-color .12s,opacity .12s;display:inline-block;position:relative;overflow:visible}.face .portrait{border-radius:10px;overflow:hidden}.face-sm{border-radius:9px;width:36px;height:36px}.face-md{width:56px;height:56px}.face-lg{width:84px;height:84px}.face-xl{width:140px;height:140px}button.face:hover{transform:translateY(-2px)}.face.selected{border-color:var(--gold);box-shadow:0 0 0 3px #ffd23f55}.face.dim,.dim .face{opacity:.35}.client-star{background:var(--gold);width:18px;height:18px;color:var(--ink);box-shadow:0 2px 0 var(--gold-deep);border-radius:50%;place-items:center;font-size:.7rem;font-weight:900;display:grid;position:absolute;top:-7px;right:-7px}.face-sm .client-star{width:14px;height:14px;font-size:.55rem;top:-5px;right:-5px}.hint-badge{filter:drop-shadow(0 1px #0a0520);font-size:.95rem;line-height:1;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.home .logo{font-size:clamp(3.4rem,14vw,6.4rem)}.showcase{align-items:center;gap:14px;animation:.4s fade;display:flex}.showcase-face{width:96px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:flex}.showcase-face .portrait{background:radial-gradient(circle at 50% 35%, #3a2d80, var(--bg-2) 75%);border:2px solid var(--line);width:96px;height:96px;box-shadow:var(--lift);border-radius:16px}.showcase-face.left{transform:rotate(-4deg)}.showcase-face.right{transform:rotate(4deg)}.showcase-signal{font-size:2.2rem;animation:.6s ease-out float-up}.door-solo{border-color:color-mix(in srgb, var(--p6) 45%, var(--line))}.door-solo:hover{border-color:var(--p6)}.how{flex-direction:column;gap:12px;display:flex}.how-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.how-steps li{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);box-shadow:var(--raised);color:var(--muted);flex-direction:column;gap:6px;padding:16px;line-height:1.45;display:flex}.how-steps strong{color:var(--text)}.how-num{font-family:var(--pixel);color:var(--gold);font-size:2.2rem;line-height:1}.town-picker{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;display:grid}.town-option{border-radius:var(--r);border:1.5px solid var(--line);background:var(--bg-2);text-align:left;color:var(--muted);flex-direction:column;gap:8px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.town-option:hover{border-color:color-mix(in srgb, var(--town,var(--muted)) 70%, var(--line))}.town-option.on{border-color:var(--town,var(--gold));background:color-mix(in srgb, var(--town,var(--gold)) 14%, var(--bg-2));box-shadow:0 0 0 2px color-mix(in srgb, var(--town,var(--gold)) 40%, transparent)}.town-option.surprise.on{--town:var(--gold)}.town-option-head{align-items:center;gap:10px;display:flex}.town-option-head>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.town-option strong{font-family:var(--pixel);color:var(--text);font-size:1.6rem;font-weight:400;line-height:1}.town-option small{color:var(--town,var(--muted));font-size:.8rem;font-weight:800}.town-option ul{margin:0;padding-left:18px;font-size:.8rem;line-height:1.4}.town-emoji{font-size:1.8rem;line-height:1}.town-level{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.game{flex-direction:column;max-width:1180px;min-height:100dvh;margin:0 auto;padding:0 14px;display:flex}.hud{z-index:6;background:linear-gradient(to bottom, var(--bg) 75%, transparent);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex;position:sticky;top:0}.hud-row{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.hud-row>*{flex:none}.hud-row[data-fit~=total] .week-chip small,.hud-row[data-fit~=tiebreak] .score-stat+.score-stat,.hud-row[data-fit~=seats] .seat-dots{display:none}.week-chip,.score-chip,.timer{font-family:var(--pixel);border-radius:var(--r-sm);background:var(--card);border:1.5px solid var(--line);white-space:nowrap;padding:6px 10px 4px;font-size:1.45rem;line-height:1}.week-chip{color:var(--gold)}.week-chip small{color:var(--muted);font-size:.7em}.week-word.short{display:none}.score-chip{color:var(--gold);cursor:pointer;align-items:center;gap:10px;margin-left:auto;display:inline-flex}.score-chip:hover{border-color:var(--gold)}.score-stat{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.score-icon{font-size:.72em;line-height:1}.score-of{color:var(--muted);font-size:.7em}.score-pips{align-items:center;gap:3px;display:inline-flex}.pip{border:1.5px solid var(--muted);box-sizing:border-box;border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.pip.dating{border-color:var(--p0);background:color-mix(in srgb, var(--p0) 35%, transparent)}.pip.close{border-color:var(--gold);background:linear-gradient(to right, var(--gold) 50%, transparent 50%)}.pip.done{border-color:var(--gold);background:var(--gold);box-shadow:0 0 6px color-mix(in srgb, var(--gold) 70%, transparent)}.score-lines{flex-direction:column;gap:3px;margin-top:6px;display:flex}.score-line{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.score-line b{color:var(--text)}.timer{text-align:center;min-width:52px}.timer.hurry{color:var(--bad);border-color:var(--bad);animation:1s ease-in-out infinite pulse}.seat-dots{cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:6px 2px;display:inline-flex}.seat-dot{border:2px solid var(--pc);background:color-mix(in srgb, var(--pc) 12%, var(--bg));width:18px;height:18px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:.62rem;font-weight:900;line-height:1;display:inline-grid}.seat-dot.done{background:var(--pc)}.seat-dot.me{box-shadow:0 0 0 2px var(--bg), 0 0 0 3.5px var(--text);margin:0 3px}.seat-dot.away{opacity:.35}.who{color:var(--pc);font-weight:900}.who.auntie{color:var(--p3)}.pname{color:var(--text);font-weight:900}@media (width<=640px){.hud-row{gap:6px}.week-chip,.score-chip,.timer{padding:5px 8px 3px;font-size:1.25rem}.score-chip{gap:8px}}@media (width<=420px){.hud-row{gap:4px}.week-chip,.score-chip,.timer{padding:5px 6px 3px;font-size:1.15rem}.week-word:not(.short){display:none}.week-word.short{display:inline}.score-chip{gap:6px}.score-stat{gap:2px}.score-of{display:none}.score-pips{gap:2px}.score-chip .pip{width:7px;height:7px}.seat-dots{gap:3px;padding:6px 1px}.seat-dot{width:14px;height:14px;font-size:.5rem}.seat-dot.me{margin:0 2px}.hud-row .menu-btn,.hud-row .notes-btn{padding-left:6px;padding-right:6px}.timer{min-width:40px}}@media (width<=360px){.seat-dots{gap:2px}.seat-dot{width:11px;height:11px;font-size:0}}.game-main{flex-direction:column;flex:1;display:flex}.board-wrap{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;padding-bottom:24px;display:grid}.board{flex-direction:column;gap:18px;min-width:0;display:flex}.board-section .section-title{align-items:center;gap:8px;display:flex}.count{font-family:var(--pixel);letter-spacing:0;color:var(--text);font-size:1.2rem}.empty-note{border-radius:var(--r);border:1.5px dashed var(--line);padding:14px}.festival-banner{border-radius:var(--r);background:color-mix(in srgb, var(--p4) 18%, var(--card));border:1.5px solid var(--p4);padding:10px 14px;line-height:1.4}.couples{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px;display:grid}.couple-row{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);box-shadow:var(--raised);align-items:center;gap:10px;padding:10px;display:flex}.couple-row.stage-official{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 10%, var(--card))}.couple-row.stage-exclusive{border-color:color-mix(in srgb, var(--p6) 60%, var(--line))}.couple-row.fading{border-color:var(--bad);border-style:dashed}.couple-mid{text-align:center;flex-direction:column;flex:1;align-items:center;gap:5px;min-width:0;display:flex}.couple-names{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.92rem;font-weight:900;overflow:hidden}.amp{font-size:.9em}.stage-track{align-items:center;gap:3px;display:flex}.stage-track i{background:var(--bg-2);border:1px solid var(--line);border-radius:3px;width:14px;height:6px}.stage-track i.past{background:color-mix(in srgb, var(--p6) 70%, var(--card));border-color:#0000}.stage-track i.now{background:var(--p6);border-color:var(--p6);box-shadow:0 0 6px var(--p6)}.stage-official .stage-track i.now{background:var(--gold);border-color:var(--gold);box-shadow:0 0 6px var(--gold)}.stage-track b{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:6px;font-size:.66rem;font-weight:700}.chem{gap:2px;display:inline-flex}.chem i{background:var(--bg-2);border:1px solid var(--line);border-radius:3px;width:11px;height:11px;position:relative}.chem i.on{background:var(--p0);border-color:var(--p0)}.chem i.on.low{background:var(--bad);border-color:var(--bad)}.chem i.goal:after{content:"";background:var(--gold);border-radius:1px;width:2px;position:absolute;top:-4px;bottom:-4px;right:-3px}.chem.small i{width:8px;height:8px}.tag-mini{background:var(--bg-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:800}.tag-mini.warn{color:var(--bad);border-color:var(--bad)}.tag-mini.guarded{color:var(--p1);border-color:color-mix(in srgb, var(--p1) 50%, var(--line))}.singles{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.single{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);box-shadow:var(--raised);flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;transition:transform .1s,border-color .12s,opacity .12s;display:flex}.single:hover:not(:disabled){border-color:var(--muted);transform:translateY(-2px)}.single.mine{border-color:color-mix(in srgb, var(--gold) 55%, var(--line))}.single.selected{border-color:var(--gold);box-shadow:0 0 0 3px #ffd23f55, var(--lift)}.single.dim{opacity:.35}.single .face{width:64px;height:64px}.single-name{font-size:.92rem;font-weight:900}.style-tag{color:var(--style);border:1px solid color-mix(in srgb, var(--style) 50%, transparent);background:color-mix(in srgb, var(--style) 10%, transparent);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:800}.picking-date .single:not(.dim):not(:disabled),.picking-advice .couple-row button.face{animation:1.4s ease-in-out infinite beckon}@keyframes beckon{50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 45%, transparent), var(--lift)}}.tray{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);box-shadow:var(--raised);flex-direction:column;gap:12px;padding:14px;display:flex;position:sticky;top:70px}.tray-hint{color:var(--muted);min-height:2.7em;font-weight:800;line-height:1.35}.tray-hint.active{color:var(--gold)}.slots{grid-template-columns:1fr 1fr;gap:8px;display:grid}.slot{border-radius:var(--r-sm);background:var(--bg-2);border:1.5px solid var(--gold);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-height:64px;padding:6px;display:flex;position:relative}.slot.empty{border:1.5px dashed var(--line);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.slot-icon{font-size:1rem}.slot-text{text-align:center;width:100%;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.65rem;font-weight:700}.slot-x{border:1.5px solid var(--line);background:var(--card-2);width:22px;height:22px;color:var(--muted);border-radius:50%;padding:0;font-weight:900;line-height:1;position:absolute;top:-8px;right:-8px}.slot-x:hover{background:var(--bad);color:var(--ink)}.tray-buttons{flex-direction:column;gap:8px;display:flex}.tray-buttons .btn{width:100%}.lock-btn{font-size:1.6rem}.date-btn.on{background:var(--p0);border-color:var(--p0);color:var(--ink)}.hand{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.advice-card{border-radius:var(--r-sm);background:var(--paper);color:var(--ink-color);text-align:left;border:2px solid #e4d9bf;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;transition:transform .1s,box-shadow .12s;display:flex;box-shadow:0 3px #0a0520}.advice-card:hover:not(:disabled){transform:translateY(-2px)rotate(-1deg)}.advice-card.selected{border-color:var(--p0);transform:translateY(-3px);box-shadow:0 0 0 3px #ff4f8b66,0 3px #0a0520}.advice-card:disabled{opacity:.45}.advice-card.compact{box-shadow:none;flex-direction:row;align-items:center;gap:4px;padding:4px 8px}.advice-card.compact .ac-label{font-size:.72rem}.ac-emoji{font-size:1.3rem;line-height:1.1}.ac-label{font-size:.85rem;font-weight:900;line-height:1.1}.ac-fx{color:#6b5f88;gap:6px;font-size:.72rem;font-weight:800;display:flex}.ac-fx .up,.ac-fx.one.up{color:#198a52}.ac-fx .down,.ac-fx.one.down{color:#c0392b}.ac-fx.one{font-size:.85rem}.tray-note{text-align:center}@media (width<=900px){.board-wrap{grid-template-columns:1fr;padding-bottom:290px}.tray{z-index:7;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-bottom:none;border-radius:16px 16px 0 0;gap:8px;max-height:62dvh;position:fixed;inset:auto 0 0;overflow-y:auto}.tray-hint{min-height:0;font-size:.85rem}.slots{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px}.slot{gap:2px;min-height:46px;padding:4px}.slot .face-sm{width:30px;height:30px}.slot-text{display:none}.slot .advice-card.compact{padding:2px 4px}.slot .advice-card.compact .ac-label{display:none}.slot.empty{font-size:.62rem}.hand{grid-template-columns:repeat(4,1fr);gap:6px}.advice-card{padding:5px 6px}.ac-emoji{font-size:1rem}.ac-label{font-size:.7rem}.ac-fx{flex-wrap:wrap;gap:2px 4px;font-size:.58rem}.tray-buttons{flex-direction:row}.tray-buttons .date-btn{white-space:nowrap;flex:1;padding:10px 8px}.tray-buttons .lock-btn{flex:1.3;padding:10px 12px 8px;font-size:1.35rem}.couples{grid-template-columns:1fr}}@media (width<=420px){.singles{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.single .face{width:54px;height:54px}}.sheet-overlay{place-items:end center;padding:0}.sheet{border-radius:16px 16px 0 0;width:min(560px,100%);max-height:92dvh;animation:.2s ease-out rise;overflow-y:auto}@media (width>=700px){.sheet-overlay{place-items:center;padding:16px}.sheet{border-radius:var(--r)}}.sheet-body{padding:16px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;display:flex}.profile-head{align-items:center;gap:14px;display:flex}.profile-portrait{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--style) 35%, var(--card-2)), var(--bg-2) 75%);border:2px solid color-mix(in srgb, var(--style) 50%, var(--line));border-radius:16px;flex:none;width:120px;height:120px;position:relative}.profile-portrait .portrait{border-radius:14px}.client-ribbon{white-space:nowrap;background:var(--gold);color:var(--ink);box-shadow:0 2px 0 var(--gold-deep);border-radius:999px;padding:2px 9px;font-size:.7rem;font-weight:900;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.profile-id{flex-direction:column;gap:4px;min-width:0;display:flex}.profile-name{font-family:var(--pixel);font-size:2.6rem;font-weight:400;line-height:.9}.profile-age{color:var(--muted);font-size:.6em}.profile-bio{color:var(--text);font-style:italic;line-height:1.4}.profile-traits{flex-wrap:wrap;gap:6px;display:flex}.trait{background:var(--bg-2);border:1.5px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.trait.want{border-color:var(--p0);color:#ffc2d7;background:color-mix(in srgb, var(--p0) 14%, var(--bg-2))}.trait.deal{border-color:var(--bad);color:#ffc2c2;background:color-mix(in srgb, var(--bad) 14%, var(--bg-2))}.profile-style{color:var(--muted);align-items:center;gap:8px;line-height:1.35;display:flex}.secrets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.secret{border-radius:var(--r-sm);background:var(--bg-2);border:1.5px dashed var(--line);color:var(--muted);flex-direction:column;gap:6px;padding:10px;display:flex}.secret.known{border-style:solid}.secret-unknown{font-family:var(--pixel);color:var(--muted);flex-direction:column;gap:2px;font-size:1.6rem;line-height:1;display:flex}.secret-unknown small{font-family:var(--body);font-size:.72rem}.profile-status{color:var(--muted);flex-direction:column;gap:8px;display:flex}.status-row{color:var(--text);align-items:center;gap:8px;display:flex}.match-list{flex-wrap:wrap;gap:8px;display:flex}.match{text-align:center;flex-direction:column;align-items:center;gap:2px;width:58px;display:flex}.match small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.7rem;font-weight:800;overflow:hidden}.match.great small{color:var(--p0)}.match.bad small{color:var(--bad)}.match.good small{color:var(--good)}.sheet-advice{color:var(--muted);flex-direction:column;gap:8px;display:flex}.sheet-advice .hand{grid-template-columns:repeat(2,1fr)}.phase-page{flex-direction:column;gap:16px;width:min(760px,100%);margin:0 auto;padding:8px 0 120px;display:flex}.phase-title{font-family:var(--pixel);text-align:center;font-size:clamp(2.6rem,9vw,3.6rem);font-weight:400;line-height:.9}.phase-sub{text-align:center;color:var(--muted);line-height:1.45}.phase-sub strong{color:var(--text)}.phase-cta{z-index:5;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 60%, transparent);justify-content:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.phase-cta .btn.big{width:min(420px,100%)}.client-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;display:grid}.client-card{border-radius:var(--r);background:var(--card);border:1.5px solid color-mix(in srgb, var(--gold) 50%, var(--line));box-shadow:var(--raised);gap:12px;padding:12px;animation:.35s ease-out both rise;display:flex}.client-card:nth-child(2){animation-delay:.1s}.client-card:nth-child(3){animation-delay:.2s}.client-card:nth-child(4){animation-delay:.3s}.client-info{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.client-name{font-family:var(--pixel);font-size:1.8rem;font-weight:400;line-height:.9}.client-name small{color:var(--muted);font-size:.6em}.client-traits{flex-wrap:wrap;gap:4px;display:flex}.client-traits .trait{padding:2px 8px;font-size:.72rem}.town-card{border-radius:var(--r);background:color-mix(in srgb, var(--town) 10%, var(--card));border:1.5px solid color-mix(in srgb, var(--town) 60%, var(--line));box-shadow:var(--raised);gap:14px;padding:14px;display:flex}.town-card .town-emoji{font-size:2.4rem}.town-name{font-family:var(--pixel);font-size:2rem;font-weight:400;line-height:1}.town-custom{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--town);font-size:.75rem;font-weight:700}.town-rules{color:var(--muted);margin:8px 0 0;padding-left:18px;line-height:1.45}.howto ol{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding-left:20px;line-height:1.45;display:flex}.howto strong{color:var(--text)}.report{flex-direction:column;gap:14px;display:flex}.report-title{font-family:var(--pixel);text-align:center;font-size:clamp(2.4rem,8vw,3.2rem);font-weight:400;line-height:.9}.story{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.story-item{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);box-shadow:var(--raised);align-items:center;gap:12px;padding:10px 12px;line-height:1.4;animation:.35s ease-out both rise;display:flex}.story-item.good{border-color:color-mix(in srgb, var(--good) 50%, var(--line))}.story-item.big{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, var(--card))}.story-item.bad{border-color:color-mix(in srgb, var(--bad) 55%, var(--line))}.story-item.drama{border-color:color-mix(in srgb, var(--p6) 55%, var(--line))}.story-item.news{border-color:color-mix(in srgb, var(--town) 60%, var(--line));background:color-mix(in srgb, var(--town) 8%, var(--card))}.story-icon{text-align:center;flex:none;width:34px;font-size:1.6rem}.story-body{flex:1;min-width:0}.story-faces{flex:none;gap:4px;display:flex}.news-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--town);margin-right:4px;font-size:.68rem;font-weight:700}.shout{font-family:var(--pixel);color:var(--gold);text-transform:uppercase;letter-spacing:.03em;font-size:1.4em;font-weight:400;line-height:1}.drama .shout{color:var(--p6)}.card-ref{white-space:nowrap;font-weight:900}.chem-note{color:var(--muted);white-space:nowrap;font-size:.8rem}.delta{font-family:var(--pixel);border-radius:4px;padding:0 4px;font-size:1.3em;line-height:1}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.secrets-box,.chem-summary{border-radius:var(--r);background:var(--bg-2);border:1.5px dashed var(--line);padding:12px 14px;animation:.35s ease-out both rise}.secrets-box ul,.chem-summary ul{flex-direction:column;gap:8px;margin:0;padding:0;line-height:1.4;list-style:none;display:flex}.chem-summary li{justify-content:space-between;gap:10px;display:flex}.chem-change{color:var(--muted);white-space:nowrap}.chem-change strong{color:var(--text)}@media (width<=520px){.story-faces .face-sm:nth-child(n+2){display:none}}.guess-slots{flex-wrap:wrap;gap:8px;display:flex}.guess-block{border-radius:var(--r);background:var(--card);border:1.5px solid color-mix(in srgb, var(--pc) 35%, var(--line));text-align:left;color:var(--text);flex-direction:column;flex:260px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.guess-block.on{border-color:var(--pc);box-shadow:0 0 0 2px color-mix(in srgb, var(--pc) 35%, transparent)}.guess-who{font-family:var(--pixel);color:var(--pc);font-size:1.5rem;font-weight:400;line-height:1}.guess-who small{font-family:var(--font,inherit);color:var(--muted);margin-left:6px;font-size:.8rem;font-weight:800}.guess-row{flex-wrap:wrap;gap:4px;display:flex}.guess-slot{border-radius:var(--r-sm);background:color-mix(in srgb, var(--pc) 14%, var(--bg-2));place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.guess-slot .face,.guess-slot svg{width:32px;height:32px}.guess-slot.empty{border:1.5px dashed color-mix(in srgb, var(--pc) 45%, var(--line));color:var(--muted);background:0 0;font-weight:800}.guess-full{color:var(--pc,var(--text));margin:0;font-size:.85rem;font-weight:700}.guess-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px;display:grid}.guess-pick{border-radius:var(--r-sm);background:var(--bg-2);border:1.5px solid #0000;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;display:flex;position:relative}.guess-pick small{color:var(--muted);font-size:.7rem;font-weight:800}.guess-pick.on{border-color:var(--pc);background:color-mix(in srgb, var(--pc) 16%, var(--bg-2))}.guess-pick.on small{color:var(--text)}.guess-tag{color:var(--pc);font-size:.65rem;font-weight:900;position:absolute;top:3px;left:4px}.guess-tag.local{color:var(--muted)}.win-rules{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:18px;display:flex}.win-why{color:var(--muted);margin:4px 0 0;font-size:.9rem;font-weight:700}.standings{border-collapse:separate;border-spacing:0 6px;width:100%}.standings th{color:var(--muted);text-align:center;padding:0 4px;font-size:.72rem;font-weight:800}.standings td{background:var(--card);text-align:center;border-top:1.5px solid color-mix(in srgb, var(--pc) 40%, var(--line));border-bottom:1.5px solid color-mix(in srgb, var(--pc) 40%, var(--line));padding:10px 6px;font-size:1.15rem;font-weight:900}.standings td:first-child{border-left:1.5px solid color-mix(in srgb, var(--pc) 40%, var(--line));border-radius:var(--r) 0 0 var(--r)}.standings td:last-child{border-right:1.5px solid color-mix(in srgb, var(--pc) 40%, var(--line));border-radius:0 var(--r) var(--r) 0}.standings td small{color:var(--muted);font-size:.7rem;font-weight:800}.standings td.rank-name{text-align:left;color:var(--pc);font-size:1rem;display:table-cell}.standings td.rank-name .rank-detail{display:block}.standings td.crown{color:var(--pc)}.standings td.crown:before{content:"👑";vertical-align:3px;margin-right:2px;font-size:.75rem}.finale-head{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.trophy{font-size:3.6rem;animation:.8s ease-out float-up}.winner{color:var(--pc);font-size:1.15rem;font-weight:900}.solo-stars{color:var(--line);align-items:center;gap:6px;font-size:2.6rem;display:flex}.solo-stars .on{color:var(--gold);text-shadow:0 3px 0 var(--gold-deep)}.solo-stars small{color:var(--muted);margin-left:8px;font-size:1rem;font-weight:800}.ranking{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ranking li{background:color-mix(in srgb, var(--pc) 12%, var(--bg-2));border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.ranking li:first-child{border:1.5px solid var(--pc)}.rank-medal{text-align:center;width:28px}.rank-name{text-align:left;color:var(--pc);flex-direction:column;flex:1;font-weight:900;display:flex}.rank-detail{color:var(--muted);font-size:.78rem;font-weight:700}.ranking strong{font-family:var(--pixel);font-size:2rem;font-weight:400;line-height:1}.finale-couples,.finale-clients{flex-direction:column;gap:10px;display:flex}.wedding-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.wedding{border-radius:var(--r);background:color-mix(in srgb, var(--gold) 8%, var(--card));border:1.5px solid color-mix(in srgb, var(--gold) 60%, var(--line));box-shadow:var(--raised);justify-content:center;align-items:center;gap:10px;padding:12px;animation:.4s ease-out both rise;display:flex}.wedding-list.small .wedding{background:var(--card);border-color:var(--line)}.wedding-person{flex-direction:column;align-items:center;gap:4px;display:flex}.wedding-heart{font-size:1.6rem}.owner{color:var(--pc,var(--muted));border:1px solid color-mix(in srgb, var(--pc,var(--muted)) 55%, transparent);border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:900}.owner.auntie{--pc:var(--muted)}.client-reveal{gap:8px;display:grid}.client-list{border-radius:var(--r);background:color-mix(in srgb, var(--pc) 10%, var(--card));border:1.5px solid color-mix(in srgb, var(--pc) 45%, var(--line));align-items:center;gap:12px;padding:10px 12px;display:flex}.client-list>strong{color:var(--pc);min-width:60px}.client-faces{flex-wrap:wrap;gap:10px;display:flex}.client-face{color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:800;display:flex}.story-item{scroll-margin:80px 0 130px;transition:border-color .3s,box-shadow .3s;position:relative}.story-item.current{box-shadow:0 0 0 2px color-mix(in srgb, var(--gold) 55%, transparent), var(--lift);animation:.35s ease-out both rise,.6s ease-out .3s land}.story-item.current.drama,.story-item.current.bad{animation:.35s ease-out both rise,.5s ease-in-out .3s shake}.story-item.current.big{animation:.35s ease-out both rise,.8s ease-out .3s land}@keyframes land{40%{transform:scale(1.035)}}@keyframes shake{20%,60%{transform:translate(-5px)rotate(-.6deg)}40%,80%{transform:translate(5px)rotate(.6deg)}}.story-fx{pointer-events:none;position:absolute;inset:0;overflow:visible}.story-fx i{left:calc(14% + var(--i) * 13%);opacity:0;animation:burst 1.7s calc(.25s + var(--i) * 90ms) ease-out forwards;font-size:1.3rem;font-style:normal;position:absolute;bottom:30%}@keyframes burst{0%{opacity:0;transform:translateY(10px)scale(.5)}20%{opacity:1;transform:translateY(-14px)scale(1.15)}to{opacity:0;transform:translateY(-64px) scale(.9) rotate(calc((var(--i) - 2.5) * 12deg))}}.fx-ghost i{animation-name:drift}@keyframes drift{0%{opacity:0}25%{opacity:.9}to{opacity:0;transform:translate(calc((var(--i) - 1.5) * 18px), -54px)}}.fx-ring i:first-child{font-size:2rem;left:46%}.story-pending{justify-content:center;gap:6px;padding:14px 0;display:flex}.story-pending span{background:var(--muted);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite typing}.story-pending span:nth-child(2){animation-delay:.15s}.story-pending span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-4px)}}.next-story{width:min(420px,100%)}.next-story small{font-family:var(--mono);color:var(--muted);vertical-align:middle;margin:0 6px;font-size:.5em}.week-intro{z-index:9;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;animation:1.8s ease-in-out both intro;display:flex;position:fixed;inset:0}.week-intro-kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--town);font-size:.8rem;font-weight:700}.week-intro-title{font-family:var(--pixel);color:var(--gold);text-shadow:0 4px 0 var(--gold-deep);font-size:clamp(4rem,18vw,7rem);line-height:.9;animation:.6s ease-out float-up}.week-intro-note{color:var(--text);text-align:center;padding:0 24px;font-weight:800}@keyframes intro{0%{opacity:0}12%{opacity:1}82%{opacity:1}to{opacity:0}}.couple-chem{align-items:center;gap:6px;display:flex}.last-change{font-family:var(--pixel);font-size:1.15rem;line-height:1}.last-change.up{color:var(--good)}.last-change.down{color:var(--bad)}.tag-mini.new{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 55%, var(--line))}.tag-mini.news{color:var(--text)}.mark-badge{background:var(--pc);width:18px;height:18px;color:var(--ink);border-radius:50%;place-items:center;font-size:.66rem;font-weight:900;line-height:1;display:grid;position:absolute;bottom:-6px;left:-6px;box-shadow:0 2px #0a0520}.mark-badge.local{background:var(--muted)}.face-sm .mark-badge{width:14px;height:14px;font-size:.52rem;bottom:-5px;left:-5px}.your-read{border-radius:var(--r-sm);background:var(--bg-2);border:1.5px dashed var(--line);color:var(--muted);flex-direction:column;gap:8px;padding:12px;display:flex}.mark-row{flex-wrap:wrap;gap:6px;display:flex}.mark-chip{--pc:var(--muted);color:var(--pc);background:color-mix(in srgb, var(--pc) 8%, var(--bg));border:1.5px solid color-mix(in srgb, var(--pc) 45%, transparent);border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:900}.mark-chip.on{background:var(--pc);color:var(--ink);border-color:var(--pc)}.notes-btn{border-radius:var(--r-sm);background:var(--card);border:1.5px solid var(--line);align-items:center;gap:2px;margin-left:auto;padding:6px 10px;font-size:.85rem;font-weight:800;display:inline-flex}.notes-btn:hover{border-color:var(--muted)}.notes-btn+.score-chip{margin-left:0}.notebook .tabs{align-self:flex-start}.week-tabs{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.week-tab{border:1.5px solid var(--line);background:var(--bg-2);color:var(--muted);border-radius:999px;flex:none;padding:5px 10px;font-size:.8rem;font-weight:800}.week-tab.on{background:var(--text);border-color:var(--text);color:var(--ink)}.rivals{flex-direction:column;gap:10px;display:flex}.rival-block{border-radius:var(--r);background:color-mix(in srgb, var(--pc,var(--muted)) 8%, var(--card));border:1.5px solid color-mix(in srgb, var(--pc,var(--muted)) 50%, var(--line));flex-direction:column;gap:8px;padding:12px;display:flex}.rival-block.gone{opacity:.6}.rival-name{font-family:var(--pixel);color:var(--pc,var(--text));font-size:1.7rem;font-weight:400;line-height:1}.rival-name small{font-family:var(--body);color:var(--muted);font-size:.8rem}.rival-row{color:var(--muted);flex-direction:column;gap:6px;display:flex}.note-faces{flex-wrap:wrap;gap:6px;display:flex}.note-face{border-radius:var(--r-sm);background:var(--bg-2);border:1.5px solid #0000;flex-direction:column;align-items:center;gap:3px;width:64px;padding:6px 2px;display:flex;position:relative}.note-face:hover{border-color:var(--line)}.note-face small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:800;overflow:hidden}.menu-btn{font-size:1.3rem}.game-menu.wide{width:min(560px,100%);max-height:92dvh;overflow-y:auto}.menu-info{flex-direction:column;gap:8px;display:flex}.menu-fact{border-radius:var(--r);background:var(--bg-2);border:1.5px solid var(--line);grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;padding:10px 14px;display:grid}.menu-fact>.small{grid-column:1/-1;line-height:1.35}.menu-fact-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.menu-room-code{font-family:var(--mono);letter-spacing:.22em;color:var(--gold);justify-self:end;font-size:1.5rem}.menu-town{color:var(--town,var(--text));justify-self:end}.menu-players{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.menu-players li{align-items:center;gap:8px;padding:0 14px;display:flex}.menu-players li strong{color:var(--pc);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-players li .small{white-space:nowrap;margin-left:auto}.menu-players li.away strong{opacity:.5}.menu-face{flex:none;width:26px;height:26px}.score-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.score-row{border-radius:var(--r);background:var(--bg-2);border:1.5px solid var(--line);align-items:center;gap:12px;padding:12px 14px;display:flex}.score-row-icon{flex:none;font-size:1.5rem;line-height:1}.score-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.score-row-text .small{line-height:1.35}.score-row-value{font-family:var(--pixel);color:var(--gold);font-variant-numeric:tabular-nums;flex:none;font-size:2.2rem;line-height:1}.score-row-value small{color:var(--muted);font-size:.55em}.scorecard,.game-menu{max-height:92dvh;overflow-y:auto}.menu-row{border-radius:var(--r);background:var(--bg-2);border:1.5px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;padding:12px 14px;font-weight:800;display:flex}.menu-row:hover{border-color:var(--muted)}.menu-row-label{flex:1}.menu-row.danger .menu-row-label{color:var(--bad)}.switch{background:var(--line);border-radius:999px;width:40px;height:22px;transition:background .15s;position:relative}.switch i{background:var(--text);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--good)}.switch.on i{transform:translate(18px)}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.danger:hover:not(:disabled){background:var(--bad);color:var(--ink)}.advice-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:.85rem}.advice-table th,.advice-table td{border-bottom:1px solid var(--line);text-align:center;padding:6px 4px}.advice-table th:first-child,.advice-table td:first-child{text-align:left}.advice-table td:first-child small{color:var(--muted);font-size:.72rem;font-weight:600;display:block}.advice-table td{font-family:var(--pixel);font-size:1.2rem}.advice-table td:first-child{font-family:var(--body);font-size:.85rem}.advice-table .up{color:var(--good)}.advice-table .down{color:var(--bad)}.window-body.flush{padding:0}.pace-title{margin-top:14px}@media (width<=640px){.notes-label{display:none}}@media (prefers-reduced-motion:reduce){.story-fx{display:none}.sky .spark,.story-item,.client-card,.wedding,.picking-date .single,.picking-advice .couple-row button.face,.story-pending span,.week-intro-title{animation:none!important}.week-intro{animation:1.8s step-end both intro}}.gallery-dev{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:16px;display:grid}.gallery-dev figure{background:var(--card);border-radius:var(--r);text-align:center;margin:0;padding:8px}.gallery-dev svg{width:100%;display:block}.phase-cta.row{flex-wrap:nowrap;align-items:center}.phase-cta.row .btn.big{flex:1;width:auto;max-width:420px}.phase-cta.row>.muted{padding:0 8px}.party-banner{border-color:color-mix(in srgb, var(--p6) 55%, var(--line))}.guest-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.guest-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.guest{display:inline-flex;position:relative}.guest.empty{border:1.5px dashed var(--line);width:32px;height:32px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem}.tag-mini.invited{background:color-mix(in srgb, var(--p6) 22%, transparent)}.advice-about{margin:2px 0 6px}.secret-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.secret-card{text-align:left;border-radius:var(--r);border:1.5px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.secret-card .secret-lines{flex-direction:column;gap:3px;min-width:0;font-size:.85rem;display:flex}.secret-card .secret-lines .muted{font-size:.78rem}.trend{color:var(--muted);margin-left:4px;font-size:.9rem;font-weight:800}.trend.up{color:var(--good)}.trend.down{color:var(--bad)}.who.anon{color:var(--muted);font-style:italic}.town-mix{text-align:center;color:var(--muted);margin:4px 0 10px}.town-mix.lopsided strong{color:var(--gold)}.gallery-page{padding:16px}.gallery-page .gallery-dev{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding:0 0 24px}.profile-home{color:var(--muted);margin:2px 0 6px;font-size:13px;font-weight:700}.town-people{color:color-mix(in srgb, var(--town) 70%, var(--text));margin-top:6px;font-size:12px;font-weight:700;display:block}.duel-help{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);padding:10px 14px;line-height:1.4}.duel-help summary{cursor:pointer;font-weight:900}.duel-help ul{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;font-size:.86rem;display:flex}.duel-map{touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.spot-tile{border-radius:var(--r);background:linear-gradient(180deg, color-mix(in srgb, var(--town) 14%, var(--card)), var(--card) 60%);border:1.5px solid color-mix(in srgb, var(--town) 30%, var(--line));min-height:170px;box-shadow:var(--raised);flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.spot-tile.here{border-color:color-mix(in srgb, var(--gold) 60%, var(--line))}.spot-tile.lit{border-color:var(--gold);box-shadow:0 0 0 3px #ffd23f55, var(--lift);cursor:pointer;animation:1.4s ease-in-out infinite beckon}.spot-head{border-bottom:1px dashed color-mix(in srgb, var(--town) 25%, var(--line));flex-wrap:wrap;align-items:center;gap:6px;padding:7px 8px 5px;display:flex}.spot-emoji{font-size:1.2rem;line-height:1}.spot-name{flex:1;min-width:0;font-size:.8rem;font-weight:900;line-height:1.1}.spot-traits{opacity:.75;gap:1px;width:100%;font-size:.62rem;display:flex}.spot-traits i{font-style:normal}.spot-moods{border-bottom:1px dashed color-mix(in srgb, var(--town) 25%, var(--line));justify-content:space-between;gap:2px;padding:3px 6px;font-size:.68rem;line-height:1;display:flex}.spot-moods i{opacity:.75;border-radius:6px;align-items:center;gap:1px;padding:2px 3px;font-style:normal;display:inline-flex}.spot-moods b{font-family:var(--mono);color:var(--muted);font-weight:700}.spot-moods .up b{color:var(--good)}.spot-moods .down b{color:var(--bad)}.spot-moods i.on{opacity:1;background:color-mix(in srgb, var(--gold) 22%, transparent);box-shadow:0 0 0 1px var(--gold)}.tag-mini.mood.up{color:var(--good);border-color:currentColor}.tag-mini.mood.down{color:var(--bad);border-color:currentColor}.map-couple.apart{background:var(--bg-2);border-style:dashed}.map-couple.apart.last{border-color:var(--bad)}.apart-where{opacity:.85;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:40px;font-size:1rem;display:flex}.apart-where small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:56px;font-size:.55rem;font-weight:800;overflow:hidden}.tag-mini.apart{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 60%, var(--line))}.apart-note{color:var(--bad)}.spot-guide{flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:.88rem;line-height:1.4;display:flex}.duel-actions .up{color:var(--good)}.duel-actions .down{color:var(--bad)}.spot-body{flex-direction:column;flex:1;gap:6px;padding:6px;display:flex}.spot-empty{color:var(--muted);margin:auto;font-size:.72rem}.map-singles{flex-wrap:wrap;gap:4px;display:flex}.map-person{border-radius:var(--r-sm);width:54px;color:inherit;cursor:pointer;background:0 0;border:1.5px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:3px 2px;transition:opacity .12s,border-color .12s,background .12s;display:flex;position:relative}@media (pointer:fine){.map-person{cursor:grab}}.map-person:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.map-person.selected{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent)}.map-person.lit{border-color:var(--gold);animation:1.4s ease-in-out infinite beckon}.map-person.dim{opacity:.3}.map-person.leaving{opacity:.55}.map-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.66rem;font-weight:800;overflow:hidden}.map-name.long{letter-spacing:-.03em;max-width:calc(100% + 10px);margin-inline:-5px}.map-tags{flex-wrap:wrap;justify-content:center;gap:2px;min-height:0;display:flex}.map-tags .tag-mini{padding:0 4px;font-size:.56rem}.tag-mini.venue{color:var(--good,#79e2a0);border-color:currentColor}.plan-tag{background:color-mix(in srgb, var(--gold) 25%, var(--bg-2));border-radius:6px;padding:1px 3px;font-size:.72rem;line-height:1}.home-dot{background:var(--town);border:1.5px solid #0a0520;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-3px;left:-3px}.map-couple{border-radius:var(--r-sm);background:color-mix(in srgb, var(--p0) 8%, var(--bg-2));border:1px solid color-mix(in srgb, var(--p0) 25%, var(--line));flex-direction:column;align-items:center;gap:3px;padding:3px 2px 5px;display:flex}.map-couple.stage-exclusive{border-color:color-mix(in srgb, var(--p6) 60%, var(--line))}.map-couple.stage-official{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, var(--bg-2))}.map-couple.night{box-shadow:0 0 12px color-mix(in srgb, var(--gold) 45%, transparent)}.map-couple-faces{justify-content:center;align-items:flex-start;display:flex}.map-heart{z-index:1;align-self:center;margin:0 -4px 12px;font-size:.9rem}.map-couple-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.map-couple-meta .chem.small i{width:6px;height:6px}.exposed{font-size:.8rem;animation:2.4s ease-in-out infinite peek}@keyframes peek{0%,70%,to{transform:none}80%{transform:translate(-2px)}90%{transform:translate(2px)}}.walk-ghost{opacity:.45;border:1.5px dashed var(--gold);border-radius:var(--r-sm);align-self:flex-start;padding:3px;position:relative}.walk-arrow{font-size:.8rem;position:absolute;bottom:-4px;right:-6px}.drag-ghost{z-index:30;pointer-events:none;filter:drop-shadow(0 8px 12px #0008);position:fixed;transform:translate(-50%,-60%)rotate(-4deg)}.duel-actions{border-radius:var(--r-sm);background:var(--bg-2);border:1.5px solid color-mix(in srgb, var(--gold) 45%, var(--line));flex-direction:column;gap:8px;padding:10px;animation:.15s ease-out rise;display:flex}.duel-actions-head{align-items:center;gap:8px;display:flex}.duel-actions-head strong{font-size:1rem}.link-btn{color:var(--p1);background:0 0;border:none;margin-left:auto;padding:0;font-weight:800;text-decoration:underline}.slot-x.static{flex:none;position:static}.duel-action-row{flex-wrap:wrap;gap:6px;display:flex}.duel-action-row .btn{flex:auto}.duel-advice-cards{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.advice-mini{padding:6px 8px;font-weight:900}.advice-mini .up{color:#198a52}.advice-mini .down{color:var(--bad)}.spot-ref{white-space:nowrap;font-weight:800}.town-duel-note{color:var(--muted);margin:4px 0 0;font-size:.8rem}.moves-box ul li{font-size:.86rem}@media (width<=640px){.duel-map{gap:5px}.spot-tile{min-height:140px}.spot-head{gap:4px;padding:5px 5px 4px}.spot-name{font-size:.68rem}.spot-traits{display:none}.spot-moods{gap:0;padding:3px;font-size:.6rem}.spot-moods i{gap:0;padding:2px 1px}.spot-body{gap:4px;padding:4px 3px}.map-person{width:44px;padding:2px 1px}.map-person .face-sm{width:32px;height:32px}.map-name{font-size:.58rem}.map-couple-meta .trend,.map-couple-meta .last-change{font-size:.65rem}}@media (width<=900px){.duel-wrap .hand{display:none}.duel-wrap{padding-bottom:200px}.duel-wrap .tray{max-height:70dvh}}.in-the-post{border-radius:var(--r-sm);background:var(--bg-2);border:1.5px dashed color-mix(in srgb, var(--p4) 60%, var(--line));flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.post-item{background:var(--card);border-radius:8px;align-items:center;gap:2px;padding:2px 4px;display:inline-flex}.late-tag{color:var(--p4);font-weight:800}.door-lab{border-color:color-mix(in srgb, var(--p3) 45%, var(--line))}.door-lab:hover{border-color:var(--p3)}.door-emoji{height:84px;font-size:64px;line-height:84px}.lab{gap:16px}.lab-intro{text-align:center}.lab-title{font-family:var(--pixel);margin:0 0 6px;font-size:clamp(2rem,6vw,3rem)}.lab-cast{flex-direction:column;gap:8px;display:flex}.lab-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.lab-pick{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);color:inherit;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;transition:transform .1s,border-color .12s;display:flex}.lab-pick .portrait{width:56px;height:56px}.lab-pick:hover{transform:translateY(-2px)}.lab-pick.on{border-color:var(--gold);box-shadow:0 0 0 3px #ffd23f44}.lab-pick small{font-weight:800}.lab-pair{flex-direction:column;gap:10px;padding:14px;display:flex}.lab-people{grid-template-columns:1fr 1fr;gap:12px;display:grid;position:relative}.lab-person{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.lab-portrait .portrait{width:110px;height:110px}.lab-name{font-size:1.15rem}.lab-name small{color:var(--muted);font-weight:700}.lab-traits,.lab-secrets{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.lab-secrets .field-label{width:100%;margin-top:4px}.lab-heart{font-size:2rem;animation:1.6s ease-in-out infinite beat;position:absolute;top:40px;left:50%;transform:translate(-50%)}@keyframes beat{50%{transform:translate(-50%)scale(1.15)}}.lab-controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lab-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.lab-card{flex-direction:column;gap:8px;display:flex}.lab-big{align-items:center;gap:10px;margin:0;font-size:1.1rem;display:flex}.lab-big strong{font-family:var(--pixel);color:var(--gold);font-size:2.4rem}.lab-parts{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.lab-parts .lab-n{min-width:2.2em;font-weight:900;display:inline-block}.lab-parts .up .lab-n{color:#79e2a0}.lab-parts .down .lab-n{color:var(--bad)}.lab-path{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lab-path li{align-items:center;gap:8px;display:flex}.lab-week{font-family:var(--mono);color:var(--muted);min-width:3.2em;font-size:.7rem}.lab-cards{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.lab-card-fx{background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:.85rem;font-weight:900}.lab-card-fx.up{color:#79e2a0}.lab-card-fx.down{color:var(--bad)}.btn.small.on{border-color:var(--gold)}@media (width<=520px){.lab-pick .portrait{width:44px;height:44px}.lab-portrait .portrait{width:84px;height:84px}.lab-heart{top:28px}}.trait.match{text-align:left;color:#c9f7da;background:color-mix(in srgb, #79e2a0 14%, var(--bg-2));border-color:#79e2a0;flex-direction:row;gap:4px;width:auto;padding:3px 10px}.trait.clash{border-color:var(--p3);color:#ffd9b0;background:color-mix(in srgb, var(--p3) 14%, var(--bg-2));flex-direction:row}.brief-rules{flex-direction:column;gap:12px;display:flex}.brief-rules>summary{cursor:pointer;border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);padding:10px 14px;font-weight:900}.brief-rules[open]>summary{margin-bottom:12px}@media (width<=640px){.doors{grid-template-columns:1fr 1fr;gap:8px}.door{gap:4px;min-height:0;padding:12px}.door-art{height:40px;margin-bottom:4px}.door-emoji{height:40px;font-size:40px;line-height:40px}.door-title{font-size:1.45rem}.door-sub{font-size:.74rem;line-height:1.3}.how-steps li{padding:10px 12px}.town-picker{grid-template-columns:1fr 1fr;gap:6px}.town-option ul,.town-option .town-people,.town-option .town-duel-note,.town-option .town-level{display:none}.town-option{padding:10px}.town-option strong{font-size:1.2rem}.segmented.big button{padding:8px 10px}.segmented.big small{font-size:.7rem;line-height:1.3}.client-cards{grid-template-columns:1fr 1fr;gap:6px}.client-card{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:8px 6px}.client-card .face-lg{width:60px;height:60px}.client-card .trait{padding:1px 6px;font-size:.66rem}.client-card .client-traits{justify-content:center}.singles{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.single{gap:2px;padding:6px 2px 5px}.single .face{width:46px;height:46px}.single-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;overflow:hidden}.single .st-label,.map-couple .st-label{display:none}.single .style-tag{padding:0 5px}.single .tag-mini{text-overflow:ellipsis;max-width:100%;padding:0 4px;font-size:.55rem;overflow:hidden}.couple-row{gap:6px;padding:6px 8px}.couple-row .face-md{width:44px;height:44px}.board{gap:12px}}@media (width<=900px){.board-wrap{padding-bottom:250px}.tray{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px}.tray-hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.25;display:-webkit-box;overflow:hidden}.slot{min-height:40px}.hand{scroll-snap-type:x proximity;scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.hand::-webkit-scrollbar{display:none}.hand .advice-card{scroll-snap-align:start;flex:0 0 92px}.tray-buttons .btn{padding:8px 6px;font-size:.85rem}.tray-buttons .lock-btn{padding:8px 10px 6px;font-size:1.15rem}.guest-list{padding:4px 0}}@media (width<=640px){.client-card .client-info{flex-direction:column;align-items:center;gap:4px;display:flex}.client-card .client-name{font-size:1.15rem}.client-card .client-traits{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.segmented.big{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.segmented.big button:not(.on) small{display:none}}.town-detail{border-radius:var(--r);background:color-mix(in srgb, var(--town) 12%, var(--card));border:1.5px solid color-mix(in srgb, var(--town) 50%, var(--line));flex-direction:column;gap:6px;margin-top:8px;padding:10px 12px;font-size:.82rem;line-height:1.4;display:none}.town-detail ul{margin:0;padding-left:18px}@media (width<=640px){.town-detail{display:flex}.story{gap:6px}.story-item{gap:8px;padding:8px 10px;font-size:.88rem;line-height:1.35}.story-icon{width:26px;font-size:1.25rem}.story-faces .face-sm{width:30px;height:30px}.report-title{font-size:1.8rem}.secrets-box,.chem-summary{padding:10px 12px;font-size:.86rem}}.options{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:8px;display:grid}.option{border-radius:var(--r);border:1.5px solid var(--line);background:var(--bg-2);color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;transition:border-color .12s,background .12s,transform .1s;display:flex}.option:hover{border-color:var(--muted);transform:translateY(-1px)}.option.on{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, var(--bg-2));color:var(--text);box-shadow:0 0 0 2px #ffd23f44}.option-icon{font-size:1.6rem;line-height:1}.option-icon .portrait{width:2.6rem;height:2.6rem;display:block}.option-title{color:var(--text);font-size:1rem;font-weight:900;line-height:1.15}.option-tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:.62rem;font-weight:700}.option-tag.easy{color:#79e2a0;border-color:color-mix(in srgb, #79e2a0 50%, var(--line))}.option-tag.medium{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 50%, var(--line))}.option-tag.hard{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 50%, var(--line))}.option-blurb{color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.35}.option-note{color:var(--muted);margin:6px 2px 0;font-size:.8rem;line-height:1.35;display:none}@media (width<=640px){.options{gap:6px}.option{padding:10px 4px 8px}.option-icon{font-size:1.35rem}.option-title{font-size:.86rem}.option-blurb{display:none}.option-note{display:block}.town-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.town-option{justify-content:center;min-height:96px;padding:10px 4px}.town-option-head{text-align:center;flex-direction:column;align-items:center;gap:4px}.town-option-head>span:nth-child(2){align-items:center}.town-option .town-emoji{font-size:1.5rem}.town-option strong{font-size:.95rem;line-height:1.05}.town-option small{font-size:.66rem;line-height:1.2}.town-option.surprise{grid-column:1/-1;min-height:0;padding:8px 10px}.town-option.surprise .town-option-head{flex-direction:row;justify-content:center;gap:8px}.town-option.surprise .town-option-head>span:nth-child(2){flex-direction:row;flex:none;align-items:baseline;gap:8px}.spot-head{flex-wrap:nowrap;align-items:center;min-height:38px}.spot-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (width<=520px){.lab-traits .trait,.lab-secrets .trait{padding:2px 7px;font-size:.68rem}.lab-pair{padding:10px}.lab-grid{grid-template-columns:1fr;gap:8px}}.door-cast{border-color:color-mix(in srgb, var(--p0) 45%, var(--line))}.door-cast:hover{border-color:var(--p0)}.cast{gap:16px}.cast-tabs{scrollbar-width:none;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.cast-tabs::-webkit-scrollbar{display:none}.cast-tab{border:1.5px solid var(--line);background:var(--bg-2);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;align-items:baseline;gap:6px;padding:7px 12px;font-weight:800;display:inline-flex}.cast-tab small{font-family:var(--mono);font-size:.7rem}.cast-tab.on{border-color:var(--gold);color:var(--ink);background:var(--gold)}.cast-towns{margin:-6px 0 0}.cast-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:8px;display:grid}.cast-pick{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);color:inherit;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;transition:transform .1s,border-color .12s;display:flex}.cast-pick:hover{border-color:var(--muted);transform:translateY(-2px)}.cast-pick .portrait{width:64px;height:64px}.cast-pick strong{font-size:.82rem}.cast-pick small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.66rem;overflow:hidden}.cast-facts{flex-direction:column;gap:8px;font-size:.88rem;display:flex}.cast-facts .field-label{display:block}@media (width<=640px){.cast-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.cast-pick .portrait{width:52px;height:52px}.cast-pick strong{font-size:.72rem}.door-host{grid-column:1/-1}}.single .tag-mini,.map-tags .tag-mini{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.door-learn{border-color:color-mix(in srgb, var(--p5) 45%, var(--line))}.door-learn:hover{border-color:var(--p5)}.how-more{color:var(--p5);background:0 0;border:none;align-self:flex-start;padding:0;font-weight:800;text-decoration:underline}@media (width<=640px){.door-learn{grid-column:1/-1}}.learn{gap:20px}.tutorial-cta{border-radius:var(--r);border:2px solid var(--gold);background:color-mix(in srgb, var(--gold) 12%, var(--card));color:inherit;text-align:left;box-shadow:0 4px 0 var(--gold-deep);align-items:center;gap:14px;padding:14px 16px;transition:transform .1s;display:flex}.tutorial-cta:hover{transform:translateY(-2px)}.tutorial-cta:active{box-shadow:0 1px 0 var(--gold-deep);transform:translateY(2px)}.tutorial-cta-face{background:var(--bg-2);border:2px solid var(--gold);border-radius:50%;flex:none;width:72px;height:72px;overflow:hidden}.tutorial-cta-face .portrait{width:100%;height:100%}.tutorial-cta-text{min-width:0;color:var(--muted);flex-direction:column;flex:1;gap:4px;font-size:.92rem;line-height:1.4;display:flex}.tutorial-cta-text strong{color:var(--text);font-size:1.1rem}.tutorial-cta-go{font-family:var(--pixel);color:var(--ink);background:var(--gold);border-radius:var(--r-sm);flex:none;padding:8px 12px 6px;font-size:1.7rem;line-height:1}.tutorial-cta.again{box-shadow:none;border-style:dashed}.guide-nav{scrollbar-width:none;z-index:2;background:linear-gradient(to bottom, var(--bg) 80%, transparent);gap:6px;padding-top:8px;padding-bottom:4px;display:flex;position:sticky;top:0;overflow-x:auto}.guide-nav::-webkit-scrollbar{display:none}.guide-nav a{border:1.5px solid var(--line);background:var(--bg-2);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:6px 12px;font-size:.85rem;font-weight:800;text-decoration:none}.guide-nav a:hover{color:var(--text);border-color:var(--muted)}.guide{flex-direction:column;gap:14px;display:flex}.guide-section{border-radius:var(--r);background:var(--card);border:1.5px solid var(--line);box-shadow:var(--raised);color:var(--muted);flex-direction:column;gap:10px;padding:16px;scroll-margin-top:56px;line-height:1.5;display:flex}.guide-section p,.guide-section ul,.guide-section ol{margin:0}.guide-section ul,.guide-section ol{flex-direction:column;gap:6px;padding-left:20px;display:flex}.guide-section strong{color:var(--text)}.guide-section .advice-table{color:var(--text);margin-top:0}.guide-styles,.guide-badges{list-style:none;padding-left:0!important}.guide-styles li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.guide-badges{flex-wrap:wrap;flex-direction:row!important;gap:6px 16px!important}.guide-badges .hint-badge{margin-right:4px;display:inline-block;position:static;transform:none}.guide-tips li::marker{color:var(--gold);font-family:var(--pixel)}.guide-towns{list-style:none;gap:8px!important;padding-left:0!important}.guide-towns li{border-radius:var(--r-sm);background:var(--bg-2);border-left:4px solid var(--town);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.guide-town-name{color:var(--text)}.guide-level{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--town);margin-left:6px;font-size:.68rem;font-weight:700}@media (width<=640px){.tutorial-cta{gap:10px;padding:12px}.tutorial-cta-face{width:52px;height:52px}.tutorial-cta-text{font-size:.82rem}.tutorial-cta-go{font-size:1.35rem}.guide-section{padding:12px;font-size:.92rem}}.hud-coach{order:20;width:100%}.coach{align-items:flex-start;gap:10px;animation:.25s fade;display:flex}.coach-face{background:var(--bg-2);border:2px solid var(--gold);border-radius:50%;flex:none;width:52px;height:52px;overflow:hidden}.coach-face .portrait{width:100%;height:100%}.coach-bubble{border-radius:4px var(--r) var(--r) var(--r);background:var(--paper);min-width:0;color:var(--ink-color);border:2px solid #e4d9bf;flex-direction:column;flex:1;gap:4px;padding:9px 12px;font-size:.92rem;line-height:1.4;display:flex;position:relative;box-shadow:0 3px #0a0520}.coach-bubble .pname{color:var(--ink-color)}.coach.nudge .coach-bubble{border-color:var(--p0);animation:.35s nudge;box-shadow:0 0 0 3px #ff4f8b44,0 3px #0a0520}@keyframes nudge{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.coach-name{font-family:var(--pixel);color:#b04a1f;font-size:1.15rem;line-height:1}.coach-name small{font-family:var(--body);color:#7a6c96;margin-left:4px;font-size:.7rem;font-weight:700}.coach-text{min-width:0}.coach-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.coach-actions .btn,.coach-links .btn{padding:5px 12px;font-size:.82rem}.coach-actions .btn:not(.primary){color:#6b5f88;box-shadow:none;background:0 0;border-color:#d8ccb0}.coach-links{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.coach-links .btn:not(.primary){color:#6b5f88;background:0 0;border-color:#d8ccb0}.coach-dots{gap:4px;margin-right:auto;display:flex}.coach-dots i{background:#d8ccb0;border-radius:50%;width:6px;height:6px}.coach-dots i.on{background:#b04a1f}.coach-pill{border:1.5px solid var(--gold);background:var(--card);color:var(--gold);border-radius:999px;align-items:center;gap:6px;padding:3px 12px 3px 3px;font-size:.85rem;font-weight:800;display:inline-flex}.coach-pill .portrait{background:var(--bg-2);border-radius:50%;width:26px;height:26px}.coach-glow{z-index:1;outline:3px solid var(--gold);outline-offset:2px;animation:1.2s ease-in-out infinite coach-glow;position:relative}@keyframes coach-glow{50%{outline-color:#0000;box-shadow:0 0 18px 4px #ffd23f88}}@media (width>=901px){.coached .tray{top:calc(var(--hud-h,60px) + 8px)}}@media (width<=640px){.coach-face{width:40px;height:40px}.coach-bubble{padding:7px 10px;font-size:.82rem}.coach-name{font-size:1rem}.coach-name small{display:none}}.bot-line{align-items:center;gap:8px;list-style:none;display:flex}.bot-face{flex:none;width:36px;height:36px}.music-toggle{border:1.5px solid var(--line);background:var(--bg-2);color:var(--muted);border-radius:999px;margin-left:auto;padding:5px 10px;font-size:.78rem;font-weight:800}.music-toggle.on{color:var(--text);border-color:color-mix(in srgb, var(--accent,#ff4f8b) 55%, var(--line))}.duel-extras{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.duel-extras .btn.on{border-color:var(--gold)}.spot-tile.reserved{outline:2px dashed var(--gold);outline-offset:-3px}.tag-mini.self{background:var(--gold);color:#1d1438}.tag-mini.friend{background:color-mix(in srgb, var(--p1) 30%, var(--bg-2));color:var(--text)}.tag-mini.call.right{color:var(--good)}.tag-mini.call.wrong{color:var(--bad)}.call-btn{border-color:color-mix(in srgb, var(--gold) 60%, var(--line))}.guess-pick.ruled-out{opacity:.35}.client-card.self{border-color:var(--gold)}.get-limin{max-width:420px;color:inherit;text-align:center;opacity:.85;border:1.5px dashed;border-radius:12px;margin:14px auto 0;padding:10px 12px;font-size:.85rem;font-weight:700;line-height:1.35;text-decoration:none;display:block}.get-limin strong{text-decoration:underline}
