/* Pixel-native composition with original CC0 tiles; no painted image backgrounds. */
:root{--text:#e4e5e9;--muted:#abb0c3;--line:#42475f;--gold:#eac36e;--accent:#d9aa5c}body{background:#11131d;color:var(--text);font-family:'Courier New',monospace;font-size:16px}button,input,select{font:inherit}button{border:2px solid #555d76;border-radius:0;background:#252a3d;color:#e7e5df;box-shadow:3px 3px 0 #090b12;padding:10px 14px;font-size:14px;transition:none}button:hover:enabled{background:#3d4561;border-color:#d5b776}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #f1cb70;outline-offset:4px}a{color:#eac36e}.rail{background:#1b1e2c;border-right:4px solid #45495c;box-shadow:4px 0 #080a10;overflow-y:auto}.rail nav button{box-shadow:none;background:transparent;border:2px solid transparent}.rail nav button[aria-current=page]{background:#34384e;border-color:#c5a366;box-shadow:inset 4px 0 #e8bd63}.brand{color:#edc67a;font-family:Georgia,serif}.rail-label,.rail-bottom{color:#999fb8;border-color:#42475f}.rail-bottom button{font-size:13px}.volume-control{display:flex;gap:8px;align-items:center;font-size:12px;padding:8px}.volume-control input{width:75px}.statusbar{background:#171a28;border-bottom:4px solid #41465d;gap:24px;padding:18px 12px;min-height:80px}.statusbar small{color:#aab1c8;font-size:12px}.statusbar strong{color:#f0cf87;font-family:monospace;font-size:25px}.view-head{padding:25px 0 20px}.view-head h1{font-family:Georgia,serif;font-size:clamp(27px,3vw,42px);color:#ead3a1;font-weight:normal;text-shadow:none}.view-head p{color:#aeb5cd;line-height:1.6;max-width:850px}.eyebrow{color:#c9a875;letter-spacing:2px;font:12px/1.5 'Courier New',monospace}h2,h3{font-family:Georgia,serif;font-weight:normal}h2{font-size:27px}p{line-height:1.6}small{font-size:12px;line-height:1.6}.paper,.wood-box{border:2px solid #454c65;background:#202537;color:#dfe1ed;box-shadow:4px 4px 0 #080b13;border-radius:0;padding:20px}.paper p,.wood-box p{color:#b3bdd1}.paper button{background:#343b51;color:#f0d49b}.gold-button{background:#ba9956;color:#111726;border-color:#e6c781}.gold-button:hover:enabled{background:#dfbe78}.pixel-sprite{display:inline-block;image-rendering:pixelated;background-repeat:no-repeat;flex-shrink:0;vertical-align:middle;filter:none}.portrait{display:grid;place-items:center;width:100%;aspect-ratio:1;background:#161c2c;border:4px double #77829e;box-shadow:6px 6px 0 #080b13}.portrait-sprite{width:160px;height:160px}.preparation{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:850px;margin:auto}.preparation .portrait{max-width:260px;margin:0 auto 20px}.preparation .paper{padding:20px}.edition-note{max-width:850px;margin:24px auto;font-size:14px;color:#aeb7cb}.order-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.order-tabs button[aria-pressed=true]{color:#f2cb76;border-color:#d3af65;background:#363d54}.character-chamber{display:grid;grid-template-columns:minmax(180px,30%) 1fr;gap:30px;padding:25px;border:2px solid #49526b;background:#191e2e}.character-chamber h2{font-size:38px;color:#ead3a1}.character-chamber p{color:#b8c1d5}.character-chamber small{display:block;margin:12px 0}.character-chamber button{margin:8px 8px 8px 0}.character-chamber .portrait{align-self:start}.guild-bank{display:flex;align-items:center;justify-content:space-around;gap:15px;padding:20px;background:#111726;border:2px solid #5f6e87}.guild-bank strong{display:block;font:32px monospace;color:#dfc281}.guild-bank>div:last-child strong{color:#91d3b3}.guild-bank small{margin:0}.mission-panel,.ability-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0}.mission-panel{padding:25px;border:2px solid #657b6b;background:#172b29}.mission-panel .wood-box{align-self:start}.ability{margin:15px 0;opacity:.55}.ability.earned{opacity:1;border-color:#829975;box-shadow:4px 4px #080b13,inset 4px 0 #829975}.ability h3{font-size:24px;margin:10px 0}.ability p{font-size:14px}.chest-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:5px}.chest{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;padding:15px 5px;border:2px solid #535d78;background:#1d2334;box-shadow:4px 4px #080b13}.chest:before,.chest:after{display:none}.chest b{font-family:Georgia,serif;font-size:18px}.chest small{font-size:12px;color:#b7bfd1}.chest-art{width:80px;height:80px;margin:0 0 12px}.chest.selected{outline:2px solid #edc976;outline-offset:3px}.chest.sealed .chest-art{opacity:.35}.deck-tools{border-color:#4f5b74}.deck-tools p,.deck-tools small{color:#b7c2d6}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tarot,.tarot.undiscovered,.tarot.rank-1,.tarot.rank-2{background:#20283b;border:3px double #63708c;color:#e4e7f0;box-shadow:4px 4px #060910;padding:12px;filter:none}.tarot.rank-1{border-color:#b9d8e8;background:#273b4c}.tarot.rank-2{border-color:#e6c16c;background:#40362a}.tarot .card-top{color:#a3b3cf;font:12px monospace;letter-spacing:1px}.tarot.rank-2 .card-top{color:#f0d096}.card-illustration{display:grid;place-items:center;min-height:130px;aspect-ratio:1.3;background:#131a29;border:2px solid #3e4b65;margin:10px 0}.card-sprite{width:96px;height:96px}.tarot.undiscovered .card-sprite{opacity:.35}.tarot h3{font-size:21px;color:#e1d4b9;line-height:1.25;min-height:52px}.tarot p{color:#b2bfd5;font-size:14px;line-height:1.5;min-height:64px}.tarot .card-power{color:#a6d7c4;border-color:#40516b}.tarot small{color:#9aadc6}.tarot button{background:#343e53;border-color:#62728e;color:#e9d39f}.tarot button:disabled{background:#242c3c;color:#8591a6}.forge-rules{margin:22px 0}.forge-rules summary{cursor:pointer}.forge-rules p{font-size:14px}.sealed-chamber{max-width:650px;margin:30px auto;text-align:center;padding:35px}.sacrifice-list{display:grid;gap:12px;max-height:40vh;overflow:auto;padding:12px}.sacrifice-list label{display:flex;gap:12px;align-items:center}.location-path{display:flex;gap:6px;justify-content:space-between;border-bottom:2px solid #4b536d;padding:18px 0}.location-path span{flex:1;text-align:center;color:#747e99;padding:8px}.location-path b{font:18px Georgia}.location-path small{display:none}.location-path .here{color:#efce8b;border-bottom:3px solid #efce8b}.location-path .cleared{color:#90bda8}.encounter{border:3px solid #586580;background:#141b29;box-shadow:5px 5px #070a10}.encounter-top{background:#1d293d;border-bottom:2px solid #526079;padding:12px 18px;font-size:13px;color:#c3c9d7}.scene.pixel-scene{height:400px;position:relative;overflow:hidden;background:#151e2b!important;isolation:isolate}.pixel-room{display:grid;grid-template-columns:repeat(28,32px);position:absolute;left:50%;top:0;transform:translateX(-50%);width:896px;height:384px;opacity:.6;z-index:-2}.pixel-room i{width:32px;height:32px;background-repeat:no-repeat;image-rendering:pixelated}.scene.pixel-scene:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#101722 95%);z-index:-1;pointer-events:none}.scene.pixel-scene:after{display:none}.scene-motto{text-align:center;padding:16px;color:#dde1e3;font:italic 16px Georgia;text-shadow:2px 2px #0a121b}.pixel-scene #monster{position:absolute;left:50%;top:70px;transform:translateX(-25%);height:200px;width:220px;border:0;background:none;box-shadow:none;display:grid;place-items:center;padding:0;z-index:1}.pixel-scene #monster:hover:enabled{background:#efc56f0b}.creature-sprite{width:128px;height:128px;animation:pixel-breathe 1.8s steps(2,end) infinite}.creature-sprite.small-sprite{width:80px;height:80px}.creature-sprite.boss-sprite{width:176px;height:176px}.party-sprite{position:absolute;left:22%;top:155px}.companion-sprite{width:80px;height:80px;transform:scaleX(-1)}.enemy-caption{position:absolute;bottom:20px;left:10%;width:80%;z-index:2}.enemy-title{display:flex;align-items:center;justify-content:center;gap:15px;color:#d4b174}.enemy-title h2{font-size:30px;color:#f1d7a0;text-shadow:2px 2px #080e19;margin:8px 0}.enemy-caption p{font-size:13px;color:#b7c2d5}.health{border:1px solid #506278;background:#0c121d;height:9px}.health i{background:#a55b62}.ritual{background:#28212c;padding:8px 20px;color:#dba5aa;font-size:13px}.ritual:has(#ritual-text:empty){display:none}.battle-numbers{display:grid;grid-template-columns:repeat(4,1fr);background:#171f30;padding:14px;gap:10px}.battle-numbers small{font-size:11px;color:#92a4c1}.battle-numbers strong{font:20px monospace;color:#d9c390;display:block}.skills{display:grid;grid-template-columns:repeat(3,1fr);padding:12px;gap:12px}.skills button{display:flex;gap:12px;align-items:center;text-align:left}.skills small{display:block;font:12px/1.5 monospace;color:#a4b3cc}.skill-sigil{font:28px Georgia;color:#caaa73}.field-controls{display:flex;gap:12px;flex-wrap:wrap;padding:15px}.region-progress{padding:15px;color:#a8b8d0;font-size:13px}#region-track{display:flex;gap:4px;margin:12px 0}#region-track i{height:8px;flex:1;background:#344057}#region-track .gate{background:#69593c}#region-track .done{background:#8aaa83}.region-progress small{display:block}.floating{position:absolute;top:125px;left:58%;font:25px monospace;color:#ffe5a0;z-index:4;animation:float-pixel .8s steps(6,end) forwards}.relic-grid .paper{background:#252d3f}.relic-grid .paper h2{color:#e4cc9c}.relic-grid .paper .seal{color:#c6b481}.atlas-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.region-note{margin:0}.region-note small{color:#aebbd0}progress{accent-color:#9cba8c;background:#101725}progress::-webkit-progress-bar{background:#101725}progress::-webkit-progress-value{background:#92b38d}footer{border-color:#424e64;color:#8e9bb5;font-size:12px}dialog,#damage-tooltip{background:#20293b;border:3px solid #7a889f;color:#e1e6ef;box-shadow:6px 6px #060b12}dialog p,#damage-tooltip p{color:#b5c3d8}#toast{background:#d1ba87;border:3px solid #e7d7aa;color:#151d2a;border-radius:0;box-shadow:5px 5px #070b15}.relic-grid p{color:#b5c2d5}#damage-tooltip{width:min(430px,80vw)}.mini-combat{display:block}#combat-nudge{color:#d2b982}@keyframes pixel-breathe{50%{transform:translateY(-3px)}}@keyframes float-pixel{to{transform:translateY(-65px);opacity:0}}
@media(min-width:1500px){.card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:1000px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portrait-sprite{width:112px;height:112px}.chest-row{gap:7px}.chest b{font-size:15px}.character-chamber{gap:20px;padding:20px}.mission-panel{grid-template-columns:1fr}}@media(max-width:700px){main{padding:0 12px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tarot{padding:8px}.card-sprite{width:80px;height:80px}.tarot h3{font-size:18px}.card-illustration{min-height:100px}.character-chamber{grid-template-columns:1fr}.character-chamber .portrait{max-width:240px;margin:auto}.ability-columns{grid-template-columns:1fr}.chest-row{display:flex;overflow-x:auto;padding:8px 4px 16px}.chest{min-width:112px}.preparation{gap:12px}.preparation .paper{padding:12px}.preparation .portrait-sprite{width:96px;height:96px}.atlas-list{grid-template-columns:1fr}.party-sprite{left:10%}.enemy-title h2{font-size:24px}.skills{gap:6px}.skills button{padding:8px;display:block}.skill-sigil{display:none}.statusbar{gap:14px}.statusbar strong{font-size:22px}.guild-bank{padding:12px}.guild-bank strong{font-size:25px}.battle-numbers{grid-template-columns:repeat(2,1fr)}.pixel-scene #monster{transform:translateX(-40%)}.mini-combat{display:none}}@media(prefers-reduced-motion:reduce){.creature-sprite,.floating{animation:none}}
