/* PRO/PLAY v0.2 – a sunny, editorial, playful alternative to corporate panels */
:root{--cream:#fff8e8;--cream2:#f8efd7;--ink:#17334b;--blue:#1e405a;--orange:#ff8864;--coral:#ed6953;--yellow:#ffd15b;--lime:#c5e88a;--teal:#66bda7;--lavender:#c7c3ee;--paper:#fffdf5;--muted:#536676;--line:#d2c9b4;--red:#e8695e;--amber:#e7a33f;--green:#4caa84;--radius:8px;--head:Georgia,'Times New Roman',serif;--body:'Trebuchet MS',Verdana,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:15px}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #3c7bc5;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.52}button:disabled:hover{transform:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--head)}em{font-weight:normal}p{line-height:1.65} .hidden{display:none!important}.site-wrap{max-width:1340px;padding:0 38px;margin:auto}.masthead{height:95px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink)}.identity{display:flex;align-items:center;gap:11px}.mini-sun{font-size:29px;color:var(--coral)}.identity-name{font-weight:900;font-size:24px;letter-spacing:-1.1px}.slash{color:var(--coral);margin:0 3px}.identity-kicker{font-size:12px;border-left:2px solid var(--ink);padding-left:14px;margin-left:7px;letter-spacing:.055em}.header-right{display:flex;align-items:center;gap:14px}.release-pill{background:var(--lime);color:var(--ink);transform:rotate(-3deg);display:inline-flex;align-items:center;gap:8px;padding:7px 13px;font-size:11px;letter-spacing:.065em;font-weight:800;border:1.8px solid var(--ink);border-radius:4px}.release-pill strong{font-size:15px}.text-button{border:0;background:transparent;color:var(--ink);font-weight:800;text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--orange);text-underline-offset:5px}.welcome{margin-top:31px;position:relative;min-height:640px;display:grid;grid-template-columns:53% 47%;background:var(--yellow);border:2px solid var(--ink);overflow:hidden;border-radius:5px 75px 5px 5px;box-shadow:11px 12px 0 var(--ink)}.welcome-copy{padding:65px 35px 74px 68px;z-index:2}.eyebrow{display:inline-flex;gap:10px;align-items:center;padding:7px 12px;background:var(--paper);border:1.5px solid var(--ink);font-size:11px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.status-dot{height:9px;width:9px;border-radius:50%;background:var(--green);display:inline-block}.welcome h1{font-size:clamp(4.7rem,7.75vw,7.6rem);line-height:.93;letter-spacing:-.075em;margin:36px 0 28px}.welcome h1 em{color:var(--coral);letter-spacing:-.07em;font-weight:400}.lead{max-width:510px;font-size:18px;line-height:1.65}.welcome-labels{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0 34px}.welcome-labels span{font-size:12px;font-weight:900;padding:7px 11px;background:#fff6d5;border:1.5px solid var(--ink);border-radius:40px}.cta{border:2px solid var(--ink);padding:15px 23px;min-height:54px;font-weight:900;letter-spacing:.015em;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;transition:transform .12s,box-shadow .12s;border-radius:4px}.cta:not(:disabled):hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}.cta-dark{background:var(--ink);color:white}.cta-coral{background:var(--coral);color:#171f29}.cta-outline{background:var(--paper);color:var(--ink)}.quiet-note{font-size:12px;margin-top:18px;font-weight:700;opacity:.8}.cover-art{position:relative;min-height:540px;background:radial-gradient(ellipse at 72% 18%,#ffbca8 0 19%,transparent 19.4%),radial-gradient(circle at 60% 75%,#f7a574 0 20%,transparent 20.5%),#86cdbd;overflow:hidden;isolation:isolate;border-left:2px solid var(--ink)}.cover-art:before{content:"";position:absolute;width:120%;height:110%;left:-7%;top:-10%;opacity:.2;background:repeating-linear-gradient(-25deg,transparent 0 32px,#14384a 33px 35px,transparent 36px 60px);transform:rotate(3deg)}.sun-disc{position:absolute;width:265px;height:265px;top:53px;right:80px;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);box-shadow:10px 9px 0 var(--ink);display:grid;place-items:center;transform:rotate(12deg)}.sun-disc span{font-family:var(--head);font-size:56px;font-weight:800;line-height:.9;text-align:center;letter-spacing:-.08em}.ribbon{position:absolute;font-family:var(--body);font-size:26px;font-weight:900;letter-spacing:.1em;border:3px solid var(--ink);padding:19px 23px;white-space:nowrap;box-shadow:6px 7px 0 var(--ink)}.ribbon-a{top:305px;left:15px;background:#fff3cf;transform:rotate(-11deg)}.ribbon-b{top:379px;left:58px;background:var(--lavender);transform:rotate(5deg)}.ribbon-c{top:456px;left:113px;background:var(--coral);transform:rotate(-6deg)}.cover-squiggle{position:absolute;font-size:140px;right:19px;bottom:-40px;color:#fff8e8;opacity:.85;transform:rotate(-24deg)}.traffic-sticker{position:absolute;top:220px;right:45px;background:#fff7e4;border:3px solid var(--ink);border-radius:18px;padding:10px;display:flex;gap:8px;transform:rotate(17deg);box-shadow:6px 6px 0 var(--ink)}.traffic-circle{height:28px;width:28px;border:2px solid var(--ink);border-radius:50%;display:block}.traffic-circle.red{background:var(--red)}.traffic-circle.amber{background:var(--yellow)}.traffic-circle.green{background:var(--green)}.sun-caption{position:absolute;left:24px;top:25px;font-family:var(--head);font-style:italic;font-size:18px}.welcome-bottom{height:53px;grid-column:1/-1;background:var(--ink);color:#fff5d6;display:flex;align-items:center;justify-content:space-around;font-weight:800;letter-spacing:.04em;font-size:12px}.site-footer{display:flex;justify-content:space-between;gap:18px;padding:40px 0 34px;font-size:11px;color:var(--muted)}.game{padding-top:31px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 3px 23px}.eyebrow.dark{background:var(--lime)}.game-heading h1{font-size:clamp(2.7rem,4.8vw,5rem);line-height:1.02;letter-spacing:-.055em;margin:15px 0 5px}.game-heading h1 em{color:var(--coral)}.game-heading p{font-size:14px;margin:0;color:var(--muted)}.week-bubble{background:var(--coral);height:115px;width:115px;transform:rotate(7deg);border:2px solid var(--ink);border-radius:57% 43% 49% 51%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;flex-shrink:0;box-shadow:5px 6px 0 var(--ink)}.week-bubble span,.week-bubble small{font-size:9px;font-weight:900}.week-bubble strong{font-family:var(--head);font-size:43px;line-height:.94}.journey{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:7px;margin:7px 0 20px}.journey span{height:13px;background:#e7dbc1;border:1.5px solid var(--ink);border-radius:1px;position:relative}.journey span.done{background:var(--green)}.journey span.active{background:var(--yellow);box-shadow:0 4px 0 var(--coral)}.play-grid{display:grid;grid-template-columns:minmax(0,1.76fr) minmax(305px,1fr);gap:21px;align-items:start}.mission-area{border:2px solid var(--ink);background:var(--paper);border-radius:4px 52px 4px 4px;overflow:hidden;min-height:690px;box-shadow:6px 7px 0 #c9c0ab}.chapter-bar{background:var(--ink);color:white;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:.12em;gap:12px}.challenge-body{padding:32px 39px 35px}.challenge-heading{display:flex;align-items:flex-start;gap:18px}.challenge-icon{height:70px;width:70px;flex-shrink:0;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);font-size:35px;border-radius:50%;display:grid;place-items:center;transform:rotate(-9deg)}.chapter-name{font-size:11px;font-weight:900;letter-spacing:.13em;margin:0 0 8px;color:#cb5a48}.challenge-heading h2{margin:0;font-size:clamp(2rem,3.8vw,3.25rem);line-height:1.08;letter-spacing:-.055em}.challenge-context{font-size:16px;line-height:1.66;margin:21px 0 17px;max-width:720px}.challenge-instruction{background:var(--cream2);border-left:5px solid var(--orange);padding:12px 16px;font-size:13px;line-height:1.55;font-weight:800;margin:19px 0}.interaction{display:grid;gap:12px;margin-top:16px}.option{display:flex;align-items:flex-start;gap:13px;text-align:left;background:white;color:var(--ink);border:2px solid #d3c7b1;padding:15px 17px;border-radius:5px 20px 5px 5px;width:100%;transition:background .13s,border-color .13s,transform .13s}.option:not(:disabled):hover{border-color:var(--ink);transform:translateX(3px);background:#fff0cf}.option.selected{background:#dff3c9;border-color:var(--ink);box-shadow:4px 4px 0 var(--green)}.option .option-mark{height:30px;min-width:30px;border:2px solid var(--ink);display:grid;place-items:center;font-size:13px;font-weight:900;background:var(--cream2);border-radius:50%;margin-top:1px}.option.selected .option-mark{background:var(--ink);color:white}.option strong{display:block;margin:1px 0 4px;font-size:15px}.option small{display:block;color:var(--muted);font-size:12px;line-height:1.52}.option:disabled{cursor:default;opacity:1}.team-portrait{display:flex;align-items:center;gap:16px;background:#ece8ff;padding:13px 17px;border:2px dashed var(--ink);border-radius:5px 25px 5px 5px;margin:16px 0}.avatar{font-family:var(--head);height:62px;width:62px;border:2px solid var(--ink);border-radius:50%;background:var(--coral);display:grid;place-items:center;font-size:22px;font-weight:800;flex-shrink:0}.avatar.alt{background:var(--yellow)}.avatar.green{background:var(--teal)}.avatar.lav{background:var(--lavender)}.team-portrait strong{display:block;font-size:15px}.team-portrait span{display:block;font-size:12px;line-height:1.55;margin-top:4px}.team-type{color:#a74435;font-weight:900!important}.command-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}.secondary-action{background:transparent;border:0;text-decoration:underline;text-underline-offset:5px;color:var(--muted);font-size:12px;font-weight:800;padding:12px}.feedback{border:2px solid var(--ink);background:#e9f5d6;padding:19px 21px;margin-top:22px;box-shadow:5px 5px 0 var(--green)}.feedback h3{font-family:var(--head);font-size:22px;margin:0 0 8px;line-height:1.12}.feedback p{margin:8px 0 10px;font-size:14px}.feedback .theory{font-size:12px;background:#fffdf1;border-left:4px solid #e3aa44;padding:10px 13px;margin-top:13px;line-height:1.6}.feedback .impact{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.feedback .impact span{padding:6px 8px;font-size:11px;font-weight:900;background:var(--paper);border:1px solid #adc3a1}.feedback .gain{color:#2a7056}.feedback .loss{color:#bf4f41}.feedback .point-award{font-weight:900;color:#275f50}.dashboard{border:2px solid var(--ink);border-radius:4px;background:var(--blue);color:white;overflow:hidden;position:sticky;top:16px;box-shadow:6px 7px 0 #e0b36a}.dashboard-top{padding:18px 21px;display:flex;justify-content:space-between;background:var(--lime);font-size:11px;letter-spacing:.1em;color:var(--ink);font-weight:900}.pulse-mark{color:#de6156}.money-panel{padding:23px 25px 21px;border-bottom:2px solid #456177}.meter-label{font-size:11px;font-weight:900;letter-spacing:.1em;display:flex;justify-content:space-between}.big-number{font-family:var(--head);font-size:42px;font-weight:800;line-height:1.1;letter-spacing:-.06em;margin:12px 0 6px}.money-panel p{margin:0 0 16px;color:#dfebef;font-size:11px}.meter{height:9px;background:#516a7c;overflow:hidden;border-radius:0}.meter span{display:block;height:100%;width:0;background:var(--lime);transition:width .25s,background .25s}.status-text{color:var(--lime);font-size:10px}.metric-grid{display:grid;grid-template-columns:1fr 1fr}.metric{padding:19px 21px 20px;border-right:1px solid #4c6679;border-bottom:1px solid #4c6679}.metric:nth-child(even){border-right:0}.metric-title{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px;letter-spacing:.07em;font-weight:900;color:#bce3e3}.metric strong{font-family:var(--head);font-size:33px;display:block;margin:7px 0 11px}.mini-led{width:10px;height:10px;display:inline-block;background:var(--green);border-radius:50%;flex-shrink:0}.mini-led.warn{background:var(--yellow)}.mini-led.bad{background:var(--red)}.time-strip{display:flex;justify-content:space-between;align-items:center;padding:14px 21px;border-bottom:2px solid #4c6679;font-size:12px}.time-strip strong{color:var(--yellow)}.lean-note{margin:20px;background:var(--yellow);color:var(--ink);display:flex;gap:10px;padding:14px 15px;transform:rotate(-1deg);box-shadow:3px 4px 0 #163247}.lean-note strong{font-size:10px;letter-spacing:.08em}.lean-note p{font-size:11px;line-height:1.5;margin:5px 0 0}.lean-spark{font-size:25px}.log-details{border-top:1px solid #536e82;padding:14px 22px 18px}.log-details summary{cursor:pointer;display:flex;justify-content:space-between;font-size:12px;font-weight:900}.log-details summary span{background:var(--teal);padding:2px 8px;border-radius:8px;color:var(--ink)}.log-details ol{font-size:11px;line-height:1.6;padding-left:20px;max-height:250px;overflow:auto}.log-details li{margin:9px 0}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:27px 0 10px;font-size:11px;color:var(--muted)}.game-footer span:first-child{font-weight:900}.allocation-wrap{padding:4px 0}.allocation-head{display:flex;justify-content:space-between;align-items:center;background:var(--lime);border:1.5px solid var(--ink);padding:13px 16px;margin-bottom:17px;gap:10px;font-size:12px}.allocation-head strong{font-family:var(--head);font-size:22px}.allocation-head.over{background:#ffbbbb}.allocation-row{margin:17px 0 23px}.allocation-text{display:flex;align-items:start;justify-content:space-between;gap:12px}.allocation-text strong{font-size:15px}.allocation-text small{font-size:12px;display:block;color:var(--muted);line-height:1.5;margin-top:4px}.allocation-text output{font-size:19px;font-weight:900;white-space:nowrap}.allocation-range{width:100%;accent-color:var(--coral);margin-top:12px;height:20px;cursor:pointer}.allocation-guideline{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0}.sequence-help{font-size:12px;color:var(--muted)}.sequence-assembled{display:flex;gap:8px;flex-wrap:wrap;min-height:51px;background:#ecf5e1;border:2px dashed #66ad8f;padding:9px;margin-bottom:16px}.step-chip{border:1.5px solid var(--ink);background:white;border-radius:50px;padding:10px 14px;font-size:13px;font-weight:800}.step-chip.picked{background:var(--lavender);text-decoration:line-through}.step-chip.in-queue{background:var(--yellow)}.signal-row{background:white;padding:15px;border:2px solid #d9cbb8;border-radius:3px 15px 3px 3px;margin-bottom:12px}.signal-row h3{font-size:14px;margin:0 0 11px;line-height:1.5}.light-choices{display:flex;gap:12px}.light-btn{border:2px solid #a5b1af;min-width:86px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fffdf5;border-radius:3px;font-size:12px;font-weight:800}.light-btn .light{display:inline-block;height:14px;width:14px;border:1.5px solid var(--ink);border-radius:50%}.light.red{background:var(--red)}.light.yellow{background:var(--yellow)}.light.green{background:var(--green)}.light-btn.active{border-color:var(--ink);background:#dff3c9;box-shadow:3px 3px 0 var(--teal)}.light-btn:disabled{opacity:1;cursor:default}.finish{margin-top:30px}.finish-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;font-weight:900}.finish-hero{margin-top:16px;background:var(--lime);border:2px solid var(--ink);padding:47px 63px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-radius:5px 70px 5px 5px;box-shadow:8px 9px 0 var(--ink)}.finish-hero>div>p:first-child{font-size:12px;font-weight:900;letter-spacing:.1em;margin:0}.score-lockup{display:flex;align-items:baseline;gap:7px;font-family:var(--head)}.score-lockup span:first-child{font-size:clamp(6.5rem,14vw,11rem);line-height:1;letter-spacing:-.1em;font-weight:900}.score-lockup span:last-child{font-size:30px;color:#385d4d}.finish-hero h1{font-size:clamp(2.1rem,4vw,3.8rem);letter-spacing:-.05em;margin:0 0 7px}.finish-hero p:last-child{font-size:14px;margin:0;max-width:700px}.medal{width:165px;height:165px;flex-shrink:0;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);box-shadow:8px 9px 0 var(--ink);display:grid;place-items:center;font-size:100px;transform:rotate(10deg)}.score-method{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.score-method>div{padding:19px;border:2px solid var(--ink);background:var(--paper)}.score-method span:first-child{font-size:11px;font-weight:900;letter-spacing:.05em}.score-method strong{font-family:var(--head);font-size:27px;display:block;margin:10px 0}.score-method .meter{background:#e5dfcf}.score-method .meter span{background:var(--teal)}.score-method>div:last-child .meter span{background:var(--coral)}.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.final-details,.final-journal{background:var(--paper);border:2px solid var(--ink);padding:27px 30px;min-width:0}.final-details h2,.final-journal h2{font-size:32px;letter-spacing:-.04em}.final-details h3{font-size:17px;margin:25px 0 8px}.final-details p{font-size:14px}.final-metrics{display:grid;grid-template-columns:1fr 1fr;gap:11px}.final-metrics>div{padding:12px;border-bottom:2px solid var(--ink);background:#f7edd7}.final-metrics span{font-size:11px;display:block;font-weight:900}.final-metrics strong{font-family:var(--head);font-size:27px}.journal-scroll{max-height:510px;overflow:auto}.journal-scroll ol{padding-left:23px}.journal-scroll li{font-size:12px;line-height:1.6;padding:9px 0;border-bottom:1px dashed #ccc2ae}.journal-scroll li strong{display:block;font-size:13px}.journal-scroll li small{display:block;color:var(--muted);margin-top:4px}.final-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.reset-dialog{border:3px solid var(--ink);border-radius:4px 32px 4px 4px;padding:27px 29px;background:var(--yellow);max-width:490px;color:var(--ink);box-shadow:9px 9px 0 var(--ink)}.reset-dialog::backdrop{background:#142d46ad}.reset-dialog h2{font-size:30px;line-height:1.08}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px}.dialog-actions .cta{gap:7px;min-height:45px;font-size:13px}.finish-hero,.welcome{background-image:radial-gradient(circle at 10% 12%,#ffffff3d 1px,transparent 1.5px);background-size:22px 22px}@media(max-width:980px){.site-wrap{padding:0 22px}.welcome-copy{padding-left:35px}.sun-disc{right:26px}.play-grid{grid-template-columns:1fr}.dashboard{position:static;display:grid;grid-template-columns:1.1fr 1fr;align-items:start}.dashboard-top{grid-column:1/-1}.money-panel{border-right:1px solid #456177}.metric-grid{grid-row:2/5;grid-column:2}.time-strip{grid-column:1}.lean-note{grid-column:1}.log-details{grid-column:1/-1}.welcome h1{font-size:clamp(4.2rem,8vw,6rem)}.cover-art{min-height:550px}}@media(max-width:720px){.masthead{height:76px}.identity-kicker{display:none}.site-wrap{padding:0 14px}.welcome{margin-top:18px;display:flex;flex-direction:column;border-radius:5px 40px 5px 5px;min-height:0}.welcome-copy{padding:35px 28px 32px}.welcome h1{font-size:clamp(4.5rem,14vw,6.1rem);margin:23px 0}.welcome-labels{margin:20px 0}.cover-art{border-top:2px solid var(--ink);border-left:0;min-height:350px}.sun-disc{top:22px;right:35px;width:160px;height:160px}.sun-disc span{font-size:35px}.traffic-sticker{top:159px;right:28px}.ribbon{font-size:17px;padding:10px 13px}.ribbon-a{top:195px;left:18px}.ribbon-b{top:245px;left:32px}.ribbon-c{top:292px;left:68px}.sun-caption{font-size:14px}.welcome-bottom{height:auto;min-height:44px;flex-wrap:wrap;gap:9px;padding:10px}.game-heading{align-items:start}.week-bubble{height:86px;width:86px}.week-bubble strong{font-size:33px}.game-heading h1{font-size:clamp(2.7rem,8vw,4.2rem)}.challenge-body{padding:23px 19px 26px}.challenge-heading{gap:12px}.challenge-icon{height:55px;width:55px;font-size:26px}.challenge-heading h2{font-size:clamp(2rem,7vw,2.6rem)}.challenge-context{font-size:15px}.journey{gap:4px}.journey span{height:11px}.dashboard{display:block}.metric-grid{display:grid}.money-panel{border-right:0}.finish-hero{padding:31px 24px}.medal{width:84px;height:84px;font-size:50px}.score-lockup span:first-child{font-size:7rem}.finish-hero h1{font-size:2.2rem}.final-grid{grid-template-columns:1fr}.final-details,.final-journal{padding:23px}.game-footer{display:block}.game-footer span{display:block;margin:7px 0}.site-footer{flex-direction:column;gap:5px}.light-btn{min-width:auto;padding:8px 9px}.light-choices{gap:7px}.light-btn{font-size:11px}}@media(max-width:430px){.release-pill{font-size:9px;padding:6px}.release-pill strong{font-size:11px}.identity-name{font-size:19px}.welcome h1{font-size:4.4rem}.finish-hero{padding:22px}.medal{display:none}.score-method{gap:10px}.score-method>div{padding:11px}.score-method strong{font-size:23px}.final-metrics{gap:5px}.option{padding:12px}.chapter-bar{font-size:9px;padding:13px 15px}.week-bubble{display:none}.command-row .cta{width:100%;justify-content:center}.allocation-text output{font-size:16px}}@media print{body{background:white}.masthead,.site-footer,.welcome,.game,.final-actions,.reset-dialog{display:none!important}.finish{display:block!important}.finish-hero{box-shadow:none}.final-grid{grid-template-columns:1fr 1fr}.journal-scroll{max-height:none;overflow:visible}.final-details,.final-journal{break-inside:avoid}}
.team-portrait small{display:block;margin-top:7px;font-size:10px;line-height:1.45;color:#566273;font-style:italic}
/* ---------------------------------------------------------------
   Fjordvik prosjektsimulator v0.3 — vår/sommer, fjord og sjøglass.
   Fire profilfarger er reservert medarbeiderkortene. Trafikklys med
   klassiske farger beholdes KUN i utfordring 9.
   --------------------------------------------------------------- */
:root{
  --cream:#F8F5E9; --cream2:#EBF2EB; --ink:#193F49; --blue:#1C4F5A;
  --orange:#74B7A7; --coral:#307F78; --yellow:#E8C477; --lime:#B4D9C7;
  --teal:#7CBBAA; --lavender:#E6EFE6; --paper:#FFFDF7;
  --muted:#4F6870; --line:#D1DED7; --green:#58A578;
  --head:Georgia,'Times New Roman',serif;
  --body:'Trebuchet MS', 'Segoe UI',Verdana,sans-serif;
}
body{background:linear-gradient(180deg,#FAF8ED 0%,#F1F4EC 100%);}
.masthead{border-bottom:1px solid #B8D0C4}
.mini-sun{color:#5D9F93}
.slash{color:#88BAA7}
.identity-name{font-size:22px;letter-spacing:-.055em}
.release-pill{background:#DAEDE3;transform:none;border-color:#648D83;color:#20494C}
.welcome{background:#F3EDDB;box-shadow:9px 10px 0 #8AB3A5;border-color:#1B4950;border-radius:4px 65px 4px 4px}
.welcome-copy{padding:65px 29px 76px 48px}
.welcome h1{font-size:clamp(3.2rem,6.2vw,6rem);letter-spacing:-.065em;line-height:1.02;overflow-wrap:anywhere}
.welcome h1 em{font-size:.75em;color:#307F78;font-style:italic;letter-spacing:-.063em}
.eyebrow{background:#FDFBF4;border-color:#9DC4B6;letter-spacing:.09em}
.welcome-labels span{background:#FFFDF6;border-color:#94B5A5;color:#27535B}
.cover-art{background:radial-gradient(circle at 74% 24%,#F5DB98 0 19%,transparent 19.4%),linear-gradient(150deg,#B6D9C5 0%,#7FBFB7 67%,#64A89E 100%)}
.cover-art:before{opacity:.14}
.sun-disc{top:67px;right:65px;border:2px solid #2A5A5A;box-shadow:7px 8px 0 #3D7C75;background:#EFD18C}
.sun-disc span{font-size:52px;letter-spacing:-.07em}
.ribbon{font-size:22px;box-shadow:4px 5px 0 #245660;border:2px solid #22515A}
.ribbon-a{background:#F8F5E9;top:335px;left:16px}
.ribbon-b{background:#D5EDE3;top:405px;left:49px}
.ribbon-c{background:#EFCB81;top:475px;left:95px}
/* Sticker relocated to bottom right, below headline and out of copy. No traffic palette here. */
.traffic-sticker{top:auto;bottom:60px;right:22px;padding:8px;border:2px solid #255660;transform:rotate(8deg);box-shadow:3px 4px 0 #245660;background:#FDF9EE;gap:6px}
.traffic-circle{width:23px;height:23px;border-color:#2B6566}
.traffic-circle.sea{background:#3A7980}
.traffic-circle.cream{background:#D0E5D8}
.traffic-circle.sun{background:#E8C477}
.sun-caption{left:26px;top:24px;color:#183E45}
.welcome-bottom{background:#1B4A56;color:#F4F6E8}
.cta-dark{background:#174D59}
.cta-coral{background:#BDDCD0;color:#153B43}
.text-button{text-decoration-color:#9ECABB}
.game-heading h1 em{color:#347E78}
.eyebrow.dark{background:#E3EFE5}
.week-bubble{background:#E8CC8A;box-shadow:4px 5px 0 #75AFA1}
.journey span{border-color:#9AB8A9;background:#E2E6DA}
.journey span.done{background:#70AE9D}
.journey span.active{background:#E7BF73;box-shadow:0 3px 0 #6A9E95}
.mission-area{border-color:#37626A;box-shadow:5px 6px 0 #C0D5CB}
.chapter-bar{background:#174D59}
.challenge-body{padding:27px 32px 33px}
.chapter-name{color:#407F7A}
.challenge-icon{background:#DAE9DB;border-color:#568B81;width:61px;height:61px;font-size:31px}
.challenge-heading h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.07}
/* Context + visual model share the first row so they are read together. */
.scenario-strip{display:grid;grid-template-columns:1.02fr .98fr;gap:15px;align-items:stretch;margin:19px 0 16px}
.scenario-context{border-left:4px solid #7DBAAA;background:#EDF5ED;padding:16px 17px 15px;display:flex;flex-direction:column;min-height:218px}
.context-label,.task-label{font-size:11px;font-weight:900;letter-spacing:.14em;color:#2B7273}
.challenge-context{margin:13px 0 0;font-size:14px;line-height:1.63;max-width:none}
.round-art{margin:0;border:1px solid #BDD5C7;background:#E8F1E7;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.round-art img{display:block;width:100%;flex:1;min-height:0;max-height:192px;object-fit:cover;object-position:center;background:#E3EEE5}
.round-art figcaption{font-size:10px;color:#496B6C;padding:7px 9px;background:#F9F9F0;border-top:1px solid #D4E5D7}
.task-card{background:#F6EBD2;border:1px solid #C9B98B;border-left:6px solid #C39F57;padding:17px 19px 16px;margin:21px 0 18px}
.task-label{color:#6B684A}
.challenge-instruction{font-family:var(--head);font-size:clamp(1.38rem,2.35vw,1.78rem);font-weight:700;line-height:1.28;padding:0;background:none;border:0;margin:9px 0 0;letter-spacing:-.023em;color:#183C47}
.interaction{gap:9px;margin-top:13px}
.option{border-color:#C9D8D0;border-radius:5px 15px 5px 5px;padding:12px 14px;gap:11px}
.option strong{font-size:14px}
.option small{font-size:11px}
.option:not(:disabled):hover{background:#EDF4EB}
.option.selected{background:#D9EEE2;box-shadow:3px 3px 0 #90BFAF}
.option .option-mark{min-width:27px;height:27px;border-color:#487D79}
.team-portrait{background:#F4F6EE;border:1px solid #A7C8B7;border-radius:4px 16px 4px 4px;margin:12px 0;gap:13px}
.avatar{height:61px;width:61px;border:2px solid #284D57;color:white;font-size:22px;box-shadow:none}
.avatar.green{background:#59A874;color:#FFFFFF}
.avatar.blue{background:#578DBC;color:#FFFFFF}
.avatar.red{background:#CB6560;color:#FFFFFF}
.avatar.yellow{background:#E9BF57;color:#1E4952}
.team-type{color:#315D61}
.team-portrait span{font-size:11px;margin-top:2px}
.team-portrait small{font-size:10px;color:#62736A}
.feedback{background:#E9F4E9;box-shadow:4px 4px 0 #9EC7B8}
.feedback .theory{background:#FFFEF8;border-left-color:#7CAFA4}
.feedback .gain{color:#2E7867}
.feedback .loss{color:#9A6152}
.dashboard{background:#164855;border-color:#1E5961;box-shadow:5px 6px 0 #B6D6C6}
.dashboard-top{background:#D6EDE2}
.pulse-mark{color:#4A9289}
.metric-grid .metric{border-color:#47727A}
.metric-title{color:#D0E7E0;font-size:10px;letter-spacing:.06em}
.metric strong{font-size:29px}
.metric:last-child strong{font-size:25px}
.money-panel{border-bottom-color:#47727A}
.money-panel p{color:#CAE3DE}
.money-panel .big-number{font-size:36px}
.meter{height:9px;background:#48717A}
.meter span{background:#8AC8B8}
.mini-led,.mini-led.attention,.mini-led.critical{background:#B7DACC;opacity:.9}
.mini-led.attention{border:2px solid #1B535F}
.mini-led.critical{border:2px solid #E6CAA0}
.lean-note{background:#E8DFC3;box-shadow:3px 3px 0 #123E4A;transform:none}
.log-details{border-color:#46727B}
.log-details summary span{background:#B4DACC}
.time-strip{border-color:#47727A}
.allocation-head{background:#E3EEDD;border-color:#6DA194}
.allocation-range{accent-color:#2A8A80}
.sequence-assembled{background:#E6F2E7;border-color:#7CAFA4}
.step-chip.in-queue{background:#E5D5AF}
.signal-row{border-color:#B9D2C6}
/* Here, and only here, conventional traffic-light colours apply. */
.light.red{background:#CB615D}.light.yellow{background:#ECC85F}.light.green{background:#61AE78}
.light-btn.active{background:#E6EFEA;box-shadow:3px 3px 0 #A3C5BA}
.finish{margin-top:28px}
/* Shareable Fjordvik postcard card */
.brag-card{position:relative;overflow:hidden;margin-top:16px;min-height:340px;background:linear-gradient(117deg,#F6F0DD 0%,#DAECE2 100%);border:2px solid #1A4A53;box-shadow:7px 8px 0 #86B7A6;color:#173E47}
.brag-card:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#EDCF91;right:-50px;top:40px;opacity:.75}
.brag-card:after{content:"";position:absolute;bottom:-100px;left:-7%;width:120%;height:195px;background:#7DBAAC;border-radius:50% 50% 0 0 / 70% 70% 0 0;opacity:.58}
.brag-ribbon{display:flex;justify-content:space-between;gap:15px;background:#194D58;color:white;padding:14px 22px;font-size:11px;font-weight:900;letter-spacing:.1em;position:relative;z-index:1}
.brag-content{position:relative;z-index:2;padding:27px 40px 30px}
.brag-title{font:700 clamp(2rem,4.5vw,3.1rem)/1.05 Georgia,serif}
.brag-score{display:flex;align-items:baseline;gap:13px;margin:4px 0 8px}
.brag-score strong{font:800 clamp(5rem,11vw,9rem)/1 Georgia,serif;letter-spacing:-.07em}
.brag-score span{font-size:18px;font-weight:900;letter-spacing:.09em}
.brag-player{display:inline-block;background:#FDFCF6;border:1px solid #B0CBC0;padding:8px 14px;font-weight:900;font-size:21px;max-width:100%;overflow-wrap:anywhere}
.brag-status{font-size:13px;font-weight:900;letter-spacing:.07em;margin-top:10px}
.brag-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;padding:14px 23px;background:#194D58;color:#FFFDF7;font-size:12px;font-weight:900;letter-spacing:.06em}
.share-panel{display:grid;grid-template-columns:minmax(240px,1fr) minmax(225px,.9fr);gap:10px 26px;align-items:end;background:#FAF9EF;padding:24px 27px;border:1.5px solid #AFD0C1;margin:27px 0 22px}
.share-panel h2{font:700 31px/1.1 Georgia,serif;margin:0 0 7px}
.share-panel p{font-size:12px;margin:0;line-height:1.55;color:#425D63}
.share-name{font-size:12px;font-weight:900;color:#315863;display:flex;flex-direction:column;gap:6px}
.share-name input{padding:11px 13px;border:2px solid #79A99B;background:white;border-radius:4px;width:100%;font-size:14px;color:#173F46}
.share-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}
.share-actions .cta{font-size:13px;padding:10px 14px;min-height:45px;gap:8px}
.share-status{grid-column:1/-1;color:#245F59!important;font-size:13px!important;font-weight:700;margin:3px 0 0!important;min-height:1.25em}
.share-status.share-error{color:#995B50!important}
.finish-hero{margin-top:23px;background:#D6EBDD;box-shadow:5px 6px 0 #B2CFBE;border-color:#2A5A5E;border-radius:4px 35px 4px 4px;padding:20px 28px}
.finish-hero .score-lockup span:first-child{font-size:clamp(3rem,7vw,5rem)}
.finish-hero .score-lockup span:last-child{font-size:20px}
.finish-hero h1{font-size:clamp(1.7rem,3vw,2.7rem)}
.finish-hero .medal{width:90px;height:90px;font-size:48px;background:#EACD87;box-shadow:3px 4px 0 #6C9B93}
.score-method>div{border-color:#5D8C86}
.score-method .meter{background:#E7EDE5}
.score-method .meter span,.score-method>div:last-child .meter span{background:#6FAE9C}
.final-details,.final-journal{border-color:#78A599}
.final-metrics>div{background:#F2F4E9}
.reset-dialog{background:#F1F0DF;box-shadow:7px 7px 0 #8FB5A7}
@media(max-width:1070px){.welcome-copy{padding-left:33px}.welcome h1{font-size:clamp(3.2rem,6.3vw,5.2rem)}.cover-art .ribbon{font-size:19px}}
@media(max-width:980px){.scenario-strip{grid-template-columns:1.1fr .9fr}.scenario-context{min-height:195px}.challenge-body{padding:25px 24px}.round-art img{max-height:184px}}
@media(max-width:720px){
  .welcome-copy{padding:35px 28px 33px}.welcome h1{font-size:clamp(3.2rem,11vw,5.4rem)}
  .cover-art{min-height:365px}.sun-disc{top:23px;right:45px;width:155px;height:155px}.sun-disc span{font-size:36px}
  .ribbon-a{top:190px}.ribbon-b{top:240px}.ribbon-c{top:289px}
  .traffic-sticker{top:auto;bottom:24px;right:19px}
  .scenario-strip{grid-template-columns:1fr}.scenario-context{min-height:0}
  .round-art img{height:172px;max-height:none;flex:initial}
  .challenge-instruction{font-size:clamp(1.55rem,5.3vw,2rem)}
  .brag-content{padding:25px 22px}.brag-score strong{font-size:clamp(5rem,15vw,7.5rem)}
  .brag-score span{font-size:13px}.brag-player{font-size:16px}.brag-title{font-size:2.3rem}
  .share-panel{grid-template-columns:1fr;padding:21px 19px}.share-actions{grid-column:1}.share-status{grid-column:1}
  .share-actions .cta{flex:1;min-width:150px}.finish-hero{padding:20px 23px}
}
@media(max-width:430px){.identity-name{font-size:18px}.release-pill{padding:6px 8px}.welcome h1{font-size:3.28rem}.challenge-heading h2{font-size:2rem}.round-art img{height:150px}.brag-ribbon{font-size:9px;padding:12px}.brag-bottom{font-size:10px}.brag-content{padding:24px 18px}.brag-score{gap:8px}.brag-score strong{font-size:5.2rem}.brag-score span{font-size:10px}.share-actions .cta{width:100%}}
@media print{.share-panel,.brag-card{page-break-inside:avoid}.brag-card{box-shadow:none}.finish-hero{box-shadow:none}}

.metric-hint{display:block;font-size:9px;color:#B8D9D1;margin-top:7px;letter-spacing:.035em}
@media(max-width:720px){.header-right{gap:6px}.text-button{font-size:10px;white-space:nowrap}.release-pill{font-size:9px}}
@media(max-width:430px){.identity-name{font-size:17px}.header-right{gap:5px}.release-pill{font-size:8px;padding:6px 5px}.text-button{font-size:9px;white-space:nowrap}}
