:root{--bg: oklch(.16 .045 355);--bg-deep: oklch(.12 .04 350);--surface: oklch(.21 .05 355);--surface-raised: oklch(.26 .05 355);--ink: oklch(.95 .02 85);--muted: oklch(.74 .04 355);--border: oklch(.95 .02 85 / .1);--pink: oklch(.66 .24 0);--pink-deep: oklch(.55 .22 0);--pink-dim: oklch(.66 .24 0 / .14);--pink-border: oklch(.66 .24 0 / .45);--raspberry: oklch(.45 .19 0);--gold: oklch(.8 .11 85);--gold-dim: oklch(.8 .11 85 / .14);--gold-border: oklch(.8 .11 85 / .5);--card-face: oklch(.94 .02 85);--card-ink: oklch(.25 .05 350);--radius-card: 20px;--radius-btn: 12px;--radius-field: 8px;--font-ui: "Karla", system-ui, -apple-system, sans-serif;--font-display: "Shrikhand", "Karla", cursive;--ease-deal: cubic-bezier(.16, 1, .3, 1);--shadow-card: 0 10px 30px oklch(.08 .03 350 / .55);--z-deck: 0;--z-card: 1;--z-grain: 5;--safe-bottom: env(safe-area-inset-bottom, 0px);--suit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5S5.2 16.2 3.1 12.4C1.4 9.4 3 6.2 6.1 6.2c1.9 0 3.1 1 3.9 2.4.8-1.4 2-2.4 3.9-2.4 3.1 0 4.7 3.2 3 6.2-2.1 3.8-8.9 8.1-8.9 8.1Z'/%3E%3Cpath d='M6.5 5.8 4.9 3.2M17.5 5.8l1.6-2.6' fill='none' stroke='black' stroke-linecap='round' stroke-width='1.8'/%3E%3C/svg%3E");--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);background:radial-gradient(120% 90% at 50% -10%,oklch(.2 .055 0 / .65),transparent 60%),radial-gradient(140% 120% at 50% 110%,var(--bg-deep),transparent 55%),var(--bg);color:var(--ink);min-height:100dvh;overflow-x:hidden;display:flex;flex-direction:column;align-items:center}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--noise) repeat;opacity:.05;pointer-events:none;z-index:var(--z-grain)}.screen{display:none;flex-direction:column;align-items:center;width:100%;max-width:480px;padding:24px 18px calc(24px + var(--safe-bottom));min-height:100dvh;position:relative;z-index:1}.screen.active{display:flex}.logo{display:block;object-fit:contain;filter:drop-shadow(0 0 14px oklch(.66 .24 0 / .45))}.logo--large{width:168px;height:auto;margin:28px 0 10px}.logo--small{width:76px;height:auto;margin:10px 0 16px}.tagline{color:var(--muted);font-size:1.02rem;font-weight:500;letter-spacing:.01em;margin-bottom:30px;text-align:center}.screen-title{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.25;text-align:center;margin-bottom:8px;color:var(--ink);text-wrap:balance}.screen-subtitle{font-size:.9rem;color:var(--muted);text-align:center;margin-bottom:20px;line-height:1.5;max-width:34ch}.mode-grid{display:flex;flex-direction:column;gap:12px;width:100%;margin-bottom:22px}.mode-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px 20px;text-align:left;cursor:pointer;transition:border-color .18s,transform .12s,box-shadow .18s;color:var(--ink);display:flex;align-items:center;gap:16px}.mode-card:hover,.mode-card:focus-visible{border-color:var(--pink-border);box-shadow:var(--shadow-card);transform:translateY(-1px)}.mode-card:active{transform:scale(.98)}.mode-icon{flex-shrink:0;display:grid;place-items:center;width:46px;height:46px;color:var(--ink)}.mode-copy h3{font-family:var(--font-ui);font-size:1.05rem;font-weight:800;letter-spacing:.005em;margin-bottom:3px}.mode-copy p{font-size:.82rem;color:var(--muted);line-height:1.45}.divider-or{width:100%;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;margin:2px 0 14px}.divider-or:before,.divider-or:after{content:"";flex:1;height:1px;background:var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-btn);font-family:var(--font-ui);font-size:1rem;font-weight:700;letter-spacing:.005em;cursor:pointer;transition:opacity .15s,transform .12s,box-shadow .15s,background-color .15s;padding:14px 20px;-webkit-tap-highlight-color:transparent;min-height:52px;color:var(--ink)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--full{width:100%;margin-top:8px}.btn--primary{background:var(--pink-deep);color:var(--ink);box-shadow:0 4px 18px #cc086c59}.btn--primary:hover:not(:disabled){background:var(--pink);box-shadow:0 4px 24px #fc328c73}.btn--secondary{background:transparent;border:1.5px solid var(--gold-border);color:var(--gold)}.btn--secondary:hover:not(:disabled){background:var(--gold-dim)}.btn--ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn--ghost:hover{color:var(--ink);border-color:#f5eee038}.btn--add{background:var(--pink-deep);color:var(--ink);font-size:1.5rem;font-weight:400;width:52px;height:52px;border-radius:50%;flex-shrink:0;padding:0;min-height:unset}.btn--add:hover{background:var(--pink)}.btn--icon{padding:10px 16px;border-radius:var(--radius-field);min-height:unset;font-size:.85rem}.btn--next{background:var(--pink-deep);color:var(--ink);box-shadow:0 4px 18px #cc086c59;flex:1}.btn--next:hover{background:var(--pink)}.btn--forfeit{background:var(--raspberry);color:var(--ink);flex:1}.btn--forfeit:hover{background:#b4065f}.btn--skip{background:transparent;color:var(--muted);border:1px solid var(--border);flex-shrink:0;padding:14px 16px;font-size:.85rem}.btn--timer{background:transparent;border:1px solid var(--gold-border);color:var(--gold);font-size:.85rem;font-weight:700;padding:9px 16px;min-height:unset;border-radius:999px}.join-btn{font-size:.95rem}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px 16px;width:100%;margin-bottom:14px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-group:last-child{margin-bottom:0}.form-label{font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--muted)}.text-input,.select-input{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-field);color:var(--ink);font-family:var(--font-ui);font-size:1rem;padding:12px 14px;width:100%;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.text-input::placeholder{color:#c0a1acbf}.text-input:focus,.select-input:focus{outline:none;border-color:var(--pink-border);box-shadow:0 0 0 2px var(--pink-dim)}.select-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a3b4' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.form-divider{border:none;border-top:1px solid var(--border);margin:14px 0}.role-row{display:flex;flex-direction:column;gap:6px}.intensity-picker{width:100%;margin-bottom:12px}.intensity-picker .form-label{margin-bottom:8px;display:block}.intensity-options{display:flex;gap:8px}.intensity-option{flex:1;display:flex}.intensity-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.intensity-option span{display:block;text-align:center;padding:11px 6px;border-radius:var(--radius-field);border:1px solid var(--border);background:var(--surface);font-size:.88rem;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s;white-space:nowrap;width:100%}.intensity-option--tame input:checked+span{border-color:var(--gold-border);background:var(--gold-dim);color:var(--gold);font-weight:800}.intensity-option--spicy input:checked+span{border-color:var(--pink-border);background:var(--pink-dim);color:var(--pink);font-weight:800}.intensity-option--wild input:checked+span{border-color:var(--raspberry);background:var(--raspberry);color:var(--ink);font-weight:800}.multiplayer-toggle{width:100%;margin-bottom:4px}.toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:var(--muted);min-height:44px}.toggle-checkbox{position:absolute;opacity:0;pointer-events:none}.toggle-slider{width:44px;height:24px;background:var(--surface-raised);border:1px solid var(--border);border-radius:12px;flex-shrink:0;position:relative;transition:background-color .2s,border-color .2s}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .2s,background-color .2s}.toggle-checkbox:checked+.toggle-slider{background:var(--pink-dim);border-color:var(--pink-border)}.toggle-checkbox:checked+.toggle-slider:after{transform:translate(20px);background:var(--pink)}.add-player-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.player-list{list-style:none;display:flex;flex-direction:column;gap:6px}.player-list li{display:flex;align-items:center;justify-content:space-between;background:var(--surface-raised);border-radius:var(--radius-field);padding:10px 12px;font-size:.95rem}.remove-player-btn{background:none;border:none;color:var(--muted);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:color .15s}.remove-player-btn:hover{color:var(--pink)}.room-code-display{font-size:2.6rem;font-weight:800;letter-spacing:.18em;text-indent:.18em;color:var(--gold);background:var(--surface);border:1.5px solid var(--gold-border);border-radius:var(--radius-card);padding:18px 24px;margin-bottom:16px;text-align:center;width:100%}.room-hint{font-size:.8rem;color:var(--muted);margin-bottom:6px;text-align:center}.share-link-row{display:flex;gap:8px;width:100%;margin-bottom:16px}.share-link-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-field);color:var(--muted);font-size:.82rem;font-family:var(--font-ui);padding:10px 12px;min-width:0}.room-code-input{background:var(--surface-raised);border:1.5px solid var(--border);border-radius:var(--radius-card);color:var(--ink);font-family:var(--font-ui);font-size:1.9rem;font-weight:800;letter-spacing:.16em;text-indent:.16em;padding:16px;width:100%;text-align:center;text-transform:uppercase;transition:border-color .18s,box-shadow .18s}.room-code-input:focus{outline:none;border-color:var(--gold-border);box-shadow:0 0 0 2px var(--gold-dim)}.room-players{width:100%;margin-bottom:12px;min-height:40px;text-align:center}.room-player-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600;margin:4px}.room-player-chip svg{color:var(--muted)}.room-player-chip.is-host{border-color:var(--gold-border);color:var(--gold)}.room-player-chip.is-host svg{color:var(--gold)}#screen-interstitial{justify-content:center}.card-back{background:linear-gradient(165deg,var(--surface-raised),var(--surface));border:1px solid var(--pink-border);border-radius:var(--radius-card);position:relative;box-shadow:var(--shadow-card)}.card-back:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid var(--pink-dim);border-radius:calc(var(--radius-card) - 8px)}.card-back:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/KNT2.png) center / 46% no-repeat;opacity:.16}.card-back--interstitial{width:min(220px,58vw);aspect-ratio:5 / 7;margin-bottom:30px;transform:rotate(-3deg)}.interstitial-message{font-family:var(--font-display);font-weight:400;font-size:1.8rem;line-height:1.3;color:var(--ink);text-align:center;margin-bottom:8px;text-wrap:balance}.interstitial-sub{color:var(--muted);text-align:center;margin-bottom:34px;font-size:.92rem}.game-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding-bottom:10px;min-height:52px}.home-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;opacity:.75;transition:opacity .2s;-webkit-tap-highlight-color:transparent}.home-btn:hover{opacity:1}.home-btn img{width:44px;height:auto;display:block}.header-chips{display:flex;align-items:center;gap:8px}.round-chip{border:1px solid var(--gold-border);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:700;color:var(--gold)}.remote-badge{background:var(--surface);border:1px solid var(--pink-border);border-radius:999px;padding:5px 12px;font-size:.78rem;color:var(--pink);font-weight:700;letter-spacing:.06em}.turn-indicator{font-family:var(--font-display);font-weight:400;font-size:1.3rem;color:var(--ink);text-align:center;margin:6px 0 18px;min-height:32px;line-height:1.3;text-wrap:balance}.card-container{width:100%;position:relative;margin-bottom:18px}.deck{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-deck)}.deck-card{position:absolute;top:0;right:0;bottom:0;left:0}.deck-card--1{transform:rotate(-2.2deg) translate(-6px,-3px)}.deck-card--2{transform:rotate(1.7deg) translate(6px,4px)}.card{position:relative;z-index:var(--z-card);width:100%;border-radius:var(--radius-card);padding:34px 26px;font-size:1.2rem;font-weight:500;line-height:1.55;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:210px;box-shadow:var(--shadow-card);text-wrap:balance}.card--question{background:var(--noise) repeat,var(--card-face);background-blend-mode:multiply;color:var(--card-ink)}.card--question:before,.card--question:after{content:"";position:absolute;width:17px;height:17px;background-color:#33172566;-webkit-mask:var(--suit-mask) center / contain no-repeat;mask:var(--suit-mask) center / contain no-repeat}.card--question:before{top:13px;left:15px}.card--question:after{bottom:13px;right:15px;transform:rotate(180deg)}.card--forfeit{background:var(--noise) repeat,var(--raspberry);background-blend-mode:multiply;color:var(--ink);gap:12px}.card--forfeit:before,.card--forfeit:after{content:"";position:absolute;width:17px;height:17px;background-color:#f5eee073;-webkit-mask:var(--suit-mask) center / contain no-repeat;mask:var(--suit-mask) center / contain no-repeat}.card--forfeit:before{top:13px;left:15px}.card--forfeit:after{bottom:13px;right:15px;transform:rotate(180deg)}.forfeit-title{font-family:var(--font-display);font-weight:400;font-size:1.15rem;color:var(--ink)}.forfeit-text{font-size:1.08rem;font-weight:500;line-height:1.55;color:var(--ink)}.card.deal{animation:deal .42s var(--ease-deal)}.card.slap{animation:slap .5s var(--ease-deal)}@keyframes deal{0%{transform:translateY(-46px) rotate(4deg) scale(.97);opacity:0}55%{opacity:1}to{transform:none;opacity:1}}@keyframes slap{0%{transform:translateY(-34px) scale(1.08) rotate(-2.5deg);opacity:0}55%{transform:scale(1.015) rotate(.4deg);opacity:1}to{transform:none}}.timer-zone{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px}.timer-ring-wrap{position:relative;width:64px;height:64px}.timer-ring{width:64px;height:64px;transform:rotate(-90deg)}.timer-ring-track{fill:none;stroke:var(--surface-raised);stroke-width:5}.timer-ring-progress{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;stroke-dasharray:169.65;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear,stroke .3s}.timer-ring-progress.warning{stroke:var(--pink)}.timer-display{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-display);font-weight:400;font-size:1.15rem;color:var(--ink)}.timer-display.warning{color:var(--pink)}.button-group{display:flex;gap:8px;width:100%;margin-top:auto;padding-bottom:var(--safe-bottom)}.awaiting-turn{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;padding:32px 20px;gap:16px}.awaiting-message{font-family:var(--font-display);font-weight:400;font-size:1.6rem;color:var(--ink);line-height:1.3}.awaiting-sub{font-size:.95rem;color:var(--muted)}.site-footer{position:relative;z-index:1;padding:12px 16px;font-size:.8rem;color:var(--muted);text-align:center}.site-footer a{color:var(--gold);text-decoration:none;font-weight:700}.site-footer a:hover{text-decoration:underline}.hidden{display:none!important}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (min-width: 480px){.screen{padding-left:26px;padding-right:26px}.card{font-size:1.26rem}}@media (min-width: 600px){.screen{justify-content:center;padding-top:40px;padding-bottom:40px}#screen-game .button-group{margin-top:22px}#screen-game .awaiting-turn{flex:none;min-height:220px}}@media (prefers-reduced-motion: reduce){.card.deal,.card.slap{animation:cardfade .2s ease-out}@keyframes cardfade{0%{opacity:0}to{opacity:1}}.mode-card,.btn,.toggle-slider,.toggle-slider:after{transition-duration:.01s}.timer-ring-progress{transition:stroke-dashoffset .1s linear,stroke .1s}}
