/* Gonelands 0.2: painted assets, tactile surfaces and readable mobile play. */
:root{--bg:#101716;--panel:#1b2420;--line:#4b4b38;--gold:#dbbb7c;--muted:#b7b9a9;--radius:12px}
body{background:radial-gradient(ellipse at top,#26322a 0,#101716 65%)}
.topbar{border-bottom-color:#8d714c44}.panel{background:linear-gradient(130deg,#253026e8,#151f1ce8);box-shadow:0 8px 30px #0002}
.primary{background:linear-gradient(#e6cd93,#c6a063);border-color:#ecd8a7;box-shadow:inset 0 1px #fff5,0 3px 8px #0003}.primary:hover{background:linear-gradient(#f3dba5,#d7b474)}
.art{background-image:url('/assets/art/banner.webp');background-position:70% center;border-color:#8b764b;border-radius:180px 180px 10px 10px;box-shadow:0 12px 60px #0005,inset 0 0 40px #050f0bb0}
.hero-strip{min-height:310px;background:linear-gradient(90deg,#0b1515f5,#0b151588 60%,#0b151533),url('/assets/art/banner.webp') center/cover;border-color:#887448;box-shadow:0 12px 45px #0005;padding:34px}
.hero-strip h1{max-width:480px;text-shadow:0 2px 18px #000}.hero-strip p{color:#d0d0ba}
.portrait{display:block;flex-shrink:0;width:54px;aspect-ratio:1;background-image:url('/assets/art/heroes.webp');background-size:400% 200%;background-position:var(--px,0%) var(--py,0%);border:1px solid #bb975a;border-radius:50%;box-shadow:0 2px 10px #0008,inset 0 0 8px #0007;overflow:hidden}
.enemy-portrait{background-image:url('/assets/art/enemies.webp');border-color:#b37861}
.portrait-large{width:120px;border-radius:50% 50% 16px 16px;border-width:2px}
.hero-identity{display:flex;gap:20px;align-items:center;margin-bottom:24px}.hero-identity h2{margin-bottom:8px}.hero-identity p{font-size:.88rem;margin-bottom:8px}
.class-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 26px}
.class-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 0 18px;overflow:hidden;background:#18201c;border:1px solid #685c41}
.class-card .portrait{width:100%;border:0;border-radius:0;aspect-ratio:1;box-shadow:none;margin-bottom:14px;mask-image:linear-gradient(#000 85%,transparent)}
.class-card strong{padding:0 10px;font-size:1.18rem}.class-card p{padding:0 12px;font-size:.77rem;color:#b8c1b1}
.class-card.selected{background:#34402b;border-color:#f4d295;box-shadow:0 0 0 2px #be9a56,0 0 25px #d3a65a22}
.avatar-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 24px}
.portrait-choice{padding:4px;border-color:transparent;background:transparent;min-width:0;text-align:center}
.portrait-choice .portrait{width:100%}.portrait-choice span:last-child{display:block;font-size:.61rem;line-height:1.25;margin-top:5px;color:#ccc4a9}
.portrait-choice.selected{background:#c5a26422;border-color:var(--gold)}
.talent-path{margin:24px 0;padding:18px 0 5px;border-top:1px solid #ac91594d}
.talent-node{display:flex;gap:10px;align-items:center;position:relative;padding:14px 7px 14px calc(8px + var(--depth)*12px);border-left:2px solid #82754c;background:linear-gradient(90deg,#c5a56b09,transparent);border-bottom:1px solid #41503b66}
.talent-node.learned{border-left-color:#ecc77f}.talent-node.locked{border-left-style:dotted}.talent-node.locked h3{color:#c6bfad}
.talent-rune{width:28px;height:32px;display:grid;place-items:center;flex-shrink:0;color:#e4c78c;font:25px Georgia;text-shadow:0 0 13px #e9be6a77}
.talent-node.locked .talent-rune{color:#7d8579;text-shadow:none}.talent-description{flex:1;min-width:0}.talent-description h3{font-size:1.02rem;margin-bottom:5px}.talent-description p{font-size:.78rem;margin-bottom:3px}.talent-description small{display:block;font-size:.69rem}.prerequisite{color:#b2a584}
.talent-controls{display:flex;gap:5px;flex-shrink:0}.talent-controls button{min-width:42px;padding:8px;min-height:44px}.rank-pips{display:flex;gap:5px;margin-top:8px}.rank-pips i{display:block;width:18px;height:4px;background:#343f32;border:1px solid #82734a}.rank-pips .filled{background:#e7c575;box-shadow:0 0 7px #deba6844}
.scene-art{background-image:url('/assets/art/scenes.webp');background-size:300% 300%;background-position:var(--sx) var(--sy);aspect-ratio:16/9;border:1px solid #8c754955;border-radius:8px;box-shadow:inset 0 0 22px #0004}
.encounter-picture{margin:-4px -4px 24px;width:calc(100% + 8px)}
.noticeboard{background:#302216 url('/assets/art/board.webp') center/100% 100%;border:8px ridge #5a3d24;border-radius:8px;padding:24px;margin:0 0 28px;box-shadow:0 12px 30px #0008,inset 0 0 50px #0008}
.board-heading{text-align:center;padding:8px 0 24px;text-shadow:0 2px 8px #000}.board-heading>span{color:#e4c78a;font-size:26px}.board-heading h2{font-size:2.1rem;color:#f3dcaf;margin:4px 0 8px}.board-heading p{color:#dbc4a4;font-size:.85rem;margin:0}
.quest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}
.quest-paper{position:relative;color:#342b1e;background:#d8be87 url('/assets/art/map.webp') center/cover;box-shadow:3px 7px 13px #000a;transform:rotate(-.6deg);border:1px solid #8c6b39;padding:8px 8px 0;border-radius:2px 4px 7px 3px}
.quest-paper:nth-child(2n){transform:rotate(.65deg)}.quest-nail{position:absolute;z-index:2;top:-6px;left:50%;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b7b3a5,#433d30 60%);box-shadow:0 2px 4px #000}
.quest-picture{border:1px solid #6c5433;border-radius:2px;box-shadow:0 2px 4px #0005;filter:sepia(.13)}
.quest-body{padding:20px 15px 24px;background:#e5cfa2e8;height:calc(100% - 8px);display:flex;flex-direction:column}
.quest-body .eyebrow{font-size:.64rem;color:#60472d;letter-spacing:.12em}.quest-body h3{font-size:1.65rem;line-height:1.1}.quest-body p{font-size:.87rem;color:#51412b;flex:1}
.quest-goal{font-size:.78rem;border-top:1px solid #896b3e70;padding:13px 0 18px;font-weight:650}.quest-goal small{display:block;color:#715534;font-weight:400;margin-top:7px}
.quest-body button{font-size:.8rem;padding:10px;flex:1}.quest-body .primary{background:linear-gradient(#444d32,#233223);border:1px solid #5b633f;color:#f6dfab}.quest-body .secondary{border-color:#877043;color:#40371f;background:#f4e5bd55}.wax-seal{position:absolute;right:14px;top:12px;width:37px;height:37px;display:grid;place-items:center;border:3px ridge #913d2f;border-radius:48%;background:#8e382c;color:#e3aa7f;box-shadow:1px 3px 5px #0007;font:20px Georgia}
.quest-paper:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;transform:rotate(-.3deg);padding-bottom:8px}.quest-paper:last-child .quest-picture{height:100%;aspect-ratio:auto}.quest-paper:last-child .quest-body{height:auto}
.map-wrap{background:#d4b578 url('/assets/art/map.webp') center/100% 100%;border:0;box-shadow:0 8px 30px #0008,inset 0 0 30px #60412488;padding:36px 6px;border-radius:5px;color:#40311e}
.map-wrap:before{content:'✧  DIE NEBELLANDE  ✧';display:block;text-align:center;font:14px Georgia;letter-spacing:.2em;color:#584227;margin-bottom:12px}.map-layer{height:126px}
.node{background:radial-gradient(#e9d7aa,#c8a466);border:1px solid #79572e;border-radius:45% 45% 10px 10px;color:#3e301d;box-shadow:0 2px 5px #5b3b2c55;width:82px;max-width:26%;font-size:.64rem;min-height:75px}
.node .icon{color:#4f3821;text-shadow:0 1px #fff5}.node.dim{opacity:.8}.node:disabled{opacity:.72}.node.visited{color:#524829;border-color:#7d3924;background:#c6b48b}.node.current{background:#ac7751;border:2px solid #754431}.node.reachable{background:#f1db9c;border:2px solid #966036;box-shadow:0 0 13px #bd762555}.node.selected{outline:2px solid #713e29;outline-offset:4px}.node:hover{background:#ffe9b5;border-color:#713e29}.node .vote-count{background:#684b2f;color:#ffedb9}
.map-choice{background:#17221ef8;backdrop-filter:blur(8px)}
.battle-stage{position:relative;overflow:hidden;isolation:isolate;border-color:#9d7e4f;padding:18px}.battle-stage>*{position:relative;z-index:1}.battle-stage .battle-backdrop{position:absolute;inset:0;width:100%;height:100%;z-index:0;aspect-ratio:auto;opacity:.2;filter:blur(1px);border:0;background-size:300% 300%}.battle-stage:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(#0c17133d,#0c1713c9)}
.battle-caption{min-height:43px;padding:8px 10px;margin:-5px -5px 15px;font-size:.78rem;background:#101a16d9;border-bottom:1px solid #a0854b70;color:#f5dca7;text-align:center}
.battle-stage .eyebrow{margin:8px 0;font-size:.62rem}.battle-stage hr{margin:20px 0;border-color:#c5ab7044}.battle-board{gap:10px;margin:10px 0}
.combatant{position:relative;background:#101a16b8;border-color:#81724e77;border-radius:8px;padding:10px 5px;overflow:visible}.combatant:hover{background:#2c3826bd}.combatant.target{background:#57603ac9;border-color:#ffe2a4}.combatant.target:after{content:'ZIEL';position:absolute;top:-7px;left:50%;transform:translateX(-50%);background:#e5c88b;color:#293221;font-size:8px;padding:0 5px;border-radius:3px}.combatant.active{box-shadow:0 0 0 1px #c0e0b1,0 0 20px #a9cf8b33}.combatant.ko{opacity:.55;filter:grayscale(.85)}
.combatant .portrait{width:min(82px,100%);margin:0 auto 7px;border-radius:45% 45% 8px 8px}.combatant .enemy-portrait{border-color:#b78b69}.combatant b{font-size:.75rem;line-height:1.15}.combatant small{font-size:.63rem;line-height:1.2}.combatant .status{font-size:.59rem;line-height:1.2;margin-top:4px}.combatant .bar{height:5px;margin:6px 0 3px}
.battle-actions{background:#19241cf5;border-color:#9e8253;box-shadow:0 -6px 20px #0003}.battle-log{max-height:260px}.initiative{opacity:.85}
#battle-fx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:35}
.minigame-panel{position:relative;overflow:hidden;padding:0;isolation:isolate;background:#172019}.mini-play{position:relative;z-index:1;padding:24px;background:linear-gradient(#0d1513df,#0d151388 45%,#0d1513d9);min-height:430px}.mini-play h2,.mini-play h3{color:#f2dfb6;text-shadow:0 2px 8px #000}.mini-play p{color:#d1d5c1;text-shadow:0 1px 4px #000}.mini-play .note{background:#101b18c9}
.mini-art{background-image:url('/assets/art/minigames.webp');background-size:200% 200%;position:absolute;inset:0;z-index:0}.mini-cards{background-position:0 0}.mini-lock{background-position:100% 0}.mini-runes{background-position:0 100%}.mini-apples{background-position:100% 100%}
.card-table{height:230px;margin:30px 0 20px;background:none}.playing-card{top:26px;height:165px;border-radius:9px;border:3px double #d4b577;background:radial-gradient(ellipse at center,#3a4934 0 25%,transparent 26%),repeating-linear-gradient(45deg,#26382d,#26382d 5px,#304132 5px,#304132 10px);box-shadow:3px 7px 12px #0009,inset 0 0 0 6px #0d201b,inset 0 0 0 7px #b18e4b;opacity:1!important;color:#e9c87e;text-shadow:0 0 15px #e3c47b55}.playing-card:before,.playing-card:after{content:'✧';position:absolute;font:18px Georgia;color:#d9b66c}.playing-card:before{top:13px;left:12px}.playing-card:after{bottom:13px;right:12px}.playing-card.reveal{background:radial-gradient(#fff3be,#c9a96a);color:#624829;box-shadow:0 0 22px #efd28966,inset 0 0 0 6px #c8a45e,inset 0 0 0 7px #694f2c}
.lock-dials{display:flex;justify-content:center;gap:18px;padding:38px 0 20px}.lock-dials span{display:grid;place-items:center;width:55px;height:55px;border:5px ridge #9d7d3b;border-radius:50%;background:radial-gradient(#284d35,#081d16);color:#81b995;font:25px Georgia;box-shadow:0 3px 12px #0008}.lock-dials .open{background:radial-gradient(#b8ffe1,#1d815c);color:#e3ffe8;box-shadow:0 0 20px #66f7ad66}.lock-dials .broken{background:#64322a;color:#d89169}.lock-track{border:5px ridge #a17d43;border-radius:30px;background:#1a1511;box-shadow:0 3px 12px #0009,inset 0 3px 8px #000}.lock-zone{background:linear-gradient(#165a3a,#3c9962);border-color:#a2f5a9}.lock-marker{width:5px;border-radius:8px;background:#fff2ba;box-shadow:0 0 15px #ffdf8e}
.rune-stage{margin-top:18px}.rune-hint{font-family:Georgia;font-size:80px;color:#b4e2ff;text-shadow:0 0 16px #5fb6e7,0 0 42px #7cbdc9}.rune-board{gap:14px}.rune-board button{border:3px ridge #6a7b77;background:radial-gradient(#2d4441,#14211f);color:#d0f2f1;text-shadow:0 0 12px #90ecff;box-shadow:0 4px 10px #0007;border-radius:14px 9px 13px 5px;font-family:Georgia}.rune-board button:disabled{opacity:.48}
.apple-field{height:360px;background-image:url('/assets/art/minigames.webp');background-size:200% 200%;background-position:100% 100%;border-color:#ada15b;box-shadow:0 3px 15px #0006}.apple-field:before{display:none}.apple{background:radial-gradient(circle at 30% 25%,#ffcd93,#dc6942 35%,#962f29 80%);box-shadow:0 2px 6px #0008,inset -3px -3px #642a2544;width:22px;height:23px}.apple:after{content:'';position:absolute;width:3px;height:7px;background:#61441e;top:-5px;left:9px;transform:rotate(12deg)}.apple-field .lane{border-color:#d7dba944}.basket{background:repeating-linear-gradient(0deg,transparent 0 4px,#e1bd6944 4px 6px),repeating-linear-gradient(90deg,#7e4d21 0 4px,#be9550 4px 7px);border-color:#dab570;height:26px;box-shadow:0 3px 4px #0009}.basket.mine{box-shadow:0 0 18px #ffe2a5aa;border-color:#fff1bc}.basket small{background:#102017bf;padding:0 3px;border-radius:3px}
.setting{display:flex;gap:10px;align-items:center}.setting input{width:20px;min-height:20px;height:20px;accent-color:var(--gold)}input[type=range]{accent-color:var(--gold);padding:0;min-height:44px;background:transparent}
@media(max-width:650px){.hero-strip{min-height:270px;padding:24px;background-position:64% center}.hero-strip h1{font-size:2.35rem}.class-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.class-card .portrait{aspect-ratio:1}.class-card strong{font-size:1.12rem}.class-card p{font-size:.73rem}.hero-identity{gap:14px}.portrait-large{width:90px}.hero-identity p{font-size:.78rem}.hero-identity h2{font-size:1.6rem}.avatar-picker{gap:7px}.talent-node{gap:7px;padding-left:calc(4px + var(--depth)*7px)}.talent-rune{width:20px;font-size:22px}.talent-controls{gap:3px}.talent-controls button{min-width:38px;padding:5px}.talent-description h3{font-size:.98rem}.noticeboard{padding:15px 10px 25px;border-width:5px}.quest-grid{grid-template-columns:1fr;gap:26px}.quest-paper:last-child{display:block}.quest-paper:last-child .quest-picture{height:auto;aspect-ratio:16/9}.quest-body{padding:18px 13px 22px}.quest-body h3{font-size:1.55rem}.board-heading h2{font-size:1.85rem}.quest-paper:last-child .quest-body{height:auto}.quest-body button{min-height:48px}.map-layer{height:116px}.battle-stage{padding:12px}.battle-board{gap:6px}.combatant .portrait{width:62px}.combatant{padding:8px 4px}.combatant b{font-size:.68rem}.combatant .status{font-size:.55rem}.battle-stage hr{margin:14px 0}.mini-play{padding:18px}.card-table{height:210px}.playing-card{height:145px}.rune-board{gap:9px}.rune-board button{height:70px}.apple-field{height:340px}}
@media(prefers-reduced-motion:reduce){.quest-paper{transform:none}.class-card{transition:none}}
.reduce-motion .quest-paper{transform:none}
.quest-paper{display:flex;flex-direction:column}.quest-body{height:auto;flex:1}
.battle-stage{position:sticky;top:8px;z-index:3}
.battle-board{grid-template-columns:repeat(var(--fighters,3),minmax(0,1fr))}
.battle-actions .stack{max-height:170px;overflow-y:auto}
.battle-stage{position:relative;top:auto}.battle-actions{position:relative;bottom:auto}
.noticeboard{background-size:auto 1000px;background-repeat:repeat-y;background-position:center top}
@media(max-width:650px){.battle-board{gap:4px}.combatant .portrait{width:min(56px,100%)}.combatant b{font-size:.62rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:22px}.combatant small{font-size:.56rem}.combatant .status{font-size:.5rem}.combatant{padding:6px 2px}.battle-stage .initiative{padding:3px 0}.battle-stage .initiative span{font-size:.58rem;padding:3px 5px}.battle-stage hr{margin:9px 0}.battle-caption{font-size:.71rem;min-height:37px;margin-bottom:9px}}
