@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2) format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2) format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-BqOlcezh.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-DkNBMcYd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-CN4VBqpr.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2) format("woff2"),url(/assets/source-sans-3-greek-400-normal-DyO2Yfz5.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-eMQk7hmk.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-D5P-Ud2J.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-RR2C27NP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-Cjpx_pje.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-CloKWf-q.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-CnpzyT-3.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2) format("woff2"),url(/assets/source-sans-3-greek-600-normal-B42bzTIr.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-BzH4Q14_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-D2VZAM8_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-Ck0n4g8U.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #120e0b;--panel: rgba(24, 18, 14, .92);--gold: #e2c17a;--gold-dim: #8a6a38;--ink: #f4ecdf;--muted: #b5a48d;--hp: #c43838;--hp-dark: #4a1414;--xp: #e0b03a;--danger: #e07a5f;font-family:"Source Sans 3",Segoe UI,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#1a120c;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2,.eyebrow{font-family:Cinzel,Georgia,serif}h1{font-size:2.1rem;margin:.1rem 0 .4rem;letter-spacing:.03em}h2{font-family:Cinzel,Georgia,serif;margin:0 0 .4rem;font-size:1.25rem}.screen[hidden]{display:none}.screen{min-height:100%;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 500px at 50% 0%,rgba(120,86,42,.35),transparent 60%),linear-gradient(#2a2118,#120e0b 55%)}.frame{background:linear-gradient(180deg,#2e241cf2,#120e0bf0);border:1px solid var(--gold);box-shadow:inset 0 0 0 1px #5c4630,0 16px 40px #00000073;border-radius:10px}.gate{width:min(440px,100%);padding:28px 26px 22px}.gate.wide{width:min(640px,100%)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:.78rem;margin:0}.lead{color:var(--muted);line-height:1.45}.face-line{color:var(--ink)}label{display:block;margin:10px 0;color:var(--muted);font-size:.92rem}input{width:100%;margin-top:4px;padding:10px 12px;border-radius:6px;border:1px solid var(--gold-dim);background:#100c09}.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.row.tight{margin-top:6px}button.gold,button.ghost,button.textlink{border-radius:6px;padding:10px 14px;border:1px solid var(--gold-dim);background:#241910}button.gold{background:linear-gradient(#a68445,#6e5224);color:#1a1208;font-weight:600;border-color:var(--gold)}button.ghost{background:#1a140f}button.textlink{background:none;border:none;color:var(--gold);padding:8px 0}.error{color:var(--danger);min-height:1.2em}.char-list{display:grid;gap:8px;margin:12px 0}.char-card{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 12px;border:1px solid #5c4630;border-radius:8px;background:#00000040}.char-card button{padding:8px 10px}.create-layout{display:grid;grid-template-columns:minmax(220px,360px) minmax(280px,440px);gap:18px;align-items:center;width:min(860px,100%)}#preview{width:100%;height:min(64vh,560px);border-radius:12px;background:radial-gradient(circle at 50% 28%,#8eb8dc,#d7c4a2 58%,#6d8f52)}.race-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.race-row button.active{border-color:var(--gold);color:var(--gold)}#screen-play{position:fixed;inset:0}#view{width:100%;height:100%;display:block;touch-action:none}#nameplates{position:absolute;inset:0;pointer-events:none;overflow:hidden}.plate{position:absolute;transform:translate(-50%,-100%);text-align:center;text-shadow:0 1px 2px #000}.plate b{display:block;font-size:13px}.plate .mini{width:54px;height:5px;margin:2px auto 0;background:var(--hp-dark);border:1px solid #000}.plate .mini i{display:block;height:100%;background:var(--hp)}.plate.mob b{color:#ff8d78}.plate.npc b{color:#ffe08a}.plate.p b{color:#f4ecdf}#hud{position:absolute;inset:0;pointer-events:none;font-family:"Source Sans 3",Segoe UI,sans-serif}#hud button,#hud input,#hud .panel,#chat,#unit,#target,#minimap,#joystick,#side-tools,#actions,#death{pointer-events:auto}.unit,.target,#chat,#minimap,#map-wrap{background:none;border:none;box-shadow:none}.unit{position:absolute;top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));display:flex;gap:8px;padding:0;min-width:0}#portrait{width:54px;height:54px;border-radius:50%;background:#3a2a1c;border:2px solid var(--gold-dim)}.unit-name{font-family:"Source Sans 3",sans-serif;font-weight:700}.unit-name b{color:var(--gold);font-size:.85rem}.muted{color:var(--muted);font-size:.85rem}.bar{height:8px;width:140px;background:#2a1212;border:none;margin-top:3px;border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(#e15a4a,var(--hp))}.bar.xp{background:#2a220f}.bar.xp i{background:linear-gradient(#f0d078,var(--xp))}#u-purse{font-size:.82rem;margin-top:4px;color:var(--gold)}.target{left:270px;min-width:200px}#map-wrap{position:absolute;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));width:112px;text-align:center}#minimap{width:112px;height:112px;border-radius:50%;border:2px solid var(--gold-dim)}#zone-name{margin:2px 0 0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);text-shadow:0 1px 2px #000}#tracker{position:absolute;top:118px;left:calc(12px + env(safe-area-inset-left));max-width:280px;color:#f0e2c0;text-shadow:0 1px 2px #000;font-size:.92rem}#chat{position:absolute;left:calc(12px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:min(320px,calc(100% - 24px));padding:0}#chat-log{height:72px;overflow:auto;font-size:.9rem;text-shadow:0 1px 2px #000;background:none}#chat-input{background:#0c080659;border:none}#chat-log .system{color:var(--gold)}#chat-log .say b{color:#f4ecdf}#actions{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:8px}.slot[hidden]{display:none}.slot{width:52px;height:52px;border-radius:8px;border:1px solid var(--gold);background:#140e0ae6;position:relative;display:grid;place-items:center;padding:0}.slot .key{position:absolute;top:3px;left:6px;font-size:.72rem;color:var(--gold)}.slot .nm{font-family:Cinzel,Georgia,serif;font-size:.78rem}.slot i{position:absolute;inset:0;background:conic-gradient(rgba(0,0,0,.62) var(--cd),transparent 0);border-radius:8px;pointer-events:none}.slot.on{box-shadow:inset 0 0 0 1px var(--gold),0 0 12px #e2c17a59}.slot:disabled{opacity:.45}#side-tools{position:absolute;right:calc(12px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:row;gap:6px}#side-tools button{padding:6px 8px;font-size:.82rem}.panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100% - 24px));max-height:min(70vh,560px);overflow:auto;padding:16px;z-index:3}.choice{display:block;width:100%;text-align:left;margin:6px 0}.choice small{display:block;color:var(--muted)}.death{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);padding:16px 22px;text-align:center}#joystick{position:absolute;left:calc(16px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:118px;height:118px;border-radius:50%;background:#140e0a73;border:1px solid var(--gold-dim);touch-action:none}#joy-knob{width:48px;height:48px;border-radius:50%;background:#e2c17ad9;position:absolute;left:35px;top:35px}.sprint{position:absolute;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));display:none}body.touch .sprint{display:block}body.touch #joystick{display:block!important}body.touch #actions{bottom:calc(132px + env(safe-area-inset-bottom))}body.touch #chat{left:8px;width:min(220px,calc(100% - 150px));bottom:calc(210px + env(safe-area-inset-bottom));background:none;border:none;box-shadow:none}body.touch #chat-input{background:transparent;border:none}body.touch #chat-log{height:32px}body.touch #side-tools{bottom:calc(78px + env(safe-area-inset-bottom));right:calc(78px + env(safe-area-inset-right));flex-wrap:nowrap}body.touch .unit{min-width:0;transform:scale(.86);transform-origin:top left}body.touch .target{left:12px;top:92px}body.touch #minimap{width:84px;height:84px}body.touch #tracker{top:168px;font-size:.8rem}body.touch .slot{width:64px;height:64px}@media(max-width:800px){.create-layout{grid-template-columns:1fr}#preview{height:240px}h1{font-size:1.7rem}.target{left:12px;top:96px}}
