: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}.bar{box-sizing:border-box;background:#000000a6;border:1px solid #5a4a2a;gap:6px;width:min(420px,100% - 24px);padding:8px;display:grid;position:fixed;bottom:12px;left:12px}.bar[hidden],.target[hidden],.combat-log[hidden]{display:none}.hp{background:#2a1414;border:1px solid #000;height:18px;position:relative}.hp>div:first-child{transition:width .2s;position:absolute;inset:0 auto 0 0}.hp .ok{background:#3c8a3c}.hp .hurt{background:#c49a2c}.hp .bad{background:#b03030}.hp-text{text-align:center;text-shadow:0 0 3px #000;font-size:12px;line-height:18px;position:absolute;inset:0}.me-stats{color:var(--dim);text-align:center;font-size:12px}.hotbar{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.hotbar button{color:var(--fg);cursor:pointer;text-align:left;background:#00000080;border:1px solid #5a4a2a;grid-template-columns:auto auto;gap:0 6px;padding:6px 8px;font:12px/1.2 inherit;display:grid}.hotbar button.on{border-color:var(--gold);background:#e8b84a2e}.hotbar .key{color:var(--gold);grid-row:span 2;align-self:center}.hotbar .range{color:var(--dim);font-size:10px}.target{cursor:pointer;text-align:center;background:#000000a6;border:1px solid #8b1e1e;min-width:200px;padding:6px 10px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.target .name{font-family:var(--title);color:#ff8a7a}.target .tbar{background:#2a1414;height:8px;margin:4px 0}.target .tbar>div{background:#b03030;height:100%}.target .hint{color:var(--dim);font-size:10px}.combat-log{-webkit-user-select:text;user-select:text;background:#0009;border:1px solid #333;width:min(440px,100% - 24px);max-height:34vh;padding:6px 8px;font-size:12px;position:fixed;bottom:12px;right:12px;overflow-y:auto}.combat-log .line{color:#cfc6b0;padding:1px 0}.combat-log .head{color:var(--gold);margin-top:4px}.combat-log .hit{color:#ffb4a8}.combat-log .miss{color:var(--dim)}@media (max-width:900px){.combat-log{max-height:22vh;top:56px;bottom:auto}}.bar-btns{gap:4px;display:flex;position:absolute;top:30px;right:8px}.bar-btns button{font:700 10px/1 var(--title);letter-spacing:.1em;color:var(--gold);cursor:pointer;background:0 0;border:1px solid #5a4a2a;padding:3px 6px}.me-stats{text-align:left}.talk{box-sizing:border-box;border:1px solid var(--gold);z-index:6;background:#0a0806f2;gap:8px;width:min(560px,100% - 24px);max-height:60vh;padding:12px 14px;display:grid;position:fixed;bottom:12px;left:50%;overflow-y:auto;transform:translate(-50%)}.talk[hidden]{display:none}.talk .head{justify-content:space-between;align-items:center;display:flex}.talk h3{font-family:var(--title);color:var(--gold);letter-spacing:.12em;margin:0;font-size:15px}.talk .head button{font:inherit;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #5a4a2a;padding:2px 7px}.talk .said{margin:0;font-size:14px;line-height:1.5}.talk .roll{color:var(--gold);margin:0;font-size:12px}.talk .replies{gap:4px;margin:0;padding:0;list-style:none;display:grid}.talk .replies button{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:#0006;border:1px solid #3a2e1a;padding:6px 8px;font:13px/1.4 inherit}.talk .replies button:hover,.talk .replies button:focus-visible{border-color:var(--gold);outline:none}.talk .key{color:var(--gold);margin-right:6px}.talk .tag{color:#8fc0ff;margin-right:6px}.window.journal{left:12px;right:auto}.window .quests{gap:10px;margin:0;padding:0;list-style:none;display:grid}.window .quests h4{font-family:var(--title);color:var(--fg);letter-spacing:.06em;margin:0 0 4px;font-size:13px}.window .quests p{color:#cfc6b0;margin:0;line-height:1.45}.window .quests .done h4,.window .quests .done p{color:var(--dim)}.window{box-sizing:border-box;z-index:5;background:#0a0806eb;border:1px solid #5a4a2a;align-content:start;gap:8px;width:min(380px,100% - 24px);max-height:calc(66vh - 90px);padding:10px 12px;font-size:13px;display:grid;position:fixed;top:56px;overflow-y:auto}.window[hidden]{display:none}.window.pack{right:12px}.window.shop{right:calc(22px + min(380px,100% - 24px))}@media (max-width:800px){.window.shop{top:56px;right:12px}.window.pack{max-height:40vh;top:auto;bottom:12px}}.window .head{justify-content:space-between;align-items:center;display:flex}.window h3{font-family:var(--title);color:var(--gold);letter-spacing:.12em;margin:0;font-size:15px}.window button{font:700 10px/1 var(--title);letter-spacing:.08em;color:var(--fg);cursor:pointer;white-space:nowrap;background:#00000080;border:1px solid #5a4a2a;padding:5px 7px}.window button:hover,.window button:focus-visible{border-color:var(--gold);color:var(--gold);outline:none}.window .purse{color:var(--dim);justify-content:space-between;display:flex}.window .gold{color:var(--gold)}.window .items{gap:3px;margin:0;padding:0;list-style:none;display:grid}.window .items li{border-bottom:1px solid #221a10;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:3px 0;display:grid}.window .items li.dear .name,.window .qty,.window .w{color:var(--dim)}.window .w{font-size:11px}.window .worn{color:var(--gold);font-size:11px}.window .acts{gap:4px;display:flex}.window .hint,.window .keeper{color:var(--dim);margin:0;font-size:11px}.chat{-webkit-user-select:text;user-select:text;gap:6px;width:min(420px,100% - 24px);display:grid;position:fixed;bottom:130px;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}.admin{width:min(1100px,100%)}.admin-body{gap:18px;font-size:13px;display:grid}.admin-body h3{font-family:var(--title);color:var(--gold);letter-spacing:.12em;margin:0 0 6px;font-size:14px}.admin-body section{background:#0000004d;border:1px solid #3a2e1a;padding:10px 12px}.admin-body ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.admin-body li{border-bottom:1px solid #221a10;grid-template-columns:minmax(160px,1fr) minmax(180px,1.4fr) auto;align-items:center;gap:8px;padding:3px 0;display:grid}.admin-body .adm-accounts>li{padding:8px 0;display:block}.admin-body .adm-acc{grid-template-columns:minmax(160px,1fr) minmax(180px,1.4fr) auto;align-items:center;gap:8px;display:grid}.admin-body .adm-chars{margin:4px 0 0 18px}.admin-body .adm-log li{display:block}.admin-body .name{font-weight:700}.admin-body .tag{color:var(--err);letter-spacing:.08em;font-size:11px;font-weight:400}.admin-body .acts{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.admin-body button{font:700 10px/1 var(--title);letter-spacing:.08em;color:var(--fg);cursor:pointer;white-space:nowrap;background:#00000080;border:1px solid #5a4a2a;padding:6px 8px}.admin-body button:hover,.admin-body button:focus-visible{border-color:var(--gold);color:var(--gold);outline:none}.admin-body button.del{color:#ff9a8a}.admin-body input{font:inherit;color:var(--fg);background:#0006;border:1px solid #5a4a2a;min-width:0;padding:7px;font-size:14px}.admin-body .adm-row{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.admin-body .adm-give .adm-row{grid-template-columns:1fr 1fr;margin-bottom:8px}.admin-body label{color:var(--dim);letter-spacing:.08em;gap:4px;font-size:11px;display:grid}@media (max-width:700px){.admin-body li,.admin-body .adm-acc{grid-template-columns:1fr}.admin-body .acts{justify-content:flex-start}}.law{box-sizing:border-box;text-align:center;z-index:4;background:#140404cc;border:1px solid #8b1e1e;gap:4px;width:min(420px,100% - 24px);padding:6px 10px;display:grid;position:fixed;top:84px;left:50%;transform:translate(-50%)}.law[hidden]{display:none}.law .big{font:700 14px/1.2 var(--title);letter-spacing:.12em;color:#ff6b5a}.law.jail{background:#0a0a0cd9;border-color:#6a6a6a}.law.jail .big{color:#d8d8d8}.law .sub{color:var(--dim);font-size:11px}.law button{font:700 10px/1 var(--title);letter-spacing:.1em;color:var(--gold);border:1px dashed var(--gold);cursor:pointer;background:#0009;justify-self:center;padding:5px 8px}.ctx{z-index:20;border:1px solid var(--gold);background:#0a0806f5;gap:2px;min-width:180px;padding:4px;display:grid;position:fixed}.ctx[hidden]{display:none}.ctx .title{font:700 12px/1.2 var(--title);color:var(--gold);letter-spacing:.08em;border-bottom:1px solid #3a2e1a;padding:4px 6px}.ctx button{text-align:left;color:var(--fg);cursor:pointer;background:0 0;border:0;padding:6px;font:13px/1.3 inherit;display:grid}.ctx button:hover,.ctx button:focus-visible{background:#e8b84a1f;outline:none}.ctx button.danger{color:#ff8a7a}.ctx .hint{color:var(--dim);font-size:10px}
