:root{color-scheme:light;--ink:#15343a;--muted:#587176;--sea:#0b282e;--teal:#157d7b;--lime:#d9eb96;--amber:#efb649;--paper:#f5f7f3;--line:#d9e4df;--danger:#ad3e2f;--good:#197659;--radius:16px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--sea);color:var(--ink);line-height:1.6}button,input,select{font:inherit}button{touch-action:manipulation;cursor:pointer;min-height:46px;border:0;border-radius:11px;background:#e8efeb;color:var(--ink);font-weight:650;padding:10px 15px}button:hover{filter:brightness(.96)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}button.primary{background:var(--amber);color:#273029}button.dark{background:var(--teal);color:#fff}button.danger{background:#a84034;color:#fff}button.ghost{background:transparent;border:1px solid var(--line)}button.small{font-size:.85rem;padding:8px 11px;min-height:42px}button.text-btn{background:transparent;color:var(--teal);padding:5px 8px;min-height:38px}h1,h2,h3,p{margin-top:0}h1{font-size:1.75rem;line-height:1.45;letter-spacing:.02em}h2{font-size:1.25rem;line-height:1.5;margin-bottom:12px}h3{font-size:1.02rem;margin:0 0 5px}p{margin-bottom:10px}.muted{color:var(--muted)}.tiny{font-size:.8rem}.smalltext{font-size:.88rem}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.stack{display:grid;gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.full{width:100%}.pill{display:inline-block;background:#e6eee5;color:#365340;border-radius:30px;padding:4px 10px;font-size:.8rem;white-space:nowrap}.pill.amber{background:#fbebc8;color:#7b5100}.pill.red{background:#fae2da;color:#943a2c}.badge{color:#95b8bb;font-size:.75rem;letter-spacing:.08em}.notice{padding:12px 14px;border-radius:10px;background:#fff0d2;color:#714a0a;font-size:.88rem;border-left:3px solid var(--amber);margin-bottom:14px}.notice.bad{background:#fbe9e3;color:#913c2d;border-color:#be5441}.notice.good{background:#e4f0e8;color:#205d44;border-color:var(--good)}.divider{border:0;border-top:1px solid var(--line);margin:18px 0}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px}.panel.tint{background:#eef3e9}.play-shell{max-width:1180px;margin:0 auto;background:var(--paper);min-height:100dvh}.topbar{height:62px;background:var(--sea);color:#f4f6e8;padding:0 24px}.brand{font-size:.92rem;letter-spacing:.025em;font-weight:750}.brand b{color:var(--amber);font-size:1.15rem;margin-right:6px}.topbar button{color:#dce8e5;border-color:#496266;background:transparent}.status-shell{position:sticky;top:0;z-index:10;background:#f5f7f3f7;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:13px 24px 10px}.day{font-size:1.5rem;font-weight:800;line-height:1.2}.day small{font-size:.78rem;font-weight:600;margin-left:8px;color:var(--muted)}.phase{display:flex;align-items:center;gap:5px;font-size:.78rem}.phase span{padding:3px 7px;color:#779092}.phase span.active{background:var(--teal);color:white;border-radius:6px}.phase span.done{opacity:.5;text-decoration:line-through}.meters{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 10px}.meter-label{font-size:.82rem;display:flex;justify-content:space-between;gap:3px}.meter-label b{font-variant-numeric:tabular-nums}.track{height:5px;background:#dfe9e1;border-radius:4px;overflow:hidden;margin-top:5px}.track i{height:100%;display:block;background:var(--teal);border-radius:4px}.track i.low{background:#ca7540}.track i.severe{background:#d14f12}.track i.critical{background:#b7463a}.stocks{display:flex;flex-wrap:wrap;gap:5px 16px;font-size:.82rem}.stocks b{font-variant-numeric:tabular-nums}.stocks span{white-space:nowrap}.save-indicator{font-size:.75rem;color:var(--muted);text-align:right}.play-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;padding:22px 24px 40px}.main-column{min-width:0}.nav{display:flex;gap:4px;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:18px;overflow-x:auto;scrollbar-width:none}.nav button{flex:0 0 auto;white-space:nowrap;min-width:62px;min-height:44px;padding:8px 12px;background:transparent;border-radius:8px;font-size:.9rem;color:var(--muted)}.nav button.active{background:var(--sea);color:#fff}.island{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:16px;background:#0d5e66;margin-bottom:18px}.island img{display:block;width:100%;height:100%;object-fit:cover}.map-label{position:absolute;transform:translate(-50%,-50%);font-size:.8rem;background:#0b282eef;color:#fff8de;border:1px solid #ffffff42;border-radius:8px;min-height:38px;padding:6px 10px;box-shadow:0 3px 8px #08252b33}.map-label.current{background:var(--amber);color:var(--sea)}.map-caption{position:absolute;top:12px;left:14px;color:#e9f6eb;letter-spacing:.12em;font-size:.7rem;text-shadow:0 1px 3px #073237}.action{display:flex;align-items:center;text-align:left;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;min-height:85px;line-height:1.5}.action .glyph{font-size:1.5rem;min-width:32px;text-align:center;color:var(--teal)}.action strong{display:block;font-size:.95rem}.action small{display:block;font-size:.79rem;font-weight:400;color:var(--muted);line-height:1.55;margin-top:3px}.action .tag{margin-left:auto;font-size:.72rem;white-space:nowrap;color:var(--muted)}.action.primary-action{background:#e8f0e2;border-color:#c7d9b9}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-head h2{margin:0}.logs{list-style:none;padding:0;margin:0;display:grid;gap:13px}.logs li{border-left:2px solid #dbe5df;padding-left:11px;font-size:.87rem;line-height:1.65}.logs li.bad{border-color:#bf5b43}.logs li.good{border-color:#5b9c78}.logdate{display:block;font-size:.74rem;color:var(--muted);margin-bottom:2px}.side{display:grid;gap:16px;align-content:start}.side .panel{padding:17px}.helper{font-size:.87rem;line-height:1.8}.table{width:100%;border-collapse:collapse;font-size:.86rem}.table th,.table td{padding:10px 5px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{color:var(--muted);font-weight:500}.count{font-size:2.4rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.count small{font-size:.85rem;font-weight:500}.statblock{padding:13px;background:#eef3ee;border-radius:12px}.choice-list{display:grid;gap:11px}.choice{background:white;border:1px solid var(--line);border-radius:13px;padding:16px}.choice .cost{font-size:.83rem;color:var(--muted);margin:8px 0}.choice .missing{color:#96563b;font-size:.8rem;margin-bottom:10px}.choice .row{align-items:start}.choice-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.choice select{padding:8px;max-width:100%;border:1px solid var(--line);border-radius:8px;min-height:44px;background:white;color:var(--ink)}details{border:1px solid var(--line);padding:13px 15px;border-radius:10px;margin-bottom:10px;background:#fff}summary{cursor:pointer;font-weight:650}details[open] summary{margin-bottom:12px}.empty{padding:28px 18px;text-align:center;color:var(--muted);border:1px dashed #bccdc5;border-radius:12px}.muted-label{font-size:.82rem;color:var(--muted)}.inventory-title{margin:20px 0 10px}.inventory-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.inventory-item .buttons{display:flex;gap:4px}.inventory-item strong{font-size:.9rem}.inventory-item small{display:block;color:var(--muted);font-size:.78rem}.start-shell{max-width:950px;margin:0 auto;padding:32px 24px;min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:34px;color:#f4f6ea}.start-art{position:relative}.start-art img{width:100%;border-radius:24px;display:block;box-shadow:0 25px 70px #00111680}.start-art .art-label{position:absolute;bottom:20px;left:20px;font-size:.75rem;letter-spacing:.14em;color:white}.start-content h1{font-size:2.1rem;margin:12px 0}.start-content .subtitle{color:#b9ceca;font-size:.94rem;line-height:1.9}.start-form{margin:22px 0 15px}.start-form label{display:block;font-size:.82rem;color:#b9ceca;margin-bottom:7px}.start-form input{width:100%;border:1px solid #426068;background:#17383e;color:#fff;border-radius:10px;padding:12px 14px;margin-bottom:12px}.start-shell .ghost{color:#e4eee8;border-color:#4c676a}.start-notes{font-size:.78rem;color:#a1beba;margin-top:18px}.start-links{display:flex;gap:8px;flex-wrap:wrap}.best{margin:16px 0;padding:12px 0;border-top:1px solid #385357;border-bottom:1px solid #385357;font-size:.86rem;color:#cfdfd6}.best b{color:var(--amber);font-size:1.2rem}.result-wrap{max-width:460px;margin:0 auto;padding:24px 18px}.result-card{background:#f3f6e8;border-radius:20px;overflow:hidden;border:1px solid #b1c6b7;padding:24px;text-align:center}.result-card .eyebrow{color:var(--teal)}.result-card h1{font-size:1.2rem;margin:13px 0 4px}.result-days{font-size:5.5rem;letter-spacing:-.05em;font-weight:850;line-height:1.18;color:var(--sea)}.result-days span{font-size:1.2rem;letter-spacing:0;margin-left:8px}.result-card .title{display:inline-block;margin:12px 0;background:var(--sea);color:#eeeec9;padding:6px 18px;border-radius:30px}.result-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;border-top:1px solid #cbd8c9;margin-top:18px;padding-top:16px}.result-metrics b{font-size:1.3rem;display:block}.result-metrics span{font-size:.78rem;color:var(--muted)}.result-footer{margin-top:20px;font-size:.72rem;color:var(--muted)}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.result-wrap>p{color:#b4cbc5;text-align:center;font-size:.78rem;margin:14px 0}dialog{max-width:500px;width:calc(100% - 28px);max-height:85dvh;border:0;border-radius:18px;background:var(--paper);color:var(--ink);padding:24px;box-shadow:0 25px 120px #04131766}dialog::backdrop{background:#031e24bd;backdrop-filter:blur(4px)}dialog h2{font-size:1.2rem}dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#toast{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:40;background:#102f32;color:white;border:1px solid #78908b;border-radius:12px;padding:12px 18px;box-shadow:0 8px 40px #08202844;max-width:calc(100% - 28px);width:max-content;font-size:.88rem;display:none}#toast.show{display:block}.warning-fixed{background:#ffd8c7;color:#712d20;padding:10px 20px;font-size:.85rem}.records-row{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;margin-bottom:8px;background:#e8eee5}.record-days{font-size:1.6rem;white-space:nowrap}.legend{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.text-danger{color:var(--danger)}.factline{font-size:.85rem;margin-bottom:7px}a{color:var(--teal)}.footer-note{font-size:.77rem;color:var(--muted);margin-top:16px}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatches button.active{background:var(--teal);color:white}.photo-credit{font-size:.7rem;color:#82a6a5;margin-top:10px}.alpha{font-size:.72rem;border:1px solid #658482;border-radius:4px;padding:2px 5px;margin-left:8px;color:#b6cfbd}
@media(min-width:1000px){.island{aspect-ratio:1.8}.island img{object-fit:cover}.map-label{font-size:.85rem}.play-shell{box-shadow:0 0 100px #01191d80}}
@media(max-width:760px){.topbar{padding:0 16px;height:54px}.brand{font-size:.8rem}.brand b{font-size:1rem}.status-shell{padding:11px 16px 9px}.day{font-size:1.2rem}.day small{font-size:.72rem;margin-left:5px}.meters{gap:9px;margin:10px 0 8px}.meter-label{font-size:.76rem}.stocks{font-size:.76rem;gap:3px 11px}.save-indicator{font-size:.68rem}.play-grid{display:block;padding:15px 14px 30px}.side{margin-top:18px}.side .help-panel{display:none}.side .panel{padding:16px}.nav{position:relative;margin-bottom:15px;gap:2px}.nav button{min-width:54px;padding:8px 10px;font-size:.85rem}.island{margin-bottom:16px}.grid2{gap:8px}.action{padding:12px 10px;gap:7px;min-height:86px}.action .glyph{font-size:1.25rem;min-width:25px}.action strong{font-size:.88rem}.action small{font-size:.75rem}.action .tag{display:none}.panel{padding:15px}.choice{padding:14px}.phase{gap:0}.phase span{padding:3px 5px;font-size:.72rem}.start-shell{display:flex;flex-direction:column;gap:0;padding:0 22px 30px;max-width:500px}.start-art{width:calc(100% + 44px);margin:0 -22px}.start-art img{border-radius:0;max-height:270px;object-fit:cover;box-shadow:none}.start-art:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,var(--sea))}.start-art .art-label{z-index:1;bottom:17px;font-size:.7rem;left:24px}.start-content{width:100%;padding-top:4px}.start-content h1{font-size:1.6rem;margin:6px 0 10px}.start-content .subtitle{font-size:.88rem}.start-form{margin:18px 0 12px}.best{margin:10px 0 15px}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.map-caption{font-size:.64rem}.map-label{font-size:.72rem;padding:4px 8px;min-height:34px}.result-wrap{padding:18px 16px}.result-card{padding:20px}.result-days{font-size:4.8rem}.result-metrics{margin-top:14px;padding-top:12px;gap:9px}.result-footer{margin-top:14px}}
@media(prefers-reduced-motion:no-preference){.choice,.panel,.island{animation:appear .18s ease-out}@keyframes appear{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media(max-width:350px){.grid2{grid-template-columns:1fr}.day small{display:block;margin:4px 0 0}.map-label{padding:2px 6px}.stocks{gap:4px 8px}.brand .alpha{display:none}}

/* Protagonist refresh. Artwork overlays do not intercept gameplay controls. */
.brand{display:flex;align-items:center;gap:4px;min-width:0}.brand-title{display:inline-block;line-height:1.3;font-size:.86rem}.brand-title>span{display:block}.brand .alpha{flex-shrink:0}
.game-title>span{font-size:.76em;color:#efb649}.game-title{letter-spacing:0!important}
.start-art img.start-protagonist{position:absolute;right:3%;bottom:3%;width:56%;height:97%;object-fit:contain;object-position:bottom;z-index:1;box-shadow:none;border-radius:0;filter:drop-shadow(0 10px 10px #001c2280);pointer-events:none}
.start-art .art-label{z-index:2}.start-art>img:first-child{filter:brightness(.85)}
.island img.map-protagonist{position:absolute;width:23%;height:37%;left:43%;bottom:22%;object-fit:contain;z-index:2;filter:drop-shadow(0 3px 3px #09272980);pointer-events:none}

.map-label{z-index:3}.map-caption{z-index:3}.protagonist-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-5px 0 18px}
.result-hero{display:flex;gap:3px;align-items:center;justify-content:center;margin:4px 0}.result-hero img{height:113px;width:77px;object-fit:contain}.result-hero .result-days{font-size:4.8rem}.result-hero .result-days span{font-size:1rem}
@media(max-width:760px){.start-art img.start-protagonist{max-height:none;right:4%;height:100%;width:53%;bottom:0}.start-content .game-title{font-size:1.7rem}.brand-title{font-size:.78rem}.brand b{margin-right:2px}.protagonist-strip .smalltext{font-size:.8rem}.result-hero .result-days{font-size:4.1rem}.result-hero img{height:93px;width:64px}}
@media(max-width:360px){.result-hero .result-days{font-size:3.5rem}.result-hero img{height:85px;width:55px}}

/* Game time follows the saved turn, with readable controls in every phase. */
.time-morning{--time-ink:#713a0f;--time-accent:#a44b13;--time-panel:#fff1db;--time-line:#dfbd85;--time-page:#fff9ed;--time-header:#473126}
.time-noon{--time-ink:#075471;--time-accent:#076c91;--time-panel:#e7f7ff;--time-line:#a3cede;--time-page:#f1faff;--time-header:#104352}
.time-night{--time-ink:#283774;--time-accent:#354e9a;--time-panel:#e9edff;--time-line:#abb9e0;--time-page:#f0f2fb;--time-header:#141c38}
.play-shell.time-morning,.play-shell.time-noon,.play-shell.time-night{background:var(--time-page)}
.play-shell>.topbar{background:var(--time-header,var(--sea))}
.status-shell[class*="time-"]{background:var(--time-panel);border-bottom:2px solid var(--time-line)}
.time-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.time-now{display:flex;align-items:center;gap:12px;min-width:0;color:var(--time-ink)}
.time-icon{font-size:2rem;line-height:1;flex-shrink:0}.time-now .day{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:1rem;line-height:1.2}.current-phase{font-size:2rem;font-weight:850;line-height:1.2}.time-weather{text-align:right;font-size:.875rem;line-height:1.55;color:var(--time-ink);flex-shrink:0}
.time-progress{display:flex;align-items:center;gap:14px;margin-top:9px}.time-progress .phase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;gap:5px}.time-progress .phase span{padding:3px 9px;text-align:center;border-radius:6px;font-size:.875rem;color:var(--time-ink);border:1px solid var(--time-line)}.time-progress .phase span.active{background:var(--time-accent);border-color:var(--time-accent);color:#fff;font-weight:800}.time-progress .phase span.done{opacity:1;color:#52626b;text-decoration:line-through;background:#ffffff60}.time-remaining{font-size:.875rem;font-weight:700;white-space:nowrap;color:var(--time-ink)}
.island{isolation:isolate}.island-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none}.island .map-landscape{position:relative;z-index:0}.island.time-morning .map-landscape{filter:brightness(1.06) saturate(.9) sepia(.17)}.island.time-morning .island-atmosphere{background:linear-gradient(135deg,#ffc15f55,transparent 60%,#fff3c714)}.island.time-noon .map-landscape{filter:brightness(1.08) saturate(1.12)}.island.time-noon .island-atmosphere{background:linear-gradient(180deg,#44caff18,transparent 50%)}.island.time-night .map-landscape{filter:brightness(.48) saturate(.65)}.island.time-night .island-atmosphere{background:linear-gradient(150deg,#14296465,#091a4230 60%,#13173765)}.island.time-night img.map-protagonist{filter:brightness(.8) drop-shadow(0 3px 3px #02071eaa)}
.island .map-caption{top:10px;left:10px;right:10px;width:fit-content;max-width:calc(100% - 20px);border-radius:6px;background:#102e3bed;color:#fff;font-size:.875rem;letter-spacing:0;line-height:1.5;padding:4px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:none;pointer-events:none}
.island.time-morning .map-caption{background:#60300def}.island.time-noon .map-caption{background:#074d67ef}.island.time-night .map-caption{background:#101b43f5}
@media(max-width:380px){.time-now{gap:7px}.time-now .day{gap:8px}.time-icon{font-size:1.7rem}.current-phase{font-size:1.8rem}.time-weather{font-size:.875rem}.time-progress{gap:10px}.island .map-caption{font-size:.8rem;top:7px;left:7px;padding:3px 7px;max-width:calc(100% - 14px)}}
@media(max-width:350px){.time-header{flex-wrap:wrap}.time-weather{text-align:left}.time-progress{flex-wrap:wrap}.time-progress .phase{min-width:160px}}

.build-group{flex:1 1 130px;text-align:left}.build-group small{display:block;font-size:.73rem;font-weight:400;opacity:.85}

.expedition-choice{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.expedition-choice p{margin-top:10px}.expedition-choice .chosen-dog{border-color:var(--teal);background:#e4f0e8}.expedition-choice .swatches button{flex:1;min-width:125px}

.dog-card{margin-top:12px}.dog-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dog-role-options .selected-role{border-color:var(--teal);background:#e4f0e8;opacity:1}

/* Inspect exploration risk without advancing a turn. */
.risk-button{min-height:44px;min-width:92px;cursor:pointer;border:1px solid currentColor;font:inherit;font-size:12px;touch-action:manipulation}.risk-button:focus-visible{outline:3px solid #e2813c;outline-offset:3px}

.food-options{display:grid;gap:8px;margin:14px 0}.food-option{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 14px;min-height:48px;font-size:1rem;text-align:left}.food-option[aria-pressed="true"]{border-color:var(--teal);background:#e4f0e8}.smoke-progress{width:100%;height:14px;accent-color:var(--teal)}

.danger-text{color:#a32e21}

.dog-meat-settings{display:grid;gap:8px}.dog-meat-settings label{font-size:1rem;margin-top:6px}.dog-meat-settings input,.dog-meat-settings select{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:white;color:var(--ink);font-size:1rem}

.equipment-card{margin-top:12px}.equipment-card h3{margin:0}.inventory-item .buttons{flex-wrap:wrap;justify-content:flex-end}.equipment-card .smalltext{font-size:.875rem}

.new-command{display:inline-block;margin-left:4px;font-size:.8em;vertical-align:middle;line-height:1}

.milestone-dialog{position:fixed;inset:0;margin:auto;width:min(580px,calc(100vw - 32px));max-height:85dvh;padding:30px 24px;border:3px solid var(--amber);border-radius:24px;background:#fff9ec;text-align:center;box-shadow:0 24px 80px #0007;overflow-y:auto}.milestone-dialog::backdrop{background:#08232ae0;backdrop-filter:blur(5px)}.milestone-close{position:absolute;right:8px;top:8px;width:48px;height:48px;font-size:2rem;line-height:1;background:transparent}.milestone-symbol{font-size:3.2rem;color:#ae6320;line-height:1.3}.milestone-day{font-weight:800;letter-spacing:.15em;color:#85500e;margin:8px 0}.milestone-dialog h2{font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.4;margin:12px 0 22px}.milestone-changes{text-align:left;display:grid;gap:12px}.milestone-changes p{margin:0;padding:14px 16px;background:#fff;border-radius:12px;border:1px solid #ead9b5;font-weight:700;overflow-wrap:anywhere}

.milestone-dialog:has(.novelty-celebration){background:radial-gradient(ellipse at 50% 48%,#693407 0%,#221707 50%,#101817 100%);border-color:#ffc455;color:#fff6db;padding:38px 20px 24px;max-height:92dvh}.novelty-celebration{position:relative}.novelty-kicker{font-size:.8rem;color:#ffd38b;font-weight:800;letter-spacing:.04em}.novelty-player{margin:12px 0 0;font-weight:800;font-size:1.1rem}.novelty-celebration h2{color:#ffcd62;font-size:clamp(1.8rem,7vw,2.6rem);margin:10px 0 16px;text-shadow:0 2px 15px #db830080}.novelty-celebration h2 span{display:block;color:#fff8d9;font-size:clamp(2.2rem,9vw,3.5rem);font-weight:900}.novelty-stage{position:relative;min-height:230px;display:flex;align-items:center;justify-content:center;gap:8px}.novelty-stage img{width:46%;max-width:200px;height:auto;filter:drop-shadow(0 0 20px #ffa00055);animation:novelty-pop .65s ease-out both}.novelty-speech{position:relative;background:#fff4cf;border:3px solid #ffc45a;border-radius:20px;padding:18px 12px;color:#512d05;font-weight:900;font-size:clamp(1.05rem,4.2vw,1.45rem);box-shadow:0 5px 25px #0005;animation:novelty-pop .65s .15s ease-out both}.novelty-speech strong{font-size:1.15em}.novelty-message{font-size:1rem;font-weight:700;color:#ffdc9b;margin:14px 0}.novelty-share{border:1px solid #d99c3c;border-radius:14px;background:#fff1cc12;padding:16px 10px;font-weight:800;line-height:1.7;margin-bottom:0}.milestone-dialog:has(.novelty-celebration) .milestone-close{color:#fff7df;z-index:2}@keyframes novelty-pop{from{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.novelty-stage img,.novelty-speech{animation:none}}@media(max-height:700px){.novelty-stage{min-height:170px}.novelty-stage img{max-width:145px}.novelty-celebration h2{margin:6px 0}.novelty-message{margin:8px 0}.novelty-share{padding:10px}}

/* Revealed ship shadows only; hidden scheduled threats must not leak to the map. */
.island img.map-pirate-ship{position:absolute;left:7%;bottom:5%;width:19%;height:26%;object-fit:contain;z-index:2;pointer-events:none;filter:drop-shadow(0 4px 3px #05252b88)}
.island img.map-pirate-ship.ship-distant{left:3%;bottom:10%;width:14%;height:20%}
.island.time-morning img.map-pirate-ship{filter:brightness(1.02) sepia(.12) drop-shadow(0 4px 3px #05252b88)}
.island.time-night img.map-pirate-ship{filter:brightness(.65) saturate(.7) drop-shadow(0 4px 3px #02071eaa)}

/* Keep status and horizontal island menu together through the entire page. */
.sticky-game-controls{position:sticky;top:0;z-index:10;background:var(--time-panel,var(--paper));box-shadow:0 3px 8px #08202814}
.sticky-game-controls .status-shell{position:static;backdrop-filter:none}
.sticky-game-controls .nav{position:relative;margin:0;padding:8px 24px;background:var(--time-panel,var(--paper));border-bottom:2px solid var(--time-line,var(--line));overscroll-behavior-x:contain}
@media(max-width:760px){.sticky-game-controls .nav{padding:6px 14px}}

.voice-controls{display:flex;align-items:center;gap:8px}.voice-controls select{width:auto;padding:6px}.topbar:has(.voice-controls){flex-wrap:wrap}

/* Keep the sound switch beside the current time in the sticky status. */
.voice-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;padding:9px;border:1px solid var(--time-border,var(--line));border-radius:12px;background:transparent;color:var(--time-ink,var(--ink))}.voice-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.voice-toggle .speaker-cross{stroke:#ad3e2f;stroke-width:2.5}.time-now{flex-wrap:wrap}.time-now .day{flex-wrap:nowrap;white-space:nowrap}.time-header{flex-wrap:wrap}

.sticky-game-controls .status-shell{position:relative}.audio-panel{position:absolute;top:70px;right:16px;z-index:25;width:min(300px,calc(100% - 32px));padding:14px 16px;background:var(--paper);border:1px solid var(--time-border,var(--line));border-radius:14px;box-shadow:0 8px 24px #0b282e30}.audio-panel[hidden]{display:none}.audio-panel label{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:.9rem;font-weight:650}.audio-panel label+label{margin-top:8px}.audio-panel output{font-variant-numeric:tabular-nums;color:var(--muted)}.audio-panel input[type=range]{grid-column:1/-1;width:100%;min-width:0;margin:0;min-height:36px;padding:0;accent-color:var(--teal);touch-action:pan-y}

.dog-filters{margin-bottom:16px;padding:12px;border:1px solid var(--line);border-radius:12px}.dog-filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px;margin-bottom:10px}.dog-filter-fields label{min-width:0;font-size:.9rem;font-weight:650}.dog-filter-fields select{display:block;width:100%;min-width:0;min-height:44px;margin-top:4px}

/* Keep dialog controls visible while only the reading area scrolls. */
#dialog{padding:0;overflow:hidden;max-height:85dvh}#dialog-content{display:flex;flex-direction:column;max-height:85dvh;min-height:0}.dialog-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px;-webkit-overflow-scrolling:touch}#dialog .dialog-footer{flex-shrink:0;flex-wrap:wrap;gap:10px;margin:0;padding:12px 24px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.dialog-footer button{max-width:100%;overflow-wrap:anywhere}.dialog-footer [data-ui="close"],.dialog-footer [data-ui="wild-slaughter-back"],.dialog-footer [data-ui="guide-return"],.dialog-footer [data-ui="guide-finish-tutorial"],.dialog-footer [data-ui="wild-skip"]{order:2;width:auto;flex:0 1 auto;margin-top:0;background:var(--paper);border:1px solid var(--line)}

.page-filters{margin:12px 0 16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.page-filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px}.page-filter-field{display:block;min-width:0;font-size:.9rem;font-weight:650}.page-filter-field select{display:block;width:100%;min-width:0;min-height:44px;margin:4px 0 10px}.page-filters .row{gap:8px}.page-filters .smalltext{margin:0}

.stream-lock{min-height:100dvh;display:grid;place-items:center;padding:24px 18px;background:radial-gradient(ellipse at top,#28555a,#0b282e 70%);color:#fff5da;text-align:center}.stream-lock-card{width:min(100%,480px);padding:28px 18px;border:1px solid #54787a;border-radius:22px;background:#10333be6;box-shadow:0 20px 70px #00181e80}.stream-lock-kicker{color:#efb649;font-weight:800;letter-spacing:.08em}.stream-lock img{display:block;width:min(60%,220px);height:240px;object-fit:contain;margin:10px auto 20px}.stream-lock h1{font-size:clamp(1.55rem,7vw,2.2rem);line-height:1.5;margin:12px 0;color:#efb649}.stream-lock-time{font-weight:700;font-size:1rem}.stream-lock .muted{color:#b7cecc;margin-top:24px}

.stream-watch{display:flex;justify-content:center;align-items:center;text-decoration:none;margin:20px 0;min-height:52px;line-height:1.5;white-space:normal}

#dialog .dialog-controls-top{border-top:0;border-bottom:1px solid var(--line);padding:12px 24px;z-index:1}

button.unavailable-action{opacity:.5;cursor:pointer}

.chicken-breakdown>summary{font-size:1.1rem;font-weight:700;min-height:46px;cursor:pointer}.chicken-breakdown[open]>summary{margin-bottom:16px}

/* Compact destination cards: six ordinary destinations in two columns. */
.exploration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.exploration-grid .exploration-card{min-width:0;margin:0;padding:12px;border-radius:12px}.exploration-card>.row{display:block}.exploration-card h3{font-size:1rem;line-height:1.5;margin:0 0 5px}.exploration-card .risk-button{font-size:.875rem;padding:4px 8px;min-height:44px;min-width:0;margin:0 0 6px}.exploration-card .exploration-description{font-size:.875rem;line-height:1.6;margin:5px 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exploration-card>.grid3{display:grid;grid-template-columns:1fr;gap:2px;font-size:.875rem;line-height:1.6}.exploration-card>.tiny{font-size:.875rem;margin:5px 0}.exploration-card>.full{font-size:.875rem;line-height:1.5;padding:10px 6px;margin-top:10px;min-height:44px}.exploration-card-details>summary{font-size:.875rem;line-height:1.7;cursor:pointer;padding:8px 0;overflow-wrap:anywhere}.exploration-card-details .source-related{gap:6px}.exploration-card-details .exploration-candidates>summary{font-size:.875rem;padding:8px}.exploration-card-details .smalltext,.exploration-card-details .tiny{font-size:.875rem;overflow-wrap:anywhere}.exploration-card-details .source-button{overflow-wrap:anywhere}

/* Keep both columns while expanding full, wrapping text in place. */
.exploration-expanded-facts{font-size:.875rem;line-height:1.7;overflow-wrap:anywhere}
.exploration-card-details[open]>summary{margin-bottom:12px}

.lost-quiz h3{font-size:1.2rem;line-height:1.6}.lost-quiz-time{font-size:1.1rem;font-weight:700}.lost-quiz-time b{font-size:1.6rem;color:var(--danger)}.lost-quiz .stack button{text-align:left;min-height:52px}

.ranking-tags .ranking-active{color:#17633b;background:#d9f5df;font-weight:800;white-space:nowrap;}

.lost-quiz-character{display:flex;align-items:center;gap:12px}.lost-quiz-character img{width:110px;height:138px;object-fit:contain;flex-shrink:0}.lost-quiz-character p{font-weight:700;font-size:1.1rem;line-height:1.6}.lost-quiz-character img{animation:lost-thinking 2.5s ease-in-out infinite}@keyframes lost-thinking{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@media(prefers-reduced-motion:reduce){.lost-quiz-character img{animation:none}}

/* Shared compact controls: keep actions visible, reveal secondary settings on demand. */
.advanced-settings{margin:12px 0;border:1px solid var(--line,#d4e2df);border-radius:16px;background:var(--card,#fff);overflow:hidden}
.advanced-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-size:1rem}
.advanced-settings>summary::-webkit-details-marker{display:none}
.advanced-settings>summary>span:first-child{min-width:0}
.advanced-settings>summary small{display:block;margin-top:4px;font-size:.875rem;line-height:1.5;font-weight:400;overflow-wrap:anywhere}
.advanced-settings-button{flex-shrink:0;border:1px solid var(--line,#d4e2df);border-radius:10px;padding:10px 12px;font-size:.875rem;font-weight:700}
.advanced-settings>summary:focus-visible{outline:3px solid #e7b44c;outline-offset:-4px}
.advanced-settings[open]>summary{border-bottom:1px solid var(--line,#d4e2df)}
.advanced-settings-body{padding:12px}.advanced-settings-body>.choice,.advanced-settings-body>.notice,.advanced-settings-body>.page-filters,.advanced-settings-body>.dog-filters{margin:0 0 12px}
@media(max-width:360px){.advanced-settings>summary{gap:8px;padding:12px}.advanced-settings-button{padding:10px 8px}}

/* A story is a saved, blocking scene sequence, followed by the normal rule notice. */
.milestone-dialog:has(.story-player){width:min(720px,calc(100vw - 24px));max-height:94dvh;padding:0;border:1px solid #658379;background:#0a2227;color:#fff8e9;border-radius:20px;overflow:auto;text-align:left}
.story-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.story-header h2{font-size:1rem;line-height:1.5;margin:0;color:#ffcf75}.story-header button{color:#d4e3de;border-color:#79928e;white-space:nowrap}
.story-scene{display:block;position:relative;width:100%;padding:0;border:0;border-radius:0;text-align:left;background:#0a2227;color:#fff8e9;cursor:pointer;animation:story-fade .3s ease-out}.story-scene img{display:block;width:100%;height:auto;aspect-ratio:3/2;max-height:46dvh;object-fit:contain;object-position:center}.story-caption{display:block;position:relative;margin-top:-84px;padding:48px 22px 12px;text-shadow:0 2px 5px #000;font-size:clamp(.94rem,3.5vw,1.12rem);font-weight:600;line-height:1.85;white-space:normal;overflow-wrap:anywhere;background:linear-gradient(transparent,#0a2227 70px)}.story-prompt{display:block;padding:10px 22px 18px;text-align:right;font-size:.85rem;color:#ffcf75}.story-progress{display:flex;justify-content:center;align-items:center;gap:8px;padding:0 16px 16px;font-size:.75rem;color:#bed2cb}.story-progress>span:not(:last-child){width:6px;height:6px;border-radius:50%;background:#46665e}.story-progress>span.current{background:#ffc568}.story-progress>span:last-child{margin-left:5px}.story-scene:focus-visible{outline:3px solid #ffcf75;outline-offset:-3px}@keyframes story-fade{from{opacity:.25}to{opacity:1}}@media(prefers-reduced-motion:reduce){.story-scene{animation:none}}@media(max-height:650px){.story-scene img{height:32dvh}.story-caption{margin-top:-55px;padding:30px 16px 8px;background:linear-gradient(transparent,#0a2227 45px);line-height:1.65}.story-prompt{padding:8px 16px}.story-progress{padding-bottom:10px}}

.recovery-story{border:2px solid #edc768;background:radial-gradient(ellipse at top,#514017,#0a2227 70%)}.recovery-story .story-header h2{color:#ffe49e}.recovery-story .story-progress>span.current{box-shadow:0 0 12px #ffc568}.recovery-celebration{position:relative;padding:32px 16px 18px;background:radial-gradient(ellipse at top,#68511b,#10272b 75%);color:#fff3cf;text-align:center;border:2px solid #e9c46b;border-radius:18px;overflow:hidden}.recovery-celebration h2{color:#ffe6a4;font-size:clamp(1.6rem,6vw,2.2rem);text-shadow:0 0 18px #f4c76d;margin:12px 0}.recovery-celebration img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;border-radius:12px}.recovery-kicker{font-size:.8rem;letter-spacing:.12em;color:#ffdf8b}.recovery-unlocked{display:block;font-size:1.5rem;color:#ffe49e;margin:14px 0;animation:recovery-glow 1.5s ease-in-out 3}.recovery-celebration .milestone-changes p{color:#f8e5b9;text-align:left}.recovery-celebration .milestone-close{z-index:2}@keyframes recovery-glow{50%{text-shadow:0 0 24px #fff1a0;transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.recovery-unlocked{animation:none}}

.result-wrap .death-review{color:var(--ink);text-align:left;margin:20px 0}.death-review h2{font-size:1.2rem}.death-review ol{padding-left:22px}.death-review li{padding:6px 0}.death-review-tip{padding:12px;background:#edf3e5;border-left:3px solid var(--teal);border-radius:8px}.death-review-tip b{font-size:.85rem}
.restart-roulette{margin:24px 0;text-align:center;border:2px solid #ff942d;background:#12262b;color:#f5faf7}.roulette-stage{width:min(260px,78vw);aspect-ratio:1;margin:24px auto;position:relative}.roulette-wheel{width:100%;height:100%;border-radius:50%;background:conic-gradient(#eb8b26 0deg 120deg,#175369 120deg 240deg,#256a4e 240deg 360deg);border:6px solid #ffce7b;position:relative;box-shadow:0 8px 28px #0006}.roulette-sector{position:absolute;font-size:1.1rem;font-weight:800;color:white;text-shadow:0 1px 4px #000}.sector-0{top:27%;right:16%}.sector-1{bottom:15%;left:42%}.sector-2{top:27%;left:16%}.roulette-pointer{position:absolute;top:-12px;left:calc(50% - 12px);border-left:12px solid transparent;border-right:12px solid transparent;border-top:28px solid #fff4da;z-index:3}.roulette-hub{position:absolute;inset:35%;border-radius:50%;background:#102027;border:3px solid #ffce7b;display:grid;place-content:center;font-size:.8rem;line-height:1.35}.roulette-wheel.is-spinning{animation:roulette-turn 2.5s cubic-bezier(.15,.65,.12,1) forwards}.roulette-prize{padding:16px;border-radius:16px;background:#20383a}.roulette-items{text-align:left;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;padding-left:20px;font-size:.95rem}.roulette-prize h3{color:#ffc56c;font-size:1.3rem}.restart-roulette details{margin:16px 0}.restart-roulette button{min-height:48px}.restart-roulette p{line-height:1.65}@keyframes roulette-turn{from{transform:rotate(0deg)}to{transform:rotate(var(--roulette-angle))}}@media(prefers-reduced-motion:reduce){.roulette-wheel.is-spinning{animation:none;transform:rotate(var(--roulette-angle))}}

/* Keep restart supplies readable against the same dark surface as the equipment. */
.restart-roulette .roulette-prize details{background:#20383a;color:#f5faf7;border:1px solid #527775;border-radius:12px;padding:12px 16px;color-scheme:dark}.restart-roulette .roulette-prize details>summary{color:#ffc56c;background:transparent;cursor:pointer;min-height:44px;font-weight:700}.restart-roulette .roulette-prize details .roulette-items{color:#f5faf7;background:transparent}.restart-roulette .roulette-prize details[open]>summary{margin-bottom:12px}.restart-roulette .roulette-prize details>summary:focus-visible{outline:2px solid #ffc56c;outline-offset:4px}
/* Benefit controls sit on the light notice surface, not the dark title screen. */
.start-shell .notice .ghost{background:#efb649;color:#15343a;border-color:#714a0a;min-height:44px;font-size:1rem;font-weight:700}.start-shell .notice .ghost:hover{background:#ffca63}.start-shell .notice .ghost:focus-visible{outline:3px solid #15343a;outline-offset:3px}
