/* macOS workspace above the small, original TaskbarHero adventure. */
.tba-scene .tba-mac-desktop{background:#17272c;font-family:system-ui,-apple-system,sans-serif}
.tba-mac-desktop .tba-menubar{background:#171a20eb;border-bottom:1px solid #ffffff16;height:30px;color:#ebedf0;gap:17px;padding:0 18px;font-size:10px;backdrop-filter:none}
.tba-mac-desktop .tba-menubar strong{font-family:inherit;font-size:11px;color:#f0f2f5}
.tba-mac-apple{width:12px;height:14px;filter:invert(1)}
.tba-mac-workspace{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden}
.tba-mac-wallpaper{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 115%,#aa7455 0,transparent 55%),radial-gradient(ellipse at 0 0,#576b75,transparent 70%),linear-gradient(125deg,#1a343c,#293639 50%,#73513e);overflow:hidden}
.tba-mac-wallpaper>span{position:absolute;right:2.5%;top:7%;color:#e5e8e355;font-size:clamp(15px,2cqw,32px);letter-spacing:-.03em;font-weight:600;writing-mode:vertical-rl}
.tba-mac-desktop .tba-mac-window{position:absolute;display:flex;flex-direction:column;border:1px solid #73788188;border-radius:9px;background:#191b20;box-shadow:0 14px 32px -12px #000a;overflow:hidden;min-width:0;z-index:2;font-family:system-ui,-apple-system,sans-serif;color:#cdd0d6}
.tba-mac-desktop .tba-mac-window.tba-mac-front{z-index:5;border-color:#a0a3aa99;box-shadow:0 20px 40px -12px #000c}
.tba-mac-desktop .tba-mac-window>.tba-window-bar{height:29px;min-height:29px;padding:0 10px;background:linear-gradient(#34363d,#2a2c32);border-bottom:1px solid #111216;box-shadow:none;color:#bec1c8;font-family:inherit;font-size:9px}
.tba-mac-desktop .tba-window-title{font-weight:500}
.tba-mac-desktop .tba-traffic{gap:5px}
.tba-mac-desktop .tba-traffic i{height:8px;width:8px;border-radius:50%;box-shadow:none;background:#ff5f57;border:1px solid #df4943}
.tba-mac-desktop .tba-traffic i:nth-child(2){background:#ffbd2e;border-color:#e5a822}
.tba-mac-desktop .tba-traffic i:nth-child(3){background:#28c840;border-color:#20b236}
.tba-mac-desktop .tba-mac-finder{left:4%;top:5%;width:42%;height:53%;z-index:1}
.tba-mac-desktop .tba-mac-code{left:23%;top:12%;width:51%;height:65%;z-index:3}
.tba-mac-desktop .tba-mac-safari{right:4%;top:7%;width:34%;height:64%;z-index:2}
.tba-mac-desktop .tba-mac-terminal{left:8%;bottom:5%;width:46%;height:56%;z-index:4}
.tba-mac-desktop .tba-mac-code .tba-editor{flex:1;min-height:0;height:auto;background:#1e1f25}
.tba-mac-desktop .tba-file-tree{width:25%;font-family:'JetBrains Mono',monospace;font-size:8px;background:#191a20;color:#939ba6;line-height:2.35;padding:12px 8px}
.tba-mac-desktop .tba-file-tree>span.tba-file-active{background:#29313d;color:#d3dce8;border-left:0}
.tba-mac-desktop .tba-code{font-size:8px;min-width:0;overflow:hidden;background:#202127}
.tba-mac-desktop .tba-code-file{font-size:8px;background:#25262d;color:#d0d4dc;padding:7px 11px;border-bottom:1px solid #ffffff09}
.tba-mac-desktop .tba-code-lines{padding:12px 0}
.tba-mac-desktop .tba-code-lines p{line-height:2.05;white-space:pre}
.tba-mac-desktop .tba-code-lines em{font-size:7px;width:20px;margin-right:8px}
.tba-code-status{height:18px;flex:none;background:#245477;color:#dce6ed;display:flex;gap:14px;justify-content:flex-end;align-items:center;padding:0 9px;font-size:6px}
.tba-code-status>span:first-child{margin-right:auto}
.tba-finder-body{display:flex;flex:1;min-height:0;font-size:8px}
.tba-finder-body aside{width:31%;background:#24262cdf;padding:12px 9px;display:flex;flex-direction:column;gap:9px;color:#c9ccd2}
.tba-finder-body aside strong{color:#838a95;font-size:7px}
.tba-finder-body>div{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:17px 14px;padding:18px 20px;flex:1;background:#24272e}
.tba-finder-body>div>span{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:7px}
.tba-finder-body>div img{width:30px;height:30px;filter:invert(70%) sepia(40%) saturate(900%) hue-rotate(160deg)}
.tba-safari-toolbar{display:flex;align-items:center;gap:12px;background:#282b31;padding:7px 10px;font-size:16px;color:#a4a9b3}
.tba-safari-address{flex:1;min-width:0;text-align:center;background:#1b1e23;padding:5px 6px;border-radius:4px;font-size:7px}
.tba-safari-toolbar img{width:10px;height:10px;filter:invert(.65)}
.tba-safari-page{background:#f1eee7;color:#303c36;flex:1;min-height:0;padding:20px 25px;overflow:hidden}
.tba-safari-mark{font-size:8px;font-weight:700;color:#536455}
.tba-safari-page h3{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(16px,2.8cqw,39px);line-height:.98;letter-spacing:-.04em;margin:18px 0 12px}
.tba-safari-page p{font-size:8px;color:#657268;margin:0 0 12px}
.tba-safari-progress{display:block;background:#d7ddd2;height:4px;width:80%;overflow:hidden}
.tba-safari-progress i{display:block;width:68%;height:100%;background:#718b71}
.tba-safari-page small{display:block;font-size:6px;color:#7d877d;margin-top:14px}
.tba-mac-desktop .tba-mac-terminal .tba-work-tabs{height:25px;flex:none;background:#25272c;border-bottom:1px solid #3c3f46;gap:14px;font-size:8px;padding:0 12px}
.tba-mac-desktop .tba-mac-terminal .tba-work-tab-content{background:#14161b}
.tba-mac-desktop .tba-mac-terminal .tba-terminal-output{background:#14161b;font-size:8px;line-height:1.75;padding:10px 13px}
.tba-mac-desktop .tba-mac-terminal .tba-mobile-approval{font-size:7px;min-height:30px;padding:4px 9px;gap:5px}
.tba-mac-desktop .tba-mac-terminal .tba-mobile-approval button{font-size:9px;min-height:23px;padding:3px 7px}
.tba-mac-desktop .tba-mac-terminal .tba-mission-form{padding:3px 7px 3px 10px;min-height:28px;background:#202228}
.tba-mac-desktop .tba-mac-terminal .tba-mission-form input{font-size:8px;min-height:20px}
.tba-mac-desktop .tba-mac-terminal .tba-mission-form button{height:22px;width:24px;font-size:12px}
.tba-desktop-apps{position:absolute;right:4%;bottom:5%;display:flex;gap:12px;z-index:6}
.tba-desktop-apps>button{display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none;padding:3px;color:#e9edf0;font-size:6px;max-width:64px;text-shadow:0 1px 2px #0008}
.tba-desktop-apps>button[aria-pressed=true] .tba-mac-app-icon{outline:1px solid #fff7;outline-offset:3px}
.tba-mac-app-icon{display:grid;place-items:center;height:31px;width:31px;border-radius:8px;background:#3c4b66;box-shadow:0 3px 7px #0004}
.tba-mac-app-icon img{height:21px;width:21px;filter:invert(1)}
.tba-mac-icon-finder{background:linear-gradient(90deg,#1d9be1 50%,#b5e6fa 50%)}
.tba-mac-icon-code{background:#1479b9}.tba-mac-icon-terminal{background:#25282d;border:1px solid #c6c9cd}.tba-mac-icon-safari{background:#3b99d4}
.tba-scene .tba-mac-desktop .tba-desktop-adventure{height:21%;min-height:125px;max-height:160px;margin:0;padding:0;flex:none}
.tba-mac-dock{height:48px;flex:none;position:relative;background:#161b1f;border-top:1px solid #ffffff15}
.tba-mac-desktop .tba-mac-dock .tba-dock{bottom:4px;height:39px;background:#41444a94;border:1px solid #8a8c9555;border-radius:10px;box-shadow:0 3px 8px #0004;backdrop-filter:none;padding:4px 8px}
.tba-mac-desktop .tba-mac-dock .tba-dock-app{height:28px;width:28px}
.tba-mac-desktop .tba-mac-dock .tba-dock-app img{height:25px;width:25px}
.tba-game-hero-popover{position:absolute;right:2%;bottom:2%;width:250px;max-width:90%;z-index:12;filter:drop-shadow(0 14px 18px #0009)}
.tba-game-hero-popover .tba-original-control{width:100%}
.tba-close-hero{position:absolute;right:4.5%;top:8%;width:8%;aspect-ratio:1;border:0;background:#4c110d;z-index:10;display:grid;place-items:center;padding:1px}
.tba-close-hero img{width:100%;height:100%;filter:invert(1)}

/* Only the small game strip moves. Camera stops while the party fights. */
.tba-animated-world{--tba-game-scale:2;container-type:inline-size}
.tba-original-world-track{position:absolute;inset:0 auto 0 0;width:200%;display:flex;animation:tba-world-travel 22s linear infinite;animation-play-state:paused}
.tba-original-world-track>.tba-original-world-plane{position:relative;inset:auto;flex:0 0 50%;width:50%;height:100%}
.tba-animated-world[data-phase=march][data-motion-active=true] .tba-original-world-track,.tba-animated-world[data-phase=engage][data-motion-active=true] .tba-original-world-track{animation-play-state:running}
.tba-animated-world .tba-actors{inset:0 6% 10%;pointer-events:none}
.tba-animated-world .tba-actor .tba-source-sprite,.tba-animated-world .tba-enemy .tba-source-sprite{--tba-sprite-scale:var(--tba-game-scale)}
.tba-animated-world .tba-actor .tba-source-sprite{transform:scaleX(-1)}
.tba-agent-skills{position:absolute;z-index:3;left:50%;bottom:calc(22px * var(--tba-game-scale));display:flex;align-items:center;gap:2px;transform:translateX(-50%);pointer-events:none}
.tba-agent-skill{position:relative;display:block;width:9px;height:9px;overflow:hidden;background:#626665;box-shadow:inset 0 0 0 1px #272a29}
.tba-skill-charge{position:absolute;inset:1px;background:#efc23a;transform-origin:center bottom;transform:scaleY(1)}
.tba-animated-world[data-phase=attack] .tba-skill-charge{animation:tba-skill-recharge var(--tba-cooldown-duration) linear infinite}
.tba-agent-provider{position:relative;display:block;flex:none;width:11px;height:11px;object-fit:contain;filter:none;border-radius:2px;pointer-events:none}
.tba-animated-world .tba-actor{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.tba-animated-world[data-phase=engage] .tba-actor-2,.tba-animated-world[data-phase=attack] .tba-actor-2,.tba-animated-world[data-phase=defeat] .tba-actor-2{transform:translateX(10cqw)}
.tba-animated-world .tba-enemy{right:13%;opacity:1;transition:opacity .25s,transform .55s linear}
.tba-animated-world[data-phase=march] .tba-enemy{opacity:0;transform:translateX(35cqw)}
.tba-animated-world[data-phase=defeat] .tba-enemy{opacity:0;transform:translate(12px,7px) rotate(14deg)}
.tba-animated-world[data-phase=reward] .tba-enemy{opacity:0}
.tba-animated-world .tba-enemy-health i{width:100%;transform-origin:left center}
.tba-animated-world[data-phase=attack] .tba-enemy-health i{animation:tba-enemy-damage 3s steps(4,end) forwards}
.tba-animated-world[data-phase=defeat] .tba-enemy-health i{transform:scaleX(0)}
.tba-animated-world .tba-world-rewards{margin-right:70px}
.tba-game-controls{position:absolute;z-index:4;right:9px;top:8px;display:flex;gap:5px}
.tba-game-controls button{display:grid;place-items:center;width:27px;height:27px;background:#211b15;border:1px solid #94713a;border-radius:2px;padding:3px}
.tba-game-controls button>img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.tba-game-controls button:last-child>img{filter:invert(.8)}
.tba-game-controls button:disabled{opacity:.4;cursor:default}
.tba-animated-world .tba-combat-effects{position:absolute;inset:0;--tba-effect-scale:var(--tba-game-scale)}
.tba-projectile{position:absolute;bottom:calc(18px * var(--tba-game-scale));left:20%;height:1px;width:1px;animation:tba-projectile-flight .75s linear infinite}
.tba-projectile-arrow{left:37%;animation-name:tba-arrow-flight;animation-delay:-.35s;bottom:calc(16px * var(--tba-game-scale))}
.tba-projectile>.tba-combat-effect{transform:scaleX(-1)}
.tba-combat-impact{position:absolute;left:78%;bottom:calc(15px * var(--tba-game-scale));animation:tba-impact-pulse .75s steps(1,end) infinite}
.tba-combat-impact .tba-combat-frame{animation-iteration-count:infinite!important}
.tba-damage{position:absolute;left:78%;bottom:calc(23px * var(--tba-game-scale));font-family:'Pixelify Sans',monospace;font-size:19px;color:#ffe6a1;text-shadow:1px 2px #541510;animation:tba-damage-rise .75s ease-out infinite}
.tba-damage-second{left:80%;animation-delay:-.35s;font-size:15px;color:#efae57}
.tba-animated-world .tba-xp-pop{bottom:50%;left:72%;animation:tba-loot-rise .95s ease-out both}
.tba-animated-world[data-motion-active=false] *{animation-play-state:paused!important}
@keyframes tba-world-travel{to{transform:translateX(-50%)}}
@keyframes tba-skill-recharge{0%{transform:scaleY(0);background:#a0a4a2}80%{transform:scaleY(1);background:#a0a4a2}81%,100%{transform:scaleY(1);background:#efc23a}}
@keyframes tba-enemy-damage{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes tba-projectile-flight{0%,15%{transform:translateX(0);opacity:0}18%{opacity:1}75%{transform:translateX(54cqw);opacity:1}76%,100%{transform:translateX(54cqw);opacity:0}}
@keyframes tba-arrow-flight{0%,12%{transform:translateX(0);opacity:0}15%{opacity:1}65%{transform:translateX(37cqw);opacity:1}66%,100%{transform:translateX(37cqw);opacity:0}}
@keyframes tba-impact-pulse{0%,65%{opacity:0}66%,85%{opacity:1}86%,100%{opacity:0}}
@keyframes tba-damage-rise{0%,60%{opacity:0;transform:translateY(0)}65%{opacity:1}100%{opacity:0;transform:translateY(-24px)}}
@keyframes tba-loot-rise{from{opacity:0;transform:translateY(8px)}20%,75%{opacity:1}to{opacity:0;transform:translateY(-14px)}}
@container(max-width:650px){
  .tba-mac-desktop .tba-menubar{height:24px;padding:0 10px;gap:9px}
  .tba-mac-desktop .tba-menubar strong{font-size:8px}
  .tba-mac-desktop .tba-preview-badge{font-size:5px}
  .tba-mac-desktop .tba-mac-window>.tba-window-bar{height:23px;min-height:23px;font-size:7px;padding:0 7px}
  .tba-mac-desktop .tba-traffic i{height:6px;width:6px}
  .tba-mac-desktop .tba-mac-code{left:19%;top:18%;width:66%;height:60%}
  .tba-mac-desktop .tba-mac-finder{left:4%;top:5%;width:52%;height:49%}
  .tba-mac-desktop .tba-mac-safari{right:3%;top:10%;width:41%;height:58%}
  .tba-mac-desktop .tba-mac-terminal{left:4%;bottom:4%;width:67%;height:54%}
  .tba-finder-body{font-size:6px}.tba-finder-body aside{padding:7px 5px;gap:6px}
  .tba-finder-body>div{padding:9px;gap:9px}.tba-finder-body>div img{width:22px;height:22px}
  .tba-safari-page{padding:12px}.tba-safari-page h3{margin:11px 0;font-size:22px}
  .tba-safari-toolbar{padding:5px;gap:5px}
  .tba-desktop-apps{right:3%;bottom:5%;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
  .tba-desktop-apps>button{font-size:5px;gap:3px;max-width:43px}
  .tba-mac-app-icon{width:25px;height:25px;border-radius:6px}.tba-mac-app-icon img{width:17px;height:17px}
  .tba-animated-world{--tba-game-scale:1}
  .tba-animated-world .tba-actor-tag{font-size:5px;padding:2px 3px}
  .tba-animated-world .tba-world-rewards{margin-right:54px;font-size:10px}
  .tba-game-controls{gap:4px;right:6px;top:6px}.tba-game-controls button{height:23px;width:23px}
  .tba-game-hero-popover{width:220px;max-height:100%;right:3%;bottom:0}
  .tba-damage{font-size:13px}.tba-damage-second{font-size:11px}
}
@container(max-width:420px){
  .tba-mac-desktop .tba-mac-code{left:17%;top:21%;width:78%;height:55%}
  .tba-mac-desktop .tba-mac-terminal{left:3%;bottom:4%;width:77%;height:57%}
  .tba-mac-desktop .tba-mac-finder{width:65%;height:47%}
  .tba-mac-desktop .tba-mac-safari{width:52%;height:51%;top:8%}
  .tba-mac-desktop .tba-file-tree{display:none}
  .tba-mac-desktop .tba-code{font-size:6px}
  .tba-mac-desktop .tba-code-lines p{line-height:1.9}
  .tba-mac-desktop .tba-mac-terminal .tba-terminal-output{font-size:7px;padding:7px 9px}
  .tba-mac-desktop .tba-mac-terminal .tba-mission-form input{font-size:7px}
  .tba-mac-desktop .tba-mac-terminal .tba-mobile-approval{font-size:6px;padding:3px 6px}
  .tba-mac-desktop .tba-mac-terminal .tba-mobile-approval button{font-size:8px}
  .tba-desktop-apps{right:2%;bottom:7%;grid-template-columns:1fr;gap:8px}
  .tba-desktop-apps>button>span:last-child{display:none}
  .tba-scene .tba-mac-desktop .tba-desktop-adventure{height:125px;min-height:125px}
  .tba-mac-desktop .tba-place{font-size:10px}
  .tba-mac-desktop .tba-journey-track{display:none}
}
@media(max-width:639px){.tba-hero-showcase:has(.tba-mac-desktop){height:600px;min-height:600px;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){
  .tba-animated-world *{animation:none!important;transition:none!important}
  .tba-animated-world .tba-projectile,.tba-animated-world .tba-combat-impact,.tba-animated-world .tba-damage{display:none}
}
