:root{font-family:"Malgun Gothic","Segoe UI",sans-serif;color:#3d4933;background:#243c39;--ink:#39462f;--paper:#f3ecd7;--green:#728e56;--gold:#eccb6d}*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;overflow:hidden}body{display:grid;place-items:center;background:radial-gradient(ellipse at 25% 10%,#4b6a55,#243c39 55%,#172d31)}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0;font-weight:700}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #51909e;outline-offset:2px}button:hover:not(:disabled){filter:brightness(1.06)}button:active:not(:disabled){translate:0 1px}button,select,input{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}[hidden]{display:none!important}
#journey{position:relative;width:min(100%,490px);height:100dvh;max-height:960px;overflow:hidden;background:var(--paper);display:grid;grid-template-rows:58px 69px minmax(185px,1.5fr) 52px minmax(111px,.85fr) 99px 62px;box-shadow:0 0 0 1px #bfc8a545,0 20px 95px #101f2bb3;isolation:isolate}.wallet{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#e2e5c9;border-bottom:2px solid #b2bc99}.portrait{width:38px;height:38px;flex:none;border:2px solid #899167;border-radius:10px;background:#8ea785;overflow:hidden;box-shadow:inset 0 -3px #6b8464}.portrait>span{display:block;width:61px;height:61px;margin:-13px -12px;background:url('../../assets/game/characters/v4/knight.png') 0 0/400% 200%;image-rendering:pixelated}.wallet-name{flex:1;min-width:0}.wallet-name>b{font-size:13px;display:block}.wallet-name small{display:block;font-size:6px;letter-spacing:1px;color:#929b73;margin-top:4px}.wallet-pill{display:flex;align-items:center;gap:6px;font-size:12px;border:1px solid #b5bc8c;background:#f8f0ca;border-radius:15px;padding:5px 9px;min-width:47px;box-shadow:0 2px #c1c59f}.coin-icon{display:block;width:15px;height:15px;border-radius:50%;background:#eec564;border:2px solid #a4893d;box-shadow:inset 0 0 0 2px #ffe9a2}.potion-icon{width:12px;height:14px;background:#d08173;border:2px solid #965748;border-radius:3px 3px 5px 5px;position:relative}.potion-icon:before{content:"";position:absolute;width:6px;height:4px;background:#957052;left:1px;top:-5px}.menu-button{background:none;font-size:23px;color:#6e7b55;padding:2px 3px;margin-left:2px}.chapter-strip{position:relative;display:flex;align-items:start;justify-content:space-between;padding:9px 18px 0;background:#eff0d9}.chapter-strip>div>span{font:7px Georgia,serif;letter-spacing:2px;color:#9c9e79}.chapter-strip h1{font-size:17px;letter-spacing:-.5px;margin-top:3px}.day-mark{background:transparent;text-align:right;padding:0}.day-mark small{display:block;font-size:8px;color:#9c9c7d;font-weight:400}.day-mark b{font-size:18px;color:#66804e}.day-mark i{font-size:10px;font-style:normal;color:#a2a487}.milestones{position:absolute;display:flex;justify-content:space-between;align-items:center;bottom:8px;left:18px;right:18px;height:5px;background:#cdd4b5;border-radius:4px}.milestones i{width:8px;height:8px;border-radius:50%;background:#c5cbaa;border:2px solid #eff0d9}.milestones i.done{background:#799553}.milestones i.current{width:11px;height:11px;background:#efd075;border:2px solid #9b9f63;box-shadow:0 0 0 2px #f4e5ac}.milestones i.boss{border-radius:2px;width:10px;height:10px;rotate:45deg;background:#a19f87}.milestones i.current.boss{background:#d9af69}
#stage{position:relative;min-height:0;overflow:hidden;background:#9ab782;border-block:2px solid #7a9b70}#scene{width:100%;height:100%;display:block;image-rendering:pixelated}.scene-top{position:absolute;inset:10px 12px auto;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.scene-top>span{background:#f1edcce6;border:1px solid #8fa26c;border-radius:14px;padding:5px 12px;color:#63714c;font-size:9px;box-shadow:0 2px #5b77592b}.scene-top button{pointer-events:auto;background:#3e5c49cc;border:1px solid #d1d9b0;border-radius:6px;padding:5px 9px;font-size:11px;color:#f4e8bd}#scene-banner{position:absolute;top:24%;left:0;right:0;text-align:center;color:#fff2b1;font-weight:900;font-size:24px;letter-spacing:2px;text-shadow:0 2px #536249,2px 0 #536249,-2px 0 #536249;opacity:0;pointer-events:none;transition:opacity .15s}#scene-banner.visible{opacity:1}.hero-vitals{position:absolute;bottom:38px;left:15px;right:15px;display:flex;align-items:center;gap:6px;font-size:13px;color:#fbebbc;text-shadow:0 1px #4d6941}.hero-vitals>div{position:relative;flex:1;max-width:150px;height:12px;background:#43553cdc;border:1px solid #f1dfb0;border-radius:4px;overflow:hidden}.hero-vitals i{display:block;height:100%;background:#aaca73;box-shadow:inset 0 2px #d4e4a0;width:100%;transition:width .15s}.hero-vitals b{position:absolute;inset:0;text-align:center;font-size:8px;line-height:10px;text-shadow:0 1px #3b543b}.hero-vitals small{font-size:10px}.hero-vitals .guard-symbol{color:#a9d4db;margin-left:4px}#combat-readout{position:absolute;bottom:0;left:0;right:0;height:29px;background:#3b563fe0;border-top:1px solid #75926e;text-align:center;line-height:28px;font-size:10px;color:#e5e7b7;padding:0 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.build-strip{display:flex;gap:9px;align-items:center;padding:7px 15px;background:#dce0bd;border-bottom:2px solid #bec89b}.level-badge{width:40px;padding:0;background:none;text-align:center;flex:none}.level-badge small{font-size:8px;color:#8c9773}.level-badge b{font-size:18px;color:#5c774a;margin-left:2px}.level-badge>div{width:37px;height:4px;border-radius:4px;background:#a6b288;overflow:hidden;margin-top:2px}.level-badge i{display:block;height:100%;width:0;background:#e6c36c}.skill-slots{display:flex;gap:6px;overflow:hidden;flex:1}.skill-slot{width:34px;height:34px;border:1px solid #9eae7f;border-radius:6px;background:#f5ebc7;box-shadow:0 2px #b7c394;display:grid;place-items:center;padding:2px;flex:none}.skill-slot.empty{opacity:.6;border-style:dashed;background:#d0d8b1;box-shadow:none;color:#a0ae84;font-size:16px}.build-more{font-size:21px;color:#85936c;background:none;padding:2px;width:24px}.pixel-icon{display:block;width:30px;height:30px;flex:none;background-image:url('../../assets/game/common/v1/items.png');background-size:600% 600%;background-position:var(--ix) var(--iy);image-rendering:pixelated}.asset-crop{position:relative;display:inline-block;overflow:visible;background:none!important}.asset-crop>span{position:absolute;left:50%;bottom:0;transform:translateX(-50%);background-repeat:no-repeat;image-rendering:pixelated}.skill-slot .pixel-icon{width:27px;height:27px}
.story-paper{position:relative;min-height:0;overflow:auto;padding:14px 19px 10px;background:linear-gradient(transparent 96%,#beb69415 96%),#f4eedb;background-size:100% 27px;scrollbar-width:thin}.story-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.story-heading>span{font-size:8px;color:#9b986d;letter-spacing:1px}.story-heading button{background:none;font-size:8px;color:#9e9b73;padding:1px}.story-paper h2{font-size:17px;color:#536142;letter-spacing:-.4px;margin-bottom:7px;line-height:1.4}.story-paper>p{font-size:11px;color:#908b6b;line-height:1.85}#recent-story{margin-top:10px;font-size:9px;color:#aaa17d;border-top:1px dashed #d1c7a8;padding-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#recent-story:empty{display:none}.action-dock{padding:5px 16px 12px;background:#f4eedb;display:flex;flex-direction:column;gap:8px;min-height:0}.pace-row{display:flex;align-items:center;justify-content:space-between;height:16px;flex:none}.pace-row>span{font-size:8px;color:#aaa184}.pace-row button{background:none;padding:0;color:#889469;font-size:10px;display:flex;align-items:center;gap:5px}.pace-row i{display:block;width:12px;height:12px;background:#dedcc1;border:1px solid #aaa982;border-radius:3px}.pace-row button[aria-pressed=true] i{background:#8eab62;border-color:#657e4a}.pace-row button[aria-pressed=true] i:after{content:'✓';display:block;font-size:10px;line-height:10px;color:white}#main-action{position:relative;flex:1;min-height:45px;border:2px solid #ac9959;border-radius:10px;background:linear-gradient(#f2dd8f,#e6c168);box-shadow:0 4px #a29256,inset 0 2px #fff0b6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#5a5937}#main-label{font-size:19px;letter-spacing:.5px}#main-hint{font-size:9px;font-weight:400;color:#9a8650}#main-action>b{position:absolute;right:22px;top:50%;translate:0 -50%;font-size:23px;color:#9d8b47}#battle-actions{display:flex;gap:8px;flex:1}#battle-actions button{border:2px solid #80956d;border-radius:9px;background:#b4c88c;box-shadow:0 3px #778c62;color:#50643f;flex:1;font-size:12px}#battle-actions button:last-child{background:#e8dfbd;border-color:#b2a57c;box-shadow:0 3px #a69b72;flex:0 0 35%}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);background:#dbe0c3;border-top:2px solid #aebd90;padding:4px 9px max(4px,env(safe-area-inset-bottom))}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#8d9872;background:none;border-radius:7px;min-width:0}.bottom-nav button>span{font-size:23px;line-height:1}.bottom-nav button b{font-size:9px;font-weight:400}.bottom-nav button.selected{background:#f7edbf;color:#637b46;border:1px solid #b9b487;box-shadow:0 -3px #e9ddb0}.bottom-nav button.selected>span{font-size:26px;color:#748b4b}.bottom-nav button.selected b{font-weight:700}
#toast{position:absolute;z-index:60;left:50%;top:19%;translate:-50% 0;padding:10px 15px;max-width:89%;width:max-content;color:#fbf4d3;background:#405b47f2;border:1px solid #b7c598;border-radius:8px;font-size:11px;box-shadow:0 4px 20px #20332233;pointer-events:none;opacity:0}#toast.visible{opacity:1}#modal-backdrop{position:absolute;inset:0;z-index:40;background:#314735b8;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:15px}#modal{width:100%;max-height:93%;display:flex;flex-direction:column;background:#f5edcf;border:2px solid #8b9b6d;border-radius:15px;box-shadow:0 9px #263e343d,0 20px 50px #20332b40;overflow:hidden}#modal>header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:17px 18px 15px;background:#dce3b9;border-bottom:2px solid #b0bc8d}#modal>header small{display:block;font-size:7px;letter-spacing:2px;color:#8c9c6e;margin-bottom:6px}#modal h2{font-size:21px;color:#526d42;line-height:1.3;letter-spacing:-.5px}#modal>header>button{background:transparent;font-size:25px;color:#8a9970;padding:0 1px 3px 12px}#modal-body{padding:17px;overflow:auto;scrollbar-width:thin}.modal-copy{font-size:12px;color:#9b9170;line-height:1.9;margin-bottom:16px}.modal-note{font-size:10px;color:#a29777;line-height:1.8;margin-top:14px}.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.talent{position:relative;background:#fcf4dc;border:2px solid #abb782;border-radius:11px;padding:12px 7px 9px;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:245px;box-shadow:0 4px #c4c69a}.talent:nth-child(2){border-color:#baab74;box-shadow:0 4px #d2c390}.talent:nth-child(3){border-color:#89a7a1;box-shadow:0 4px #b1c1a8}.talent .pixel-icon{width:49px;height:49px;margin:10px 0 12px}.talent .talent-tag{font-size:8px;letter-spacing:1px;color:#96a478}.talent h3{font-size:12px;color:#62734a;line-height:1.65;word-break:keep-all}.talent p{font-size:10px;color:#a19573;line-height:1.8;margin:9px 0 12px;flex:1;word-break:keep-all}.talent button{width:100%;padding:8px 2px;border:1px solid #97a26b;border-radius:6px;background:#ccd69c;color:#617343;font-size:11px;box-shadow:0 2px #a7b87a}.choice-list{display:grid;gap:9px}.choice-button{padding:12px 13px;display:flex;text-align:left;align-items:center;gap:11px;background:#fff7dc;border:1px solid #b8ba8c;border-radius:9px;box-shadow:0 3px #d2ccaa;min-height:61px}.choice-button>div{flex:1;min-width:0}.choice-button b{display:block;font-size:13px;color:#66764b}.choice-button small{display:block;font-size:10px;color:#a29874;font-weight:400;line-height:1.6;margin-top:4px}.choice-button>span:last-child{color:#b7a96c;font-size:17px}.secondary-button{display:block;width:100%;padding:11px;border:1px solid #c1ba98;border-radius:7px;background:#e7e1c1;color:#92926b;font-size:11px;margin-top:15px}.primary-button{display:block;width:100%;padding:13px;border:2px solid #b5a266;background:linear-gradient(#f5dc8d,#e7c56e);border-radius:9px;color:#687143;box-shadow:0 3px #ab9b63;font-size:15px}.info-card{padding:13px;background:#fff7df;border:1px solid #d3caa5;border-radius:9px;margin-bottom:9px;display:flex;gap:12px;align-items:center}.info-card>div{flex:1;min-width:0}.info-card b{font-size:12px;color:#6e7b51;display:block}.info-card p{font-size:10px;line-height:1.8;color:#a49876;margin-top:4px}.info-card small{font-size:9px;color:#a7a079}.modal-subtitle{font-size:12px;color:#7b8a5b;margin:19px 0 10px}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#e5dfbb;border-radius:10px;padding:18px 4px;margin:10px 0 18px;text-align:center}.summary-stats b{display:block;font-size:25px;color:#71894f}.summary-stats small{font-size:9px;color:#9b9273}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #d9d0ae;padding:11px 0;font-size:11px;color:#8d9068}.settings-row button{padding:7px 12px;background:#d5dfb2;color:#738750;border:1px solid #aab98a;border-radius:6px}.seed-label{font-size:10px;color:#a29b7a;display:block;margin:16px 0 7px}.seed-input{width:100%;border:1px solid #bbb38f;background:#fff9e5;color:#78845d;padding:11px;border-radius:7px;font-size:12px;margin-bottom:14px}.version-card{display:block;text-decoration:none;border:1px solid #b9c298;background:#fdf5d7;border-radius:9px;padding:14px;margin-bottom:10px;color:#677d50}.version-card b{display:block;font-size:14px;margin-bottom:6px}.version-card span{font-size:11px;line-height:1.8;color:#a09573}.route-list{display:grid;gap:6px}.route-row{display:flex;align-items:center;gap:10px;border-radius:8px;padding:9px 10px;background:#e9e3c3;font-size:11px;color:#a69c7a}.route-row.current{background:#dce5b4;color:#627b49;border:1px solid #a5b785}.route-row b{min-width:23px;color:#8b9970}.route-row small{margin-left:auto;font-size:9px}.journal-entry{border-left:2px solid #c1ca9b;padding:0 0 15px 13px;margin-left:5px}.journal-entry small{font-size:8px;color:#a8a17a}.journal-entry b{display:block;margin:5px 0;font-size:12px;color:#718157}.journal-entry p{font-size:11px;color:#a29777;line-height:1.8}#loading{position:absolute;inset:0;z-index:80;background:#e1e6c7;display:grid;place-content:center;text-align:center;gap:13px;color:#648150}#loading strong{font:32px Georgia,serif;letter-spacing:4px}#loading span{font-size:12px;letter-spacing:3px}#loading p{font-size:10px;color:#92a077;margin-top:15px}
@media(min-width:650px){#journey{border-radius:18px}body{padding:14px}#journey{height:calc(100dvh - 28px)}}
@media(max-height:690px){#journey{grid-template-rows:49px 55px minmax(143px,1.4fr) 40px minmax(77px,.8fr) 77px 49px}.wallet{padding:5px 12px}.portrait{width:33px;height:33px}.chapter-strip{padding-top:5px}.chapter-strip h1{font-size:15px}.chapter-strip>div>span{font-size:6px}.day-mark b{font-size:16px}.milestones{bottom:5px}.build-strip{padding:4px 12px;gap:6px}.skill-slot{width:28px;height:28px}.skill-slot .pixel-icon{width:24px;height:24px}.level-badge b{font-size:15px}.story-paper{padding:8px 16px 6px}.story-heading{margin-bottom:4px}.story-paper h2{font-size:14px;margin-bottom:4px}.story-paper>p{font-size:10px;line-height:1.65}#recent-story{display:none}.action-dock{padding:2px 13px 8px;gap:5px}#main-label{font-size:16px}#main-hint{font-size:8px}.pace-row{height:13px}.pace-row>span{font-size:7px}.bottom-nav{padding-top:3px}.bottom-nav button>span{font-size:19px}.bottom-nav button.selected>span{font-size:22px}.bottom-nav button b{font-size:8px}.scene-top{top:7px}.scene-top>span{font-size:8px;padding:4px 9px}#combat-readout{height:24px;line-height:23px;font-size:9px}.hero-vitals{bottom:31px}#modal>header{padding:11px 15px}#modal h2{font-size:18px}#modal-body{padding:13px}.talent{min-height:218px;padding:9px 5px}.talent .pixel-icon{width:40px;height:40px;margin:6px 0 10px}}
@media(max-width:350px){.wallet{gap:6px}.wallet-name>b{font-size:11px}.wallet-name small{font-size:5px}.wallet-pill{padding:4px 7px;min-width:40px;font-size:10px}.menu-button{font-size:20px}.option-grid{gap:5px}.talent h3{font-size:10px}.talent p{font-size:9px}.talent{padding:9px 4px}.pace-row>span{font-size:7px}.story-paper>p{font-size:10px}#modal-backdrop{padding:10px}#modal h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.hero-vitals{right:auto;width:calc(52% - 18px)}.hero-vitals>div{min-width:40px}.hero-vitals small{white-space:nowrap;font-size:8px}.hero-vitals .guard-symbol{font-size:10px;margin-left:0}#modal:focus{outline:none}
#modal h2{word-break:keep-all;text-wrap:balance}.secondary-button+.primary-button{margin-top:10px}
