@font-face{font-family:PortfolioRaveo;src:url('./vendor/RaveoVF-subsetted.woff2') format('woff2');font-display:swap}
:root{--ui-paper:#f5f3eb;--ui-ink:#20382c;--ui-line:#20382c24;--ui-font:PortfolioRaveo,Arial,sans-serif}
#portfolio-shell,#portfolio-scene,#career-dialog{font-family:var(--ui-font);font-synthesis:none;letter-spacing:normal;text-shadow:none;color:var(--ui-ink)}
#portfolio-shell *,#portfolio-scene *,#career-dialog *{box-sizing:border-box}
#portfolio-shell button,#portfolio-shell a,#portfolio-scene button,#portfolio-scene a,#career-dialog button{font:inherit;letter-spacing:normal;text-transform:none;text-decoration:none;cursor:pointer;touch-action:manipulation}
#portfolio-shell button:focus-visible,#portfolio-shell a:focus-visible,#portfolio-scene button:focus-visible,#portfolio-scene a:focus-visible,#career-dialog button:focus-visible{outline:2px solid #78936b;outline-offset:4px}
body #controls,body #progress,body #banner,body[data-game="3d"]>header,body[data-game="3d"] .location,body[data-game="3d"] .actions,body[data-game="3d"] .help{display:none!important}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:24px 32px;background:none;pointer-events:none}
.site-header>*{pointer-events:auto}.site-name{justify-self:start;font-size:20px!important;font-weight:650;letter-spacing:-.6px!important;color:#fffdf4;text-shadow:0 1px 12px #132d2460!important}.site-name span{display:block;font-size:9px;letter-spacing:1.65px;margin-top:5px;font-weight:500}
#portfolio-shell .mode-switch{display:flex;gap:2px;border-radius:100px;padding:4px;background:#f5f3ebf5;box-shadow:0 2px 18px #10291c14;border:1px solid #fff8;font-size:13px;backdrop-filter:none}
#portfolio-shell .mode-switch a{display:flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:100px;color:var(--ui-ink);white-space:nowrap;line-height:1.1}
#portfolio-shell .mode-switch a[aria-current]{background:var(--ui-ink);color:var(--ui-paper)}#portfolio-shell .mode-switch a:not([aria-current]):hover{background:#20382c0b}
#portfolio-shell .portfolio-entry{justify-self:end;padding:12px 17px;background:var(--ui-paper);border:1px solid #fff5;border-radius:100px;font-size:13px;color:var(--ui-ink);box-shadow:0 2px 18px #10291c14}.portfolio-entry span{margin-left:14px}
.garden-toolbar{position:fixed;z-index:45;bottom:max(24px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));display:flex;align-items:center;gap:8px;padding:0;white-space:nowrap}
#portfolio-shell .garden-toolbar button{border:1px solid #fff9;background:var(--ui-paper);color:var(--ui-ink);font-size:12px;padding:12px 16px;border-radius:100px;box-shadow:0 5px 28px #10291c22;min-height:56px}
#portfolio-shell .garden-toolbar .ui-primary{background:var(--ui-ink);color:var(--ui-paper);min-width:102px}.garden-toolbar button:hover{filter:brightness(.94)}.garden-toolbar button:disabled{opacity:.6;cursor:wait}
#portfolio-scene{position:fixed;inset:0!important;width:100%!important;height:100%!important;display:grid;place-items:center;z-index:1;pointer-events:none;padding:105px 24px 115px;background:none;overflow:auto;transform:none!important}
#portfolio-scene .panel{position:relative;inset:auto!important;width:min(100%,570px);max-width:570px;margin:auto;background:var(--ui-paper)!important;color:var(--ui-ink)!important;border:1px solid #ffffff80!important;border-radius:14px!important;box-shadow:0 24px 80px #0f2b2428!important;padding:36px!important;text-align:left!important;transform:none;pointer-events:none;animation:none!important;line-height:1.5;}
body[data-game="3d"]:not(.portfolio-open) #portfolio-scene{visibility:hidden}.portfolio-open #portfolio-scene{z-index:35;background:linear-gradient(0deg,#122d243b,transparent 80%);visibility:visible!important}.portfolio-open #portfolio-scene .panel{pointer-events:auto;mask:none!important;-webkit-mask:none!important;clip-path:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
.portfolio-meta{display:flex;justify-content:space-between;gap:20px;font-size:9px;font-weight:550;letter-spacing:1.3px;color:#677568;line-height:1.5}
#portfolio-scene h1{font:500 clamp(42px,5.3vw,64px)/1.08 var(--ui-font)!important;letter-spacing:-3px!important;margin:12pt 0!important;color:var(--ui-ink)!important;text-shadow:none!important}#portfolio-scene h1 span{color:#7e9364}
#portfolio-scene .portfolio-role{font-size:21px;line-height:1.4;color:var(--ui-ink);margin:0 0 14px;letter-spacing:-.4px}
#portfolio-scene .portfolio-summary{font-size:15px;line-height:1.65;color:#627063;max-width:360px;margin:0 0 29px;letter-spacing:0}.portfolio-summary strong{color:var(--ui-ink);font-weight:550}
#portfolio-scene .portfolio-links{display:flex;flex-wrap:wrap;gap:9px;background:none;padding:0;border:0;border-radius:0;backdrop-filter:none}
#portfolio-scene .portfolio-links a,#portfolio-scene .portfolio-links button{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 14px;min-height:46px;font-size:13px;border:1px solid var(--ui-line);border-radius:5px;background:transparent;color:var(--ui-ink);box-shadow:none;line-height:1.3}
#portfolio-scene .portfolio-links button{background:var(--ui-ink);color:var(--ui-paper);border-color:var(--ui-ink)}#portfolio-scene .portfolio-links a:hover{background:#20382c09}
.portfolio-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--ui-line);margin-top:30px;padding-top:17px;font-size:10px;color:#778171}
#portfolio-scene .portfolio-footer button{border:0;background:none;color:#50634e;font-size:11px;padding:5px 0}.portfolio-open #toast,.portfolio-open #mower,.portfolio-open #hud,.portfolio-open .intro,.portfolio-open #complete,.portfolio-open #pause-panel{display:none!important}
#career-dialog,#garden-settings{position:fixed;inset:0;margin:auto;border:1px solid #fff8;border-radius:14px;background:var(--ui-paper);color:var(--ui-ink);padding:0;box-shadow:0 30px 100px #0f211c40;max-height:85dvh;overflow:auto;font-family:var(--ui-font);width:min(760px,calc(100% - 32px));max-width:760px;opacity:1;transform:none;line-height:1.5}
#career-dialog::backdrop,#garden-settings::backdrop{background:#13291f7d;backdrop-filter:blur(5px)}.career-top,.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 32px;border-bottom:1px solid var(--ui-line);position:sticky;top:0;background:var(--ui-paper);z-index:2}
.ui-eyebrow{font:500 9px/1.4 var(--ui-font);letter-spacing:1.5px;color:#6c7e68}#career-dialog h2,#garden-settings h2{font:500 31px/1.2 var(--ui-font);letter-spacing:-1px;margin:7px 0 0;color:var(--ui-ink)}#career-close,#settings-close{border:1px solid var(--ui-line);padding:10px 14px;border-radius:100px;background:none;color:var(--ui-ink);font-size:12px}#career-close span{margin-left:12px}#settings-close{font-size:23px;padding:5px 14px}
#career-dialog .doc{padding:28px 32px;max-height:none;overflow:visible;font:400 14px/1.65 var(--ui-font);color:#4b5d4b;outline:none}#career-dialog .now{padding:0 0 24px;margin:0 0 24px;border:0;border-bottom:1px solid var(--ui-line);background:none;box-shadow:none}#career-dialog .k{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6b7e63;margin:0 0 8px}#career-dialog .v{font-size:21px;line-height:1.35;letter-spacing:-.5px;color:var(--ui-ink);margin:0 0 7px}#career-dialog .v2{font-size:13px;margin:0;color:#657662}#career-dialog .yr{display:grid;grid-template-columns:60px 1fr;gap:20px;margin:0;padding:24px 0;border-bottom:1px solid var(--ui-line)}#career-dialog .y{margin:0;font-size:12px;color:#859276}#career-dialog ul{padding:0 0 0 16px;margin:0}#career-dialog li{margin:0 0 12px;font:400 14px/1.6 var(--ui-font)}#career-dialog .lead{font-weight:600;color:var(--ui-ink)}#career-dialog .career{color:#886d3d}#career-dialog .hint{font-size:10px;color:#7a8573;margin:24px 0 0}
#garden-settings{width:min(430px,calc(100% - 32px))}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 28px;padding:16px 0;border-bottom:1px solid var(--ui-line);font-size:13px}.setting-row button{border:1px solid var(--ui-line);background:none;color:var(--ui-ink);padding:9px 13px;border-radius:100px;min-height:40px}.setting-row input{width:20px;height:20px;accent-color:var(--ui-ink)}.instructions{padding:22px 28px 28px}.instructions h3{font-size:15px;font-weight:550;margin:0 0 10px}.instructions p{font-size:12px;line-height:1.7;color:#657461;margin:8px 0}
body[data-game="3d"] .progress-panel,body[data-game="3d"] .minimap-wrap,body[data-game="3d"] #speed{display:none}body[data-game="3d"].game-details .progress-panel,body[data-game="3d"].game-details .minimap-wrap,body[data-game="3d"].game-details #speed{display:block}.game-details .progress-panel{bottom:110px}.game-details .minimap-wrap{bottom:110px}.game-details #speed{bottom:88px}
#toast{top:42%!important;left:50%!important;bottom:auto!important;font-family:var(--ui-font)!important;border:0!important;background:#17362bde!important;border-radius:12px!important;padding:24px!important;box-shadow:none!important}#toast h2{font:500 30px/1.2 var(--ui-font)!important;letter-spacing:-1px!important;color:var(--ui-paper)!important}#toast p{font:400 13px/1.6 var(--ui-font)!important;color:#f5f3ebd9!important}
@media(max-width:700px){.site-header{padding:18px;gap:14px;grid-template-columns:1fr auto}.site-name{font-size:17px!important}.site-name span{font-size:8px}.site-header .mode-switch{grid-row:2;grid-column:1/-1;justify-self:center}.site-header .portfolio-entry{font-size:11px;padding:11px 14px}#portfolio-shell .mode-switch a{padding:10px 18px}.garden-toolbar{bottom:max(18px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 24px)}#portfolio-shell .garden-toolbar button{padding:11px 14px}#portfolio-scene{padding:145px 16px 105px;align-items:start}#portfolio-scene .panel{padding:27px!important;margin:auto!important;border-radius:12px!important}#portfolio-scene h1{font-size:46px!important;letter-spacing:-2px!important}.portfolio-meta{font-size:8px;letter-spacing:.8px}.portfolio-meta span:nth-child(2){display:none}#portfolio-scene .portfolio-role{font-size:19px}#portfolio-scene .portfolio-summary{font-size:14px}.portfolio-footer>span{max-width:120px;line-height:1.5}#portfolio-scene .portfolio-links{gap:7px}#portfolio-scene .portfolio-links button{flex:1 0 100%}#portfolio-scene .portfolio-links a{flex:1}.career-top,.settings-heading{padding:22px}#career-dialog .doc{padding:22px}#career-dialog .yr{grid-template-columns:44px 1fr;gap:12px}#career-dialog li{font-size:13px}body[data-game="3d"] .intro{left:24px;right:24px;top:32%}body[data-game="3d"] .intro h1{letter-spacing:-3px}#joystick{bottom:95px!important;width:96px;height:96px}#stick{top:25px;left:25px}.game-details .progress-panel{top:145px;width:150px}.game-details .minimap-wrap{bottom:106px}.game-details #speed{display:none!important}}
@media(max-height:700px){#portfolio-scene .panel{padding:24px!important}#portfolio-scene h1{font-size:44px!important}.portfolio-footer{margin-top:20px}#portfolio-scene .portfolio-summary{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){#portfolio-shell *,#portfolio-scene *{animation:none!important;transition:none!important}}

#portfolio-scene h1{text-transform:none!important}#portfolio-scene .panel::before,#portfolio-scene .panel::after{display:none!important}#career-dialog .ms{color:#886d3d}#career-dialog .key{display:inline-block;width:6px;height:6px;margin-right:5px;background:#886d3d}#career-dialog .key.work{background:#57774f}
#portfolio-scene{grid-template-columns:minmax(0,1fr)}#portfolio-title:focus{outline:none}#portfolio-scene .portfolio-links span{padding:0;background:none;border:0;border-radius:0;color:inherit}#toast,#toast h2,#toast p{text-transform:none!important}

.portfolio-open #portfolio-scene{mask:none!important;-webkit-mask:none!important}:is(body.ultra,body[data-game="3d"]):not(.portfolio-open) #portfolio-scene{z-index:6}
#pause-panel{background:#13291f7d}#pause-panel>div{background:var(--ui-paper);color:var(--ui-ink);padding:30px;border-radius:14px;font-family:var(--ui-font)}#pause-panel h2{font-size:36px}#pause-panel .eyebrow{font-size:10px}#pause-panel .primary{background:var(--ui-ink);color:var(--ui-paper);border-radius:100px}

/* Mode-specific visual identities; layout and actions above remain shared. */
body:not(.ultra):not([data-game="3d"]){--ui-font:'Press Start 2P',monospace;--ui-paper:#fffbe8;--ui-ink:#16301a;--ui-line:#16301a;--ui-muted:#33691e}
:is(body.ultra,body[data-game="3d"]){--u-sans:'Raveo',Arial,sans-serif;--u-serif:'Instrument Serif','Iowan Old Style',Georgia,serif;--u-accent:#ffd36b;--u-line-2:#ffffff29;--u-t2:#ffffffad;--ui-font:var(--u-sans);--ui-paper:#0b110d;--ui-ink:#f3f5f3;--ui-line:#ffffff29;--ui-muted:#b4beb6}
:is(body.ultra,body[data-game="3d"]) #portfolio-shell :is(.mode-switch,.portfolio-entry,.garden-toolbar button){background:var(--ui-paper);border-color:var(--ui-line);box-shadow:inset 0 1px #ffffff18,0 8px 28px #0003;backdrop-filter:blur(16px)}
:is(body.ultra,body[data-game="3d"]) #portfolio-scene .panel{background:linear-gradient(#ffffff09,transparent 40%),var(--ui-paper)!important;border-color:var(--ui-line)!important;box-shadow:inset 0 1px #ffffff20,0 24px 70px #0006!important}
:is(body.ultra,body[data-game="3d"]) :is(.portfolio-meta,.portfolio-summary,.portfolio-footer,.ui-eyebrow,.instructions p){color:var(--ui-muted)!important}
:is(body.ultra,body[data-game="3d"]) #portfolio-scene .portfolio-footer button{color:var(--ui-muted)}
:is(body.ultra,body[data-game="3d"]) #career-dialog :is(.doc,.v2,.y,.k,.hint,li){color:var(--ui-muted)}
:is(body.ultra,body[data-game="3d"]) #career-dialog .ms{color:#ffd36b}
:is(body.ultra,body[data-game="3d"]) #portfolio-scene h1{font:400 clamp(42px,5.3vw,64px)/1.12 var(--u-serif)!important;letter-spacing:-.01em!important;background:none;padding:0}
:is(body.ultra,body[data-game="3d"]) :is(.portfolio-meta,.ui-eyebrow){color:var(--u-accent)!important}
:is(body.ultra,body[data-game="3d"]) #portfolio-scene h1 span{color:var(--u-accent)}
:is(body.ultra,body[data-game="3d"]) #portfolio-scene .portfolio-links :is(a,button){background:linear-gradient(#ffffff12,transparent),#ffffff0a;color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:12px;box-shadow:inset 0 1px #ffffff20}
:is(body.ultra,body[data-game="3d"]) #portfolio-shell :is(.ui-primary,.mode-switch a[aria-current]){background:#ffd36b;color:#0b110d}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell :is(.mode-switch,.portfolio-entry,.garden-toolbar button),body:not(.ultra):not([data-game="3d"]) #portfolio-scene .panel,body:not(.ultra):not([data-game="3d"]) :is(#career-dialog,#garden-settings){border:3px solid var(--ui-ink)!important;border-radius:0!important;background:var(--ui-paper)!important;box-shadow:5px 5px 0 #16301a!important;backdrop-filter:none}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell :is(button,a){text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:0!important}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .site-name{font-size:14px!important;line-height:1.6;color:var(--cream);text-shadow:2px 2px 0 var(--ink)!important}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .site-name span{font-size:8px;letter-spacing:0}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .mode-switch a{border-radius:0;padding:10px 12px;font-size:10px}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .mode-switch a[aria-current],body:not(.ultra):not([data-game="3d"]) #portfolio-shell .garden-toolbar .ui-primary{background:#ffd740;color:#16301a;border-radius:0}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .portfolio-entry{font-size:10px;padding:10px 12px}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .garden-toolbar button{font-size:10px;padding:10px 12px;border-radius:0}
body:not(.ultra):not([data-game="3d"]) #portfolio-scene h1{font:400 clamp(22px,4vw,32px)/1.5 var(--ui-font)!important;letter-spacing:.02em!important;text-transform:uppercase!important;text-shadow:3px 3px 0 #c5e1a5!important}
body:not(.ultra):not([data-game="3d"]) #portfolio-scene h1 span{color:inherit}
body:not(.ultra):not([data-game="3d"]) #portfolio-scene .portfolio-role{font-size:12px;line-height:2;letter-spacing:0}
body:not(.ultra):not([data-game="3d"]) #portfolio-scene .portfolio-summary{font-size:10px;line-height:2;color:#33691e}
body:not(.ultra):not([data-game="3d"]) #portfolio-scene .portfolio-links :is(a,button){font-size:10px;line-height:1.8;border:3px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);box-shadow:3px 3px 0 var(--ink);text-transform:uppercase}
body:not(.ultra):not([data-game="3d"]) #portfolio-scene .portfolio-links :is(a,button):hover,body:not(.ultra):not([data-game="3d"]) #portfolio-shell button:hover{background:#ffd740;color:#16301a}
body:not(.ultra):not([data-game="3d"]) :is(.portfolio-meta,.portfolio-footer,.ui-eyebrow){font-size:8px;line-height:1.8;letter-spacing:0;color:#33691e}
body:not(.ultra):not([data-game="3d"]) #portfolio-scene .portfolio-footer button{font-size:8px;color:#33691e;line-height:1.8}
body:not(.ultra):not([data-game="3d"]) :is(#career-dialog,#garden-settings) h2{font-size:18px;letter-spacing:0;line-height:1.8;text-transform:uppercase}
body:not(.ultra):not([data-game="3d"]) :is(#career-close,#settings-close,.setting-row button){border:2px solid var(--ink);border-radius:0;background:#fff;box-shadow:2px 2px var(--ink)}
body:not(.ultra):not([data-game="3d"]) :is(.setting-row,.instructions p){font-size:10px;line-height:2}
body:not(.ultra):not([data-game="3d"]) .instructions h3{font-size:11px;line-height:1.8}
body:not(.ultra):not([data-game="3d"]) #career-dialog :is(.doc,li){font-size:10px;line-height:2;color:#33691e}
body:not(.ultra):not([data-game="3d"]) #career-dialog .v{font-size:14px;line-height:1.8;letter-spacing:0}
body:not(.ultra):not([data-game="3d"]) #career-dialog :is(.v2,.y,.k,.hint){font-size:9px;line-height:1.9;color:#33691e;letter-spacing:0}
body:not(.ultra):not([data-game="3d"]) #toast{background:var(--cream)!important;border:3px solid var(--ink)!important;border-radius:0!important;box-shadow:5px 5px var(--ink)!important}
body:not(.ultra):not([data-game="3d"]) #toast h2{font:400 18px/1.8 var(--ui-font)!important;letter-spacing:0!important;color:var(--ink)!important;text-transform:uppercase!important}
body:not(.ultra):not([data-game="3d"]) #toast p{font:400 10px/2 var(--ui-font)!important;color:#33691e!important}
@media(max-width:700px){body:not(.ultra):not([data-game="3d"]) #portfolio-shell .site-name{font-size:11px!important}body:not(.ultra):not([data-game="3d"]) #portfolio-shell .portfolio-entry{font-size:8px}body:not(.ultra):not([data-game="3d"]) #portfolio-scene h1{font-size:24px!important}body:not(.ultra):not([data-game="3d"]) #portfolio-scene .panel{padding:22px!important}body:not(.ultra):not([data-game="3d"]) #portfolio-shell .garden-toolbar button{font-size:9px;padding:10px}body:not(.ultra):not([data-game="3d"]) #portfolio-scene .portfolio-links{gap:10px}}

/* Shared control placement, with a native compact mode picker. */
#portfolio-shell .site-header{grid-template-columns:minmax(0,1fr) auto;gap:24px}
#portfolio-shell .site-name{width:max-content;max-width:100%}
#portfolio-shell .site-header .mode-switch{grid-row:1;grid-column:2;justify-self:end;width:max-content}
#portfolio-shell #mode-select{display:none;font:inherit;font-size:13px;min-height:44px;max-width:100%;padding:10px 30px 10px 13px;border:1px solid var(--ui-line);border-radius:100px;background:var(--ui-paper);color:var(--ui-ink);cursor:pointer;justify-self:end;grid-column:2;grid-row:1}
#portfolio-shell .compact-modes .mode-switch{position:absolute;visibility:hidden;pointer-events:none}
#portfolio-shell .compact-modes #mode-select{display:block}
#portfolio-shell #mode-select:focus-visible{outline:2px solid var(--ui-ink);outline-offset:4px}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell #mode-select{font-family:var(--ui-font);font-size:10px;border:3px solid var(--ui-ink);border-radius:0;box-shadow:4px 4px var(--ui-ink);text-transform:uppercase}
@media(max-width:700px){#portfolio-shell .site-header{gap:12px}#portfolio-scene{padding-top:105px}}

/* Intro cards share a viewport centre, not a top edge. */
body #toast,body[data-game="3d"] #intro{position:fixed;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(340px,calc(100vw - 40px));max-width:340px;max-height:calc(100dvh - 180px);overflow:auto;margin:0;text-align:center;animation:none!important;box-sizing:border-box}
body #toast{padding:24px!important}
body #toast .intro-help{margin:12px 0 0;font-size:11px!important}
body:not(.ultra):not([data-game="3d"]) #toast .intro-help{font-size:9px!important}
:is(body.ultra,body[data-game="3d"]) :is(#toast,#intro){background:rgba(9,14,11,.72)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--u-line-2)!important;border-radius:14px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 20px 50px rgba(0,0,0,.4)!important}
:is(body.ultra,body[data-game="3d"]) :is(#toast h2,#intro h1){font:600 1.12rem/1.4 var(--u-sans)!important;letter-spacing:-.015em!important;color:var(--u-accent)!important;margin:0 0 .6rem!important;text-shadow:none!important}
:is(body.ultra,body[data-game="3d"]) :is(#toast,#intro) p{font:400 .79rem/1.5 var(--u-sans)!important;color:var(--u-t2)!important;letter-spacing:0!important}
/* Completed cards use equal top and bottom clearance, too. */
body #portfolio-scene{padding:100px 16px!important;align-items:center}

/* Keep Safari's page viewport stationary; only open content panels scroll. */
html{height:100%;overflow:hidden;overscroll-behavior:none}
body,body.done{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;overflow:hidden!important;overscroll-behavior:none}
#portfolio-shell{position:fixed;inset:0;pointer-events:none;z-index:45}
#portfolio-shell .garden-toolbar,#portfolio-shell dialog{pointer-events:auto}
body #portfolio-scene{min-height:0;overflow:hidden;touch-action:none}
body.portfolio-open #portfolio-scene{overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}
#career-dialog,#garden-settings{touch-action:pan-y;overscroll-behavior:contain}
/* Native form controls below 16px trigger automatic focus zoom on iOS. */
#portfolio-shell #mode-select,body:not(.ultra):not([data-game="3d"]) #portfolio-shell #mode-select{font-size:16px}
@media(max-width:380px){body:not(.ultra):not([data-game="3d"]) #portfolio-shell .site-name{font-size:9px!important}body:not(.ultra):not([data-game="3d"]) #portfolio-shell .site-name span{font-size:6px}#portfolio-shell #mode-select{padding-right:20px;padding-left:8px}}

/* 3D introduction sits lightly over the garden. */

/* Size the visible picker to its selected label, retaining the native menu. */
#portfolio-shell .mode-picker{display:none;position:relative;grid-column:2;grid-row:1;justify-self:end;align-items:center;gap:8px;padding:12px 16px;min-height:44px;border:1px solid var(--ui-line);border-radius:100px;background:var(--ui-paper);color:var(--ui-ink);font:16px/1.2 var(--ui-font);white-space:nowrap}
#portfolio-shell .compact-modes .mode-picker{display:inline-flex}
#portfolio-shell .mode-picker svg{flex:none;display:block}
#portfolio-shell .mode-picker #mode-select{display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;max-width:none;margin:0;padding:0;border:0;opacity:0;font-size:16px;cursor:pointer}
#portfolio-shell .mode-picker:focus-within{outline:2px solid var(--ui-ink);outline-offset:4px}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .mode-picker{border:3px solid var(--ui-ink);border-radius:0;box-shadow:4px 4px var(--ui-ink);font-size:16px;text-transform:uppercase}

/* Ultra and 3D share the same presentation; only game instructions differ. */
body[data-game="3d"] #intro{padding:24px;pointer-events:none;text-shadow:none}
body[data-game="3d"] #intro h1{padding:0;background:none}
body[data-game="3d"] #intro p{margin:0}
body[data-game="3d"] #intro .intro-help,body[data-game="3d"] #intro .intro-prompt{margin:12px 0 0;font-size:11px!important}

/* Match mode controls to toolbar button sizing in each visual theme. */
#portfolio-shell .mode-picker,#portfolio-shell .mode-switch a{font-size:12px;line-height:1.5;min-height:42px;padding:12px 16px}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .mode-picker,body:not(.ultra):not([data-game="3d"]) #portfolio-shell .mode-switch a{font-size:10px;line-height:1.6;padding:10px 12px}
@media(max-width:700px){#portfolio-shell .mode-picker,#portfolio-shell .mode-switch a{padding:11px 14px}body:not(.ultra):not([data-game="3d"]) #portfolio-shell .mode-picker,body:not(.ultra):not([data-game="3d"]) #portfolio-shell .mode-switch a{font-size:9px;padding:10px}}

/* Progress and actions occupy separate bottom corners. */
#portfolio-shell .garden-progress{position:fixed;z-index:45;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;min-height:56px;padding:12px 18px;border:1px solid #ffffff29;border-radius:100px;background:#0b110deF;color:#b4beb6;font-size:14px;font-weight:600;line-height:1.5;white-space:nowrap}
#portfolio-shell .garden-progress strong{color:#ffd740;font-weight:inherit}
body:not(.ultra):not([data-game="3d"]) #portfolio-shell .garden-progress{border:3px solid #16301a;border-radius:0;background:#0b2115eF;color:#fffbe8;font-size:10px;text-transform:uppercase}
@media(max-width:700px){#portfolio-shell .garden-progress{left:max(12px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));padding:10px;font-size:12px}#portfolio-shell .garden-toolbar{right:max(12px,env(safe-area-inset-right))}body:not(.ultra):not([data-game="3d"]) #portfolio-shell .garden-progress{font-size:8px}}
@media(max-width:400px){#portfolio-shell .garden-progress{flex-direction:column;justify-content:center;align-items:flex-start;gap:0;padding:8px}}
