/* Homepage refinements; the established layout and palette stay in style.css. */
/* Exact layout keeps responsive anchor navigation stable; video remains lazy. */
.home-polish .section { content-visibility:visible; contain-intrinsic-size:none; }
.home-polish .billing-toggle { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr 2fr; width:360px; max-width:100%; }
.home-polish .bt-opt { position:relative; z-index:1; justify-content:center; padding:10px 12px; min-width:0; }
.home-polish .billing-toggle[data-enhanced]::before { content:''; position:absolute; z-index:0; top:4px; bottom:4px; left:0; width:var(--period-width); transform:translateX(var(--period-x)); border-radius:var(--r-plate-sm); background:var(--surface-2); box-shadow:inset 0 1px 0 var(--hi),0 2px 8px #0003; transition:transform .28s var(--ease),width .28s var(--ease); }
.home-polish .billing-toggle[data-enhanced] .bt-opt.active { background:transparent; box-shadow:none; }
.home-polish .save-pill { font-size:9px; white-space:nowrap; }
.home-polish .plan { transition:border-color .25s,box-shadow .25s; }
.home-polish .plan:hover,.home-polish .plan:focus-within { border-color:var(--accent-line); box-shadow:inset 0 1px 0 var(--hi),0 24px 55px -35px #5b84f555; }
.home-polish .plan-name { padding-bottom:16px; border-bottom:1px solid var(--line); }
.home-polish .plan-subprice { line-height:1.6; min-height:19px; }
.home-polish .plan-flag { white-space:nowrap; }
.home-polish .plan-list { gap:12px; }
.home-polish .card,.home-polish .plan { --light-opacity:0; }
.home-polish .card { position:relative; }
.home-polish .card::before,.home-polish .plan::before { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:radial-gradient(260px circle at var(--light-x,50%) var(--light-y,0%),#86a6ff14,transparent 75%); opacity:var(--light-opacity); transition:opacity .3s; }
.home-polish .card:focus-within { border-color:var(--accent-line); }
.home-polish .faq { overflow-anchor:none; }
.home-polish .faq details { overflow:hidden; transition:border-color .2s; }
.home-polish .faq details[open],.home-polish .faq details:focus-within { border-color:var(--accent-line); }
.home-polish .faq summary { align-items:center; }
.home-polish .faq summary::after { flex:none; }
.home-polish .faq-answer { display:flow-root; }
.home-polish [data-reveal] { transition:opacity .6s ease,translate .6s cubic-bezier(.2,.65,.3,1); transition-delay:var(--reveal-delay,0ms); }
.home-polish .reveal-pending { opacity:0; translate:0 16px; }
@media (prefers-reduced-motion:no-preference) {
  .home-polish .btn-primary { position:relative; overflow:hidden; }
  .home-polish .btn-primary::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 25%,#ffffff24 50%,transparent 75%); transform:translateX(-140%); }
  .home-polish .btn-primary:hover::after,.home-polish .btn-primary:focus-visible::after { animation:button-sheen .65s ease; }
  @keyframes button-sheen { to { transform:translateX(140%); } }
}
@media (max-width:480px) {
  .home-polish .bt-opt { font-size:12px; padding:10px 8px; gap:6px; }
  .home-polish .save-pill { font-size:8px; padding:2px 5px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-polish .reveal-pending { opacity:1; translate:none; }
  .home-polish [data-reveal],.home-polish .billing-toggle[data-enhanced]::before,.home-polish .card,.home-polish .plan,.home-polish .faq details,.home-polish .faq summary::after { transition:none; }
  .home-polish .card::before,.home-polish .plan::before { display:none; }
}
@media (forced-colors:active) {
  .home-polish .billing-toggle[data-enhanced]::before { display:none; }
  .home-polish .bt-opt.active { outline:2px solid Highlight; outline-offset:-2px; }
  .home-polish .card::before,.home-polish .plan::before { display:none; }
}

/* Subscription deck: a product-shaped composition, with two compact upgrade lanes. */
.home-polish .demo-controls { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:16px; }
.home-polish .demo-controls button { border:1px solid var(--line); border-radius:8px; padding:9px 14px; color:var(--text); background:#121722; font:inherit; font-size:13px; cursor:pointer; }
.home-polish .demo-controls button:hover,.home-polish .demo-controls button[aria-pressed="true"] { border-color:var(--accent-2); }
.home-polish .demo-controls button:focus-visible { outline:2px solid var(--accent-2); outline-offset:3px; }
.home-polish .pricing-deck { content-visibility:visible; }
.home-polish .pricing-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; max-width:none; }
.home-polish .pricing-heading .billing-toggle { flex:none; margin-bottom:5px; }
.home-polish .license-deck { display:block; max-width:none; }
.home-polish .license-pro { padding:0; background:radial-gradient(ellipse at 78% 10%,#5b84f511,transparent 58%),linear-gradient(180deg,#111620,#0b0e15); border-color:#5b84f566; box-shadow:inset 0 1px #86a6ff24,0 25px 60px -45px #5b84f56b; }
.home-polish .license-pro::after { content:''; position:absolute; top:-1px; left:18%; width:32%; height:1px; pointer-events:none; background:linear-gradient(90deg,transparent,#b8caff,transparent); opacity:0; }
.home-polish .license-topline { display:flex; justify-content:space-between; gap:12px; padding:17px 34px; border-bottom:1px solid #86a6ff1c; font:10px var(--font-mono); letter-spacing:.1em; color:var(--dim); }
.home-polish .license-brand { color:var(--accent-2); }
.home-polish .license-main { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:45px; padding:34px 34px 26px; align-items:center; }
.home-polish .license-pro .plan-name { padding:0; border:0; font-size:32px; letter-spacing:-.035em; line-height:1.16; }
.home-polish .license-pro .plan-price { margin-top:20px; }
.home-polish .license-pro .amount { font-size:58px; letter-spacing:-.035em; line-height:1.1; }
.home-polish .license-pro .plan-blurb { max-width:330px; margin:16px 0 22px; }
.home-polish .license-pro .buy { min-width:190px; }
.home-polish .license-capacity { min-width:0; text-align:center; padding-top:6px; }
.home-polish .deck-model { position:relative; height:216px; width:min(100%,520px); margin:auto; isolation:isolate; }
.home-polish .deck-base { position:absolute; z-index:-1; left:5%; top:108px; width:90%; height:108px; border:1px solid #86a6ff35; border-radius:18px 6px 18px 6px; background:radial-gradient(ellipse,#5b84f516,transparent 80%),repeating-linear-gradient(90deg,transparent 0 49px,#86a6ff0d 50px 51px),linear-gradient(180deg,#141c2a,#0c1018); box-shadow:0 6px 0 -1px #111722,0 7px 0 #86a6ff24,0 24px 40px -18px #000; transform:perspective(600px) rotateX(55deg); display:grid; grid-template-columns:repeat(6,1fr); align-items:center; justify-items:center; }
.home-polish .deck-stud { width:24px; height:24px; border:1px solid #86a6ff26; border-radius:50%; box-shadow:inset 0 2px 0 #86a6ff16,0 4px 0 -1px #101522,0 5px 0 #86a6ff16; }
.home-polish .agent-module { position:absolute; width:17%; height:126px; padding:0 10px; text-align:left; border:1px solid #758cbf57; border-radius:9px 3px 9px 3px; background:linear-gradient(155deg,#202a3d,#101722 70%); box-shadow:inset 0 1px #b8caff26,0 6px 0 -2px #0b101b,0 7px 0 -1px #5b84f526,0 15px 30px -15px #000; transform:rotate(var(--module-angle)); }
.home-polish .agent-module:nth-child(2) { left:4%; top:44px; --module-angle:-8deg; --module-delay:0ms; }
.home-polish .agent-module:nth-child(3) { left:22%; top:25px; --module-angle:-4deg; --module-delay:65ms; }
.home-polish .agent-module:nth-child(4) { left:40%; top:12px; --module-angle:0deg; --module-delay:130ms; border-color:#86a6ffb0; background:linear-gradient(155deg,#2e4370,#14213b 70%); }
.home-polish .agent-module:nth-child(5) { left:58%; top:25px; --module-angle:4deg; --module-delay:195ms; }
.home-polish .agent-module:nth-child(6) { left:76%; top:44px; --module-angle:8deg; --module-delay:260ms; }
.home-polish .module-head { height:30px; display:flex; gap:8px; align-items:center; border-bottom:1px solid #86a6ff24; color:#b7c7e9; font:9px var(--font-mono); }
.home-polish .module-head>i { width:5px; height:5px; border-radius:50%; background:var(--accent-2); }
.home-polish .module-lines { display:grid; gap:9px; padding-top:20px; }
.home-polish .module-lines>i { display:block; height:3px; width:85%; background:#86a6ff40; border-radius:2px; }
.home-polish .module-lines>i:nth-child(2) { width:58%; background:#86a6ff70; }
.home-polish .module-lines>i:nth-child(3) { width:72%; }
.home-polish .module-foot { display:block; height:12px; border-top:1px solid #86a6ff24; margin-top:20px; }
.home-polish .capacity-caption { color:var(--dim); font-size:14px; margin:0; }
.home-polish .capacity-caption strong { color:var(--text); }
.home-polish .license-features { margin:0 34px; padding:25px 0 28px; border-top:1px solid #86a6ff1c; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 32px; }
.home-polish .license-features li { font-size:13px; padding-left:19px; }
.home-polish .license-alternatives { display:grid; gap:12px; margin-top:18px; }
.home-polish .license-lane { padding:24px 30px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto; gap:12px 28px; align-items:center; border-radius:var(--r-plate); background:linear-gradient(180deg,#0e1118,#0b0d12); box-shadow:inset 0 1px #ffffff05; }
.home-polish .license-lane .plan-name { display:inline; padding:0; border:0; font-size:20px; }
.home-polish .lane-studs { display:inline-grid; grid-template-columns:repeat(5,4px); gap:3px; margin-right:12px; vertical-align:middle; }
.home-polish .lane-studs>i { width:4px; height:4px; background:var(--accent-2); border-radius:50%; }
.home-polish .lane-studs-free { display:inline-flex; }
.home-polish .lane-title .plan-blurb { font-size:13px; margin:7px 0 0; }
.home-polish .lane-price .plan-price { margin:0; }
.home-polish .lane-price .amount { font-size:32px; }
.home-polish .license-lane .plan-list { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); padding-top:17px; margin:8px 0 0; gap:9px 22px; }
.home-polish .license-lane .plan-list li { font-size:12.5px; padding-left:17px; color:var(--dim); }
.home-polish .license-lane .plan-list li strong { font-weight:500; color:var(--text); }
@media (prefers-reduced-motion:no-preference) {
  .home-polish .license-pro.deck-arrived .agent-module { animation:module-seat .8s cubic-bezier(.2,.65,.3,1) var(--module-delay) both; }
  .home-polish .license-pro.deck-arrived::after { animation:license-glint 2.5s ease .3s both; }
  @keyframes module-seat { from { opacity:0; translate:0 18px; } to { opacity:1; translate:0 0; } }
  @keyframes license-glint { 0% { opacity:0; translate:-30% 0; } 35% { opacity:.8; } 100% { opacity:0; translate:130% 0; } }
}
@media(max-width:1000px) { .home-polish .pricing-heading { display:block; } .home-polish .license-main { gap:24px; } }
@media(max-width:700px) {
  .home-polish .license-topline { padding:15px 23px; font-size:9px; }
  .home-polish .license-main { grid-template-columns:1fr; padding:27px 23px 22px; gap:22px; }
  .home-polish .license-pro .plan-name { font-size:30px; }
  .home-polish .license-pro .amount { font-size:52px; }
  .home-polish .license-pro .plan-blurb { max-width:none; }
  .home-polish .license-pro .buy { width:100%; }
  .home-polish .deck-model { max-width:430px; height:196px; }
  .home-polish .agent-module { height:110px; padding:0 7px; }
  .home-polish .module-head { gap:5px; font-size:8px; }
  .home-polish .module-lines { gap:7px; padding-top:16px; }
  .home-polish .module-foot { margin-top:15px; }
  .home-polish .license-features { margin:0 23px; gap:13px 18px; }
  .home-polish .license-features li { font-size:12px; padding-left:15px; }
  .home-polish .license-lane { padding:22px; grid-template-columns:1fr auto; gap:15px 12px; }
  .home-polish .lane-title { grid-column:1/-1; }
  .home-polish .license-lane .btn { padding:11px 12px; font-size:12px; }
  .home-polish .lane-price .amount { font-size:28px; }
  .home-polish .lane-price .plan-subprice { font-size:10px; }
  .home-polish .license-lane .plan-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media(max-width:390px) { .home-polish .license-lane { grid-template-columns:1fr; } .home-polish .license-lane .btn { width:100%; } .home-polish .license-lane .plan-list { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .home-polish .agent-module,.home-polish .license-pro::after { animation:none; } }
@media(forced-colors:active) { .home-polish .agent-module,.home-polish .deck-base { border:1px solid CanvasText; } .home-polish .module-lines>i,.home-polish .lane-studs>i { background:CanvasText; } }
/* A game-specific cutaway, drawn for Baseplate. No component-library hero. */
.update-world{--world-mint:#52ddb7;align-self:center;position:relative;isolation:isolate}
.uw-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 3px 15px;border-bottom:1px solid #7287b72b}.uw-index{font:10px var(--mono);letter-spacing:.1em;color:#99adcf}.uw-kind{font-size:10px;color:var(--faint)}
.uw-stage{position:relative;min-height:300px;padding-top:22px}.uw-label{display:flex;align-items:center;gap:9px;font-size:13px;margin-left:3px}.uw-label b{font-weight:550}.uw-dot{width:6px;height:6px;border-radius:50%;background:#91acff}.uw-scene{margin:6px -18px -18px;overflow:hidden}.uw-scene svg{width:100%;height:auto;display:block}.course-player-before{opacity:0}.course-player-after{opacity:1}.course-return{opacity:1}.uw-scene .checkpoint-beacon{transition:opacity .35s}.uw-outcome{display:flex;gap:12px;align-items:center;border-left:2px solid var(--world-mint);padding:8px 0 8px 14px;margin:0 4px 25px}.uw-outcome-icon{font-size:27px;color:var(--world-mint)}.uw-outcome b{display:block;font-size:17px;font-weight:550;letter-spacing:-.02em}.uw-outcome small{display:block;font-size:12px;color:var(--dim);margin-top:5px;line-height:1.5}.uw-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #7287b72b;padding-top:15px}.uw-switch{display:flex;gap:3px;background:#101722;padding:3px;border:1px solid #7287b726;border-radius:8px}.uw-switch button{background:none;border:0;padding:8px 11px;color:var(--dim);font-size:11px;border-radius:5px;cursor:pointer}.uw-switch button[aria-pressed=true]{background:#253750;color:#dce9ff;box-shadow:0 1px 4px #0003}.uw-watch{color:#bccbff;font-size:12px;white-space:nowrap}.uw-note{font-size:10px;color:var(--faint);margin:12px 0 0}
.update-world[data-state=before] .checkpoint-beacon,.update-world[data-state=before] .course-player-after,.update-world[data-state=before] .course-return{opacity:0}.update-world[data-state=before] .course-player-before{opacity:1}.update-world[data-state=before] .uw-outcome{border-color:#e5b48b}.update-world[data-state=before] .uw-outcome-icon{color:#e5b48b}
@media(prefers-reduced-motion:no-preference){.update-world[data-state=after] .course-player-after{animation:checkpoint-respawn .75s cubic-bezier(.2,.65,.3,1) both}.update-world[data-state=after] .course-return{animation:checkpoint-route .7s ease-out both}@keyframes checkpoint-respawn{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes checkpoint-route{from{opacity:0;stroke-dashoffset:35}to{opacity:1;stroke-dashoffset:0}}}
@media(max-width:980px){.update-world{width:min(580px,100%);margin:auto}.uw-stage{min-height:0}}@media(max-width:480px){.uw-kind{display:none}.uw-scene{margin:5px -12px -15px}.uw-outcome b{font-size:16px}.uw-outcome small{font-size:11px}.uw-switch button{padding:8px;font-size:10px}}
