.alice-case{--alice-red:#a72c43;--alice-pale:#eee8de;--alice-green:#162b24;--alice-paper:#fbf8f2;background:var(--color-background)}
:root[data-theme=dark] .alice-case{--alice-red:#f097a6;--alice-pale:#30382f;--alice-paper:#272e29}
.alice-case .eyebrow{color:var(--alice-red);font-size:.72rem;letter-spacing:.12em;font-weight:500}
.alice-case .back-link{display:inline-block;padding-block:1.75rem .25rem;color:var(--color-muted);font-size:.83rem;text-decoration:none}
.alice-case .alice-hero{padding-top:2rem}
.alice-case .hero-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:center;margin:1.2rem 0 2.8rem}
.alice-case h1{font:400 clamp(3.5rem,7.9vw,6.3rem)/.96 var(--font-display);letter-spacing:-.055em;text-wrap:initial}
.alice-case h1 em{color:var(--alice-red);font-style:italic}
.alice-case .hero-intro>p:first-child{font:400 1.6rem/1.2 var(--font-display);letter-spacing:-.025em;margin-bottom:1rem}
.alice-case .hero-description{font-size:.9rem;line-height:1.6;max-width:34ch;margin-bottom:1.3rem;color:var(--color-muted)}
.alice-case .play-link{display:inline-flex;justify-content:space-between;gap:2rem;align-items:center;min-height:48px;padding:.6rem 1rem;background:var(--alice-red);color:#fff;font-weight:500;font-size:.9rem;text-decoration:none;border:1px solid transparent}
:root[data-theme=dark] .alice-case .play-link{color:#242729}
.alice-case .play-link:hover{background:var(--color-ink);color:var(--color-background)}
.alice-case .download-note{display:block;color:var(--color-muted);font-size:.71rem;margin-top:.6rem}
.alice-case figure{margin:0}
.alice-case .hero-gameplay{background:var(--alice-green);border:1px solid var(--alice-green);color:#e5ebdc}
.alice-case .video-stage{position:relative;aspect-ratio:839/469;overflow:hidden;background:#111d17}
.alice-case .video-stage>img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.alice-case #video-mount,.alice-case #video-mount iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.alice-case .video-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.3rem;padding:.6rem 1.25rem;border-bottom:1px solid #486253;min-height:65px;font-size:.75rem}
.alice-case .video-toolbar button{border:1px solid #95ac9d;color:#f7f8f2;background:transparent;padding:.55rem .8rem;min-height:44px;cursor:pointer;font-size:.8rem}
.alice-case .video-toolbar button:hover{background:#2c4939}
.alice-case .duration{margin-left:.7rem;color:#b9c9bb;font-family:var(--font-mono);font-size:.7rem}
.alice-case .video-toolbar a{color:#e5ebdc;display:inline-flex;align-items:center;min-height:44px}
.alice-case #video-note{margin-left:auto;color:#b9c9bb;font-size:.68rem}
.alice-case .hero-gameplay figcaption{padding:.8rem 1.25rem;font-size:.72rem;color:#cad7c7;display:flex;justify-content:space-between;gap:1rem}
.alice-case .game-controls{display:flex;gap:2.5rem;margin:1rem 0 2.5rem;justify-content:center;font-size:.75rem;color:var(--color-muted)}
.alice-case .game-controls div{display:flex;align-items:center;gap:.7rem}
.alice-case dd{margin:0}
.alice-case kbd{font: .7rem var(--font-mono);border:1px solid var(--color-rule);padding:.2rem .4rem;border-radius:3px;color:var(--color-ink)}
.alice-case .project-facts{display:grid;grid-template-columns:1.2fr .8fr 1.2fr 1fr;gap:2rem;padding:1.8rem 0 2rem;border-top:1px solid var(--color-rule);margin:0}
.alice-case .project-facts dt,.alice-case .diagram-label{font:.65rem/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.5rem}
.alice-case .project-facts dd{font-size:.84rem;line-height:1.6}
.alice-case .chapter-nav{border-block:1px solid var(--color-rule);display:flex;gap:3rem;padding:.6rem 0;font: .67rem var(--font-mono);text-transform:uppercase;letter-spacing:.02em}
.alice-case .chapter-nav a{color:var(--color-muted);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.alice-case .chapter-nav a:hover{color:var(--alice-red)}
.alice-case section[id]{scroll-margin-top:2rem}
.alice-case .experience,.alice-case .build-section{padding-top:5.5rem}
.alice-case .section-intro{display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin-bottom:2.5rem;align-items:start}
.alice-case h2{font:400 clamp(2.3rem,4vw,3.5rem)/1.05 var(--font-display);letter-spacing:-.04em;max-width:21ch}
.alice-case .section-intro p:not(.eyebrow){font-size:.92rem;line-height:1.75}
.alice-case .section-intro>p{padding-top:2.4rem}
.alice-case .gameplay-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.alice-case .still-link{display:block;background:#14251c;overflow:hidden}
.alice-case .still-link img{display:block;width:100%;height:auto}
.alice-case .gameplay-pair figcaption{color:var(--color-muted);font-size:.8rem;padding-top:1rem}
.alice-case .gameplay-pair figcaption span{display:block;color:var(--color-ink);font-weight:500;margin-bottom:.25rem}
.alice-case .media-note{font-size:.7rem;color:var(--color-muted);margin-top:1.2rem}
.alice-case .level-route{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:1.5rem 0;margin:2rem 0 0;border-block:1px solid var(--color-rule);gap:1.2rem}
.alice-case .level-route li{font-size:.78rem;position:relative}
.alice-case .level-route span{font:.65rem var(--font-mono);color:var(--alice-red);display:block;margin-bottom:.6rem;text-transform:uppercase}
.alice-case .decision{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:2.2rem 0 3.2rem}
.alice-case .decision+.decision{border-top:1px solid var(--color-rule);padding-top:3.5rem}
.alice-case .decision-number{color:var(--alice-red);font:.7rem var(--font-mono);margin-bottom:1.2rem;text-transform:uppercase;letter-spacing:.03em}
.alice-case h3{font:400 clamp(1.9rem,2.6vw,2.5rem)/1.12 var(--font-display);letter-spacing:-.025em;margin-bottom:1.3rem}
.alice-case .decision p:not(.decision-number){font-size:.88rem;line-height:1.8}
.alice-case .takeaway{color:var(--color-muted);margin-bottom:0}
.alice-case .spawn-diagram{background:var(--alice-paper);border:1px solid var(--color-rule);display:grid;grid-template-columns:1fr 1fr;padding:2rem 1.6rem 1.1rem;gap:1.4rem}
.alice-case .spawn-diagram p{font-size:.9rem;margin-top:.7rem;margin-bottom:1rem;line-height:1.5}
.alice-case .diagram-before{border-right:1px solid var(--color-rule);padding-right:1.2rem}
.alice-case .references{display:flex;gap:.6rem;margin:2rem 0;color:var(--color-muted)}
.alice-case .references span{border:1px solid var(--color-rule);width:30px;text-align:center}
.alice-case .gizmo-line{display:flex;justify-content:space-between;align-items:center;color:var(--alice-red);border-bottom:1px dotted var(--color-control-border);margin:1.2rem 0 .6rem}
.alice-case .gizmo-line span{font:1.6rem var(--font-mono)}
.alice-case .diagram-small{font:.65rem var(--font-mono);color:var(--color-muted)}
.alice-case .spawn-diagram figcaption,.alice-case .attack-diagram figcaption{grid-column:1/-1;font-size:.64rem;color:var(--color-muted);padding-top:1rem;border-top:1px solid var(--color-rule);line-height:1.6}
.alice-case .attack-diagram{padding:2rem 1.6rem 1.1rem;background:var(--alice-paper);border:1px solid var(--color-rule)}
.alice-case .attack-steps{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:1.2rem;padding-bottom:1.8rem}
.alice-case .attack-steps p{font-size:.78rem!important;line-height:1.6!important;margin:0}
.alice-case .warning-line{display:block;width:2px;height:55px;background:var(--alice-red);margin:1.5rem auto}
.alice-case .card-paths{display:flex;justify-content:space-between;margin:1.5rem 0;color:var(--alice-red);height:55px;align-items:center;font-size:1.8rem}
.alice-case .card-paths i{font-style:normal}
.alice-case .flow-arrow{margin-top:3.7rem;color:var(--color-muted)}
.alice-case .iteration-note{display:grid;grid-template-columns:1fr 2fr;gap:4rem;border-top:1px solid var(--color-rule);padding:2rem 0 4rem}
.alice-case .iteration-note p{margin:0;font-size:.85rem}
.alice-case .iteration-note .eyebrow{font-size:.7rem;padding-top:.2rem}
.alice-case .reflection{background:var(--alice-paper);border-block:1px solid var(--color-rule);padding:3rem 2.5rem}
.alice-case .reflection-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.alice-case .reflection h2{max-width:15ch}
.alice-case .reflection h2 em{color:var(--alice-red)}
.alice-case .reflection p:not(.eyebrow){font-size:.87rem;line-height:1.8}
.alice-case .reflection code{font-size:.8rem;overflow-wrap:anywhere}
.alice-case .reflection-end{color:var(--color-muted);margin-bottom:0}
.alice-case .credits{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:4rem 0}
.alice-case .team-credits{margin:0}
.alice-case .team-credits>div{margin-bottom:1.3rem}
.alice-case .team-credits dt{font-weight:500;font-size:.85rem}
.alice-case .team-credits dd{color:var(--color-muted);font-size:.8rem;line-height:1.7;margin-top:.2rem}
.alice-case details{font-size:.75rem;border-top:1px solid var(--color-rule);margin-top:1.8rem;padding-top:.7rem}
.alice-case summary{cursor:pointer;min-height:44px;align-content:center}
.alice-case details p{margin-top:.8rem}
.alice-case .closing{padding:2.2rem 0 3rem;border-top:1px solid var(--color-rule);display:flex;gap:2rem;align-items:center;flex-wrap:wrap}
.alice-case .closing p{font:400 2rem var(--font-display);letter-spacing:-.025em;margin:0 auto 0 0}
.alice-case .closing .download-note{margin:0}
.alice-case .case-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem 0 3rem;border-top:1px solid var(--color-rule);font-size:.78rem}
.alice-case .case-footer a{display:inline-flex;min-height:44px;align-items:center;color:var(--color-muted)}
.alice-case :focus-visible{outline-color:var(--alice-red)}
.alice-case .hero-gameplay :focus-visible{outline-color:#fbf0c6}
@media(max-width:900px){.alice-case .hero-heading{gap:2rem}.alice-case .section-intro,.alice-case .decision,.alice-case .credits{gap:2.5rem}.alice-case .reflection-layout{gap:2rem}.alice-case .spawn-diagram,.alice-case .attack-diagram{padding:1.5rem 1rem 1rem}.alice-case #video-note{width:100%;margin:0}.alice-case .project-facts{gap:1rem}.alice-case .hero-gameplay figcaption{display:block}.alice-case .hero-gameplay figcaption span{margin-left:.4rem}.alice-case .diagram-label{font-size:.6rem}}
@media(max-width:650px){.alice-case .alice-hero{padding-top:1.4rem}.alice-case .hero-heading{grid-template-columns:1fr;gap:1.6rem;margin-bottom:2rem}.alice-case h1{font-size:clamp(3.25rem,12.2vw,5rem)}.alice-case .hero-intro>p:first-child{font-size:1.45rem}.alice-case .hero-description{max-width:40ch}.alice-case .hero-gameplay{margin-inline:calc(-1 * var(--page-gutter));border-inline:0}.alice-case .video-toolbar{padding:.6rem var(--page-gutter);gap:.4rem 1rem}.alice-case .hero-gameplay figcaption{padding:.8rem var(--page-gutter);font-size:.65rem}.alice-case .hero-gameplay figcaption span{display:block;margin:0}.alice-case .game-controls{gap:1.1rem;font-size:.65rem;flex-wrap:wrap;justify-content:flex-start;margin-bottom:1.8rem}.alice-case .game-controls div{gap:.4rem}.alice-case .game-controls kbd{font-size:.6rem}.alice-case .project-facts{grid-template-columns:1fr 1fr;gap:1.3rem;padding-block:1.5rem}.alice-case .project-facts dd{font-size:.77rem}.alice-case .chapter-nav{gap:0;justify-content:space-between;font-size:.56rem;flex-wrap:wrap}.alice-case .chapter-nav a{padding:.3rem .7rem .3rem 0}.alice-case .experience,.alice-case .build-section{padding-top:3.4rem}.alice-case .section-intro,.alice-case .decision,.alice-case .reflection-layout,.alice-case .credits{grid-template-columns:1fr;gap:1.8rem}.alice-case .section-intro>p{padding:0}.alice-case .section-intro{margin-bottom:1.6rem}.alice-case .gameplay-pair{grid-template-columns:1fr;gap:2rem}.alice-case .gameplay-pair figcaption{padding-top:.7rem}.alice-case .level-route{grid-template-columns:1fr 1fr;gap:1.4rem}.alice-case .level-route li:last-child{grid-column:1/-1}.alice-case .decision{padding-top:1rem;padding-bottom:2.2rem}.alice-case .decision+.decision{padding-top:2rem}.alice-case .decision-copy p:last-child{margin-bottom:0}.alice-case .iteration-note{grid-template-columns:1fr;gap:1rem;padding:1.8rem 0 2.5rem}.alice-case .reflection{padding:2rem 1.25rem;margin-inline:-.4rem}.alice-case .reflection h2{max-width:17ch}.alice-case .credits{padding:3rem 0;gap:1.5rem}.alice-case .closing{gap:1rem;padding-bottom:2rem}.alice-case .closing p{width:100%;font-size:1.8rem}.alice-case .case-footer{font-size:.7rem;gap:.2rem 1rem;padding-block:1.3rem 2rem}.alice-case .case-footer a:last-child{width:100%}}
@media(prefers-reduced-motion:reduce){.alice-case *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.alice-case .video-toolbar .video-link-primary{border:1px solid #95ac9d;padding:.55rem .8rem;text-decoration:none;min-height:44px}
.alice-case .video-toolbar .video-link-primary:hover{background:#2c4939}
