.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:700;cursor:pointer;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:10px 22px;min-height:44px;min-width:44px;box-shadow:2px 3px 0 var(--color-ink);transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;-webkit-user-select:none;user-select:none;text-decoration:none;line-height:1.2}.ui-button:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 0 var(--color-ink)}.ui-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:1px 1px 0 var(--color-ink)}.ui-button--primary{background-color:var(--color-ink);color:var(--color-white);border-color:var(--color-ink)}.ui-button--primary:hover:not(:disabled){background-color:#152033}.ui-button--accent{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-ink)}.ui-button--accent:hover:not(:disabled){background-color:#d1463b}.ui-button--secondary{background-color:var(--color-white);color:var(--color-ink)}.ui-button--secondary:hover:not(:disabled){background-color:#faf5e6}.ui-button--ghost{background-color:transparent;border-color:transparent;box-shadow:none;color:var(--color-ink)}.ui-button--ghost:hover:not(:disabled){background-color:#22304a0f}.ui-button--sm{padding:6px 14px;font-size:.9rem;min-height:44px}.ui-button--md{padding:10px 20px;font-size:1rem}.ui-button--lg{padding:14px 28px;font-size:1.15rem;border-radius:var(--radius-hand-2)}.ui-button--full{width:100%}.sticky-note{position:relative;padding:var(--note-padding);box-shadow:var(--note-shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;will-change:transform}.sticky-note.variant-1{border-radius:var(--radius-hand-1)}.sticky-note.variant-2{border-radius:var(--radius-hand-2)}.sticky-note--yellow{background-color:var(--note-yellow)}.sticky-note--mint{background-color:var(--note-mint)}.sticky-note--pink{background-color:var(--note-pink)}.sticky-note--blue{background-color:var(--note-blue)}.sticky-note--peach{background-color:var(--note-peach)}.sticky-note--lilac{background-color:var(--note-lilac)}.sticky-note--white{background-color:var(--color-white)}.sticky-tape{position:absolute;top:-12px;width:70px;height:24px;background-color:var(--tape-color);box-shadow:var(--tape-shadow);border-left:1px dashed rgba(34,48,74,.12);border-right:1px dashed rgba(34,48,74,.12);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none;z-index:2}.sticky-tape--single{left:50%;transform:translate(-50%) rotate(var(--tape-rot, -1.5deg))}.sticky-tape--left{left:22%;transform:translate(-50%) rotate(-2.5deg)}.sticky-tape--right{left:78%;transform:translate(-50%) rotate(2.5deg)}@media(hover:hover){.sticky-note.is-interactive:hover{transform:translateY(-4px) scale(1.01) rotate(var(--target-rot, 0deg));box-shadow:var(--note-shadow-hover)}}@media(prefers-reduced-motion:reduce){.sticky-note{transform:none!important}.sticky-tape{transform:translate(-50%)!important}}.ui-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:.85rem;font-weight:600;color:var(--color-ink);background:#22304a0d;border:1.5px solid rgba(34,48,74,.15);border-radius:20px 4px 18px 5px/5px 18px 4px 20px;white-space:nowrap}.ui-tag--accent{background:#e2574c17;border-color:#e2574c4d;color:#c4382d}.ui-tag--ink{background:var(--color-ink);color:var(--color-white);border-color:var(--color-ink)}.ui-tag-icon{display:flex;align-items:center;opacity:.85}.ui-ad-slot{width:100%;background-color:var(--color-white);border:2px dashed #8C93A0;border-radius:var(--radius-hand-1);padding:18px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:28px 0;box-shadow:1px 3px 6px #22304a0d;transform:rotate(-.4deg)}.ui-ad-badge{font-family:var(--font-hand);font-size:.95rem;letter-spacing:.15em;font-weight:700;color:#8c93a0;border:1px dashed #8C93A0;padding:2px 8px;border-radius:4px;-webkit-user-select:none;user-select:none}.ui-ad-message{font-size:.9rem;color:#6d7687;text-align:center;font-style:italic}@media(prefers-reduced-motion:reduce){.ui-ad-slot{transform:none!important}}.ui-code-input{display:flex;gap:8px;align-items:center;justify-content:center}.ui-code-char{width:52px;height:60px;text-align:center;font-family:var(--font-hand);font-size:2.2rem;font-weight:700;color:var(--color-ink);background-color:var(--color-white);border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:2px 2px 0 var(--color-ink);text-transform:uppercase;caret-color:var(--color-accent);transition:transform .12s ease,border-color .12s ease}.ui-code-char:focus{transform:translateY(-2px);border-color:var(--color-accent);outline:none;box-shadow:2px 4px 0 var(--color-accent)}.ui-code-char:nth-child(2n){border-radius:var(--radius-hand-2)}@media(max-width:480px){.ui-code-char{width:46px;height:54px;font-size:1.8rem;gap:6px}}.roll-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#121926a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.roll-modal-dialog{max-width:450px;width:100%;background-color:var(--color-page);border:2.5px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:24px 22px;box-shadow:6px 8px 0 var(--color-ink);position:relative;display:flex;flex-direction:column;animation:modalPop .25s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalPop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.roll-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;border-bottom:2px dashed rgba(34,48,74,.2);padding-bottom:10px}.roll-modal-title{font-family:var(--font-hand);font-size:2.2rem;font-weight:700;color:var(--color-ink);display:flex;align-items:center;gap:8px;line-height:1}.roll-modal-close-btn{font-size:1.5rem;font-weight:700;color:var(--color-ink);background:none;border:none;cursor:pointer;min-height:38px;min-width:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .12s ease,background-color .12s ease}.roll-modal-close-btn:hover{background-color:#22304a14;transform:scale(1.1)}.roll-modal-body{min-height:300px;display:flex;flex-direction:column;justify-content:center;position:relative}.roll-stage-rolling{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 16px;gap:20px;text-align:center}.dice-arena{display:flex;gap:24px;align-items:flex-end;justify-content:center;height:90px;padding-bottom:10px}.die-wrapper{display:flex;flex-direction:column;align-items:center;position:relative}.smooth-die{width:54px;height:54px;background-color:#fff;border:2.5px solid var(--color-ink);border-radius:12px;box-shadow:2px 3px 0 var(--color-ink);display:flex;align-items:center;justify-content:center;padding:6px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);will-change:transform}.smooth-die.die--tinted{background-color:var(--note-yellow)}.smooth-die.is-bouncing-1{animation:dieBounce1 .75s ease-in-out infinite}.smooth-die.is-bouncing-2{animation:dieBounce2 .75s ease-in-out infinite}@keyframes dieBounce1{0%,to{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-28px) rotate(-35deg) scale(1.08)}50%{transform:translateY(-4px) rotate(25deg) scale(.96)}75%{transform:translateY(-16px) rotate(-15deg) scale(1.04)}90%{transform:translateY(0) rotate(3deg) scale(1.1,.9)}}@keyframes dieBounce2{0%,to{transform:translateY(0) rotate(0) scale(1)}20%{transform:translateY(-30px) rotate(40deg) scale(1.08)}45%{transform:translateY(-6px) rotate(-25deg) scale(.95)}70%{transform:translateY(-18px) rotate(15deg) scale(1.05)}90%{transform:translateY(0) rotate(-4deg) scale(1.1,.9)}}.die-shadow{width:36px;height:8px;background:#22304a33;border-radius:50%;margin-top:6px;animation:shadowPulse .75s ease-in-out infinite}.die-shadow.shadow--alt{animation-delay:.08s}@keyframes shadowPulse{0%,to{transform:scale(1);opacity:.35}25%{transform:scale(.5);opacity:.12}50%{transform:scale(.85);opacity:.28}75%{transform:scale(.65);opacity:.18}}.die-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%}.die-pip-cell{display:flex;align-items:center;justify-content:center}.die-pip{width:8px;height:8px;background-color:var(--color-ink);border-radius:50%;display:block}.roll-rolling-text{font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:var(--color-ink);letter-spacing:.01em;margin-top:4px}.roll-ticker-hint{font-size:.88rem;color:var(--color-ink-muted);min-height:1.3em;font-style:italic}.roll-stage-result{display:flex;flex-direction:column;animation:revealResult .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes revealResult{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.roll-result-card{margin-bottom:16px}.roll-result-badge{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:4px;display:block}.roll-result-title{font-family:var(--font-hand);font-size:2.3rem;font-weight:700;color:var(--color-ink);line-height:1.05;margin-bottom:4px}.roll-result-meta{font-size:.9rem;color:var(--color-ink-muted);font-weight:700;margin-bottom:10px}.roll-result-pitch{font-size:.95rem;color:var(--color-ink);line-height:1.4}.roll-result-actions{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 16px;padding-left:clamp(48px,7vw,84px);padding-right:clamp(16px,4vw,32px)}.site-header{padding:20px 0;border-bottom:2px dashed rgba(34,48,74,.15);margin-bottom:32px}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.site-logo{font-family:var(--font-hand);font-size:2.2rem;font-weight:700;color:var(--color-ink);display:inline-flex;align-items:center;gap:10px;text-decoration:none;transition:transform .15s ease}.logo-couch-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background-color:var(--note-yellow);border:2px solid var(--color-ink);border-radius:var(--radius-hand-2);box-shadow:2px 2px 0 var(--color-ink);transform:rotate(-3deg);transition:transform .15s ease,background-color .15s ease;color:var(--color-ink);flex-shrink:0}.site-logo:hover{transform:rotate(-1deg)}.site-logo:hover .logo-couch-badge{transform:rotate(4deg) scale(1.08)}.site-footer{margin-top:auto;padding:48px 0 36px;border-top:2px dashed rgba(34,48,74,.15)}.site-footer-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;color:var(--color-ink-muted);font-size:.95rem}.site-footer-doodle{font-family:var(--font-hand);font-size:1.4rem;font-weight:700;color:var(--color-ink)}@media(max-width:600px){.site-header{padding:16px 0;margin-bottom:24px}.site-logo{font-size:1.8rem}}.suggestion-box-card{grid-column:span 1;cursor:pointer;background-color:var(--note-peach)!important;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease!important}@media(min-width:768px){.suggestion-box-card{grid-column:span 2}}.suggestion-card-inner{display:flex;flex-direction:row;align-items:center;gap:16px;height:100%}.suggestion-postbox-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:4px}.suggestion-content{flex:1;min-width:0;display:flex;flex-direction:column}.suggestion-badge{font-size:.72rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#9c4136;margin-bottom:2px}.suggestion-title{font-family:var(--font-hand);font-size:2.1rem;font-weight:700;color:var(--color-ink);margin:0 0 6px;line-height:1.1}.suggestion-desc{font-size:.95rem;line-height:1.45;color:var(--color-ink);margin:0 0 12px}.suggestion-action-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:#fffdf8;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:6px 14px;font-family:var(--font-body);font-size:.88rem;font-weight:800;color:var(--color-ink);cursor:pointer;box-shadow:2px 2px 0 var(--color-ink);transition:transform .15s ease,background .15s ease}.suggestion-action-btn:hover{background:var(--note-yellow);transform:translateY(-1px)}.suggestion-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#22304a99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .18s ease-out}.suggestion-modal-paper{background-color:#fdfbf4;border:3px solid var(--color-ink);border-radius:var(--radius-hand-2);box-shadow:6px 6px 0 var(--color-ink);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:24px;position:relative;background-image:repeating-linear-gradient(transparent,transparent 31px,rgba(34,48,74,.05) 31px,rgba(34,48,74,.05) 32px);animation:modalPop .22s cubic-bezier(.34,1.56,.64,1)}@keyframes modalPop{0%{transform:scale(.92) translateY(12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.suggestion-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:2px dashed rgba(34,48,74,.2);padding-bottom:16px;margin-bottom:18px}.suggestion-modal-title{font-family:var(--font-hand);font-size:2.2rem;color:var(--color-ink);margin:0 0 2px;line-height:1.1}.suggestion-modal-sub{font-size:.9rem;color:var(--color-ink-muted);margin:0}.suggestion-modal-close{background:none;border:2px solid var(--color-ink);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer;color:var(--color-ink);background-color:#fffdf8;flex-shrink:0;transition:transform .15s ease,background .15s ease}.suggestion-modal-close:hover{background-color:var(--note-pink);transform:rotate(90deg)}.suggestion-form{display:flex;flex-direction:column;gap:14px}.suggestion-field{display:flex;flex-direction:column;gap:5px}.suggestion-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.suggestion-field-row{grid-template-columns:1fr}.suggestion-card-inner{flex-direction:column;text-align:center}.suggestion-action-btn{align-self:center}}.suggestion-label{font-size:.88rem;font-weight:700;color:var(--color-ink)}.suggestion-input,.suggestion-textarea{width:100%;background:#fffdf8;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:10px 12px;font-family:var(--font-body);font-size:.95rem;color:var(--color-ink);box-shadow:2px 2px #22304a1a;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.suggestion-input:focus,.suggestion-textarea:focus{border-color:var(--color-accent);box-shadow:2.5px 2.5px 0 var(--color-ink)}.suggestion-textarea{resize:vertical;min-height:80px}.suggestion-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.suggestion-form-error{color:var(--color-accent);font-size:.88rem;font-weight:700;margin:0}.suggestion-success-box{text-align:center;padding:24px 16px}.suggestion-success-title{font-family:var(--font-hand);font-size:2.4rem;color:var(--color-ink);margin:0 0 8px}.suggestion-success-desc{font-size:1rem;color:var(--color-ink);line-height:1.5;margin:0 0 20px}.home-hero{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;margin-bottom:48px}@media(min-width:768px){.home-hero{grid-template-columns:1.15fr .85fr}}.hero-text{display:flex;flex-direction:column;gap:12px}.hero-heading-wrap{display:inline-block;position:relative;width:fit-content}.hero-title{font-family:var(--font-hand);font-size:clamp(2.8rem,6vw,4.2rem);font-weight:700;line-height:1;color:var(--color-ink);letter-spacing:-.01em}.hero-subtitle{font-size:1.15rem;color:var(--color-ink-muted);max-width:500px;margin-top:8px}.hero-how-card{max-width:370px;margin:0 auto;width:100%}.how-card-content{display:flex;flex-direction:column;width:100%}.how-card-header{font-family:var(--font-hand);font-size:2.1rem;font-weight:700;text-align:center;margin-bottom:2px;color:var(--color-ink);line-height:1.1}.how-card-sub{font-size:.9rem;text-align:center;color:var(--color-ink-muted);margin-bottom:16px;font-weight:600}.how-steps-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.how-step-item{display:flex;align-items:flex-start;gap:12px}.how-step-num{font-family:var(--font-hand);font-size:1.25rem;font-weight:700;color:var(--color-accent);border:2px solid var(--color-accent);border-radius:50% 45% 55% 50%/55% 50% 45%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.how-step-text{display:flex;flex-direction:column;gap:2px}.how-step-title{font-size:.95rem;font-weight:700;color:var(--color-ink);line-height:1.25}.how-step-desc{font-size:.82rem;color:var(--color-ink-muted);line-height:1.35}.how-card-footer{display:flex;justify-content:center;width:100%}.controls-section{display:flex;flex-direction:column;gap:20px;margin-bottom:36px}.search-bar-wrap{position:relative;max-width:440px;width:100%}.search-input{width:100%;height:48px;padding:8px 16px 8px 42px;font-size:1rem;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);background-color:var(--color-white);box-shadow:2px 2px 0 var(--color-ink)}.search-icon-pos{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-ink-muted);pointer-events:none}.filter-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.category-tab-btn{font-family:var(--font-hand);font-size:1.35rem;font-weight:700;padding:4px 14px;background:transparent;border:2.5px solid transparent;color:var(--color-ink);cursor:pointer;border-radius:20px;transition:all .12s ease}.category-tab-btn:hover{color:var(--color-accent)}.category-tab-btn.is-selected{color:var(--color-accent);border:2.5px solid var(--color-accent);border-radius:50% 45% 55% 50%/55% 50% 45%}.dropdown-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.filter-select-wrap{display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:600}.filter-select{height:44px;padding:4px 12px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-2);background-color:var(--color-white);box-shadow:1.5px 2px 0 var(--color-ink);cursor:pointer}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px 24px;margin-bottom:48px}.game-card{display:flex;flex-direction:column;justify-content:space-between;min-height:290px;height:100%}.game-card-top{display:flex;flex-direction:column;gap:8px}.game-card-category-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.game-card-category{font-family:var(--font-hand);font-size:1.15rem;font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.game-card-badge-coming-soon{font-family:var(--font-hand);font-size:1.05rem;font-weight:700;color:var(--color-ink-muted);background:#22304a14;border:1.5px dashed var(--color-ink-muted);border-radius:var(--radius-hand-1);padding:1px 8px;line-height:1.2}.game-card-title{font-family:var(--font-hand);font-size:1.9rem;font-weight:700;line-height:1.15;color:var(--color-ink)}.game-card-desc{font-size:.95rem;color:var(--color-ink);line-height:1.4;margin-bottom:12px}.game-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.game-card-bottom{margin-top:auto;padding-top:12px;border-top:1.5px dashed rgba(34,48,74,.15)}.game-card-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-hand);font-size:1.4rem;font-weight:700;color:var(--color-ink);text-decoration:none;transition:transform .15s ease,color .15s ease}.game-card:hover .game-card-link{color:var(--color-accent);transform:translate(4px)}.game-card-link.is-coming-soon{font-size:1.2rem;color:var(--color-ink-muted)}.game-card:hover .game-card-link.is-coming-soon{color:var(--color-ink);transform:translate(3px)}.empty-state{text-align:center;padding:60px 20px;grid-column:1 / -1}.empty-state-title{font-family:var(--font-hand);font-size:2.2rem;margin-bottom:8px}.game-page-v2{display:flex;flex-direction:column;gap:36px;padding:10px 0 60px;max-width:920px;margin:0 auto}.game-top-nav{display:flex;justify-content:flex-end;margin-bottom:-10px}.game-nav-back{font-family:var(--font-hand);font-size:1.5rem;font-weight:700;color:var(--color-ink);text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:transform .12s ease}.game-nav-back:hover{transform:translate(-4px);color:var(--color-accent)}.game-hero-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}@media(min-width:768px){.game-hero-grid{grid-template-columns:1.15fr .85fr}}.game-hero-content{display:flex;flex-direction:column;gap:12px}.game-category-badge{font-size:.8rem;font-weight:800;letter-spacing:.14em;color:var(--color-ink-muted);text-transform:uppercase}.game-hero-title-wrap{position:relative;width:fit-content}.game-hero-title{font-family:var(--font-hand);font-size:clamp(3rem,6.5vw,4.2rem);font-weight:700;line-height:1;color:var(--color-ink);letter-spacing:-.01em}.game-hero-pitch{font-size:1.12rem;line-height:1.5;color:var(--color-ink);margin-top:6px}.game-hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.game-pill{padding:4px 12px;border:1.5px solid var(--color-ink);border-radius:4px;background-color:transparent;font-size:.88rem;font-weight:700;color:var(--color-ink)}.start-card-note{padding:24px 20px 20px}.start-card-title{font-family:var(--font-hand);font-size:2.2rem;font-weight:700;color:var(--color-ink);margin-bottom:12px}.start-picker-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.start-picker-label{font-size:.95rem;font-weight:700;color:var(--color-ink)}.start-options-row{display:flex;align-items:center;gap:16px}.start-option-btn{background:transparent;border:2.5px solid transparent;font-family:var(--font-body);font-size:1.05rem;font-weight:700;color:var(--color-ink);cursor:pointer;padding:3px 10px;min-height:40px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease}.start-option-btn:hover{color:var(--color-accent)}.start-option-btn.is-selected{border:2.5px solid var(--color-accent);border-radius:50% 45% 55% 50%/55% 50% 45%;color:var(--color-accent)}.start-launch-btn{width:100%;background-color:var(--color-ink);color:var(--color-white);border:2px solid var(--color-ink);border-radius:8px;font-family:var(--font-body);font-size:1.05rem;font-weight:700;padding:12px 20px;cursor:pointer;min-height:48px;box-shadow:2px 2px 0 var(--color-ink);transition:transform .12s ease,background-color .12s ease}.start-launch-btn:hover{background-color:#162033}.start-launch-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--color-ink)}.start-note-helper{font-size:.85rem;color:var(--color-ink);opacity:.85;margin-top:6px;line-height:1.35}.start-divider{text-align:center;margin:14px 0 10px;font-size:.82rem;font-weight:700;color:#22304a66;letter-spacing:.15em}.coming-soon-banner{background:#ffffffa6;border:1.5px dashed var(--color-ink-muted);border-radius:var(--radius-hand-1);padding:12px 10px;margin-bottom:14px;text-align:center}.coming-soon-pill{font-family:var(--font-hand);font-size:1.25rem;font-weight:700;color:var(--color-accent);display:block;margin-bottom:4px;line-height:1}.coming-soon-desc{font-size:.88rem;color:var(--color-ink);line-height:1.35}.coming-soon-tag-mini{font-family:var(--font-hand);font-size:.95rem;font-weight:700;color:var(--color-ink-muted);background:#22304a14;border:1px dashed var(--color-ink-muted);border-radius:var(--radius-hand-1);padding:0 6px;line-height:1.2}.goals-grid{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:680px){.goals-grid{grid-template-columns:1fr 1fr}}.goal-card{background-color:var(--color-white);border:1.5px solid rgba(34,48,74,.18);border-top:3px solid var(--color-accent);border-radius:var(--radius-hand-1);padding:20px 22px;box-shadow:2px 3px 6px #22304a0d}.goal-card-title{font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:var(--color-ink);margin-bottom:8px}.goal-card-text{font-size:.98rem;line-height:1.5;color:var(--color-ink)}.roles-section{display:flex;flex-direction:column;gap:16px}.roles-heading{font-family:var(--font-hand);font-size:2.6rem;font-weight:700;color:var(--color-ink)}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.role-card-note{padding:20px 16px;display:flex;flex-direction:column;gap:4px;min-height:160px}.role-team-tag{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.role-card-title{font-family:var(--font-hand);font-size:1.9rem;font-weight:700;color:var(--color-ink);line-height:1}.role-card-desc{font-size:.92rem;line-height:1.4;color:var(--color-ink);margin-top:4px}.round-works-section{display:flex;flex-direction:column;gap:16px}.round-works-heading{font-family:var(--font-hand);font-size:2.6rem;font-weight:700;color:var(--color-ink)}.round-phases-grid{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:720px){.round-phases-grid{grid-template-columns:1fr 1fr}}.phase-card{padding:24px 22px;border-radius:var(--radius-hand-1);box-shadow:2px 4px 10px #22304a1a}.phase-card--night{background-color:var(--color-ink);color:var(--color-white);border:2px solid var(--color-ink)}.phase-card--night .phase-title,.phase-card--night .phase-title span{color:var(--color-white)!important}.phase-card--night svg{color:var(--color-white)!important;stroke:var(--color-white)!important;fill:var(--color-white)!important}.phase-card--night .phase-list li{color:#e5ecf6}.phase-card--day{background-color:var(--note-yellow);color:var(--color-ink);border:2px solid var(--color-ink)}.phase-card--day .phase-title{color:var(--color-ink)!important}.phase-title{font-family:var(--font-hand);font-size:2.2rem;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:12px}.phase-list{list-style:none;display:flex;flex-direction:column;gap:10px;padding-left:0}.phase-list li{font-size:.98rem;line-height:1.45}.phases-footer{font-family:var(--font-hand);font-size:1.4rem;font-weight:700;font-style:italic;color:var(--color-ink);margin-top:-4px}.how-to-play-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}@media(min-width:768px){.how-to-play-grid{grid-template-columns:280px 1fr}}.diagram-card{background-color:var(--color-white);border:2px solid rgba(34,48,74,.18);border-radius:var(--radius-hand-1);padding:24px 20px;box-shadow:2px 3px 8px #22304a0f;display:flex;flex-direction:column;align-items:center;gap:16px}.diagram-svg{width:190px;height:190px;overflow:visible}.diagram-caption{font-family:var(--font-hand);font-size:1.25rem;font-weight:700;line-height:1.25;color:var(--color-ink);text-align:center}.how-to-play-content{display:flex;flex-direction:column;gap:20px}.how-to-play-title{font-family:var(--font-hand);font-size:2.8rem;font-weight:700;color:var(--color-ink);line-height:1}.rules-numbered-list{display:flex;flex-direction:column;gap:18px;list-style:none}.rule-number-item{display:flex;align-items:flex-start;gap:16px}.rule-number-circle{font-family:var(--font-hand);font-size:1.4rem;font-weight:700;color:var(--color-accent);border:2px solid var(--color-accent);border-radius:50% 45% 55% 50%/55% 50% 45%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:-2px}.rule-number-text{font-size:1.05rem;line-height:1.45;color:var(--color-ink)}.rules-sticky-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.rule-mini-note{padding:20px 18px;min-height:90px;display:flex;flex-direction:column;justify-content:center}.rule-mini-title{font-family:var(--font-hand);font-size:1.55rem;font-weight:700;color:var(--color-ink);line-height:1.15;margin-bottom:4px}.rule-mini-sub{font-size:.92rem;color:var(--color-ink);line-height:1.35}.strategy-card{background-color:var(--color-white);border:2px solid rgba(34,48,74,.18);border-radius:var(--radius-hand-1);padding:26px 28px;box-shadow:2px 3px 8px #22304a0d}.strategy-title{font-family:var(--font-hand);font-size:2.2rem;font-weight:700;color:var(--color-ink);margin-bottom:14px}.strategy-list{list-style:none;display:flex;flex-direction:column;gap:12px}.strategy-list li{position:relative;padding-left:20px;font-size:1.02rem;line-height:1.45;color:var(--color-ink)}.strategy-list li:before{content:"•";position:absolute;left:2px;color:var(--color-ink);font-weight:900;font-size:1.2rem;line-height:1.2}.play-next-block{display:flex;flex-direction:column;gap:16px}.play-next-heading{font-family:var(--font-hand);font-size:2.4rem;font-weight:700;color:var(--color-ink)}.play-next-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.play-next-card{padding:18px 16px;display:flex;flex-direction:column;justify-content:center;min-height:90px;text-decoration:none}.play-next-card:hover{text-decoration:none}.play-next-title{font-family:var(--font-hand);font-size:1.6rem;font-weight:700;color:var(--color-ink);line-height:1.1;margin-bottom:4px}.play-next-meta{font-size:.88rem;color:var(--color-ink);opacity:.9}.game-footer-links{display:flex;gap:18px;padding-top:10px;font-size:.9rem;color:var(--color-ink-muted)}.game-footer-links a{text-decoration:underline}.ways-to-win-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:16px;margin-bottom:32px}.way-to-win-card{background:#ffffffbf;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:16px 14px;box-shadow:2px 3px 0 var(--color-ink);display:flex;flex-direction:column}.way-win-title{font-family:var(--font-hand);font-size:1.6rem;font-weight:700;color:var(--color-ink);line-height:1.1;margin-bottom:4px}.way-win-desc{font-size:.88rem;color:var(--color-ink);line-height:1.35}.bingo-pattern-mini-grid{display:grid;grid-template-columns:repeat(5,13px);grid-template-rows:repeat(5,13px);gap:2.5px;background:#22304a0f;padding:6px;border-radius:4px;border:1px solid rgba(34,48,74,.2);width:fit-content;margin-bottom:12px}.pattern-mini-cell{width:13px;height:13px;border-radius:2px;background:var(--color-page);border:1px solid rgba(34,48,74,.2)}.pattern-mini-cell.is-active{background-color:var(--color-accent);border-color:var(--color-accent)}.seed-fairness-note{margin-bottom:32px}.seed-fairness-title{font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:var(--color-ink);margin-bottom:6px}.seed-fairness-body{font-size:.92rem;color:var(--color-ink);line-height:1.45}.imposter-rules-pairs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.imposter-rules-pair-note{padding:14px 16px;text-align:center}.imposter-rules-pair-text{font-family:var(--font-hand);font-size:1.6rem;font-weight:700;color:var(--color-ink);line-height:1.1}.imposter-rules-pair-vs{font-family:var(--font-sans);font-size:.85rem;font-weight:800;color:var(--color-ink-muted);text-transform:uppercase;margin:0 4px}.imposter-rules-win-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.imposter-rules-win-card{background:#ffffffbf;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:18px 20px;box-shadow:2.5px 2.5px 0 var(--color-ink)}.imposter-rules-win-title{font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:var(--color-ink);margin-bottom:6px}.imposter-rules-win-desc{font-size:.95rem;color:var(--color-ink);line-height:1.45}.join-page{display:flex;flex-direction:column;align-items:center;padding:20px 0 60px}.join-card-container{max-width:420px;width:100%}.join-sticky-box{padding:32px 24px}.join-header{display:flex;flex-direction:column;align-items:center;margin-bottom:8px}.join-title{font-family:var(--font-hand);font-size:2.8rem;font-weight:700;text-align:center}.join-intro{text-align:center;font-size:.98rem;color:var(--color-ink-muted);margin-bottom:24px}.join-form{display:flex;flex-direction:column;gap:20px}.join-field{display:flex;flex-direction:column;gap:8px;align-items:center}.join-label{font-weight:700;font-size:1rem;color:var(--color-ink)}.join-name-input{width:100%;height:48px;padding:8px 16px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);background-color:var(--color-white);box-shadow:2px 2px 0 var(--color-ink);font-size:1.1rem;text-align:center}.join-error-msg{color:var(--color-accent);font-weight:700;font-size:.95rem;text-align:center}.dots-game-container{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:600px;margin:0 auto}.dots-scoreboard{width:100%;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.player-score-card{display:flex;align-items:center;gap:10px;padding:8px 16px;background-color:var(--color-white);border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:2px 2px 0 var(--color-ink);min-width:130px;position:relative;transition:transform .15s ease,box-shadow .15s ease}.player-score-card.is-active{transform:translateY(-3px) scale(1.03);border-color:var(--color-accent);box-shadow:2.5px 4px 0 var(--color-accent)}.player-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-hand);font-size:1.4rem;font-weight:700;color:var(--color-white);border:2px solid var(--color-ink);flex-shrink:0}.player-info{display:flex;flex-direction:column}.player-name{font-size:.95rem;font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.player-score{font-family:var(--font-hand);font-size:1.3rem;font-weight:700;line-height:1}.active-turn-indicator{position:absolute;top:-9px;right:-6px;background-color:var(--color-accent);color:var(--color-white);font-size:.68rem;font-weight:800;padding:1px 6px;border-radius:10px;letter-spacing:.05em;text-transform:uppercase;box-shadow:1px 1px 0 var(--color-ink)}.turn-banner{width:100%;text-align:center;padding:8px 16px;border-radius:var(--radius-hand-2);background-color:#22304a0d;border:1.5px dashed rgba(34,48,74,.25);font-size:1.05rem;font-weight:600}.turn-banner.bonus-alert{background-color:#ffe8e6;border-color:var(--color-accent);color:#c4382d;font-weight:700;animation:pulse 1s infinite alternate}@keyframes pulse{0%{transform:scale(.99)}to{transform:scale(1.01)}}.board-card{width:100%;display:flex;justify-content:center;padding:18px 12px;background-color:#faf7ed;border:2.5px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:4px 5px 0 var(--color-ink);-webkit-user-select:none;user-select:none;touch-action:manipulation}.dots-svg-board{width:100%;max-width:440px;height:auto;aspect-ratio:1 / 1;overflow:visible}.line-hit-area{cursor:pointer;-webkit-tap-highlight-color:transparent}.line-hit-area:focus{outline:none}.board-line-ghost{stroke:#22304a1f;stroke-dasharray:4 4;transition:stroke .15s ease,stroke-width .15s ease}@media(hover:hover){.line-group:hover .board-line-ghost{stroke:var(--hover-color, var(--color-accent));stroke-width:4px;stroke-dasharray:none;opacity:.65}}.board-line-drawn{stroke-linecap:round;transition:stroke-dashoffset .2s ease-out}.box-claimed-rect{transition:all .25s cubic-bezier(.34,1.56,.64,1);transform-origin:center}.box-initial-text{font-family:var(--font-hand);font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.board-dot{fill:var(--color-ink);pointer-events:none}.game-over-card{width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px}.game-over-title{font-family:var(--font-hand);font-size:2.8rem;line-height:1.1;color:var(--color-ink)}.game-over-subtitle{font-size:1.25rem;font-weight:700;color:var(--color-accent)}.final-scores-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:8px 0}.final-score-pill{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);background-color:var(--color-white);box-shadow:2px 2px 0 var(--color-ink);font-weight:700}.final-score-pill.is-winner{border-color:var(--color-accent);box-shadow:2px 3px 0 var(--color-accent);background-color:#fff2f1}.game-actions-bar{display:flex;gap:12px;margin-top:10px;width:100%;justify-content:center}@media(max-width:480px){.player-score-card{min-width:100px;padding:6px 10px}.player-name{max-width:65px;font-size:.85rem}.player-avatar{width:28px;height:28px;font-size:1.15rem}.player-score{font-size:1.15rem}}.mafia-god-container{max-width:620px;margin:0 auto;min-height:90vh;display:flex;flex-direction:column;position:relative;padding:12px 0 40px;transition:background-color .3s ease,color .3s ease}.mafia-god-container.theme-night{background-color:#1b2638;color:#f3efe3;margin:-24px -16px;padding:24px 16px 60px;border-radius:12px}.mafia-god-container.theme-night h1,.mafia-god-container.theme-night h2,.mafia-god-container.theme-night h3,.mafia-god-container.theme-night .handwritten{color:#f3efe3}.god-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.god-header-title{font-family:var(--font-hand);font-size:2.2rem;font-weight:700;display:inline-flex;align-items:center;gap:8px;line-height:1}.god-header-actions{display:flex;align-items:center;gap:8px}.god-btn-log{border:1.5px solid currentColor;border-radius:var(--radius-hand-1);padding:4px 12px;font-size:.88rem;font-weight:700;cursor:pointer;background:transparent;color:inherit;min-height:38px;box-shadow:1px 1px 0 currentColor;transition:transform .1s ease}.god-btn-log:hover{transform:translateY(-1px)}.read-aloud-card{padding:18px 20px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:3px 3px 0 var(--color-ink);margin-bottom:22px;position:relative}.read-aloud-card.card-paper{background-color:#faf6ea;color:var(--color-ink)}.read-aloud-card.card-mint{background-color:var(--note-mint);color:var(--color-ink)}.read-aloud-card.card-yellow{background-color:var(--note-yellow);color:var(--color-ink)}.read-aloud-badge{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:6px;display:block}.read-aloud-text{font-family:var(--font-hand);font-size:1.55rem;font-weight:700;line-height:1.25}.night-step-tabs{display:flex;gap:8px;margin-bottom:18px;width:100%}.night-tab{flex:1;padding:8px 6px;border:1.5px solid rgba(243,239,227,.3);border-radius:6px;background:#ffffff0f;color:#f3efe3;font-size:.88rem;font-weight:700;text-align:center;-webkit-user-select:none;user-select:none}.night-tab.is-active{border-color:#ff8a7e;background:#ff8a7e26;color:#ff8a7e;box-shadow:0 0 8px #ff8a7e33}.night-tab.is-completed{opacity:.6}.god-player-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.god-player-btn{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;min-height:48px;border:2px solid currentColor;border-radius:var(--radius-hand-1);background:#ffffff14;color:inherit;cursor:pointer;font-family:var(--font-body);font-weight:700;font-size:1rem;transition:transform .1s ease,border-color .1s ease;position:relative}.theme-light .god-player-btn{background:var(--color-white);border-color:var(--color-ink);color:var(--color-ink);box-shadow:2px 2px 0 var(--color-ink)}.god-player-btn:hover:not(:disabled){transform:translateY(-2px)}.god-player-btn.is-selected{border:2.8px solid var(--color-accent)!important;border-radius:50% 45% 55% 50%/55% 50% 45%!important;box-shadow:0 0 10px #e2574c59!important}.theme-night .god-player-btn.is-selected{border-color:#ff8a7e!important}.god-player-btn:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.role-badge{font-size:.72rem;font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:4px;border:1px solid currentColor;text-transform:capitalize}.role-badge--mafia{background-color:var(--note-pink);color:#a8231a;border-color:#a8231a}.role-badge--doctor{background-color:var(--note-mint);color:#126343;border-color:#126343}.role-badge--police{background-color:var(--note-blue);color:#214f96;border-color:#214f96}.role-badge--villager{background-color:var(--note-yellow);color:#6e5405;border-color:#6e5405}.police-result-banner{padding:14px 18px;border-radius:var(--radius-hand-1);margin-bottom:18px;display:flex;align-items:center;gap:12px;border:2px solid currentColor;animation:popIn .2s cubic-bezier(.34,1.56,.64,1)}.police-result-banner.is-mafia{background-color:var(--note-pink);color:#8c1e17;border-color:#8c1e17}.police-result-banner.is-not-mafia{background-color:var(--note-mint);color:#0f5439;border-color:#0f5439}.police-result-icon{font-size:1.8rem}.police-result-headline{font-family:var(--font-hand);font-size:1.6rem;font-weight:700;line-height:1.1}.police-result-sub{font-size:.9rem;font-weight:600}.god-bottom-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px}.god-btn-undo{min-width:80px}.timer-card{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-white);border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:12px 18px;box-shadow:2px 2px 0 var(--color-ink);margin-bottom:22px}.timer-label{font-size:.85rem;font-weight:700;color:var(--color-ink-muted);text-transform:uppercase}.timer-digits{font-family:monospace;font-size:2.2rem;font-weight:800;color:var(--color-ink);line-height:1}.timer-digits.is-urgent{color:var(--color-accent);animation:pulseTimer 1s infinite alternate}@keyframes pulseTimer{0%{transform:scale(1)}to{transform:scale(1.06)}}.timer-controls{display:flex;gap:8px}.vote-skip-btn{width:100%;padding:12px;border:2px dashed var(--color-ink);border-radius:var(--radius-hand-1);background:transparent;font-size:1rem;font-weight:700;color:var(--color-ink);cursor:pointer;margin-bottom:20px;text-align:center;transition:all .12s ease}.vote-skip-btn:hover{background:#22304a0d}.vote-skip-btn.is-selected{border:2.8px solid var(--color-accent)!important;border-radius:50% 45% 55% 50%/55% 50% 45%!important;color:var(--color-accent);background:#e2574c0f}.secret-peek-container{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;padding:20px 0}.secret-role-card{width:280px;height:380px;border-radius:16px;position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;box-shadow:0 10px 24px #22304a33;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;transition:transform .15s ease,box-shadow .15s ease}.secret-role-card:active{transform:scale(.98)}.secret-role-card.is-hidden{background:repeating-linear-gradient(-45deg,#1e2c42,#1e2c42 12px,#182335 12px,#182335 24px);border:3px solid #334460;color:#f3efe3}.card-back-question{font-family:var(--font-hand);font-size:5rem;font-weight:700;line-height:1;color:#fffc;margin-bottom:12px}.card-back-instruction{font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:6px}.card-back-sub{font-size:.9rem;color:#ffffffa6}.secret-role-card.is-revealed{border:3px solid var(--color-ink);color:var(--color-ink)}.secret-role-card.role-mafia{background-color:var(--note-pink)}.secret-role-card.role-doctor{background-color:var(--note-mint)}.secret-role-card.role-police{background-color:var(--note-blue)}.secret-role-card.role-villager{background-color:var(--note-yellow)}.role-front-title{font-family:var(--font-hand);font-size:3.2rem;font-weight:700;line-height:1;margin-bottom:8px}.role-front-desc{font-size:1rem;line-height:1.45;margin-bottom:14px}.role-fellow-mafia{background:#ffffffa6;border:1.5px dashed var(--color-ink);border-radius:8px;padding:8px 12px;font-size:.95rem;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#121926a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content{max-width:500px;width:100%;max-height:80vh;overflow-y:auto;background-color:#fdfbf4!important;color:#22304a!important;border:2px solid #22304A;border-radius:var(--radius-hand-1);padding:24px;box-shadow:4px 6px #22304a;position:relative}.modal-content p{color:#22304a!important}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;border-bottom:2px dashed rgba(34,48,74,.2);padding-bottom:8px}.modal-title{font-family:var(--font-hand);font-size:2rem;font-weight:700;color:#22304a!important}.modal-header button{color:#22304a!important}.log-list{display:flex;flex-direction:column;gap:8px;list-style:none}.log-item{font-size:.95rem;line-height:1.45;padding:8px 12px;background:#22304a0f;border-radius:4px;border-left:3.5px solid var(--color-accent);color:#22304a!important;font-weight:600}.player-chips-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.player-chip{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-1);font-weight:700;font-size:1rem;box-shadow:1.5px 2px 0 var(--color-ink)}.player-chip-remove{background:transparent;border:none;font-size:1.2rem;font-weight:700;cursor:pointer;color:var(--color-ink);min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center;opacity:.6}.player-chip-remove:hover{opacity:1;color:var(--color-accent)}.stepper-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-2);background-color:var(--color-white);box-shadow:2px 2px 0 var(--color-ink);margin-bottom:8px}.stepper-btn{width:38px;height:38px;border-radius:50%;border:2px solid var(--color-ink);background:var(--color-white);font-weight:800;font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:1px 1px 0 var(--color-ink)}.stepper-btn:disabled{opacity:.35;cursor:not-allowed}.stepper-value{font-family:var(--font-hand);font-size:2rem;font-weight:700}.toggle-switch-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);background-color:var(--color-white);box-shadow:2px 2px 0 var(--color-ink);margin-bottom:20px}.toggle-switch{position:relative;width:52px;height:30px;background-color:#d1d5db;border-radius:15px;border:2px solid var(--color-ink);cursor:pointer;transition:background-color .15s ease}.toggle-switch.is-on{background-color:var(--note-mint)}.toggle-knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background-color:var(--color-ink);transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.toggle-switch.is-on .toggle-knob{transform:translate(22px)}.game-over-roster{width:100%;display:flex;flex-direction:column;gap:8px;margin:18px 0 24px}.roster-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1.5px dashed rgba(34,48,74,.2)}.roster-name-status{display:flex;align-items:baseline;gap:8px}.roster-name{font-weight:800;font-size:1.05rem}.roster-status{font-size:.85rem;color:var(--color-ink-muted)}.bingo-narrator-page{max-width:600px;margin:0 auto;padding-bottom:60px}.narrator-top-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.narrator-nav-back{font-family:var(--font-hand);font-size:1.4rem;font-weight:700;color:var(--color-ink);display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:transform .12s ease,color .12s ease}.narrator-nav-back:hover{color:var(--color-accent);transform:translate(-3px)}.narrator-nav-action{font-family:var(--font-hand);font-size:1.2rem;font-weight:700;color:var(--color-accent);background:none;border:none;cursor:pointer;padding:4px 8px}.narrator-setup-card{margin-bottom:24px}.narrator-setup-title{font-family:var(--font-hand);font-size:2.4rem;font-weight:700;color:var(--color-ink);line-height:1.1;margin-bottom:6px}.narrator-setup-sub{font-size:.95rem;color:var(--color-ink-muted);margin-bottom:20px}.setup-group-label{font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink);margin-bottom:10px;display:block}.setup-style-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.style-select-btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:14px 16px;background:#ffffffb3;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:2px 3px 0 var(--color-ink);cursor:pointer;transition:all .12s ease;width:100%}.style-select-btn.is-active{background-color:var(--note-yellow);border-color:var(--color-accent);box-shadow:3px 4px 0 var(--color-accent);transform:translateY(-2px)}.style-btn-title{font-family:var(--font-hand);font-size:1.6rem;font-weight:700;color:var(--color-ink);line-height:1.1;margin-bottom:2px}.style-btn-desc{font-size:.85rem;color:var(--color-ink);line-height:1.35}.setup-prizes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px}.prize-check-label{display:flex;align-items:center;gap:8px;background:#ffffffb3;border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-2);padding:8px 12px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background-color .12s ease}.prize-check-label:hover{background:#fffffff2}.prize-checkbox{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer}.narrator-code-note{margin-bottom:20px;text-align:center}.code-note-badge{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:4px;display:block}.code-note-val{font-family:var(--font-hand);font-size:3.6rem;font-weight:700;color:var(--color-ink);letter-spacing:.12em;line-height:1;margin-bottom:8px}.code-note-instructions{font-size:.92rem;color:var(--color-ink);line-height:1.35}.current-call-card{background:#ffffffd9;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:20px 16px;margin-bottom:20px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:2px 4px 0 var(--color-ink)}.current-call-circle{width:110px;height:110px;border:3.5px solid var(--color-accent);border-radius:50% 45% 55% 50%/55% 50% 45%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-page);box-shadow:0 4px 12px #e2574c26;margin-bottom:12px}.call-circle-letter{font-family:var(--font-hand);font-size:1.5rem;font-weight:700;color:var(--color-accent);line-height:1}.call-circle-number{font-family:var(--font-hand);font-size:3.4rem;font-weight:700;color:var(--color-ink);line-height:.9}.current-call-progress{font-family:var(--font-hand);font-size:1.5rem;font-weight:700;color:var(--color-ink);margin-bottom:8px}.recent-calls-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-size:.88rem;color:var(--color-ink-muted)}.recent-chip{background:var(--color-page);border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-2);padding:2px 8px;font-weight:700;color:var(--color-ink)}.call-controls-row{display:grid;grid-template-columns:85px 1fr;gap:12px;margin-bottom:24px}.narrator-call-btn{width:100%;height:52px;font-size:1.25rem;font-weight:800}.called-board-section{background:#fff9;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:16px;margin-bottom:24px}.called-board-title{font-family:var(--font-hand);font-size:1.7rem;font-weight:700;color:var(--color-ink);margin-bottom:12px}.called-board-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.board-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;color:var(--color-ink-muted);border:1px solid rgba(34,48,74,.15);border-radius:4px;background:var(--color-page)}.board-cell.is-called{background-color:var(--note-yellow);color:var(--color-ink);border-color:var(--color-ink)}.board-cell.is-latest{border:2.5px solid var(--color-accent)!important;border-radius:50% 45% 55% 50%/55% 50% 45%;color:var(--color-accent);background-color:#fff2a8;font-weight:900;box-shadow:0 0 6px #e2574c66}.narrator-verify-card{margin-bottom:24px}.verify-panel-title{font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:var(--color-ink);margin-bottom:2px}.verify-panel-desc{font-size:.85rem;color:var(--color-ink-muted);margin-bottom:12px}.verify-input-row{display:flex;gap:8px;margin-bottom:14px}.verify-input{flex:1;height:46px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-2);padding:4px 14px;font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:var(--color-ink);background-color:var(--color-white);letter-spacing:.1em}.verify-result-box{background:var(--color-page);border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:14px;margin-top:12px}.verify-result-header{font-family:var(--font-hand);font-size:1.6rem;font-weight:700;color:var(--color-ink);margin-bottom:10px;padding-bottom:6px;border-bottom:1.5px dashed rgba(34,48,74,.2)}.verify-result-header.has-win{color:#1b7a4a}.verify-mini-card-wrap{margin-bottom:14px;overflow-x:auto}.mini-card-grid{display:inline-grid;gap:3px;background:#22304a0d;padding:6px;border-radius:6px;border:1px solid rgba(34,48,74,.2)}.mini-card-cell{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;border:1px solid rgba(34,48,74,.15);border-radius:3px;background:var(--color-white);color:var(--color-ink)}.mini-card-cell.cell--called{background-color:var(--note-yellow);border:1.5px solid var(--color-accent);color:var(--color-accent);font-weight:800}.mini-card-cell.cell--blank{background:#eae6db;border:none}.verify-prizes-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.verify-prize-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;padding:4px 0;border-bottom:1px dotted rgba(34,48,74,.15)}.verify-prize-label{font-weight:700;color:var(--color-ink)}.verify-prize-status{font-family:var(--font-hand);font-size:1.25rem;font-weight:700;color:var(--color-ink-muted)}.verify-prize-status.status--won{color:#1b7a4a;font-weight:800}.awarded-ledger-box{background:#ffffffb3;border:2px dashed var(--color-ink-muted);border-radius:var(--radius-hand-1);padding:14px 16px;margin-bottom:24px}.awarded-ledger-title{font-family:var(--font-hand);font-size:1.5rem;font-weight:700;color:var(--color-ink);margin-bottom:8px}.awarded-item{font-size:.92rem;font-weight:700;color:var(--color-ink);padding:4px 0}.narrator-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#121926a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.narrator-confirm-card{max-width:400px;width:100%}.bingo-card-page{max-width:540px;margin:0 auto;padding-bottom:60px}.card-top-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-nav-back{font-family:var(--font-hand);font-size:1.4rem;font-weight:700;color:var(--color-ink);display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:transform .12s ease,color .12s ease}.card-nav-back:hover{color:var(--color-accent);transform:translate(-3px)}.card-nav-action{font-family:var(--font-hand);font-size:1.2rem;font-weight:700;color:var(--color-ink-muted);background:none;border:none;cursor:pointer;padding:4px 8px}.card-nav-action:hover{color:var(--color-accent)}.card-entry-note{margin-bottom:24px}.card-entry-title{font-family:var(--font-hand);font-size:2.4rem;font-weight:700;color:var(--color-ink);line-height:1.1;margin-bottom:6px}.card-entry-sub{font-size:.95rem;color:var(--color-ink-muted);margin-bottom:20px}.card-code-input-wrap{margin-bottom:20px}.card-code-input{width:100%;height:56px;border:2.5px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:8px 16px;font-family:var(--font-hand);font-size:2.6rem;font-weight:700;color:var(--color-ink);background-color:var(--color-white);text-align:center;letter-spacing:.2em;text-transform:uppercase;box-shadow:2px 3px 0 var(--color-ink)}.card-code-input:focus{outline:none;border-color:var(--color-accent);box-shadow:3px 4px 0 var(--color-accent)}.card-identity-note{margin-bottom:18px;text-align:center}.card-id-header{font-family:var(--font-hand);font-size:2.8rem;font-weight:700;color:var(--color-ink);line-height:1;margin-bottom:2px}.card-id-meta{font-size:.88rem;color:var(--color-ink);margin-bottom:8px}.card-change-btn{font-family:var(--font-hand);font-size:1.15rem;font-weight:700;color:var(--color-ink-muted);background:none;border:1px dashed var(--color-ink-muted);border-radius:var(--radius-hand-2);padding:2px 10px;cursor:pointer;transition:all .12s ease}.card-change-btn:hover{color:var(--color-ink);background:#fff9}.bingo-card-container{background:#ffffffd9;border:2.5px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:16px 12px;margin-bottom:20px;box-shadow:3px 5px 0 var(--color-ink)}.bingo-col-headers{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px;text-align:center}.bingo-col-header-cell{font-family:var(--font-hand);font-size:2rem;font-weight:700;color:var(--color-accent);line-height:1}.bingo-cells-grid{display:grid;gap:8px;margin-bottom:12px}.bingo-cell-btn{min-height:48px;min-width:44px;aspect-ratio:1;background-color:var(--color-white);border:2px solid var(--color-ink);border-radius:var(--radius-hand-2);box-shadow:1.5px 2px 0 var(--color-ink);font-family:var(--font-body);font-size:1.25rem;font-weight:800;color:var(--color-ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .1s ease,background-color .1s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:2px;position:relative}.bingo-cell-btn:active{transform:scale(.95)}.bingo-cell-btn.is-marked{background-color:var(--note-yellow)!important;border:2.5px solid var(--color-accent)!important;border-radius:50% 45% 55% 50%/55% 50% 45%!important;color:var(--color-accent)!important;font-weight:900;box-shadow:0 0 0 2px #ffe66d,0 3px 8px #e2574c40;transform:rotate(-1.5deg)}.bingo-cell-btn.is-free{background-color:#fff2a8;border:2.5px solid var(--color-accent);border-radius:50% 45% 55% 50%/55% 50% 45%;color:var(--color-accent);font-size:.8rem;font-weight:800;cursor:default}.free-star-icon{margin-bottom:-2px}.bingo-cell-btn.is-blank{background-color:#efece4;border:1px dashed rgba(34,48,74,.2);cursor:default;box-shadow:none}.grid--tambola{gap:4px}.grid--tambola .bingo-cell-btn{min-height:52px;min-width:32px;aspect-ratio:auto;font-size:1.15rem}.card-marked-counter{font-family:var(--font-hand);font-size:1.4rem;font-weight:700;color:var(--color-ink);text-align:center;margin-top:4px}.card-ways-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:24px}.card-way-chip{font-size:.82rem;font-weight:700;background:#ffffffb3;border:1.5px solid var(--color-ink);border-radius:999px;padding:4px 12px;color:var(--color-ink)}.card-shout-bingo-btn{width:100%;height:60px;background-color:var(--color-accent);color:var(--color-white);border:2.5px solid var(--color-ink);border-radius:var(--radius-hand-1);font-family:var(--font-hand);font-size:2.4rem;font-weight:700;cursor:pointer;box-shadow:3px 5px 0 var(--color-ink);transition:transform .12s ease,background-color .12s ease;display:flex;align-items:center;justify-content:center;letter-spacing:.05em}.card-shout-bingo-btn:hover{background-color:#d1382f;transform:translateY(-2px);box-shadow:4px 6px 0 var(--color-ink)}.card-shout-bingo-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-ink)}.bingo-shout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#121926bf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:modalFadeIn .2s ease-out}.bingo-shout-modal{max-width:400px;width:100%;text-align:center}.shout-title{font-family:var(--font-hand);font-size:2rem;font-weight:700;color:var(--color-ink);margin-bottom:6px;line-height:1.1}.shout-card-num{font-family:var(--font-hand);font-size:4.8rem;font-weight:700;color:var(--color-accent);line-height:.95;margin:12px 0 14px;letter-spacing:.05em}.shout-subtitle{font-size:1rem;color:var(--color-ink);line-height:1.4;margin-bottom:22px}.imposter-game-container{max-width:580px;margin:0 auto;min-height:85vh;display:flex;flex-direction:column;position:relative;padding:8px 0 32px}.imposter-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.imposter-back-btn{background:none;border:none;cursor:pointer;font-family:var(--font-hand);font-size:1.35rem;font-weight:700;color:var(--color-ink);display:inline-flex;align-items:center;gap:4px;padding:4px 0;text-decoration:none}.imposter-back-btn:hover{color:var(--color-accent)}.imposter-header-actions{display:flex;align-items:center;gap:8px}.imposter-undo-btn{border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:4px 12px;font-size:.85rem;font-weight:700;cursor:pointer;background:#fff;color:var(--color-ink);min-height:36px;box-shadow:1.5px 1.5px 0 var(--color-ink);transition:transform .1s ease}.imposter-undo-btn:hover{transform:translateY(-1px)}.imposter-progress-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.imposter-progress-label{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-muted)}.imposter-progress-count{font-size:.95rem;font-weight:700;color:var(--color-ink)}.imposter-progress-bar{display:flex;gap:4px;width:100%;margin-bottom:24px}.imposter-progress-segment{flex:1;height:4px;border-radius:2px;background-color:#22304a26;transition:background-color .2s ease}.imposter-progress-segment.is-active{background-color:var(--color-accent)}.imposter-setup-wrap{display:flex;flex-direction:column;gap:20px}.imposter-setup-intro{font-size:1rem;line-height:1.45;color:var(--color-ink-muted)}.imposter-section-label{font-size:.95rem;font-weight:800;color:var(--color-ink);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.imposter-player-add-row{display:flex;gap:8px;margin-bottom:12px}.imposter-input{flex:1;padding:10px 14px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);font-family:inherit;font-size:1rem;background:#fff;color:var(--color-ink);box-shadow:2px 2px 0 var(--color-ink)}.imposter-input:focus{outline:none;border-color:var(--color-accent)}.imposter-chips-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.imposter-empty-players-box{background:#ffffffa6;border:1.5px dashed var(--color-ink);border-radius:var(--radius-hand-1);padding:18px 16px;text-align:center;margin-bottom:16px}.imposter-empty-players-title{font-family:var(--font-hand);font-size:1.45rem;font-weight:700;color:var(--color-ink);margin:0 0 4px}.imposter-empty-players-sub{font-size:.9rem;color:var(--color-ink-muted);margin:0;line-height:1.35}.imposter-clear-all-btn{background:none;border:none;color:var(--color-ink-muted);font-size:.8rem;font-weight:700;text-decoration:underline;cursor:pointer;padding:2px 4px}.imposter-clear-all-btn:hover{color:var(--color-accent)}.imposter-min-players-warning{font-size:.86rem;font-weight:700;color:var(--color-accent);background:#e2574c14;border:1px solid rgba(226,87,76,.3);border-radius:6px;padding:6px 10px;margin:-8px 0 14px}.imposter-player-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px solid var(--color-ink);border-radius:20px;font-weight:700;font-size:.95rem;box-shadow:1.5px 1.5px 0 var(--color-ink)}.imposter-player-chip.chip-yellow{background-color:var(--note-yellow)}.imposter-player-chip.chip-mint{background-color:var(--note-mint)}.imposter-player-chip.chip-pink{background-color:var(--note-pink)}.imposter-player-chip.chip-blue{background-color:var(--note-blue)}.imposter-player-chip.chip-peach{background-color:var(--note-peach)}.imposter-player-chip.chip-lilac{background-color:var(--note-lilac)}.imposter-chip-remove{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px;color:var(--color-ink);opacity:.7}.imposter-chip-remove:hover{opacity:1;color:var(--color-accent)}.imposter-categories-grid{display:flex;flex-wrap:wrap;gap:8px}.imposter-cat-btn{padding:8px 14px;border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-1);background:#fff;font-size:.92rem;font-weight:700;cursor:pointer;color:var(--color-ink);box-shadow:2px 2px 0 var(--color-ink);transition:transform .1s ease,background .15s ease}.imposter-cat-btn.is-selected{background:var(--note-yellow);border-color:var(--color-ink);box-shadow:3px 3px 0 var(--color-ink);transform:translateY(-1px)}.imposter-cat-example{font-size:.85rem;color:var(--color-ink-muted);font-style:italic;margin-top:6px}.imposter-stepper-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffffb3;border:1.5px dashed var(--color-ink);border-radius:var(--radius-hand-1)}.imposter-stepper-controls{display:flex;align-items:center;gap:12px}.imposter-stepper-btn{width:36px;height:36px;border:2px solid var(--color-ink);border-radius:50%;background:#fff;font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:1.5px 1.5px 0 var(--color-ink)}.imposter-stepper-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.imposter-stepper-value{font-size:1.25rem;font-weight:800;min-width:28px;text-align:center}.imposter-peek-wrap{display:flex;flex-direction:column;align-items:center;gap:20px;margin:auto 0;text-align:center}.imposter-handover-card{width:100%;max-width:340px;padding:36px 20px;text-align:center}.imposter-handover-to{font-size:1.1rem;font-weight:700;color:var(--color-ink);margin-bottom:4px}.imposter-handover-name{font-family:var(--font-hand);font-size:3.6rem;font-weight:700;margin:0 0 6px;line-height:1}.imposter-secret-card{width:280px;height:380px;border-radius:16px;position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;box-shadow:0 10px 24px #22304a33;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;transition:transform .15s ease,box-shadow .15s ease;margin:0 auto}.imposter-secret-card:active{transform:scale(.98)}.imposter-secret-card.is-hidden{background:repeating-linear-gradient(-45deg,#1e2c42,#1e2c42 12px,#182335 12px,#182335 24px);border:3px solid #334460;color:#f3efe3}.imposter-card-question{font-family:var(--font-hand);font-size:5rem;font-weight:700;line-height:1;color:#ffffffd9;margin-bottom:12px}.imposter-card-instruction{font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:6px}.imposter-card-sub{font-size:.85rem;color:#ffffffb3}.imposter-secret-card.is-revealed{background-color:var(--note-yellow);border:3px solid var(--color-ink);color:var(--color-ink)}.imposter-card-front-tag{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-muted);margin-bottom:8px}.imposter-card-front-word{font-family:var(--font-hand);font-size:3.4rem;font-weight:700;line-height:1.1;margin:8px 0 16px;color:var(--color-accent)}.imposter-card-front-note{font-size:.95rem;line-height:1.45;color:var(--color-ink);background:#ffffffb3;padding:10px 12px;border-radius:8px;border:1px dashed var(--color-ink)}.imposter-clues-wrap{display:flex;flex-direction:column;gap:20px}.imposter-clues-note-text{font-size:1.05rem;line-height:1.5;color:var(--color-ink);margin:0}.imposter-speaking-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.imposter-speaking-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:2px 2px 0 var(--color-ink)}.imposter-speaking-num{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--color-ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;background:#faf6ea}.imposter-speaking-name{font-weight:700;font-size:1.05rem;flex:1}.imposter-starts-badge{background:var(--color-accent);color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:12px;letter-spacing:.05em}.imposter-vote-wrap{display:flex;flex-direction:column;gap:20px}.imposter-vote-banner{text-align:center;padding:12px 0 4px}.imposter-vote-sub{font-size:1rem;color:var(--color-ink-muted);margin-bottom:4px}.imposter-vote-callout{font-family:var(--font-hand);font-size:2.8rem;font-weight:700;color:var(--color-accent);margin:4px 0}.imposter-vote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.imposter-vote-btn{padding:14px 12px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);background:#fff;color:var(--color-ink);font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:2.5px 2.5px 0 var(--color-ink);transition:transform .1s ease,background-color .15s ease;min-height:52px}.imposter-vote-btn:hover{transform:translateY(-1px)}.imposter-vote-btn.is-selected{background-color:var(--note-yellow);border-color:var(--color-accent);box-shadow:3px 3px 0 var(--color-accent);transform:scale(1.02)}.imposter-tie-btn{padding:10px;border:1.5px dashed var(--color-ink);border-radius:var(--radius-hand-1);background:#ffffffb3;font-size:.95rem;font-weight:700;color:var(--color-ink);cursor:pointer;width:100%;margin-top:4px}.imposter-tie-btn:hover{background:#fff}.imposter-result-wrap{display:flex;flex-direction:column;gap:20px}.imposter-result-header{text-align:center}.imposter-result-tag{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-muted)}.imposter-result-title{font-family:var(--font-hand);font-size:2.8rem;font-weight:700;line-height:1.1;margin:6px 0 0;color:var(--color-ink)}.imposter-players-status-list{display:flex;flex-direction:column;gap:6px}.imposter-status-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-1);font-size:.95rem}.imposter-status-row.is-eliminated{opacity:.65;background:#f7f5ee}.imposter-badge-in{background:var(--note-mint);border:1px solid var(--color-ink);font-weight:700;font-size:.75rem;padding:2px 8px;border-radius:12px}.imposter-badge-out{background:var(--note-pink);border:1px solid var(--color-ink);font-weight:700;font-size:.75rem;padding:2px 8px;border-radius:12px}.imposter-gameover-wrap{display:flex;flex-direction:column;gap:24px}.imposter-words-compare-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.imposter-word-card{padding:16px 12px;text-align:center;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:2.5px 2.5px 0 var(--color-ink)}.imposter-word-card.card-mint{background-color:var(--note-mint)}.imposter-word-card.card-pink{background-color:var(--note-pink)}.imposter-word-title{font-family:var(--font-hand);font-size:2.4rem;font-weight:700;margin:0 0 4px;line-height:1}.imposter-word-sub{font-size:.85rem;font-weight:700;color:var(--color-ink-muted)}.imposter-summary-table{width:100%;border-collapse:collapse;background:#fff;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);overflow:hidden;box-shadow:3px 3px 0 var(--color-ink)}.imposter-summary-table th,.imposter-summary-table td{padding:10px 14px;text-align:left;border-bottom:1px solid rgba(34,48,74,.15);font-size:.95rem}.imposter-summary-table th{background:#faf6ea;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-muted)}.imposter-summary-table tr:last-child td{border-bottom:none}.chicken-game-container{max-width:580px;margin:0 auto;min-height:85vh;display:flex;flex-direction:column;position:relative;padding:8px 0 32px}.chicken-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.chicken-back-btn{background:none;border:none;cursor:pointer;font-family:var(--font-hand);font-size:1.35rem;font-weight:700;color:var(--color-ink);display:inline-flex;align-items:center;gap:4px;padding:4px 0;text-decoration:none}.chicken-back-btn:hover{color:var(--color-accent)}.chicken-round-badge{font-family:var(--font-hand);font-size:1.8rem;font-weight:700;color:var(--color-ink)}.chicken-undo-btn{border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-1);padding:4px 12px;font-size:.85rem;font-weight:700;cursor:pointer;background:#fff;color:var(--color-ink);min-height:36px;box-shadow:1.5px 1.5px 0 var(--color-ink)}.chicken-setup-wrap{display:flex;flex-direction:column;gap:20px}.chicken-setup-intro-note{padding:20px}.chicken-setup-intro-text{font-size:1.05rem;line-height:1.5;color:var(--color-ink);margin:0}.chicken-section-label{font-size:.95rem;font-weight:800;color:var(--color-ink);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.chicken-categories-grid{display:flex;flex-wrap:wrap;gap:8px}.chicken-cat-btn{padding:8px 14px;border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-1);background:#fff;font-size:.92rem;font-weight:700;cursor:pointer;color:var(--color-ink);box-shadow:2px 2px 0 var(--color-ink);transition:transform .1s ease,background .15s ease}.chicken-cat-btn.is-selected{background:var(--note-yellow);box-shadow:3px 3px 0 var(--color-ink);transform:translateY(-1px)}.chicken-cat-example{font-size:.85rem;color:var(--color-ink-muted);font-style:italic;margin-top:6px}.chicken-player-add-row{display:flex;gap:8px;margin-bottom:12px}.chicken-input{flex:1;padding:10px 14px;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);font-family:inherit;font-size:1rem;background:#fff;color:var(--color-ink);box-shadow:2px 2px 0 var(--color-ink)}.chicken-input:focus{outline:none;border-color:var(--color-accent)}.chicken-chips-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chicken-player-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px solid var(--color-ink);border-radius:20px;font-weight:700;font-size:.95rem;background-color:var(--note-mint);box-shadow:1.5px 1.5px 0 var(--color-ink)}.chicken-chip-remove{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px;color:var(--color-ink);opacity:.7}.chicken-chip-remove:hover{opacity:1;color:var(--color-accent)}.chicken-clean-empty-box{background:#ffffffa6;border:1.5px dashed var(--color-ink);border-radius:var(--radius-hand-1);padding:16px;text-align:center;margin-bottom:12px}.chicken-clean-empty-title{font-family:var(--font-hand);font-size:1.35rem;font-weight:700;margin:0 0 2px;color:var(--color-ink)}.chicken-clean-empty-sub{font-size:.88rem;color:var(--color-ink-muted);margin:0}.chicken-feathers-rule-card{padding:14px 16px;background:#faf6ea;border:1.5px solid var(--color-ink);border-radius:var(--radius-hand-1);display:flex;align-items:center;gap:12px}.chicken-feathers-icons{font-size:1.4rem;letter-spacing:2px}.chicken-feathers-text{font-size:.92rem;line-height:1.4;color:var(--color-ink)}.chicken-play-wrap{display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center}.chicken-prompt-note{width:100%;padding:24px 20px;text-align:center}.chicken-prompt-instruction{font-size:1.05rem;font-weight:800;color:var(--color-ink);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.chicken-prompt-heading{font-family:var(--font-hand);font-size:3rem;font-weight:700;line-height:1.15;color:var(--color-ink);margin:6px 0}.chicken-illustration-box{width:240px;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;margin:8px 0}.chicken-svg{width:170px;height:150px;overflow:visible}.chicken-sleeping{animation:chickenBreathing 2.4s ease-in-out infinite;transform-origin:bottom center}@keyframes chickenBreathing{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.03,.97) translateY(2px)}}.chicken-zzz-container{position:absolute;top:10px;right:25px;pointer-events:none}.chicken-z{font-family:var(--font-hand);font-weight:700;color:var(--color-ink-muted);position:absolute;opacity:0;animation:floatZ 2.5s infinite}.chicken-z-1{font-size:1.4rem;animation-delay:0s;right:0}.chicken-z-2{font-size:1.9rem;animation-delay:.8s;right:-12px}.chicken-z-3{font-size:2.4rem;animation-delay:1.6s;right:-24px}@keyframes floatZ{0%{opacity:0;transform:translate(0) scale(.6)}30%{opacity:.8}80%{opacity:.6;transform:translate(12px,-30px) scale(1.1)}to{opacity:0;transform:translate(18px,-45px) scale(1.3)}}.chicken-pass-btn{width:100%;max-width:360px;min-height:64px;padding:16px 24px;font-family:var(--font-sans);font-size:1.35rem;font-weight:800;color:#fff;background-color:var(--color-accent);border:3px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:4px 4px 0 var(--color-ink);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease;user-select:none;-webkit-user-select:none;touch-action:manipulation}.chicken-pass-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-ink)}.chicken-pass-count-text{font-size:.9rem;color:var(--color-ink-muted);font-weight:700;margin-top:8px}.chicken-skip-prompt-btn{background:none;border:none;font-size:.9rem;color:var(--color-ink-muted);text-decoration:underline;cursor:pointer;margin-top:4px;padding:6px}.chicken-skip-prompt-btn:hover{color:var(--color-accent)}.chicken-crowed-wrap{display:flex;flex-direction:column;gap:20px}.chicken-crowed-header{text-align:center}.chicken-crowed-tag{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent)}.chicken-crowed-title{font-family:var(--font-hand);font-size:3.2rem;font-weight:700;line-height:1.1;margin:6px 0 2px;color:var(--color-accent)}.chicken-waking{animation:chickenShake .4s ease-in-out infinite alternate}@keyframes chickenShake{0%{transform:rotate(-5deg) scale(1.05)}to{transform:rotate(5deg) scale(1.08)}}.chicken-players-feather-grid{display:flex;flex-direction:column;gap:8px}.chicken-player-feather-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:2px 2px 0 var(--color-ink);cursor:pointer;transition:transform .1s ease,background .15s ease}.chicken-player-feather-row:hover{background-color:#faf6ea;transform:translateY(-1px)}.chicken-player-feather-row.is-crowed-target{background-color:var(--note-pink);border-color:var(--color-accent)}.chicken-player-feather-row.is-out{opacity:.55;background-color:#f7f5ee;cursor:not-allowed}.chicken-feather-icons-display{display:flex;gap:4px;font-size:1.35rem}.feather-lost-indicator{opacity:.25;filter:grayscale(1)}.chicken-next-prompt-note{padding:16px 20px;margin-top:4px}.chicken-next-prompt-title{font-family:var(--font-hand);font-size:2.2rem;font-weight:700;margin:4px 0 0;color:var(--color-ink)}.chicken-gameover-wrap{display:flex;flex-direction:column;gap:24px;text-align:center}.chicken-winner-card{padding:24px 20px}.chicken-winner-crown{font-size:2.8rem;margin-bottom:4px}.chicken-winner-name{font-family:var(--font-hand);font-size:3.6rem;font-weight:700;line-height:1;color:var(--color-ink);margin:4px 0 8px}.emoji-hunt-rules{width:100%}.hunt-modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.hunt-mode-note{padding:16px 18px;min-height:140px}.hunt-mode-title{font-family:var(--font-hand);font-size:1.8rem;color:var(--color-ink);margin:0 0 6px}.hunt-mode-desc{font-size:.9rem;line-height:1.45;color:var(--color-ink);margin:0}.hunt-items-sample-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.hunt-item-sample-card{background:#fffdf8;border:2px solid var(--color-ink);border-radius:var(--radius-hand-1);box-shadow:2px 2px 0 var(--color-ink);padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.hunt-item-sample-emoji{font-size:2.2rem;line-height:1}.hunt-item-sample-name{font-family:var(--font-hand);font-size:1.25rem;font-weight:700;color:var(--color-ink)}:root{--color-page: #FDFBF4;--color-page-line: #D3E2F2;--color-page-margin: #F0A3A3;--color-ink: #22304A;--color-ink-muted: #5C6A82;--color-accent: #E2574C;--color-white: #FFFFFF;--note-yellow: #FFE66D;--note-mint: #B8E8D2;--note-pink: #FFC4BE;--note-blue: #C4DCFF;--note-peach: #FFD59E;--note-lilac: #E2D4FF;--tape-color: rgba(255, 255, 255, .7);--tape-shadow: 0 1px 3px rgba(34, 48, 74, .1);--font-hand: "Caveat", cursive, sans-serif;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-hand-1: 255px 15px 225px 15px / 15px 225px 15px 255px;--radius-hand-2: 15px 225px 15px 255px / 255px 15px 225px 15px;--radius-circle-sketch: 50% 45% 55% 50% / 55% 50% 45% 50%;--radius-circle-sketch-alt: 45% 55% 50% 50% / 50% 45% 55% 50%;--note-shadow: 0 6px 14px rgba(34, 48, 74, .14);--note-shadow-hover: 0 10px 20px rgba(34, 48, 74, .18);--note-padding: 24px 18px;--margin-line-offset: 40px;--content-max-width: 1040px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;color-scheme:light}body{min-height:100vh;background-color:var(--color-page);background-image:linear-gradient(to right,transparent calc(clamp(20px,5vw,60px) - 2px),var(--color-page-margin) calc(clamp(20px,5vw,60px) - 2px),var(--color-page-margin) clamp(20px,5vw,60px),transparent clamp(20px,5vw,60px)),repeating-linear-gradient(to bottom,transparent 0 31px,var(--color-page-line) 31px 32px);background-attachment:local,local;color:var(--color-ink);font-family:var(--font-body);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;position:relative}h1,h2,h3,h4,h5,h6,.handwritten{font-family:var(--font-hand);font-weight:700;line-height:1.2;color:var(--color-ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:var(--font-body);font-size:1rem;color:var(--color-ink)}button{cursor:pointer;border:none;background:none;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2.5px solid var(--color-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transform:none!important}}
