/* The home journey has its own composition; the reference reader keeps its layout. */
.is-home .site-layout { display:block; max-width:1280px; }
.is-home .sidebar,.is-home .mobile-topics { display:none; }
.is-home .main-content { max-width:1180px; padding:34px 48px 0; margin:auto; }
.home-nav { display:flex; align-items:center; gap:23px; margin-left:auto; }
.home-nav a,.home-nav button { display:inline-flex; align-items:center; min-height:44px; border:0; padding:7px 0; background:none; color:#51207c; font-size:12px; font-weight:700; text-decoration:none; }
.home-nav a:hover,.home-nav button:hover { text-decoration:underline; text-underline-offset:5px; }
.home-primary,.home-text-button { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:46px; padding:11px 17px; border:1px solid #60238e; border-radius:3px; font-size:13px; font-weight:700; line-height:1.5; text-decoration:none; text-align:center; cursor:pointer; }
.home-primary { color:#fff; background:#682699; box-shadow:4px 4px 0 #ff77d0; }
.home-primary:hover { color:#fff; background:#4d1b75; }
.home-text-button { color:#51207c; background:transparent; border-color:transparent; box-shadow:none; text-decoration:underline; text-underline-offset:5px; }
.home-text-button:hover { color:#35134f; background:#ffffff55; }
.home-inline-button { display:inline-flex; align-items:center; max-width:100%; min-height:44px; padding:7px 0; color:#51207c; border:0; background:none; font:inherit; font-weight:700; text-align:left; text-decoration:underline; text-underline-offset:4px; }
.home-primary:focus-visible,.home-text-button:focus-visible { outline:3px solid #51207c; outline-offset:5px; }
.home-hero-actions,.mission-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.is-home .home-hero { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:44px; min-height:490px; padding:12px 0 35px; }
.is-home .home-hero .home-hero-copy { z-index:2; min-width:0; }
.is-home .home-hero .intro-eyebrow { max-width:none; font-size:10px; letter-spacing:1.1px; line-height:1.8; margin-bottom:19px; }
.is-home .home-hero h1 { max-width:none; color:#572275; font:italic clamp(46px,5.7vw,70px)/1.03 var(--display); letter-spacing:-2.3px; margin:0 0 23px; text-shadow:3px 3px #ff82d9,-1px -1px #fff; text-transform:uppercase; }
.home-hero h1 em { display:block; color:#7131a8; font-size:.66em; line-height:1.25; letter-spacing:-1.1px; margin-top:7px; }
.is-home .home-hero .intro-description { font-size:15px; line-height:1.8; max-width:510px; margin:0 0 25px; color:#4e365e; }
.home-hero-visual { position:relative; isolation:isolate; align-self:center; min-height:414px; width:100%; border:2px solid #7131a8; border-radius:46% 5% 28% 5%; background:#4c1b71; box-shadow:10px 10px 0 #ff8bd8,17px 17px 0 #98f5e8; }
.hero-orbit { position:absolute; z-index:-1; width:80%; aspect-ratio:1; top:6%; left:10%; border-radius:50%; background:linear-gradient(#fff098,#ff9c71 32%,#ff68c8 66%,#c893fc); -webkit-mask:repeating-linear-gradient(#000 0 23px,transparent 23px 28px); mask:repeating-linear-gradient(#000 0 23px,transparent 23px 28px); }
.hero-floor { position:absolute; bottom:0; left:0; right:0; height:140px; border-radius:0 0 27% 4%; overflow:hidden; background:repeating-linear-gradient(90deg,transparent 0 37px,#9cebe055 38px 39px),repeating-linear-gradient(0deg,transparent 0 23px,#9cebe055 24px 25px); transform:perspective(180px) rotateX(25deg); transform-origin:center bottom; }
.home-bro { position:absolute; z-index:2; bottom:-3px; left:-1%; width:101%; height:98%; object-fit:contain; object-position:center bottom; filter:drop-shadow(5px 5px 0 #7cebd944); }
.home-speech { position:absolute; z-index:3; top:20px; left:-26px; max-width:210px; margin:0; padding:14px 16px; border:2px solid #7131a8; border-radius:7px 7px 7px 0; color:#51207c; background:#fff9da; box-shadow:4px 4px 0 #ffa2df; font:700 12px/1.6 var(--mono); transform:rotate(-4deg); }
.home-speech::after { content:""; position:absolute; left:18px; bottom:-9px; width:13px; height:13px; border-right:2px solid #7131a8; border-bottom:2px solid #7131a8; background:#fff9da; transform:skewY(27deg); }
.hero-sticker { position:absolute; right:-12px; bottom:20px; z-index:3; max-width:178px; padding:9px 13px; border:2px solid #60238e; color:#35134f; background:#9dfff1; font:700 10px/1.7 var(--mono); letter-spacing:.3px; transform:rotate(5deg); box-shadow:3px 3px 0 #ff85d1; }
.is-library .home-hero { display:block; min-height:0; padding:0 0 20px; }
.is-library .home-hero h1 { max-width:none; font-size:30px; line-height:1.15; margin:0; }
.is-library .home-hero-visual,.is-library .home-hero-actions,.is-library .home-hero .intro-eyebrow,.is-library .home-hero .intro-description { display:none; }
.home-roadmap { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; border-top:1px solid #b488ca; border-bottom:1px solid #b488ca; padding:14px 0; margin:13px 0 40px; }
.home-roadmap a { display:flex; align-items:center; gap:12px; min-height:44px; color:#51207c; font-size:12px; font-weight:700; text-decoration:none; }
.home-roadmap a:hover { text-decoration:underline; text-underline-offset:4px; }
.home-roadmap a > span:first-child { display:grid; place-items:center; width:30px; height:30px; flex-shrink:0; border:1px solid #a671bf; border-radius:50%; background:#f9edff; color:#7131a8; font:11px var(--mono); }
.home-chapter { display:flex; align-items:flex-start; gap:20px; margin:0 0 24px; }
.home-chapter-number { color:#d13a9d; font:italic 53px/1 var(--display); letter-spacing:-3px; flex-shrink:0; -webkit-text-stroke:1px #9f278b; text-shadow:2px 2px #fff6fd; }
.home-chapter .eyebrow { margin:1px 0 6px; font-size:10px; }
.home-chapter h2 { margin:0 0 9px; color:#512071; font:400 clamp(25px,3vw,32px)/1.2 var(--display); letter-spacing:-.8px; }
.home-chapter p:not(.eyebrow) { max-width:690px; margin:0; color:#574366; font-size:14px; line-height:1.75; }
.home-continue { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 25px; align-items:center; padding:22px 25px; margin:0 0 40px; background:#e2fff6; border:1px solid #50a29a; border-left:5px solid #07888a; }
.home-continue .eyebrow { margin:0 0 5px; font-size:10px; }
.home-continue h2 { margin:0 0 5px; font-size:21px; color:#4f2172; }
.home-continue p { margin:0; font-size:13px; line-height:1.7; }
.home-progress-track { height:7px; max-width:400px; margin-top:13px; background:#c4dfdb; border-radius:9px; overflow:hidden; }
.home-progress-track > span { display:block; height:100%; background:#7131a8; border-radius:inherit; }
#homeMissions,#homePromptLab,#homeAtlas { scroll-margin-top:110px; }
.home-mission-layout { display:grid; grid-template-columns:.87fr 1.3fr; align-items:start; gap:30px; margin-bottom:47px; }
.home-missions .home-mission-layout { margin-bottom:15px; }
.home-missions > .home-lab-note { margin:0 0 40px; }
.home-mission-options { display:flex; flex-direction:column; gap:8px; }
.home-mission-option { display:grid; grid-template-columns:32px minmax(0,1fr) 18px; align-items:center; gap:13px; width:100%; min-height:110px; padding:20px 17px; color:#51207c; background:transparent; border:1px solid transparent; border-bottom-color:#b98dcd; border-radius:3px; text-align:left; }
.home-mission-option[aria-pressed=true] { border-color:#9f59b6; border-left:5px solid #d534a0; padding-left:13px; background:#ffe2f6; box-shadow:3px 3px #fff7ff; }
.home-mission-option:hover { background:#fff4fd; border-color:#ac7bc4; }
.home-mission-option .mission-number { align-self:start; margin-top:4px; color:#a32689; font:700 12px var(--mono); }
.home-mission-option strong { display:block; color:#482064; font-size:20px; line-height:1.25; letter-spacing:-.35px; }
.home-mission-option small { display:block; margin-top:8px; color:#664e7b; font-size:12px; line-height:1.65; }
.home-mission-option .mission-arrow { color:#7131a8; font-size:21px; }
.home-mission-panel { overflow:hidden; min-width:0; border:1px solid #9f6aba; border-radius:5px; background:#fff8ff; box-shadow:6px 6px #cba1e3; }
.home-mission-panel .mission-copy { padding:22px 25px 24px; }
.mission-copy .eyebrow { margin:0 0 7px; font-size:9px; }
.mission-copy h3 { margin:0 0 10px; color:#4e2070; font-size:25px; line-height:1.2; letter-spacing:-.6px; }
.mission-copy p,.mission-copy li { color:#574366; font-size:13px; line-height:1.75; }
.mission-copy p { margin:0 0 12px; }
.mission-copy ul { margin:0 0 17px; padding-left:18px; }
.mission-actions { gap:9px; }
.mission-actions .home-primary,.mission-actions .home-text-button { font-size:12px; padding:10px 13px; }
.home-mission-panel .mission-scene { position:relative; min-height:195px; padding:34px 25px 16px; overflow:hidden; border-bottom:1px solid #9f6aba; }
.mission-scene .scene-label { position:absolute; top:12px; left:17px; color:#593272; font:700 9px/1.5 var(--mono); letter-spacing:1px; text-transform:uppercase; }
.home-mission-panel .scene-game { background:radial-gradient(#4b879322 1px,transparent 1px) 0 0/15px 15px,#b8f7ed; }
.scene-game .game-hud { display:flex; justify-content:space-between; color:#4e2768; font:700 10px/1.6 var(--mono); }
.scene-game .game-board { position:relative; height:125px; margin-top:8px; background:#f8f4ff; border:3px solid #795298; box-shadow:inset 0 -12px #dfcafa; }
.scene-game .game-star { position:absolute; color:#ffe78b; line-height:1; font-size:34px; text-shadow:2px 0 #9b3685,-2px 0 #9b3685,0 2px #9b3685,0 -2px #9b3685; }
.scene-game .game-star::before { content:"★"; }
.scene-game .star-one { top:29px; left:31%; }
.scene-game .star-two { top:8px; left:58%; }
.scene-game .star-three { top:49px; left:81%; }
.scene-game .game-player { position:absolute; left:9%; bottom:16px; width:29px; height:34px; border:3px solid #552578; background:#ff8cd4; box-shadow:4px 4px #d4b6e7; }
.scene-game .game-player::before { content:""; position:absolute; top:8px; left:5px; width:3px; height:4px; background:#552578; box-shadow:8px 0 #552578; }
.scene-game .game-player::after { content:""; position:absolute; left:6px; top:19px; width:10px; border-bottom:2px solid #552578; }
.home-mission-panel .scene-web { background:#dbc3fa; padding:31px 38px 17px; }
.scene-web .scene-window-bar { position:relative; height:23px; border:2px solid #765397; border-bottom:0; border-radius:5px 5px 0 0; background:#f9eaff; }
.scene-web .scene-window-bar::before { content:""; position:absolute; left:10px; top:7px; width:6px; height:6px; border-radius:50%; background:#d752ad; box-shadow:12px 0 #c7953e,24px 0 #229c97; }
.scene-web .scene-window-bar > span { position:absolute; top:2px; left:55px; color:#6d4b82; font:9px/1.8 var(--mono); }
.scene-web .directory-title { display:block; padding:9px 13px; color:#51207c; background:#fff8ff; border:2px solid #765397; border-bottom:0; font:700 13px/1.5 var(--mono); }
.scene-web .directory-row { display:flex; align-items:center; gap:8px; min-height:28px; padding:4px 13px; border-left:2px solid #765397; border-right:2px solid #765397; color:#5c3c73; background:#fff8ff; font-size:11px; }
.scene-web .directory-row > span:first-child { display:inline-grid; place-items:center; width:18px; height:18px; flex-shrink:0; background:#d5f8ef; color:#51207c; border-radius:3px; font:8px var(--mono); }
.scene-web .directory-row > span:last-child { margin-left:auto; color:#7131a8; }
.scene-web .directory-row:last-child { border-bottom:2px solid #765397; padding-bottom:8px; }
.home-mission-panel .scene-automation { background:#ffe5bd; }
.scene-automation .file-plan { display:grid; grid-template-columns:1fr 35px 1fr; gap:13px; align-items:center; margin-top:8px; }
.file-plan .file-before,.file-plan .file-after { min-width:0; padding:13px 14px; border:1px solid #9c6e9a; color:#553168; background:#fff6ef; box-shadow:3px 3px #e7bedc; }
.file-plan .file-after { background:#d9fff4; }
.file-plan b { display:block; margin-bottom:7px; font:700 11px/1.6 var(--mono); }
.file-plan span { display:block; font:10px/1.9 var(--mono); overflow-wrap:anywhere; }
.file-plan .file-arrow { color:#783992; font-size:28px; text-align:center; }
.scene-automation > p { margin:10px 0 0; color:#6b3e70; font:9px/1.8 var(--mono); text-align:center; }
.home-lab { position:relative; margin:0 0 47px; padding:30px 31px; background:#35134f; color:#fff2fc; border:1px solid #682b8d; border-radius:5px; box-shadow:7px 7px #8eeede; }
.home-lab .home-chapter-number { color:#ff9cda; -webkit-text-stroke:0; text-shadow:none; }
.home-lab .home-chapter h2 { color:#fff4ff; }
.home-lab .home-chapter .eyebrow { color:#9cfff0; }
.home-lab .home-chapter p:not(.eyebrow) { color:#ddc6ed; }
.home-prompt-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:27px; align-items:start; }
.vague-prompt { position:relative; padding:19px 24px 15px 0; min-width:0; color:#f5c9eb; }
.vague-prompt > p:first-of-type { margin-top:0; }
.vague-prompt blockquote { margin:13px 0 17px; color:#ffe4f7; font:italic 25px/1.4 var(--display); letter-spacing:-.5px; }
.vague-prompt p { font-size:13px; line-height:1.8; color:#d6b9e7; }
.vague-prompt > p { margin:12px 0 15px; color:#ffe4f7; font:italic 28px/1.35 var(--display); letter-spacing:-.6px; }
.vague-prompt > .eyebrow { color:#d5a1e8; font-size:10px; }
.vague-prompt small { display:block; color:#d6b9e7; font-size:12px; line-height:1.8; }
.vague-prompt .prompt-doodle { display:none; }
.vague-prompt::after { content:"→"; display:block; margin-top:18px; color:#ff8bd4; font-size:39px; line-height:1; }
.clear-prompt { min-width:0; }
.home-prompt-controls { display:flex; gap:6px; flex-wrap:wrap; }
.home-prompt-controls button { flex:1; min-width:0; min-height:44px; padding:8px 10px; border:1px solid #9e74ba; border-radius:3px; color:#f4dff9; background:#51206e; font:700 10px/1.5 var(--mono); }
.home-prompt-controls button[aria-pressed=true] { color:#3a174d; border-color:#ff9adb; background:#ffa4df; }
.home-prompt-controls button:hover { border-color:#fff4ff; }
.home-lab #homePromptText { white-space:pre-wrap; overflow-wrap:anywhere; min-height:151px; margin:15px 0 12px; padding:20px; color:#351747; background:#f4e5ff; border:1px solid #d2b5e9; border-left:4px solid #8ef4df; border-radius:3px; font:12px/1.85 var(--mono); }
.home-lab #homePromptReason { min-height:46px; color:#dec8eb; margin:0 0 15px; font-size:12px; line-height:1.75; }
.home-lab #homePromptText:focus-visible { outline:3px solid #9affed; outline-offset:4px; }
.home-lab .home-primary { color:#35134f; border-color:#9affed; background:#9affed; box-shadow:3px 3px #ff87ce; }
.home-lab .home-primary:hover { background:#d2fff5; }
.home-lab .home-text-button { color:#fff2fb; font-size:12px; }
.home-lab .home-primary:focus-visible,.home-lab .home-text-button:focus-visible,.home-prompt-controls button:focus-visible { outline-color:#9affed; }
.home-lab-note { color:#654772; font-size:11px; line-height:1.8; margin:17px 0 0; }
.home-lab .home-lab-note { color:#c8a9db; font-size:10px; }
.home-method { display:grid; grid-template-columns:.95fr 1.7fr; align-items:start; gap:19px 35px; margin:0 0 44px; padding:12px 0 31px; border-bottom:1px solid #b488ca; }
.home-method-intro h2 { margin:0 0 11px; color:#512071; font:400 27px/1.25 var(--display); letter-spacing:-.7px; }
.home-method-intro p { color:#574366; font-size:13px; line-height:1.8; margin:0; }
.home-method-steps { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:0; }
.home-method-steps::before { content:""; position:absolute; top:18px; left:18px; right:18px; height:1px; background:#a473bc; }
.home-method-steps li { position:relative; min-width:0; }
.home-method-steps .method-number { position:relative; display:inline-grid; place-items:center; width:36px; height:36px; color:#51207c; border:1px solid #a473bc; border-radius:50%; background:#b4f9ec; font:700 11px var(--mono); }
.home-method-steps h3 { margin:13px 0 7px; color:#51207c; font-size:16px; line-height:1.4; }
.home-method-steps p { margin:0; color:#624a73; font-size:12px; line-height:1.8; }
.home-method > .home-text-button { grid-column:2; justify-self:start; padding-left:0; }
.home-atlas { padding:0 0 5px; }
.home-atlas-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:23px 0 25px; }
.home-atlas-groups > section { min-width:0; }
.home-atlas-groups h3 { color:#5b2875; margin:0 0 10px; padding-bottom:10px; border-bottom:2px solid #bd77bc; font:700 11px/1.6 var(--mono); text-transform:uppercase; letter-spacing:.4px; }
.home-area-link { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:9px; align-items:center; width:100%; min-height:44px; padding:9px 2px; color:#51207c; border:0; border-bottom:1px solid #c9a2dc; border-radius:0; background:transparent; font-size:12px; text-align:left; }
.home-area-link:hover { color:#35134f; background:#fff5ff66; }
.home-area-link small { color:#70567f; font:10px var(--mono); }
.is-home .collection-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:13px; padding:21px 0; margin-top:20px; border-top:1px solid #b488ca; border-bottom:1px solid #b488ca; color:#644572; font-size:10px; }
.is-home .collection-stats > span + span::before { display:none; }
.is-home .collection-stats strong { display:block; color:#51207c; font:400 24px/1.4 var(--display); }
.home-closing { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:13px 25px; padding:25px 0 10px; }
.home-closing p { color:#5c4071; font-size:13px; margin:0; }
.home-closing > div { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.home-closing > div:first-child { display:block; }
.home-closing h3 { margin:0 0 8px; color:#51207c; font-size:21px; line-height:1.4; letter-spacing:-.4px; }
.is-home .site-footer { margin-top:27px; }
.learning-step { scroll-margin-top:90px; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home-primary,.home-mission-option,.home-area-link { transition:transform 150ms ease,background-color 150ms ease,box-shadow 150ms ease; }
  .home-primary:hover { transform:translateY(-2px); box-shadow:4px 6px #ff77d0; }
  .home-mission-option:hover { transform:translateX(3px); }
}
@media(max-width:1050px) {
  .is-home .main-content { padding:29px 34px 0; }
  .home-nav { gap:15px; }
  .home-nav a,.home-nav button { font-size:11px; }
  .is-home .home-hero { gap:30px; min-height:435px; }
  .is-home .home-hero h1 { font-size:54px; }
  .home-hero-visual { min-height:360px; }
  .home-speech { left:-18px; max-width:185px; font-size:10px; }
  .hero-sticker { right:-8px; font-size:9px; }
  .home-mission-layout { grid-template-columns:.85fr 1.2fr; gap:22px; }
  .home-mission-option { padding:18px 12px; gap:9px; }
  .home-mission-option[aria-pressed=true] { padding-left:8px; }
  .home-mission-option strong { font-size:18px; }
  .home-lab { padding:27px; }
}
@media(max-width:850px) {
  .home-nav [href^="#"] { display:none; }
  .is-home .home-hero { grid-template-columns:1fr 1fr; gap:25px; min-height:400px; }
  .is-home .home-hero h1 { font-size:45px; letter-spacing:-1.6px; }
  .is-home .home-hero .intro-description { font-size:13px; }
  .home-hero-visual { min-height:325px; }
  .home-speech { left:-15px; top:12px; max-width:165px; padding:10px 12px; font-size:9px; }
  .hero-sticker { bottom:12px; max-width:135px; padding:6px 9px; font-size:8px; }
  .home-hero-actions { gap:8px; }
  .home-hero-actions .home-primary,.home-hero-actions .home-text-button { padding:10px 13px; font-size:12px; }
  .home-roadmap { gap:13px; }
  .home-roadmap a { gap:8px; font-size:10px; }
  .home-mission-layout { grid-template-columns:.85fr 1.2fr; gap:18px; }
  .home-mission-option { grid-template-columns:23px minmax(0,1fr) 12px; gap:8px; min-height:105px; }
  .home-mission-option strong { font-size:17px; }
  .home-mission-option small { font-size:11px; }
  .home-mission-panel .mission-copy { padding:19px; }
  .mission-copy h3 { font-size:23px; }
  .home-prompt-layout { grid-template-columns:.65fr 1.35fr; gap:18px; }
  .home-method { grid-template-columns:1fr; }
  .home-method > .home-text-button { grid-column:1; }
  .home-atlas-groups { gap:18px; }
}
@media(max-width:650px) {
  .home-nav { display:none; }
  .is-home .main-content { padding:24px 20px 0; }
  .is-home .home-hero { grid-template-columns:1fr; min-height:0; padding:4px 0 29px; gap:28px; }
  .is-home .home-hero h1 { font-size:clamp(43px,10vw,61px); letter-spacing:-1.9px; margin-bottom:17px; }
  .is-home .home-hero .intro-eyebrow { max-width:none; font-size:9px; margin-bottom:13px; }
  .is-home .home-hero .intro-description { max-width:510px; margin-bottom:20px; font-size:14px; }
  .home-hero-visual { width:85%; max-width:370px; min-height:300px; justify-self:center; margin:6px 0 10px; box-shadow:7px 7px #ff8bd8,12px 12px #98f5e8; }
  .home-speech { top:13px; left:-25px; max-width:170px; font-size:10px; }
  .hero-sticker { bottom:12px; font-size:9px; }
  .home-roadmap { gap:10px; margin:0 0 29px; padding:12px 0; }
  .home-roadmap a { flex-direction:column; align-items:flex-start; gap:8px; min-height:65px; font-size:10px; line-height:1.5; }
  .home-roadmap a > span:first-child { width:25px; height:25px; font-size:9px; }
  .home-chapter { gap:13px; margin-bottom:21px; }
  .home-chapter-number { font-size:42px; letter-spacing:-2px; }
  .home-chapter .eyebrow { font-size:9px; }
  .home-chapter h2 { font-size:25px; letter-spacing:-.7px; }
  .home-chapter p:not(.eyebrow) { font-size:13px; }
  .home-continue { grid-template-columns:1fr; padding:18px; gap:16px; margin-bottom:29px; }
  .home-continue .home-primary { justify-self:start; }
  .home-mission-layout { grid-template-columns:1fr; gap:18px; margin-bottom:35px; }
  .home-mission-options { gap:4px; }
  .home-mission-option { min-height:78px; padding:13px 12px; grid-template-columns:26px minmax(0,1fr) 18px; gap:11px; }
  .home-mission-option[aria-pressed=true] { padding-left:8px; }
  .home-mission-option strong { font-size:18px; }
  .home-mission-option small { margin-top:4px; font-size:11px; }
  .home-mission-panel .mission-scene { min-height:181px; padding-right:20px; padding-left:20px; }
  .home-mission-panel .scene-web { padding-right:26px; padding-left:26px; }
  .home-mission-panel .mission-copy { padding:21px 19px; }
  .home-lab { padding:22px 18px; margin-bottom:35px; box-shadow:5px 5px #8eeede; }
  .home-lab .home-chapter { gap:11px; }
  .home-prompt-layout { grid-template-columns:1fr; gap:8px; }
  .vague-prompt { padding:2px 0 9px; border-bottom:1px solid #825298; }
  .vague-prompt blockquote { font-size:23px; margin:8px 0 12px; }
  .vague-prompt::after { content:"↓"; margin:7px 0 9px; font-size:28px; }
  .vague-prompt p { margin:7px 0; font-size:12px; }
  .home-prompt-controls { margin-top:9px; gap:5px; }
  .home-prompt-controls button { padding:8px 5px; font-size:9px; }
  .home-lab #homePromptText { min-height:0; padding:15px; font-size:11px; line-height:1.85; }
  .home-lab #homePromptReason { min-height:0; font-size:12px; }
  .home-lab .home-primary { width:100%; font-size:12px; }
  .home-lab .home-text-button { padding-left:0; }
  .home-method { margin-bottom:31px; gap:23px; padding-bottom:27px; }
  .home-method-intro h2 { font-size:25px; }
  .home-method-steps { gap:12px; }
  .home-method-steps h3 { font-size:14px; }
  .home-method-steps p { font-size:11px; }
  .home-atlas-groups { grid-template-columns:1fr; gap:22px; margin-top:22px; }
  .home-atlas-groups h3 { margin-bottom:5px; }
  .home-area-link { font-size:13px; }
  .is-home .collection-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px 9px; padding:18px 0; font-size:9px; }
  .is-home .collection-stats strong { font-size:22px; }
  .home-closing { padding-top:22px; gap:13px; }
  .home-closing > div { gap:8px; }
  .home-closing .home-primary,.home-closing .home-text-button { font-size:12px; padding:10px 12px; }
  .is-library .home-hero h1 { font-size:25px; }
}
@media(max-width:360px) {
  .is-home .main-content { padding:21px 16px 0; }
  .is-home .home-hero h1 { font-size:42px; }
  .home-hero-actions { align-items:stretch; }
  .home-hero-actions .home-primary,.home-hero-actions .home-text-button { font-size:11px; }
  .home-hero-visual { min-height:270px; }
  .home-speech { font-size:9px; max-width:152px; left:-19px; }
  .hero-sticker { font-size:8px; right:-9px; }
  .home-chapter h2 { font-size:23px; }
  .home-mission-panel .scene-automation { padding-left:14px; padding-right:14px; }
  .scene-automation .file-plan { gap:7px; grid-template-columns:1fr 25px 1fr; }
  .file-plan .file-before,.file-plan .file-after { padding:11px 9px; }
  .file-plan span { font-size:9px; }
  .home-method-steps { grid-template-columns:1fr; gap:19px; }
  .home-method-steps::before { top:18px; bottom:18px; left:18px; right:auto; width:1px; height:auto; }
  .home-method-steps li { padding-left:49px; }
  .home-method-steps .method-number { position:absolute; top:0; left:0; }
  .home-method-steps h3 { margin:0 0 5px; font-size:15px; }
  .home-method-steps p { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .home-primary,.home-mission-option,.home-area-link { transform:none !important; transition:none !important; }
}
