@charset "UTF-8";
:root{--paper:#f5f2e7;--ink:#254c41;--muted:#737c6c;--line:#d7dbcb;--green:#38634d;--coral:#df7864;--yellow:#f2c96b;--pink:#f9e5dc;--white:#fffef7;--shadow:0 5px 0 #244c4010;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);background-image:radial-gradient(#a4af9428 .7px,transparent .7px);background-size:6px 6px}button,select{font:inherit}button,a,select,summary,canvas{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--white);border-radius:8px;min-height:44px;padding:10px 14px;font-weight:700;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#e9eedd;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--coral);outline-offset:3px}button small{font-size:10px;font-weight:500;display:block;margin-top:3px}h1,h2,h3,p{margin:0}h2{font-size:19px}p{line-height:1.8}[hidden]{display:none!important}.page{max-width:1440px;margin:auto;padding:0 44px}.masthead{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);gap:12px}.brand{text-decoration:none;color:var(--ink);display:flex;gap:12px;align-items:center}.brand-mark{position:relative;display:grid;place-items:center;font:bold 39px Georgia,serif;width:49px;height:49px;background:var(--ink);color:var(--paper);border-radius:10px 10px 2px 10px}.brand-mark span{position:absolute;right:4px;bottom:1px;color:var(--yellow);font-size:22px}.brand b{font-size:23px;letter-spacing:3px}.brand small{display:block;font-size:10px;letter-spacing:1px;margin-top:3px}.header-actions{display:flex;align-items:center;gap:9px}.edition{font:10px monospace;letter-spacing:2px;margin-right:17px}.icon-button{padding:7px 11px;min-width:44px;font-size:12px;background:transparent}.welcome{min-height:690px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:30px;padding:46px 0 58px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;display:block}.eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--coral);margin-right:8px}.overline{font-size:16px;font-weight:800;letter-spacing:3px;margin:30px 0 10px}h1{font-size:clamp(54px,6.5vw,90px);letter-spacing:-5px;line-height:1.08;font-weight:900}h1 span{display:block;font:13px monospace;letter-spacing:10px;margin:13px 0 30px 4px}.tagline{font-size:23px;font-weight:800;line-height:1.7}.intro-text{font-size:13px;color:#657263;margin:19px 0 24px}.intro-text strong{color:var(--ink)}.start-options{display:flex;align-items:center;gap:10px;max-width:370px;margin-bottom:10px}.start-options label{font-size:10px}.start-options select{min-height:44px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--white);padding:8px;font-size:12px;flex:1;min-width:0}.primary{background:var(--ink);color:var(--white);border-color:var(--ink)}.primary:hover:not(:disabled){background:#3c6b53}.start{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:370px;min-height:58px;font-size:16px;padding:14px 22px;box-shadow:0 4px 0 #173a2d}.start span{font-size:24px;color:var(--yellow)}#resume{margin-top:13px;width:100%;max-width:370px}.small-note{font-size:10px;color:var(--muted);margin-top:14px;line-height:1.8}.welcome-art{position:relative;min-width:0;align-self:center;background:radial-gradient(ellipse at center,#dae9c680,transparent 69%);padding-top:56px}.welcome-art canvas{width:100%;height:auto;display:block;image-rendering:pixelated}.news-sticker{position:absolute;top:4px;right:5%;width:167px;background:var(--yellow);border:1px solid #b4954c;box-shadow:4px 4px 0 #294c401c;padding:15px 18px;transform:rotate(6deg);z-index:1}.news-sticker span{display:block;border-bottom:1px solid #254c4166;font-size:11px;letter-spacing:6px;padding-bottom:6px;margin-bottom:7px}.news-sticker b{font-size:22px;line-height:1.4}.news-sticker small{display:block;font-size:9px;margin-top:7px}.cast-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;font-size:11px}.art-caption{text-align:center;font:12px monospace;color:var(--muted);margin-top:20px;letter-spacing:2px}footer{padding:21px 0 28px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);display:flex;gap:16px;justify-content:space-between;letter-spacing:1px}footer i{font-style:normal;color:var(--coral)}
.status-bar{display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr .9fr 1.1fr;border:1px solid var(--line);background:var(--white);border-radius:12px;margin:24px 0 22px;overflow:hidden;box-shadow:var(--shadow)}.status-bar>div{padding:16px 22px;border-right:1px solid var(--line);min-width:0}.status-bar>div:last-child{border:0}.status-bar span{display:block;font-size:10px;color:var(--muted);white-space:nowrap}.status-bar b{font:700 28px monospace;display:block;margin:6px 0 3px}.status-bar small{font-size:9px;color:var(--muted);display:block}.status-bar .time-stat{background:var(--ink);color:var(--white)}.time-stat span,.time-stat small{color:#c8d9c5}.status-bar #family-status{font:700 14px sans-serif;line-height:31px}.status-bar #article-count span{display:inline;font:13px monospace}meter{height:7px;width:100%;display:block;margin-top:6px;border:0;border-radius:5px}meter::-webkit-meter-bar{height:7px;background:#e9eddf;border:0}meter::-webkit-meter-optimum-value{background:#729964}#battery::-webkit-meter-optimum-value{background:#d9b352}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.world-panel{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 24px 17px;gap:8px}.panel-heading h2{margin-top:5px;font-size:20px}.quiet{border:0;background:transparent;padding:8px;font-size:11px;min-height:44px}.map-toolbar{padding:0 20px 12px;display:flex;align-items:center;gap:7px}.map-toolbar button{font-size:12px;min-width:82px;background:#f6f5ec}.map-toolbar button span{margin-right:4px}.map-toolbar button.active{background:var(--ink);color:var(--white);border-color:var(--ink)}#tool-hint{font-size:10px;margin-left:auto;color:var(--muted)}.map-scroll{width:100%;overflow:auto;overscroll-behavior:contain;background:#ebefde;border-top:1px solid #e0e5d3;border-bottom:1px solid #e0e5d3;scrollbar-width:thin}.map-scroll canvas{width:100%;display:block;image-rendering:pixelated;cursor:crosshair;touch-action:manipulation}.map-scroll.zoomed canvas{min-width:850px}.map-legend{display:flex;justify-content:center;gap:15px;padding:12px 8px 9px;font-size:9px;color:var(--muted);flex-wrap:wrap}.map-legend i{display:inline-block;width:7px;height:7px;margin-right:4px;vertical-align:1px}.legend-water{background:#75baba}.legend-cliff{background:#b59b72}.legend-crowd{background:var(--coral)}.selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 20px 13px;padding:13px 15px;background:#f2f4e9;border-radius:8px;min-height:78px}.selection-bar strong{font-size:13px}.selection-bar p{font-size:10px;color:var(--muted);margin-top:5px}.selection-bar button{white-space:nowrap;font-size:12px}.fine-controls{font-size:10px;padding:0 22px 14px;color:var(--muted)}summary{cursor:pointer;min-height:35px;padding:8px 0}.fine-controls p{margin:3px 0 10px}.nudge-row{display:flex;gap:5px;flex-wrap:wrap}.nudge-row button{padding:9px;min-width:44px;font-size:11px}.dispatch{display:flex;align-items:baseline;gap:12px;border-top:1px solid var(--line);padding:15px 22px;background:#fffdf1;min-height:66px}.dispatch span{font-size:9px;font-weight:800;white-space:nowrap;border:1px solid #d3b96d;padding:3px 6px;color:#957523}.dispatch p{font-size:11px}.desk{display:flex;flex-direction:column;gap:13px}.goal-card{background:var(--ink);color:var(--white);padding:21px 23px;border-radius:12px;position:relative;overflow:hidden}.goal-card::after{content:'✦';position:absolute;right:15px;top:43px;color:#c4d5aa2b;font-size:100px;line-height:1}.goal-card .eyebrow{color:#c6d1b5}.goal-card h2{font-size:21px;line-height:1.65;margin:11px 0 8px}.goal-card p{font-size:11px;color:#d9e2d0}.goal-dots{display:flex;gap:8px;margin-top:14px}.goal-dots span{width:24px;height:24px;border:1px solid #a5b99d;border-radius:50%;font-size:12px;display:grid;place-items:center}.goal-dots span:last-child{border-radius:6px;margin-left:7px}.goal-dots span.done{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.rinrin-card{background:var(--pink);border:1px solid #e7c9bc;border-radius:10px;display:grid;grid-template-columns:36px 1fr;gap:8px;padding:14px}.avatar{font-size:29px;padding-top:2px}.rinrin-card b{font-size:11px}.rinrin-card p{font-size:10px;line-height:1.7;margin-top:5px;color:#806252}.pink-button{grid-column:1/-1;background:#fffbf2;border-color:#e7c9bc;display:flex;justify-content:center;gap:10px;align-items:center;font-size:12px;min-height:44px}.pink-button small{margin:0}.actions-card,.destinations{border:1px solid var(--line);background:var(--white);border-radius:10px;padding:15px}.section-title{margin-bottom:11px}.section-title .eyebrow{font-size:9px;color:var(--muted);margin-bottom:6px}.section-title b,.section-title h2{font-size:12px}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px}#context-actions button{width:100%;font-size:11px;padding:10px 6px}#context-actions>.primary{margin-bottom:7px}.everywhere-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.everywhere-actions button{font-size:11px;padding:10px 5px}.everywhere-actions button:first-child{background:#edf0dc}.place-button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid #e5e7dc;border-radius:0;background:transparent;padding:9px 3px;font-size:11px;min-height:54px}.place-button:last-child{border:0}.place-button.selected{background:#edf0df;border-radius:6px;padding-left:7px}.place-icon{width:29px;height:30px;display:grid;place-items:center;border-radius:5px;font-size:19px;color:var(--white);flex-shrink:0}.place-button .place-text{flex:1}.place-button small{font-size:9px;color:var(--muted);line-height:1.6;font-weight:400;margin-top:3px}.place-button .place-status{font-size:9px;font-weight:400}.place-button .expired{color:#b47564}.finish-button{font-size:12px;padding:13px 17px;display:flex;justify-content:space-between;border:1px solid #b7c3a7;background:#e5ebd7}.finish-note{font-size:9px;color:var(--muted);margin:-7px 4px 0;line-height:1.7}.log-book{font-size:11px;margin:18px 0 22px}.log-book ol{list-style:none;padding:12px 18px;border:1px solid var(--line);background:var(--white);border-radius:8px}.log-book li{padding:6px 0;font-size:11px;line-height:1.7}.log-book time{font-family:monospace;margin-right:12px;color:var(--muted)}
dialog{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:14px;padding:25px;width:min(600px,calc(100% - 28px));max-height:90dvh;box-shadow:0 25px 90px #183c3555}dialog::backdrop{background:#15382be0;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.close{font-size:24px;padding:4px;min-width:44px;border:0;background:transparent}dialog>p{font-size:12px;margin:14px 0}dialog h2{font-size:23px}.help-steps{padding-left:23px;font-size:12px;line-height:1.9}.help-steps li{margin:13px 0}.help-tip{padding:14px;background:#edf0df;border-radius:8px;font-size:11px;line-height:1.9}.dialog-buttons{display:flex;gap:9px;flex-wrap:wrap}.dialog-buttons button{flex:1;font-size:12px}.result-dialog{width:min(820px,calc(100% - 24px));padding:0;background:#f3eedf;border-radius:5px}.newspaper{padding:32px 35px 22px;color:#303c30;background:#f8f2df;background-image:radial-gradient(#94877525 .6px,transparent .6px);background-size:4px 4px}.paper-top{display:flex;justify-content:space-between;font-size:9px;border-bottom:1px solid #384433;padding-bottom:8px;gap:10px}.paper-masthead{display:flex;justify-content:space-between;align-items:center;border-bottom:3px double #384433;padding:13px 0;gap:10px}.paper-masthead h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(25px,6vw,51px);letter-spacing:5px}.paper-masthead div{font-size:10px;line-height:1.9;text-align:right;white-space:nowrap}.paper-sub{display:flex;justify-content:space-between;font-size:8px;padding:7px 0;border-bottom:1px solid #384433;gap:6px}.paper-hero{padding:27px 0 20px;border-bottom:2px solid #384433}.paper-label{font-size:9px;background:#354731;color:#f8f2df;padding:4px 9px}.paper-hero h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(24px,4vw,37px);line-height:1.5;margin:16px 0 8px}.paper-hero>p{font-size:11px;color:#5f6857}.result-score{display:flex;align-items:baseline;gap:10px;margin-top:15px}.result-score span{font-size:13px;font-weight:700}.result-score b{font:700 39px Georgia,serif;margin-left:auto}.result-score small{font-size:12px}.paper-stories{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;padding:22px 0}.paper-story h4{font-family:"Yu Mincho",serif;font-size:16px;line-height:1.5;margin:0 0 7px}.paper-story p{font-size:11px;text-align:justify}.paper-story span{font-size:9px;color:#7b7056;display:block;margin-bottom:5px}.paper-bottom{border-top:1px solid #384433;padding:15px 0 5px;font-size:11px}.paper-bottom b{display:block;margin-bottom:6px}.paper-fiction{font-size:8px;color:#7d7a6b;margin-top:13px}.result-controls{padding:20px 30px;background:#eeeadb}.result-controls>p{font-size:11px;margin-bottom:13px}.result-controls .quiet{display:block;margin:12px auto 0}.busy .map-scroll{cursor:progress}.busy #board{pointer-events:none}
@media(min-width:1500px){.welcome{min-height:740px}.welcome-art{transform:scale(1.03)}}
@media(max-width:1100px){.page{padding:0 25px}.game-layout{grid-template-columns:minmax(0,1fr) 275px;gap:15px}.status-bar>div{padding:14px}.panel-heading{padding:18px}.map-toolbar{padding-left:14px;padding-right:14px}.map-toolbar button{min-width:72px;padding:9px}.map-toolbar #tool-hint{display:none}.welcome{gap:10px}.tagline{font-size:20px}.news-sticker{width:145px}.news-sticker b{font-size:19px}.edition{display:none}}
@media(max-width:800px){.page{padding:0 18px}.masthead{height:82px}.welcome{grid-template-columns:1fr;min-height:0;padding-top:32px;gap:10px}.welcome-copy{text-align:center}.eyebrow{font-size:9px}.overline{margin-top:23px}.welcome h1{font-size:74px}.welcome h1 span{margin-bottom:21px}.tagline{font-size:20px}.intro-text{margin:15px 0 20px}.start-options,.start,#resume{margin-left:auto;margin-right:auto}.welcome-art{max-width:600px;width:100%;margin:auto;padding-top:30px}.news-sticker{right:4%;top:0;width:133px;padding:10px}.news-sticker b{font-size:17px}.news-sticker span{font-size:10px}.game-layout{grid-template-columns:minmax(0,1fr)}.desk{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-items:start}.goal-card{height:100%;min-height:208px}.rinrin-card{min-height:208px;align-content:center}.destinations{grid-row:2/5;grid-column:2}.finish-note{grid-column:1}.status-bar{grid-template-columns:repeat(3,1fr);margin:17px 0;gap:0}.status-bar>div{border-bottom:1px solid var(--line)}.status-bar>div:nth-child(3){border-right:0}.status-bar>div:nth-child(n+4){border-bottom:0}.status-bar>div:last-child{border-bottom:0}.status-bar b{font-size:25px;margin:3px 0}.status-bar span{font-size:10px}.panel-heading h2{font-size:18px}.map-toolbar #tool-hint{display:block}.log-book{margin-top:14px}.art-caption{font-size:11px}footer{flex-direction:column;gap:8px;text-align:center}.welcome-art .cast-strip{gap:12px}}
@media(max-width:480px){.page{padding:0 12px}.masthead{height:77px}.brand{gap:8px}.brand-mark{width:39px;height:41px;font-size:32px}.brand-mark span{font-size:17px}.brand b{font-size:18px;letter-spacing:2px}.brand small{font-size:8px;letter-spacing:0}.header-actions{gap:4px}.icon-button{padding:7px;min-width:44px;font-size:10px}.welcome{padding-top:28px;padding-bottom:32px}.overline{font-size:13px;letter-spacing:2px}.welcome h1{font-size:64px;letter-spacing:-4px}.welcome h1 span{font-size:10px;letter-spacing:8px}.tagline{font-size:19px}.intro-text{font-size:12px}.welcome-art{margin-top:22px}.news-sticker{width:118px;top:-5px}.news-sticker b{font-size:15px}.news-sticker small{font-size:8px}.cast-strip{gap:8px!important;font-size:9px}.status-bar>div{padding:10px 11px}.status-bar b{font-size:23px}.status-bar span{font-size:9px}.status-bar small{font-size:8px}.status-bar #family-status{font-size:12px;line-height:27px}.panel-heading{padding:15px 13px 12px}.panel-heading h2{font-size:16px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1px}.quiet{font-size:10px}.map-toolbar{padding:0 12px 11px;gap:6px}.map-toolbar button{min-width:0;flex:1;font-size:11px;min-height:44px}.map-toolbar #tool-hint{display:none}.map-legend{font-size:8px;gap:8px;padding-top:10px}.selection-bar{margin:4px 11px 11px;padding:11px;gap:8px}.selection-bar strong{font-size:11px}.selection-bar p{font-size:9px}.selection-bar button{font-size:11px;padding:10px;min-width:91px}.fine-controls{padding:0 13px 9px;font-size:9px}.dispatch{padding:12px;gap:8px}.dispatch p{font-size:10px}.dispatch span{font-size:8px}.desk{display:flex}.goal-card{min-height:0;width:100%;padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.goal-card h2{grid-column:1;font-size:17px;margin:0}.goal-card p{grid-column:2;grid-row:2;font-size:10px;margin:auto 0}.goal-card .goal-dots{grid-column:1/-1;margin-top:0}.goal-card .eyebrow{grid-column:1/-1}.rinrin-card{min-height:0;grid-template-columns:33px 1fr 81px;align-items:center;padding:12px}.rinrin-card .pink-button{grid-column:3;grid-row:1;display:block;padding:9px 4px;font-size:11px}.rinrin-card .pink-button small{margin-top:4px}.rinrin-card .avatar{font-size:26px}.actions-card,.destinations{padding:14px}#places{display:grid;grid-template-columns:1fr 1fr;gap:6px}.place-button{border:1px solid #e4e7d8;border-radius:6px;padding:8px 6px!important;font-size:10px;gap:6px;min-height:67px}.place-button:last-child{border:1px solid #e4e7d8}.place-icon{width:23px;height:26px;font-size:16px}.place-button .place-status{display:none}.place-button small{font-size:8px}.finish-button{width:100%}.finish-note{margin-top:-6px}.everywhere-actions button,#context-actions button{font-size:12px}.actions-card .section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.actions-card .section-title .eyebrow{margin-bottom:0}.newspaper{padding:20px 18px 18px}.paper-top{font-size:7px}.paper-masthead h2{font-size:32px;letter-spacing:2px}.paper-masthead div{font-size:8px}.paper-sub{font-size:7px;flex-direction:column;gap:4px}.paper-hero h3{font-size:25px}.paper-stories{grid-template-columns:1fr;gap:18px}.result-score{gap:7px}.result-score span{font-size:11px}.result-score b{font-size:33px}.result-controls{padding:18px}.result-controls .dialog-buttons{flex-direction:column}.result-controls button{min-height:48px}dialog{padding:20px;max-height:92dvh}dialog h2{font-size:19px}.result-dialog{padding:0}.help-steps{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.page,dialog:not(.result-dialog),.result-controls{display:none!important}.result-dialog{position:static;display:block;border:0;width:100%;max-height:none;overflow:visible}.newspaper{background:white}}

/* Keep the route confirmation visible before the map, including on small screens. */
.map-scroll canvas{max-width:760px;height:auto;margin:0 auto}.map-scroll.zoomed canvas{max-width:none}.selection-bar{margin-top:0}.news-sticker b{font-size:20px}
@media(max-width:800px){.news-sticker b{font-size:17px}}
@media(max-width:480px){.news-sticker b{font-size:15px}.map-scroll canvas{max-width:none}}
@media(max-width:480px){.desk{align-items:stretch}.goal-card{grid-template-columns:1fr auto}.goal-card h2{grid-column:1/-1}.goal-card p{grid-column:1;grid-row:auto}.goal-card .goal-dots{grid-column:2;grid-row:auto;align-self:center}.goal-card::after{top:20px}.place-button{min-width:0}.place-text{min-width:0}}

/* The weekend expansion: visible consequences, field assignments, breaking news. */
.dispatch{flex-wrap:wrap;gap:7px 10px}.dispatch p{flex:1;min-width:150px}.dispatch .quiet{margin-left:auto;font-size:10px;padding:6px}.assignments{padding:23px 22px;border-top:1px solid var(--line);background:#faf9ef}.assignments h2{font-size:18px}.assignment-intro{font-size:11px;color:var(--muted);margin:-2px 0 16px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-card{border:1px solid #d6d9c7;background:#fffdf5;border-radius:9px;padding:15px 12px;display:flex;flex-direction:column;min-width:0}.project-top{display:flex;gap:7px;align-items:center}.project-top b{font-size:12px;line-height:1.6}.project-number{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;background:#d78355;color:#fff8e3;border-radius:5px;font:700 14px monospace}.project-state{display:block;font-size:9px;background:#f7e9d7;color:#99703f;padding:6px 7px;border-radius:5px;margin:12px 0 9px}.project-state.ready{background:#e5eedc;color:#437349}.project-card p{font-size:10px;line-height:1.9;margin-bottom:12px}.project-card>small{display:block;font-size:9px;line-height:1.8;color:var(--muted);margin-top:auto}.project-buttons{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}.project-buttons button{flex:1;font-size:10px;padding:8px 6px;min-height:44px;white-space:nowrap}.project-card.complete{background:#eaf0dd}.project-card.complete .project-state{background:#cfddba;color:#446245}.bonus-missions{margin-top:22px;padding-top:20px;border-top:1px dashed #ccd2bb}.bonus-missions h2{font-size:16px}#missions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mission-row{display:flex;align-items:center;gap:9px;background:#f0f2e4;border-radius:8px;padding:13px;min-width:0}.mission-row>span{color:#b2964f;font-size:18px}.mission-row>div{flex:1;min-width:0}.mission-row b{font-size:11px}.mission-row p{font-size:10px}.mission-row small{font-size:9px;color:var(--muted)}.mission-row strong{font-size:10px;white-space:nowrap}.mission-row.complete{background:#e0ebca}.legacy-note{font-size:12px;line-height:1.9;grid-column:1/-1}.events-card{background:#fff9ef;border:1px solid #e1d3b9;border-radius:10px;padding:15px}.events-card>.small-note{margin:0 0 7px}.event-row{border-top:1px solid #e6ddc7;padding:11px 0;display:flex;align-items:center;gap:6px}.event-row div{flex:1;min-width:0}.event-row b{font-size:10px;line-height:1.8;display:block}.event-row b span{font-size:8px;border:1px solid #cacbb7;border-radius:3px;padding:2px 4px;white-space:nowrap}.event-row p{font-size:9px;color:var(--muted);margin-top:4px}.event-row button{font-size:9px;padding:6px;flex-shrink:0}.event-row.active b{color:#a7513e}.event-row.active b span{background:#d7775f;color:#fff6e0;border-color:#d7775f}.story-teaser{font-size:10px!important;line-height:1.7!important;color:#6e705d;margin:3px 0 9px!important}.feature-button{background:#e9eddc;margin:4px 0 6px}.event-action{background:#fbebd8;border-color:#d9b48f;margin:8px 0}.notebook{font-size:11px;margin:18px 0}.notebook>summary{font-weight:700}.notebook>summary span{color:var(--muted);font-weight:400;margin-left:10px}#notebook{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.note-card{border:1px solid var(--line);border-radius:8px;padding:15px;background:var(--white);min-width:0}.note-card span{font-size:9px;color:var(--muted);display:block;margin-bottom:7px}.note-card b{font-size:12px;line-height:1.7;display:block}.note-card p{font-size:10px;margin-top:6px}.feedback-dialog{width:min(530px,calc(100% - 28px));padding:24px;overflow-y:auto}.feedback-dialog .dialog-top{margin-bottom:0}.feedback-icon{font-size:38px;margin-bottom:12px}.feedback-dialog h2{font-size:23px;line-height:1.5}.feedback-dialog>p{font-size:13px;margin:14px 0;line-height:1.9}.delta-chips{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.delta-chips span{font:700 12px monospace;padding:7px 9px;border-radius:6px;white-space:nowrap}.delta-chips .gain{background:#e4edce;color:#42663d}.delta-chips .spent{background:#f2e8d6;color:#866943}.feedback-story{background:#f8f1db;border:1px solid #e0d5b3;padding:16px;margin:16px 0;border-radius:7px}.feedback-story small{font-size:10px;color:#887248}.feedback-story h3{font-family:"Yu Mincho",serif;font-size:18px;line-height:1.65;margin:8px 0}.feedback-story p{font-size:11px;line-height:1.9}.feedback-news{padding:13px;margin:12px 0;border-left:4px solid #d88c62;background:#f8efe1}.feedback-news b{font-size:12px;line-height:1.8}.feedback-news p{font-size:11px;margin-top:6px}.feedback-news.mission-won{background:#eaf0db;border-color:#769865}.feedback-news .quiet{display:block;margin-left:auto;font-size:11px}.feedback-controls{position:sticky;bottom:-24px;background:var(--white);padding:14px 0 4px;border-top:1px solid var(--line);display:flex;gap:9px;flex-wrap:wrap;box-shadow:0 -8px 15px #fffef7ed}.feedback-controls button{flex:1;font-size:12px;min-width:120px;min-height:48px}.terrain-toast{position:fixed;z-index:20;left:50%;bottom:24px;transform:translateX(-50%);width:min(500px,calc(100% - 24px));display:flex;align-items:flex-start;gap:10px;padding:15px 15px 11px;background:#fffcef;border:2px solid #a3b785;box-shadow:0 7px 25px #29473538;border-radius:11px;pointer-events:none}.terrain-toast>div{flex:1;min-width:0}.terrain-toast b{font-size:13px}.terrain-toast p{font-size:11px;margin:6px 0}.terrain-toast button{pointer-events:auto;min-width:44px;font-size:20px;padding:0;border:0;background:transparent}.terrain-toast .delta-chips{margin:9px 0 0}.terrain-toast .delta-chips span{font-size:10px;padding:5px 7px}
@media(max-width:1100px){.project-grid{grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.project-top,.project-state{grid-column:1}.project-state{margin:6px 0}.project-card p{grid-column:2;grid-row:1/4;margin:0}.project-card>small{grid-column:1}.project-buttons{grid-column:1/-1}.project-buttons button{flex:none;padding-left:14px;padding-right:14px}#missions{grid-template-columns:1fr}}
@media(max-width:800px){.events-card{grid-column:1/-1}.destinations{grid-row:auto;grid-column:auto}.finish-note{grid-column:1/-1}.assignments{padding:20px}.project-grid{grid-template-columns:repeat(3,1fr)}.project-card{display:flex}.project-card p{margin:6px 0 12px}.project-buttons button{flex:1;padding-left:6px;padding-right:6px}.project-top b{font-size:11px}.project-buttons{width:100%}#missions{grid-template-columns:1fr 1fr}#notebook{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.project-grid{grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.project-card p{margin:0}.project-buttons button{flex:1}.project-card>small{margin-top:0}#missions{grid-template-columns:1fr}.mission-row{padding:12px}#notebook{grid-template-columns:1fr}}
@media(max-width:480px){.assignments{padding:18px 12px}.assignments h2{font-size:16px}.assignment-intro{font-size:10px}.project-card{padding:12px;gap:4px 9px}.project-top b{font-size:11px}.project-number{width:22px;height:22px}.project-card p{font-size:10px}.project-card>small{font-size:8px}.project-state{font-size:9px}.project-buttons button{font-size:11px}.events-card{padding:14px}.event-row b{font-size:11px}.event-row p{font-size:10px}.event-row button{font-size:11px;padding:8px 11px}.feedback-dialog{padding:19px}.feedback-dialog h2{font-size:21px}.feedback-dialog>p{font-size:12px}.feedback-controls{bottom:-19px;padding-bottom:5px}.feedback-story{padding:12px}.feedback-story h3{font-size:17px}.feedback-icon{font-size:33px;margin-bottom:8px}.delta-chips{gap:6px}.delta-chips span{font-size:11px}.dispatch{gap:5px}.dispatch .quiet{min-height:44px}.terrain-toast{bottom:12px}.selection-bar button{white-space:normal;min-width:97px;max-width:140px}}
.quick-nav{display:none}
@media(max-width:800px){.quick-nav{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:15;display:flex;width:min(440px,calc(100% - 24px));gap:4px;padding:6px;background:#254c41f5;border:1px solid #abc2a2;border-radius:12px;box-shadow:0 4px 20px #24473730}.quick-nav button{flex:1;font-size:11px;min-height:44px;background:transparent;color:#fffbe8;border:0;padding:8px 3px;white-space:nowrap}.quick-nav button:hover{color:#254c41}#game{padding-bottom:70px}.terrain-toast{bottom:86px}}
.home-card{display:flex;align-items:center;gap:14px;padding:17px 20px;margin:0 0 20px;border:1px solid #c9d4b5;border-left:5px solid #8ba16a;border-radius:9px;background:#f2f4e4}.home-icon{font-size:30px;flex-shrink:0}.home-card>div{flex:1;min-width:0}.home-card b{font-size:14px;line-height:1.7}.home-card p{font-size:11px;margin-top:4px}.home-card button{flex-shrink:0;min-width:140px}.home-card[data-mood="warning"],.home-card[data-mood="late"]{background:#fbe9df;border-color:#d88c72}.home-card[data-mood="safe"]{background:#eaf1da;border-color:#94ae72}.newspaper .rank-next{font-size:15px;font-weight:700;padding:12px 14px;background:#e9edd6;border-radius:5px;line-height:1.8;margin-top:14px}.newspaper .paper-home{font-size:12px;margin-top:10px;line-height:1.8}
@media(max-width:600px){.home-card{padding:14px 12px;gap:9px;flex-wrap:wrap}.home-icon{font-size:25px}.home-card b{font-size:12px}.home-card p{font-size:10px}.home-card button{width:100%;min-height:48px}.newspaper .rank-next{font-size:12px;padding:10px}.newspaper .paper-home{font-size:11px}}

.rinrin-card[data-mood="crying"]{background:#ffe5db;border:2px solid #db9580}.rinrin-card #hug-status{font-size:10px;font-weight:700;color:#925e4e;margin-top:8px;line-height:1.8}.rinrin-card[data-mood="safe"] #hug-status,.rinrin-card[data-mood="soothed"] #hug-status{color:#527b4d}

/* Family memories are one-time rewards, with live progress beside the assignments. */
.memory-section{margin-top:22px;padding-top:20px;border-top:1px dashed #d9c7a7}.memory-section h2{font-size:16px}.memory-section h2 small{display:inline-block;font:700 11px monospace;margin-left:8px;color:#996747}.memory-section #memories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.memory-section .mission-row{background:#fbefdb;align-items:flex-start;flex-wrap:wrap}.memory-section .mission-row>div{flex:1;min-width:100px}.memory-section .mission-row strong{margin-left:auto;color:#8c633d}.memory-section .mission-row.complete{background:#e5edcf}.newspaper .paper-memories{font-size:12px;line-height:1.8;margin-top:10px;color:#657247}
@media(max-width:1100px){.memory-section #memories{grid-template-columns:1fr}}
@media(max-width:800px){.memory-section #memories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.memory-section #memories{grid-template-columns:1fr}.newspaper .paper-memories{font-size:11px}}

/* The Twilight Gazette: warm print, violet dusk, brass and ink. */
:root{--paper:#f2ece2;--ink:#383044;--muted:#776e7e;--line:#d9cfca;--green:#695577;--coral:#bc765e;--yellow:#ebc887;--pink:#f1e1e5;--white:#fffaf1;--shadow:0 5px 0 #36273b0c}
body{background-color:var(--paper);background-image:radial-gradient(#9f7e6420 .6px,transparent .6px)}
body[data-state="welcome"]{background:#201b2c;background-image:radial-gradient(ellipse at 80% 20%,#4b3a5559,transparent 65%),radial-gradient(#b19a7c20 .6px,transparent .6px);background-size:auto,5px 5px;color:#eee3d3}
body[data-state="welcome"] .masthead{border-color:#a18c734f}body[data-state="welcome"] .brand{color:#eee3d3}body[data-state="welcome"] .brand-mark{background:#ebc887;color:#30263e}body[data-state="welcome"] .brand-mark span{color:#775e86}body[data-state="welcome"] .icon-button{color:#eee3d3;border-color:#766174}body[data-state="welcome"] .icon-button:hover{background:#4d4058}
body[data-state="welcome"] footer{border-color:#706078;color:#c0adc6}
.welcome{grid-template-columns:.9fr 1.1fr;gap:18px;min-height:660px;padding:46px 0 30px}.welcome .eyebrow{color:#d8b98c;font-size:10px;letter-spacing:1.9px}.welcome .overline{font-size:13px;font-weight:500;color:#c4afc9;letter-spacing:3px;margin:26px 0 14px}
.welcome h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(54px,5.6vw,78px);font-weight:700;letter-spacing:2px;line-height:1.13}.welcome h1 .title-second{display:block;font:inherit;font-size:.88em;letter-spacing:10px;margin:8px 0 0}.welcome h1 .title-star{display:inline;font:inherit;font-size:.38em;vertical-align:middle;color:#d8b98c;margin:0 0 0 12px}.welcome h1 .roman-title{font:10px Georgia,serif;letter-spacing:4px;color:#c6a884;margin:18px 0 24px}.welcome .tagline{font-size:21px;font-weight:500;letter-spacing:2px;line-height:1.7}.welcome .intro-text{color:#c5b8cc;line-height:2;font-size:12px}.welcome .intro-text strong{color:#f2e5d0;font-weight:500}.welcome .small-note{color:#bdaec6}
.welcome .start-options{max-width:360px}.welcome .start-options label{white-space:nowrap;color:#c9b7ce}.welcome .start-options select{color:#eee1d1;background:#332a40;border-color:#756276}.welcome .start{background:#e5bc7f;color:#30243a;border-color:#e5bc7f;box-shadow:0 4px 0 #8c6c53;max-width:360px;min-height:56px}.welcome .start span{color:#4f3655}.welcome .start:hover{background:#f4d59b}.welcome #resume{background:#342a40;color:#e4d6e9;border-color:#766478;max-width:360px}
.welcome-art{background:none;padding-top:52px}.welcome-art canvas{border:1px solid #a88e6a52;border-radius:50% 50% 8px 8px;background:#211c34;box-shadow:0 22px 55px #0d091f55}.news-sticker{background:#ead4ae;color:#423145;border-color:#ba9568;box-shadow:5px 5px 0 #0e0b2433;transform:rotate(5deg);top:13px;right:0;width:154px}.news-sticker span{border-color:#886b7d66}.news-sticker b{font-size:18px}.cast-strip{color:#d8c9df;font-size:10px;gap:14px;margin-top:24px}.art-caption{color:#a995b5;font-family:inherit;font-size:10px;letter-spacing:1px}
.cast-notes{border-top:1px solid #a9906a55;margin:12px 0 35px;padding-top:4px;color:#d8c9df}.cast-notes>summary{font-size:12px;letter-spacing:1px;min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.cast-notes>summary::-webkit-details-marker{display:none}.cast-notes>summary span{font-size:20px;color:#e2bf85}.cast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:10px 0 24px}.cast-grid article{border-top:1px solid #6f5c78;padding-top:8px}.cast-portrait{display:block;margin:auto;width:120px;height:100px;image-rendering:pixelated}.cast-grid b{display:block;color:#edd4a8;font-size:14px}.cast-grid small{display:block;color:#b9a4c2;font-weight:400;font-size:10px;margin:6px 0 10px}.cast-grid p,.town-note{font-size:11px;line-height:1.9;color:#d0bfd7}.town-note{border-top:1px solid #6f5c78;padding:20px 0 0;margin-bottom:10px;text-align:center}body:not([data-state="welcome"]) .cast-notes{display:none}
.primary{background:#544160;border-color:#544160;color:#fff9ed}.primary:hover:not(:disabled){background:#70597b}.brand-mark{background:#544160}.time-stat span,.time-stat small{color:#dac9e0}.status-bar .time-stat{background:#493751}.goal-card{background:#493751;color:#fff5e5}.goal-card p,.goal-card .eyebrow{color:#d4c2dc}.goal-dots span.done{background:#e4c084;color:#3d3049}.map-toolbar button.active{background:#695477;color:#fff5df;border-color:#695477}.map-scroll{background:#29243d}.selection-bar{background:#eee5df}.dispatch{background:#ece2dc}.dispatch span{color:#7a5b7d}.home-card{background:#f5e6cf;border-color:#dcc09b}.home-card[data-mood="safe"]{background:#e9e4ee;border-color:#bdadcb}.home-card[data-mood="late"]{background:#f6dcd4}.rinrin-card{background:#ede1ed;border-color:#d4bfd8}.rinrin-card .avatar{width:45px;height:45px}.rinrin-card canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.pink-button{background:#d8b9d1;color:#46304b;border-color:#c8a5c2}.finish-button{background:#dfd3e4;border-color:#baa4c4}.help-tip{background:#efe7e3}.project-card,.note-card{background:#fffaf1}.project-card.complete,.mission-row.complete{background:#eee9f1}.project-number{background:#785b80}.project-state.ready{color:#6c4e79}.event-row.active{background:#f5e7d6}.feedback-story,.feedback-news{background:#f3e9df}.delta-chips .gain{background:#e9dfef;color:#594167}dialog::backdrop{background:#171122df}.newspaper{color:#3d3341}.result-controls{background:#e9dfd8}.newspaper h2{letter-spacing:2px}.newspaper .paper-masthead h2{font-size:clamp(24px,4vw,44px)}.paper-label{background:#493751}
@media(max-width:1100px){.welcome{gap:14px}.welcome h1{font-size:65px}.news-sticker{width:136px}.news-sticker b{font-size:17px}}
@media(max-width:800px){.welcome{grid-template-columns:1fr;padding-top:30px;gap:12px}.welcome h1{font-size:66px}.welcome h1 .title-second{display:inline;font:inherit;letter-spacing:2px;margin:0}.welcome h1 .title-star{display:none}.welcome .overline{margin-top:18px}.welcome .tagline{font-size:20px}.welcome .intro-text{margin-top:14px}.welcome-art{max-width:570px;padding-top:35px;margin-top:8px}.news-sticker{top:0;right:2%}.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cast-notes{margin-top:20px}.welcome h1 .roman-title{margin-bottom:20px}}
@media(max-width:480px){.welcome h1{font-size:clamp(33px,10.5vw,48px);letter-spacing:0}.welcome h1 .title-second{letter-spacing:0}.welcome .eyebrow{font-size:8px;letter-spacing:1.2px}.welcome .overline{font-size:11px;letter-spacing:2px}.welcome h1 .roman-title{font-size:8px;letter-spacing:3px;margin:13px 0 19px}.welcome .tagline{font-size:20px}.welcome .intro-text{font-size:11px}.welcome-art{padding-top:20px}.news-sticker{width:110px;top:0;padding:9px 10px}.news-sticker b{font-size:13px}.news-sticker small{font-size:8px}.cast-strip{gap:10px!important;font-size:9px;line-height:1.7;margin-top:18px}.art-caption{font-size:9px;letter-spacing:0}.cast-grid{gap:16px}.cast-grid p{font-size:10px}.cast-grid small{font-size:9px}.cast-portrait{width:100px;height:84px}.newspaper .paper-masthead{gap:5px}.newspaper .paper-masthead h2{font-size:clamp(21px,6vw,29px);letter-spacing:0}.newspaper .paper-masthead div{font-size:7px}.rinrin-card .avatar{width:34px;height:40px}}
@media(max-width:800px){.quick-nav{background:#493751f7;border-color:#b6a1bf;box-shadow:0 4px 20px #261a3030}.quick-nav button:hover{color:#493751}}
#energy::-webkit-meter-optimum-value{background:#9b80a5}.legend-water{background:#677c9a}.legend-cliff{background:#88728e}.place-button.selected{background:#eee7f0}.everywhere-actions button:first-child{background:#eee7f0}.assignments{background:#fbf5e9}
.welcome-copy{min-width:0}.welcome-art{max-width:100%}
@media(max-width:800px){.welcome{grid-template-columns:minmax(0,1fr)}.start-options{width:100%}}

/* A two-page prologue, readable at phone width and without touching the save. */
.comic-entry{width:100%;max-width:360px;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;margin:0 0 20px;background:#372d43;border:1px solid #8c718c;color:#eadcca;box-shadow:inset 3px 0 #d5ae75}.comic-entry:hover:not(:disabled){background:#493852}.comic-entry>span:nth-child(2){flex:1;min-width:0}.comic-entry b{font-size:12px}.comic-entry small{font-size:10px;font-weight:400;color:#c6b2ca;line-height:1.7}.comic-entry-mark{font-size:25px;color:#dfbf8e}.comic-entry>span:last-child{color:#dfbf8e;font-size:19px}
.comic-dialog{width:min(840px,calc(100% - 24px));height:min(960px,92dvh);max-height:92dvh;padding:0;overflow:hidden;border:1px solid #a78aab;border-radius:12px;background:#eee3d4;color:#3b2d43}.comic-dialog[open]{display:flex;flex-direction:column}.comic-heading{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#32263d;color:#f1dfc6;padding:12px 18px}.comic-heading h2{font-size:18px;margin-top:5px}.comic-heading .eyebrow{font-size:8px;color:#c9ac80;letter-spacing:2px}.comic-heading .close{color:#eee0d1}.comic-heading .close:hover{background:#514059}.comic-tools{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:2px 16px;border-bottom:1px solid #cfbdba;background:#f5ecdf}.comic-tools>span{font-size:11px;font-weight:700;margin-right:auto;white-space:nowrap}.comic-tools button,.comic-download{font-size:10px;white-space:nowrap}.comic-download{display:inline-flex;align-items:center;min-height:44px;padding:5px;color:#6e4e71;text-underline-offset:3px}.comic-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-x pan-y pinch-zoom;background:#e6d8ca}.comic-page{margin:0;width:100%;padding:12px}.comic-page>img{display:block;width:100%;height:auto;max-width:none;background:#f6eddf;border:1px solid #cbb7a7;box-shadow:0 4px 18px #4a354b20}.comic-page>figcaption{font-size:11px;font-weight:700;padding:13px 4px;line-height:1.8}.comic-scroll.is-zoomed .comic-page{width:max(100%,1100px)}.comic-transcript{padding:2px 10px 12px;background:#fff9ee;border:1px solid #cbb7a7;border-radius:5px;font-size:12px;line-height:1.8}.comic-transcript summary{min-height:44px;cursor:pointer;font-weight:700}.comic-transcript ol{padding-left:23px;margin:8px 0}.comic-transcript li{padding:8px 0}.comic-transcript p{margin:6px 0}.comic-mode-note{color:#77556e;border-top:1px solid #e1d1c5;padding-top:10px}.comic-controls{flex-shrink:0;padding:12px 16px;display:flex;gap:10px;background:#f3e8d9;border-top:1px solid #cbb7b0}.comic-controls button{min-height:48px;font-size:12px}.comic-controls #comic-prev{flex:0 0 90px}.comic-controls #comic-next,.comic-controls #comic-play{flex:1}.comic-controls .primary{background:#594061}.comic-tools a:focus-visible{outline:3px solid var(--coral);outline-offset:1px}
@media(max-width:800px){.comic-entry{margin-left:auto;margin-right:auto}}
@media(max-width:480px){.masthead{gap:5px}.brand{gap:6px}.brand b{font-size:16px;letter-spacing:1.2px}.brand-mark{width:34px;height:38px;font-size:29px}.header-actions{gap:3px}.header-actions .icon-button{min-width:44px;min-height:44px;padding:5px;font-size:10px}.comic-dialog{width:calc(100% - 12px);height:94dvh;max-height:94dvh;border-radius:8px}.comic-heading{padding:9px 12px}.comic-heading h2{font-size:16px}.comic-tools{padding:1px 8px;gap:4px}.comic-tools>span{font-size:10px}.comic-tools button,.comic-download{font-size:9px;padding-left:5px;padding-right:5px}.comic-page{padding:7px}.comic-controls{padding:9px;gap:7px}.comic-controls button{font-size:11px;padding:8px}.comic-controls #comic-prev{flex-basis:65px}.comic-entry{margin-bottom:18px}.comic-transcript{font-size:12px}.comic-page>figcaption{font-size:10px}}
.comic-dialog{max-width:min(840px,calc(100vw - 12px))}
@media(max-width:480px){.comic-scroll{scrollbar-gutter:auto}}
