/* Apple Design refines interaction, not the user's existing art direction. */
:root{--ink:#292439;--secondary:#51475e;--glass:rgba(255,255,255,.46);--surface:rgba(255,255,255,.48);--line:rgba(255,255,255,.65);--quiet:rgba(255,255,255,.32);--accent:#7057a4;--accent-fill:#8e6bc3;--shadow:0 12px 36px rgba(73,43,89,.12)}
html{min-height:100%;background:#e8dbe8}body{isolation:isolate;min-height:100svh;background:transparent!important}
body::before{background:rgba(47,27,63,.12)!important;z-index:-1}
.bg-layer{display:block!important;position:fixed;inset:0;background-size:cover;background-position:center;pointer-events:none;transition:none;will-change:opacity}
.glass-header,.glass-panel,.reader-card,.account-page .panel{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:var(--shadow)}
.glass-header{border-width:0 0 1px;background:rgba(255,255,255,.38)}.main-space{padding-top:1.5rem}
.search-row{background:rgba(255,255,255,.4);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.nav-card{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.52)}.tabs-row{background:rgba(255,255,255,.28)}.segmented-thumb{background:rgba(255,255,255,.75)}
.notice-marquee-wrap{height:3rem!important;min-height:3rem;margin:0 0 1.25rem!important;padding:0!important;overflow:hidden;border:1px solid var(--line)!important;border-radius:1rem!important;background:rgba(255,255,255,.4)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)}
.notice-marquee-track{display:flex!important;animation:notice-scroll 22s linear infinite!important;transform:translateX(0);width:max-content!important;min-width:100%!important;will-change:transform}
.notice-marquee-text{display:block!important;flex-shrink:0;white-space:nowrap!important;padding:0 2rem!important;line-height:3rem!important;color:#60437e!important;font-size:.9rem!important;font-weight:600!important;text-shadow:none!important}
.notice-marquee-wrap:hover .notice-marquee-track,.notice-marquee-wrap:focus-within .notice-marquee-track{animation-play-state:paused!important}.notice-marquee-text[aria-hidden]{display:block}
.film-marquee{transform:translate3d(0,0,0);will-change:transform}.film-wrap{scroll-snap-type:x mandatory}.film-info{color:#fff}
.site-footer{padding-bottom:3rem}.site-footer a{color:var(--ink)!important}
#bg-dots{position:fixed;inset:auto 1rem 1rem auto;z-index:80;display:flex!important;align-items:center;gap:.25rem;width:max-content;pointer-events:auto;padding:.35rem .5rem;border-radius:999px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.48);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);box-shadow:0 6px 24px rgba(61,36,80,.12)}
#bg-dots button{display:grid;place-items:center;min-width:2.2rem;min-height:2.2rem;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:1.15rem;cursor:pointer;padding:0}
#bg-dots .bg-dot{min-width:1.25rem;width:1.25rem;min-height:2.2rem;height:2.2rem;margin:0;border-radius:999px;background:transparent;position:relative}
#bg-dots .bg-dot::after{content:"";width:.4rem;height:.4rem;border-radius:999px;background:rgba(63,40,82,.28)}#bg-dots .bg-dot.active::after{background:#7450a1;width:.9rem}.bg-count{font-size:.72rem;color:var(--secondary);padding:0 .3rem;font-variant-numeric:tabular-nums}
.account-topbar{height:4.5rem;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,3rem);background:rgba(255,255,255,.24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.4)}
.account-topbar a{font-size:.86rem;text-decoration:none}.account-topbar span{font-size:.82rem;color:var(--secondary)}
.account-page #bg-dots{position:absolute;bottom:1rem}
.account-page main{min-height:calc(100svh - 4.5rem);max-width:68rem!important;width:100%;margin:0 auto!important;padding:2rem 1.25rem 5rem!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}
.account-page #login-panel{width:min(25rem,100%);max-width:25rem;min-height:34rem;margin:0;padding:2.2rem;display:flex;flex-direction:column;justify-content:center;border-radius:1.8rem;background:rgba(255,255,255,.48);backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);box-shadow:0 20px 64px rgba(70,38,88,.17)}
.login-logo{width:3.7rem;height:3.7rem;object-fit:contain;margin:0 auto .5rem}.login-eyebrow{font-size:.72rem;letter-spacing:.15em;color:var(--secondary);text-align:center;margin:.5rem 0 0}
.account-page #login-panel h1{font-size:2rem;margin:.75rem 0 .8rem;text-align:center;letter-spacing:-.04em;line-height:1.2}.account-page #login-panel .login-welcome{text-align:center;font-size:.86rem;line-height:1.8;margin:0 0 1.8rem;color:var(--secondary)}
.account-page #login-form{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:1.1rem}.account-page #login-form label{display:flex;flex-direction:column;width:100%;gap:.5rem;font-size:.86rem}
.account-page #login-form input{width:100%;height:3.1rem;min-height:3.1rem;background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.72);border-radius:.85rem;padding:.8rem 1rem;color:var(--ink)}
.account-page #login-form button{width:100%;height:3.1rem;border-radius:.85rem;margin-top:.35rem;background:linear-gradient(110deg,#9b78c5,#7f69bb);box-shadow:0 6px 18px rgba(113,78,163,.2);color:#fff}
.login-permission{text-align:center;font-size:.74rem;color:var(--secondary);line-height:1.8;margin:1.4rem 0 0}
.account-page #message{max-width:25rem;box-sizing:border-box;text-align:center;background:rgba(255,255,255,.65);border-radius:.8rem;padding:.65rem 1rem;margin:0;backdrop-filter:blur(16px)}
.account-page.is-authenticated main{display:block;min-height:calc(100svh - 4.5rem);padding-top:1rem!important}.account-page.is-authenticated #message{margin:1rem 0}.account-page #member-panel{width:100%}.account-page .member-heading h1{font-size:2rem;margin:1.5rem 0 .5rem}.account-page .member-heading p{font-size:.88rem;max-width:40rem}
@media(prefers-color-scheme:dark){:root{--ink:#f6f1fb;--secondary:#e0d5ed;--glass:rgba(35,28,49,.56);--surface:rgba(35,28,49,.56);--quiet:rgba(255,255,255,.15);--line:rgba(255,255,255,.22);--accent:#e0c8ff}body::before{background:rgba(26,16,42,.28)!important}.glass-header,.account-topbar{background:rgba(35,28,49,.45)}.nav-card{background:rgba(35,28,49,.15)}.search-row,.notice-marquee-wrap{background:rgba(35,28,49,.5)!important}.notice-marquee-text{color:#f3ddff!important}.segmented-thumb{background:rgba(255,255,255,.2)}#bg-dots{background:rgba(35,28,49,.6)}#bg-dots .bg-dot::after{background:rgba(255,255,255,.45)}#bg-dots .bg-dot.active::after{background:#e5c9ff}.account-page #login-panel{background:rgba(35,28,49,.52)}.account-page #login-form input,.account-page #message{background:rgba(35,28,49,.56);border-color:rgba(255,255,255,.3)}}
@media(max-width:720px){.account-page main{padding:1.5rem 1rem 5rem!important}.account-page #login-panel{padding:1.75rem;min-height:33rem}.account-topbar{height:3.75rem}.account-page main{min-height:calc(100svh - 3.75rem)}.header-inner{padding:.65rem 0}.top-nav{justify-content:flex-end}.main-space{padding-top:1rem}}
@media(prefers-reduced-transparency:reduce){.glass-header,.glass-panel,.reader-card,.account-page .panel,.account-page #login-panel,.search-row,#bg-dots,.account-topbar{background:rgba(250,246,255,.96)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#292439}.account-page #login-panel{--secondary:#51475e;--ink:#292439}}
@media(prefers-contrast:more){.glass-panel,.account-page .panel,.reader-card{background:rgba(255,255,255,.96)!important;color:#17121e;--ink:#17121e;--secondary:#292439;border:2px solid #292439}}
@media(prefers-reduced-motion:reduce){.notice-marquee-track{animation:none!important;min-width:0!important;width:100%!important}.notice-marquee-text{white-space:normal!important;line-height:1.7!important;padding:.75rem 1rem!important}.notice-marquee-text[aria-hidden]{display:none!important}.notice-marquee-wrap{height:auto!important}.bg-layer{will-change:auto}}
