/* A sunny, hand-painted adventure: parchment, forest green and warm stone. */
:root{color-scheme:light;--bg:#f5edda;--panel:#fff9e9;--line:#98784b42;--gold:#87602e;--ink:#463d2b;--muted:#817660;--mint:#3c8468;--blue:#427eaa;--purple:#80629d;--red:#ba5662}
body{background:radial-gradient(ellipse at 80% 0%,#e3edbe88,transparent 65%),var(--bg)}
button{background:#fffaf06e;border-color:#aa90604d;box-shadow:0 2px 0 #9d814414;border-radius:9px}
button:hover:not(:disabled){background:#ead7a766;border-color:#a17942}
button:disabled{opacity:.5}
input{background:#fffcf2;border-color:#b59d6a66;color:var(--ink);box-shadow:inset 0 2px 5px #6d582a0a}
input::placeholder{color:#9c8e72}
.primary{background:linear-gradient(120deg,#6b9e63,#467d51);color:#fff9dc;border-color:#47734c;box-shadow:0 3px 0 #33543c33,0 5px 15px #47704b15}
.primary:hover:not(:disabled){background:#67945e;color:#fffce8}
.panel{background:linear-gradient(130deg,#fffbeeeb,#f3e7cfeF);border-color:#b59b6855;box-shadow:0 4px 14px #79643b09}
.topbar{background:#f9f2e2a3;border-color:#bc9d5c4d}
.brand-mark{color:#648855}.brand small{color:#897348}.eyebrow{color:#8a713e}
.landing::before{background:linear-gradient(90deg,#f5edda 5%,#f5edda8c 55%,#f5edda08),linear-gradient(0deg,#f5edda,transparent 65%),url('/assets/arena.png') center 26%/cover;opacity:1}
.intro h1{color:#4f5638}.intro h1 em{color:#608249}.intro-copy{color:#6f7255;font-weight:500}
.intro-tags span{background:#fffae2c9;border-color:#a69b5c66;color:#6b744a;box-shadow:0 2px 4px #5e542315}
.job-card{background:linear-gradient(145deg,#fff4d9,#e7dbb6);border:2px solid #b99a624d;box-shadow:0 3px 0 #9d814419}
.job-card::before{opacity:.21}
.job-card.selected{border-color:#6c8b4f;box-shadow:0 0 0 3px #8da76628,0 5px 12px #7a7c4a22}
.selected-mark{background:#628347;color:#fff7d4!important;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:11px;box-shadow:0 2px 0 #405e3633}
.job-card .sprite{filter:drop-shadow(0 5px 7px #745f3930)}
.job-card .card-copy{background:linear-gradient(0deg,#f9f0d9 45%,#f9f0d900)}
.card-copy h3{color:#564d32}.card-copy>small{color:#8a713e}.card-copy p{color:#7a7457}
.chosen-copy>small{color:#547245}.chosen-copy h3{color:#577143}
.arena{border:3px solid #c8b37d;box-shadow:0 4px 0 #ae955c20}
.arena-shade{background:linear-gradient(0deg,#6d5e2f16,transparent 50%,#263e452e)}
.boss-hud{background:#273d34db;border:1px solid #fff5c157;padding:9px 13px 8px;border-radius:10px;top:12px;width:70%;max-width:530px;box-shadow:0 4px 12px #2c3d301c}
.boss-number{color:#ffe8a7;border-color:#e7c28a6b;background:#12282266}
.boss-heading small{color:#e6e1c6}.boss-heading h2{color:#fff7df}.boss-heading>span:last-child{background:#172c2666}
.boss-heading{margin-bottom:7px}.boss-status{color:#eee4c5}
.telegraph{top:132px;background:#67452eF2;border-color:#e4b46a;color:#fff0d3}.telegraph small{color:#f5d7a5}
.telegraph.pierce{background:#7d3438f2}.telegraph.pierce small{color:#ffc7c3}.cast-track{background:#35282455}.cast-track i{background:#ffd07a}
.arena-caption{color:#5a5f3eae}.ground-ring{background:#8b713c25;border-color:#f8ebb0}.actor-label{color:#fffce3;text-shadow:0 1px 2px #374631,1px 0 2px #374631,-1px 0 2px #374631}.actor-job{color:#fff5bc}.actor.self .actor-label{color:#fff}
.camp-card{background:linear-gradient(120deg,#fff9e7f8,#e9e9c9f7);border:2px solid #afa067;box-shadow:0 8px 20px #5c56352b}
.camp-card h2{color:#59753e}.camp-card p{color:#7b7056}.camp-card .rewards{color:#95732b}.camp-card .eyebrow{color:#7d8145}.camp-card.defeat{background:#fff2e2f5;border-color:#c7907c}.camp-card.defeat h2{color:#a26759}
.growth-button{background:#f8edcd;color:#7a622c;border-color:#b99e6455}.growth-button.has-points{border-color:#8e9b54;box-shadow:0 0 0 2px #a7b56822;background:#e8edc8;color:#5d733d}
.resources span{color:#807454}.meter{background:#d9ceae80}
.hp i{background:linear-gradient(90deg,#6e9b61,#95bf73)}.mp i{background:linear-gradient(90deg,#6096ac,#8cbcd2)}.awakening i{background:linear-gradient(90deg,#bd88b9,#dbb550)}
.boss-meter{background:#25302b99}.boss-meter i{background:linear-gradient(90deg,#ca6d50,#f2ae6b)}
.action{background:linear-gradient(135deg,#fffbed,#eadfbe);border:1px solid #aa986a69;box-shadow:0 3px 0 #a5926330}
.action .action-icon{color:#608269}.action strong{color:#5d5339;font-weight:600}.action small{color:#9a855a}.action kbd{color:#a69670}
.action .cooldown{background:#e9dfc7b8;color:#6e6448;font-weight:700;text-shadow:0 1px #fff}
.action.awaken-action{background:linear-gradient(135deg,#fff4c7,#ebd7a1);border-color:#ba9f5a;--action-color:#b49442}
.action.awaken-action .action-icon{color:#b49442}.action.awaken-action.available{background:linear-gradient(135deg,#fff1a5,#e6d096);border-color:#a6913d;box-shadow:0 0 18px #d2b75b55}
.action.active-defense{background:#d4e8db;border-color:#6ea48b}.control-foot .text-button{color:#638247}
.party-portrait{background:radial-gradient(ellipse,#e5ddb5,#fcf8e6);border-color:#a9956255}.member-head small{color:#8d8143}.member-info>small{color:#8a7d59}.member-status.ready{color:#528248}
.party-note,.tactics p{color:#8b7d60}.party-panel>.quiet{background:#eee5cc}
.notice{background:#f4e7be;color:#8c703b;border-color:#ccb36c}
dialog{background:linear-gradient(125deg,#fff9e9,#f1e7cc);border:2px solid #b89f65;box-shadow:0 20px 100px #3b40244a}
dialog::backdrop{background:#28372eb3}.dialog-copy{color:#7b715b}.dialog-copy strong{color:#5e7c49}
.growth-summary p{color:#718549}.upgrade-row p{color:#8c7c60}.upgrade-row>button{background:#eee3bb;color:#7c7942}.stats-summary>div{background:#e6ddbf88}.stats-summary b{color:#6e7046}
.job-path span.unlocked{border-color:#889c60;color:#607a40;background:#e1e8c688}
.growth-tabs .selected{color:#628247;border-bottom-color:#839859}
.route-stop.current{border-color:#8a9b57;background:#dce7bc55}.route-stop.cleared>span{color:#669148}
.danger-button{color:#b2675a;border-color:#bc8b6f55}
.toast{background:#4a6440;color:#fff8de;border:1px solid #97ac72;box-shadow:0 4px 20px #2e3c3433}
.inline-job-picker button.selected{border-color:#82995c;color:#648047;background:#e2e8ca}
.connection.online::before{background:#668e4b}
.sprite{background-image:none;clip-path:none}
.sprite>svg{display:block;width:100%;height:100%}
.actor .sprite{width:100%;height:100%;aspect-ratio:auto}
.actor.dodging .body{transform:translateX(var(--dodge-shift,-14px))}
.growth-portrait .sprite{width:100%;height:100%}
.job-card .sprite{left:8px;top:8px;width:calc(100% - 16px);height:calc(100% - 104px);transform:none}
.job-card:hover .sprite{transform:scale(1.02)}
.job-card .card-copy{padding:10px 14px 12px;background:#f9f0d9}
.boss-actor{bottom:12%}
.sound-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px}
.sound-previews button{min-height:46px;padding:10px 8px;font-size:13px}
.sound-dialog{overscroll-behavior:contain}
.sound-dialog .dialog-heading{position:sticky;top:-25px;z-index:2;padding-top:8px;background:#faf2dc}
@media(max-width:600px){.sound-dialog .dialog-heading{top:-20px}}
@media(max-width:600px){
 .in-battle .topbar{height:52px}.in-battle main{padding:0 10px 18px}.in-battle .expedition-bar{padding:9px 0 8px}.in-battle .expedition-bar h1{font-size:15px}.in-battle .expedition-bar .eyebrow{font-size:7px}.in-battle .expedition-tools button{min-height:31px;font-size:8px}
 .in-battle .party-panel{padding:7px 10px}.in-battle .section-label{display:none}.in-battle .party-note{display:none}.in-battle .member-status{font-size:7px}.in-battle .member-info>small{font-size:7px;margin-bottom:3px}.in-battle .game-layout{gap:7px}
 .in-battle .arena{height:clamp(200px,calc(100dvh - 405px),340px)}.in-battle .boss-hud{padding:5px 8px;top:7px}.in-battle .boss-heading h2{font-size:14px}.in-battle .boss-heading small{font-size:7px}.in-battle .boss-number{height:28px;width:25px}.in-battle .boss-heading{margin-bottom:4px}.in-battle .boss-status{font-size:7px;margin-top:4px}.in-battle .telegraph{top:97px;padding:4px 7px;min-width:170px;font-size:9px}.in-battle .telegraph small{font-size:7px}
 .in-battle .control-panel{padding:8px 10px;margin-top:7px}.in-battle .player-heading strong{font-size:12px}.in-battle .player-heading small{display:inline;margin-left:8px;font-size:8px}.in-battle .growth-button{min-height:30px;font-size:9px}.in-battle .resources{margin:7px 0 9px;gap:9px}.in-battle .resources span{font-size:7px;margin-bottom:4px}.in-battle .actions{gap:5px}.in-battle .action{min-height:55px}.in-battle .control-foot{margin-top:3px}.in-battle .control-foot>span{font-size:7px;padding-top:7px}.in-battle .control-foot .text-button{min-height:25px;font-size:9px}
 .in-battle .hero-actor{bottom:15%;height:39%}.in-battle .boss-actor{bottom:25%;height:52%}.in-battle .actor-label{font-size:8px}.in-battle .actor-job{font-size:6px;top:calc(100% + 14px)}.in-battle .arena-caption{font-size:5px;bottom:6px}
}
@media(max-width:820px){.party-panel{align-self:stretch}}
@media(max-width:820px){.boss-hud{width:76%}.telegraph{top:129px}}
@media(max-width:600px){.topbar .connection{background:#fcf7e6e6}.arena{border-width:2px}.boss-hud{width:89%;top:10px;padding:7px 9px}.telegraph{top:119px}.job-card{border-width:2px}.intro h1{letter-spacing:2px}}
@media(max-height:500px) and (orientation:landscape){.boss-hud{top:8px;padding:6px 10px}.telegraph{top:118px}}
