@font-face{font-family:Inter;src:url('fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#f5f7f3;--ink:#0d2a02;--lime:#c5f8b6;--green:#184309;--line:#dce5d7;--muted:#52644c;--orange:#ca3221}
body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink)}
h1,h2,h3{letter-spacing:-.04em}.hero h1 em,.did-you-know h3,.result-modal h2{font-family:inherit;font-style:normal}.hero h1 em{color:#356b1f}
.sidebar{background:#0d2a02}.nav-item.active{background:#c5f8b6;color:#0d2a02}.primary{background:#0d2a02}.primary:hover{background:#184309}
.brand{padding:18px 8px 40px}.brand .aalborg-logo{width:124px;height:auto}.game-brand{width:180px;height:auto;padding:24px;margin-bottom:0;background:#0d2a02;border-radius:0;filter:none}
.card-heading{padding:8px 24px;gap:18px}.card-heading>div{display:flex;align-items:center;gap:24px}.card-heading h2{font-size:25px;margin:0}.title-dot{color:#356b1f}
.experience-intro{padding-bottom:22px;gap:30px;align-items:center}.experience-intro h1{font-size:34px;letter-spacing:-1.4px;line-height:1.18;margin:0 0 12px;max-width:690px}.experience-intro h1 em{display:inline}.experience-intro .eyebrow{margin-bottom:9px;font-size:8px}.experience-intro p{font-size:13px;max-width:720px;line-height:1.7;margin:0;color:#52644c}
.event-callout{background:#e6f7df;padding:18px;border-radius:0;display:flex;align-items:flex-start;gap:12px;flex:0 0 265px;border:1px solid #cee5c3}.event-callout>svg{color:#184309}.event-callout strong,.event-callout span{display:block}.event-callout strong{font-size:13px;line-height:1.5}.event-callout span{font-size:10px;line-height:1.7;margin-top:5px;color:#52644c}.event-callout a,.result-incentive a{font-size:10px;text-decoration:underline}.event-callout .section-kicker{margin:0 0 6px}
.mission-panel h3{font-size:22px;margin:0 0 14px}.mission-panel .field-label{margin-top:7px}.participant-fields{gap:7px;margin-bottom:7px}.email-privacy{font-size:9px;margin-bottom:8px}.avatar-picker{margin:10px 0}.avatar-option>span{min-height:60px}.check-label{color:#52644c}.quiet-note{color:#52644c}.hud{padding:13px 0}.stat-label{color:#52644c}.stat-icon{color:#356b1f}.stat-icon.warm{color:#ca3221}
.ptes-system{padding:12px 24px 10px;background:#f0f5ec;border-block:1px solid #dce5d7}.system-flow{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:center;max-width:680px;margin:auto}.system-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;text-align:center}.system-node svg{width:45px;height:30px;stroke:#184309;stroke-width:1.5}.system-node>span{font-size:10px;line-height:1.25;font-weight:550;min-height:25px;display:grid;place-items:center}.system-link{font-size:23px;color:#356b1f;text-align:center}.system-water{fill:#c5f8b6}.system-store svg{overflow:visible}.system-store #system-steam{stroke:#ca3221;transition:opacity .2s}.system-store #system-lid-progress{fill:#0d2a02;stroke:none;transition:width .2s}.system-feedback{display:flex;align-items:center;gap:12px;max-width:680px;margin:5px auto 0;font-size:9px;color:#52644c;line-height:1.4}.system-feedback>span:last-child{margin-left:auto;white-space:nowrap}.system-feedback b{color:#0d2a02;font-weight:650}.system-feedback small{font-size:8px}.loss-meter{height:5px;flex:1;max-width:140px;background:#dce5d7;border-radius:0;overflow:hidden}.loss-meter span{display:block;width:100%;height:100%;background:#ca3221;transition:width .2s}
.cell.water{background:#ca3221;border-color:#9b261a}.cell.water::before{border-color:#ffffff68}.cell.water::after{color:#fff9;animation-name:thermalSteam}.cell.stack{background:#c5d9b8;border-color:#a8c694}.cell{background:#d9e5d0}.cell:nth-child(odd){background:#e4eddf}.cell.covered{background:#bec9cd url('thermal-lid.svg') center/100% 100% no-repeat}.board-platform{border-color:#c8d8bd;background:#e3ebdc}.arena{background-image:radial-gradient(#98ae8426 .8px,transparent .8px)}
.return-hint{font-size:10px;line-height:1.7;color:#52644c;margin:10px 0}.display-link{display:block;font-size:10px;font-weight:600;color:#184309;padding:10px 0 17px}.booth-cta{padding:22px;background:#0d2a02;color:#fff;border-radius:0;position:relative}.booth-cta .section-kicker{color:#c5f8b6;display:block;font-size:8px;margin:0 0 10px}.booth-cta strong{display:block;font-size:17px;line-height:1.5;letter-spacing:-.02em;font-weight:550}.booth-cta strong>span{color:#c5f8b6}.technical-details{background:#fff;border:1px solid #dce5d7;border-radius:0;padding:14px 16px;font-size:12px}.technical-details summary{font-weight:600;cursor:pointer;line-height:1.5}.technical-details p{font-size:12px;line-height:1.8;color:#52644c;margin:12px 0}.technical-details small{font-size:10px;color:#52644c}.technical-details .lid-guide{margin:12px 0 0}.how-it-works{margin-top:20px}
.result-modal{width:min(570px,calc(100% - 24px));padding:22px 26px;max-height:calc(100dvh - 24px);overflow-y:auto}.result-brand{margin:0 auto 8px}.result-icon{display:none}.result-modal h2{font-family:Inter,sans-serif;font-size:26px;margin:8px 0}.result-number{font-size:64px;letter-spacing:-3px;margin-top:10px}.result-number small{font-size:26px}.result-caption{font-size:14px!important;color:#0d2a02!important;font-weight:600;margin:4px 0 0}.result-stats{margin:13px 0;gap:24px}.result-modal #result-status{font-size:10px;margin-bottom:14px}.daily-standing{padding:13px 12px;background:#e6f7df;border-radius:0;margin-bottom:15px}.daily-standing h3{font-size:20px;line-height:1.35;margin:0 0 6px}.daily-standing p{font-size:11px;line-height:1.6;margin:0}.daily-standing #rank-private-note{font-size:10px;margin-bottom:5px}.result-modal .booth-cta{text-align:left;padding:18px;margin-bottom:16px}.result-modal .booth-cta strong{font-size:16px}.result-incentive{padding:14px;text-align:left;background:#eef7e9;border-radius:0;margin-bottom:16px}.result-incentive>strong{font-size:14px}.result-incentive p{font-size:11px;margin:5px 0}.result-leaderboard{text-align:left;border-top:1px solid var(--line);padding-top:14px}.result-leaderboard h3{font-size:14px;margin:0 0 10px;letter-spacing:0}.result-leaderboard .leaderboard-list{min-height:0}.result-leaderboard .empty-ranking{min-height:60px;padding:10px}.result-leaderboard>a{font-size:11px;font-weight:600}.result-modal .technical-details{margin:15px 0 0;background:#fff;text-align:left}.result-modal .technical-details p{font-size:11px}.rank-name{max-width:130px}.rank-score{color:#184309}.rank-name small{color:#52644c}.section-kicker{color:#52644c}
.exhibition-screen .sidebar,.exhibition-screen .topbar,.exhibition-screen .site-footer{display:none}.exhibition-screen .workspace{margin:0;max-width:none}.exhibition-screen main{padding:30px;min-height:100dvh;max-width:1600px;margin:auto}.exhibition-header{display:flex;align-items:center;gap:30px;margin-bottom:28px}.exhibition-brand{background:#0d2a02;border-radius:0;padding:36px}.exhibition-brand img{display:block;width:198px;height:auto}.exhibition-header h1{font-size:44px;margin:6px 0}.exhibition-header p{font-size:12px;color:#52644c;margin:0}.exhibition-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:30px}.exhibition-scores{background:#fff;border:1px solid #dce5d7;border-radius:0;padding:15px 28px}.exhibition-scores .leaderboard-list li{padding:13px 0;gap:16px;min-height:58px}.exhibition-scores .rank-number{font-size:18px;width:28px;color:#52644c}.exhibition-scores .rank-avatar{font-size:26px;width:35px;height:35px}.exhibition-scores .rank-name{max-width:330px;font-size:19px;line-height:1.4}.exhibition-scores .rank-name small{font-size:11px}.exhibition-scores .rank-score{font-size:26px;font-weight:650;letter-spacing:-1px}.exhibition-side{display:flex;flex-direction:column;gap:18px}.exhibition-side h2{font-size:31px;line-height:1.2;margin:0}.exhibition-side>p{font-size:15px;line-height:1.7;color:#52644c;margin:0}.event-reward{padding:20px;border:1px solid #a8cc91;background:#e6f7df;border-radius:0}.event-reward h3{font-size:20px;margin:14px 0 8px}.event-reward p{font-size:13px;line-height:1.6}.event-reward a{font-size:12px;text-decoration:underline}.exhibition-side>.button{align-self:flex-start;padding:13px 22px;font-size:14px}.exhibition-screen .empty-ranking{font-size:17px;min-height:400px}.exhibition-scores .ranking-labels{font-size:11px;padding-top:5px}.exhibition-scores .leaderboard-list{min-height:0}
@keyframes thermalSteam{0%{opacity:0;transform:translateY(0) scale(.8)}40%{opacity:calc(var(--open-fraction,1)*.75)}100%{opacity:0;transform:translateY(-18px) scale(1.1)}}
@media(min-width:761px) and (max-width:1250px){.brand .aalborg-logo{width:44px}.brand{padding:18px 0 40px}.experience-intro h1{font-size:29px}.event-callout{flex-basis:235px}.card-heading>div{gap:15px}}
@media(max-width:1020px){.experience-intro h1 em{display:block}.exhibition-header h1{font-size:35px}.exhibition-brand{padding:28px}.exhibition-brand img{width:165px}.exhibition-columns{gap:20px}.exhibition-side h2{font-size:25px}.exhibition-scores{padding:12px 20px}.exhibition-scores .rank-name{font-size:15px;max-width:190px}.exhibition-scores .rank-score{font-size:22px}.exhibition-scores .leaderboard-list li{gap:10px}.card-heading h2{font-size:22px}}
@media(max-width:760px){.sidebar{height:76px;padding:0 14px}.brand{padding:18px}.brand .aalborg-logo{width:100px}.brand .aalborg-logo{max-width:none}.main-nav .nav-item{padding:8px}.experience-intro{display:block;padding-bottom:18px}.experience-intro h1{font-size:28px;letter-spacing:-1px;line-height:1.2;margin:0 0 10px}.experience-intro h1 em{display:inline}.experience-intro p{font-size:12px;line-height:1.7;max-width:none}.experience-intro .eyebrow{display:none}.event-callout{padding:12px 14px;margin-top:14px;border-radius:0;gap:10px}.event-callout strong{font-size:12px}.event-callout span{font-size:10px;margin-top:3px}.event-callout>svg{width:19px;height:19px}.card-heading{padding:0 16px}.card-heading>div{gap:14px}.game-brand{width:146px;padding:20px}.card-heading h2{font-size:21px}.card-heading .sound-button span{display:none}.card-heading .sound-button{min-width:44px;min-height:44px}.hud{padding:9px 0}.ptes-system{padding:9px 13px 7px}.system-flow{grid-template-columns:1fr 15px 1fr 15px 1fr 15px 1fr}.system-node svg{width:34px;height:24px}.system-node>span{font-size:8px;min-height:22px;line-height:1.3}.system-link{font-size:18px}.system-feedback{font-size:8px;gap:8px;margin-top:4px}.system-feedback small{font-size:7px}.loss-meter{max-width:65px;height:4px}.right-column{display:flex;flex-direction:column}.return-hint{font-size:11px}.booth-cta{padding:20px}.technical-details{font-size:12px}.result-modal{padding:18px 18px}.result-brand{width:180px;padding:24px}.result-number{font-size:58px}.daily-standing h3{font-size:18px}.result-modal .card-heading h2{font-size:24px}.rank-name{max-width:180px}.exhibition-screen main{padding:18px}.exhibition-header{gap:18px;margin-bottom:18px}.exhibition-brand{padding:20px}.exhibition-brand img{width:108px}.exhibition-header h1{font-size:26px}.exhibition-header p{font-size:10px}.exhibition-header .section-kicker{font-size:7px}.exhibition-columns{grid-template-columns:1fr}.exhibition-side h2{font-size:24px}.exhibition-side>p{font-size:13px}.exhibition-side{gap:14px}.exhibition-scores{padding:12px 16px}.exhibition-scores .leaderboard-list li{min-height:53px;padding:10px 0}.exhibition-scores .rank-number{font-size:15px;width:22px}.exhibition-scores .rank-name{font-size:14px;max-width:160px}.exhibition-scores .rank-score{font-size:20px}.exhibition-scores .rank-avatar{display:grid;width:26px;font-size:22px}.exhibition-scores .ranking-labels{font-size:8px}.exhibition-screen .empty-ranking{min-height:200px}}
@media(max-width:760px),(max-width:1024px) and (max-height:500px){
    .game-card.is-playing{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}
    .is-playing .card-heading{padding:0 12px;min-height:0}
    .is-playing .card-heading>div{gap:0;display:block}
    .is-playing .game-brand{width:132px;padding:18px;margin:0;background:#0d2a02}
    .is-playing .card-heading h2{display:none}
    .is-playing .sound-button{min-width:44px;min-height:44px}
    .is-playing .hud{padding:6px 0;margin:0 12px}
    .is-playing .hud strong{font-size:21px}
    .is-playing .stat-label{font-size:7px;line-height:1.3;min-height:18px;display:block}
    .is-playing .stat-icon svg{width:16px;height:16px}
    .is-playing .ptes-system{padding:6px 12px 5px}
    .is-playing .system-node svg{width:29px;height:20px}
    .is-playing .system-node>span{font-size:7px;min-height:18px}
    .is-playing .system-flow{gap:0}
    .is-playing .system-feedback{font-size:7px;margin-top:2px;gap:5px}
    .is-playing .system-feedback small{font-size:6px}
    .is-playing .arena{padding:9px}
    .is-playing .board-platform{width:min(calc(100cqw - 18px),calc((100cqh - 18px)*.73),360px)}
    .is-playing .control-strip{flex-direction:row;padding:8px 12px;gap:12px;flex-wrap:nowrap}
    .is-playing .dpad{gap:6px}
    .is-playing .dpad button{width:48px;height:48px}
    .is-playing .control-strip .text-button{width:44px;min-height:48px;padding:0;justify-content:center}
    .is-playing .control-strip .text-button span{display:none}
    .is-playing .control-strip .text-button svg{width:20px;height:20px}
}
@media(max-width:1024px) and (max-height:500px) and (orientation:landscape){
    .game-card.is-playing{grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:56px 50px minmax(0,1fr) auto}
    .is-playing .card-heading{grid-column:1;grid-row:1}
    .is-playing .game-brand{width:116px;padding:16px}
    .is-playing .hud{grid-column:1;grid-row:2}
    .is-playing .ptes-system{grid-column:2;grid-row:1/3;align-self:center;border:0;background:transparent;padding:5px}
    .is-playing .system-feedback{flex-wrap:wrap;justify-content:center}
    .is-playing .system-feedback>span:last-child{margin-left:0}
    .is-playing .loss-meter{max-width:50px}
    .is-playing .arena{grid-column:1;grid-row:3/5}
    .is-playing .mission-panel{grid-column:2;grid-row:3}
    .is-playing .control-strip{grid-column:2;grid-row:4;flex-wrap:wrap;gap:0;padding:6px}
    .is-playing .dpad{gap:6px}
    .is-playing .dpad button{width:44px;height:46px}
    .is-playing .control-strip .text-button{min-height:44px;width:auto;padding:0 12px}
    .is-playing .control-strip .text-button span{display:block}
}
@media(max-width:390px){.experience-intro h1{font-size:25px}.card-heading>div{gap:4px}.card-heading h2{font-size:17px}.game-brand{width:130px;padding:18px}.exhibition-header{flex-direction:column;align-items:flex-start;gap:14px}.exhibition-scores .rank-avatar{display:none}.exhibition-scores .rank-name{max-width:140px}.exhibition-scores .leaderboard-list li{gap:8px}.rank-name{max-width:130px}.is-playing .carrying-display{font-size:10px}}
@media(prefers-reduced-motion:reduce){.cell.water::after{animation:none}.system-store #system-steam,.loss-meter span{transition:none}}
.cell.water{background:#ca3221;border-color:#9b261a}.cell.stack{background:#c5d9b8;border-color:#a8c694}
@media(min-width:761px) and (max-height:900px){
    .exhibition-screen main{padding:14px 22px}
    .exhibition-header{gap:20px;margin-bottom:14px}
    .exhibition-brand{padding:20px}.exhibition-brand img{width:108px}
    .exhibition-header h1{font-size:29px}.exhibition-header p{font-size:10px}
    .exhibition-columns{gap:20px;grid-template-columns:minmax(0,2fr) minmax(220px,1fr)}
    .exhibition-scores{padding:8px 16px}.exhibition-scores .ranking-labels{font-size:9px;padding:4px 0 8px}
    .exhibition-scores .leaderboard-list li{height:calc((100dvh - 168px)/10);min-height:30px;padding:3px 0;gap:10px}
    .exhibition-scores .rank-name{font-size:14px;line-height:1.2;max-width:230px}
    .exhibition-scores .rank-name small{font-size:9px}.exhibition-scores .rank-company{display:none}
    .exhibition-scores .rank-number{font-size:14px;width:22px}.exhibition-scores .rank-avatar{font-size:20px;width:25px;height:25px}
    .exhibition-scores .rank-score{font-size:20px}.exhibition-side{gap:12px}
    .exhibition-side h2{font-size:23px}.exhibition-side>p{font-size:12px;line-height:1.6}
    .exhibition-side .booth-cta{padding:15px}.exhibition-side .booth-cta strong{font-size:14px}
    .exhibition-side>.button{font-size:12px;padding:10px 16px}.event-reward{padding:12px}
}
@media(max-width:760px),(max-width:1024px) and (max-height:500px){html.game-open{scroll-behavior:auto}body.game-active{position:fixed;inset:0;width:100%;overflow:hidden}}

/* Heat leaves every open water tile; each lid stops its visible heat streams. */
.cell.water{background:radial-gradient(ellipse at 50% 80%,#e56138,#ca3221 75%);box-shadow:inset 0 0 6px #ffb07d75}
.cell.water::before{inset:65% 12% 10%;border-color:#ffc39880;transform:none}
.cell.water::after{content:none}
.heat-plume{position:absolute;left:8%;top:-13%;width:84%;height:110%;z-index:2;overflow:visible;pointer-events:none;fill:none;stroke:#fff2d9;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px #f9a168)}
.cell:not(.water) .heat-plume{display:none}
.heat-stream{opacity:.85}
.playing .water .heat-stream{animation:heatEscape 1.65s ease-in-out infinite;animation-delay:calc(var(--delay,0s) - 2s)}
.playing .heat-plume>g:nth-child(2) .heat-stream{animation-delay:calc(var(--delay,0s) - 2.55s)}
.playing .heat-plume>g:nth-child(3) .heat-stream{animation-delay:calc(var(--delay,0s) - 3.1s)}
@keyframes heatEscape{0%{transform:translateY(5px);opacity:.25}45%{opacity:1}100%{transform:translateY(-8px);opacity:.2}}
.heat-lost{display:block;color:#ad2a1c;font-size:10px;font-weight:550;line-height:1.4;margin-top:2px}
.system-feedback{display:flex;align-items:center;gap:12px;max-width:680px;margin:7px auto 0;padding:10px 12px;background:#fff0e9;border:1px solid #efc1b2;border-radius:0;color:#ad2a1c}
.heat-loss-icon{width:30px;height:30px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.loss-description{flex:0 0 auto;display:flex;flex-direction:column;gap:2px}
.loss-description strong{font-size:12px;line-height:1.3;letter-spacing:-.02em}
.loss-description>span{font-size:9px;color:#73564a}
.system-feedback .loss-description b{color:inherit}
.system-feedback .loss-meter{height:8px;max-width:130px;min-width:20px;background:#e8e3d8;box-shadow:inset 0 0 0 1px #00000008}
.system-feedback .loss-meter span{background:#ca3221}
.loss-reading{margin-left:auto;text-align:right;white-space:nowrap}
.loss-reading>span{display:block;font-size:9px;line-height:1.3;color:#73564a}
.system-feedback .loss-reading b{display:block;color:#ad2a1c;font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.system-feedback .loss-reading small{font-size:10px;font-weight:550;letter-spacing:0}
.system-feedback.is-sealed{background:#e6f7df;border-color:#b4d9a5;color:#184309}
.is-sealed .loss-description>span,.is-sealed .loss-reading>span,.system-feedback.is-sealed .loss-reading b{color:#184309}
.heat-protected-symbol,.is-sealed .heat-escape-symbol{display:none}
.is-sealed .heat-protected-symbol{display:block}
@media(max-width:760px){
    .system-feedback{padding:8px;gap:8px}
    .heat-loss-icon{width:24px;height:24px}
    .loss-description strong{font-size:10px}
    .loss-description>span,.loss-reading>span{font-size:8px}
    .system-feedback .loss-reading b{font-size:17px}
    .system-feedback .loss-reading small{font-size:8px}
    .system-feedback .loss-meter{max-width:65px;height:6px}
}
@media(max-width:760px),(max-width:1024px) and (max-height:500px){
    .is-playing .heat-lost{font-size:8px;line-height:1.25;margin-top:1px}
    .is-playing .system-feedback{padding:5px 7px;margin-top:3px;gap:7px;flex-wrap:nowrap;justify-content:initial}
    .is-playing .heat-loss-icon{width:22px;height:22px}
    .is-playing .loss-description strong{font-size:10px}
    .is-playing .loss-description>span,.is-playing .loss-reading>span{font-size:8px}
    .is-playing .loss-reading{margin-left:auto}
    .is-playing .system-feedback .loss-reading b{font-size:16px}
    .is-playing .system-feedback .loss-reading small{font-size:8px}
    .is-playing .system-feedback .loss-meter{height:6px;min-width:12px;max-width:60px}
}
@media(max-width:1024px) and (max-height:500px) and (orientation:landscape){
    .is-playing .ptes-system{align-self:start;padding:5px 8px}
    .is-playing .heat-loss-icon,.is-playing .system-feedback .loss-meter{display:none}
    .is-playing .system-feedback{gap:5px;padding:5px}
    .is-playing .loss-description strong{font-size:9px}
    .is-playing .system-feedback .loss-reading b{font-size:14px}
}

/* Useful heat reaches the homes; a fuller lid makes their warmth more visible. */
.ptes-system{--home-comfort:0}
.heat-delivery{position:relative}
.heat-delivery::after{content:'→';position:absolute;inset:0;color:#c47920;opacity:var(--home-comfort);transition:opacity .6s}
.system-network .network-warmth{stroke:#e59b36;stroke-width:2.5;stroke-dasharray:4 12;opacity:var(--home-comfort);transition:opacity .6s}
.is-playing .network-warmth{animation:heatToHomes 2s linear infinite}
@keyframes heatToHomes{to{stroke-dashoffset:-32}}
.system-homes .homes-scene{overflow:visible;transform:scale(1.12)}
.home-glow{fill:#ffd68a;stroke:none;filter:blur(5px);opacity:calc(var(--home-comfort)*.8);transition:opacity .6s}
.home-wall{fill:#ffdfaa;fill-opacity:calc(.12 + var(--home-comfort)*.88);stroke:none;transition:fill-opacity .6s}
.home-windows{fill:#ffba45;fill-opacity:calc(.2 + var(--home-comfort)*.8);stroke:#b36c16;stroke-width:.45;filter:drop-shadow(0 0 2px #ffc25e);transition:fill-opacity .6s}
.home-outline{fill:none;stroke:#184309}
.home-curtains{stroke:#b36c16;stroke-width:.5;opacity:var(--home-comfort);transition:opacity .6s}
.system-homes>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.system-homes>span small{font-size:8px;line-height:1.3;font-weight:500;color:#6d664f}
.system-homes.is-comfortable>span small{color:#8b4c13;font-weight:700}
@media(max-width:760px){.system-homes>span small{font-size:6px}}
@media(max-width:760px),(max-width:1024px) and (max-height:500px){.is-playing .system-homes>span small{font-size:6px}}

/* A direct start, one game surface and a quiet daily ranking. */
.simple-game .sidebar,.simple-game .topbar-title,.simple-game .preview-badge{display:none}
.simple-game .workspace{margin:0;max-width:none}
.simple-game .topbar{height:42px;padding:0 24px;border:0;background:transparent;max-width:1120px;margin:auto;justify-content:flex-end}
.simple-game main{max-width:1120px;margin:auto;padding:16px 24px 26px}
.simple-game .experience-intro{display:block;padding-bottom:20px}
.simple-game .experience-intro h1{font-size:34px;margin:0 0 8px;letter-spacing:-1.2px}
.simple-game .experience-intro p{font-size:14px;max-width:none;line-height:1.5}
.simple-game .event-callout{padding:10px 0;margin-top:10px;background:none;border:0}
.simple-game .event-callout span{margin:0}
.simple-game .game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}
.simple-game .game-card,.simple-game .leaderboard-card{box-shadow:none}
.simple-game .card-heading{padding:0 20px}
.simple-game .game-card:not(.is-playing) .game-brand{width:146px;padding:20px}
.simple-game .game-card:not(.is-playing) .hud,.simple-game .game-card:not(.is-playing) .ptes-system,.simple-game .game-card:not(.is-playing) .control-strip{display:none}
.simple-game #start-form{display:block}
.simple-game .field-label{font-size:12px;margin-bottom:7px}
.simple-game input[type=text],.simple-game input[type=email]{min-height:44px;font-size:14px}
.simple-game .check-label{font-size:11px;line-height:1.5;margin:12px 0 16px}
.simple-game .start-button{min-height:46px;font-size:13px}
.simple-game .optional-fields{margin:8px 0;border-bottom:1px solid var(--line)}
.simple-game .optional-fields>summary{font-size:12px;min-height:44px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none}
.simple-game .optional-fields>summary::-webkit-details-marker{display:none}
.simple-game .optional-fields>summary::after{content:'+';font-size:20px;line-height:1}
.simple-game .optional-fields[open]>summary::after{content:'−'}
.simple-game .optional-fields[open]{padding-bottom:8px}
.simple-game .leaderboard-card{padding:20px 18px 0}
.simple-game .leaderboard-heading h2{font-size:22px}
.simple-game .leaderboard-list{min-height:0}
.simple-game .empty-ranking{min-height:100px;font-size:12px}
.simple-game .ranking-labels{font-size:8px;gap:10px;line-height:1.5}
.simple-game .rank-avatar{display:none}
.simple-game .rank-name{max-width:110px}
.simple-game .rank-score{font-size:14px}
.simple-game .display-link{font-size:11px;padding:14px 0}
.simple-game .right-column{gap:12px}
.simple-game .technical-details{padding:0 14px;border:0;border-top:1px solid var(--line);background:transparent}
.simple-game .technical-details>summary{padding:12px 0;font-size:12px;min-height:44px}
.simple-game .site-footer{max-width:1120px;margin:auto;padding:10px 24px 20px;font-size:9px;gap:14px}
.simple-game .site-footer>span{display:none}
.simple-game .system-feedback.is-sealed .loss-reading b{color:#ad2a1c}
.simple-game .result-modal{width:min(500px,calc(100% - 24px));padding:20px 24px}
.simple-game .result-brand{width:132px;padding:18px;margin:0 auto 8px}
.simple-game .result-modal h2{font-size:24px;margin:6px 0}
.simple-game .result-number{font-size:60px;margin-top:4px}
.simple-game .daily-standing{padding:12px 0;background:none;border-block:1px solid var(--line);margin:12px 0}
.simple-game .daily-standing h3{font-size:19px}
.simple-game .daily-standing p{font-size:11px}
.simple-game .result-buttons{margin:16px 0 8px}
.simple-game .result-buttons .button{min-height:44px;font-size:12px}
.simple-game .result-leaderboard{margin-top:10px;padding:0;background:transparent}
.simple-game .result-leaderboard>summary{font-size:12px;min-height:44px;cursor:pointer;padding:13px 0}
.simple-game #receipt-section{margin-top:0}
.simple-game #receipt-section>details{background:transparent;padding:0;border-top:1px solid var(--line)}
.simple-game #receipt-section>details>summary{min-height:44px;font-size:12px;padding:12px 0}
@media(min-width:761px) and (min-height:501px){
    .simple-game .arena-layout{grid-template-columns:minmax(0,1fr) 210px;min-height:420px;padding:0 20px 0 0}
    .simple-game .arena{min-height:420px;padding:24px 18px}
    .simple-game .board-platform{width:282px;max-width:100%;filter:none}
    .simple-game .mission-panel{padding:20px 0 20px 18px;border-left:1px solid var(--line);border-top:0;align-self:center}
    .simple-game .control-strip{padding:12px 20px;gap:12px}
    .simple-game .dpad button{width:44px;height:44px}
    .simple-game .keyboard-hint{min-width:0}
}
@media(min-width:761px) and (max-width:980px) and (min-height:501px){
    .simple-game .game-layout{grid-template-columns:minmax(0,1fr) 210px;gap:14px}
    .simple-game .arena-layout{grid-template-columns:minmax(0,1fr) 180px;padding-right:15px}
    .simple-game .mission-panel{padding-left:12px}
    .simple-game .check-label{font-size:10px}
}
@media(max-width:760px){
    .simple-game .topbar{height:36px;padding:0 14px}
    .simple-game main{padding:12px 14px 22px}
    .simple-game .experience-intro{padding-bottom:16px}
    .simple-game .experience-intro h1{font-size:27px;letter-spacing:-1px}
    .simple-game .experience-intro p{font-size:12px;line-height:1.5}
    .simple-game .game-layout{display:block}
    .simple-game .right-column{margin-top:20px}
    .simple-game .game-card:not(.is-playing) .arena-layout{display:flex;flex-direction:column}
    .simple-game .game-card:not(.is-playing) .mission-panel{order:-1;padding:14px 18px 18px;border:0;width:100%}
    .simple-game .game-card:not(.is-playing) .arena{min-height:0;padding:18px;border-top:1px solid var(--line)}
    .simple-game .game-card:not(.is-playing) .board-platform{width:min(100%,240px);filter:none}
    .simple-game .game-card:not(.is-playing) .card-heading{padding:0 18px}
    .simple-game .leaderboard-card{padding:18px 18px 0}
    .simple-game .rank-name{max-width:180px}
    .simple-game .site-footer{padding:0 14px 18px}
    .simple-game .result-modal{padding:16px 18px}
    .simple-game .result-number{font-size:52px}
}

/* The brand spans the game. The start action belongs to the board. */
.simple-game .card-heading{background:#0d2a02;padding:0 20px}
.simple-game .card-heading .game-brand{background:transparent}
.simple-game .card-heading .sound-button{color:#c5f8b6}
.simple-game .card-heading .sound-button:hover{background:#184309}
.simple-game .arena{display:flex;flex-direction:column;justify-content:center;gap:14px}
.simple-game .board-callout{text-align:center;max-width:310px}
.simple-game .board-callout h1{font-size:24px;line-height:1.15;margin:0 0 7px;letter-spacing:-.8px}
.simple-game .board-callout p{font-size:11px;line-height:1.5;margin:0;color:#52644c}
.simple-game .arena>.start-button{width:min(100%,282px);margin:0;flex:0 0 auto}
.simple-game .is-playing .board-callout,.simple-game .is-playing .arena>.start-button{display:none}
.simple-game .optional-fields{border:0;margin:10px 0 0}
.simple-game .avatar-option>span{min-height:62px;font-size:10px;padding:7px}
.green-player{--player-hair:0;--player-beard:0;width:30px;height:40px;display:block;fill:none;stroke:none}
.green-player[data-avatar=female]{--player-hair:1}
.green-player[data-avatar=male]{--player-beard:1}
.worker-avatar{width:29px;height:38px;line-height:1}
.worker-avatar .green-player{width:100%;height:100%}
.simple-game .result-modal{padding-top:0}
.simple-game .result-brand-bar{background:#0d2a02;margin:0 -24px 18px;padding:0 24px;text-align:left}
.simple-game .result-brand-bar .result-brand{background:transparent;margin:0;width:146px;padding:20px}
.simple-game .result-outcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,150px);align-items:center;gap:12px;margin:12px 0 4px;text-align:left}
.simple-game .result-outcome .result-number{font-size:58px;line-height:1.1;margin:0}
.simple-game .result-outcome .result-caption{font-size:16px!important;line-height:1.3;margin:6px 0 0}
.simple-game .result-warm-home{text-align:center}
.simple-game .result-warm-home svg{width:100%;height:auto;display:block;stroke:none}
.simple-game .result-warm-home strong{display:block;color:#8b4c13;font-size:16px;line-height:1.2}
.simple-game .result-leaderboard h3{font-size:13px;margin:14px 0 4px}
.simple-game .result-leaderboard .leaderboard-list li{padding:9px 0}
.simple-game #result-email-status{font-size:11px;margin:8px 0}
.rank-avatar .green-player{width:24px;height:32px}
@media(min-width:761px) and (min-height:501px){
    .simple-game .arena-layout{grid-template-columns:minmax(0,1fr) 245px;min-height:560px}
    .simple-game .mission-panel{padding-top:18px;padding-bottom:18px;align-self:center}
    .simple-game .game-card:not(.is-playing) .board-platform{width:260px}
}
@media(max-width:760px){
    .simple-game .game-card:not(.is-playing) .card-heading{padding:0 18px}
    .simple-game .game-card:not(.is-playing) .mission-panel{padding:14px 18px 18px}
    .simple-game .game-card:not(.is-playing) #start-form{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;align-items:start}
    .simple-game #start-form>label[for=nickname],.simple-game #nickname{grid-column:1/-1}
    .simple-game #start-form>.optional-fields,.simple-game #start-form>.check-label{grid-column:1/-1}
    .simple-game .optional-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
    .simple-game .optional-fields>label,.simple-game .optional-fields>input,.simple-game .optional-fields>p,.simple-game .optional-fields>fieldset{grid-column:1/-1}
    .simple-game .field-label{margin-top:4px;font-size:11px}
    .simple-game .avatar-picker{margin:8px 0}
    .simple-game .avatar-option>span{min-height:58px}
    .simple-game .email-privacy{margin:5px 0;font-size:9px}
    .simple-game .check-label{margin:8px 0;font-size:10px}
    .simple-game .board-callout h1{font-size:23px}
    .simple-game .board-callout p{font-size:11px}
    .simple-game .result-brand-bar{margin:0 -18px 14px;padding:0 18px}
    .simple-game .result-outcome{grid-template-columns:minmax(0,1fr) 120px;gap:8px}
    .simple-game .result-outcome .result-number{font-size:48px}
    .simple-game .result-outcome .result-caption{font-size:14px!important}
    .simple-game .result-warm-home strong{font-size:14px}
}
@media(max-width:760px),(max-width:1024px) and (max-height:500px){
    .is-playing .worker-avatar{width:clamp(18px,7cqw,29px);height:clamp(24px,9cqw,38px)}
    .simple-game .is-playing .arena{gap:0}
}

/* Protected management views */
.admin-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:0 0 24px}.admin-filters label{display:grid;gap:8px;font-weight:600}.admin-filters input{max-width:220px}.admin-filters>span{font-size:13px;color:#596b50}.analytics-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.analytics-panel{padding:24px;overflow-wrap:anywhere}.analytics-panel h2{margin:0 0 20px;font-size:24px}.analytics-panel h3{margin:20px 0 8px}.stat-row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #dce5d6}.stat-row strong{text-align:right}.visit-result{padding:14px 0;border-bottom:1px solid #dce5d6}.analytics-panel .subtle{font-size:13px;line-height:1.6}.admin-table small{overflow-wrap:anywhere}.table-card{overflow-x:auto}@media(max-width:800px){.analytics-panels{grid-template-columns:1fr}.admin-filters{align-items:stretch}.admin-filters label{flex:1;min-width:120px}.stat-row{font-size:14px}.analytics-panel{padding:18px}}

.analytics-choice{padding:10px 16px;background:#f7f9f5;border:1px solid #e2e8dd;margin-bottom:14px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#52644c}.analytics-choice .cookie-copy{flex:1;min-width:220px;font-size:12px;line-height:1.6}.cookie-copy>strong{font-size:12px;color:#344f2a;margin-right:8px}.analytics-choice p{font-size:12px;line-height:1.6;margin:4px 0 0}.cookie-details{margin:0}.cookie-details summary{width:fit-content;cursor:pointer;font-size:12px;min-height:32px;display:flex;align-items:center;gap:6px;text-decoration:underline;text-underline-offset:3px}.cookie-details summary::after{content:'+';font-size:15px;text-decoration:none}.cookie-details[open] summary::after{content:'−'}.cookie-details p{max-width:760px}.analytics-choice .button{font-size:12px;min-height:44px;padding:10px 15px;background:transparent;border-color:#d1dcc9;color:#344f2a}.analytics-choice .button:hover{background:#eaf0e5}.analytics-choice .button-row{gap:8px}.analytics-settings{white-space:nowrap;font-size:12px}.game-active .analytics-choice{display:none}.analytics-choice[hidden]{display:none}#analytics-dialog p{line-height:1.6}#analytics-dialog .cookie-details{margin-bottom:14px}@media(max-width:600px){.analytics-choice{padding:10px 12px;gap:6px}.analytics-choice .button-row{width:100%}.analytics-choice .button{flex:1}.cookie-details summary{min-height:44px}.simple-game .topbar-actions{gap:8px}.analytics-settings{padding:8px;min-height:44px}.simple-game .topbar{gap:4px}}

.consent-group{grid-column:1/-1;border-top:1px solid #e2e8dd;margin-top:12px;padding-top:8px}.simple-game .consent-group .check-label{font-size:11px;line-height:1.6;margin:8px 0}.consent-details summary{width:fit-content;min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;color:#52644c;text-decoration:underline;text-underline-offset:3px}.consent-details summary::after{content:'+';font-size:15px}.consent-details[open] summary::after{content:'−'}.consent-details[open]{padding-bottom:4px}.consent-details .check-label{padding:8px 0}.consent-all-label{font-weight:500}.consent-group input:indeterminate{accent-color:#184309}

.management-shortcut{font-size:12px;min-height:44px;display:inline-flex;align-items:center;padding:8px;text-decoration:none;color:#52644c}.simple-game .topbar-actions{flex-wrap:wrap}.result-modal #result-title{font-size:clamp(23px,4.5vw,34px);line-height:1.2;max-width:600px;margin-left:auto;margin-right:auto}.data-form[hidden]{display:none}

.email-editor{margin:24px 0}.email-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.email-editor-field{display:grid;gap:8px;font-size:14px;font-weight:600}.email-editor-field.wide{grid-column:1/-1}.email-editor-field input,.email-editor-field textarea{width:100%;min-height:46px;border:1px solid #cfdbc6;background:white;padding:12px;color:#0d2a02;font:inherit;font-weight:400}.email-editor-field textarea{resize:vertical}.admin-filters select{min-height:46px;max-width:100%;border:1px solid #cfdbc6;padding:8px;background:white;color:#0d2a02}@media(max-width:700px){.email-editor-fields{grid-template-columns:1fr}}

.entry-invitation { border-left: 3px solid var(--green, #173f0d); padding: 10px 12px; margin: 16px 0 10px; background: #f0f5e8; }
.entry-invitation p { margin: 4px 0 0; font-size: .9rem; }

/* Standalone leaderboard display. */
.leaderboard-only main{max-width:1400px;padding:24px;margin:auto}
.leaderboard-only .exhibition-header{background:#0d2a02;color:#fff;padding:22px 28px;gap:32px;margin:0;flex-direction:row;align-items:center}
.leaderboard-only .exhibition-brand{padding:0;flex-shrink:0}
.leaderboard-only .exhibition-header h1{font-size:clamp(22px,3.4vw,42px);margin:0 0 6px;line-height:1.15}
.leaderboard-only .exhibition-header p{color:#c5d4bf;font-size:12px}
.leaderboard-only .exhibition-scores{border-top:0}
.leaderboard-only .rank-name{max-width:none;overflow-wrap:anywhere}
.leaderboard-only .rank-avatar{width:32px;height:42px}
.leaderboard-only .rank-score{white-space:nowrap}
@media(min-width:600px){.leaderboard-only .leaderboard-list li{height:clamp(36px,calc((100dvh - 205px)/10),90px);min-height:36px;padding:4px 0}.leaderboard-only .exhibition-header .exhibition-brand img{width:150px}.leaderboard-only .rank-name{font-size:clamp(14px,1.8vw,22px)}}
@media(max-height:600px) and (min-width:600px){.leaderboard-only main{padding:12px 20px}.leaderboard-only .exhibition-header{padding:14px 20px}.leaderboard-only .exhibition-header h1{font-size:26px}.leaderboard-only .exhibition-scores{padding:6px 18px}.leaderboard-only .leaderboard-list li{height:calc((100dvh - 143px)/10);min-height:28px}.leaderboard-only .rank-avatar{height:26px}.leaderboard-only .green-player{width:20px;height:26px}.leaderboard-only .rank-name small{font-size:9px}}
@media(max-width:599px){.leaderboard-only main{padding:12px}.leaderboard-only .exhibition-header{padding:18px 14px;gap:16px;flex-wrap:wrap}.leaderboard-only .exhibition-brand img{width:120px}.leaderboard-only .exhibition-header h1{font-size:24px}.leaderboard-only .exhibition-header p{font-size:10px}.leaderboard-only .exhibition-scores{padding:10px 12px}.leaderboard-only .rank-score{font-size:20px}.leaderboard-only .rank-name{font-size:14px}.leaderboard-only .rank-name small{font-size:10px}}

.leaderboard-only .exhibition-board{display:grid;grid-template-columns:minmax(0,1fr) clamp(170px,22vw,270px);gap:0 20px;align-items:start}
.leaderboard-only .exhibition-header{grid-column:1/-1}
.leaderboard-join{display:flex;flex-direction:column;align-items:center;gap:18px;padding:28px 20px;background:#e7f1dc;color:#0d2a02;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.leaderboard-join h2{margin:0;font-size:clamp(23px,2.5vw,34px);line-height:1.1;font-weight:650}
.leaderboard-join p{margin:0;font-size:15px;line-height:1.5}
.leaderboard-join img{width:100%;max-width:240px;height:auto;display:block;aspect-ratio:1;background:white}
.leaderboard-join>span{font-size:clamp(11px,1.2vw,15px);font-weight:600;line-height:1.5}
.leaderboard-join:focus-visible{outline:3px solid #80bd45;outline-offset:3px}
@media(max-width:850px) and (min-width:600px){.leaderboard-only .exhibition-board{gap:0 12px}.leaderboard-only .exhibition-scores{padding-left:12px;padding-right:12px}.leaderboard-join{padding:20px 12px;gap:14px}.leaderboard-join p{font-size:13px}.leaderboard-only .rank-avatar{display:none}.leaderboard-only .rank-name{min-width:0}.leaderboard-only .rank-score{font-size:19px}}
@media(max-width:599px){.leaderboard-only .exhibition-board{display:flex;flex-direction:column;gap:0}.leaderboard-only .exhibition-header,.leaderboard-only .exhibition-scores{width:100%}.leaderboard-join{order:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px 12px;padding:16px;text-align:left;align-items:center}.leaderboard-join h2{font-size:25px}.leaderboard-join p{font-size:12px}.leaderboard-join img{grid-column:2;grid-row:1/4;width:120px}.leaderboard-join>span{font-size:11px}.leaderboard-only .exhibition-scores{order:1}}
