:root{color:#223b3b;--accent:#147b77;--paper:#fffdf7;--line:#dedfd5;--muted:#677674;--coral:#dc725b;background:#f8f4eb;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:1px solid var(--line);background:var(--paper);min-height:48px;color:inherit;cursor:pointer;touch-action:manipulation;border-radius:14px;padding:10px 18px;font-weight:650}button:hover{border-color:var(--accent);filter:brightness(.98)}button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}input:focus-visible{outline:3px solid var(--coral);outline-offset:3px}select:focus-visible{outline:3px solid var(--coral);outline-offset:3px}button:disabled{opacity:.3;cursor:default}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.quiet{background:0 0;border-color:#0000}.brand{color:var(--accent);align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:flex}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1100px;margin:auto;padding:20px 28px;display:flex}header>div{gap:4px;display:flex}main{max-width:1000px;margin:auto;padding:32px 24px 48px}h1{letter-spacing:-.04em;margin:14px 0 20px;font-size:clamp(30px,5vw,52px);line-height:1.12}h2{margin:0 0 16px;font-size:20px}h3{font-size:15px}p{line-height:1.65}small,.eyebrow{color:var(--muted)}.eyebrow{letter-spacing:.13em;font-size:12px;font-weight:750}.hero{text-align:center;padding:22px 0 28px}.hero p{color:var(--muted);font-size:18px}.hero-digits{justify-content:center;align-items:center;gap:10px;margin:26px;display:flex}.hero-digits>span,.chip{background:var(--paper);border:1px solid var(--line);border-radius:15px;justify-content:center;align-items:center;width:60px;height:66px;font-size:32px;font-weight:750;display:inline-flex;box-shadow:0 4px #223b3b0a}.hero-digits>span:nth-child(2){color:var(--accent);transform:rotate(-5deg)}.hero-digits>span:nth-child(3){color:var(--coral);transform:rotate(5deg)}.hero-digits small{color:var(--accent);margin-left:12px;font-size:21px;font-weight:800}.home-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.panel{border:1px solid var(--line);background:var(--paper);border-radius:24px;padding:28px}.names{gap:12px;display:grid}.names label{color:var(--accent);align-items:center;gap:12px;display:flex}.names label+label{color:var(--coral)}input:not([type=checkbox]),select{border:1px solid var(--line);background:var(--paper);min-height:48px;color:inherit;border-radius:10px;max-width:100%;padding:10px}.names input{width:100%}.settings{flex-wrap:wrap;align-items:center;gap:18px;margin:24px 0;display:flex}.settings label{align-items:center;gap:8px;min-height:44px;display:flex}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.modes{gap:12px;display:grid}.modes button{text-align:left;align-items:center;gap:18px;font-size:18px;display:flex}.modes button>span:last-child{margin-left:auto}.mode-icon{color:var(--accent);min-width:48px}.scoreboard{text-align:center;border-top:1px solid var(--line);margin:28px 0 12px;padding:12px}.scoreboard p{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.scoreboard span{color:var(--muted)}.notice{border:1px solid var(--coral);background:var(--paper);border-radius:14px;padding:14px 20px}.handover{place-items:center;min-height:75vh;display:grid}.handover-card{text-align:center}.handover-card h2{color:var(--accent);font-size:36px}.giant{color:var(--accent);font-size:68px}.play,.secret{max-width:900px;padding-top:20px}.play-top{text-align:center}.own-secret{color:var(--muted);justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex}.own-secret strong{letter-spacing:.2em}.eye{font-size:13px}.guess-slots{justify-content:center;gap:10px;margin:20px 0;display:flex}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:410px;margin:20px auto 0;display:grid}.keypad button{min-height:64px;font-size:26px}.keypad button:last-child{font-size:18px}.histories{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;display:grid}.history{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:18px}.history h2{font-size:16px}.history h2 small{float:right}.history ol{max-height:220px;margin:0;padding:0;list-style:none;overflow:auto}.history li{justify-content:space-between;align-items:center;gap:12px;margin:10px 0;display:flex}.mini-chip{border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;width:32px;height:38px;font-weight:700;display:inline-flex}.guess-chips{gap:5px;display:flex}.reply{color:var(--accent);letter-spacing:.04em}.empty{color:var(--muted)}.notes{max-width:600px;margin:20px auto}.notes>div:first-child{justify-content:space-between;align-items:center;display:flex}.notes h2{margin:0;font-size:16px}.notes label{align-items:center;gap:7px;min-height:44px;font-size:14px;display:flex}.note-digits{grid-template-columns:repeat(10,1fr);gap:5px;margin-top:12px;display:grid}.note-digits button{min-width:0;padding:5px;font-size:18px}.note-1{opacity:.4;text-decoration:line-through}.note-2{background:var(--accent);color:#fff}.impossible{opacity:.25}.history-toggle{display:none}.rules-card{max-width:650px;margin:auto}.rules-card li{padding:10px;line-height:1.6}.example{justify-content:center;align-items:center;gap:10px;display:flex}.example .chip{animation:2s infinite alternate bob}.example strong{color:var(--accent);margin-left:16px}.share-card{text-align:center;max-width:500px;margin:auto}.share-url{width:100%;margin-top:20px;font-size:12px;display:block}.qr{background:#fff;max-width:320px;margin:20px auto;padding:12px}.qr svg{width:100%;height:auto;display:block}.room-boxes{gap:8px;margin:30px 0 16px;display:flex}.room-boxes input{text-align:center;width:50px;padding:5px;font-size:24px}.result-card{text-align:center;position:relative;overflow:hidden}.reveals{justify-content:center;gap:50px;margin-top:30px;display:flex}.reveals strong{letter-spacing:.2em;font-size:40px}.verification{color:var(--accent)}.result-card>button{margin:8px}.confetti{pointer-events:none;z-index:-1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.confetti i{left:calc(var(--i) * 5%);background:var(--accent);width:8px;height:16px;animation:3s infinite fall;animation-delay:calc(var(--i) * -.2s);position:absolute;top:0}.confetti i:nth-child(odd){background:var(--coral)}.thinking{color:var(--accent);animation:.6s infinite alternate bob}.sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes bob{to{transform:translateY(-5px)}}@keyframes fall{to{opacity:0;transform:translateY(600px)rotate(360deg)}}[data-theme=dark]{color:#f4eee2;--paper:#213b3d;--line:#3c5353;--muted:#b4c5c0;--accent:#65c8b9;--coral:#f19b85;background:#152a2c}[data-theme=dark] .primary{color:#132b29}@media (max-width:600px){header{padding:12px 16px}.brand{font-size:16px}header button{padding:8px 12px}main{padding:22px 16px 32px}.hero{padding:10px 0}.hero h1{font-size:38px}.hero-digits{margin:20px}.home-grid{grid-template-columns:1fr;gap:16px}.panel{padding:20px}.modes button{min-height:70px}.histories{grid-template-columns:1fr;margin-top:12px}.opponent-history.collapsed{display:none}.history-toggle{margin:4px auto;display:block}.history{padding:12px}.history ol{max-height:125px}.notes{margin:12px 0}.note-digits{grid-template-columns:repeat(5,1fr)}.note-digits button{min-height:48px}.play-top h1{font-size:25px}.guess-slots{margin:12px}.keypad{gap:7px;margin-top:12px}.keypad button{min-height:64px}.own-secret{gap:8px}.reveals{gap:25px}.room-boxes{gap:5px}.room-boxes input{width:calc(16.6667% - 4.16667px)}}@media (min-width:700px) and (max-height:750px){.play{grid-template-columns:1fr 1fr;gap:10px 24px;display:grid}.play-top{grid-column:1/-1}.histories{grid-area:2/1/5;display:block}.history{margin-bottom:12px}.notes,.guess-slots,.keypad{grid-column:2}.history ol{max-height:110px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}header{height:72px;padding:8px 16px}header button,.brand{min-width:48px;min-height:48px}main.play,main.secret{height:calc(100dvh - 72px);padding:8px 16px max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:6px;display:flex;overflow:hidden}.play-top{flex:none}.play-top h1{margin:4px 0;font-size:24px}.play-top p{margin:4px 0}.play-middle{flex:1;min-height:0;overflow:auto}.play .histories{margin-top:0}.play .guess-slots,.secret .guess-slots{margin:4px 0}.play .chip,.secret .chip{width:46px;height:46px;font-size:26px}.play .keypad,.secret .keypad{background:var(--paper);flex:none;gap:6px;width:100%;max-width:410px;margin:0 auto;position:sticky;bottom:0}.secret .keypad{margin-top:auto}.keypad button{height:64px;padding:4px}.notes-disclosure summary{cursor:pointer;min-height:48px;padding:12px}.note-digits{grid-template-columns:repeat(5,minmax(44px,1fr))}.note-digits button{border:2px dashed var(--accent);border-radius:50%;min-height:44px;font-size:16px}@media (min-width:650px) and (max-height:500px){header{height:56px;padding:4px 12px}main.play,main.secret{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(240px,42%);gap:4px 16px;height:calc(100dvh - 56px);display:grid}.play-top{grid-area:1/1}.play .play-middle{grid-area:3/1;overflow:auto}.play .guess-slots{grid-area:2/1;margin:0}.play .guess-slots .chip{width:36px;height:36px;font-size:22px}.play .keypad,.secret .keypad{grid-area:1/2/4;align-self:end}.play-top h1{font-size:20px}.play .histories{display:block}.own-secret{flex-wrap:wrap;gap:4px}}
