/* An original field journal: existing themes and saved preferences stay in use. */
@font-face{font-family:'LQ Rounded';src:url('./adventure-rounded.woff') format('woff');font-style:normal;font-weight:800;font-display:swap;}
:root{
  --bg-top:#193b5b;--bg-bot:#0d2439;--panel:#18364c;--panel-strong:#22475e;--panel-line:#446373;
  --text:#f7f2de;--text-soft:#d9e5e8;--muted:#afc9d0;--accent:#ffe08b;--accent-2:#8ce0b8;--accent-3:#87d7f3;
  --input-bg:#112d42;--input-bg-focus:#1d4058;--opt-bg:#18364c;--pri-text:#163652;
  --modal-bg:linear-gradient(160deg,#254b63,#132e44);--shadow-soft:0 8px 22px #071c3329;
  --adventure-paper:#18364c;--adventure-paper-soft:#22475e;--adventure-ink:#f7f2de;
  --adventure-gold:#cba45c;--adventure-line:#8c794f;--adventure-blue:#2278ae;--adventure-shadow:#071c3338;
}
:root[data-theme="light"]{
  --bg-top:#cdeaf7;--bg-bot:#e7edda;--panel:#fffdf4;--panel-strong:#fff;--panel-line:#d6d4bd;
  --text:#253e4d;--text-soft:#435c62;--muted:#60736e;--accent:#855c13;--accent-2:#218762;--accent-3:#176b9d;
  --input-bg:#f7f8f1;--input-bg-focus:#fff;--opt-bg:#fffdf4;--pri-text:#fff;
  --modal-bg:linear-gradient(160deg,#fffef8,#f3f2e5);--shadow-soft:0 7px 20px #34575214;
  --adventure-paper:#fffdf4;--adventure-paper-soft:#f4f4e8;--adventure-ink:#253e4d;
  --adventure-gold:#c7a663;--adventure-line:#dfd1a4;--adventure-shadow:#36564e24;
}
body{background:radial-gradient(ellipse at 50% 0,#72b4c827,transparent 65%),linear-gradient(180deg,var(--bg-top),var(--bg-bot));background-attachment:fixed;}
.app,.wrap{max-width:980px;margin-inline:auto;}
.app{padding-top:16px;}
.hero{background:linear-gradient(120deg,var(--panel),var(--panel-strong));border:1px solid var(--adventure-gold);border-radius:19px;padding:18px 20px;box-shadow:0 3px 0 var(--adventure-shadow),inset 0 0 0 3px var(--panel),inset 0 0 0 4px var(--adventure-line);}
.avatar{border-color:var(--adventure-gold);background:linear-gradient(155deg,#b4e6e5,#417f99);box-shadow:0 0 0 3px var(--panel),0 0 0 4px var(--adventure-line);}
.avatar-edit{background:#e1bd68;color:#233e4e;}
.level-num{color:var(--accent);text-shadow:none;}
.exp-bar{height:10px;background:#456b7833;border-color:var(--panel-line);}
.exp-fill{background:linear-gradient(90deg,#2e96bc,#69d8ae);box-shadow:0 0 10px #71dab151;}
.vital{background:var(--input-bg);}
.tabs{gap:5px;margin-top:14px;padding:6px;overflow:visible;flex-wrap:wrap;background:var(--panel);border:1px solid var(--adventure-gold);border-radius:15px;box-shadow:0 3px 0 var(--adventure-shadow);backdrop-filter:blur(16px);}
.tab{min-height:46px;min-width:0;flex:1 1 60px;display:flex;align-items:center;justify-content:center;gap:3px;padding:9px 6px;background:var(--adventure-paper-soft);border-color:var(--panel-line);border-radius:10px;font-size:12px;color:var(--text-soft);}
.tab.active{background:linear-gradient(#368dbd,#1f6593);border-color:#82b6ca;color:#fffbea;box-shadow:0 2px 0 #134763,inset 0 1px 0 #9fdaf9;font-weight:800;}
.tab:hover{border-color:var(--adventure-gold);}
.tab-menu-btn{min-width:44px;min-height:44px;border-radius:9px;opacity:1;}
.panel{background:var(--panel);border:1px solid var(--adventure-line);border-radius:16px;box-shadow:var(--shadow-soft);}
.panel h2{letter-spacing:.05em;}
.panel-muted{background:transparent;border:0;box-shadow:none;}
.btn{min-height:44px;border-radius:10px;border:1px solid var(--panel-line);background:var(--panel-strong);color:var(--text);font-weight:700;box-shadow:0 2px 0 var(--adventure-shadow);}
.btn:hover{background:var(--input-bg-focus);border-color:var(--adventure-gold);}
.btn-primary{background:linear-gradient(#368dbd,#216b9a);border-color:#30718f;color:#fff;box-shadow:0 3px 0 #174c69,inset 0 1px 0 #8bbfd3;}
.btn-primary:hover{background:linear-gradient(#429ac8,#2778a7);border-color:#30718f;}
.btn-ghost{background:transparent;box-shadow:none;}
.btn-danger{color:var(--bad);background:var(--input-bg);border-color:var(--bad);}
.btn:focus-visible,.tab:focus-visible,.journal-field input:focus-visible,.journal-field textarea:focus-visible{outline:3px solid var(--accent-3);outline-offset:3px;}
.adventure-dashboard{margin-top:20px;color:var(--adventure-ink);}
.adventure-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 11px;}
.adventure-heading h1,.adventure-heading h2{margin:4px 0;font-size:24px;letter-spacing:.04em;font-weight:800;}
.adventure-heading p,.adventure-heading small{margin:3px 0 0;font-size:11px;color:var(--muted);letter-spacing:.08em;}
.adventure-heading time,.adventure-heading>span{font-size:12px;color:var(--text-soft);white-space:nowrap;}
.adventure-map{position:relative;isolation:isolate;min-height:300px;overflow:hidden;border:2px solid var(--adventure-gold);border-radius:20px;background:#a5d9cf url('./adventure-map.svg') center 53%/cover no-repeat;box-shadow:0 5px 0 var(--adventure-shadow),inset 0 0 0 4px #fff9dc66;}
.adventure-map::after{content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#002d4020,transparent 30%,transparent 65%,#2749341f);}
.map-caption{position:absolute;left:20px;top:17px;max-width:70%;padding:11px 15px;border-radius:12px;border:1px solid #ffffffe3;background:#fffdf1e8;color:#294d4f;box-shadow:0 3px 12px #16484c1c;backdrop-filter:blur(6px);}
.map-caption h2,.map-caption h3,.map-caption strong{display:block;margin:0;font-size:18px;line-height:1.5;font-weight:800;letter-spacing:.04em;}
.map-caption p,.map-caption span,.map-caption small{display:block;margin:3px 0 0;font-size:11px;line-height:1.6;color:#567168;}
.map-player{position:absolute;left:50%;bottom:57px;transform:translateX(-50%);width:106px;height:139px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 8px 3px #3c624738);animation:adventure-arrive .65s ease-out;}
.map-player img{width:100%;height:100%;object-fit:contain;object-position:bottom;}
.map-progress{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:9px;max-width:calc(100% - 30px);width:max-content;border:1px solid #d5ba75;border-radius:999px;padding:9px 18px;background:#fffff3f2;box-shadow:0 2px 8px #36523b24;color:#35594d;font-size:12px;font-weight:700;line-height:1.5;text-align:center;}
.map-progress strong{color:#886322;}
.adventure-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:17px 0 13px;background:var(--adventure-paper);border:1px solid var(--adventure-line);border-radius:14px;box-shadow:0 3px 0 var(--adventure-shadow);padding:14px 0;}
.adventure-metric{padding:0 12px;text-align:center;min-width:0;}
.adventure-metric+.adventure-metric{border-left:1px solid var(--adventure-line);}
.adventure-metric strong{display:block;color:var(--accent);font-size:23px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.3;}
.adventure-metric span{display:block;font-size:11px;color:var(--text-soft);margin-top:4px;}
.adventure-guide{display:flex;align-items:center;gap:12px;margin:12px 0 23px;padding:13px 16px;border-radius:13px;background:var(--adventure-paper);border:1px solid var(--panel-line);font-size:13px;line-height:1.8;}
.adventure-guide img{width:44px;height:48px;object-fit:contain;flex:none;}
.adventure-guide p{margin:0;}
.adventure-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 2px 12px;font-size:16px;font-weight:800;letter-spacing:.03em;}
.adventure-section-title small,.adventure-section-title span{font-size:11px;color:var(--text-soft);font-weight:500;}
.adventure-section-title h1{margin:4px 0;font-size:24px;}.adventure-section-title h2{margin:0;font-size:20px;}
.adventure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.mission-card{position:relative;display:grid;grid-template-columns:49px minmax(0,1fr);gap:10px 13px;padding:17px;background:var(--adventure-paper);border:1px solid var(--adventure-line);border-radius:15px;box-shadow:0 3px 0 var(--adventure-shadow);}
.mission-card[data-complete="true"]{border-color:#72a68e;background:var(--adventure-paper-soft);}
.mission-icon{display:flex;align-items:center;justify-content:center;width:49px;height:49px;border:1px solid var(--adventure-line);border-radius:13px;background:var(--input-bg);font-size:26px;}
.mission-copy{min-width:0;}
.mission-copy h3{margin:1px 0 5px;font-size:15px;line-height:1.5;}
.mission-copy p{margin:0;font-size:12px;line-height:1.7;color:var(--text-soft);}
.mission-reward{grid-column:2;display:flex;gap:8px;flex-wrap:wrap;color:var(--accent);font-size:11px;font-weight:800;line-height:1.7;}
.mission-actions{grid-column:1/-1;display:flex;align-items:center;gap:9px;margin-top:4px;}
.mission-actions .btn{flex:1;font-size:12px;}
.mission-actions small,.mission-actions span{font-size:12px;color:var(--text-soft);}
.mission-card[data-complete="true"] .mission-actions{color:var(--good);}
.adventure-inventory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;}
.inventory-item{padding:14px 8px;text-align:center;min-width:0;border:1px solid var(--adventure-line);border-radius:13px;background:var(--adventure-paper);box-shadow:0 2px 0 var(--adventure-shadow);}
.inventory-icon{display:block;font-size:31px;line-height:1.3;margin:0 0 7px;filter:drop-shadow(0 2px 1px #1429301a);}
.inventory-item strong{display:block;font-size:12px;line-height:1.6;}
.inventory-item small{display:block;font-size:11px;line-height:1.6;color:var(--text-soft);margin-top:4px;}
.adventure-inventory .empty{grid-column:1/-1;display:block;padding:22px 16px;border:1px dashed var(--adventure-line);border-radius:13px;background:var(--adventure-paper);text-align:center;font-size:12px;line-height:1.8;color:var(--text-soft);}
.adventure-help{margin:15px 2px 22px;font-size:12px;line-height:1.85;color:var(--text-soft);}
.adventure-help a{color:var(--accent-3);}
.journal-form{background:var(--adventure-paper);border:1px solid var(--adventure-line);border-radius:17px;padding:20px;box-shadow:var(--shadow-soft);}
.journal-form h2{margin:0 0 7px;font-size:18px;}
.journal-form>p{margin:0 0 18px;color:var(--text-soft);font-size:12px;line-height:1.8;}
.journal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;}
.journal-field{min-width:0;}
.journal-field label{display:block;margin-bottom:7px;color:var(--text);font-size:12px;font-weight:700;line-height:1.7;}
.journal-field input,.journal-field select,.journal-field textarea{display:block;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--panel-line);border-radius:9px;background:var(--input-bg);color:var(--text);font:inherit;font-size:14px;line-height:1.6;color-scheme:dark;}
:root[data-theme="light"] .journal-field input,:root[data-theme="light"] .journal-field select,:root[data-theme="light"] .journal-field textarea{color-scheme:light;}
.journal-field input::placeholder,.journal-field textarea::placeholder{color:var(--muted);opacity:1;}
.journal-field textarea{min-height:110px;resize:vertical;}
.journal-field small{display:block;margin-top:5px;font-size:11px;line-height:1.6;color:var(--text-soft);}
.journal-full{grid-column:1/-1;}
.journal-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:18px;}
.journal-toolbar .btn{flex:1;min-width:130px;}
.journal-list{display:grid;gap:12px;margin-top:16px;}
.journal-entry{padding:17px 19px;background:var(--adventure-paper);border:1px solid var(--adventure-line);border-left:4px solid var(--adventure-gold);border-radius:4px 14px 14px 4px;}
.journal-entry h3{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 10px;font-size:14px;line-height:1.6;}
.journal-entry p{margin:10px 0 0;color:var(--text);font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;}
.journal-tags{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--text-soft);line-height:1.8;}
.journal-tags span{padding:3px 9px;border-radius:6px;background:var(--input-bg);border:1px solid var(--panel-line);}
.reward-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a283bd9;backdrop-filter:blur(7px);overflow:auto;}
.reward-overlay[hidden]{display:none;}
.reward-card{position:relative;isolation:isolate;width:100%;max-width:390px;max-height:90dvh;overflow:auto;padding:29px 27px 25px;text-align:center;border:2px solid #d6b663;border-radius:23px;background:linear-gradient(150deg,#fffff4,#f4efda);color:#284b50;box-shadow:0 22px 80px #0005,inset 0 0 0 5px #fffaf0,inset 0 0 0 6px #e2cea1;animation:reward-reveal .45s cubic-bezier(.18,.8,.23,1.18);}
.reward-card h2{margin:12px 0;font-size:24px;font-weight:800;color:#315765;}
.reward-card p{font-size:13px;line-height:1.8;margin:10px 0;color:#52665d;}
.reward-icon{position:relative;display:flex;align-items:center;justify-content:center;width:98px;height:98px;margin:0 auto 6px;background:radial-gradient(circle,#fff 20%,#f7e7a7 65%,#edcb6a);border:2px solid #dfc581;border-radius:50%;font-size:52px;box-shadow:0 0 0 6px #f5e8b940,0 0 40px #ecd68770;}
.reward-exp{margin:15px 0 8px;font-size:34px;font-weight:900;letter-spacing:.02em;color:#267690;font-variant-numeric:tabular-nums;}
.reward-level{margin:12px 0;border-radius:10px;padding:12px;background:#fff9d6;border:1px solid #dfc778;color:#856016;font-size:18px;font-weight:800;line-height:1.7;}
.reward-actions{display:flex;gap:10px;justify-content:center;margin-top:23px;}
.reward-actions .btn{width:100%;}
.reward-particles{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden;}
.reward-sparkle{position:absolute;left:var(--x,50%);top:var(--y,15%);color:#b7963d;font-size:20px;animation:reward-sparkle 1.5s ease-in-out var(--delay,0s) infinite alternate;}
@keyframes adventure-arrive{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes reward-reveal{from{opacity:0;transform:scale(.85) translateY(22px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes reward-sparkle{from{opacity:.3;transform:scale(.65) rotate(-12deg)}to{opacity:1;transform:scale(1.15) rotate(12deg)}}
@media(min-width:760px){.adventure-map{min-height:335px;}.map-player{bottom:62px;width:120px;height:154px;}.adventure-dashboard{margin-top:23px;}}
@media(max-width:540px){
  .app{padding-inline:12px;padding-top:12px;}.hero{padding:15px 13px;gap:12px;}.avatar{width:68px;height:68px;}.player-name{font-size:16px;}.level-num{font-size:25px;}
  .vital-row{gap:4px;}.vital{min-width:64px;padding:5px;gap:4px;}.vital-num{min-width:25px;font-size:10px;}.vital-label{font-size:10px;}
  .tabs{top:5px;gap:4px;padding:5px;}.tab{flex-basis:53px;font-size:11px;padding:8px 4px;}.tab-menu-btn{padding:8px;}
  .adventure-heading{flex-wrap:wrap;gap:6px;}.adventure-heading h1,.adventure-heading h2{font-size:21px;}.adventure-heading time,.adventure-heading>span{font-size:11px;}.adventure-map{min-height:283px;background-position:52% 52%;border-radius:16px;}
  .map-caption{left:12px;top:12px;padding:9px 12px;max-width:85%;}.map-caption h2,.map-caption h3,.map-caption strong{font-size:16px;}.map-progress{font-size:11px;gap:5px;padding:8px 13px;}
  .adventure-grid{grid-template-columns:1fr;gap:11px;}.adventure-guide{margin-bottom:19px;padding:12px;font-size:12px;}.adventure-metric{padding:0 6px;}.adventure-metric strong{font-size:22px;}.adventure-metric span{font-size:10px;}
  .adventure-inventory{grid-template-columns:repeat(2,minmax(0,1fr));}.inventory-item{padding:14px 10px;}.mission-card{padding:15px;}.journal-form{padding:17px 14px;}.journal-fields{gap:14px 10px;}.journal-field input,.journal-field textarea,.journal-field select{font-size:16px;}
  .reward-overlay{padding:18px;}.reward-card{padding:25px 20px 22px;}
}
@media(max-width:340px){.tab{flex-basis:72px;}.hero{flex-wrap:wrap;}.journal-fields{grid-template-columns:1fr;}.journal-full{grid-column:auto;}}
@media(prefers-reduced-motion:reduce){.map-player,.reward-card,.reward-sparkle{animation:none;}.exp-fill,.tab,.btn{transition:none;}}

/* Mobile adventure art direction: rounded lettering, enamel buttons, paper and brass. */
:root{--game-type:'LQ Rounded','Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;--game-rim:#806038;--game-light:#fff5cf;--game-paper:#fffbee;}
:root[data-theme="light"]{--bg-top:#64c7ed;--bg-bot:#b8dc94;--text:#3c3430;--text-soft:#655445;--muted:#776a52;--panel:#fffbee;--panel-strong:#fffdf6;--panel-line:#c9af72;--adventure-ink:#3c3430;--adventure-paper:#fffbee;--adventure-paper-soft:#f8efd6;--accent:#996214;--adventure-gold:#cfa855;--adventure-line:#d3b574;}
body{background:linear-gradient(#14354ce6,#19392fef),url('./adventure-field.webp') center/cover fixed;background-attachment:fixed;}
:root[data-theme="light"] body{background:linear-gradient(#a1e3ffbd,#d8efadd9),url('./adventure-field.webp') center/cover fixed;}
h1,h2,h3,.btn,.tab,.tab-menu-btn,.player-name,.level-num,.map-caption,.map-progress,.adventure-metric strong,.inventory-item strong,.mission-reward,.reward-exp,.reward-level,.journal-entry h3{font-family:var(--game-type);font-weight:800;}
.app{padding-top:16px;padding-bottom:40px;}
.game-icon{display:inline-block;width:40px;height:40px;flex:none;vertical-align:middle;overflow:visible;filter:drop-shadow(0 2px 0 #3d42222b);}
.hero{border:3px solid var(--game-rim);border-radius:14px;background:linear-gradient(160deg,var(--panel-strong),var(--panel));box-shadow:inset 0 0 0 2px #ffe6a0,inset 0 0 0 5px var(--panel),0 4px 0 #4c5f5166,0 8px 16px #2559662b;padding:17px 22px;}
.avatar{border:3px solid #fff5ca;background:radial-gradient(ellipse at 50% 30%,#c9efff,#589ac5 70%,#276c99);box-shadow:0 0 0 2px #9d743c,0 4px 4px #3f493d44;}
.avatar-placeholder{width:100%;height:100%;background:url('./adventure-player.webp') center 12%/190% auto no-repeat;}
.player-name{font-size:19px;letter-spacing:.05em;}
.level-label{font-family:var(--game-type);color:var(--text);}
.level-num{font-size:32px;color:#ffd953;-webkit-text-stroke:1px #67421e;paint-order:stroke fill;text-shadow:1px 2px 0 #6d4820;}
.exp-bar{height:12px;border:2px solid #60746c;box-shadow:inset 0 1px 3px #0005;background:#d5dfd5;}
.exp-fill{background:linear-gradient(#c6ee7f,#55b949 46%,#32963c 51%,#78d151);box-shadow:inset 0 1px 0 #efffb5;}
.vital{border:1px solid var(--panel-line);background:var(--panel-strong);box-shadow:inset 0 1px 1px #fff7;}
.tabs{display:grid;grid-template-columns:60px repeat(5,minmax(0,1fr)) 44px;gap:6px;position:sticky;top:7px;z-index:35;margin:16px 0 0;padding:7px;border:3px solid var(--game-rim);border-radius:14px;background:linear-gradient(#faf6df,#d6c69c);box-shadow:inset 0 0 0 2px #fff5cf,0 4px 0 #59726266;backdrop-filter:none;}
.tab,.tab-menu-btn{appearance:none;min-width:0;min-height:68px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;border:1px solid #b59b62;border-radius:9px;color:#5b432d;background:linear-gradient(#fffff9,#f3e4bb);box-shadow:inset 0 1px 0 #fff,0 2px 0 #9e8251;font-size:13px;line-height:1.3;cursor:pointer;}
.tabs .game-icon{width:35px;height:35px;}
.tab.active{color:#fffefa;background:linear-gradient(#54c8f7,#2396d6 49%,#087bc1 51%,#1ca2dc);border-color:#286c8c;box-shadow:inset 0 0 0 2px #bceef3,0 2px 0 #276185;text-shadow:1px 1px 0 #285b8b;}
.tab:hover,.tab-menu-btn:hover{filter:brightness(1.07);}
.tab-reorder-toggle{align-self:center;min-width:40px;min-height:44px;opacity:.85!important;font-size:24px!important;color:#765a32!important;}
.tab-reorder-toggle::after{content:'並替';display:block;font:800 10px var(--game-type);}
.tabs.reorder-mode .tab{flex-direction:row;flex-wrap:wrap;}.tabs.reorder-mode .game-icon{display:none;}
.panel,.mission-card,.inventory-item,.adventure-summary,.journal-form{border:2px solid var(--game-rim);border-radius:12px;box-shadow:inset 0 0 0 2px var(--adventure-line),inset 0 0 0 4px var(--panel),0 3px 0 #48644f4d,0 5px 12px #33482d16;background-color:var(--panel);background-image:radial-gradient(#ad864c12 .7px,transparent .8px);background-size:5px 5px;}
.panel-muted{background:transparent;border:0;box-shadow:none;}
.btn{border:2px solid #a68d64;border-radius:9px;min-height:46px;box-shadow:inset 0 0 0 1px #fffdf0,0 3px 0 #715938;background:linear-gradient(#fffef8,#ece2c7);color:#614c35;text-shadow:0 1px #fff;transition:filter .15s,transform .1s;}
.btn:hover{filter:brightness(1.05);border-color:#876840;}
.btn:active{transform:translateY(2px);box-shadow:inset 0 0 0 1px #fff5,0 1px 0 #715938;}
.btn-primary{background:linear-gradient(#54c9ff 0%,#269bdf 45%,#1384cb 47%,#219edb 100%);border-color:#276b96;box-shadow:inset 0 0 0 1px #b9ecff,0 4px 0 #205b7c;color:#fff;text-shadow:0 2px 0 #285c91;}
.btn-primary:hover{background:linear-gradient(#64d5ff,#26a5e7 45%,#1b92d9 47%,#2bace7);border-color:#276b96;}
.btn:disabled{opacity:.8;cursor:default;box-shadow:inset 0 0 0 1px #fff8,0 2px 0 #73836a;transform:none;filter:none;}
.btn-danger{background:linear-gradient(#fffaf2,#f4dad0);color:#aa3433;border-color:#bf8b71;}
.adventure-dashboard{margin-top:18px;}
.adventure-heading{align-items:end;margin:0 4px 12px;gap:8px;}
.adventure-heading small{font-size:10px;letter-spacing:.18em;color:var(--text-soft);}
.adventure-heading h1{font-size:28px;letter-spacing:.08em;color:#fff7cf;text-shadow:2px 2px 0 #6b5634,0 3px 4px #315b6855;-webkit-text-stroke:3px #755c36;paint-order:stroke fill;}
.adventure-heading>span{background:#fff7d9e8;border:1px solid #a99158;border-radius:20px;padding:4px 10px;color:#655035;font-family:var(--game-type);font-weight:800;}
.adventure-map{min-height:470px;border:3px solid #8a7447;border-radius:15px;background:#69b8c5 url('./adventure-field.webp') center 56%/cover no-repeat;box-shadow:inset 0 0 0 3px #ffefb0c4,0 5px 0 #3f5e4870,0 10px 22px #426a3b35;}
.adventure-map::after{background:linear-gradient(#064b8122,transparent 35%,transparent 65%,#25432138);}
.map-caption{top:18px;left:18px;max-width:calc(100% - 36px);border:2px solid #e8e4c9;background:linear-gradient(#fffdf4f5,#f5edcef0);box-shadow:0 0 0 2px #736448,0 4px 0 #36442b44;padding:10px 17px;border-radius:10px;backdrop-filter:none;}
.map-caption small{font-size:11px;color:#826033;letter-spacing:.15em;}
.map-caption strong{font-size:23px;color:#8f542b;text-shadow:1px 1px #fff;letter-spacing:0;}
.map-caption span{font-size:12px;color:#705f49;}
.map-player{width:165px;height:212px;bottom:88px;filter:drop-shadow(0 8px 4px #243f4973);}
.map-progress{bottom:15px;min-width:240px;max-width:calc(100% - 28px);display:grid;grid-template-columns:auto 1fr;gap:3px 13px;border:2px solid #eee5c4;border-radius:10px;background:linear-gradient(#223b4bea,#172734f0);color:#fff7dc;box-shadow:0 0 0 2px #685535,0 4px 8px #233c3955;padding:9px 14px;}
.map-progress strong{color:#fff8da;font-size:13px;text-shadow:1px 1px #000;}.map-progress>span:last-child{font:11px 'Yu Gothic',sans-serif;color:#dfe9e1;}
.field-progress-dots{display:flex;grid-row:1/3;gap:5px;}.field-progress-dots i{font-family:var(--game-type);font-style:normal;width:24px;height:24px;display:grid;place-items:center;border:1px solid #849eab;border-radius:50%;background:#132738;color:#a6b9b5;}
.field-progress-dots i.cleared{color:#674817;background:linear-gradient(#fff2a3,#e8b844);border-color:#fff0b2;box-shadow:0 0 7px #ffd26c44;}
.adventure-summary{padding:16px 4px;}.adventure-metric strong{color:#ae6724;font-size:28px;text-shadow:0 1px #fff;}.adventure-metric span{font-size:11px;color:var(--text-soft);font-weight:700;}
.adventure-guide{border:2px solid #a09160;border-radius:10px;background:var(--panel);box-shadow:inset 0 0 0 2px #f4e1a599;line-height:1.8;}
.adventure-section-title h2{display:flex;align-items:center;gap:9px;color:#fff8de;-webkit-text-stroke:2px #695432;paint-order:stroke fill;text-shadow:0 2px 1px #46624455;font-size:23px;}
.adventure-section-title h2::before{content:'◆';color:#f5d66c;font-size:15px;}
.adventure-section-title>span{font-weight:700;color:var(--text);}
.mission-card{grid-template-columns:62px minmax(0,1fr);padding:17px;gap:9px 13px;}
.mission-icon{width:62px;height:62px;border:2px solid #b1985c;border-radius:13px;background:radial-gradient(#fffef1,#ecdcad);box-shadow:inset 0 0 0 2px #fff9e6,0 2px 0 #8d773e44;}.mission-icon .game-icon{width:52px;height:52px;}
.mission-copy h3{font-size:17px;color:var(--text);}.mission-copy p{font-size:12px;}.mission-reward{font-size:12px;color:#925f22;}
.mission-card[data-complete="true"]{background-color:var(--adventure-paper-soft);border-color:#83924a;}.mission-card[data-complete="true"] .mission-actions .btn{background:linear-gradient(#f6ffdf,#d5e4b3);border-color:#9aa970;color:#526a38;text-shadow:0 1px #fff;}
.inventory-item{position:relative;padding:17px 8px 12px;}.inventory-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 7px;border-radius:50%;border:1px solid #dfc788;background:radial-gradient(#fffde7,#efe0a9);}.inventory-icon .game-icon{width:55px;height:55px;}.inventory-item strong{font-size:13px;}.inventory-item small{font-size:12px;font-weight:700;}
.inventory-item[data-owned="false"] .inventory-icon{filter:grayscale(.6);opacity:.65;}
.journal-entry{border:2px solid #a58752;border-left:6px solid #ca9e4e;background:var(--panel);box-shadow:inset 0 0 0 2px #ebdcb0;}
.journal-entry h3{font-size:16px;}.journal-entry .row{align-items:center;}.journal-field label{font-size:13px;}.journal-field input[type="checkbox"]{display:inline-block;width:18px;height:18px;min-height:0;margin:10px 5px 0 0;vertical-align:middle;}
.journal-form h3{font-size:21px;}.journal-form{padding:20px;}
.reward-overlay{background:radial-gradient(ellipse at center,#377da9df,#0c214af5);}
.reward-card{border:4px solid #ab813e;border-radius:18px;background:radial-gradient(ellipse at top,#fffde6,#f5e6c2);box-shadow:inset 0 0 0 2px #fffacb,inset 0 0 0 5px #dfbc6e,0 12px 0 #102b4255,0 22px 80px #0005;}
.reward-card h2{font-size:24px;color:#8b582b;text-shadow:1px 2px #fff;} .reward-icon{border:0;background:radial-gradient(circle,#fff9bc,#ffe38888 55%,transparent 70%);width:118px;height:115px;box-shadow:none;}.reward-icon .game-icon{width:103px;height:103px;}
.reward-card h2 span{display:block;}
.reward-exp{font-size:42px;color:#fff9b0;-webkit-text-stroke:3px #b77923;paint-order:stroke fill;text-shadow:0 3px 0 #925b23;}
.reward-items p{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--game-type);font-weight:800;color:#655138;}.reward-items .game-icon{width:32px;height:32px;}.reward-level{font-family:var(--game-type);color:#8f5424!important;}
:root:not([data-theme="light"]) .adventure-metric strong{color:#ffe29a;text-shadow:0 1px #1a3451;}:root:not([data-theme="light"]) .mission-reward{color:#ffe49d;}
:root:not([data-theme="light"]) .adventure-map{background-blend-mode:multiply;background-color:#8399bd;}
:root:not([data-theme="light"]) .panel,:root:not([data-theme="light"]) .mission-card,:root:not([data-theme="light"]) .inventory-item{border-color:#b9a268;}
:root:not([data-theme="light"]) .adventure-section-title>span{color:#fff6da;}
@media(max-width:540px){
  .app{padding:10px 10px calc(92px + env(safe-area-inset-bottom));}.hero{padding:12px 11px;gap:12px;border-radius:12px;}.avatar{width:60px;height:68px;border-radius:12px;}.avatar-edit{bottom:-3px;right:-3px;}.player-name{font-size:17px;}.level-num{font-size:29px;}
  .level-row{gap:4px;}.level-row>span[style]{font-size:10px!important;margin-left:4px!important;}.vital{min-width:0;padding:4px;}.vital-row{gap:3px;}.vital-num{font-size:9px;}.vital-label{font-size:9px;}.exp-text{font-size:10px;}
  .tabs{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;margin:0;padding:5px 4px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;border-width:3px 0 0;border-radius:10px 10px 0 0;box-shadow:0 -3px 12px #274f4d55,inset 0 2px #fff5c9;}
  .tab,.tab-menu-btn{min-height:61px;padding:3px 0;gap:3px;font-size:10px;border-radius:7px;white-space:nowrap;}.tabs .game-icon{width:32px;height:32px;}.tab-reorder-toggle{min-width:0;width:100%;min-height:52px;padding:3px!important;}
  .adventure-heading{margin:14px 2px 10px;flex-wrap:nowrap;}.adventure-heading h1{font-size:23px;}.adventure-heading small{font-size:8px;}.adventure-heading>span{font-size:10px;padding:4px 7px;}
  .adventure-map{min-height:385px;background-position:50% center;}.map-caption{left:12px;top:13px;padding:8px 13px;}.map-caption strong{font-size:20px;}.map-caption span{font-size:11px;}.map-player{width:142px;height:180px;bottom:87px;}
  .map-progress{min-width:0;width:calc(100% - 32px);grid-template-columns:auto 1fr;padding:9px 10px;gap:2px 9px;}.map-progress strong{font-size:11px;}.map-progress>span:last-child{font-size:10px;}.field-progress-dots{gap:4px;}.field-progress-dots i{width:22px;height:22px;font-size:11px;}
  .adventure-summary{margin-top:16px;}.adventure-metric strong{font-size:25px;}.adventure-metric span{font-size:10px;}.adventure-section-title h2{font-size:20px;}.adventure-section-title{gap:8px;}.adventure-section-title .btn{font-size:11px;}
  .mission-card{grid-template-columns:56px minmax(0,1fr);padding:15px;}.mission-icon{width:56px;height:56px;}.mission-icon .game-icon{width:48px;height:48px;}.mission-copy h3{font-size:16px;}.mission-actions .btn{font-size:14px;}
  .journal-form{padding:16px 12px;}.journal-fields{grid-template-columns:1fr;}.journal-full{grid-column:1;}.journal-field textarea{min-height:80px;}.journal-field label{font-size:12px;}
  .reward-card h2{font-size:22px;}.reward-exp{font-size:39px;}.reward-overlay{padding:15px;}.reward-card{max-height:88dvh;}
  #analyticsConsentBanner{bottom:calc(84px + env(safe-area-inset-bottom));}
}
@media(prefers-reduced-motion:reduce){.btn,.map-player{transition:none;animation:none;}}

/* Personal avatar follows the same mission path as the default adventurer. */
.map-player.map-player-custom{width:100px;height:100px;bottom:107px;object-fit:cover;object-position:center;border:4px solid #fff5cf;border-radius:50%;background:#fff9e8;box-shadow:0 0 0 3px #b38a42,0 5px 0 #6e572b66;filter:drop-shadow(0 8px 6px #25462d55);}
@media(max-width:540px){.map-player.map-player-custom{width:80px;height:80px;bottom:111px;}}

.health-panel{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:18px;margin:18px 0;}.health-panel h2{font-size:17px;margin:0;}.health-count{font-size:30px;color:var(--accent);}.health-updated{font-size:11px;margin-left:10px;}.health-panel p,.health-panel small{grid-column:1/-1;margin:0;}.health-panel .btn{grid-column:2;grid-row:1;align-self:center;}.health-readonly{font-weight:bold;font-size:20px;padding:8px 0;}.journal-field small{line-height:1.8;}

html[lang="en"] .tab-reorder-toggle::after{content:"Order";}
html[lang="en"] .mission-actions .btn{white-space:normal;line-height:1.3;}
html[lang="en"] .mission-copy h3{line-height:1.4;}

/* Keep the field as atmosphere; today's progress and action lead the home. */
.adventure-overview{padding:17px 18px 14px;border:2px solid #a38a50;border-radius:14px;background:linear-gradient(100deg,#123447ed,#193c4ac9),url('./adventure-field.webp') center 56%/cover;color:#fff7df;box-shadow:inset 0 0 0 2px #ffefb035,0 4px 0 #3f5e4855;}
.adventure-overview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.adventure-overview-label{font-family:var(--game-type);font-size:15px;font-weight:800;}
.adventure-overview-progress{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:4px 0 0;}
.adventure-overview-progress strong{font-family:var(--game-type);font-size:29px;line-height:1.2;font-variant-numeric:tabular-nums;}
.adventure-overview-progress span{font-size:11px;color:#e1ece4;}
.adventure-overview-top .btn{flex-shrink:0;max-width:45%;font-size:13px;white-space:normal;}
.adventure-overview-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:12px 0;}
.adventure-overview-track span{height:6px;border-radius:3px;background:#ffffff38;}
.adventure-overview-track .cleared{background:#f6d479;}
.adventure-overview-stats{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:12px;color:#e1ece4;}
.adventure-overview-stats>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;}
.adventure-overview-stats strong{font-size:15px;font-variant-numeric:tabular-nums;color:#fff7df;}
@media(max-width:540px){.adventure-overview{padding:13px 12px 12px;}.adventure-overview-label{font-size:14px;}.adventure-overview-top .btn{font-size:12px;padding:9px 11px;}.adventure-overview-stats{font-size:11px;}}

/* Profile and navigation: keep edit controls clear of the portrait. */
.avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;}
.avatar{display:flex;align-items:center;justify-content:center;padding:0;flex:none;}
.avatar-edit{position:static;inset:auto;width:auto;height:auto;min-width:56px;min-height:32px;padding:5px 12px;border:1px solid #987340;border-radius:8px;font:800 12px var(--game-type);line-height:1.4;cursor:pointer;box-shadow:0 2px 0 #755531;}
.avatar:focus-visible,.avatar-edit:focus-visible,.avatar-choice:focus-visible{outline:3px solid var(--accent-3);outline-offset:3px;}
.avatar-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;}
.avatar-choice{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:118px;padding:8px;border:2px solid var(--panel-line);border-radius:12px;background:var(--panel-strong);color:var(--text);font:800 12px var(--game-type);cursor:pointer;}
.avatar-choice img{width:100%;max-width:96px;height:auto;aspect-ratio:1;object-fit:contain;border-radius:8px;image-rendering:pixelated;}
.avatar-choice[aria-pressed="true"]{border-color:var(--accent-3);box-shadow:0 0 0 2px var(--accent-3);}
.avatar-placeholder{background-image:url('./avatar-liberta.webp');background-position:center;background-size:cover;image-rendering:pixelated;}
.avatar img.pixel-avatar{image-rendering:pixelated;}
.tabs{grid-template-columns:repeat(6,minmax(0,1fr));}
.tab-order-list>div{display:grid;grid-template-columns:1fr 48px 48px;align-items:center;gap:8px;margin:10px 0;}
.tab-order-list .btn{min-height:44px;}
@media(max-width:540px){.tabs{grid-template-columns:repeat(6,minmax(0,1fr));}.avatar-edit{position:static;inset:auto;}.avatar-picker{gap:8px;}.avatar-choice{padding:6px;font-size:11px;}}

.health-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}.health-panel .health-actions .btn{grid-area:auto;position:static;flex:1;min-width:110px;min-height:44px;}

/* First-use clarity and keyboard access; all saved game rules stay intact. */
.first-record{padding:16px;margin:12px 0;}.first-record h2{font-size:18px;margin:0 0 8px;}.first-record p{line-height:1.7;}
.health-optional{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;margin:14px 0;}.health-optional p{margin:0;flex:1 1 180px;font-size:13px;line-height:1.6;}
.habit-examples{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0;}.habit-examples .btn{font-size:12px;}
details>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700;}details .form-row{margin-top:12px;}
.quest-edit-name{display:block;min-height:44px;width:100%;padding:6px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;font-weight:800;overflow-wrap:anywhere;}
.quest-body{min-width:0;}.quest-check,.pm-btn,.quest-addsub{min-width:44px;min-height:44px;}.quest-meta{overflow-wrap:anywhere;}
.stats-explainer{display:block;min-height:44px;padding:5px 0;border:0;background:transparent;color:var(--text-soft);font:inherit;font-size:11px;text-align:left;text-decoration:underline;cursor:pointer;}
.player-name{max-width:100%;border-bottom:1px dashed var(--text-soft);}.player-name::placeholder{color:var(--text-soft);opacity:1;}
.vital-row{flex-wrap:wrap;}.vital{min-width:0;}.vital-num{overflow-wrap:anywhere;}.level-row{flex-wrap:wrap;}
.storage-guide{font-size:13px;line-height:1.7;margin-bottom:18px;}.storage-guide table{width:100%;border-collapse:collapse;table-layout:fixed;}.storage-guide td,.storage-guide th{padding:10px 8px;border:1px solid var(--panel-line);text-align:left;vertical-align:top;overflow-wrap:anywhere;}.storage-guide th:first-child{width:34%;}
.advanced-setting{margin:10px 0;}.advanced-setting>summary{color:var(--text-soft);font-size:13px;}
.ai-suggest button.pill{font:inherit;min-height:44px;color:var(--text);cursor:pointer;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent-3);outline-offset:3px;}
[hidden]{display:none!important;}
@media(max-width:300px){
 .hero{gap:8px;align-items:flex-start;padding:10px 8px;}.avatar{width:44px;height:50px;}.avatar-edit{min-width:44px;padding:4px;}.player-name{font-size:14px;}.vital{flex:1 1 100%;}.vital-num{min-width:0;}.tab,.tab-menu-btn{font-size:8px;}.tabs .game-icon{width:26px;height:26px;}
 .tabs .tab>span,.tabs .tab-menu-btn>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
 .avatar-picker{grid-template-columns:repeat(2,minmax(0,1fr));}.mission-card{display:flex;flex-wrap:wrap;}.mission-copy{min-width:0;flex:1 1 90px;}.mission-actions{width:100%;}.adventure-overview-top{flex-wrap:wrap;}.setting-row{flex-wrap:wrap;}.summary-grid{grid-template-columns:1fr;}
}
