:root{--color-text:#111;--color-prose:#1b1b1a;--color-muted:#55554f;--color-faint:#6b6b65;--color-line:#e8e8e4;--color-line-strong:#d4d4ce;--color-surface:#f6f6f3;--color-background:#fff;--color-marker:#ffe14d;--color-level-a:#c8f0cf;--color-level-b1:#cfe3ff;--color-level-b2:#ffd7bf;--color-level-c:#ffd1e3;--icon-speed:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4 2 15 20'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7l1-8z'/%3E%3C/svg%3E");--font-text:var(--font-inter);--font-label:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--font-size-title:clamp(2.125rem, 4.4vw, 3.375rem);--font-size-heading:1.875rem;--font-size-reading:1.125rem;--font-size-label:.78125rem;--line-height-reading:1.7;--letter-spacing-title:-.035em;--letter-spacing-heading:-.025em;--width-page:48rem;--width-page-with-gutters:calc(var(--width-page) + 2 * var(--gutter));--gutter:1.5rem;--radius-card:.875rem;--radius-box:.625rem;--radius-chip:.375rem;--border:1px solid var(--color-line);--border-strong:1px solid var(--color-line-strong);--border-dashed:1px dashed var(--color-line-strong);--space-section:4rem;--space-block:2rem}a{color:var(--color-text)}.public-layout{background:var(--color-background);min-height:100vh;color:var(--color-text);font-family:var(--font-text);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:1rem;line-height:1.55;display:flex}.public-layout__main{width:100%;max-width:var(--width-page-with-gutters);padding:0 var(--gutter);box-sizing:border-box;flex:1 0 auto;margin:0 auto}.site-header{padding:.5rem max(var(--gutter), calc((100% - var(--width-page)) / 2));border-bottom:var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;display:flex}.site-header__name{min-height:2.75rem;color:var(--color-text);letter-spacing:-.01em;align-items:center;gap:.625rem;font-size:1.0625rem;font-weight:700;text-decoration:none;display:flex}.site-header__name:before{content:"";background:url(/favicon.svg) 50%/contain no-repeat;flex:none;width:2rem;height:2rem}.site-header__list{flex-wrap:wrap;gap:0 .25rem;margin:0;padding:0;list-style:none;display:flex}.site-header__link{min-height:2.75rem;color:var(--color-text);border-radius:999px;align-items:center;padding:0 .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.site-header__link:hover{background:var(--color-surface)}.breadcrumbs{width:100%;max-width:var(--width-page-with-gutters);padding:.875rem var(--gutter) 0;box-sizing:border-box;color:var(--color-faint);margin:0 auto;font-size:.875rem}.breadcrumbs__list{flex-wrap:wrap;align-items:center;gap:0 .5rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs__item{align-items:center;gap:.5rem;display:flex}.breadcrumbs__item+.breadcrumbs__item:before{content:"/"}.breadcrumbs__link{min-height:2.75rem;color:var(--color-muted);align-items:center;text-decoration:none;display:inline-flex}.breadcrumbs__link:hover,.breadcrumbs__current{color:var(--color-text)}.page-header{margin-bottom:var(--space-block);padding-top:1.625rem}.page-header__title{font-size:var(--font-size-title);letter-spacing:var(--letter-spacing-title);text-wrap:balance;margin:0 0 1rem;font-weight:700;line-height:1.05}.page-header__lead{color:var(--color-muted);text-wrap:pretty;margin:0;font-size:1.1875rem;line-height:1.55}.page-header__lead a{text-underline-offset:.25em}.author{color:var(--color-muted);font-family:var(--font-label);font-size:var(--font-size-label);letter-spacing:.05em;text-transform:uppercase;margin:0;font-weight:500;line-height:1.6}.author__name{text-underline-offset:.3em}.intro{text-align:center;padding-top:5rem}.intro__title{letter-spacing:var(--letter-spacing-title);text-wrap:balance;margin:0;font-size:clamp(2.375rem,6vw,3.5rem);font-weight:700;line-height:1.04}.intro__title strong{font-weight:inherit;box-shadow:inset 0 -.4em 0 var(--color-marker);-webkit-box-decoration-break:clone;box-decoration-break:clone}.intro__lead{max-width:36rem;color:var(--color-muted);text-wrap:pretty;margin:1.375rem auto 0;font-size:1.1875rem;line-height:1.55}.ways-in{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1.75rem 0 0;display:flex}.ways-in__link{box-sizing:border-box;border:var(--border-strong);min-height:2.875rem;color:var(--color-text);border-radius:999px;align-items:center;gap:.5rem;padding:0 1.375rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.ways-in__link:hover{border-color:var(--color-text)}.ways-in__link:first-child{border-color:var(--color-text);background:var(--color-text);color:var(--color-background)}.ways-in__link+.ways-in__link:after{content:"→"}.hero-slider{--hero-slider-peek:var(--gutter);--hero-slider-depth:perspective(60rem) translateZ(-7rem);--hero-slider-fade:linear-gradient(to right, transparent, #000 var(--hero-slider-peek), #000 calc(100% - var(--hero-slider-peek)), transparent);margin:0 calc(-1 * var(--hero-slider-peek));padding:0 var(--hero-slider-peek);-webkit-mask-image:var(--hero-slider-fade);mask-image:var(--hero-slider-fade);overflow-x:clip}.hero-slider__slides{margin:0;padding:0;list-style:none;display:grid}.hero-slider__slide{z-index:3;grid-area:1/1;transition:transform .85s cubic-bezier(.2,.75,.15,1),opacity .2s;display:grid;transform:perspective(60rem)translateZ(0)translate(0)rotateY(0)scale(1)}.hero-slider__card{display:grid}.hero-slider__slide[data-position=next]{z-index:2;opacity:.7;cursor:pointer;transform:var(--hero-slider-depth) translateX(calc(14% + var(--hero-slider-peek))) rotateY(-22deg) scale(.86);transition-duration:.85s}.hero-slider__slide[data-position=previous]{z-index:2;opacity:.7;cursor:pointer;transform:var(--hero-slider-depth) translateX(calc(-14% - var(--hero-slider-peek))) rotateY(22deg) scale(.86);transition-duration:.85s}.hero-slider__slide[data-position=hidden]{z-index:1;opacity:0;transition-duration:.85s;transform:perspective(60rem)translateZ(-14rem)translate(0)rotateY(0)scale(.75)}.hero-slider__dots{justify-content:center;margin-top:-.75rem;display:flex}.hero-slider__dot{box-sizing:content-box;background:var(--color-line-strong) padding-box;cursor:pointer;border:.5rem solid #0000;border-radius:999px;width:.5rem;height:.5rem;padding:0;transition:width .45s cubic-bezier(.2,.75,.15,1);position:relative;overflow:hidden}.hero-slider__dot[aria-current=true]{width:2.25rem}.hero-slider__progress{background:var(--color-text);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.hero-slider__dot[aria-current=true] .hero-slider__progress{transform:none}.hero-slider[data-autoplay=on] .hero-slider__dot[aria-current=true] .hero-slider__progress{animation:9.6s linear hero-slider-progress}@keyframes hero-slider-progress{0%{transform:scaleX(0)}}@media (hover:hover){.hero-slider:hover .hero-slider__progress{animation-play-state:paused}}@media (width>=60rem){.hero-slider{--hero-slider-peek:4rem}.hero-slider__slides{width:75%;margin:0 auto}}@media (prefers-reduced-motion:reduce){.hero-slider__slide,.hero-slider__dot{transition:none}}.section{margin-top:var(--space-section);border-top:var(--border);padding-top:3.5rem}.section__title{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-heading);margin:0 0 1.75rem;font-weight:700;line-height:1.15}.section__more{margin:1rem 0 0}.section__link{text-decoration-color:var(--color-line-strong);text-underline-offset:.3em;padding:.625rem 0;font-size:.9375rem;font-weight:600;display:inline-block}.section__link:hover{text-decoration-color:currentColor}.section__link:after{content:"→";margin-left:.375rem;display:inline-block}.prose p{color:var(--color-prose);font-size:var(--font-size-reading);line-height:var(--line-height-reading);text-wrap:pretty;margin:1.25rem 0}.prose h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-heading);margin:3rem 0 1rem;font-weight:700;line-height:1.15}.prose strong{box-shadow:inset 0 -.36em 0 var(--color-marker);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:600}.prose a{text-decoration-color:var(--color-line-strong);text-underline-offset:.25em}.prose a:hover{text-decoration-color:currentColor}.prose ul{color:var(--color-prose);font-size:var(--font-size-reading);line-height:var(--line-height-reading);margin:1.25rem 0;padding-left:1.25rem}.prose li{margin:.375rem 0}.prose ol{counter-reset:prose-step;color:var(--color-prose);font-size:var(--font-size-reading);margin:1.5rem 0;padding:0;line-height:1.6;list-style:none}.prose ol li{counter-increment:prose-step;min-height:2.25rem;margin:1rem 0;padding:.225rem 0 0 3rem;position:relative}.prose ol li:before{content:counter(prose-step);background:var(--color-marker);width:2.25rem;height:2.25rem;color:var(--color-text);font-family:var(--font-label);border-radius:999px;justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;display:flex;position:absolute;top:0;left:0}.steps{counter-reset:steps-item;flex-direction:column;gap:1.75rem;margin:0;padding:0;list-style:none;display:flex}.steps__item{counter-increment:steps-item;padding-left:3.25rem;position:relative}.steps__item:before{content:counter(steps-item);background:var(--color-marker);width:2.25rem;height:2.25rem;color:var(--color-text);font-family:var(--font-label);border-radius:999px;justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;display:flex;position:absolute;top:0;left:0}.steps__title{letter-spacing:-.015em;margin:0;font-size:1.25rem;font-weight:700;line-height:2.25rem}.steps__text{max-width:42rem;color:var(--color-muted);font-size:var(--font-size-reading);line-height:var(--line-height-reading);text-wrap:pretty;margin:.25rem 0 0}.film-header{flex-wrap:wrap;gap:1.5rem 2rem;padding-top:1.625rem;display:flex}.film-header__poster{border:var(--border);border-radius:var(--radius-box);flex:none;align-self:flex-start;width:9rem;height:auto}.film-header__body{flex:18rem;min-width:0}.film-header__title{letter-spacing:var(--letter-spacing-title);text-wrap:balance;margin:0 0 1rem;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.08}.film-header__description{color:var(--color-prose);font-size:var(--font-size-reading);text-wrap:pretty;margin:0 0 1.5rem;line-height:1.6}.film-facts{border:var(--border);border-radius:var(--radius-card);grid-template-columns:max-content minmax(0,1fr);gap:.625rem 1.25rem;margin:0;padding:1rem 1.25rem;display:grid}.film-facts__term{color:var(--color-faint);font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:500;line-height:1.55rem}.film-facts__value{margin:0}.film-list{border:var(--border);border-radius:var(--radius-card);margin:0;padding:0;list-style:none;overflow:hidden}.film-list__item{box-sizing:border-box;border-bottom:var(--border);flex-wrap:wrap;align-items:center;gap:.25rem .875rem;min-height:3.75rem;padding:.625rem 1.25rem;display:flex;position:relative}.film-list__item:last-child{border-bottom:0}.film-list__item:hover{background:var(--color-surface)}.film-list__link{color:var(--color-text);font-size:1.0625rem;font-weight:600;text-decoration:none}.film-list__link:after{content:"";position:absolute;inset:0}.film-list__year{color:var(--color-faint);font-family:var(--font-label);font-size:.8125rem}.film-list__facts{align-items:center;gap:.5rem;margin-left:auto;display:flex}.film-list__level{border-radius:var(--radius-chip);background:var(--color-surface);height:1.5rem;font-family:var(--font-label);font-size:var(--font-size-label);align-items:center;padding:0 .5rem;font-weight:600;display:inline-flex}.film-list__level[data-level^=A]{background:var(--color-level-a)}.film-list__level[data-level=B1]{background:var(--color-level-b1)}.film-list__level[data-level=B2]{background:var(--color-level-b2)}.film-list__level[data-level^=C]{background:var(--color-level-c)}.film-list__speed{--speed-fill:100%;opacity:.8;color:#0000;background:linear-gradient(to top, var(--color-text) var(--speed-fill), var(--color-line-strong) var(--speed-fill));width:.67rem;height:1.4rem;-webkit-mask:var(--icon-speed) center / 100% 100% no-repeat;mask:var(--icon-speed) center / 100% 100% no-repeat;cursor:help;font-size:0;position:relative;overflow:hidden}.film-list__speed[data-speed=slow]{--speed-fill:34%}.film-list__speed[data-speed=standard]{--speed-fill:67%}.level-list{grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.level-list__link{border:var(--border);border-radius:var(--radius-card);color:var(--color-text);align-items:center;gap:1rem;padding:1.125rem;font-size:1.0625rem;font-weight:600;text-decoration:none;display:flex}.level-list__link:hover{border-color:var(--color-text)}.level-list__link:after{content:"→";margin-left:auto}.level-list__level{background:var(--color-surface);width:3.5rem;height:3.5rem;font-family:var(--font-label);border-radius:.75rem;flex:none;justify-content:center;align-items:center;font-size:1.125rem;font-weight:600;display:flex}.level-list__level[data-level^=A]{background:var(--color-level-a)}.level-list__level[data-level=B1]{background:var(--color-level-b1)}.level-list__level[data-level=B2]{background:var(--color-level-b2)}.level-list__level[data-level^=C]{background:var(--color-level-c)}.article-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.article-list__item{border:var(--border);border-radius:var(--radius-card);padding:1.5rem 3.5rem 1.5rem 1.5rem;position:relative}.article-list__item:hover{border-color:var(--color-text)}.article-list__item:after{content:"→";pointer-events:none;line-height:1.8rem;position:absolute;top:1.5rem;right:1.5rem}.article-list__link{color:var(--color-text);letter-spacing:-.02em;font-size:1.375rem;font-weight:700;line-height:1.3;text-decoration:none}.article-list__link:after{content:"";position:absolute;inset:0}.article-list__description{color:var(--color-muted);text-wrap:pretty;margin:.5rem 0 0}.card-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.card{border:var(--border);border-radius:var(--radius-card);padding:1.25rem;scroll-margin-top:1rem}.card__head{flex-wrap:wrap;align-items:center;gap:.375rem .75rem;display:flex}.card__base{letter-spacing:-.015em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.card__level{border-radius:var(--radius-chip);background:var(--color-surface);height:1.5rem;font-family:var(--font-label);font-size:var(--font-size-label);align-items:center;padding:0 .5rem;font-weight:600;display:inline-flex}.card__level[data-level^=A]{background:var(--color-level-a)}.card__level[data-level=B1]{background:var(--color-level-b1)}.card__level[data-level=B2]{background:var(--color-level-b2)}.card__level[data-level^=C]{background:var(--color-level-c)}.card__kind{color:var(--color-faint);font-family:var(--font-label);font-size:var(--font-size-label)}.card__meaning{color:var(--color-muted);margin:.5rem 0 0}.card__note{color:var(--color-faint);margin:.5rem 0 0;font-size:.9375rem;font-style:italic}.card__quote{border-radius:var(--radius-box);background:var(--color-surface);margin:1rem 0 0;padding:.875rem 1rem}.card__line{margin:0;font-size:1.0625rem;line-height:1.5}.card__line strong{background:var(--color-marker);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.3125rem;padding:.0625rem .375rem;font-weight:700}.card__time{color:var(--color-muted);font-family:var(--font-label);font-size:var(--font-size-label);letter-spacing:.05em;margin:.5rem 0 0;font-weight:500}.card__examples{color:var(--color-prose);margin:1rem 0 0;padding-left:1.25rem}.card__example{margin:.375rem 0}.card__example strong{box-shadow:inset 0 -.36em 0 var(--color-marker);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:600}.card__example-label{color:var(--color-faint);font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.related-links{margin-top:var(--space-section);border-top:var(--border);padding-top:3.5rem}.related-links__title{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-heading);margin:0 0 1.25rem;font-weight:700;line-height:1.15}.related-links__list{color:var(--color-muted);flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.related-links__link{color:var(--color-text);text-decoration-color:var(--color-line-strong);text-underline-offset:.25em;font-weight:600}.related-links__link:hover{text-decoration-color:currentColor}.last-updated{color:var(--color-faint);font-family:var(--font-label);font-size:var(--font-size-label);letter-spacing:.05em;text-transform:uppercase;margin:1.5rem 0 0;font-weight:500;line-height:1.6}.article-content{padding-top:1.625rem}.article-content__header{margin-bottom:2rem}.article-content__footer{margin-top:var(--space-section);border-top:var(--border);padding-top:1.5rem}.article-content__dates{color:var(--color-muted);font-family:var(--font-label);font-size:var(--font-size-label);letter-spacing:.05em;text-transform:uppercase;margin:.25rem 0 0;font-weight:500;line-height:1.6}.article-content__title{font-size:var(--font-size-title);letter-spacing:var(--letter-spacing-title);text-wrap:balance;margin:0 0 1rem;font-weight:700;line-height:1.05}.dialogue{margin:var(--space-block) 0;border:var(--border);background:var(--color-background);border-radius:1rem;flex-direction:column;display:flex;overflow:hidden}.dialogue__source{border-bottom:var(--border);background:var(--color-surface);order:-1;padding:.75rem 1.25rem}.dialogue__lines{flex-direction:column;flex-grow:1;justify-content:center;gap:.625rem;margin:0;padding:1.375rem 1.25rem;display:flex}.dialogue__line{font-size:var(--font-size-reading);margin:0;padding-left:5.375rem;line-height:1.5;position:relative}.dialogue__line strong{background:var(--color-marker);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.3125rem;padding:.0625rem .375rem;font-weight:700}.dialogue__character{width:4.75rem;color:var(--color-faint);font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:500;line-height:1.6875rem;position:absolute;top:0;left:0}.dialogue__meanings{border-top:var(--border-dashed);grid-template-columns:max-content minmax(0,1fr);gap:.625rem .75rem;margin:0;padding:1rem 1.25rem 1.125rem;display:grid}.dialogue__base{font-weight:700}.dialogue__meaning{color:var(--color-muted);margin:0}.scene-source{color:var(--color-muted);font-family:var(--font-label);font-size:var(--font-size-label);letter-spacing:.05em;text-transform:uppercase;margin:0;font-weight:500;line-height:1.6}.scene-source__film{text-underline-offset:.3em}.phrase-list{margin:var(--space-block) 0;flex-direction:column;gap:1rem;padding:0;list-style:none;display:flex}.phrase-list__item{border:var(--border);border-radius:1rem;grid-template:".quote"1fr"base quote""meaning quote"".quote"1fr/minmax(0,1fr) minmax(0,1.3fr);column-gap:1.75rem;padding:1.25rem;display:grid}.phrase-list__base{letter-spacing:-.015em;grid-area:base;margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.phrase-list__meaning{color:var(--color-muted);grid-area:meaning;margin:.375rem 0 0;line-height:1.5}.phrase-list__quote{border-radius:var(--radius-box);background:var(--color-surface);flex-direction:column;grid-area:quote;gap:.5rem;margin:0;padding:.875rem 1rem;display:flex}.phrase-list__line{margin:0;font-size:1.0625rem;line-height:1.5}.phrase-list__line strong{background:var(--color-marker);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.3125rem;padding:.0625rem .375rem;font-weight:700}.site-footer{border-top:var(--border);background:var(--color-surface);margin-top:6rem}.site-footer__nav{max-width:var(--width-page-with-gutters);padding:2.75rem var(--gutter) 3.25rem;box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(min(12.5rem,100%),1fr));gap:1.75rem 2rem;margin:0 auto;display:grid}.site-footer__title{margin:0;font-size:.9375rem;font-weight:700;line-height:2.75rem}.site-footer__list{margin:0;padding:0;list-style:none}.site-footer__link{min-height:2.75rem;color:var(--color-muted);align-items:center;font-size:.9375rem;text-decoration:none;display:inline-flex}.site-footer__link:hover{color:var(--color-text)}.site-footer__title .site-footer__link{color:var(--color-text);font-weight:700}@media (width<=40rem){.dialogue__line{padding-left:0}.dialogue__character{width:auto;line-height:1.5;display:block;position:static}.dialogue__meanings{grid-template-columns:minmax(0,1fr);gap:0}.dialogue__meaning+.dialogue__base{margin-top:.75rem}.phrase-list__item{grid-template:"base""meaning""quote"/minmax(0,1fr)}.phrase-list__quote{margin-top:1rem}}
