@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--ink:#283e39;--forest:#244d43;--deep:#142e2c;--gold:#e9c580;--paper:#f8f4e9;--muted:#78867b;--line:#dbded1;--red:#9e5046;--sans:'Noto Sans KR','Malgun Gothic',sans-serif;--serif:'Gowun Batang','Batang',serif;font-family:var(--sans);color:var(--ink);background:var(--deep);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button{color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b89047;outline-offset:4px}button svg{pointer-events:none}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit}svg.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}p{line-height:1.7}h1,h2,h3,p{margin:0}.hidden,[hidden]{display:none!important}button{border:0}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:600}.home{min-height:100svh;height:100svh;overflow:hidden;position:relative;background:#173a35;color:#fff8e6}.home-art{position:absolute;inset:0;background:url('assets/hanyang.webp') 63% 50%/cover;transform:scale(1.03)}.home-shade{position:absolute;inset:0;background:linear-gradient(90deg,#153b37f7 0%,#153b37eb 24%,#153b3794 47%,#102f3533 100%),linear-gradient(0deg,#142c2fc9,transparent 35%)}.home-nav{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:30px 4.4%}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;letter-spacing:.04em}.brand .icon{color:var(--gold);width:32px;height:32px}.quiet-light{background:transparent;color:#f7eed0;display:flex;gap:12px;align-items:center;font-size:12px}.quiet-light .icon{width:16px}.hero-copy{position:relative;z-index:2;padding:5vh 0 0 8%;max-width:610px}.hero-copy .eyebrow{color:#d6c79e;display:flex;gap:15px;align-items:center;margin-bottom:20px}.tiny-line{width:24px;height:1px;background:#c0b48c}h1{font:700 clamp(52px,6.6vw,95px)/1.23 var(--serif);letter-spacing:-.06em;text-shadow:0 4px 40px #172e2a44}h1 em{font-style:normal;color:#edce8f}.hero-description{font-family:var(--serif);font-size:clamp(16px,1.6vw,23px);line-height:1.8;margin:24px 0 30px;color:#e6eadb}.gold-button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:58px;padding:15px 26px;border-radius:6px;background:#edce8f;color:#253d34;font-weight:800;box-shadow:0 4px 0 #b5996255,0 8px 30px #0d272944}.gold-button:hover{background:#ffe1a0}.gold-button .icon{width:20px}.home-links{display:flex;align-items:center;gap:17px;color:#ccd6bd;margin-top:23px;font-size:12px}.home-links button{background:transparent;color:inherit;padding:6px 0;border-bottom:1px solid #b5c5b544}.resume-label{font-size:12px;color:#d4dabd;margin-top:12px}.hero-person{position:absolute;right:9%;bottom:10%;width:min(38vw,505px);z-index:1}.hero-person img{width:100%;filter:drop-shadow(0 24px 25px #152b3255);animation:breathe 5s ease-in-out infinite}.hero-orbit{position:absolute;inset:20% 0 7%;background:radial-gradient(ellipse,#ffebad3d,transparent 70%)}.hero-name{position:absolute;bottom:0;right:-25px;border-left:1px solid #e8d69e88;padding:0 0 0 18px;font:700 21px var(--serif);text-shadow:0 2px 7px #173833}.hero-name span{display:block;font:11px var(--sans);margin-top:7px;color:#ecedcf}.home-caption{position:absolute;bottom:33px;left:8%;right:5%;display:flex;align-items:center;gap:20px;color:#d4ddc8;font-size:11px;letter-spacing:.06em}.home-caption b{font-weight:500;color:#eee6cd}.caption-line{height:1px;background:#d3d8b744;flex:1;max-width:95px}.home-motes{position:absolute;width:4px;height:4px;background:#fcebbf;border-radius:50%;top:25%;left:70%;box-shadow:-130px 170px #edce8faa,80px 160px #edce8fcc,200px 100px #edce8f99,-210px 370px #edce8f88,40px 330px #edce8faa;animation:float 7s ease-in-out infinite}
.game{height:100svh;display:flex;flex-direction:column;background:var(--paper)}.game-header{height:76px;flex-shrink:0;padding:0 26px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:28px;background:#fcf9f0}.game-brand{background:transparent;text-align:left;width:204px;flex-shrink:0;font-family:var(--serif);font-size:13px}.game-brand b{display:block;font-size:17px}.game-brand .icon{color:var(--forest)}.chapter-heading{flex:1}.chapter-heading>span{font-size:10px;color:#7a8576;letter-spacing:.11em}.chapter-heading h2{font-family:var(--serif);font-size:21px;line-height:1.6}.header-right{display:flex;align-items:center;gap:17px}.score{display:flex;gap:7px;align-items:center;font-variant-numeric:tabular-nums}.score>.icon{color:#a7803e;width:19px}.score b{font-size:20px}.score small{font-size:11px;color:var(--muted)}.icon-btn{width:40px;height:40px;background:transparent;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.icon-btn:hover{background:#e9eddf}.play-layout{display:flex;flex:1;min-height:0}.quest-sidebar{width:248px;flex-shrink:0;background:linear-gradient(#f8f5ea,#eeefe3);padding:27px 20px 20px;display:flex;flex-direction:column;z-index:2;border-right:1px solid #d7dccd}.sidebar-title{display:flex;justify-content:space-between;align-items:center}.sidebar-title .eyebrow{font-size:10px;color:#768172;letter-spacing:.1em}.sidebar-title strong{font-size:13px;color:var(--forest)}.quest-track{height:3px;background:#dce2d0;margin:14px 0 18px;border-radius:3px;overflow:hidden}.quest-track i{display:block;height:100%;background:#547b59;transition:width .6s}.quest-item{display:flex;gap:11px;align-items:flex-start;text-align:left;width:100%;padding:17px 5px;background:transparent;border-bottom:1px solid #d8dece}.quest-num{width:25px;height:25px;border:1px solid #bfcab4;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font:12px var(--serif);color:#67815f}.quest-item strong{display:block;font-size:13px;font-weight:600;line-height:1.65}.quest-item small{font-size:10px;color:#7e877b;display:block;margin-top:5px}.quest-item:hover{color:#957438}.quest-item.done .quest-num{background:var(--forest);border-color:var(--forest);color:#f7ebc9}.quest-item.done strong{color:#76846f}.companion-note{margin-top:auto;padding-top:25px;display:flex;align-items:center;gap:10px}.portrait{width:54px;height:69px;flex-shrink:0;background-image:url('assets/v2/npc-roles.webp');background-size:400% 200%;background-position:0 0}.companion-note b{font-size:12px}.companion-note p{font-size:11px;line-height:1.65;color:#758071;margin-top:4px}.book-link{display:flex;align-items:center;gap:10px;background:transparent;border-top:1px solid #d7dccb;padding:16px 0 0;margin-top:22px;width:100%;font-size:11px}.book-link .icon{width:17px}.book-link .icon:last-child{margin-left:auto}.world{position:relative;flex:1;overflow:hidden;background:#c2d0a0;touch-action:none}.world canvas{display:block;position:absolute;inset:0;width:100%;height:100%}.map-top{position:absolute;top:20px;left:23px;right:23px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.map-top>span{font:700 16px var(--serif);color:#fdf8e8;background:#29483ac2;border:1px solid #c9d6b566;box-shadow:0 3px 10px #29432c22;padding:9px 15px;border-radius:3px;backdrop-filter:blur(5px)}.glass-btn{display:flex;gap:7px;align-items:center;padding:9px 13px;border:1px solid #fcf4d2a0;background:#faf6e5dc;pointer-events:auto;border-radius:5px;font-size:11px;box-shadow:0 3px 12px #17362e22}.glass-btn .icon{width:16px;height:16px}.map-bottom{position:absolute;bottom:19px;left:23px;right:23px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.control-tip{font-size:10px;display:flex;align-items:center;gap:7px;color:#eef4e3;background:#243f34b8;padding:8px 11px;border-radius:4px;backdrop-filter:blur(4px)}.control-tip .icon{width:15px;height:15px}.interact{background:#fcf7e4eb;padding:12px 17px;display:flex;gap:10px;align-items:center;font-size:12px;border-radius:5px;pointer-events:auto;box-shadow:0 4px 15px #172e2844}.interact .icon{width:17px;height:17px}.interact kbd{font-size:10px;color:#72816b;border:1px solid #c8d0bb;padding:2px 5px;border-radius:3px}.game-footer{height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-top:1px solid var(--line);color:#7e897d;font-size:10px;background:#f7f5eb}.game-footer button{font-size:11px;display:flex;align-items:center;gap:10px;background:transparent}.game-footer .icon{width:15px}.game-footer i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#74946d;margin-right:7px}.game-footer b{font-weight:500;color:#475b46}.pin{position:absolute;transform:translate(-50%,-100%);padding:0;background:transparent;color:var(--ink);display:flex;align-items:center;flex-direction:column;filter:drop-shadow(0 3px 2px #29392333);min-width:72px}.pin .npc{display:block;width:62px;height:90px;background-image:url('assets/v2/npc-roles.webp');background-size:400% 200%;pointer-events:none}.pin .pin-label{font-size:10px;background:#fff9e9f5;border:1px solid #e7d8b2;border-radius:3px;padding:5px 9px;white-space:nowrap;box-shadow:0 3px 8px #1c39282a;position:absolute;bottom:89px}.pin .pin-label::after{content:'';position:absolute;left:50%;bottom:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #fff9e9;transform:translateX(-50%)}.pin .pin-dot{position:absolute;right:12px;top:19px;width:19px;height:19px;background:#e8c575;color:#3d492e;border:2px solid #fbf7dd;border-radius:50%;font-weight:800;font-size:11px;display:grid;place-items:center}.pin.done .pin-dot{background:#507458;color:white}.pin:hover .pin-label,.pin.near .pin-label{background:#ffe5a4;border-color:#cbad6f}.dpad{display:none;position:absolute;left:22px;bottom:19px;width:135px;height:100px}.dpad button{position:absolute;width:43px;height:43px;border-radius:9px;background:#fff6dfd9;border:1px solid #d6caac;box-shadow:0 3px 7px #2541303d;color:#294734;font-size:22px;touch-action:none;user-select:none}.dpad button[data-dir=up]{left:46px;top:0}.dpad button[data-dir=left]{left:0;top:47px}.dpad button[data-dir=down]{left:46px;top:47px}.dpad button[data-dir=right]{left:92px;top:47px}.chapter-flash{position:absolute;inset:0;pointer-events:none;display:grid;place-content:center;text-align:center;background:#203c3370;color:#fff0cc;animation:chapterIn 2.5s both;font-family:var(--serif);font-size:32px}.chapter-flash small{font:12px var(--sans);display:block;margin-bottom:15px;letter-spacing:.2em}
dialog{padding:0;border:0;background:var(--paper);color:var(--ink);border-radius:16px;width:min(960px,calc(100vw - 40px));max-height:calc(100svh - 38px);box-shadow:0 30px 120px #0c232b80;overflow:auto}dialog::backdrop{background:#0c252bb5;backdrop-filter:blur(6px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:22px 27px;border-bottom:1px solid #d9ddcd;gap:18px;background:#faf7ed;position:sticky;top:0;z-index:4}.dialog-header h2{font:700 23px var(--serif);margin-top:6px}.dialog-header .eyebrow{font-size:10px;color:#889280}.dialog-close{width:35px;height:35px;display:grid;place-items:center;border:1px solid #d7ddcc;background:transparent;border-radius:50%;flex-shrink:0}.dialog-close .icon{width:17px;height:17px}.dialog-body{padding:25px 29px 28px}.mission-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:23px}.mission-goal{font-weight:600;font-size:16px;line-height:1.7;flex:1}.mission-step{font-size:11px;border:1px solid #cdd8c0;border-radius:20px;padding:7px 12px;white-space:nowrap;color:#647c58}.mission-footer{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:17px;border-top:1px solid #daddce}.mission-footer small{font-size:10px;color:#87907e;line-height:1.7}.primary,.secondary{padding:12px 22px;min-height:45px;border-radius:6px;font-weight:600;font-size:13px;display:inline-flex;gap:10px;align-items:center;justify-content:center}.primary{background:var(--forest);color:#fff6e2}.primary:hover{background:#366551}.secondary{background:#e7ebdc;color:var(--forest)}.link-button{background:transparent;border-bottom:1px solid #a3ae91;padding:4px 0;color:#6c795e;font-size:11px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:19px}.actions.end{justify-content:flex-end}.muted{font-size:12px;color:#7d8878;line-height:1.8}.feedback{border-radius:6px;padding:11px 15px;margin-top:15px;font-size:13px;line-height:1.7;background:#e9edde;border:1px solid #ced9c0;animation:slideIn .2s}.feedback.bad{background:#f4e5db;border-color:#e2c5b4;color:#875a49}.feedback:empty{display:none}.source-note{font-size:11px;color:#87907c;margin-top:14px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.evidence-card{position:relative;text-align:left;border:1px solid #d5dcc9;background:#fffcf2;border-radius:9px;padding:18px;display:flex;gap:14px;min-height:105px;align-items:flex-start}.evidence-card:hover{border-color:#a0b38e;background:#f8f8e8}.evidence-card.selected{background:#e6edd9;border:2px solid #698561;padding:17px}.evidence-card h3{font-size:14px;font-weight:700;margin:1px 0 7px}.evidence-card p{font-size:12px;color:#718066;line-height:1.7}.evidence-card .icon{width:25px;height:25px;color:#aa8a4d;flex-shrink:0}.choice-mark{position:absolute;right:10px;top:9px;width:18px;height:18px;border-radius:50%;background:#4a7055;color:white;font-size:11px;display:grid;place-items:center}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.match-column{display:flex;flex-direction:column;gap:10px}.match-card{min-height:61px;background:#fffaf0;border:1px solid #d5ddc7;border-radius:8px;font-size:13px;line-height:1.6;padding:12px 16px;text-align:left}.match-card.selected{background:#f4e4b6;border-color:#bea15b;box-shadow:0 0 0 1px #bea15b}.match-card.matched{background:#e3ebd8;border-color:#99ad87;color:#516a46;opacity:1}.match-column:last-child .match-card{text-align:center;font-weight:600}.chips{display:flex;gap:9px;flex-wrap:wrap}.chip{padding:11px 17px;border-radius:6px;border:1px solid #ced7bf;background:#fffcf0;font-size:13px}.chip.selected{background:var(--forest);color:#fff5dd;border-color:var(--forest)}.paper{background:#fffdf4;border:1px solid #dadfcf;border-radius:10px;padding:21px}.paper h3{font-family:var(--serif);font-size:20px;margin-bottom:12px}.paper p{font-size:13px;color:#5e725b}.quiz-question{font:700 24px/1.7 var(--serif);margin:10px 0 23px}.answers{display:grid;gap:11px}.answer{display:flex;align-items:center;text-align:left;gap:14px;padding:16px 18px;min-height:62px;border:1px solid #d5dcc9;background:#fffcf2;border-radius:8px;font-size:14px;line-height:1.65}.answer>span:first-child{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border:1px solid #c9d1bc;border-radius:50%;font-size:11px;color:#6b7d61}.answer.selected{background:#e4ecd8;border-color:#749169}.answer.correct{background:#dce9d0;border:2px solid #6a8959}.answer.wrong{background:#f4e2d6;border-color:#c3876b}.progress-dots{display:flex;gap:7px}.progress-dots i{width:8px;height:8px;border-radius:50%;background:#d5dcc7}.progress-dots i.done{background:#5c7a4c}.progress-dots i.current{background:#bf9a56}.reward{text-align:center;padding:30px 30px 25px;position:relative;overflow:hidden}.reward .medallion{width:90px;height:90px;border:1px solid #c9ab65;border-radius:50%;display:grid;place-items:center;background:#f4e8c8;margin:0 auto 20px;box-shadow:0 0 0 8px #eddfbc70}.medallion .icon{width:45px;height:45px;color:#9d783d}.reward h2{font:700 30px var(--serif);margin-bottom:15px}.reward p{font-size:14px;max-width:600px;margin:0 auto;color:#66775f}.reward .record{font-family:var(--serif);font-size:20px;color:#314c35;padding:25px 0;line-height:1.8}.reward .points{font-size:13px;color:#a58037;margin:12px auto}.reward .actions{justify-content:center}.reward img.cheer{height:190px;max-width:80%;object-fit:contain;filter:drop-shadow(0 8px 8px #24402522)}.reward-book{font:700 58px var(--serif);color:#a08049}.intro-scene{min-height:370px;position:relative;background:url('assets/hanyang.webp') center/cover;border-radius:10px;overflow:hidden;display:flex;align-items:flex-end;padding:28px}.intro-scene::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#183933f5,transparent 85%)}.intro-scene img{position:absolute;height:310px;right:5%;bottom:0;filter:drop-shadow(0 8px 18px #1d352c66)}.intro-scene .intro-text{position:relative;max-width:63%;color:#fff7e3;z-index:2}.intro-text h3{font:700 28px/1.5 var(--serif);margin-bottom:13px}.intro-text p{font-size:14px;line-height:1.9;color:#e4e8d2}.intro-scene .eyebrow{margin-bottom:15px;color:#ead093}.intro-progress{display:flex;gap:6px;justify-content:center;margin-top:15px}.intro-progress i{width:18px;height:3px;background:#dce1d0}.intro-progress i.active{background:#587954}.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.chapter-card{display:flex;gap:15px;align-items:center;text-align:left;position:relative;background:#fffaf0;border:1px solid #d9decc;border-radius:8px;padding:17px;min-height:105px}.chapter-card .number{font:700 32px var(--serif);color:#b79b66}.chapter-card b{display:block;font-family:var(--serif);font-size:17px;line-height:1.6}.chapter-card small{font-size:11px;color:#7e8a73}.chapter-card.current{background:#e5ecd9;border-color:#7c9567}.journal-list{display:grid;gap:13px}.journal-entry{display:grid;grid-template-columns:42px 1fr auto;gap:14px;padding:18px;background:#fffdf3;border:1px solid #dce0d0;border-radius:8px;align-items:start}.journal-entry .icon{color:#9a844e}.journal-entry b{font:700 17px var(--serif)}.journal-entry p{font-size:12px;color:#6c7e63;margin-top:8px}.journal-entry small{display:block;font-size:10px;color:#929980;margin-top:8px}.journal-entry button{background:transparent;color:#4c6d49;font-size:11px;white-space:nowrap}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #dce0d0}.settings-row p{font-size:12px;color:#829075}.settings-row label{font-size:14px}.settings-row input[type=checkbox]{width:23px;height:23px;accent-color:var(--forest)}.settings-row input[type=range]{accent-color:var(--forest);width:145px}.small-title{font:700 22px var(--serif);margin:22px 0 13px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.guide-card{padding:22px 18px;background:#ecf0e1;border-radius:9px}.guide-card .icon{color:#a98a47;width:29px;height:29px;margin-bottom:15px}.guide-card b{display:block;font-size:14px;margin-bottom:7px}.guide-card p{font-size:12px;color:#74806c}.inline-input{width:100%;max-width:260px;border:1px solid #cad3bc;border-radius:6px;background:#fffdf1;padding:11px;color:var(--ink)}#toast{position:fixed;bottom:50px;left:50%;transform:translate(-50%,20px);opacity:0;z-index:20;background:#193d37f0;color:#f9efd4;padding:13px 22px;border:1px solid #b5ba8855;border-radius:7px;box-shadow:0 8px 24px #142d2855;max-width:90vw;font-size:13px;text-align:center;transition:.25s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}
.scene-board{position:relative;min-height:310px;aspect-ratio:2/1;background:#e7eddb;border:1px solid #d4ddc5;border-radius:10px;overflow:hidden}.scene-board>svg{display:block;width:100%;height:100%;position:absolute;inset:0}.hotspot{position:absolute;transform:translate(-50%,-50%);background:#fff5cfed;border:2px solid #c2a166;box-shadow:0 0 0 7px #ebd19033,0 3px 8px #12332422;width:45px;height:45px;border-radius:50%;color:#8b6c38;font-size:19px;animation:glow 2.4s infinite}.hotspot.found{background:#456e50;color:white;border-color:#afc39a;animation:none}.discoveries{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.discovery{font-size:11px;padding:7px 11px;border-radius:4px;background:#e7eedb;color:#587148}.tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.tool-card{padding:15px 10px 17px;background:#fffaf0;border:1px solid #d5ddc6;border-radius:9px;text-align:center;min-height:185px}.tool-card.selected{background:#e5ecd8;border:2px solid #718d61;padding:14px 9px 16px}.tool-card .tool-art{display:block;height:100px;margin-bottom:10px}.tool-card .tool-art svg{width:100%;height:100%}.tool-card b{display:block;font-family:var(--serif);font-size:18px}.tool-card small{display:block;font-size:10px;color:#7c896d;margin-top:8px;line-height:1.5}.weather-line{display:flex;align-items:center;gap:12px;padding:12px 17px;background:#e9eedf;border-radius:7px;margin-bottom:18px;font-size:13px}.weather-line .icon{color:#ae8b48}.letter-display{min-height:120px;display:flex;align-items:center;justify-content:center;gap:18px;background:#ede9d8;border-radius:9px;margin-bottom:22px}.letter-goal{font:700 53px var(--serif);color:#4a694d;border-right:1px solid #c4cdb6;padding-right:25px}.letter-slot{width:58px;height:68px;border:1px dashed #b3c2a1;border-radius:8px;background:#fffdf0;display:grid;place-items:center;font:700 31px var(--serif)}.letter-tile{width:58px;height:62px;background:#fffaf0;border:1px solid #ccd6bc;border-radius:8px;font:700 29px var(--serif)}.case-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.law-list{background:#ebe6d3;padding:23px;border-radius:9px;font-size:13px;line-height:1.9}.law-list b{font-family:var(--serif);font-size:20px;display:block;margin-bottom:10px}.law-list p{font-size:12px;margin-top:12px}.sort-item{padding:14px 16px;background:#fffaf0;border:1px solid #d3dcc4;border-radius:8px;margin-bottom:11px}.sort-item p{font-size:13px;margin-bottom:12px}.sort-item .chips .chip{font-size:11px;padding:7px 12px}.route-wrap{max-width:570px;margin:auto}.route-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:12px;background:#d1dcc0;border-radius:9px}.route-cell{aspect-ratio:1;border-radius:4px;background:#f6edcf;display:grid;place-items:center;position:relative;font-size:11px;min-width:0}.route-cell.block{background:#728b6e;color:#cfdcbf}.route-cell.goal{background:#91b98c;color:#1b4a32}.route-cell.visited{background:#e9d293}.route-cell img{position:absolute;height:95%;width:100%;object-fit:contain;bottom:3px;z-index:1}.route-cell .icon{width:28px;height:28px}.route-cell .cell-label{position:absolute;bottom:3px;font-size:8px;background:#fff6d9d9;border-radius:3px;padding:1px 3px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.resource{background:#fffaf0;border:1px solid #d7ddc9;border-radius:9px;padding:18px;text-align:center}.resource .icon{width:33px;height:33px;color:#a58a50}.resource b{display:block;font-size:14px;margin:12px 0}.resource-control{display:flex;justify-content:center;gap:17px;align-items:center}.resource-control button{width:32px;height:32px;background:#e3ead6;border-radius:50%;font-size:20px}.resource-control strong{font-size:22px}.naval-board{background:linear-gradient(#bbd7ce,#5b989e);border-radius:12px;overflow:hidden;min-height:275px;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}.sea-lane{display:flex;flex-direction:column;justify-content:space-between;align-items:center;min-height:235px;border-left:1px solid #e4f3d94d;border-right:1px solid #e4f3d94d;padding:7px;background:transparent;color:#173e42}.sea-lane .danger{font-size:11px;background:#f1d4a9;padding:6px 10px;border-radius:5px}.sea-lane .boat{width:100%;height:80px;max-width:125px}.sea-lane.selected{background:#eef9dd30;box-shadow:inset 0 -4px #f1d392}.battle-bar{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:13px}.winter-scene{padding:18px;border-radius:10px;background:linear-gradient(#1d3535aa,#243b3880),url('assets/winter.webp') center/cover;margin-bottom:18px;color:#fff8e4}.winter-scene p{font:700 21px var(--serif)}.farm-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.farm-field{min-height:145px;border-radius:8px;border:1px solid #c8d4ba;background:repeating-linear-gradient(90deg,#83995c 0 10px,#aabd83 11px 26px);padding:18px 10px;text-align:center;box-shadow:inset 0 0 0 7px #ecedcf}.farm-field b{display:block;background:#fff3cfdf;border-radius:4px;padding:5px;font-size:13px}.farm-field span{display:block;color:white;font-size:12px;margin-top:20px;text-shadow:0 1px 3px #283c26}.crop-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.crop-slot{min-height:150px;border-radius:9px;background:repeating-linear-gradient(155deg,#c3ab78 0 17px,#a58b5e 18px 20px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff9e3;border:5px solid #e3d7b6}.crop-slot .icon{height:45px;width:45px;margin-bottom:12px}.crop-slot strong{font-size:14px}.market-inventory{display:flex;gap:10px;flex-wrap:wrap;background:#ebe8d6;border-radius:9px;padding:15px;margin-bottom:17px}.inventory-item{font-size:12px;display:flex;gap:7px;align-items:center;padding:5px 7px}.inventory-item b{font-size:18px}.trade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.trade-stall{background:#fffaf0;border:1px solid #d5dcc5;border-radius:9px;overflow:hidden}.trade-awning{height:13px;background:repeating-linear-gradient(90deg,#a35a4a 0 24px,#eee1bd 25px 48px)}.trade-stall:nth-child(2) .trade-awning{background:repeating-linear-gradient(90deg,#698786 0 24px,#eee1bd 25px 48px)}.trade-stall:nth-child(3) .trade-awning{background:repeating-linear-gradient(90deg,#a78a4b 0 24px,#eee1bd 25px 48px)}.trade-stall>div:last-child{padding:17px;text-align:center}.trade-stall .icon{height:32px;width:32px;color:#9c834c}.trade-stall h3{font-size:15px;margin:10px 0}.trade-stall p{font-size:11px;color:#839171;margin-bottom:13px}.trade-stall button{width:100%;padding:9px;margin-top:8px;font-size:11px}.proposal-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.proposal-columns h3{font-size:13px;margin:12px 0}.proposal-columns .chip{width:100%;margin-bottom:9px;text-align:left;font-size:12px;line-height:1.7}.story-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:17px 0}.story-panel{padding:20px 15px;min-height:160px;background:#e7ebd9;border:1px solid #cbd6bc;border-radius:9px;text-align:center}.story-panel .icon{width:35px;height:35px;color:#9c824b;margin:8px 0 17px}.story-panel p{font-size:12px}.art-view{background:#e7e1cf;border-radius:8px;padding:14px;display:flex;justify-content:center}.art-view img{max-width:100%;max-height:380px;object-fit:contain}.folk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.folk-card{background:#fffaf0;border:1px solid #d6ddc7;border-radius:8px;padding:14px}.folk-card svg{width:100%;height:120px}.folk-card b{font:700 18px var(--serif);display:block}.folk-card.selected{background:#e3ebd8;border:2px solid #769262}.stage-view{min-height:170px;display:flex;gap:25px;align-items:flex-end;justify-content:center;background:linear-gradient(#1b4544,#55725c);border:10px solid #9d8059;border-top:15px solid #84643d;border-radius:9px;padding:20px;color:#fff0c9;position:relative}.stage-performer{padding:13px 18px;border-radius:8px;background:#ead18b;color:#445437;font-family:var(--serif);font-weight:700;animation:float 3s ease-in-out infinite}.stage-performer .icon{display:block;width:37px;height:37px;margin:0 auto 11px}.news-sheet{background:#fbf3da;border:1px solid #d6c493;padding:24px;border-radius:3px;margin-top:20px}.news-sheet h3{font:700 33px var(--serif);text-align:center;border-bottom:3px double #9d987a;padding-bottom:17px}.news-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:17px}.news-columns h4{font:700 17px/1.6 var(--serif);margin:0 0 9px}.news-columns p{font-size:12px}.news-columns article+article{border-left:1px solid #c8c09c;padding-left:17px}.ending-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.ending-book{background:linear-gradient(120deg,#3f6656,#274738);color:#f5e5b5;border-radius:4px 8px 8px 4px;border-left:6px solid #1e3f31;padding:19px 10px;min-height:105px;font:700 14px/1.7 var(--serif);box-shadow:3px 4px 0 #c8ccb766}.ending-book small{display:block;font:10px var(--sans);margin-bottom:10px;color:#cfcea7}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table td,.report-table th{text-align:left;padding:12px 9px;border-bottom:1px solid #d7ddca;line-height:1.7}.report-table th{color:#66765c;font-weight:600}.help-highlight{outline:4px solid #e7ca76;outline-offset:5px;animation:glow 1.5s infinite}
@keyframes breathe{50%{transform:translateY(-7px) rotate(.4deg)}}@keyframes float{50%{transform:translateY(-7px)}}@keyframes glow{50%{box-shadow:0 0 0 11px #ebd19000,0 2px 8px #12332422}}@keyframes chapterIn{0%{opacity:0}20%,65%{opacity:1}100%{opacity:0}}@keyframes slideIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(pointer:coarse){.dpad{display:block}.map-bottom .control-tip{display:none}.map-bottom{justify-content:flex-end}.pin .pin-label{font-size:11px;padding:7px 10px}.icon-btn{width:44px;height:44px}.chip,.letter-tile{min-height:44px}.dialog-close{width:44px;height:44px}.home-links button{min-height:40px}}
@media(min-width:1600px){.hero-copy{padding-top:8vh}.hero-person{width:540px;right:15%;bottom:12%}}
@media(max-height:720px) and (min-width:800px){.home-nav{padding-top:21px;padding-bottom:15px}.hero-copy{padding-top:2vh}.hero-copy .eyebrow{margin-bottom:12px}h1{font-size:clamp(48px,6vw,78px)}.hero-description{margin:16px 0 22px;font-size:18px}.home-caption{bottom:21px}.hero-person{width:min(35vw,410px)}.quest-sidebar{padding:17px}.quest-item{padding:12px 3px}.companion-note{padding-top:13px}.book-link{margin-top:15px}.game-header{height:66px}.scene-board{min-height:260px}.dialog-header{padding:16px 25px}.dialog-body{padding:20px 25px}}
@media(max-width:1050px){.game-header{padding:0 17px;gap:18px}.game-brand{width:172px}.quest-sidebar{width:211px;padding:20px 15px}.chapter-heading h2{font-size:18px}.header-right{gap:10px}.hero-copy{padding-left:6%}.hero-person{right:5%;width:42vw}.home-caption{left:6%}.quest-item strong{font-size:12px}.hero-name{right:0}.map-top{left:17px;right:17px}.map-bottom{left:17px;right:17px}.interact{font-size:11px;padding:11px}.control-tip{display:none}.map-bottom{justify-content:flex-end}}
@media(max-width:760px){.home-nav{padding:22px}.brand{font-size:10px;gap:8px}.brand .icon{width:26px}.quiet-light{font-size:10px}.hero-copy{padding:8vh 0 0 8%;max-width:100%}h1{font-size:66px}.hero-description{font-size:17px}.hero-person{width:65vw;right:-12%;bottom:15%;opacity:.82}.hero-copy{z-index:3}.hero-name{display:none}.home-shade{background:linear-gradient(90deg,#153b37ed,#153b3799),linear-gradient(0deg,#142c2ff2,transparent 60%)}.home-caption{left:8%;right:8%;font-size:10px;gap:13px}.home-caption>span:last-child{display:none}.home-links{font-size:11px}.gold-button{min-height:54px}.hero-copy .eyebrow{font-size:10px}.game-header{height:65px;padding:0 12px;gap:10px}.game-brand{width:37px}.game-brand>span:last-child{display:none}.chapter-heading h2{font-size:16px}.chapter-heading>span{font-size:9px}.score b{font-size:17px}.score small{display:none}.header-right{gap:6px}.header-right .icon-btn{width:35px;height:35px}.score .icon{width:16px}.quest-sidebar{width:165px;padding:17px 11px}.quest-item{gap:7px;padding:14px 0}.quest-num{width:20px;height:20px;font-size:10px}.quest-item strong{font-size:11px}.quest-item small{font-size:9px}.companion-note .portrait{display:none}.companion-note p{font-size:10px}.book-link{font-size:10px;gap:5px}.sidebar-title .eyebrow{font-size:9px}.map-top{top:14px;left:13px;right:13px}.map-top>span{font-size:12px;padding:8px 10px}.glass-btn{font-size:0;padding:8px}.glass-btn .icon{width:18px;height:18px}.interact kbd{display:none}.interact{font-size:10px;padding:10px;gap:6px}.map-bottom{bottom:20px;right:12px}.dpad{left:12px;transform:scale(.86);transform-origin:left bottom}.game-footer{padding:0 13px;font-size:9px}.game-footer button{font-size:10px}.game-footer>span:nth-child(2){display:none}dialog{width:calc(100vw - 22px);max-height:calc(100svh - 22px);border-radius:11px}.dialog-header{padding:16px 18px}.dialog-header h2{font-size:20px}.dialog-body{padding:18px}.mission-goal{font-size:14px}.mission-step{font-size:10px;padding:5px 8px}.mission-top{gap:8px;margin-bottom:17px}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-card{min-height:160px}.tool-card .tool-art{height:80px}.card-grid{gap:10px}.evidence-card{padding:14px;gap:9px}.evidence-card.selected{padding:13px}.evidence-card .icon{display:none}.evidence-card h3{font-size:13px}.evidence-card p{font-size:11px}.mission-footer{align-items:flex-start}.mission-footer small{font-size:9px}.quiz-question{font-size:21px}.answer{font-size:12px;padding:12px;min-height:57px}.reward{padding:23px 18px}.reward h2{font-size:25px}.reward .record{font-size:17px}.reward p{font-size:12px}.intro-scene{min-height:350px;padding:20px}.intro-text h3{font-size:24px}.intro-text p{font-size:12px}.intro-scene img{height:260px;right:-25px}.intro-scene .intro-text{max-width:70%}.guide-grid{grid-template-columns:1fr}.guide-card{padding:16px}.guide-card .icon{float:left;margin:0 15px 0 0}.case-layout{grid-template-columns:1fr}.law-list{padding:17px}.scene-board{min-height:240px}.resource-grid{gap:8px}.resource{padding:13px 7px}.resource-control{gap:9px}.resource-control button{width:31px;height:35px}.farm-fields{grid-template-columns:repeat(2,1fr)}.trade-grid{grid-template-columns:1fr}.trade-stall>div:last-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;padding:12px}.trade-stall button{width:auto;margin:0}.trade-stall p{margin:0}.trade-stall h3{margin:0}.trade-stall .icon{height:24px;width:24px}.chapter-card{padding:13px;gap:10px}.chapter-card b{font-size:14px}.chapter-card .number{font-size:26px}.chapter-card small{font-size:10px}.journal-entry{grid-template-columns:25px 1fr;gap:10px;padding:14px}.journal-entry>button{grid-column:2;justify-self:start}.journal-entry b{font-size:15px}.news-columns{grid-template-columns:1fr}.news-columns article+article{border-left:0;padding:14px 0 0;border-top:1px solid #c8c09c}.news-sheet h3{font-size:28px}.story-panels{gap:8px}.story-panel{padding:13px 9px}.story-panel p{font-size:11px}.folk-card{padding:9px}.folk-card b{font-size:14px}.folk-card svg{height:90px}.stage-view{gap:12px}.stage-performer{padding:10px}.ending-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px) and (orientation:portrait){.quest-sidebar{width:0;padding:0;border:0;overflow:hidden}.game-header .chapter-heading h2{font-size:15px}.header-right .icon-btn{width:32px;height:32px}.score{gap:4px}.score b{font-size:15px}.portrait-hint{display:block}.world .map-top>span{font-size:12px}.map-bottom{bottom:24px}.dpad{transform:scale(.95)}.card-grid{grid-template-columns:1fr}.match-grid{gap:10px}.match-card{font-size:11px;padding:10px;min-height:70px}.chip{font-size:12px}.chapter-grid{grid-template-columns:1fr}.hero-person{bottom:20%}.home-caption{bottom:25px}.hero-description{margin:20px 0 25px}.hero-copy{padding-top:8vh}.proposal-columns{grid-template-columns:1fr}.mission-step{white-space:normal;text-align:center;max-width:100px}.sort-item{padding:12px}.resource-control{gap:5px}.resource b{font-size:12px}.letter-slot{width:43px;height:57px;font-size:27px}.letter-goal{font-size:45px;padding-right:15px}.letter-display{gap:10px}.scene-board{min-height:210px}.hotspot{width:38px;height:38px}.crop-slot{min-height:120px}.folk-grid{gap:6px}.folk-card b{font-size:12px}}
@media(max-height:520px) and (orientation:landscape){.home-nav{padding:15px 5%}.hero-copy{padding-top:0}.hero-copy .eyebrow{margin-bottom:9px}h1{font-size:49px}.hero-description{font-size:14px;margin:12px 0 16px}.gold-button{min-height:44px;padding:10px 21px}.home-links{margin-top:12px}.home-caption{display:none}.hero-person{width:34vw;bottom:4%}.game-header{height:53px}.game-footer{height:27px}.quest-sidebar{width:192px;padding:12px}.quest-item{padding:8px 0}.quest-item small{margin-top:2px}.companion-note{display:none}.book-link{margin-top:auto;padding-top:10px}.sidebar-title .eyebrow{font-size:9px}.quest-track{margin:8px 0}.game-brand{width:170px}.chapter-heading h2{font-size:16px}.dpad{transform:scale(.8)}.map-top{top:10px}.map-bottom{bottom:12px}.dialog-header{padding:12px 18px}.dialog-header h2{font-size:19px}.dialog-body{padding:16px 20px}.dialog-header .eyebrow{font-size:9px}.intro-scene{min-height:245px}.intro-scene img{height:235px}.intro-text h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#world-pins{position:absolute;inset:0;z-index:1;pointer-events:none}.pin{pointer-events:auto}.map-top,.map-bottom,.dpad{z-index:2}.chapter-flash{z-index:4}.mobile-review{display:none;position:absolute;top:65px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap}@media(max-width:700px){.mobile-review:not(.hidden){display:block}}

.pin:active:not(:disabled){transform:translate(-50%,-100%)}

.scene-board>svg{pointer-events:none}.hotspot{z-index:1}.hotspot:active:not(:disabled){transform:translate(-50%,-50%)}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

.art-view{min-height:280px;align-items:center}.art-view img{height:280px;width:auto;max-width:100%}.sea-lane .boat{height:86px}.boat.empty{opacity:.25;filter:grayscale(.5)}.boat.placed{animation:sail-in .35s ease-out}.sea-lane .placement-label{font-size:11px;color:#153e41;background:#f2f5dc99;border-radius:5px;padding:6px 8px}.sea-lane.selected .placement-label{background:#f9e2aa}.naval-board{background:radial-gradient(ellipse at 50% 0%,#dae9d0aa,transparent 55%),repeating-linear-gradient(170deg,transparent 0 36px,#e2f1d922 37px 39px,transparent 40px 58px),linear-gradient(#95c7c0,#4a8d9b)}.winter-scene{min-height:135px;display:flex;flex-direction:column;justify-content:flex-end;background-position:center 39%}.hotspot:focus-visible{outline:3px solid #345d48}.mobile-review:active:not(:disabled){transform:translateX(-50%)}@keyframes sail-in{from{transform:translateY(18px);opacity:.2}to{transform:translateY(0);opacity:1}}
@media(max-width:560px){.sea-lane .danger,.sea-lane .placement-label{font-size:9px;padding:6px 4px}.naval-board{gap:6px;padding:12px}.sea-lane{padding:5px}.winter-scene{min-height:125px}}
