/* FJORDVIK / SIM v0.4 — STRAND & SKJÆRGÅRD
   A bright, playful seaside palette. Project indicators are blue/coral;
   character colours remain GREEN / BLUE / RED / YELLOW by request.
   Conventional traffic lights only appear in the traffic-light question.
*/
:root{
 --cream:#FFF7E9;--cream2:#FFF0D4;--ink:#153E63;--blue:#207DAE;
 --orange:#FFB46D;--coral:#F47774;--yellow:#FFD87B;--lime:#AFE7D9;
 --teal:#4AC9DD;--lavender:#E9E4FA;--paper:#FFFEF9;--muted:#476783;
 --line:#C9E3ED;--green:#6CB98A;--red:#D9585A;--amber:#EE9D40;
 --head:Georgia,'Times New Roman',serif;
 --body:'Trebuchet MS','Segoe UI',Verdana,sans-serif;
}
body{background:radial-gradient(circle at 84% 9%,#FFE3A4 0%,transparent 27%),linear-gradient(180deg,#FFFAEF 0%,#FFF4E4 44%,#EAF9FC 100%)}
.site-wrap{max-width:1380px}
.masthead{border-bottom:2px solid #A3D4E2}
.mini-sun{color:#F2A04A}
.slash{color:#F18A64}
.identity-name{color:#174C71}
.identity-kicker{border-color:#73BFDC;color:#40728B}
.release-pill{background:#FFE7AF;border:1.5px solid #DDA660;color:#845223;border-radius:22px;transform:none}
.text-button{text-decoration-color:#F18F6F}
.cta-dark{background:#155B87;color:white}
.cta-coral{background:#FFBB7C;color:#153E63}
.cta-outline{background:#FFFEF9;color:#164766;border-color:#4E95B4}
.cta:not(:disabled):hover{box-shadow:5px 5px 0 #93D4EA}
.eyebrow{background:#FFFCED;border:1px solid #A3C9D6;color:#275675}
.eyebrow.dark{background:#FFEDC1}
.status-dot{background:#3AAA97}
/* The welcome has a coastal illustration and deliberately lacks the old traffic light sticker. */
.welcome{background:#FFEAC3;border:2px solid #1B658A;border-radius:12px 80px 12px 12px;box-shadow:10px 11px 0 #86CBE0;min-height:660px}
.welcome-copy{padding:62px 30px 68px 50px}
.welcome h1{color:#174C73;font-size:clamp(3.2rem,6.4vw,6.6rem);margin:35px 0 25px;letter-spacing:-.068em}
.welcome h1 em{color:#D36860;font-style:italic;font-size:.77em}
.lead{color:#294F66;font-size:18px;line-height:1.64}
.welcome-labels span{background:#FFFDF4;border-color:#ABD1DB;color:#155A84;border-radius:6px 20px 6px 6px}
.quiet-note{color:#456778}
.welcome-bottom{background:#136B95;color:#FFFEED}
.cover-art{position:relative;min-height:610px;border-left:2px solid #3D99BF;background:#A2DFF4;overflow:hidden}
.cover-art:before{display:none}
.coast-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.coast-postcard{position:absolute;z-index:1;top:30px;left:24px;max-width:245px;padding:15px 17px 14px;background:#FFFCF1;border:2px solid #2E84A9;transform:rotate(-5deg);box-shadow:5px 5px 0 #5FB6CE;color:#174968;border-radius:3px}
.coast-postcard span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#BA6A4F;margin-bottom:8px}
.coast-postcard strong{font:700 23px/1.08 Georgia,serif;letter-spacing:-.035em}
.coast-caption{position:absolute;right:18px;bottom:18px;color:#165F84;background:#FFFAE6;box-shadow:3px 4px 0 #66BED3;padding:9px 13px;border-radius:50px;font-size:10px;letter-spacing:.07em;font-weight:900}
/* Main course */
.game-heading h1{color:#173F64}
.game-heading h1 em{color:#D96F6E}
.game-heading p{color:#476C88}
.week-bubble{background:#FFCF77;border-color:#185F86;box-shadow:5px 6px 0 #97D8E8;color:#164F76}
.journey{grid-template-columns:repeat(20,minmax(0,1fr));gap:5px}
.journey span{background:#F8DFC1;border:1px solid #8BBACC;border-radius:5px}
.journey span.done{background:#55B9D8}
.journey span.active{background:#F9A467;box-shadow:0 3px 0 #CE6E5D}
.mission-area{background:#FFFEFB;border-color:#3C89AD;box-shadow:6px 7px 0 #BEDFEB;border-radius:9px 45px 9px 9px}
.chapter-bar{background:#16638C;color:#FFFEF2}
.challenge-heading h2{color:#174B6F}
.chapter-name{color:#D67850}
.challenge-icon{background:#FFE6A5;color:#155E88;border-color:#63B4D2}
.scenario-context{background:#ECF9FD;border:1px solid #C0E3EF;border-left:5px solid #5BB7D8}
.context-label,.task-label{color:#146591}
.challenge-context{color:#2C536E}
.round-art{background:#E9F7FC;border-color:#B2DDEC}
.round-art img{background:#ECFAFF}
.round-art figcaption{background:#FFF9EA;border-top-color:#D1E6ED;color:#47718A}
.task-card{background:#FFF0C9;border:1px solid #F0CF8C;border-left:6px solid #EDA958;box-shadow:2px 3px 0 #F8E6C6}
.challenge-instruction{color:#154D75}
.option{background:#FFFEFB;border:1.5px solid #BFDFE9;color:#214A69}
.option .option-mark{border-color:#4DA4C5;color:#165C85}
.option:not(:disabled):hover{background:#EDF9FD}
.option.selected{background:#E0F6FC;border-color:#5FB6D6;box-shadow:3px 3px 0 #9ADBE8}
.option strong{font-size:14px}
.interaction small{color:#5E7790}
.team-portrait{background:#FFFAED;border:1px solid #E7CE9D}
.team-type{color:#2F668A}
.team-portrait small{color:#5E7186}
/* Explicit profile colors; never switch based on resource pressure. */
.avatar.green{background:#59AE78;color:white}
.avatar.blue{background:#4D93CF;color:white}
.avatar.red{background:#DB675D;color:white}
.avatar.yellow{background:#F1C456;color:#173C5C}
.feedback{background:#E6F9F8;border:1px solid #90D9DB;box-shadow:4px 4px 0 #A5DFEC}
.feedback .theory{background:#FFFEF8;border-left-color:#60B7D5}
.feedback .gain{color:#117F99}
.feedback .loss{color:#BA6652}
.allocation-head{background:#FFF0C8;border-color:#E1B576}
.allocation-range{accent-color:#219ABD}
.allocation-row{border-color:#D5E6EC}
.sequence-assembled{background:#EAF9FD;border-color:#96CDE1}
.step-chip.in-queue{background:#FFE7AC}
.signal-row{border-color:#B9DBEA}
/* Preserve conventional red / amber / green ONLY for signal-recognition controls. */
.light.red{background:#CB615D}.light.yellow{background:#ECC85F}.light.green{background:#61AE78}
.light-btn.active{background:#FFF1D6;box-shadow:3px 3px 0 #C1DDE9}
/* Lighter, ocean-blue project dashboard — no moss. */
.dashboard{background:#155C85;color:#FFFDF5;border-color:#1D7095;box-shadow:6px 7px 0 #B5DCEA}
.dashboard-top{background:#C9EDF8;color:#125A7F}
.pulse-mark{color:#168EA5}
.metric-grid .metric{border-color:#4B90B0}
.metric-title{color:#E5F7FF}
.metric strong{color:#FFFFFF}
.money-panel{border-bottom-color:#4B90B0}
.money-panel p{color:#D4F1F9}
.meter{background:#3D7C9A}
.meter span{background:#86DCEF}
.mini-led,.mini-led.attention,.mini-led.critical{background:#81DDEB;opacity:1}
.mini-led.attention{border:2px solid #FDE5B9}
.mini-led.critical{border:2px solid #FDB7A8}
.metric-hint{color:#CEEAF3}
.time-strip{border-color:#5896AF;color:#E1F2F8}
.lean-note{background:#FFE9B5;color:#355B73;box-shadow:3px 3px 0 #317AA0}
.lean-spark{color:#E17C53}
.log-details{border-color:#4D8DAA}
.log-details summary span{background:#B2E6F1;color:#155573}
/* Dynamic personal crisis banner */
.crisis-banner{margin:5px 0 19px;padding:20px 22px 16px;border:2px solid #3188B0;background:linear-gradient(114deg,#FFF1D0,#E2F5FD);box-shadow:5px 6px 0 #B6DEEB;border-radius:8px 33px 8px 8px}
.crisis-heading{display:flex;flex-wrap:wrap;gap:7px 21px;align-items:baseline}
.crisis-eyebrow{font-size:11px;font-weight:900;color:#BB6650;letter-spacing:.09em}
.crisis-heading strong{font:700 29px/1.15 Georgia,serif;color:#155574}
.crisis-heading p{flex-basis:100%;margin:0 0 4px;font-size:13px;color:#376078}
.pressure-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pressure-cell{padding:9px 12px 11px;background:#FFFFFFC7;border:1px solid #B5D8E5;border-radius:7px;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:6px}
.pressure-cell span{font-weight:800;font-size:11px;color:#376784}
.pressure-cell strong{font-size:14px;color:#154C73}
.pressure-cell.selected{background:#FFE0A8;border-color:#E9A254;box-shadow:2px 3px 0 #DFA979}
.pressure-track{grid-column:1/-1;height:7px;border-radius:50px;background:#CCE5EE;overflow:hidden}
.pressure-track span{display:block;height:100%;background:#2D9DC0;border-radius:50px}
.pressure-cell.selected .pressure-track span{background:#E38A49}
.pressure-hint{font-size:10px;line-height:1.4;color:#59748A;margin:11px 0 0}
/* End postcard: blue sky, sand, warm yellow and coral flowers. */
.finish-top{color:#1E587A}
.brag-card{background:linear-gradient(110deg,#FFF1C9 0%,#E0F6FF 100%);border-color:#277FA7;box-shadow:7px 8px 0 #ADD7E8;color:#164E73}
.brag-card:before{background:#FFCD63;opacity:.85}
.brag-card:after{background:#56BEDF;opacity:.5}
.brag-ribbon,.brag-bottom{background:#176C95;color:#FFFDF4}
.brag-player{background:#FFFEF2;border-color:#AED5E4;color:#245776}
.share-panel{background:#FFFCF3;border-color:#B7D9E8}
.share-name{color:#245A79}
.share-name input{border-color:#77B4CF;color:#174A71}
.share-status{color:#1B728C!important}
.finish-hero{background:linear-gradient(110deg,#FFE8B6 0%,#D5F4FF 100%);border-color:#2480A3;box-shadow:5px 6px 0 #B0DBE8}
.finish-hero .medal{background:#FFCE7C;box-shadow:3px 4px 0 #9BCEDB}
.crisis-results{margin:9px 0 0!important;font-weight:800;color:#2C6D8B;font-size:13px!important}
.score-method>div{border-color:#9BCFE0}
.score-method .meter{background:#E1EEF3}
.score-method .meter span,.score-method>div:last-child .meter span{background:#45B5D1}
.final-details,.final-journal{border-color:#A0CDDD;background:#FFFEF9}
.final-metrics>div{background:#EFF9FC}
.reset-dialog{background:#FFFAEB;border-color:#408FB0;box-shadow:7px 7px 0 #B5DDEE}
.game-footer{color:#647E8D}
@media(max-width:1050px){.welcome-copy{padding:47px 25px 56px 35px}.welcome h1{font-size:clamp(3.1rem,6.2vw,5.5rem)}.coast-postcard{left:15px;top:20px}}
@media(max-width:720px){
 .welcome{border-radius:8px 44px 8px 8px}.welcome-copy{padding:38px 25px 31px}.welcome h1{font-size:clamp(3.1rem,11vw,5.1rem)}
 .cover-art{min-height:380px;border-top:2px solid #5EB0D0;border-left:0}.coast-art{object-position:center 52%}.coast-postcard{top:18px;left:15px;padding:12px}.coast-postcard strong{font-size:18px}.coast-caption{font-size:9px}
 .journey{gap:3px}.journey span{height:10px}
 .pressure-row{grid-template-columns:repeat(2,1fr)}.crisis-banner{padding:16px 13px}.crisis-heading strong{font-size:25px}
 .challenge-body{padding:23px 19px}.challenge-instruction{font-size:clamp(1.55rem,5.3vw,2rem)}
}
@media(max-width:430px){.welcome h1{font-size:clamp(2.7rem,12.4vw,3.6rem)}.release-pill{font-size:8px}.coast-postcard{max-width:190px}}
@media print{.crisis-banner{display:none}}
