/* Original Anima artwork: no repainting. CSS crops never modify source files. */
.academy-intro{background:#081326 url('/assets/academy-originals/classroom.webp') center 650px/100% auto no-repeat}
.academy-cover{min-height:650px;height:min(870px,90svh)}
.academy-cover-scenery{object-position:50% 45%}
.academy-cover::after{z-index:0;background:linear-gradient(90deg,#051126e6, #05112655 50%,transparent 75%),linear-gradient(0deg,#081326,transparent 22%)}
.academy-cover-grid{position:relative;z-index:2;pointer-events:none}.academy-cover-copy{width:54%;pointer-events:auto}
.academy-cover-character{position:absolute;z-index:-1;top:0;bottom:0;right:0;width:59%;overflow:hidden;mask-image:linear-gradient(#000 78%,transparent)}
.academy-cover-character img{height:100%;width:100%;max-width:none;object-fit:cover;object-position:65% top}
.academy-opening{position:relative;background:radial-gradient(ellipse,#081326e8,#081326b3 62%,transparent);max-width:1050px;padding-inline:55px!important}
.academy-features{background:linear-gradient(#08132600,#081326 12%)}
.academy-feature .work-image-slot{aspect-ratio:4/3;border:0;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.academy-paths{background:linear-gradient(#081326e8,#081326c9),url('/assets/academy-originals/campus.webp') center/cover}
.academy-webtoon-empty{background:linear-gradient(#08132680,#081326c4),url('/assets/academy-originals/spring.webp') center/cover}
.academy-continuity{background:linear-gradient(90deg,#081326ef,#081326b3),url('/assets/academy-originals/spring.webp') center/cover}
.academy-ending{background:linear-gradient(#08132670,#081326e0),url('/assets/academy-originals/night.webp') center/cover}
.academy-invitation{background:linear-gradient(90deg,#08132644,#081326d9),url('/assets/academy-originals/office.webp') center/cover;overflow:hidden}
.academy-invitation>.container{height:530px;min-height:0;position:relative}
.academy-invitation img{align-self:stretch;height:100%;width:125%;max-width:none;max-height:none;margin-left:-18%;object-fit:cover;object-position:center top}
.academy-invitation .container>div{position:relative;z-index:1}
.home-hero-journey[data-theme=academy] .hero-background{background-image:linear-gradient(90deg,#071225d9,#07122538),url('/assets/academy-originals/campus.webp')!important}
.academy-threats{padding:80px 0 90px;background:linear-gradient(#08132670,#081326bb 35%,#081326),url('/assets/academy-originals/gate.webp') center top/cover no-repeat}
.academy-threats h2{margin:18px 0;font-size:clamp(30px,4vw,52px)}
.academy-threats p{max-width:630px;color:#d8d8ed}
.academy-threat-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.academy-threat-gallery figure{margin:0;background:#07111b;position:relative;overflow:hidden}
.academy-threat-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease}
.academy-threat-gallery figure:hover img{transform:scale(1.035)}
.academy-threat-gallery figcaption{font-size:12px;padding:17px 18px;color:#bfcfe2}
/* Portrait touches both edges of its scene: source-cropped heads never float. */
.measure-room{padding:0 0 20px;min-height:0;background:linear-gradient(#09162714,#091627b3 70%,#091627),url('/assets/academy-originals/office.webp') center top/cover no-repeat}
.measure-heading{padding:17px 24px 7px;background:#08132694}
.measure-steps{margin:0;padding:7px 24px 12px;background:#08132694}
.measure-stage{height:clamp(250px,43svh,420px);overflow:hidden;border-block:1px solid #b7cdeb45}
.measure-portrait-frame{position:absolute;inset:0 auto 0 0;width:48%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 90%,#000a)}
.measure-portrait{inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:58% top!important;opacity:0;transition:opacity .22s ease;filter:drop-shadow(4px 6px 12px #06132455)}
.measure-portrait.is-visible{opacity:1}
.measure-portrait-frame[data-expression=assess] .is-visible{object-position:57% top!important}
.measure-portrait-frame[data-expression=smile] .is-visible{object-position:57% top!important}
/* The overlay shares the device bitmap's exact intrinsic aspect ratio. */
.measure-instrument{left:43%;bottom:2%;width:30%;height:auto!important;aspect-ratio:850/777!important;max-height:none}
.measure-device{display:block;width:100%;height:auto;object-fit:fill}
.measure-aperture{left:51.5%;top:29.3%;width:30%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;animation:none!important}
.measure-element{filter:drop-shadow(0 0 7px var(--affinity));width:100%;height:100%}
.measure-idle{font-size:clamp(20px,3vw,34px);letter-spacing:0;color:#9ad2e8}
.is-spinning .measure-idle{animation:measure-pulse .8s ease-in-out infinite alternate}
.measure-readout{top:20px;right:18px;width:28%;padding:16px 14px 12px;background:#081524f0;border:1px solid #bed7f05e;border-left:2px solid var(--affinity);box-shadow:0 10px 30px #0004}
.measure-value{font-size:26px;min-height:42px;margin-top:10px}
.measure-value[hidden],.measure-reel[hidden]{display:none!important}
.measure-description{min-height:36px;font-size:11px;margin-top:12px}
.measure-reel{position:relative;height:144px;overflow:hidden;margin:10px -5px 0;mask-image:linear-gradient(transparent,#000 32%,#000 68%,transparent);contain:layout paint}
.measure-reel::after{content:'';position:absolute;top:calc(100% / 3);height:calc(100% / 3);inset-inline:0;border-block:1px solid #b8dfff60;pointer-events:none}
.measure-reel-track{will-change:transform}
.measure-reel:not(.is-moving) .measure-reel-track{will-change:auto}
.measure-reel-row{height:48px;display:flex;gap:7px;align-items:center;justify-content:center;text-align:center;padding:0 4px;font-size:21px;line-height:1.12;font-weight:650;color:#edf6ff;overflow:hidden}
.measure-reel-row span{min-width:0;overflow-wrap:anywhere}
.measure-reel-row img{width:36px;height:36px;object-fit:contain;flex-shrink:0}
.measure-dialogue{margin:0 18px;min-height:132px;padding:23px 38px 24px}
.measure-line{font-size:15px;min-height:50px}
.measure-controls{margin:5px 18px 0}
.measure-result{margin:16px 24px 0}
@media(min-width:801px) and (max-height:800px){
 .measure-heading{padding:9px 20px 5px}.measure-steps{padding:4px 20px 8px}
 .measure-stage{height:clamp(215px,calc(94svh - 285px),330px)}
 .measure-dialogue{min-height:115px;padding:20px 35px}.measure-line{font-size:14px;min-height:45px}
 .measure-instrument{width:27%;left:43%;bottom:0}
 .measure-readout{top:10px;width:29%;padding:12px}.measure-reel{height:126px}.measure-reel-row{height:42px;font-size:19px}
}
@media(max-width:800px){
 .academy-cover{height:760px;min-height:0;max-height:none}.academy-cover-grid{align-items:flex-end;padding:0 0 36px}.academy-cover-copy{width:100%;max-width:500px}.academy-logo{max-width:370px}
 .academy-cover-character{height:61%;width:100%;top:0;right:-3%;bottom:auto;mask-image:linear-gradient(#000 58%,transparent 100%)}
 .academy-cover-character img{object-position:70% top}
 .academy-cover::after{background:linear-gradient(0deg,#081326,#081326c7 25%,transparent 68%)}
 .academy-cover .work-back{position:absolute;top:20px;left:0;padding:7px 10px;background:#061326a8;border-radius:3px}
 .academy-cover-copy>.eyebrow{font-size:9px}.academy-cover-copy>p{margin-top:-8px;font-size:14px}.academy-cover-copy .academy-actions{margin-top:10px}.academy-scroll{margin-top:17px}
 .academy-opening{padding-inline:10px!important}.academy-feature .work-image-slot{aspect-ratio:4/3}
 .academy-threats{padding:45px 0}.academy-threat-gallery{grid-template-columns:1fr;gap:20px;margin-top:25px}.academy-threat-gallery figure{display:grid;grid-template-columns:1.6fr 1fr;align-items:center}.academy-threat-gallery figcaption{padding:12px;font-size:12px;line-height:1.8}
 .academy-invitation>.container{height:430px;grid-template-columns:.9fr 1.1fr;text-align:left}.academy-invitation img{width:160%;height:100%;margin-left:-60%;order:0;object-fit:cover;object-position:60% top}
 .academy-invitation h2{font-size:25px}.academy-invitation .container>div{padding:20px 0}.academy-last-result{margin:0}
 .measure-room{padding:0 0 16px}.measure-heading{padding:12px 14px 6px}.measure-steps{padding:4px 14px 10px}
 .measure-stage{height:380px}.measure-portrait-frame{width:64%}.measure-portrait{object-position:57% top!important}
 .measure-instrument{left:auto;right:2%;width:min(44%,180px);bottom:5px}
 .measure-readout{top:12px;right:10px;width:44%;padding:11px 9px}
 .measure-label{font-size:9px;letter-spacing:.05em}.measure-reel{height:126px;margin-inline:-2px}.measure-reel-row{height:42px;font-size:17px;gap:2px}.measure-reel-row img{width:28px;height:28px}
 .measure-description{font-size:10px;min-height:32px;margin-top:7px}.measure-value{font-size:20px}
 .measure-dialogue{margin:0 5px;min-height:170px;padding:26px 24px 20px}.measure-line{font-size:13px;min-height:70px;line-height:1.8}.measure-dialogue>b{font-size:14px;margin-bottom:8px}.measure-type-hint{display:none}
 .measure-controls{margin:2px 8px 0}.measure-result{margin:14px 10px 0}
}
@media(max-width:450px){.academy-cover{height:715px}.academy-logo{max-width:340px}.academy-invitation h2{font-size:23px}.academy-invitation>.container{height:400px;grid-template-columns:.75fr 1.25fr}.academy-invitation img{width:205%;margin-left:-105%}.measure-readout{width:47%;right:7px}.measure-portrait-frame{width:65%}.measure-reel-row{font-size:16px}.measure-reel{height:105px}.measure-reel-row{height:35px}.measure-hint{font-size:9px}.measure-dialogue{min-height:174px}}
@media(prefers-reduced-motion:reduce){.academy-threat-gallery img,.measure-portrait{transition:none}.measure-reel-track{will-change:auto}.is-spinning .measure-idle{animation:none}}

/* Quiet, keyboard/touch-accessible scenery hit areas; never move a hit target on hover. */
.measure-office-hotspot,.measure-portrait-frame,.measure-instrument{appearance:none;border:0;border-radius:0;padding:0;margin:0;background:transparent;color:inherit;font:inherit;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.measure-office-hotspot{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.measure-portrait-frame{z-index:1;pointer-events:auto}
.measure-instrument{z-index:2}
.measure-readout{z-index:3;pointer-events:auto}
.measure-office-hotspot:hover,.measure-portrait-frame:hover,.measure-instrument:hover{transform:none;filter:none;background:transparent}
.academy-measure .measure-office-hotspot:focus-visible,.academy-measure .measure-portrait-frame:focus-visible,.academy-measure .measure-instrument:focus-visible{outline:2px solid #c4e5ff;outline-offset:-4px}
.measure-portrait-frame[data-expression=calm] .is-visible{object-position:56% top!important}
.measure-portrait-frame[data-expression=impatient] .is-visible{object-position:54% top!important}
.measure-portrait-frame[data-expression=bashful] .is-visible{object-position:61% top!important}
.measure-explore-hint{position:absolute;right:14px;bottom:9px;z-index:4;pointer-events:none;color:#d4deed;font-size:10px;letter-spacing:.04em;text-shadow:0 1px 5px #000;background:#0713269e;border-radius:3px;padding:4px 8px}
.academy-measure[data-phase=spinning] .measure-explore-hint,.academy-measure[data-phase=slowing] .measure-explore-hint{visibility:hidden}
@media(max-width:800px){.measure-explore-hint{left:9px;right:auto;bottom:8px;font-size:9px;max-width:54%;line-height:1.5}}
