:root{--bg:#07060a;--fg:#efe6d2;--dim:#9c927c;--gold:#e8b84a;--gold-rgb:232, 184, 74;--line:#5a4a2a;--glow-a:#2a1d0c;--glow-b:#120d07;--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}.leave{font:700 10px/1 var(--title);letter-spacing:.12em;color:var(--gold);background:var(--wood);border:1px solid var(--trim);cursor:pointer;z-index:3;padding:7px 10px;position:fixed;top:10px;right:10px;box-shadow:0 0 0 1px #000,0 2px 6px #0009}.leave:hover,.leave:focus-visible{color:#fff3d0;border-color:#e8c66a;outline:none}.leave[hidden]{display:none}:root{--wood:repeating-linear-gradient(92deg, #ffdca006 0 2px, transparent 2px 7px), linear-gradient(180deg, #3b2814 0%, #2a1b0d 55%, #1d1209 100%);--trim:#b8913f;--trim-dark:#5e4519;--act:#57c26a;--bonus:#ec9a34;--react:#a57ae8}.me-panel{box-sizing:border-box;background:var(--wood);border:1px solid var(--trim);z-index:3;gap:6px;width:max-content;max-width:min(330px,100% - 120px);padding:7px;display:grid;position:fixed;top:10px;left:10px;box-shadow:0 0 0 1px #000,inset 0 0 0 1px #000,0 6px 18px #0000008c}.me-panel[hidden]{display:none}.mp-top{grid-template-columns:auto auto minmax(0,1fr);align-items:stretch;gap:6px;display:grid}.mp-face{gap:4px;width:72px;display:grid}.bar-portrait{border:2px solid var(--trim);background:#120b05;place-items:center;width:68px;height:68px;display:grid;box-shadow:inset 0 0 0 2px #000,0 0 0 1px #000}.bar-portrait .portrait{border:0}.hp{width:100%;height:14px;box-shadow:0 0 0 1px var(--trim-dark);background:#2a1414;border:1px solid #000;position:relative}.hp>div:first-child{transition:width .2s;position:absolute;inset:0 auto 0 0}.hp .ok{background:linear-gradient(#5fae4f,#2f6e2a)}.hp .hurt{background:linear-gradient(#d9b043,#8e6a1c)}.hp .bad{background:linear-gradient(#d14a3c,#7a1d1d)}.hp-text{text-align:center;text-shadow:0 0 3px #000,0 0 2px #000;white-space:nowrap;font-size:10px;line-height:14px;position:absolute;inset:0}.xp{width:9px;box-shadow:0 0 0 1px var(--trim-dark);cursor:help;background:#17110a;border:1px solid #000;position:relative}.xp:focus-visible{outline:1px solid var(--gold)}#xp-fill{background:linear-gradient(90deg,#ffe46b,#e0a91c 60%,#a87810);transition:height .4s;position:absolute;bottom:0;left:0;right:0;box-shadow:0 0 6px #ffd25073}.xp .tip{white-space:nowrap;color:#ffe9a8;border:1px solid var(--trim);z-index:2;pointer-events:none;background:#0d0904;padding:4px 8px;font-size:11px;display:none;position:absolute;top:50%;left:16px;transform:translateY(-50%);box-shadow:0 0 0 1px #000}.xp:hover .tip,.xp:focus .tip{display:block}.mp-info{align-content:start;gap:3px;min-width:0;padding-right:2px;display:grid}.mp-name{font:700 14px/1.15 var(--title);letter-spacing:.06em;color:var(--gold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.me-stats{color:var(--dim);flex-wrap:wrap;gap:2px 10px;font-size:11px;display:flex}.me-stats .lvl{font:700 11px/1.3 var(--title);color:var(--gold);letter-spacing:.1em}.me-stats .lvl b{font:700 12px/1 ui-monospace,Menlo,Consolas,monospace}.me-stats .fight{color:#ff8a7a;letter-spacing:.08em}.me-stats .conds{color:#ffb07a}.where{border-top:1px solid var(--trim-dark);padding-top:3px;display:grid}.where b{font:700 12px/1.25 var(--title);letter-spacing:.05em;color:var(--fg)}.where span{color:var(--dim);font-size:11px}.where span:empty{display:none}#levelup-btn{border:1px solid var(--gold);font:700 10px/1 var(--title);letter-spacing:.12em;cursor:pointer;border-radius:11px;justify-self:start;margin-top:2px;padding:5px 10px}#levelup-btn[hidden]{display:none}.bar{box-sizing:border-box;padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:var(--wood);border-top:3px double var(--trim);z-index:3;grid-template-columns:minmax(300px,36%) minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px #000,0 -8px 24px #0009,inset 0 1px #ffdc9626}.bar[hidden],.target[hidden]{display:none}.bar-mid{align-content:center;gap:4px;min-width:0;display:grid}.economy{font:700 10px/1 var(--title);letter-spacing:.08em;gap:10px;display:flex}.economy[hidden]{display:none}.eco{color:var(--fg);align-items:center;gap:5px;display:inline-flex}.eco.spent{color:#5d5444}.eco.spent .cost{background:#4a4234}.cost{flex:none;width:9px;height:9px;display:inline-block}.cost.action{background:var(--act);border-radius:50%}.cost.bonus{background:var(--bonus);clip-path:polygon(50% 0,100% 100%,0 100%)}.cost.reaction{background:var(--react)}.hotbar{scrollbar-width:thin;align-items:stretch;gap:8px;display:flex;overflow:auto hidden}.hb-area{border:1px solid var(--trim-dark);background:#00000052;flex:none;gap:8px;padding:4px 6px 5px;display:flex;box-shadow:inset 0 0 0 1px #000}.hb-area.spells{background:#141e3c59;border-color:#3d4f7a}.hb-group{align-content:start;gap:3px;display:grid}.hb-group+.hb-group{border-left:1px solid #b8913f40;padding-left:8px}.spells .hb-group+.hb-group{border-left-color:#7896dc40}.hb-label{font:700 9px/1 var(--title);letter-spacing:.14em;color:var(--trim);white-space:nowrap;align-items:center;gap:5px;padding-left:2px;display:flex}.spells .hb-label{color:#9fb6e8}.lpips{gap:2px;display:inline-flex}.lpips i{border:1px solid #6aa8ff;width:5px;height:5px;transform:rotate(45deg)}.lpips i.full{background:#6aa8ff}.hotbar{--slot:52px}.hb-slots{grid-auto-rows:var(--slot);gap:3px;display:grid}.slot{box-sizing:border-box;color:#e9d9b0;border:1px solid var(--trim-dark);cursor:pointer;width:52px;height:52px;font:inherit;background:radial-gradient(circle at 50% 35%,#3a2a17 0%,#160e06 80%);grid-template-rows:1fr auto;place-items:center;padding:4px 2px 3px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #000,inset 0 -6px 10px #00000080}.spells .slot{color:#d6e2ff;background:radial-gradient(circle at 50% 35%,#26304a 0%,#0c0f1a 80%);border-color:#34446a}.slot:hover,.slot:focus-visible{border-color:var(--trim);color:#fff3d0;outline:none}.slot .icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.slot .label{text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:9px;line-height:1.1;overflow:hidden}.slot .key{color:var(--gold);font-size:9px;position:absolute;top:2px;left:4px}.slot .cost{width:7px;height:7px;position:absolute;top:4px;right:4px}.slot.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px #000, 0 0 8px rgba(var(--gold-rgb), .6);color:var(--gold)}.slot.off{opacity:.4;filter:grayscale()}.slot.spent .cost{background:#4a4234}.slot.spent:not(.on){opacity:.6}.bar-btns{flex-direction:column;justify-content:center;gap:4px;display:flex}.bar-btns button[hidden]{display:none}.bar-btns button{box-sizing:border-box;width:138px;height:25px;font:700 11px/1 var(--title);letter-spacing:.12em;color:var(--gold);border:1px solid var(--trim);cursor:pointer;background:linear-gradient(#3e2a14,#1e1309);border-radius:3px;align-items:center;gap:8px;padding:0 8px 0 3px;display:flex;box-shadow:0 0 0 1px #000,inset 0 1px #ffdc961f}.bar-btns button:hover,.bar-btns button:focus-visible{color:#fff3d0;background:linear-gradient(#55391a,#2a1a0b);border-color:#e8c66a;outline:none}.bar-btns .k{width:19px;height:19px;font:700 10px/1 var(--title);color:#1b1108;background:radial-gradient(circle at 40% 35%,#f0cf73,#b8913f);border:1px solid #000;border-radius:50%;flex:none;place-items:center;display:grid}.bar-btns .icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;display:none}.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}@media (max-width:720px){.me-panel{gap:4px;max-width:calc(100% - 100px);padding:5px;top:6px;left:6px}.mp-face{width:46px}.bar-portrait{width:42px;height:42px}.bar-portrait .portrait{width:36px!important;height:36px!important}.hp-text{font-size:8px}.mp-name{font-size:12px}.where b{font-size:11px}.leave{padding:6px 8px;top:6px;right:6px}.bar{padding:5px 6px calc(5px + env(safe-area-inset-bottom));grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:5px 6px}.bar>.chat{grid-area:1/1}.bar-mid{grid-area:2/1}.bar-btns{grid-area:1/2/3;gap:5px}.bar-btns button{background:radial-gradient(circle at 40% 35%,#4a3418 0%,#1b1108 75%);border-width:2px;border-radius:50%;justify-content:center;width:36px;height:36px;padding:0;position:relative}.bar-btns .icon{display:block}.bar-btns .w{display:none}.bar-btns .k{width:14px;height:14px;font-size:8px;position:absolute;bottom:-4px;right:-4px}.hb-area{gap:5px;padding:3px 4px}.hb-group+.hb-group{padding-left:5px}.hotbar{--slot:40px}.hb-slots{gap:2px}.slot{width:40px;height:40px;padding:3px 1px 2px}.slot .icon{width:20px;height:20px}.slot .label{display:none}.hb-label{letter-spacing:.08em;font-size:8px}.economy{display:none}.target{min-width:150px;top:54px;left:auto;right:6px;transform:none}.law{top:96px}.dice-others{top:110px}}.talk{left:50%;bottom:calc(var(--bar-h,96px) + 8px);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;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);border:1px solid var(--line);cursor:pointer;background:0 0;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.home p{margin:0;line-height:1.45}.window.travelmap{width:min(900px,100% - 24px)}.window.travelmap canvas{width:100%;height:auto;image-rendering:pixelated;border:1px solid #3a2e1a}.window.home .sub{color:var(--dim)}.window h4{font-family:var(--title);color:var(--fg);letter-spacing:.08em;margin:4px 0 0;font-size:12px}.window button:disabled{opacity:.4;cursor:default;color:var(--dim);border-color:var(--line)}.court{box-sizing:border-box;border:2px solid var(--gold);z-index:8;text-align:center;background:#0e0a06f7;gap:10px;width:min(520px,100% - 24px);max-height:86vh;padding:18px;display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #0009,0 10px 40px #000c}.court[hidden]{display:none}.court .where{font:700 11px var(--title);color:var(--dim);letter-spacing:.14em}.court .art{font-size:54px;line-height:1.1}.court h3{font-family:var(--title);color:var(--gold);letter-spacing:.12em;margin:0;font-size:18px}.court .said{text-align:left;margin:0;font-size:14px;line-height:1.55}.court .roll{color:var(--gold);margin:0;font-size:12px}.court .notes{text-align:left;color:#cfc6b0;border:1px solid #3a2e1a;gap:2px;margin:0;padding:6px 8px;font-size:12px;list-style:none;display:grid}.court .replies{text-align:left;gap:4px;margin:0;padding:0;list-style:none;display:grid}.court .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}.court .replies button:hover,.court .replies button:focus-visible{border-color:var(--gold);outline:none}.court .key{color:var(--gold);margin-right:6px}.court .tag{color:#8fc0ff;margin-right:6px}.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;white-space:pre-line;margin:0;line-height:1.45}.window .quests .done h4,.window .quests .done p{color:var(--dim)}.window{width:min(380px,100% - 24px);max-height:calc(100vh - var(--bar-h,96px) - 72px);box-sizing:border-box;border:1px solid var(--line);z-index:5;background:#0a0806f5;align-content:start;gap:8px;padding:10px 12px;font-size:13px;display:grid;position:fixed;top:56px;overflow-y:auto}.window[hidden]{display:none}.window.pack{right: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);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#00000080;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{box-sizing:border-box;border:1px solid var(--trim-dark);-webkit-user-select:text;user-select:text;background:#080502bf;grid-template-rows:auto 1fr auto;min-width:0;display:grid;box-shadow:inset 0 0 0 1px #000}.chat[hidden]{display:none}.dock-tabs{background:var(--wood);border-bottom:1px solid var(--trim-dark);gap:2px;padding:3px 3px 0;display:flex}.dock-tabs button{font:700 10px/1 var(--title);letter-spacing:.12em;color:var(--dim);border:1px solid var(--trim-dark);cursor:pointer;background:#00000059;border-bottom:0;padding:5px 12px 4px}.dock-tabs button.on{color:var(--gold);border-color:var(--trim);background:#120c06f2}.combat-log,.chat-log{height:124px;padding:4px 8px;font-size:12px;overflow-y:auto}.chat[data-tab=log] .chat-log,.chat[data-tab=chat] .combat-log,.chat.folded .combat-log,.chat.folded .chat-log{display:none}.dock-tabs b{color:#1b1108;background:var(--gold);border-radius:6px;margin-left:6px;padding:0 4px;font:700 10px/1.3 ui-monospace,Menlo,Consolas,monospace}.dock-tabs .fold{color:var(--trim);background:0 0;border:0;margin-left:auto;padding:4px 10px;font-size:12px}.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)}.chat-log{flex-direction:column;gap:2px;font-size:13px;display:flex}.chat-log>:first-child{margin-top:auto}.chat-log .from{color:var(--gold)}.chat-log .zone .from{color:#8fc0ff}.chat-log .system{color:var(--dim);font-style:italic}.chat-bar{border-top:1px solid var(--trim-dark);grid-template-columns:auto 1fr;display:grid}.chat-bar button{font:700 11px/1 var(--title);letter-spacing:.1em;color:var(--gold);border:0;border-right:1px solid var(--trim-dark);cursor:pointer;background:#00000080;min-width:60px;padding:0 10px}.chat-bar input{font:inherit;color:var(--fg);background:#0006;border:0;min-width:0;padding:6px 8px;font-size:15px}.chat-bar input:focus{background:#0009;outline:none}@media (max-width:720px){.combat-log,.chat-log{height:60px}.dock-tabs button{padding:4px 8px 3px}}.screen{box-sizing:border-box;background:radial-gradient(ellipse at 50% 35%, var(--glow-a) 0%, var(--glow-b) 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}.screen{--gold:#6cc46a;--gold-rgb:108, 196, 106;--line:#2f5a34;--glow-a:#0f2a14;--glow-b:#08140a}h1,h2,.small-title{font-family:var(--title);letter-spacing:.12em;margin:0}h1{color:var(--fg);text-shadow:0 0 24px rgba(var(--gold-rgb), .35);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);border:1px solid var(--line);cursor:pointer;background:#00000059;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);border:1px solid var(--line);background:#0006;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{border:1px solid var(--line);background:#00000059;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);border:1px solid var(--line);cursor:pointer;background:#00000059;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:rgba(var(--gold-rgb), .15)}.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);border:1px solid var(--line);background:#0006;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{border:1px solid var(--line);box-sizing:border-box;background:#000;flex:none;display:inline-block;overflow:hidden}.portrait svg{width:100%;height:100%;display: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{border:1px solid var(--line);background:#0000004d;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);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#00000080;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,.admin-body select{font:inherit;color:var(--fg);border:1px solid var(--line);background:#0006;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:rgba(var(--gold-rgb), .12);outline:none}.ctx button.danger{color:#ff8a7a}.ctx .hint{color:var(--dim);font-size:10px}.shift{border:1px solid var(--trim-dark);background:#00000059;gap:2px;padding:5px 7px;font-size:12px;display:grid}.shift[hidden]{display:none}.shift .job{font:700 11px/1.2 var(--title);letter-spacing:.08em;color:var(--gold);flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.shift .rank{color:var(--fg);letter-spacing:.04em;font-weight:400}.shift .rep{color:#1b1108;background:var(--trim);border-radius:6px;margin-left:auto;padding:1px 5px;font:700 10px/1.2 ui-monospace,Menlo,Consolas,monospace}.shift .clock{color:var(--fg);font-size:11px}.shift .clock b{color:var(--gold);font-family:ui-monospace,Menlo,Consolas,monospace}.shift .sub{color:var(--dim);font-size:11px;line-height:1.35}.window.levelup{width:min(620px,100% - 24px)}.window.spellbook p,.window.levelup p{margin:0;line-height:1.45}.window .sub{color:var(--dim)}.window .feats{gap:4px;margin:0;padding-left:16px;line-height:1.4;display:grid}.window .picks{gap:2px;margin:0;padding:0;list-style:none;display:grid}.window .picks label{cursor:pointer;border-bottom:1px solid #221a10;grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px;padding:3px 0;display:grid}.window .picks .lvl{color:var(--dim);font-size:11px}.window .picks .use{color:var(--gold);font-size:11px}.window .picks .sum{color:var(--dim);grid-column:2;font-size:12px}.window .asi{flex-wrap:wrap;gap:4px;display:flex}.window button.on{border-color:var(--gold);color:var(--gold)}#levelup-btn.glow{border-color:var(--gold);color:#1b1108;background:linear-gradient(#f0cf73,#b8913f);animation:1.4s ease-in-out infinite alternate glow}@keyframes glow{0%{box-shadow:0 0 0 rgba(var(--gold-rgb), 0)}to{box-shadow:0 0 10px rgba(var(--gold-rgb), .7)}}.dice-screen{z-index:30;cursor:pointer;box-sizing:border-box;background:radial-gradient(at 50% 45%,#00000059,#000c);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dice-screen[hidden]{display:none}.dice-panel{box-sizing:border-box;border:2px solid var(--trim);text-align:center;background:radial-gradient(at 50% 30%,#2b1d0e 0%,#120b05 75%);justify-items:center;gap:10px;width:min(440px,100%);padding:20px 18px 16px;transition:border-color .3s,box-shadow .3s;animation:.25s ease-out both rise;display:grid;box-shadow:0 0 0 1px #000,0 0 0 5px #0009,0 20px 60px #000c}.dice-panel .kind{font:700 10px/1 var(--title);letter-spacing:.3em;color:var(--dim)}.dice-panel h3{font:700 22px/1.2 var(--title);letter-spacing:.08em;color:var(--gold);margin:0}.dice-panel .dc{border:2px solid var(--trim);width:64px;height:64px;box-shadow:inset 0 0 12px rgba(var(--gold-rgb), .25);background:#0d0804;border-radius:50%;place-items:center;display:grid}.dice-panel .dc .l{font:700 7px/1 var(--title);letter-spacing:.14em;color:var(--dim);margin-top:10px}.dice-panel .dc .v{color:var(--fg);margin-bottom:8px;font:700 26px/1 ui-monospace,Menlo,Consolas,monospace}.dice-panel .against{color:var(--dim);font-size:12px}.dice-row{justify-content:center;align-items:center;gap:14px;min-height:120px;display:flex}.die{transition:opacity .3s,transform .3s,filter .3s}.d20 .face{fill:#2a1a0b;stroke:var(--trim);stroke-width:2.5px;stroke-linejoin:round}.d20 .inner{fill:#3a2612;stroke:var(--trim);stroke-width:1.5px;stroke-linejoin:round}.d20 .edges{fill:none;stroke:var(--trim-dark);stroke-width:1.5px}.d20 text{fill:#fff3d0;font:700 24px ui-monospace,Menlo,Consolas,monospace}.waiting .die{filter:drop-shadow(0 0 10px rgba(var(--gold-rgb), .5));animation:1.2s ease-in-out infinite bob}.die.rolling{animation:.3s linear infinite tumble}.die.landed{animation:.35s ease-out land}.die.dropped{opacity:.35;filter:grayscale();transform:scale(.8)}.dice-panel .mode{font:700 9px/1 var(--title);letter-spacing:.14em;color:#8fc0ff}.dice-panel .tiles{flex-wrap:wrap;justify-content:center;gap:6px;min-height:40px;display:flex}.dice-panel .tile{border:1px solid var(--trim-dark);opacity:0;background:#00000073;justify-items:center;padding:4px 9px;transition:opacity .25s,transform .25s;display:grid;transform:translateY(14px)scale(.85)}.dice-panel .tile.in{opacity:1;transform:none}.dice-panel .tile .v{color:var(--gold);font:700 15px/1.1 ui-monospace,Menlo,Consolas,monospace}.dice-panel .tile .n{color:var(--dim);font-size:10px}.dice-panel .total{color:var(--fg);min-height:40px;font:700 40px/1 ui-monospace,Menlo,Consolas,monospace}.dice-panel .result{font:900 20px/1 var(--title);letter-spacing:.2em;min-height:20px}.dice-panel .hint{font:700 9px/1 var(--title);letter-spacing:.2em;color:var(--dim);min-height:9px}.dice-panel.pass{border-color:var(--act);box-shadow:0 0 0 1px #000,0 0 30px #57c26a73,0 20px 60px #000c}.dice-panel.pass .result{color:var(--act)}.dice-panel.fail{border-color:#c4473a;box-shadow:0 0 0 1px #000,0 0 30px #c4473a73,0 20px 60px #000c}.dice-panel.fail .result{color:#ff7a6a}.dice-panel.crit{animation:.9s ease-out crit}.dice-panel.crit .result{color:#ffd76a;text-shadow:0 0 12px #ffd76acc}@keyframes tumble{0%{transform:rotate(0)scale(1.05)}50%{transform:rotate(180deg)scale(.92)}to{transform:rotate(360deg)scale(1.05)}}@keyframes land{0%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}@keyframes bob{50%{transform:translateY(-6px)}}@keyframes crit{0%{box-shadow:0 0 0 1px #000,0 0 80px 20px #ffd76ae6}}@media (prefers-reduced-motion:reduce){.die.rolling,.waiting .die,.die.landed,.dice-panel.crit{animation:none}}.dice-others{z-index:4;pointer-events:none;gap:6px;width:min(300px,100% - 24px);display:grid;position:fixed;top:56px;right:12px}.dice-card{border:1px solid var(--trim-dark);background:#120c06e6;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:5px 8px;font-size:11px;transition:opacity .4s,border-color .3s;animation:.2s ease-out both rise;display:grid}.dice-card .die{grid-row:span 2}.dice-card .d20 text{font-size:30px}.dice-card .what{color:var(--fg)}.dice-card .what b{color:var(--gold);font-weight:400}.dice-card .out{color:var(--dim);font-family:ui-monospace,Menlo,Consolas,monospace}.dice-card.pass{border-color:var(--act)}.dice-card.fail{border-color:#c4473a}.dice-card.gone{opacity:0}.dock-opt{font:700 9px/1 var(--title);letter-spacing:.1em;color:var(--dim);cursor:pointer;align-items:center;gap:4px;margin-left:auto;padding:0 4px;display:flex}.dock-opt input{accent-color:var(--trim);margin:0}.dock-tabs .dock-opt+.fold{margin-left:0}.panel label.check{align-items:center;gap:8px;display:flex}.panel label.check input{width:18px;height:18px;accent-color:var(--gold)}.window.page{width:min(760px,100% - 24px);max-height:calc(100vh - var(--bar-h,96px) - 64px);border:2px solid var(--trim);background:radial-gradient(at 50% 0,#5a3e1c59,#0000 60%),linear-gradient(#1a1209,#120c06);gap:12px;padding:14px 16px;top:48px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 0 0 1px #000,inset 0 0 0 1px #000,inset 0 0 0 4px #b8913f2e,0 16px 50px #000000bf}.window.page>.head{border-bottom:1px solid var(--trim-dark);padding-bottom:8px}.window.page>.head h3{font-size:18px}.inv-body{grid-template-columns:240px 1fr;gap:14px;display:grid}.doll{border:1px solid var(--trim-dark);background:radial-gradient(at 50% 45%,#2a1c0d,#0e0905 75%);height:300px;position:relative}.doll .figure{color:#b8913f1f;place-items:center;display:grid;position:absolute;inset:0}.doll .figure svg{fill:currentColor;height:86%}.doll-slot{justify-items:center;gap:2px;display:grid;position:absolute}.doll-slot .l{font:700 8px/1 var(--title);letter-spacing:.12em;color:var(--dim)}.doll-slot.at-head{top:10px;left:50%;transform:translate(-50%)}.doll-slot.at-body{top:108px;left:50%;transform:translate(-50%)}.doll-slot.at-main{top:140px;left:12px}.doll-slot.at-off{top:140px;right:12px}.doll-slot.at-ranged{bottom:12px;left:50%;transform:translate(-50%)}.window .sq{color:#e9d9b0;border:1px solid var(--trim-dark);cursor:pointer;background:radial-gradient(circle at 50% 35%,#33240f,#120b05 80%);place-items:center;width:50px;height:50px;padding:0;display:grid;position:relative;box-shadow:inset 0 0 0 1px #000}.window .sq.empty{cursor:default;color:#b8913f38;background:#00000059}.window .sq:not(.empty):hover{border-color:var(--trim);color:#fff3d0}.window .sq.picked{border-color:var(--gold);box-shadow:inset 0 0 0 1px #000, 0 0 8px rgba(var(--gold-rgb), .6);color:var(--gold)}.window .sq .icon,.window .detail .icon,.inv-foot .icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.window .sq .qty{color:var(--fg);text-shadow:0 0 2px #000;font-size:10px;position:absolute;bottom:2px;right:3px}.inv-side{align-content:start;gap:10px;display:grid}.bag{border:1px solid var(--trim-dark);background:#0000004d;grid-template-columns:repeat(8,50px);gap:4px;padding:6px;display:grid}.window .detail{border:1px solid var(--trim-dark);background:#0000004d;grid-template-columns:auto 1fr;gap:10px;min-height:70px;padding:8px;display:grid}.window .detail.none{color:var(--dim);font-size:12px;display:block}.window .detail .big{width:50px;height:50px;color:var(--gold);border:1px solid var(--trim-dark);place-items:center;display:grid}.window .detail h4{color:var(--gold);margin:0 0 4px;font-size:14px}.window .detail p{margin:0 0 4px;line-height:1.4}.window .detail .acts{margin-top:6px}.inv-foot{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.inv-foot .gold{align-items:center;gap:6px;display:inline-flex}.loadbar{height:16px;box-shadow:0 0 0 1px var(--trim-dark);background:#1c140a;border:1px solid #000;position:relative}.loadbar>div{background:linear-gradient(#8a6a2a,#5e4519);height:100%}.loadbar span{text-align:center;text-shadow:0 0 2px #000;font-size:10px;line-height:16px;position:absolute;inset:0}@media (max-width:640px){.inv-body{grid-template-columns:1fr}.bag{grid-template-columns:repeat(6,1fr)}.window .bag .sq{aspect-ratio:1;width:auto;height:auto}.doll{height:260px}.doll-slot.at-body{top:92px}.doll-slot.at-main,.doll-slot.at-off{top:120px}}.window.record .sheet{gap:12px}.window.record .sheet-head .portrait{border:2px solid var(--trim);width:96px!important;height:96px!important}.window.record .sheet-head h3{color:var(--gold)}.window.record .stat,.window.record .ability{border-color:var(--trim-dark);background:#00000059}.window.record h4{color:var(--gold);letter-spacing:.15em;margin:6px 0 4px;font-size:11px}.window.record .standing p{margin:2px 0}.window.record .bad{color:#ff8a7a}.window.record .note{text-align:left}.book-tabs,.stepper{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.window .book-tabs button.on,.window .stepper button.on{color:#1b1108;background:var(--gold);border-color:var(--gold)}.book-page{gap:10px;display:grid}.pips-row{font:700 10px/1 var(--title);letter-spacing:.12em;color:var(--dim);align-items:center;gap:10px;display:flex}.pips-row .pips{gap:5px;display:flex}.pips-row .pips i{border:1px solid #6aa8ff;width:10px;height:10px;transform:rotate(45deg)}.pips-row .pips i.full{background:#6aa8ff;box-shadow:0 0 6px #6aa8ff99}.pips-row .n{color:var(--fg);font-family:ui-monospace,Menlo,Consolas,monospace}.window .spells{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.window .spell{border:1px solid var(--trim-dark);background:#00000059;align-content:start;gap:4px;padding:8px 10px;display:grid;position:relative}.window .spell.live{border-color:rgba(var(--gold-rgb), .55);background:linear-gradient(rgba(var(--gold-rgb), .08), #00000059)}.window .spell .top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.window .spell b{color:var(--fg)}.window .spell.live b{color:var(--gold)}.window .spell p{color:var(--dim);margin:0;font-size:12px;line-height:1.4}.window .spell .use{font:700 8px/1 var(--title);letter-spacing:.14em;color:var(--act)}.window .spell .tag{color:var(--dim);white-space:nowrap;font-size:10px}.window .spell .tag.always{color:#8fc0ff}.window .spell .prep{color:var(--dim);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:10px;display:inline-flex}.window .spell .prep input{accent-color:var(--trim);margin:0}.book-foot{font:700 11px/1 var(--title);letter-spacing:.12em;color:var(--gold);border-top:1px solid var(--trim-dark);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.step-body{gap:10px;min-height:140px;display:grid}.step-nav{border-top:1px solid var(--trim-dark);justify-content:space-between;padding-top:8px;display:flex}.big-stat{border:1px solid var(--trim-dark);background:#00000059;justify-self:center;justify-items:center;width:140px;padding:10px;display:grid}.big-stat .v{color:var(--act);font:700 32px/1 ui-monospace,Menlo,Consolas,monospace}.big-stat .l{font:700 9px/1.6 var(--title);letter-spacing:.14em;color:var(--dim)}.window .acts.confirm button{color:#1b1108;border-color:var(--gold);background:linear-gradient(#f0cf73,#b8913f);padding:9px 18px;font-size:13px}.window .acts.confirm button:disabled{color:var(--dim);background:#00000080}.page-cols{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.page-cols>section{border:1px solid var(--trim-dark);background:#00000040;align-content:start;gap:8px;padding:10px;display:grid}.page-cols h4,.window.page h4{color:var(--gold);letter-spacing:.14em}@media (max-width:700px){.page-cols{grid-template-columns:1fr}}.holding{align-items:center;gap:12px;display:flex}.holding .crest{width:44px;height:52px;font:900 22px/1 var(--title);color:#1b1108;clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%);background:linear-gradient(#f0cf73,#b8913f);place-items:center;display:grid}.holding b{font:700 16px/1.2 var(--title);color:var(--fg);letter-spacing:.06em}.map-body{grid-template-columns:1fr 190px;align-items:start;gap:14px;display:grid}.parchment{background:linear-gradient(135deg,#d9c08e,#b89a62 60%,#c9ad74);padding:12px;box-shadow:inset 0 0 30px #46280a99,0 0 0 2px #5e4519,0 0 0 4px #000}.parchment canvas{width:100%;height:auto;image-rendering:pixelated;filter:sepia(.35)contrast(1.05);border:1px solid #5e4519;display:block}.places{align-content:start;gap:4px;display:grid}.places h4{margin:0 0 4px}.places ul{gap:2px;margin:0 0 6px;padding-left:16px;display:grid}@media (max-width:700px){.map-body{grid-template-columns:1fr}}.court{border:2px solid var(--trim);background:radial-gradient(at 50% 20%,#3a2814 0%,#150e07 70%);box-shadow:0 0 0 1px #000,inset 0 0 0 5px #b8913f29,0 16px 60px #000000d9}.court .art{border:2px solid var(--trim);background:radial-gradient(circle at 50% 40%,#d9c08e,#8a6a3a 75%);border-radius:50%;place-items:center;width:110px;height:110px;margin:0 auto;font-size:58px;display:grid;box-shadow:0 0 0 4px #0009,inset 0 0 18px #3c1e05b3}.court h3{color:var(--gold)}.talk{border:2px solid var(--trim);background:radial-gradient(at 50% 0,#5a3e1c59,#0000 60%),linear-gradient(#1a1209,#120c06);box-shadow:0 0 0 1px #000,inset 0 0 0 4px #b8913f29,0 12px 40px #000000bf}.talk .replies button{border-color:var(--trim-dark)}#game:after{content:"";pointer-events:none;background:radial-gradient(at 50% 45%,#0000 55%,#08050273 100%);position:absolute;inset:0}
