:root{--bg: #1e1b4b;--bg-soft: #2a2660;--card: #faf4e6;--card-ink: #2b2545;--ink: #f5f1e8;--muted: #a8a3c7;--gold: #f5b942;--gold-dark: #d99a1b;--green: #3fae6a;--red: #e05555;--radius: 14px;--nav-size: 64px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:.4em 0;font-weight:700}p{line-height:1.5}small,.muted{color:var(--muted)}hr{border:none;border-top:1px solid #e2d9c3;margin:16px 0}code{background:#00000014;padding:1px 5px;border-radius:4px}.layout{min-height:100dvh}.layout-desktop{display:flex}.content{flex:1;min-width:0}.page,.page-wide{max-width:560px;margin:0 auto;padding:20px 16px calc(var(--nav-size) + 24px)}.page-wide{max-width:960px}.layout-desktop .page,.layout-desktop .page-wide{padding-bottom:32px}.page-loading{padding:48px;text-align:center;color:var(--muted)}.nav-side{width:200px;min-height:100dvh;background:var(--bg-soft);padding:16px 10px;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.nav-brand{font-size:1.2rem;font-weight:800;color:var(--gold);padding:8px 12px 16px}.nav-bottom{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav-size) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-soft);display:flex;justify-content:space-around;border-top:1px solid rgba(255,255,255,.08);z-index:20}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:600}.nav-bottom .nav-item{flex-direction:column;gap:2px;justify-content:center;font-size:.68rem;padding:6px 8px;flex:1}.nav-item.active{color:var(--gold);background:#f5b9421f}.nav-bottom .nav-item.active{background:none}.nav-icon{font-size:1.15rem}.card{background:var(--card);color:var(--card-ink);border-radius:var(--radius);padding:16px;margin:12px 0;box-shadow:0 3px 12px #00000040}.card .muted{color:#7d7595}label{display:block;margin:10px 0;font-weight:600;font-size:.9rem}.label-inline{display:flex;align-items:center;gap:8px;font-weight:500}input,select,textarea{display:block;width:100%;margin-top:4px;padding:12px;font-size:1rem;border:1.5px solid #d8cfb8;border-radius:10px;background:#fff;color:var(--card-ink);font-family:inherit}.label-inline input[type=checkbox]{width:22px;height:22px;margin:0;display:inline-block}.page>label input,.page>form label input{background:#fff}.page>label,.page>h2+form label{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 20px;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;text-decoration:none;font-family:inherit;min-height:46px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--gold);color:#3a2c00}.btn-primary:active{background:var(--gold-dark)}.btn-ghost{background:#7f7fa02e;color:inherit;border:1px solid rgba(127,127,160,.4)}.btn-danger{background:var(--red);color:#fff}.btn-small{padding:6px 12px;font-size:.85rem;min-height:34px}.btn-block{display:flex;width:100%;margin:14px 0}.btn-big{display:flex;width:100%;padding:20px;font-size:1.3rem;margin:18px 0}.btn-huge{display:flex;width:min(280px,80%);margin:28px auto;padding:26px;font-size:1.6rem;border-radius:20px;box-shadow:0 6px 0 var(--gold-dark)}.btn-huge:active{transform:translateY(3px);box-shadow:0 3px 0 var(--gold-dark)}.btn-grow{flex:1}.btn-icon{background:none;border:none;font-size:1rem;cursor:pointer;color:inherit;opacity:.6;padding:8px}.btn-link{background:none;border:none;color:var(--gold);cursor:pointer;font-size:.95rem;padding:10px 0;text-decoration:none;display:inline-block}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}.row-between{justify-content:space-between}.error{color:#ff9d9d;font-weight:600}.card .error{color:#b91c1c}.success{color:var(--green);font-weight:600}.hint{font-size:.85rem;color:var(--muted)}.card .hint{color:#7d7595}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--card);color:var(--card-ink);border-radius:20px;padding:32px 26px;width:min(380px,100%);text-align:center;box-shadow:0 10px 40px #0006}.login-logo{width:84px;border-radius:20px}.login-card h1{margin:10px 0 0}.login-subtitle{margin:2px 0 18px;color:#8a7d5a;font-weight:600}.login-card form{text-align:left}.home-page{text-align:center}.home-title{font-size:2.4rem;color:var(--gold);margin-bottom:0}.home-subtitle{margin-top:4px;color:var(--muted)}.how-to{text-align:left}.how-to ol{padding-left:20px;margin:8px 0}.how-to li{margin:6px 0}.resume-card{border:2px solid var(--gold)}.resume-card .row{justify-content:center}.team-card input{margin-top:0}.team-name-input{font-weight:700;font-size:1.05rem}details.card summary{cursor:pointer;font-weight:700;font-size:.95rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 12px;margin-top:10px}.checkbox-grid .label-inline{margin:4px 0;font-size:.88rem}.pool-ok{color:var(--green);font-weight:600}.pool-warning{color:var(--gold);font-weight:700}.play-page{display:flex;flex-direction:column;min-height:calc(100dvh - var(--nav-size) - 20px)}.play-page>.preturn,.play-page>.playing,.play-page>.marking{flex:1}.preturn{text-align:center;padding-top:8vh}.preturn-label{text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.preturn-team{font-size:2.6rem;margin:0;color:var(--gold)}.preturn-player{font-size:1.7rem;margin:6px 0 0}.preturn-hint{color:var(--muted);max-width:320px;margin:16px auto}.final-round-banner{background:var(--red);color:#fff;font-weight:800;padding:8px;border-radius:10px;margin-bottom:14px;text-transform:uppercase;letter-spacing:1px}.timer{text-align:center;margin:8px 0 16px}.timer-value{font-size:4.2rem;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;line-height:1}.timer-urgent .timer-value{color:var(--red);animation:pulse .5s infinite alternate}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.12)}}.timer-bar{height:8px;background:#ffffff1f;border-radius:4px;margin-top:10px;overflow:hidden}.timer-bar-fill{height:100%;background:var(--gold);border-radius:4px;transition:width .2s linear}.timer-urgent .timer-bar-fill{background:var(--red)}.word-list{list-style:none;margin:0 0 14px;padding:0}.word-item{background:var(--card);color:var(--card-ink);border-radius:12px;padding:16px;margin:10px 0;font-size:1.35rem;font-weight:700;text-align:center;text-transform:capitalize;box-shadow:0 3px 10px #00000040}.word-item-mark{display:flex;align-items:center;gap:12px;text-align:left;padding:8px 12px}.word-guessed{background:#e5f5eb;border:2px solid var(--green)}.word-check{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:2.5px solid var(--green);background:#fff;color:var(--green);font-size:1.4rem;font-weight:800;cursor:pointer}.word-guessed .word-check{background:var(--green);color:#fff}.word-text{background:none;border:none;font:inherit;color:inherit;cursor:pointer;flex:1;text-align:left;padding:10px 0;text-transform:capitalize}.marking-hint{color:var(--muted);font-size:.9rem;margin-top:-6px}.marking-score{font-weight:700;color:var(--gold);text-align:center}.scoreboard{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:12px 0 4px;margin-top:auto}.scoreboard-team{background:var(--bg-soft);border-radius:10px;padding:8px 14px;display:flex;flex-direction:column;align-items:center;min-width:90px;border:2px solid transparent}.scoreboard-active{border-color:var(--gold)}.scoreboard-name{font-size:.8rem;color:var(--muted)}.scoreboard-score{font-size:1.3rem;font-weight:800}.scoreboard-score small{font-size:.75rem;font-weight:500}.results-page{text-align:center}.results-trophy{font-size:4rem;margin:12px 0 0}.results-winner{color:var(--gold);font-size:2rem;margin:4px 0}.results-players{color:var(--muted)}.results-list{list-style:none;padding:0;margin:0;text-align:left}.results-list li{display:flex;justify-content:space-between;padding:10px 4px;border-bottom:1px solid #e6ddc6;font-size:1.1rem}.results-list li:last-child{border-bottom:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a081ea6;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{background:var(--card);color:var(--card-ink);border-radius:16px;width:min(560px,100%);max-height:86dvh;display:flex;flex-direction:column;box-shadow:0 16px 50px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 0}.modal-header h3{margin:0;text-transform:capitalize}.modal-body{padding:12px 18px 18px;overflow-y:auto}.modal-footer{padding:12px 18px;border-top:1px solid #e6ddc6;display:flex;justify-content:flex-end;gap:8px}.word-info dl{margin:0}.word-info dt{font-weight:700;font-size:.8rem;color:#8a7d5a;margin-top:10px}.word-info dd{margin:2px 0 0}.word-def{white-space:pre-line;background:#f1ead8;border-radius:8px;padding:10px;font-size:.9rem}.table-wrap{overflow-x:auto;margin:12px 0}table{width:100%;border-collapse:collapse;background:var(--card);color:var(--card-ink);border-radius:var(--radius);overflow:hidden;font-size:.92rem}th,td{padding:10px 12px;text-align:left}th{background:#efe6cf;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}tr+tr td{border-top:1px solid #eee5cf}td .row{margin:0;flex-wrap:nowrap}td select,td input{padding:6px 8px;width:auto;margin:0}.badge{padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase}.badge-setup{background:#ded7f8;color:#4c3a99}.badge-active{background:#fdeec8;color:#8a6410}.badge-finished{background:#d4efdf;color:#1d6b3d}.pager{justify-content:center;margin:14px 0}.filters{margin-bottom:6px}.filters input,.filters select{width:auto;margin:0}.filters form{margin:0}.pick-list{list-style:none;padding:0;margin:8px 0}.pick-list li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #eee5cf}.settings-dl{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin:0}.settings-dl div{display:flex;justify-content:space-between;gap:8px}.settings-dl dt{font-weight:600}.settings-dl dd{margin:0}.turn-words{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px}.turn-words li{padding:4px 10px;border-radius:999px;font-size:.85rem;text-transform:capitalize}.turn-words .guessed{background:#d4efdf;color:#1d6b3d}.turn-words .missed{background:#f6dcdc;color:#8f2626}.turn-card p{margin:0}.word-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media (max-width: 520px){.word-edit-grid{grid-template-columns:1fr}}
