:root{color-scheme:dark;--bg:#17121c;--panel:#241c2b;--ink:#fff3e3;--muted:#d5c5d5;--amber:#ffc081;--pink:#f5a4bc;--line:#574456;color:var(--ink);background:var(--bg);font-family:system-ui,Hiragino Sans,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 78% 9%, #352039, transparent 44rem), var(--bg);margin:0;line-height:1.8}p,h1,h2,h3,figure{margin:0}p+p{margin-top:.65rem}a{color:var(--amber);text-underline-offset:.23em}a:hover{color:var(--pink)}:focus-visible{outline:2px solid var(--pink);outline-offset:4px}img{width:100%;height:auto;display:block}.shell{width:min(71rem,100% - 3rem);margin-inline:auto}.skip{z-index:2;background:var(--bg);padding:.5rem 1rem;position:absolute;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);background:#17121cec}.header-inner,.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1.5rem;display:flex}.header-inner{min-height:4.75rem;padding-block:.45rem}.brand{color:var(--ink);font-weight:850;text-decoration:none}.brand span{color:var(--pink);margin-inline-end:.3rem}nav{flex-wrap:wrap;align-items:center;gap:.25rem 1.2rem;display:flex}nav a{min-height:44px;color:var(--muted);align-items:center;font-size:.875rem;text-decoration:none;display:inline-flex}nav a[aria-current=page]{color:var(--amber);text-decoration:underline}main{min-height:55vh;padding-bottom:clamp(3rem,8vw,6rem)}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.75rem,7vw,6rem);display:grid}.hero h1{letter-spacing:-.075em;margin-block:.2em .29em;font-size:clamp(3.45rem,7.4vw,6.6rem);line-height:1.08}.hero h1 span{color:var(--amber)}.hero p:not(.eyebrow,.lead){max-width:33rem;color:var(--muted)}.eyebrow,.tag,figcaption{letter-spacing:.12em;color:var(--pink);font:700 .75rem/1.5 ui-monospace,Consolas,monospace}.light{aspect-ratio:1;background:var(--pink);width:.55rem;box-shadow:0 0 .75rem var(--pink);border-radius:50%;margin-inline-end:.35rem;display:inline-block}.lead{margin-bottom:.5rem;font-size:clamp(1rem,2.4vw,1.35rem);font-weight:750}.sleeve{background:#1e1725;border:1px solid #7c576b;border-radius:.6rem;padding:.65rem;box-shadow:.5rem .5rem #0d0a10,0 0 2.5rem #e8789030}.sleeve img{border-radius:.25rem}figcaption{justify-content:space-between;gap:.5rem;padding:.7rem .2rem .15rem;font-size:.68rem;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:.55rem 1rem;display:flex}.hero .actions,.page-head .actions,.section-actions{margin-top:1.25rem}.button{border:1px solid var(--amber);background:var(--amber);color:#201522;border-radius:.32rem;align-items:center;gap:.45rem;min-height:44px;padding:.55rem .9rem;font-weight:800;text-decoration:none;display:inline-flex}.button:hover{background:var(--pink);color:#201522}.button.outline{color:var(--ink);background:0 0;border-color:#a57d93}.button.outline:hover{background:var(--panel);color:var(--amber)}.block{border-top:1px solid var(--line);margin-bottom:2.75rem;padding-top:1.9rem}.block:last-child{margin-bottom:0}h2{margin-block:.25rem .8rem;font-size:clamp(1.5rem,3.7vw,2.2rem);line-height:1.35}h3{font-size:1.15rem;line-height:1.45}.episode-list{margin:0;padding:0;list-style:none}.episode{border-top:1px solid var(--line);grid-template-columns:5rem 1fr;gap:.5rem 1.1rem;padding:1.1rem .1rem;scroll-margin-top:1rem;display:grid}.episode:last-child{border-bottom:1px solid var(--line)}.episode:target{background:var(--panel)}.tag{padding-top:.25rem}.episode p,.panel p,.muted{color:var(--muted)}.panel .eyebrow{color:var(--pink)}.episode .actions{margin-top:.25rem;font-size:.92rem}.episode .actions a{align-items:center;gap:.25rem;min-height:44px;display:inline-flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1rem;display:grid}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.panel,.notice{background:var(--panel);border:1px solid var(--line);border-radius:.45rem;padding:1.1rem}.panel h3{margin-block:.3rem}details{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.35rem}summary{color:var(--amber);cursor:pointer;min-height:44px;padding-block:.5rem}.page-head{padding-block:clamp(2.25rem,6vw,4rem) 1.8rem}.page-head h1{letter-spacing:-.045em;margin-block:.2em;font-size:clamp(2.4rem,6.5vw,4.8rem);line-height:1.1}.page-head>.button{margin-top:1rem}.prose{max-width:45rem}.prose h2:not(:first-child),.prose .button{margin-top:1.5rem}.notice{border-inline-start:3px solid var(--amber);max-width:55rem;margin-bottom:1.5rem}.site-footer{border-top:1px solid var(--line);background:#131017;padding-block:1.4rem}.site-footer p{color:var(--muted);font-size:.85rem}@media (width<=48rem){.hero{grid-template-columns:1fr}.sleeve{width:min(100%,28rem)}.lesson-grid{grid-template-columns:1fr}}@media (width<=32rem){.shell{width:calc(100% - 2rem)}.header-inner{flex-direction:column;align-items:flex-start;padding-top:.7rem}.grid,.episode{grid-template-columns:1fr}nav{column-gap:.85rem}}
