/* 시리즈의 종이·굵은 제목·눌리는 버튼. 무역왕은 청록색 바다를 씁니다. */
:root{--paper:#F4EEE2;--ink:#24212B;--soft:#5B5566;--white:#FFFDF8;--role:#258D9A;--role-dark:#176773;--gold:#F5C542;--danger:#E5484D;--good:#2E9E6B;--shadow:0 10px 30px #24212B20;font-family:'Pretendard Variable',Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:20px;line-height:1.45}
*{box-sizing:border-box;word-break:keep-all;overflow-wrap:anywhere}html,body{margin:0;min-height:100%;background:var(--paper)}body{-webkit-tap-highlight-color:transparent}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.1;background-image:radial-gradient(#77694c .5px,transparent .5px);background-size:5px 5px}h1,h2,h3,p{margin:0}h1,h2,.logo{font-family:'Black Han Sans',Pretendard,'Malgun Gothic',sans-serif;font-weight:900;letter-spacing:-.04em;line-height:1.15}h2{font-size:34px}h3{font-size:24px}svg{display:block;width:100%;height:100%}button,a{touch-action:manipulation}button{font:inherit;font-size:22px;font-weight:800;color:inherit;background:var(--white);border:0;border-radius:18px;min-height:56px;padding:12px 20px;cursor:pointer;box-shadow:0 4px 0 #24212B18;transition:transform .12s,background .2s}button:disabled{opacity:.45;cursor:default}button:active:not(:disabled){transform:translateY(2px)}button:focus-visible,a:focus-visible{outline:4px solid #DCA424;outline-offset:3px}.primary{background:var(--role);color:#fff;box-shadow:0 5px 0 var(--role-dark)}.secondary{border:2px solid #CDBFA6}.selected{outline:3px solid var(--role);background:#DDF0EF}.icon-btn{display:inline-grid;place-items:center;width:56px;height:56px;padding:12px;flex:none;border-radius:18px;background:var(--white);box-shadow:0 4px 0 #24212B18}.ico{width:32px;height:32px;display:inline-block;vertical-align:middle;flex:none}a{color:inherit}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tools{display:flex;gap:10px}.tbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.tbar h1{font-size:38px;flex:1}.muted{color:var(--soft)}.chip{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;background:var(--paper);border-radius:14px;font-weight:700}.stars{display:inline-flex;gap:2px}.stars .ico{width:24px;height:24px}.badge{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:2px solid #E5C768;background:#FFF4CE;border-radius:18px}.locked{opacity:.65}.paint{display:block;position:relative;width:100%;overflow:hidden}.paint-fallback{display:block;width:100%;height:100%}.paint img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}.paint.loaded img{opacity:1}.paint.loaded .paint-fallback{visibility:hidden}.portrait{width:130px;aspect-ratio:5/6;flex:none}.portrait.small-portrait{width:90px}.screen-title{min-height:100dvh;padding:20px 24px;display:flex;flex-direction:column}.title-main{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;padding:20px 0}.logo{font-size:clamp(60px,8vw,100px)}.logo span{color:var(--role)}.subtitle{font-weight:700;color:var(--soft)}.title-scene{position:relative;width:min(780px,90vw);aspect-ratio:1000/520;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.title-scene .chart{position:absolute;width:100%;height:auto;top:-12%}.hero-ship{position:absolute;left:38%;top:22%;width:24%;height:63%;filter:drop-shadow(0 10px 0 #24212B16)}.title-buttons{justify-content:center}.title-buttons button{font-size:26px;min-width:160px}.screen-board{padding:14px 16px;display:grid;gap:14px;max-width:1580px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.year{font-size:30px;font-weight:900;white-space:nowrap}.dots{display:flex;gap:5px}.dots i{display:block;width:11px;height:11px;border-radius:50%;background:#D8CDB8}.dots i.done{background:var(--role)}.dots i.now{background:var(--gold);box-shadow:0 0 0 2px var(--ink)}.money{display:flex;align-items:center;gap:7px;background:var(--white);padding:7px 14px;border-radius:16px;font-size:28px;font-weight:900}.gauges{display:flex;gap:12px;flex-wrap:wrap}.gauge{background:var(--white);padding:8px 12px;border-radius:16px;display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800}.board-main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.map-card{min-width:0;position:relative;background:var(--white);padding:10px;border-radius:26px;box-shadow:0 5px 0 #DAD0BE}.map-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:4px 8px 10px;font-size:20px}.map-wrap{position:relative;aspect-ratio:1000/640;overflow:hidden;border-radius:20px}.map-pins{position:absolute;inset:0}.map-pin{position:absolute;transform:translate(-50%,-25%);display:flex;flex-direction:column;align-items:center;gap:2px;background:none;box-shadow:none;padding:0;min-height:44px;min-width:44px;font-size:20px;line-height:1.2;overflow:visible;z-index:2}.map-pin:active:not(:disabled){transform:translate(-50%,-25%) scale(.96)}.pin-symbol{width:40px;height:40px;background:#FFFDF8;border:2px solid #fff;border-radius:50%;box-shadow:0 3px 6px #24212B30;display:grid;place-items:center}.unknown .pin-symbol{background:#F2F2E5;color:#839091}.pin-name{padding:4px 7px;border-radius:10px;background:#FFFDF8ED;max-width:145px;white-space:nowrap;box-shadow:0 2px 0 #24212B12}.map-pin.home-pin .pin-name{background:#3B6FE0;color:#fff}.panel{background:var(--white);padding:18px;border-radius:24px;box-shadow:0 5px 0 #DAD0BE;display:grid;gap:12px;min-width:0}.panel-head{display:flex;align-items:center;gap:12px}.emblem{width:52px;height:52px;flex:none}.hearts{display:flex;gap:4px}.hearts .ico{width:23px;height:23px}.catalog-goods{display:flex;gap:8px;flex-wrap:wrap}.goods-chip{display:inline-flex;gap:5px;align-items:center;background:var(--paper);padding:6px 10px;border-radius:12px}.country-buttons{display:flex;gap:10px}.country-buttons button{flex:1}.panel-placeholder{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}.panel-placeholder>.ico{width:78px;height:78px}.bottom{display:grid;gap:12px}.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-chip{padding:5px 12px;background:#DDF0EF;color:#176773;border-radius:50px;font-weight:800}.action-chip.used{background:#DED8CD;color:#938B80}.inventory{background:var(--white);padding:12px 14px;border-radius:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inventory strong{margin-right:6px}.stock-item{display:inline-flex;align-items:center;gap:5px;font-size:24px;font-weight:800}.stock-item.zero{opacity:.42}.stock-item .ico{width:30px;height:30px}.stock-item b{min-width:18px}.footer-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footer-controls .end-year{margin-left:auto;min-width:185px}.ships{display:flex;gap:8px;flex-wrap:wrap;font-size:20px}.ships span{display:flex;align-items:center;gap:4px;background:#E4EFEB;border-radius:12px;padding:5px 8px}.glow{animation:glow 1.8s ease-in-out infinite}.debug{display:flex;gap:8px;flex-wrap:wrap;padding:8px;background:#E9E1D1;border-radius:14px}.debug button{font-size:22px;min-height:44px;padding:7px 12px}.fog{animation:drift 4s ease-in-out infinite alternate}.sailing{animation:sail 2.5s ease-in-out infinite alternate}.revealed{animation:reveal .6s ease-out}.chart text{font-family:Pretendard,'Malgun Gothic',sans-serif}#layer[hidden]{display:none}#layer{position:fixed;inset:0;z-index:100;background:#24212B66;overflow:auto;padding:28px 20px;display:flex;align-items:center;justify-content:center}.sheet{position:relative;background:var(--white);border-radius:28px;padding:28px;width:min(800px,100%);max-height:calc(100dvh - 56px);overflow:auto;box-shadow:var(--shadow);display:grid;gap:20px}.sheet.wide{width:min(1050px,100%)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-head h2{flex:1}.sheet-head .icon-btn{background:var(--paper)}.event{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.event h2{font-size:32px}.bubble{background:var(--paper);border-radius:24px;padding:22px 26px;font-size:24px;line-height:1.55;font-weight:700;position:relative;width:100%}.bubble:after{content:'';position:absolute;bottom:-15px;left:calc(50% - 13px);border-top:18px solid var(--paper);border-left:13px solid transparent;border-right:13px solid transparent}.event .portrait{width:150px}.choices{display:flex;gap:12px;width:100%;flex-wrap:wrap}.choices button{flex:1;min-width:175px;background:var(--paper);min-height:74px;padding:16px}.choices .picked{outline:3px solid var(--role);background:#DDF0EF}.say{font-size:24px;font-weight:700}.trade-layout{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:18px}.basket{display:grid;gap:12px}.basket h3{border-bottom:2px solid #DAD0BE;padding-bottom:8px}.basket-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.basket-row .good-name{display:flex;align-items:center;gap:8px;flex:1;min-width:150px}.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:48px;min-height:48px;padding:6px;background:var(--paper)}.stepper strong{font-size:28px;min-width:32px;text-align:center}.negotiator{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.negotiator .portrait{width:170px}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.offers button{background:var(--paper);display:flex;flex-direction:column;align-items:center;gap:5px}.offers b{font-size:24px}.offers span{font-size:20px}.offers .selected{background:#DDF0EF}.recipes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.recipe{background:var(--paper);border-radius:22px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.product-art{width:100px;height:100px}.recipe-parts{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.recipe-part{padding:7px;border:2px solid #CDBFA6;border-radius:12px;min-width:54px}.recipe-part.missing{border-color:#E0B4B4;background:#FDECEC}.recipe-part.ready{border-color:#80B697;background:#E0F1E5}.recipe-part .ico{width:34px;height:34px}.recipe-part span{display:block;font-size:20px}.recipe button{margin-top:auto;width:100%}.contract-list{display:grid;gap:12px}.contract-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px;background:var(--paper);border-radius:16px}.receipt{font-family:Pretendard,'Malgun Gothic',sans-serif;display:grid;gap:16px;background:repeating-linear-gradient(transparent 0 48px,#DED5C130 48px 49px);padding:8px 4px}.receipt-line{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:2px dashed #D5CCBA;padding-bottom:12px;flex-wrap:wrap}.receipt .gauges{justify-content:center}.receipt .gauge{animation:reveal .65s}.screen-ending,.screen-album{padding:24px;max-width:1200px;margin:auto}.paper{background:var(--white);border:2px solid #CDBFA6;padding:30px;border-radius:5px;box-shadow:var(--shadow);display:grid;gap:22px}.masthead{font-family:'Nanum Myeongjo',serif;font-size:clamp(34px,5vw,64px);font-weight:900;text-align:center;padding-bottom:15px;border-bottom:5px double var(--ink)}.dateline{display:flex;justify-content:space-between;font-size:20px;gap:12px}.paper h1{font-size:clamp(36px,5vw,64px);text-align:center}.story{text-align:center;font-size:24px;line-height:1.6}.ending-world{width:min(820px,100%);aspect-ratio:1000/640;margin:auto;border-radius:22px;overflow:hidden}.paper .gauges{justify-content:center}.stamp{border:5px double #BA8D20;color:#A47910;transform:rotate(-5deg);padding:10px 16px;font-weight:900;font-size:25px;justify-self:center;border-radius:15px}.trail{display:grid;gap:15px}.trail-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.trail-step{padding:12px;background:var(--paper);border-radius:14px;display:grid;gap:5px;font-size:20px}.trail-step b{font-size:22px}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.album-card{display:grid;gap:12px;background:var(--white);border-radius:22px;padding:22px;box-shadow:0 4px 0 #DAD0BE;align-content:start}.album-card .panel-head{flex-wrap:wrap}.album-card .portrait{width:100px}.album-section{margin-top:30px;margin-bottom:16px}.album-card .silhouette svg{filter:brightness(0);opacity:.16}.album-card .learn{background:#DDF0EF;padding:16px;border-radius:16px}.album-card .map-mini{aspect-ratio:1000/640;overflow:hidden;border-radius:14px}.album-card ul{margin:0;padding-left:24px}.tutorial-figure{position:relative;min-height:185px;display:flex;justify-content:center;align-items:center;gap:18px;background:var(--paper);border-radius:24px;padding:20px}.tutorial-figure>.ico{width:90px;height:90px}.tutorial-hand{position:absolute;width:75px;height:75px;bottom:12px;right:22%;transform:rotate(-20deg);animation:point 1s ease-in-out infinite alternate}.progress-dots{display:flex;gap:10px;justify-content:center}.progress-dots i{width:13px;height:13px;background:#D8CDB8;border-radius:50%}.progress-dots i.now{background:var(--role)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;z-index:200;background:#24212B;color:#fff;padding:15px 22px;border-radius:18px;width:max-content;max-width:90vw;font-size:22px;pointer-events:none;transition:transform .2s,opacity .2s}#toast.show{transform:translateX(-50%);opacity:1}
@keyframes drift{to{opacity:.75;transform:translateY(-6px)}}@keyframes sail{to{opacity:.8}}@keyframes reveal{from{opacity:0}to{opacity:1}}@keyframes glow{50%{box-shadow:0 0 0 5px #F5C54266}}@keyframes point{to{transform:translateY(-12px) rotate(-20deg)}}
@media(min-width:1200px) and (max-height:820px){.board-main{grid-template-columns:minmax(0,1fr) 300px}.map-card{max-width:830px;margin:auto;width:100%}.map-wrap{max-height:440px}.map-wrap .chart{height:100%}.screen-board{gap:10px}.panel{gap:9px;padding:14px}.panel .portrait{width:88px}.panel p{font-size:20px}.panel .goods-chip{padding:4px 7px}.inventory{padding:8px 12px}.bottom{gap:9px}}
@media(max-width:1100px){.board-main{grid-template-columns:minmax(0,1fr) 280px}.topbar .gauges{width:100%;justify-content:center}.map-pin .pin-name{font-size:20px;white-space:normal;max-width:115px}.panel .portrait{width:90px}.recipes{gap:12px}.recipe{padding:14px}}
@media(orientation:portrait),(max-width:800px){.board-main{grid-template-columns:1fr}.map-card{width:100%}.panel{display:grid;grid-template-columns:1fr 1fr;align-items:center}.panel .panel-head{grid-column:1}.panel-placeholder{min-height:140px;grid-template-columns:80px 1fr;text-align:left}.panel-placeholder p{max-width:500px}.topbar .gauges{width:100%}.map-pin .pin-name{white-space:nowrap;max-width:135px}.country-buttons{grid-column:1/-1}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-controls .end-year{margin-left:auto}.panel .country-goods{grid-column:1/-1}.screen-title{padding:18px}.title-scene{aspect-ratio:1000/600}}
@media(max-width:520px){.screen-board{padding:10px;gap:12px}.topbar{gap:8px}.topbar .row{gap:8px}.year{font-size:26px}.money{font-size:26px;padding:6px 10px}.gauges{gap:6px}.gauge{gap:4px;padding:7px 9px;flex-direction:column;font-size:20px;flex:1}.stars .ico{width:19px;height:19px}.dots{gap:4px}.dots i{width:8px;height:8px}.map-card{padding:6px;border-radius:20px}.map-heading{display:block;padding:5px 8px 8px}.map-heading .muted{display:block}.map-wrap{overflow:visible;margin-bottom:5px}.map-pin .pin-name{display:none}.pin-symbol{width:37px;height:37px}.map-pin{min-width:44px;min-height:44px}.panel{grid-template-columns:1fr;padding:16px}.panel .panel-head{grid-column:auto}.panel-placeholder{grid-template-columns:65px 1fr;gap:12px}.panel .country-goods{grid-column:auto}.panel .portrait{width:85px}.inventory{gap:9px;padding:12px}.inventory strong{width:100%}.stock-item{font-size:24px}.stock-item .ico{width:30px;height:30px}.action-row{gap:7px}.action-chip{padding:5px 10px}.footer-controls button{flex:1}.footer-controls .end-year{width:100%;margin-left:0}.ships{width:100%}#layer{padding:14px 10px;align-items:center}.sheet{padding:20px 16px;border-radius:24px;max-height:calc(100dvh - 28px);gap:16px}.sheet h2{font-size:30px}.bubble{padding:18px;font-size:22px}.event .portrait{width:110px}.choices{flex-direction:column;gap:10px}.choices button{min-height:58px;padding:13px}.trade-layout{grid-template-columns:1fr}.negotiator{flex-direction:row;justify-content:center}.negotiator .portrait{width:90px}.basket-row .good-name{min-width:145px}.offers{gap:8px}.offers button{padding:10px 6px}.offers b{font-size:22px}.offers span{font-size:20px}.recipes{grid-template-columns:1fr}.recipe{display:grid;grid-template-columns:65px 1fr;gap:12px;align-items:center}.recipe .product-art{width:65px;height:65px;grid-row:1/3}.recipe-parts{grid-column:2}.recipe button{grid-column:1/-1}.recipe h3{font-size:24px}.recipe-part{min-width:48px;padding:4px}.screen-ending,.screen-album{padding:14px 10px}.paper{padding:20px 15px}.album-grid{grid-template-columns:1fr}.album-card{padding:20px}.tbar h1{font-size:32px}.title-main{gap:18px}.title-buttons{flex-direction:column;width:min(320px,100%)}.title-buttons button{width:100%}.title-scene{width:100%;aspect-ratio:1000/640}.title-scene .chart{top:0}.logo{font-size:64px}.subtitle{max-width:300px}.story{font-size:22px}.tutorial-figure{gap:12px}.tutorial-figure>.ico{width:65px;height:65px}.tutorial-hand{right:12%;width:62px;height:62px}}
.hero-ship>.ico,.product-art>.ico{width:100%;height:100%}.map-pin.south .pin-name{position:absolute;bottom:46px}.map-pin,.map-pin .pin-name{font-size:22px}
.boat-marker{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;pointer-events:none;z-index:3}.boat-marker .ico{width:100%;height:100%}.boat-marker b{position:absolute;right:-8px;top:-10px;background:var(--white);border:2px solid #AAC6C4;border-radius:50%;font-size:22px;line-height:28px;text-align:center;min-width:31px;height:31px}
.map-pin.south .pin-name{white-space:nowrap;width:max-content;max-width:none;left:50%;transform:translateX(-50%)}.sheet:has(.trade-layout){gap:12px}.trade-layout{max-height:calc(100dvh - 440px);min-height:180px;overflow:auto;overscroll-behavior:contain}
.album-card .silhouette{filter:brightness(0);opacity:.16}.album-card .silhouette svg{filter:none;opacity:1}
@media(min-width:1200px) and (max-height:820px){.map-card{max-width:700px}.map-wrap{max-height:none}}
@media(max-width:520px){.gauges{flex-wrap:nowrap}.gauge{min-width:0;padding:7px 4px}.stars .ico{width:18px;height:18px}.footer-controls button{min-width:145px}.footer-controls .end-year{min-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* 원본 섬 배치는 유지하고 낡은 종이 색과 해도 장식을 겹칩니다. */
.chart-map{filter:saturate(.72) sepia(.22) brightness(1.06)}.chart-frame,.chart-compass{pointer-events:none}.chart{border-radius:20px}.port-art{filter:drop-shadow(0 3px 2px #463D3530)}.fog-clearing{pointer-events:none;animation:fog-clear 1.2s ease-out both}.boat-marker .paint{height:100%;aspect-ratio:auto!important;overflow:visible}.title-scene>.paint{height:100%;aspect-ratio:auto!important}.title-scene>.paint>img{object-fit:cover}.title-scene .loaded .hero-ship{visibility:hidden}.ending-world{aspect-ratio:1200/800}.ending-world .paint{height:100%}.ending-world .paint-fallback>.chart{height:100%}.chart-art image{pointer-events:none}
@keyframes fog-clear{to{opacity:0;transform:translateY(-20px) scale(1.08)}}
.fog-clearing{transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:reduce){.fog-clearing{display:none}}
.map-pin{width:44px;height:44px;justify-content:center;transform:translate(-50%,-50%)}.map-pin:active:not(:disabled){transform:translate(-50%,-50%) scale(.96)}.map-pin .pin-name{position:absolute;left:50%;top:46px;width:max-content;max-width:none;transform:translateX(-50%)}.map-pin.south .pin-name{top:auto}

/* 제목과 큰 숫자는 시리즈 공통 글꼴을 씁니다. */
h1,h2,.logo,.year,.money span,.stock-item b,.stepper strong,.offers b,.boat-marker b{font-family:'Black Han Sans','Pretendard Variable','Malgun Gothic',sans-serif}
.title-guide{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;font-size:18px;font-weight:700;line-height:1.4;color:var(--ink);background:#FFFDF8;border:2px solid currentColor;border-radius:14px;text-decoration:none;touch-action:manipulation}.title-guide:hover{filter:brightness(.96)}.title-guide:focus-visible{outline:3px solid currentColor;outline-offset:4px}
