:root{--bg:#14101f;--fg:#f5f3fa;--muted:#b8b2c8;--accent:#ff4f81;--sheet:#1f1930;--tap:44px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Hiragino Sans,sans-serif;line-height:1.6}body{max-width:480px;min-height:100dvh;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);margin-inline:auto}a{color:var(--accent)}.page{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.page h1{font-size:1.25rem}.swipe{touch-action:none;overscroll-behavior:none;background:#000;height:100dvh;position:relative;overflow:hidden}.swipe__poster{object-fit:cover;width:100%;height:100%;display:block}.swipe__overlay{padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#000000d9 40%);flex-direction:column;gap:12px;display:flex;position:absolute;inset:auto 0 0}.swipe__top{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:linear-gradient(#0009,#0000);align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.swipe__name{margin:0;font-size:1.25rem}.swipe__meta{flex-direction:column;gap:2px;display:flex}.swipe__cast{color:#fff;font-size:1.1rem;font-weight:700;text-decoration:none}.swipe__work{color:#ffffffd9;font-size:.9rem}.swipe__actions{gap:8px;display:flex}.btn{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--accent);color:var(--fg);cursor:pointer;background:0 0;border-radius:22px;justify-content:center;align-items:center;padding:0 16px;font-size:1rem;text-decoration:none;display:inline-flex}.btn--primary{background:var(--accent);color:#fff;flex:1}.pr{color:#fff;background:#444;border-radius:4px;padding:2px 8px;font-size:.75rem;display:inline-block}.chips{gap:8px;display:flex;overflow-x:auto}.chip{min-height:var(--tap);border:1px solid var(--muted);color:var(--fg);white-space:nowrap;background:0 0;border-radius:22px;padding:0 14px}.drawer{background:var(--sheet);max-width:480px;max-height:80dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));visibility:hidden;z-index:10;border-radius:16px 16px 0 0;margin-inline:auto;transition:transform .2s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.drawer[data-open=true]{visibility:visible;transform:none}.drawer__list{padding-left:0;list-style:none}.drawer__close{min-height:var(--tap)}@media (prefers-reduced-motion:reduce){.drawer{transition:none}}.swipe__track{background:#000;position:absolute;inset:0}.swipe__slide{will-change:transform;transition:transform .25s;position:absolute;inset:0;transform:translateY(100%)}.swipe__slide--current{transform:none}.swipe__slide--prev{transform:translateY(-100%)}.swipe__slide--next{transform:translateY(100%)}@media (prefers-reduced-motion:reduce){.swipe__slide{transition:none}}[hidden]{display:none!important}.age-gate{z-index:100;background:#000000f0;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.age-gate__box{background:var(--sheet);width:100%;max-width:360px;padding:24px 20px calc(24px + env(safe-area-inset-bottom));text-align:center;border-radius:16px}.age-gate__box h2{margin:0 0 8px;font-size:1.25rem}.age-gate__actions{flex-direction:column;gap:12px;margin-top:16px;display:flex}.age-gate__actions .btn--primary{flex:none}.genre-band{z-index:5;background:#14101fd9;align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative}.genre-band__title{white-space:nowrap;margin:0;font-size:.875rem}.genre-band .chips{flex:1}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.drawer-backdrop{z-index:9;background:#00000080;position:fixed;inset:0}.works-page .pr{margin-bottom:8px;display:inline-block}.works-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.works-list__item{border-bottom:1px solid var(--sheet);flex-direction:column;gap:8px;padding-bottom:12px;scroll-margin-top:8px;display:flex}.works-list__open{min-height:var(--tap);color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:12px;padding:0;display:flex}.works-list__thumb{object-fit:cover;background:var(--sheet);border-radius:8px;flex:none;width:120px;height:80px}.works-list__body{flex-direction:column;gap:4px;min-width:0;display:flex}.works-list__title{overflow-wrap:anywhere;font-weight:600}.works-list__date{color:var(--muted);font-size:.875rem}.works-pager{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.drawer__cast-link{margin:12px 0 0}.drawer__work{width:100%;min-height:var(--tap);color:var(--fg);font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:var(--muted);background:0 0;border:0;padding:8px 0;display:block}body.is-overlay-open{overflow:hidden}.works-overlay{z-index:50;max-width:480px;height:100dvh;margin-inline:auto;position:fixed;inset:0}.works-overlay__close{background:#00000080;margin-left:auto}.swipe__overlay,.swipe__top>:not([data-always-visible]){transition:opacity .25s,visibility .25s}.is-ui-hidden .swipe__overlay,.is-ui-hidden .swipe__top>:not([data-always-visible]){opacity:0;visibility:hidden;pointer-events:none}@media (prefers-reduced-motion:reduce){.swipe__overlay,.swipe__top>:not([data-always-visible]){transition:none}}@media (orientation:landscape) and (pointer:coarse){body:has(>.swipe),body.is-overlay-open{max-width:none}.swipe,.works-overlay{width:100dvw;max-width:none;height:100dvh;margin-inline:0}.swipe__poster{object-fit:contain}.swipe__top{padding:calc(6px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 6px calc(12px + env(safe-area-inset-left))}.swipe__name{font-size:1rem}.swipe__top .pr{background:#000000bf;border:1px solid #fff9;font-size:.8rem}.swipe__overlay{padding:8px calc(12px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:8px 12px}.swipe__overlay .genre-band{flex:0 0 100%}.swipe__meta{flex:auto;min-width:0}.swipe__actions,.swipe .btn--primary,.works-overlay .btn--primary{flex:none}.drawer{width:min(420px,60vw);max-width:none;height:100dvh;max-height:none;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) 16px;border-radius:16px 0 0 16px;margin:0;inset:0 0 0 auto;transform:translate(100%)}.drawer[data-open=true]{transform:none}}
