:root{--bg:#10131b;--panel:#191e29;--panel2:#202736;--line:#303849;--text:#f5f6fb;--muted:#a7afc0;--accent:#d5ff62;--accent-ink:#14190b;--pink:#ff8bb3;--blue:#8cbaff;--radius:20px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -20%,#283246 0,transparent 55%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.site-shell{max-width:1100px;margin:0 auto;padding:0 24px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;gap:11px;align-items:center;color:var(--text);text-decoration:none;font-weight:900;font-size:13px;letter-spacing:.16em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent);color:var(--accent-ink);font-size:18px;font-weight:950;letter-spacing:-.08em}.top-actions{display:flex;align-items:center;gap:16px}.status-pill{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #d5ff6270}.hero{text-align:center;padding:78px 0 48px}.eyebrow{color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.hero h1{font-size:clamp(46px,8vw,82px);letter-spacing:-.065em;line-height:.98;margin:18px 0 20px;font-weight:900}.hero h1 span{color:var(--accent)}.hero-copy{max-width:570px;margin:0 auto;color:var(--muted);line-height:1.65;font-size:16px}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:30px;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:12px;padding:12px 18px;font-weight:800;font-size:14px;transition:transform .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--accent);color:var(--accent-ink)}.button-primary:hover:not(:disabled){background:#e2ff8b}.button-secondary{background:#272e3c;border-color:#3a4354;color:var(--text)}.button-quiet{background:transparent;color:var(--muted);border-color:var(--line)}.button-small{padding:9px 12px;font-size:12px}.button-large{padding:15px 20px;font-size:14px}.button-full{width:100%;margin-top:18px}.feature-row{display:flex;justify-content:center;gap:clamp(22px,5vw,64px);margin-top:52px;flex-wrap:wrap}.feature-row div{display:flex;flex-direction:column;gap:4px}.feature-row strong{font-size:17px}.feature-row span{font-size:11px;color:var(--muted)}.panel{background:linear-gradient(145deg,rgba(31,38,52,.98),rgba(22,27,38,.98));border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,4vw,34px);margin:12px auto 50px;max-width:850px;box-shadow:0 22px 70px #0002}.setup-panel{max-width:650px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:25px}.panel-heading h2{font-size:30px;letter-spacing:-.04em;margin:7px 0 0}.icon-button{border:1px solid var(--line);background:#252c3a;color:var(--text);border-radius:10px;width:36px;height:36px;font-size:24px;line-height:1}.field-label{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:17px 0 8px;font-size:12px;font-weight:800;color:#e6e9f0}.field-label span{font-size:11px;color:var(--muted);font-weight:500}.text-input{width:100%;background:#111620;border:1px solid #343e50;border-radius:10px;color:var(--text);padding:12px 13px;outline:none;min-height:45px}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d5ff6218}.text-input::placeholder{color:#697488}.room-code-input{font-size:26px;font-weight:900;letter-spacing:.22em;text-align:center}.deck-label{margin-top:24px}.deck-picker,.deck-library-list{display:grid;gap:9px;margin-top:10px}.deck-option,.deck-list-item{display:flex;align-items:center;gap:12px;background:#151a24;border:1px solid var(--line);border-radius:12px;padding:13px}.deck-option input{accent-color:var(--accent);width:18px;height:18px}.deck-option-main{flex:1;min-width:0}.deck-option strong,.deck-list-item strong{display:block;font-size:13px}.deck-option small,.deck-list-item small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.deck-count{font-size:11px;color:var(--muted);white-space:nowrap}.settings-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.small-note,.muted{font-size:12px;color:var(--muted);line-height:1.55}.small-note{text-align:center;margin:13px 0 0}.hidden{display:none!important}.divider{border:0;border-top:1px solid var(--line);margin:28px 0}.text-area{resize:vertical;line-height:1.5;min-height:100px}.result-box{background:#101620;border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:14px;overflow-wrap:anywhere}.result-box strong{color:var(--accent)}.room-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.room-code{font-size:32px;letter-spacing:.14em;font-weight:950;color:var(--accent)}.room-code-label{font-size:10px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase}.room-subtitle{color:var(--muted);font-size:13px;margin-top:7px}.room-actions{display:flex;gap:8px;flex-wrap:wrap}.section-title{font-size:16px;font-weight:850;margin:25px 0 12px}.player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-item{display:flex;align-items:center;gap:10px;padding:11px;background:#141923;border:1px solid var(--line);border-radius:11px;min-width:0}.avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#30394b;color:var(--accent);font-weight:900}.player-meta{min-width:0;flex:1}.player-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.player-meta small{font-size:10px;color:var(--muted)}.host-tag{font-size:9px;background:#d5ff6220;color:var(--accent);padding:4px 6px;border-radius:5px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px}.game-main{min-width:0}.game-side{border-left:1px solid var(--line);padding-left:18px}.round-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.round-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.timer{font-size:13px;font-weight:850;border:1px solid var(--line);border-radius:9px;padding:8px 10px}.timer.urgent{color:var(--pink);border-color:#ff8bb366}.prompt-card{background:#f4f1e8;color:#151515;border-radius:14px;padding:23px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;margin:16px 0 20px;box-shadow:5px 5px 0 #b6b3aa}.card-type{font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;opacity:.6}.prompt-text{font-size:clamp(22px,3vw,32px);font-weight:900;letter-spacing:-.04em;line-height:1.15;margin:18px 0 0;overflow-wrap:anywhere}.hand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.answer-card{min-height:112px;text-align:left;background:#252c3a;border:1px solid #414c60;border-radius:12px;padding:13px;color:var(--text);display:flex;flex-direction:column;justify-content:space-between;gap:12px}.answer-card:hover:not(:disabled){border-color:var(--accent);background:#2b3444}.answer-card.selected{border:2px solid var(--accent);background:#343e2a}.answer-card .card-text{font-size:13px;font-weight:750;line-height:1.4;overflow-wrap:anywhere}.answer-card .card-number{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.answer-card:disabled{opacity:.65}.answer-card{cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.answer-card:hover{transform:translateY(-2px)}.answer-card .card-action{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--accent);opacity:.9}.submit-row{display:flex;align-items:center;gap:12px;margin-top:15px;flex-wrap:wrap}.submit-row .muted{flex:1}.submission-list{display:grid;gap:9px}.submission-card{background:#f4f1e8;color:#151515;border-radius:12px;padding:16px;min-height:85px;display:flex;align-items:center;gap:12px;border:2px solid transparent}.submission-card .answer-copy{flex:1;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.submission-card .answer-number{font-size:10px;opacity:.55;font-weight:900}.submission-card.winner{border-color:var(--accent);box-shadow:0 0 0 3px #d5ff6220}.submission-card .winner-mark{font-size:10px;font-weight:950;color:#25320b;background:var(--accent);border-radius:7px;padding:6px 8px}.judge-hint{background:#d5ff6212;border:1px solid #d5ff6230;color:#d9f99a;border-radius:10px;padding:12px;font-size:12px;line-height:1.5;margin:12px 0}.score-list{display:grid;gap:9px}.score-item{display:flex;align-items:center;gap:8px;font-size:12px}.score-rank{width:22px;color:var(--muted);font-size:10px}.score-name{flex:1;min-width:0;overflow-wrap:anywhere}.score-points{font-weight:900;color:var(--accent)}.phase-banner{padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px;margin-bottom:14px}.phase-banner strong{color:var(--text)}.winner-banner{border:1px solid #d5ff6255;background:#d5ff6210;padding:16px;border-radius:12px;margin-bottom:15px}.winner-banner h3{margin:0 0 6px;color:var(--accent);font-size:18px}.winner-banner p{margin:0;color:var(--muted);font-size:12px}.final-rank{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:12px;padding:13px;background:#141923;border:1px solid var(--line);border-radius:11px;margin-top:8px}.final-rank:first-child{border-color:#d5ff6255}.final-rank .rank-num{font-size:20px;font-weight:950;color:var(--accent)}.final-rank strong{font-size:14px}.final-rank small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#f5f6fb;color:#141821;padding:12px 16px;border-radius:10px;box-shadow:0 8px 40px #0007;font-size:13px;font-weight:750;z-index:5;max-width:calc(100% - 30px)}footer{display:flex;justify-content:space-between;gap:12px;padding:28px 0 35px;color:#657085;font-size:10px;letter-spacing:.06em}footer span:first-child{font-weight:900;letter-spacing:.16em}@media(max-width:720px){.site-shell{padding:0 15px}.topbar{height:68px}.status-pill{display:none}.hero{padding:58px 0 34px}.feature-row{gap:22px;margin-top:38px}.panel{padding:19px;margin-bottom:30px}.settings-grid,.form-grid{grid-template-columns:1fr}.game-layout{grid-template-columns:1fr}.game-side{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.player-list{grid-template-columns:1fr}.room-code{font-size:27px}.prompt-card{min-height:140px;padding:18px}.hand-grid{gap:8px}.answer-card{min-height:115px;padding:11px}.room-actions{width:100%}.room-actions .button{flex:1}footer{flex-direction:column}.panel-heading h2{font-size:26px}}@media(max-width:390px){.hero h1{font-size:44px}.hand-grid{grid-template-columns:1fr}.answer-card{min-height:85px}.top-actions .button{padding:8px;font-size:11px}}

.edit-deck-tools{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.edit-deck-tools summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:850}.edit-deck-tools[open] summary{margin-bottom:10px}

/* Deck editor usability */
.editor-tools{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.editor-tools h3{margin:0 0 6px}
.my-decks-list{display:grid;gap:8px;margin-top:12px}
.my-deck-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#151a24;border:1px solid var(--line);border-radius:12px;padding:12px}
.my-deck-item .deck-option-main{flex:1;min-width:160px}
.card-editor-help{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}
.card-editor-help .muted{white-space:nowrap}
#deckPrompts,#deckAnswers{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}
