/* FILA60: presentation refinements within the existing DARK and PEACE themes. */
.login-hero{align-items:start;min-height:0;gap:clamp(20px,4vw,52px);padding:clamp(12px,2vw,28px) 0}
.login-hero .hero-copy{min-width:0}
.login-hero .hero-copy h1{font-size:clamp(2.5rem,5.5vw,5.4rem);line-height:1.06;letter-spacing:-.045em;overflow-wrap:normal}
.login-hero .lead{line-height:1.6;max-width:58ch}
.login-box{width:100%;max-width:470px;margin:clamp(22px,3vw,38px) 0 0;padding:clamp(18px,2.5vw,28px);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 16px 44px #0002;gap:8px}
.login-box label{font-weight:600;margin-top:5px}
.login-box input{width:100%;min-height:50px}
.login-box #login{margin-top:12px;min-height:54px}
.login-hero .hero-art{min-height:clamp(330px,46vw,540px);transform:none}
#ai60Panel{margin-top:24px;overflow-wrap:anywhere}
#ai60Panel h3{margin-bottom:6px}
#ai60Panel small{color:var(--muted)}
.cinematic-ready{background:#13251c!important}
header .head-actions .btn{min-width:44px;min-height:44px}
#app input[type=checkbox]{width:20px;height:20px;flex:none;margin:2px 8px 0 0}
#app .report-card label:has(input[type=checkbox]){display:flex;align-items:flex-start;margin:10px 0;line-height:1.4}
@media(max-width:900px){
  .login-hero{grid-template-columns:minmax(0,1fr)}
  .login-hero .hero-art{min-height:clamp(260px,62vw,430px);max-width:760px}
  .login-box{max-width:100%}
}
@media(max-width:600px){
  .login-hero{gap:22px;padding:0}
  .login-hero .hero-copy h1{font-size:clamp(2.15rem,9vw,3.6rem);line-height:1.08;margin:14px 0 18px}
  .login-hero .lead{font-size:1.06rem;line-height:1.55}
  .login-box{margin-top:22px;padding:18px;border-radius:18px}
  .login-hero .hero-art{min-height:280px;border-radius:22px}
}

.village-image-option{display:grid;gap:8px;align-content:start}.village-image-option .btn{width:100%}.preferred-visual img{display:block;width:100%;max-width:780px;height:auto;border-radius:12px;margin:12px auto}.village-image-fallback{display:grid;place-items:center;min-height:150px;padding:16px;border:1px dashed var(--line);border-radius:12px;background:var(--surface2);color:var(--ink);text-align:center}.village-image-option [aria-pressed="true"]{border:2px solid var(--accent)}

/* FILA112: full original 16:9 frame, one transparent touch/keyboard target. */
.login-hero .hero-art{aspect-ratio:16/9;min-height:0!important;transform:none;animation:none}
.village-cinematic{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.intro112-toggle{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:0;background:none!important;box-shadow:none!important;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}
.intro112-toggle svg{display:block;position:absolute;top:25%;left:50%;transform:translateX(-50%);height:50%;width:auto;aspect-ratio:1;overflow:visible;filter:drop-shadow(0 2px 3px #0009);pointer-events:none}
.intro112-toggle path{fill:#fff;stroke:#0008;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.is-playing .intro112-toggle svg{visibility:hidden}
.hero-art:not(.is-playing) .intro112-toggle:focus-visible path{stroke:var(--gold);stroke-width:3}

/* Keep the current question and focused controls clear of the sticky header. */
.shell article,input,textarea,select{scroll-margin-top:100px}
@media(max-width:600px){.btn{white-space:normal;overflow-wrap:anywhere}input,textarea,select{max-width:100%}.shell article{scroll-margin-top:90px}}

/* FILA116: persistent header and a scrollable touch drawer in both themes. */
#villageMenu116[hidden],.menu116-overlay[hidden]{display:none!important}
#villageMenu116{white-space:nowrap;flex:none}
.menu116-overlay{position:fixed;inset:0;z-index:100;background:#0009;display:flex;justify-content:flex-end;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) 0}
.menu116-drawer{display:flex;flex-direction:column;width:min(88vw,390px);height:100%;max-height:100dvh;min-height:0;background:var(--surface);color:var(--ink);border-left:1px solid var(--line);box-shadow:-12px 0 40px #0005;padding:16px}
.menu116-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;flex:none;padding-bottom:14px;border-bottom:1px solid var(--line)}
.menu116-heading h2{font-size:1.05rem;letter-spacing:.08em;margin:0}
.menu116-drawer nav{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:14px 3px 24px;scroll-padding:10px;-webkit-overflow-scrolling:touch}
.menu116-drawer nav .btn{display:block;flex:none;min-height:48px;text-align:left;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.menu116-drawer [aria-current=page]{border-color:var(--accent);color:var(--accent)}
body.menu116-open{overflow:hidden}
@media(max-width:600px){header{flex-wrap:wrap;gap:8px;padding:10px 14px}header>div:first-child{width:100%}header .head-actions{width:100%;align-items:center}#villageMenu116{margin-left:auto}#logout{font-size:.85rem}header .head-actions .btn{min-height:44px}#app input,#app textarea,#app select{scroll-margin-top:130px}.shell article{scroll-margin-top:125px}}

/* FILA132: existing final panel, DARK/PEACE inherited. */
.identity132-ending{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.identity132-ending li{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);font-size:1.05rem;line-height:1.5;overflow-wrap:anywhere}

/* FILA134 uses the existing DARK / PEACE tokens. */
.journey134{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:6px 0 28px;position:relative;z-index:1}
.step134{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px 10px;min-height:78px;display:flex;align-items:center;gap:10px;text-align:left;min-width:0}
.step134 strong,.step134 small{display:block}.step134 strong{font-size:.88rem}.step134 small{color:var(--muted);font-size:.72rem;margin-top:3px}.step134-number{font:1.4rem Georgia,serif;color:var(--gold)}
.step134[aria-current=step]{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.step134:disabled{opacity:.6;cursor:default}.step134:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.village-home-hero.home134{display:grid;grid-template-columns:1.12fr 1fr!important;gap:44px;min-height:520px;margin-bottom:32px}.home134 .hero-copy h1{font-size:clamp(2.7rem,5.3vw,5rem);line-height:1.07;margin:20px 0}.home134 .lead{font-size:1.15rem;max-width:560px;line-height:1.65}.home134-progress{color:var(--muted);font-size:.85rem;max-width:520px}.home134 .hero-actions{margin:24px 0;gap:10px}
.home134-vignette{height:400px;position:relative;border:1px solid var(--line);border-radius:50% 50% 24px 24px;background:radial-gradient(ellipse at 50% 64%,color-mix(in srgb,var(--accent) 13%,var(--surface)),var(--surface));overflow:hidden}.sketch134-label{position:absolute;top:42px;width:100%;text-align:center;font-size:.65rem;letter-spacing:.18em;color:var(--gold)}.sketch134-garden{position:absolute;inset:39% 28% 24%;border:1px dashed var(--gold);border-radius:50%;display:grid;place-items:center;transform:rotate(-8deg)}.sketch134-garden span{font:italic 1.3rem Georgia,serif;text-align:center;color:var(--gold);transform:rotate(8deg)}.sketch134-house{position:absolute;display:grid;justify-items:center;width:60px;color:var(--accent)}.sketch134-house>span{font:76px/1 Georgia,serif}.sketch134-house small{font-size:.65rem;letter-spacing:.15em}.house134-1{top:19%;left:29%}.house134-2{top:25%;right:18%}.house134-3{top:51%;right:8%}.house134-4{bottom:17%;left:20%}.house134-5{top:38%;left:7%}.home134-vignette>p{position:absolute;bottom:12px;text-align:center;width:100%;font-size:.68rem;color:var(--muted)}
.welcome134{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:34px}.welcome134 h2{font:1.65rem/1.3 Georgia,serif;margin:8px 0}.welcome134>p{color:var(--muted);margin:auto 0;line-height:1.75}.intro134-note{color:var(--muted);font-size:.88rem;border-top:1px solid var(--line);padding-top:16px;margin-top:24px}.draft134-label{color:var(--gold);font-weight:700;letter-spacing:.08em;font-size:.75rem}
@media(max-width:900px){.journey134{grid-template-columns:repeat(3,minmax(0,1fr))}.village-home-hero.home134{gap:24px}.home134-vignette{height:350px}}
@media(max-width:600px){.journey134{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:20px}.step134{min-height:67px;padding:10px;gap:8px}.step134 strong{font-size:.8rem}.step134 small{font-size:.68rem}.step134-number{font-size:1.15rem}.village-home-hero.home134{grid-template-columns:1fr!important;min-height:auto;gap:22px}.home134 .hero-copy h1{font-size:clamp(2.5rem,10vw,3.5rem)}.home134-vignette{height:320px;max-width:430px;width:100%;margin:auto}.welcome134{grid-template-columns:1fr;gap:14px}.home134 .hero-actions{display:grid}.home134 .hero-actions .btn{width:100%}header{gap:6px}header strong{font-size:.95rem}header .head-actions{gap:5px}header .btn{padding:9px;min-width:44px}header small{font-size:.55rem}.intro134-note{margin-top:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
