:root{--bg:#07060a;--fg:#efe6d2;--dim:#9c927c;--gold:#e8b84a;--err:#ff6b6b;--title:"Cinzel", Georgia, serif}html,body{background:var(--bg);height:100%;color:var(--fg);touch-action:none;-webkit-user-select:none;user-select:none;margin:0;font:14px/1.4 ui-monospace,Menlo,Consolas,monospace;overflow:hidden}#game{position:fixed;inset:0}.hud{pointer-events:none;white-space:pre;text-shadow:0 0 4px #000;position:fixed;top:12px;left:12px}.leave{font:inherit;color:var(--fg);border:1px solid var(--dim);cursor:pointer;background:#00000080;padding:6px 10px;position:fixed;top:12px;right:12px}.leave[hidden]{display:none}.chat{-webkit-user-select:text;user-select:text;gap:6px;width:min(420px,100% - 24px);display:grid;position:fixed;bottom:12px;left:12px}.chat[hidden]{display:none}.chat-log{text-shadow:0 0 4px #000,0 0 2px #000;align-content:end;gap:2px;max-height:180px;font-size:13px;display:grid;overflow-y:auto}.chat-log .from{color:var(--gold)}.chat-log .zone .from{color:#8fc0ff}.chat-log .system{color:var(--dim);font-style:italic}.chat-bar{grid-template-columns:auto 1fr;display:grid}.chat-bar button{font:700 12px/1 var(--title);letter-spacing:.1em;color:var(--gold);cursor:pointer;background:#0009;border:1px solid #5a4a2a;border-right:0;min-width:64px;padding:0 10px}.chat-bar input{font:inherit;color:var(--fg);background:#0009;border:1px solid #5a4a2a;min-width:0;padding:8px;font-size:16px}.chat-bar input:focus{border-color:var(--gold);outline:none}.screen{box-sizing:border-box;background:radial-gradient(ellipse at 50% 35%, #2a1d0c 0%, #120d07 45%, var(--bg) 80%);flex-direction:column;justify-content:center;align-items:center;gap:32px;padding:16px;display:flex;position:fixed;inset:0}.screen[hidden]{display:none}h1,h2,.small-title{font-family:var(--title);letter-spacing:.12em;margin:0}h1{color:var(--fg);text-shadow:0 0 24px #e8b84a59;font-size:clamp(32px,8vw,110px);font-weight:900}h1 span,.small-title span{color:var(--gold)}.title-block{text-align:center;animation:1.2s ease-out both rise}.tagline{font-family:var(--title);color:var(--dim);letter-spacing:.3em;text-transform:uppercase;margin:8px 0 0}.prompt{color:var(--gold);letter-spacing:.3em;cursor:pointer;animation:1.6s ease-in-out infinite pulse}.title{cursor:pointer}.small-title{font-size:clamp(28px,6vw,48px);font-weight:900}.menu{gap:10px;width:min(320px,100%);display:grid}.menu button,.panel button{font:700 16px/1 var(--title);letter-spacing:.15em;color:var(--fg);cursor:pointer;background:#00000059;border:1px solid #5a4a2a;padding:14px;transition:border-color .15s,color .15s,background .15s}.menu button:hover,.menu button:focus-visible,.panel button:hover,.panel button:focus-visible{color:var(--bg);background:var(--gold);border-color:var(--gold);outline:none}.status{min-height:1.4em;color:var(--dim);text-align:center}.status.err{color:var(--err)}.who{text-align:center;color:var(--dim);font-size:12px;position:fixed;bottom:12px;left:0;right:0}.panel{gap:12px;width:min(460px,100%);display:grid}.panel h2{color:var(--gold);text-align:center}.panel label{color:var(--dim);letter-spacing:.1em;gap:4px;font-size:12px;display:grid}.panel input{font:inherit;color:var(--fg);background:#0006;border:1px solid #5a4a2a;padding:10px;font-size:16px}.panel input:focus{border-color:var(--gold);outline:none}.panel .back{color:var(--dim);background:0 0;border-color:#0000}.stats{grid-template-columns:1fr auto;gap:6px 16px;margin:0;display:grid}.stats dt{color:var(--dim)}.stats dd{text-align:right;margin:0}.note{color:var(--dim);text-align:center;margin:0;font-size:12px}.chars{gap:8px;margin:0;padding:0;list-style:none;display:grid}.chars li{align-items:center;gap:8px;display:grid}.chars .acts{gap:6px;display:flex}.chars .name{font-family:var(--title);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.chars .empty{color:var(--dim);text-align:center;font-size:12px;display:block}.panel .chars button{padding:10px 12px;font-size:13px}.panel .chars .del{color:var(--dim);background:0 0}.new-char{grid-template-columns:1fr auto;gap:8px;display:grid}.new-char[hidden]{display:none}.panel .new-char button{padding:10px 12px;font-size:13px}@keyframes pulse{50%{opacity:.35}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.title-block,.prompt{animation:none}}.screen.wide{-webkit-user-select:text;user-select:text;justify-content:flex-start;overflow-y:auto}.create{gap:14px;width:min(1040px,100%);display:grid}.create h2{color:var(--gold);text-align:center;font-family:var(--title)}.steps{color:var(--dim);letter-spacing:.1em;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.steps .on{color:var(--gold)}.create-main{grid-template-columns:1fr 260px;align-items:start;gap:18px;display:grid}@media (max-width:760px){.create-main{grid-template-columns:1fr}}.create-summary{background:#00000059;border:1px solid #5a4a2a;gap:6px;padding:12px;display:grid;position:sticky;top:0}.create-summary[hidden]{display:none}.create-summary h4{font-family:var(--title);margin:0;font-size:16px}.create-summary p{margin:0;font-size:12px}.mini-scores{grid-template-columns:1fr 1fr;gap:2px 8px;font-size:12px;display:grid}.sub{color:var(--dim);margin:0;font-size:12px}.create-bar{grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;display:grid}.create button,.sheet-body button{font:700 14px/1 var(--title);letter-spacing:.12em;color:var(--fg);cursor:pointer;background:#00000059;border:1px solid #5a4a2a;padding:12px 14px}.create button:hover,.create button:focus-visible{border-color:var(--gold);outline:none}.create button.primary{background:var(--gold);color:var(--bg);border-color:var(--gold)}.create button.back{color:var(--dim);background:0 0;border-color:#0000}.create button[hidden]{display:none}.create button:disabled{opacity:.35;cursor:default}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.create .card{text-align:left;letter-spacing:0;gap:6px;font:13px/1.4 ui-monospace,Menlo,Consolas,monospace;display:grid}.create .card b{font:700 16px/1.2 var(--title);letter-spacing:.08em}.create .card.on,.create .pick.on{border-color:var(--gold);background:#e8b84a26}.group{gap:8px;margin-top:12px;display:grid}.group h4,.sheet h4{color:var(--gold);letter-spacing:.15em;margin:0;font-size:12px}.picks{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;display:grid}.create .pick{letter-spacing:.04em;text-align:left;align-content:start;gap:2px;padding:8px 10px;font:12px/1.3 ui-monospace,Menlo,Consolas,monospace;display:grid}.create .pick small{color:var(--dim)}.score-rows{gap:6px;margin-top:12px;display:grid}.score-row{grid-template-columns:1fr auto 48px 80px;align-items:center;gap:10px;display:grid}.score-row .name{display:grid}.score-row .hint{color:var(--gold);font-size:11px}.score-row .bonus{color:var(--gold);text-align:center}.score-row .final{text-align:right}.ctl{align-items:center;gap:8px;display:flex}.ctl .base{text-align:center;width:2ch;font-size:16px}.create .step{padding:6px 12px}.create select,.create input{font:inherit;color:var(--fg);background:#0006;border:1px solid #5a4a2a;padding:8px;font-size:16px}.create label{color:var(--dim);letter-spacing:.1em;gap:4px;font-size:12px;display:grid}.portraits{flex-wrap:wrap;gap:8px;display:flex}.portraits .pick{width:auto}.create .portrait-pick{padding:4px}.portrait{clip-path:polygon(0 0,100% 0,100% 60%,50% 100%,0 60%);border:1px solid #5a4a2a;flex:none;display:inline-block}.chars .portrait{margin-right:4px}.chars li{grid-template-columns:auto 1fr auto auto}.chars .title{color:var(--dim);letter-spacing:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;display:block}.sheet{gap:14px;font-size:13px;display:grid}.sheet p{margin:2px 0}.sheet-head{align-items:center;gap:14px;display:flex}.sheet-head h3{font-family:var(--title);margin:0;font-size:24px}.stats{flex-wrap:wrap;gap:8px;display:flex}.stat,.ability{background:#0000004d;border:1px solid #5a4a2a;justify-items:center;min-width:64px;padding:6px 10px;display:grid}.stat .v,.ability .v{color:var(--fg);font-size:18px}.stat .l,.ability .l,.ability .save{color:var(--dim);font-size:11px}.ability .s{font-size:12px}.abilities{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}@media (max-width:600px){.abilities{grid-template-columns:repeat(3,1fr)}}.cols{grid-template-columns:1fr 1.4fr;gap:18px;display:grid}@media (max-width:760px){.cols{grid-template-columns:1fr}}.skills,.list{gap:2px;margin:4px 0;padding:0;list-style:none;display:grid}.skills li{color:var(--dim);justify-content:space-between;display:flex}.skills li.prof,.list li{color:var(--fg)}.create .note{text-align:left}
