:root{--ink:#2b1a10;--paper:#f6ecd2;--gold:#ffd98a;--panel:#222c1ed6;--edge:#d6b86e8c}[hidden]{display:none!important}*{box-sizing:border-box}html,body{height:100%;color:var(--paper);background:#cac8b9;margin:0;font-family:Segoe UI,sans-serif;overflow:hidden}#world{cursor:crosshair;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#fx-layer{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}#hurt{pointer-events:none;z-index:4;opacity:0;background:radial-gradient(#a0140a00 45%,#a0140abf 100%);position:fixed;inset:0}#hud{z-index:6;pointer-events:none;gap:10px;display:grid;position:fixed;bottom:22px;left:24px}.bar{background:var(--panel);border:1px solid var(--edge);border-radius:10px;align-items:center;gap:10px;padding:8px 14px;display:flex}.bar span{color:var(--gold);letter-spacing:.08em;font-weight:800}.track{background:#00000073;border-radius:7px;width:240px;height:14px;overflow:hidden}#hp-fill{background:linear-gradient(#e8664a,#b3321f);width:100%;height:100%;transition:width .15s}.bar b{text-align:right;min-width:36px}.bar{width:max-content}.skills{gap:8px;display:flex}.skill{background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:7px 12px;font-size:13px;font-weight:600;position:relative;overflow:hidden}.skill kbd{color:var(--gold);background:#ffffff26;border-radius:4px;margin-right:7px;padding:1px 6px;font:700 12px Segoe UI,sans-serif}.skill i{background:var(--gold);width:0;height:3px;position:absolute;bottom:0;left:0}.skill.cooling{opacity:.55}.skill b{color:var(--gold);margin-left:10px;font-size:11px}#weapon{background:var(--panel);border:1px solid var(--edge);border-radius:10px;width:max-content;padding:9px 14px}#weapon b{color:var(--gold);font-size:18px;display:block}#weapon span{opacity:.8;font-size:12px}#notice{z-index:7;color:#ffdf9a;background:var(--panel);pointer-events:none;border-radius:8px;padding:10px 18px;position:fixed;top:72px;left:50%;transform:translate(-50%)}#notice:empty{display:none}#combo{color:#fff;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink);opacity:0;font:900 44px/1 Trebuchet MS,sans-serif;transition:opacity .25s;position:fixed;top:30%;right:36px}#combo small{letter-spacing:.3em;color:var(--gold);text-align:right;font-size:14px;display:block}#score{background:var(--panel);border:1px solid var(--edge);border-radius:10px;width:max-content;padding:6px 12px;font-size:13px}#score b{color:var(--gold)}#help{z-index:6;background:var(--panel);border:1px solid var(--edge);pointer-events:none;white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:13px;position:fixed;top:16px;left:50%;transform:translate(-50%)}#help b{color:var(--gold)}#start{z-index:10;text-align:center;background:radial-gradient(#222c1eb8,#141810eb);place-content:center;justify-items:center;gap:10px;display:grid;position:fixed;inset:0}#start h1{color:var(--gold);margin:0;font:800 34px Trebuchet MS,sans-serif}#start button{border:1px solid var(--edge);color:var(--paper);cursor:pointer;background:#6b4a23;border-radius:999px;padding:12px 42px;font:700 18px Segoe UI,sans-serif}#start button:disabled{opacity:.5;cursor:wait}#start .note{opacity:.75;max-width:460px;font-size:13px}#start{padding:28px;overflow-y:auto}#start p{margin:5px 0}#start #enter{padding:12px 64px}.eyebrow{letter-spacing:.22em;color:var(--gold);font-size:11px}.branch-grid{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;max-width:1080px;display:grid}.weapon-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.branch-card,#start .branch-card{color:var(--paper);cursor:pointer;text-align:left;background:#243229;border:1px solid #657060;border-radius:12px;padding:20px;font:13px/1.45 Segoe UI,sans-serif}.branch-card.selected,#start .branch-card.selected{border-color:var(--accent);box-shadow:inset 0 3px var(--accent);background:#344238}.branch-card small{color:var(--accent);text-transform:uppercase;letter-spacing:.07em}.branch-card strong{margin:9px 0;font:700 24px Georgia,serif;display:block}.branch-card em{opacity:.65;min-height:16px;font:12px Segoe UI,sans-serif;display:block}.branch-card p{min-height:76px}.branch-card p.fantasy{min-height:42px;color:var(--accent);font:italic 16px/1.35 Georgia,serif}.branch-card{border-top:3px solid var(--accent)}.branch-card strong{font-size:23px}.branch-card em{letter-spacing:.02em;margin-top:7px;font-size:11px}#guild-lore{color:var(--accent)}.guild-menu #hud,.guild-menu #help,.guild-menu #notice,.guild-menu #camera-controls{visibility:hidden}#branch-panel .talent.selected{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}#hud #weapon b,#hud #mechanic-name,#hud .skill b{color:var(--accent)}#hud .skill i{background:var(--accent)}.ultimate-banner{text-align:center;border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);background:linear-gradient(90deg,#16251a00,#16251af0 16% 84%,#16251a00);min-width:470px;max-width:85vw;padding:16px 40px;position:absolute;top:16%;left:50%;transform:translate(-50%)}.ultimate-banner small{color:var(--accent);letter-spacing:.08em;font:12px Segoe UI,sans-serif;display:block}.ultimate-banner strong{color:#fff4d6;margin-top:6px;font:700 38px Georgia,serif;display:block}.touch-marker{z-index:2;color:#82dcee;letter-spacing:3px;text-shadow:0 2px 3px #10242b;background:#162b32e8;border:1px solid #82dcee;border-radius:8px;padding:0 5px;font:700 18px Segoe UI,sans-serif;position:absolute;top:0;left:0}.number.touch{color:#82dcee;font-size:22px}.number.blood{color:#ff7667;font-size:22px}.number.timber{color:#efb35a;font-size:21px}#weapon #action-name{opacity:1;max-width:470px;min-height:30px;margin-top:5px;line-height:15px;display:block}#guild-moves{color:var(--accent);margin:8px 0;font-size:12px;line-height:1.5}.branch-card ul{border-top:1px solid #526052;margin:8px 0 0;padding:12px 0 0;list-style:none}.branch-card li{margin:7px 0;font-size:12px}.branch-card kbd{color:var(--gold)}#branch-panel{z-index:11;background:#102018db;place-items:center;padding:26px;display:grid;position:fixed;inset:0;overflow-y:auto}.panel-content{width:100%;max-width:1100px;margin:auto}.panel-content header{justify-content:space-between;align-items:center;display:flex}.panel-content h1{color:var(--gold);margin:6px 0;font:28px Georgia,serif}.panel-content p{font-size:13px}.panel-content h2{color:var(--gold);margin:18px 0 10px;font-size:17px}#close-panel{color:#fff;border:1px solid var(--edge);cursor:pointer;background:#586346;border-radius:8px;padding:10px 18px}.talent-tier{grid-template-columns:65px 1fr 1fr;align-items:center;gap:12px;margin-bottom:9px;display:grid}.talent-tier>b{color:var(--gold);font-size:13px}.talent{color:var(--paper);text-align:left;cursor:pointer;background:#243229;border:1px solid #657060;border-radius:8px;padding:12px 16px}.talent strong{margin-bottom:4px;font-size:14px;display:block}.talent span{font-size:12px}.talent.selected{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold);background:#4a4c31}button:focus-visible{outline-offset:3px;outline:3px solid #c5efff}#mechanic{background:var(--panel);border:1px solid var(--edge);border-radius:10px;align-items:center;gap:12px;width:max-content;padding:8px 14px;font-size:12px;display:flex}#mechanic .track{width:135px;height:8px}#mechanic-fill{background:var(--gold);width:0;height:100%}#mechanic-text{min-width:160px}#help{white-space:normal;text-align:center;border-radius:10px;max-width:calc(100vw - 32px);font-size:12px}#hud{bottom:64px}.number{color:#fff;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;text-shadow:0 2px 0 var(--ink), 2px 0 0 var(--ink), -2px 0 0 var(--ink), 0 4px 7px #00000059;will-change:transform, opacity;font:900 26px/1 Trebuchet MS,Segoe UI,sans-serif;position:absolute;top:0;left:0}.number.crit{color:#ffd23a;-webkit-text-stroke:2px #4a1606;text-shadow:0 3px #4a1606,3px 0 #4a1606,-3px 0 #4a1606,0 0 16px #ff9628d9;font-size:36px}.number.hurt{color:#ff8c73;font-size:24px}.number.heal{color:#9eefb7;font-size:24px}.flash{opacity:0;mix-blend-mode:screen;position:absolute;inset:0}.banner{color:var(--gold);-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink);font:900 40px Trebuchet MS,sans-serif;position:absolute;top:22%;left:50%;transform:translate(-50%,-50%)}#camera-controls{z-index:6;background:var(--panel);border:1px solid var(--edge);pointer-events:none;border-radius:10px;padding:9px 13px;font-size:12px;position:fixed;bottom:22px;right:22px}#camera-controls b{color:var(--gold)}#camera-status{z-index:6;pointer-events:none;text-align:center;opacity:0;background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:10px 26px;position:fixed;top:78px;left:50%;transform:translate(-50%)}#camera-status span{color:var(--gold);font:24px Georgia,serif;display:block}#camera-status small{letter-spacing:.22em;font-size:9px}#camera-status.shown{animation:1.8s both camera-name}@keyframes camera-name{0%,to{opacity:0}12%,74%{opacity:1}}#skills-panel,#ceremony{z-index:12;background:#102018ed;place-items:center;padding:30px;display:grid;position:fixed;inset:0;overflow-y:auto}#ceremony{z-index:14;background:radial-gradient(at top,#344a30f5,#101c18fc)}#ceremony h1{margin:16px 0;font-size:42px}#ceremony .panel-content{max-width:1120px}#ceremony .branch-grid{max-width:none}.two-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#ceremony .branch-card{padding:25px;transition:transform .15s,background .15s}#ceremony .branch-card:hover{background:#354736;transform:translateY(-4px)}.branch-card .first-art{border-top:1px solid #586c50;min-height:66px;padding-top:12px}.spec-card p{min-height:48px}.capstone-preview{color:var(--gold);font-size:12px}#skill-ranks{grid-template-columns:1fr 1fr;gap:14px;display:grid}.rank-card{border:1px solid #69725a;border-top:3px solid var(--accent);background:#213129;border-radius:10px;flex-direction:column;justify-content:space-between;padding:16px 20px;display:flex}.rank-card h2{color:var(--accent);margin:8px 0;font:22px Georgia,serif}.rank-card h2 em{float:right;color:var(--gold);font:12px Segoe UI}.rank-card p{margin:8px 0;line-height:1.4}.rank-card small{color:#c9d2bd;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.rank-card .evolution{color:#eee5c7;border-top:1px solid #4d634d;min-height:54px;padding-top:10px}.rank-card button,#close-skills,.reset{color:#fff5d6;cursor:pointer;background:#596747;border:1px solid #bdac76;border-radius:7px;padding:10px 18px}button:disabled,.locked{opacity:.5}button:disabled{cursor:default}.advanced-grid{border-top:1px solid #6b7558;grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.advanced-grid p{line-height:1.5}.advanced-grid b{color:var(--accent)}.reset{background:#594b35;margin-top:16px}#progression-hud{border:1px solid var(--edge);background:var(--panel);border-radius:10px;width:440px;padding:10px 14px}#level-name{color:var(--gold);font:17px Georgia,serif;display:block}#point-count{color:#e9dfc4;font-size:12px}.xp-track{background:#0d1c15;border-radius:4px;height:6px;margin-top:7px;overflow:hidden}#xp-fill{background:linear-gradient(90deg,#9cac6d,#f4d78c);height:100%;display:block}#xp-text{letter-spacing:.04em;color:#c3cdb7;font-size:10px}#choice-prompt{color:#ffe7a9;margin:7px 0 0;font-size:12px;line-height:1.4}#choice-prompt:empty{display:none}#hud{gap:7px;bottom:65px}#weapon #action-name{max-width:480px}#start #new-character{background:#354635;padding:8px 22px;font-size:13px}#start h2{color:#efe1ba;margin:10px 0;font:22px Georgia,serif}#advanced-skills h2,#talent-spec h2{color:var(--accent)}.level-banner{background:#1a2a20db;border:1px solid #e5ce85;border-radius:12px;padding:14px 30px;font-size:30px}.guild-menu #fx-layer,.ceremony-open #fx-layer,.ceremony-open #hud,.ceremony-open #help,.ceremony-open #camera-controls{visibility:hidden}.skills{flex-wrap:wrap;max-width:calc(100vw - 48px)}
