:root{--ink:#293f3b;--muted:#7a8373;--paper:#f6f3e9;--line:#dedfd0;--green:#42695b;--light:#e8eee0;--gold:#ae8650;--red:#a85b50;color-scheme:light;font-family:"Noto Sans CJK KR","Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:var(--ink);background:#f5f3eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bb925c;outline-offset:3px}button{border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:10px 14px;transition:background .12s,transform .12s}button:hover:not(:disabled){background:#e9edde}button:active:not(:disabled){transform:translateY(1px)}a{color:var(--green)}h1,h2,h3,p{margin:0}small{font-size:12px}.muted{color:var(--muted)}.hidden{display:none!important}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#7c886f}.topbar{height:88px;display:flex;align-items:center;gap:22px;padding:0 5%;border-bottom:1px solid var(--line);background:#faf8f0}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink)}.brand b{display:block;font:700 20px serif;letter-spacing:.2px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:1.5px;margin-top:5px}.seal{display:grid;place-items:center;width:42px;height:44px;color:#fbf7e8;background:#416758;font:bold 28px serif;border:3px double #c7d2b7;box-shadow:2px 2px 0 #d9ddc7}.status{margin-left:auto;display:flex;gap:26px;align-items:center;font-size:12px}.level-pill{border:1px solid #bdc9b0;border-radius:5px;padding:7px 10px;font-size:12px;background:#e8eee1}.xp-block{min-width:155px}.xp-line{display:flex;justify-content:space-between;font-size:10px;color:#758570;gap:20px}.bar{height:5px;background:#dde4d4;border-radius:4px;margin-top:7px;overflow:hidden}.bar i{display:block;height:100%;background:#708c62;border-radius:4px}.icon-button{height:35px;width:35px;display:grid;place-items:center;font-size:20px;padding:0;background:transparent}.topbar>.icon-button{margin-left:7px}main{max-width:1340px;margin:0 auto;padding:35px 45px 18px}.chapter{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.chapter h1{font:700 25px serif;letter-spacing:-.5px;margin:10px 0}.chapter p{font-size:12px;color:var(--muted)}.day-stamp{padding:8px 12px;border:1px solid #cfcfbc;font-size:11px;letter-spacing:1px;border-radius:4px;background:#ececdE}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:23px}.tabs button{border:0;border-radius:0;padding:13px 18px;font-size:12px;font-weight:600;background:transparent;position:relative;color:#858b7b}.tabs button.selected{color:var(--green)}.tabs button.selected:after{content:'';position:absolute;bottom:-1px;left:15px;right:15px;height:3px;background:var(--green)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:22px;align-items:start}.world-card{border:1px solid #cdd4c0;border-radius:10px;overflow:hidden;background:#faf8ef;box-shadow:0 5px 14px #3f543008}.world-top{display:flex;justify-content:space-between;align-items:center;height:49px;padding:0 19px;font-size:11px}.world-top>div{display:flex;align-items:center;gap:9px}.world-top .muted{font-size:10px;margin-left:9px}.world-top>span{font-size:10px;color:#78856b}.live-dot{width:6px;height:6px;background:#6d8963;border-radius:50%}.canvas-wrap{position:relative;background:#a1ba7a;overflow:hidden}canvas#world{width:100%;height:auto;aspect-ratio:5/3;display:block;image-rendering:pixelated;outline:none}.map-note{position:absolute;bottom:15px;left:16px;background:#244538c7;color:#ebedc9;font-size:9px;letter-spacing:1.6px;padding:9px 12px;border:1px solid #94ac8077;border-radius:3px;pointer-events:none}.map-note span{display:block;margin-top:4px;letter-spacing:.5px;font-size:9px;color:#d1dfb9}.interaction{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;border:2px solid #365b4d;border-radius:5px;background:#fcf3d8;box-shadow:3px 3px 0 #3b5b4d44;font-size:12px;display:flex;gap:8px;align-items:center}.interaction:active{transform:translateX(-50%)}kbd{font:10px sans-serif;display:inline-grid;place-items:center;min-width:19px;height:20px;border:1px solid #cbd1bf;border-bottom-width:2px;background:#fcfbf4;color:#668065;border-radius:3px;padding:0 4px}.controls{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#92947f;flex-wrap:wrap}.controls b{color:#6b7d66;font-weight:500;margin-left:5px}.controls kbd{margin-right:3px;min-width:17px;height:18px;font-size:9px}.text-button{background:none;border:0;padding:0;font-size:10px;color:#6f8065}.sidebar{display:flex;flex-direction:column;gap:15px}.journal-card{border:1px solid #d8dccb;border-radius:9px;background:#fcfaf2;padding:21px 18px}.section-heading{display:flex;align-items:center;gap:10px}.small-seal{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;color:#668267;font:bold 22px serif;background:#e8eddf;border:1px solid #cdd6c0;border-radius:3px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.section-heading h2{font:700 17px serif;margin-top:6px}.journal-card>p{font-size:10px;margin:13px 0}.quest-item{display:flex;align-items:center;gap:10px;border-top:1px solid #e6e5d6;padding:10px 0;font-size:11px;cursor:pointer}.quest-item canvas{width:29px;height:29px;border-radius:4px;image-rendering:pixelated}.quest-item b{font-weight:600;font-size:11px}.quest-item small{display:block;font-size:9px;color:#8e947d;margin-top:4px}.quest-item .tick{margin-left:auto;width:16px;height:16px;border:1px solid #d6d9c7;border-radius:3px;display:grid;place-items:center;color:#52745c;font-size:10px}.quest-item.done .tick{background:#e2ead8}.quest-item.done b{color:#8c967d}.primary{background:var(--green);color:#f7f4e5;border-color:var(--green)}.primary:hover:not(:disabled){background:#315848}.full{width:100%}.journal-card>.primary{margin-top:12px;font-size:11px;display:flex;justify-content:space-between}.mentor-card{border:1px solid #d9ddcb;border-radius:8px;padding:19px;background:#eaeddf;position:relative}.mentor-card:after{content:'✦';position:absolute;right:19px;top:22px;color:#99a787;font-size:18px}.mentor-card .eyebrow{font-size:9px;letter-spacing:1px}.mentor-card p{font:700 17px/1.6 serif;margin:12px 0;color:#506650}.mentor-card small{font-size:10px;line-height:1.8;color:#859078}.mini-stats{display:flex;justify-content:space-between;font-size:10px;padding:3px 7px;color:#839176}.mini-stats b{color:#4e6954;font-size:15px;margin-right:3px}.below{display:flex;gap:55px;padding:20px 4px}.below>div{display:flex;gap:11px;align-items:center}.below .small-seal{width:29px;height:29px;font-size:18px}.below b{display:block;font-size:11px;font-weight:600;margin-bottom:5px}.below small{display:block;font-size:10px;color:#8a907d}footer{border-top:1px solid var(--line);max-width:1250px;margin:5px auto 0;padding:15px 0 20px;display:flex;justify-content:space-between;font-size:9px;color:#999c8b}.touch-controls{display:none;padding:10px 15px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);user-select:none}.dpad{display:grid;grid-template-columns:40px 40px 40px;grid-template-rows:35px 35px;gap:3px}.dpad button{padding:0;background:#e5ecda;border-color:#b3c5a5;touch-action:none}.dpad [data-dir=up]{grid-column:2}.dpad [data-dir=left]{grid-column:1;grid-row:2}.dpad [data-dir=down]{grid-column:2;grid-row:2}.dpad [data-dir=right]{grid-column:3;grid-row:2}#touch-action{height:52px;padding:0 22px;background:#42695b;color:#f6f0d8;touch-action:none}#touch-action span{margin-left:8px;font-size:10px}.modal-layer{position:fixed;inset:0;background:#1a302ccc;display:grid;place-items:center;padding:25px;z-index:10;backdrop-filter:blur(3px)}#modal{background:#f7f3e6;border:2px solid #8d9c7f;box-shadow:8px 8px 0 #172e2844;border-radius:10px;width:min(940px,96vw);max-height:90dvh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:21px 26px;border-bottom:1px solid #dcdcc9;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fbf8ed}.modal-header h2{font:700 24px serif;margin-top:7px}.modal-header .eyebrow{font-size:9px}#modal-body{padding:24px 26px;overflow:auto;overscroll-behavior:contain;min-height:0}.modal-subtitle{font-size:13px;line-height:1.7;color:#75836c;margin-bottom:20px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.modal-actions button{font-size:13px}.patient-intro{display:flex;align-items:center;gap:26px;background:#ececdb;border:1px solid #d0d6bf;border-radius:7px;padding:22px}.patient-intro canvas,.patient-badge canvas{image-rendering:pixelated;border-radius:5px;border:2px solid #c8d3b8;flex-shrink:0}.patient-intro canvas{width:112px;height:112px}.patient-intro b{font:700 22px serif}.patient-intro .detail{display:block;font-size:12px;color:#869078;margin:7px 0 14px}.speech{font-size:17px;line-height:1.7}.speech small{display:block;font-size:12px;color:#7a846f;margin-top:12px}.clinic-layout{display:grid;grid-template-columns:245px 1fr;gap:22px}.patient-badge{display:flex;gap:13px;align-items:center;margin-bottom:17px}.patient-badge canvas{width:65px;height:65px}.patient-badge b{font:700 21px serif}.patient-badge small{display:block;font-size:11px;color:#7f8973;margin-top:6px}.chart{border:1px solid #d7dac5;background:#ededdc;border-radius:6px;padding:17px}.chart h3{font-size:13px;font-weight:600;margin-bottom:12px}.evidence-list{list-style:none;padding:0;margin:0}.evidence-list li{padding:9px 0;font-size:12px;line-height:1.5;border-top:1px solid #d7dbc5}.evidence-list li small{display:block;color:#8b9378;font-size:10px;margin-top:4px}.source-link{font-size:11px;white-space:nowrap;text-decoration:none;border-bottom:1px dotted #72906d;margin-left:5px}.question-area>.speech{background:#fffbef;border:1px solid #d5d8c0;border-radius:7px;padding:17px 21px;min-height:112px;font-size:16px}.question-area .section-label{margin:19px 0 10px;display:flex;justify-content:space-between;font-size:11px;color:#78876b}.questions{display:grid;gap:8px}.question-button{text-align:left;background:#fdfaf0;border-color:#cbd4bd;display:flex;gap:13px;align-items:center;padding:13px;font-size:14px;line-height:1.5}.question-button>span:first-child{display:grid;place-items:center;background:#e6eddc;border:1px solid #c9d4ba;width:24px;height:24px;font-size:10px;flex-shrink:0}.question-area .primary{padding:13px 20px;font-weight:600}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{padding:19px;text-align:left;background:#fffbed;border:1px solid #c7d1b6;font-size:15px;line-height:1.7}.choice span{font-size:11px;color:#839074;margin-right:10px}.input-row{display:flex;gap:10px;margin-top:15px}.input-row input{width:100%;min-width:0;padding:14px;border:1px solid #b8c8a8;border-radius:5px;background:#fffcf1;font-size:18px}.result-banner{padding:18px 23px;border:1px solid #b7c6a7;background:#e5edd9;border-radius:7px;display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.result-banner.wrong{background:#f1e5d7;border-color:#d6b8a1}.result-banner h3{font:700 23px serif;margin-bottom:7px}.result-banner p{font-size:12px;color:#7a886b}.result-badge{font-size:15px;font-weight:700;color:#5c7d59;white-space:nowrap}.three-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.metric{border:1px solid #d7dbc7;padding:15px;border-radius:6px;background:#fdf9ed}.metric small{display:block;color:#879275;font-size:11px}.metric b{display:block;font-size:23px;margin-top:8px;font-weight:600}.fact-box{border:1px solid #d9dbc7;border-radius:6px;background:#faf8ec;padding:17px;margin:12px 0}.fact-box h3{font-size:14px;margin-bottom:10px;color:#597151}.fact-box p{font-size:13px;line-height:1.8;white-space:pre-line}.fact-box .original{font-family:serif;font-size:15px}.note{font-size:11px;line-height:1.8;color:#8b8872;margin:10px 0}.pill{font-size:10px;padding:4px 8px;background:#e5ecd8;border:1px solid #cdd7bc;border-radius:4px;color:#6d8560;display:inline-block;margin:4px 4px 4px 0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:19px}.toolbar input,.toolbar select,.settings-grid select{border:1px solid #ced5bf;border-radius:5px;background:#fffbed;padding:10px 12px;font-size:13px}.toolbar input{flex:1;min-width:150px}.dex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dex-card{text-align:left;padding:16px;background:#fdf9eb;min-height:106px;border-color:#d4dac2}.dex-card .dex-symbol{font:bold 24px serif;color:#7e966a;margin-right:8px}.dex-card b{font:700 17px serif}.dex-card small{display:block;margin-top:10px;color:#8a9176;font-size:11px}.dex-card .pill{margin-top:9px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px}.herb-options{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.herb-option{min-width:80px;padding:14px;font:17px serif;border:1px solid #c8d3b9;background:#fdf9ea}.herb-option.picked{background:#dbe8ce;border:2px solid #789264;padding:13px}.exam-cards,.mode-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mode-card{text-align:left;padding:20px;min-height:95px;border-color:#cfd7bf;background:#fdf9ed}.mode-card b{display:block;font:700 18px serif;margin-bottom:10px}.mode-card small{font-size:12px;line-height:1.6;color:#819171}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.settings-grid label{font-size:13px;display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #dedfcb;padding:12px 0}.settings-grid label select{max-width:150px}.settings-grid input[type=checkbox]{accent-color:#527454;width:18px;height:18px}.settings-grid input[type=range]{max-width:145px;accent-color:#6b8b59}.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:13px}.scope-list label{font-size:12px;padding:5px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #dcdcc7}th{font-size:11px;color:#879471;font-weight:500}td small{display:block;font-size:10px;color:#8a9678;margin-top:6px}.table-scroll{overflow-x:auto}.toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:6px;background:#294f40;color:#f7f1d8;box-shadow:3px 3px 0 #193b3155;z-index:20;max-width:90vw;font-size:13px;line-height:1.6}.flash{animation:register .35s ease-out}@keyframes register{from{box-shadow:0 0 0 6px #dbc48380;transform:scale(.97)}to{box-shadow:0 0 0 0 transparent;transform:scale(1)}}.timer{font-variant-numeric:tabular-nums;color:#ad7a50;font-weight:700;float:right}.empty{padding:30px;text-align:center;font-size:13px;color:#8b957c;border:1px dashed #ced5bd;border-radius:6px}.danger{color:#a25549;border-color:#d7b7a1}.quest-modal-item{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid #d6dac5;border-radius:6px;margin:10px 0;background:#fbf8ec}.quest-modal-item canvas{width:48px;height:48px;image-rendering:pixelated;border:1px solid #ccd5bd}.quest-modal-item b{font:700 18px serif}.quest-modal-item small{display:block;color:#829171;font-size:11px;margin-top:6px}.quest-modal-item button{margin-left:auto;font-size:11px}.skip-notice{font-size:11px;color:#8a9277;margin-top:12px}.info-line{font-size:12px;line-height:1.8;color:#7e8d70;margin:12px 0}.label-book{font-size:11px;color:#8e987e}
@media(min-width:1600px){main{padding-top:45px}.chapter{margin-bottom:30px}.layout{grid-template-columns:minmax(0,1fr) 288px}.sidebar{gap:20px}.mentor-card{padding:23px}.journal-card{padding:24px 20px}.quest-item{padding:13px 0}}@media(max-width:1100px){main{padding:24px}.topbar{padding:0 24px}.layout{grid-template-columns:minmax(0,1fr) 240px;gap:15px}.journal-card{padding:16px 13px}.controls{font-size:8px}.controls .text-button{display:none}.chapter h1{font-size:23px}.status{gap:12px}footer{padding:13px 24px}.touch-controls{display:flex}}@media(max-width:800px){.topbar{height:73px;padding:0 16px;gap:8px}.brand b{font-size:17px}.seal{width:34px;height:36px;font-size:24px}.brand small{font-size:9px}.status .xp-block{min-width:85px}.status .stat-count{display:none}.status{gap:8px}.level-pill{font-size:10px;padding:6px}.topbar>.icon-button{width:29px;margin:0}.chapter{margin-bottom:17px}.chapter h1{font-size:20px;margin:8px 0}.chapter p{font-size:11px}.day-stamp{display:none}main{padding:19px 15px}.tabs{overflow-x:auto;white-space:nowrap;gap:0;margin-bottom:16px}.tabs button{padding:12px;font-size:11px}.layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1.2fr 1fr;align-items:start}.journal-card{grid-row:span 2}.mentor-card{padding:17px}.mentor-card p{font-size:15px}.below{gap:22px;justify-content:space-between;flex-wrap:wrap}.below b{font-size:10px}.below small{font-size:9px}.world-top{height:42px;padding:0 13px}.controls{padding:9px 12px}.map-note{bottom:12px;left:12px;font-size:8px;padding:7px}.map-note span{display:none}.interaction{bottom:14px;font-size:11px;padding:8px}.modal-layer{padding:12px}#modal{width:98vw;max-height:94dvh}.modal-header{padding:16px}.modal-header h2{font-size:21px}#modal-body{padding:16px}.clinic-layout{grid-template-columns:200px 1fr;gap:13px}.speech{font-size:15px}.question-button{font-size:13px;padding:11px}.dex-grid{grid-template-columns:repeat(2,1fr)}footer{gap:12px;padding:13px 16px;font-size:8px}.settings-grid{gap:12px}.touch-controls{padding:7px 14px}}
@media(max-width:540px){.brand{gap:8px}.brand b{font-size:14px}.xp-block{display:none}.chapter h1{font-size:18px}.chapter p{font-size:10px}.sidebar{grid-template-columns:1fr}.mentor-card{display:none}.mini-stats{display:none}.journal-card{padding:14px}.quest-item{padding:7px 0}.journal-card>p{margin:8px 0}.quest-item small{margin-top:2px}.quest-item canvas{width:25px;height:25px}.section-heading h2{font-size:16px}.below{gap:12px;padding:17px 2px}.below>div{gap:8px}.below .small-seal{width:24px;height:24px}.below small{max-width:170px}.controls{font-size:8px;gap:7px}.controls kbd{height:16px;font-size:8px;min-width:14px;margin-right:1px}.world-top .muted{display:none}.clinic-layout{grid-template-columns:1fr}.patient-badge{margin-bottom:10px}.patient-badge canvas{width:45px;height:45px}.patient-badge b{font-size:17px}.chart{padding:12px}.evidence-list{max-height:100px;overflow:auto}.evidence-list li{padding:5px 0}.question-area>.speech{min-height:76px;padding:13px;font-size:14px}.question-area .section-label{margin-top:13px}.question-button{padding:10px;font-size:12px}.patient-intro{padding:15px;gap:13px}.patient-intro canvas{width:73px;height:73px}.patient-intro b{font-size:19px}.patient-intro .detail{font-size:10px;margin:5px 0 8px}.patient-intro .speech{font-size:13px}.choices{grid-template-columns:1fr}.choice{padding:13px;font-size:14px}.comparison{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.scope-list{grid-template-columns:1fr}.mode-cards,.exam-cards{grid-template-columns:1fr}.three-metrics{gap:6px}.metric{padding:10px}.metric b{font-size:19px}.metric small{font-size:10px}.result-banner{padding:13px}.result-banner h3{font-size:19px}.fact-box{padding:13px}.fact-box .original{font-size:14px}.quest-modal-item{gap:10px;padding:10px}.quest-modal-item b{font-size:16px}.quest-modal-item button{padding:7px}.dex-card{padding:12px}.dex-card b{font-size:14px}.dex-card small{font-size:10px}.tabs button{padding:11px 10px}.modal-actions button{font-size:12px}.toolbar input{width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Local journal menus share the existing parchment and pixel portraits. */
.save-indicator[data-status=saving]{color:#ad8952}.save-indicator[data-status=saved]{color:#42695b}.save-indicator[data-status=error],.save-indicator[data-status=conflict],.save-indicator[data-status=unavailable]{color:#a25549}.level-pill{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-warning{padding:13px;border:1px solid #d0b895;background:#f1e5d7;border-radius:6px;font-size:13px;line-height:1.7;margin:12px 0}.start-menu .mode-card{min-height:110px}.start-menu .primary{background:#e5edd9;color:var(--ink)}.character-setup{display:flex;gap:22px;align-items:center}.character-setup canvas{image-rendering:pixelated;width:96px;height:96px;border:2px solid #c8d3b8;border-radius:5px}.character-setup>div{flex:1;min-width:0}.character-setup input{padding:12px;border:1px solid #cbd4bd;background:#fffbed;width:100%;border-radius:5px}.auto-save-card,.save-slot{border:1px solid #cdd5bf;border-radius:6px;padding:16px;background:#faf8ec}.auto-save-card{margin-bottom:12px}.auto-save-card p,.save-slot p{font-size:13px;line-height:1.8;margin-top:8px}.save-slot h3{font:700 18px serif}.save-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.save-slot .modal-actions{gap:6px;margin-top:12px}.save-slot button{padding:8px;font-size:12px}.recovery-list{margin-top:18px;font-size:13px}.recovery-list p{padding:8px 0}.start-menu small{color:#65785d}.modal-layer{padding:16px}
@media(min-width:1000px) and (max-height:850px){.topbar{height:64px;padding:0 4%;gap:15px}main{padding:15px 28px 10px;max-width:1260px}.chapter{margin-bottom:12px}.chapter h1{font-size:22px;margin:5px 0}.chapter .eyebrow{font-size:9px}.tabs{margin-bottom:12px}.tabs button{padding:10px 17px}.layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.world-top{height:38px}.canvas-wrap{display:flex;justify-content:center;background:#304d3b;height:min(480px,calc(100dvh - 277px))}canvas#world{height:100%;width:auto;max-width:100%;aspect-ratio:5/3}.controls{padding:9px 13px}.journal-card{padding:15px}.quest-item{padding:8px 0}.sidebar{gap:10px}.mentor-card{padding:13px}.mentor-card p{font-size:15px;margin:7px 0}.mentor-card small{font-size:10px}.below{padding:12px 4px}footer{padding:9px 28px;margin-top:0}.modal-header{padding:14px 22px}.modal-header h2{font-size:22px}#modal{max-height:94dvh}#modal-body{padding:18px 22px}.question-area>.speech{min-height:86px;padding:13px 17px}.question-button{padding:11px}.modal-actions{margin-top:16px}.touch-controls{display:none}.start-menu .mode-card{min-height:100px}}
@media(max-width:800px){.save-slot-grid{grid-template-columns:1fr}.save-slot{padding:12px}.save-slot .modal-actions{margin-top:8px}.save-slot p{font-size:12px}.start-menu .mode-card{min-height:85px}.character-setup{gap:12px}.level-pill{max-width:140px}}
@media(min-width:1000px) and (max-height:850px){.chapter .eyebrow,.chapter p{display:none}.chapter h1{font-size:20px;margin:4px 0}.chapter{margin-bottom:10px}.canvas-wrap{height:min(480px,calc(100dvh - 310px))}.below{padding:8px 4px}.journal-card{padding:12px 14px}.journal-card>p{margin:8px 0}.quest-item{padding:6px 0}.quest-item canvas{width:25px;height:25px}.journal-card>.primary{margin-top:8px}.mentor-card{padding:11px}.mentor-card p{font-size:14px;margin:5px 0}footer{padding:6px 28px}}
.dispensing-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.wooden-shelf{padding:14px;background:#a27e58;border:4px solid #76573e;border-radius:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;box-shadow:inset 0 0 0 2px #bd9e74}.herb-drawer{background:#f0e2c4;border-color:#70563d;border-bottom-width:4px;min-height:65px;line-height:1.7;font-size:13px;text-align:center;padding:10px}.herb-drawer.selected{box-shadow:inset 0 0 0 2px #577b64;background:#e5e6cf}.herb-drawer img{width:100%;height:105px;object-fit:contain;display:block}.decoction-desk{text-align:center;border:1px solid #c9ccb6;background:#e9e6d6;border-radius:6px;padding:14px}.decoction-pot{max-width:250px;margin:auto}.decoction-pot svg{width:100%;height:auto;display:block}.selected-ingredients{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:10px 0 18px}.craft-chip{padding:6px 8px;font-size:11px;background:#f8f1db;border-color:#c4b28d}.craft-chip img{width:32px;height:28px;object-fit:contain}.brew-scene{text-align:center;padding:12px}.brew-scene .decoction-pot{max-width:300px}.brew-scene h3{font:700 21px serif}.brewing .pot-steam{animation:steam .9s ease-in-out infinite}.brewing .pot-water{animation:water .5s ease-in-out infinite alternate}.still .pot-steam,.still .pot-water{animation:none}.medicine-delivery{display:flex;align-items:center;gap:20px;background:#e8eddb;border:1px solid #c0cbad;border-radius:6px;padding:16px;margin:12px 0}.medicine-delivery canvas{width:64px;height:64px;image-rendering:pixelated}.medicine-delivery p{font-size:14px;line-height:1.8}.medicine-delivery small{font-size:12px;color:#748567}.medicine-bowl{display:block;width:64px;height:36px;flex-shrink:0;background:#ede1b8;border:4px solid #81684b;border-top:8px solid #967e47;border-radius:10% 10% 50% 50%}.herb-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.herb-visual{background:#f8f1dd;border-color:#c6ba9c;padding:13px}.herb-visual img{width:100%;height:115px;object-fit:contain}.herb-visual b{display:block;font-size:15px;margin-top:6px}.herb-visual small{display:block;font-size:11px;margin-top:6px;color:#8a7f65}.art-pending{display:grid;place-items:center;height:115px;font-size:12px;color:#9b9179;border-bottom:1px dashed #d8ccb0}.herb-enlarged{display:block;width:min(380px,100%);height:280px;object-fit:contain;margin:0 auto 15px;background:#eee7d4;border:1px solid #d7cbb0;border-radius:6px}@keyframes steam{from{opacity:.35;transform:translateY(2px)}to{opacity:.8;transform:translateY(-6px)}}@keyframes water{to{opacity:.7}}@media(max-width:700px){.dispensing-layout{grid-template-columns:1fr}.decoction-pot{max-width:170px}.decoction-desk{padding:10px}.herb-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.medicine-delivery{gap:10px;padding:10px}.medicine-delivery p{font-size:12px}.herb-drawer{min-height:52px;font-size:12px}.herb-visual img,.art-pending{height:95px}}
/* Desktop height follows the available viewport; the village artwork is unchanged. */
@media(min-width:1000px){#app{height:100dvh;min-height:600px;display:flex;flex-direction:column}.topbar{flex-shrink:0}main{width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.chapter,.tabs,.below{flex-shrink:0}.layout{flex:1;min-height:0;align-items:stretch}.world-card{min-height:0;display:flex;flex-direction:column}.world-top,.controls,.touch-controls{flex-shrink:0}.canvas-wrap{height:auto;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}canvas#world{width:100%;height:100%;max-width:100%;aspect-ratio:auto;object-fit:contain}.sidebar{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.journal-card,.mentor-card,.mini-stats{flex-shrink:0}#app>footer{flex-shrink:0;width:min(1250px,100%);margin-top:0}}
@media(min-width:1000px) and (max-height:850px){.dispensing-layout{grid-template-columns:minmax(0,1fr) 240px;gap:14px}.wooden-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}.herb-drawer{min-height:58px;padding:8px;font-size:13px;line-height:1.6}.decoction-desk{position:sticky;top:0;padding:10px}.selected-ingredients{max-height:170px;overflow:auto}.decoction-pot{max-width:205px}.clinic-layout .chart{max-height:390px;overflow:auto}.save-warning{font-size:12px;line-height:1.6}.controls{font-size:10px}.controls .text-button{font-size:11px}}
/* Fine source pixels, original proportions. Assets are not enlarged into blocky portraits. */
#world{image-rendering:pixelated;image-rendering:crisp-edges}.herb-visual img,.herb-enlarged,.herb-drawer img,.room-vignette,.pixel-pot img{image-rendering:pixelated}.herb-enlarged{width:384px;height:288px;max-width:100%;object-fit:contain}.room-vignette{display:block;width:100%;height:70px;object-fit:cover;object-position:50% 48%;border:1px solid #b9b59c;border-radius:4px;margin:10px 0}.pixel-pot{position:relative;width:100%;padding-top:12px}.pixel-pot img{width:100%;height:auto;display:block}.pixel-steam{position:absolute;left:0;right:0;top:-4px;color:#91a48e;font-size:36px;letter-spacing:5px;opacity:.65;animation:steam 1.5s ease-in-out infinite alternate}.still .pixel-steam{animation:none}.herb-drawer:active{transform:translateY(2px)}.question-area .speech{animation:dialogue-in .16s ease-out}@keyframes dialogue-in{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px) and (max-height:850px){.room-vignette{height:44px}.herb-visual img{height:108px}.decoction-pot{max-width:185px}}
@media(prefers-reduced-motion:reduce){.pixel-steam,.question-area .speech{animation:none}}
.tabs button:before{content:'';display:inline-block;width:18px;height:18px;vertical-align:middle;margin-right:7px;background-size:contain;image-rendering:pixelated}.tabs [data-menu=village]:before{background-image:url('../assets/items/quest.png')}.tabs [data-menu=dex]:before{background-image:url('../assets/items/formula.png')}.tabs [data-menu=records]:before{background-image:url('../assets/items/journal.png')}.tabs [data-menu=focus]:before{background-image:url('../assets/items/herb-pouch.png')}.result-badge:before{content:'';display:inline-block;width:20px;height:20px;background:url('../assets/items/coin.png') center/contain;vertical-align:middle;image-rendering:pixelated}.tools-decoration{display:flex;justify-content:center;gap:10px;height:24px}.tools-decoration img{height:24px;image-rendering:pixelated}
.medicine-bowl{background:#ede1b8 url('../assets/items/medicine-bowl.png') center/contain no-repeat;border:0;border-radius:0;image-rendering:pixelated}
.pwa-settings{margin-top:20px;padding:14px;border:1px solid #c8c4ac;border-radius:8px}.pwa-settings summary{cursor:pointer;font-weight:700}.pwa-settings .modal-actions button{min-height:44px}
