:root{--color-bg:#0f1040;--color-bg-elevated-start:#2a2b6e;--color-bg-elevated-end:#1a1b4b;--color-card-gradient:linear-gradient(135deg, var(--color-bg-elevated-start) 0%, var(--color-bg-elevated-end) 100%);--color-text:#f4eeff;--color-text-input:#f2efff;--color-text-secondary:#d6cfe8;--color-text-muted:#9c94b8;--color-text-dim:#b9b1d4;--color-text-dim-2:#b8b0d0;--color-heading:#ffeec2;--color-accent:#ffd39a;--color-accent-soft:#ffe0b5;--color-on-accent:var(--color-bg);--color-bg-scrim:#0f1040eb;--color-input-bg:#0a0a1e80;--color-input-border:#ffffff1f;--color-image-scrim:#0f10408c;--color-image-scrim-hover:#0f1040bf;--color-scheme:dark;--overlay-03:#ffffff08;--overlay-04:#ffffff0a;--overlay-05:#ffffff0d;--overlay-06:#ffffff0f;--overlay-07:#ffffff12;--overlay-08:#ffffff14;--overlay-10:#ffffff1a;--overlay-12:#ffffff1f;--overlay-14:#ffffff24;--overlay-15:#ffffff26;--overlay-16:#ffffff29;--overlay-22:#ffffff38;--overlay-25:#ffffff40;--overlay-28:#ffffff47;--color-stroke:#ffffff80;--color-stroke-strong:#ffffffa6;--color-text-strong:#fff;--color-text-warm:#fff6e6;--color-success-text:#a5e8bd;--color-warn-text:#ffd591;--color-link:#b6a8ff;--color-favorite:#ff6b8b;--accent-rgb:255, 211, 154;--warn-rgb:255, 196, 84;--success-rgb:144, 238, 144;--danger-rgb:255, 107, 139;--color-info-bg:#9affc01a;--color-info-border:#9affc059;--color-info-text:#c5f5d6;--color-danger-bg:#ff6b8b24;--color-danger-bg-strong:#ff6b8b47;--color-danger-border:#ff6b8b66;--color-danger-text:#ffc7d2}:root[data-theme=pink]{--color-bg:#e3b7c7;--color-bg-elevated-start:#f2d6e0;--color-bg-elevated-end:#e9c4d2;--color-text:#3a1b27;--color-text-input:#3a1b27;--color-text-secondary:#63394a;--color-text-muted:#7a5062;--color-text-dim:#6d4557;--color-text-dim-2:#7a5062;--color-heading:#8a2450;--color-accent:#9e3159;--color-accent-soft:#862349;--color-on-accent:#fff3f8;--color-bg-scrim:#e3b7c7f0;--color-input-bg:#ffffff8c;--color-input-border:#6e2d484d;--color-image-scrim:#3a1b2780;--color-image-scrim-hover:#3a1b27b3;--color-scheme:light;--overlay-03:#6e2d480a;--overlay-04:#6e2d480d;--overlay-05:#6e2d480f;--overlay-06:#6e2d4812;--overlay-07:#6e2d4814;--overlay-08:#6e2d481a;--overlay-10:#6e2d481f;--overlay-12:#6e2d4829;--overlay-14:#6e2d482e;--overlay-15:#6e2d4833;--overlay-16:#6e2d4838;--overlay-22:#6e2d484d;--overlay-25:#6e2d4857;--overlay-28:#6e2d4861;--color-stroke:#6e2d488c;--color-stroke-strong:#6e2d48b8;--color-text-strong:#2a1019;--color-text-warm:#3a1b27;--color-success-text:#14603d;--color-warn-text:#7f4d0e;--color-link:#5b3aa8;--color-favorite:#c81e4a;--accent-rgb:158, 49, 89;--warn-rgb:176, 108, 20;--success-rgb:20, 120, 74;--danger-rgb:170, 26, 60;--color-info-bg:#e2f5ead9;--color-info-border:#14784a66;--color-info-text:#14603d;--color-danger-bg:#aa1a3c1a;--color-danger-bg-strong:#aa1a3c33;--color-danger-border:#aa1a3c6b;--color-danger-text:#931233}:root[data-theme=winter]{--color-bg:#08131f;--color-bg-elevated-start:#173049;--color-bg-elevated-end:#0f2236;--color-text:#eaf2ff;--color-text-input:#eaf2ff;--color-text-secondary:#c6d6ea;--color-text-muted:#8ea3bd;--color-text-dim:#a9bcd3;--color-text-dim-2:#a3b6cd;--color-heading:#f4f8ff;--color-accent:#9ad8ff;--color-accent-soft:#c5ebff;--color-on-accent:#08131f;--color-bg-scrim:#08131feb;--color-image-scrim:#08131f8c;--color-image-scrim-hover:#08131fbf;--color-text-warm:#f2f7ff;--color-link:#ffd8a8;--color-favorite:#ff8aa0;--accent-rgb:154, 216, 255;--color-warn-text:#ffd8a8}:root[data-theme=winter] body:before{background-image:radial-gradient(2px 2px at 8% 12%,#ffffffb3,#0000),radial-gradient(1.5px 1.5px at 22% 40%,#ffffff80,#0000),radial-gradient(2.5px 2.5px at 35% 78%,#ffffff8c,#0000),radial-gradient(1.5px 1.5px at 48% 22%,#fff9,#0000),radial-gradient(2px 2px at 61% 58%,#ffffff80,#0000),radial-gradient(1px 1px at 72% 30%,#ffffff8c,#0000),radial-gradient(2.5px 2.5px at 84% 70%,#fff9,#0000),radial-gradient(1.5px 1.5px at 92% 18%,#ffffff73,#0000),radial-gradient(2px 2px at 15% 88%,#ffffff80,#0000),radial-gradient(1.5px 1.5px at 55% 92%,#ffffff80,#0000)}:root[data-theme=sommer]{--color-bg:#f1dcb4;--color-bg-elevated-start:#fff4dc;--color-bg-elevated-end:#f8e6c2;--color-text:#3a2a14;--color-text-input:#3a2a14;--color-text-secondary:#5f4a2a;--color-text-muted:#7a6242;--color-text-dim:#6e5636;--color-text-dim-2:#7a6242;--color-heading:#a84a17;--color-accent:#d9662a;--color-accent-soft:#b8521c;--color-on-accent:#fff8ee;--color-bg-scrim:#f1dcb4f0;--color-input-bg:#ffffff8c;--color-input-border:#7846144d;--color-image-scrim:#3a2a1480;--color-image-scrim-hover:#3a2a14b3;--color-scheme:light;--overlay-03:#7846140a;--overlay-04:#7846140d;--overlay-05:#7846140f;--overlay-06:#78461412;--overlay-07:#78461414;--overlay-08:#7846141a;--overlay-10:#7846141f;--overlay-12:#78461429;--overlay-14:#7846142e;--overlay-15:#78461433;--overlay-16:#78461438;--overlay-22:#7846144d;--overlay-25:#78461457;--overlay-28:#78461461;--color-stroke:#7846148c;--color-stroke-strong:#784614b8;--color-text-strong:#2a1c0c;--color-text-warm:#3a2a14;--color-success-text:#14603d;--color-warn-text:#7f4d0e;--color-link:#1f6f8b;--color-favorite:#e0457b;--accent-rgb:217, 102, 42;--warn-rgb:176, 108, 20;--success-rgb:20, 120, 74;--danger-rgb:170, 26, 60;--color-info-bg:#e2f5ead9;--color-info-border:#14784a66;--color-info-text:#14603d;--color-danger-bg:#aa1a3c1a;--color-danger-bg-strong:#aa1a3c33;--color-danger-border:#aa1a3c6b;--color-danger-text:#931233}:root[data-theme=sommer]:not(.dim-mode) body{background-image:radial-gradient(ellipse at 15% 0%, #ffe9b8 0%, transparent 55%), radial-gradient(ellipse at 85% 100%, #bfe0d8 0%, transparent 55%), linear-gradient(180deg, var(--color-bg) 0%, #e9cf9f 100%)}:root[data-theme=fruehling]{--color-bg:#dfeacc;--color-bg-elevated-start:#f6faee;--color-bg-elevated-end:#e9f1da;--color-text:#22331a;--color-text-input:#22331a;--color-text-secondary:#46593a;--color-text-muted:#65775a;--color-text-dim:#5a6d4e;--color-text-dim-2:#65775a;--color-heading:#b93d6b;--color-accent:#d0507a;--color-accent-soft:#b23a62;--color-on-accent:#fff5f8;--color-bg-scrim:#dfeaccf0;--color-input-bg:#ffffff8c;--color-input-border:#28461e47;--color-image-scrim:#22331a80;--color-image-scrim-hover:#22331ab3;--color-scheme:light;--overlay-03:#28461e0a;--overlay-04:#28461e0d;--overlay-05:#28461e0f;--overlay-06:#28461e12;--overlay-07:#28461e14;--overlay-08:#28461e1a;--overlay-10:#28461e1f;--overlay-12:#28461e29;--overlay-14:#28461e2e;--overlay-15:#28461e33;--overlay-16:#28461e38;--overlay-22:#28461e4d;--overlay-25:#28461e57;--overlay-28:#28461e61;--color-stroke:#28461e8c;--color-stroke-strong:#28461eb8;--color-text-strong:#17240f;--color-text-warm:#22331a;--color-success-text:#14603d;--color-warn-text:#7f4d0e;--color-link:#2f7a3f;--color-favorite:#d0507a;--accent-rgb:208, 80, 122;--warn-rgb:176, 108, 20;--success-rgb:20, 120, 74;--danger-rgb:170, 26, 60;--color-info-bg:#e2f5ead9;--color-info-border:#14784a66;--color-info-text:#14603d;--color-danger-bg:#aa1a3c1a;--color-danger-bg-strong:#aa1a3c33;--color-danger-border:#aa1a3c6b;--color-danger-text:#931233}:root[data-theme=fruehling]:not(.dim-mode) body{background-image:radial-gradient(ellipse at 20% 0%, #f7f2d8 0%, transparent 55%), radial-gradient(ellipse at 80% 100%, #c9e3c1 0%, transparent 55%), linear-gradient(180deg, var(--color-bg) 0%, #d1e0bd 100%)}:root[data-theme=herbst]{--color-bg:#221410;--color-bg-elevated-start:#4a2c1c;--color-bg-elevated-end:#35201a;--color-text:#fbeede;--color-text-input:#fbeede;--color-text-secondary:#e2cdb6;--color-text-muted:#b39a82;--color-text-dim:#cbb59d;--color-text-dim-2:#c4ae96;--color-heading:#ffe9c9;--color-accent:#f2a541;--color-accent-soft:#ffc46e;--color-on-accent:#221410;--color-bg-scrim:#221410eb;--color-image-scrim:#2214108c;--color-image-scrim-hover:#221410bf;--color-text-warm:#fff1dc;--color-link:#ffd18a;--color-favorite:#ff7a6b;--accent-rgb:242, 165, 65;--color-warn-text:#ffd18a}:root[data-theme=herbst] body:before{background-image:none}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(ellipse at 20% 0%, var(--color-bg-elevated-start) 0%, transparent 55%), radial-gradient(ellipse at 80% 100%, var(--color-bg-elevated-end) 0%, transparent 60%), linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-elevated-end) 100%);color-scheme:var(--color-scheme);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;font-family:Quicksand,ui-rounded,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff9,#0000),radial-gradient(1px 1px at 42% 82%,#ffffff73,#0000),radial-gradient(1.5px 1.5px at 78% 28%,#ffffff8c,#0000),radial-gradient(1px 1px at 88% 74%,#fff6,#0000),radial-gradient(1px 1px at 26% 58%,#ffffff59,#0000);position:fixed;inset:0}:root[data-theme=pink] body:before,:root[data-theme=sommer] body:before,:root[data-theme=fruehling] body:before{background-image:none}:root[data-theme=pink]:not(.dim-mode) body{background-image:radial-gradient(ellipse at 20% 0%, #dda9be 0%, transparent 55%), radial-gradient(ellipse at 80% 100%, #d59db4 0%, transparent 60%), linear-gradient(180deg, var(--color-bg) 0%, #d9a3b9 100%)}html[data-theme=pink].dim-mode,html[data-theme=sommer].dim-mode,html[data-theme=fruehling].dim-mode{--color-text:#f4eeff;--color-text-input:#f2efff;--color-text-secondary:#d6cfe8;--color-text-muted:#9c94b8;--color-text-dim:#b9b1d4;--color-text-dim-2:#b8b0d0;--color-text-strong:#fff;--color-text-warm:#fff6e6;--color-heading:#f2c6d6;--color-accent:#f0a9c2;--color-accent-soft:#f7c5d7;--color-on-accent:#1a0c12;--accent-rgb:240, 169, 194;--color-input-bg:#0a0a1e80;--color-input-border:#ffffff1f;--color-stroke:#ffffff80;--color-stroke-strong:#ffffffa6;--overlay-03:#ffffff08;--overlay-04:#ffffff0a;--overlay-05:#ffffff0d;--overlay-06:#ffffff0f;--overlay-07:#ffffff12;--overlay-08:#ffffff14;--overlay-10:#ffffff1a;--overlay-12:#ffffff1f;--overlay-14:#ffffff24;--overlay-15:#ffffff26;--overlay-16:#ffffff29;--overlay-22:#ffffff38;--overlay-25:#ffffff40;--overlay-28:#ffffff47;--color-bg-elevated-start:#2a1b2a;--color-bg-elevated-end:#1a1020;--color-scheme:dark}#app{z-index:1;position:relative}h1,h2,h3{letter-spacing:-.01em;color:var(--color-heading);margin:0;font-family:Fraunces,Cochin,Georgia,serif;font-weight:600;line-height:1.2}a{color:var(--color-accent);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}img{max-width:100%;height:auto;display:block}.home,.story-view{max-width:1200px;padding:24px 16px 48px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-top:max(24px, env(safe-area-inset-top));margin:0 auto;position:relative}.admin-fab{top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));background:var(--overlay-06);border:1px solid var(--overlay-14);width:42px;height:42px;color:var(--color-text);z-index:5;border-radius:999px;justify-content:center;align-items:center;font-size:1.2rem;text-decoration:none;transition:background .15s,border-color .15s,transform .12s;display:inline-flex;position:absolute}.admin-fab:hover,.admin-fab:focus-visible{background:var(--overlay-14);border-color:rgba(var(--accent-rgb), .5);outline:none;transform:scale(1.05)}.changelog-fab{top:max(18px, env(safe-area-inset-top));right:calc(max(18px, env(safe-area-inset-right)) + 50px);background:var(--overlay-06);border:1px solid var(--overlay-14);width:42px;height:42px;color:var(--color-text);z-index:5;border-radius:999px;justify-content:center;align-items:center;font-size:1.2rem;text-decoration:none;transition:background .15s,border-color .15s,transform .12s;display:inline-flex;position:absolute}.changelog-fab:hover,.changelog-fab:focus-visible{background:var(--overlay-14);border-color:rgba(var(--accent-rgb), .5);outline:none;transform:scale(1.05)}.story-view{max-width:720px;padding-bottom:140px}@media (width<=767px){.story-view:has(.picture-book-viewer){padding-bottom:200px}}@media (width>=768px){.home,.story-view{padding:40px 32px 64px;padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right))}.story-view{padding-bottom:64px}}.hero{text-align:center;padding:56px 16px 32px}@media (width>=520px){.hero{padding:24px 8px 32px}}.hero__moon{width:72px;height:72px;filter:drop-shadow(0 0 24px rgba(var(--accent-rgb), .45));margin:0 auto 16px}.hero__title{margin-bottom:12px;font-size:clamp(2rem,1.4rem + 3vw,3.2rem)}.hero__subtitle{color:var(--color-text-secondary);max-width:32ch;margin:0 auto;font-size:1.05rem}.hero__title-skeleton{flex-direction:column;align-items:center;gap:12px;display:flex}.skeleton--hero-title{border-radius:12px;width:min(70vw,340px);height:clamp(2rem,1.4rem + 3vw,3.2rem)}.skeleton--hero-subtitle{width:min(60vw,280px);height:1.05rem}.onboarding-banner{background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .3);text-align:left;border-radius:14px;max-width:560px;margin:0 auto 24px;padding:16px 18px}.onboarding-banner__title{color:var(--color-text-warm);margin:0 0 10px;font-weight:600}.onboarding-banner__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.onboarding-banner__list a{color:var(--color-accent);font-size:.92rem;text-decoration:none;display:block}.onboarding-banner__list a:hover{text-decoration:underline}.onboarding-banner__actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.onboarding-banner__error{color:rgb(var(--danger-rgb));font-size:.85rem}.countdown{background:var(--overlay-05);border:1px solid rgba(var(--accent-rgb), .2);border-radius:18px;flex-direction:column;align-items:center;gap:4px;margin-top:24px;padding:14px 22px;display:inline-flex;box-shadow:0 10px 30px #00000040}.countdown__label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-dim);font-size:.78rem}.countdown__when{color:var(--color-text-secondary);font-size:.95rem}.countdown__time{color:var(--color-accent);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-family:Fraunces,Cochin,Georgia,serif;font-size:1.35rem}@media (width>=768px){.countdown__time{font-size:1.5rem}}.today-card{text-align:left;max-width:640px;color:inherit;background:var(--overlay-05);border:1px solid rgba(var(--accent-rgb), .35);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .08), 0 18px 50px #00000059;border-radius:22px;margin:28px auto 0;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.today-card:hover{border-color:rgba(var(--accent-rgb), .6);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .15), 0 22px 60px #0006;transform:translateY(-2px)}.today-card:has(>.today-card__link:focus-visible){border-color:rgba(var(--accent-rgb), .6);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .15), 0 22px 60px #0006;transform:translateY(-2px)}.today-card:has(>.today-card__link:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.today-card__link{color:inherit;flex-direction:column;text-decoration:none;display:flex}.today-card__link:hover,.today-card__link:focus-visible{outline:none;text-decoration:none}.today-card__actions{z-index:1;gap:8px;display:flex;position:absolute;top:10px;right:10px}.today-card__image-wrap{aspect-ratio:16/9;background:var(--color-card-gradient);position:relative}.today-card__image{object-fit:cover;object-position:center 30%;width:100%;height:100%}.today-card__image--placeholder{display:block}.today-card--read .today-card__image{opacity:.7}.today-card__body{flex-direction:column;gap:8px;padding:18px 20px 22px;display:flex}.today-cards{gap:16px;display:grid}@media (width>=720px){.today-cards--many{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.story-card__stream{color:var(--color-accent)}.today-card__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-size:.78rem}.today-card--read .today-card__eyebrow{color:var(--color-text-dim)}.today-card__title{margin:0;font-size:clamp(1.4rem,1.1rem + 1.4vw,1.9rem)}.today-card__preview{color:var(--color-text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.today-card__cta{color:var(--color-accent);margin-top:6px;font-weight:600}@media (width>=768px){.today-card{max-width:760px}.today-card__link{flex-direction:row}.today-card__image-wrap{aspect-ratio:auto;flex:0 0 42%}.today-card__body{flex:1;justify-content:center;padding:24px 28px}}.story-card__actions{z-index:1;gap:8px;display:flex;position:absolute;top:10px;right:10px}.read-toggle{background:var(--color-image-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background .18s,transform .12s;display:flex}.read-toggle:hover{background:var(--color-image-scrim-hover);transform:scale(1.1)}.read-toggle__icon{width:20px;height:20px}.read-toggle__icon circle,.read-toggle__icon path{stroke:var(--color-stroke)}.read-toggle--read{background:var(--color-accent)}.read-toggle--read:hover{background:var(--color-accent-soft)}.read-toggle--read .read-toggle__icon circle,.read-toggle--read .read-toggle__icon path{stroke:var(--color-bg)}.story-toolbar{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:18px;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px;display:flex}.story-toolbar__search{align-items:center;display:flex;position:relative}.story-toolbar__search-icon{width:18px;height:18px;color:var(--color-text-dim);pointer-events:none;position:absolute;left:12px}.story-toolbar__search-input{border:1px solid var(--overlay-12);background:var(--overlay-06);width:100%;height:44px;color:var(--color-text);border-radius:12px;padding:0 14px 0 38px;font-family:inherit;font-size:.95rem}.story-toolbar__search-input::placeholder{color:var(--color-text-muted)}.story-toolbar__search-input:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:#0000}.story-toolbar__filter-group{flex-wrap:wrap;gap:8px;display:flex}.story-toolbar__chip{border:1px solid var(--overlay-12);background:var(--overlay-06);height:36px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 14px;font-family:inherit;font-size:.85rem;transition:background .15s,color .15s,border-color .15s}.story-toolbar__chip:hover{background:var(--overlay-12)}.story-toolbar__chip--active{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent);font-weight:600}.story-toolbar__chip--active:hover{background:var(--color-accent-soft);border-color:var(--color-accent-soft)}.story-toolbar__count{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:.8rem}@media (width>=768px){.story-toolbar{padding:18px 22px}}.story-grid{grid-template-columns:1fr;gap:24px;margin-top:8px;display:grid}@media (width>=768px){.story-grid{grid-template-columns:repeat(2,1fr);gap:32px}}@media (width>=1200px){.story-grid{grid-template-columns:repeat(3,1fr)}}.story-card{background:var(--overlay-04);border:1px solid var(--overlay-08);color:inherit;border-radius:20px;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.story-card__link{color:inherit;text-decoration:none}.story-card__link:after{content:"";z-index:0;position:absolute;inset:0}:is(.story-card:has(.story-card__link:hover),.story-card:has(.story-card__link:focus-visible)){border-color:rgba(var(--accent-rgb), .4);transform:translateY(-2px);box-shadow:0 16px 40px #0000004d}.story-card:has(.story-card__link:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.story-card--read .story-card__image{opacity:.55;transition:opacity .18s}.story-card--read .story-card__title{color:var(--color-text-dim)}.story-card__image-wrap{aspect-ratio:1;background:var(--color-card-gradient);position:relative}.story-card__image{object-fit:cover;width:100%;height:100%}.story-card__image--placeholder{display:block}.story-card__body{flex-direction:column;gap:6px;padding:16px 18px 20px;display:flex}.story-card__date{color:var(--color-text-dim);letter-spacing:.01em;font-size:.8rem}.story-card__title{margin:2px 0;font-size:1.25rem}.story-card__preview{color:var(--color-text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.engagement-stats{color:var(--color-text-dim);gap:12px;margin:0;font-size:.82rem;display:flex}.engagement-stats__item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.story-card__engagement{margin-top:8px}.today-card__engagement{color:var(--color-text-secondary);margin-top:4px}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:.85}}.story-card--skeleton{pointer-events:none}.story-card__image--skeleton{background:linear-gradient(100deg, var(--overlay-05) 0%, var(--overlay-12) 50%, var(--overlay-05) 100%);animation:1.6s ease-in-out infinite skeleton-pulse}.skeleton{background:linear-gradient(100deg, var(--overlay-06) 0%, var(--overlay-14) 50%, var(--overlay-06) 100%);border-radius:8px;animation:1.6s ease-in-out infinite skeleton-pulse}.skeleton--date{width:40%;height:.8rem;margin-bottom:4px}.skeleton--title{width:75%;height:1.4rem;margin:2px 0 8px}.skeleton--line{width:100%;height:.9rem;margin-top:4px}.skeleton--line-short{width:65%}.badge{color:var(--color-heading);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--overlay-15);background:#0f1040bf;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600;position:absolute;top:12px;left:12px}.story__header .badge{display:inline-block;position:static}.story__badges{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.preview-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:5px 11px;font-size:.74rem;font-weight:600;display:inline-block}.preview-badge--preview{background:rgba(var(--warn-rgb), .16);color:var(--color-warn-text);border-color:rgba(var(--warn-rgb), .4)}.preview-badge--early{background:rgba(var(--success-rgb), .16);color:var(--color-success-text);border-color:rgba(var(--success-rgb), .4)}.story-card__preview-flag{z-index:1;position:absolute;bottom:12px;left:12px}.story-card__preview-flag .preview-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f1040c7}.story-card__preview-flag .preview-badge--preview{color:var(--color-warn-text);border-color:rgba(var(--warn-rgb), .55)}.story-card__preview-flag .preview-badge--early{color:var(--color-success-text);border-color:rgba(var(--success-rgb), .55)}.story__characters{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.character-tag{background:var(--overlay-08);color:var(--color-text-secondary);border:1px solid var(--overlay-14);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.82rem;display:inline-flex}.character-tag svg{opacity:.75;flex-shrink:0;width:13px;height:13px}.character-tag__rel{opacity:.7}.story-view__topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.story-view__actions{align-items:center;gap:8px;display:flex}.story-view__actions .favorite-toggle,.story-view__actions .read-toggle{border:1px solid var(--overlay-14);background:var(--overlay-05);-webkit-backdrop-filter:none;backdrop-filter:none}.story-view__actions .favorite-toggle:hover,.story-view__actions .read-toggle:hover{background:var(--overlay-10);border-color:rgba(var(--accent-rgb), .4)}.story-view__actions .favorite-toggle--active{background:rgba(var(--danger-rgb), .16);border-color:rgba(var(--danger-rgb), .45)}.story-view__actions .favorite-toggle--active:hover{background:rgba(var(--danger-rgb), .28)}.story-view__actions .read-toggle--read{background:var(--color-accent);border-color:var(--color-accent)}.story-view__actions .read-toggle--read:hover{background:var(--color-accent-soft)}.story-view__actions .favorite-toggle:focus-visible,.story-view__actions .read-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.reader-tools{gap:6px;display:flex}.reader-tools__button{border:1px solid var(--overlay-14);background:var(--overlay-05);min-width:40px;height:36px;color:var(--color-text-secondary);cursor:pointer;border-radius:10px;padding:0 10px;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s}.reader-tools__button:hover:not(:disabled,[aria-disabled=true]){background:var(--overlay-10);border-color:rgba(var(--accent-rgb), .4)}.reader-tools__button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.reader-tools__button:disabled,.reader-tools__button[aria-disabled=true]{opacity:.4;cursor:default}.reader-tools__button--active{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .5);color:var(--color-accent)}html.dim-mode body{background-color:#060614;background-image:linear-gradient(#060614 0%,#0b0b22 100%)}html.dim-mode body:before{opacity:.35}html.dim-mode .story__image,html.dim-mode .picture-book__image{filter:brightness(.55)}html.dim-mode .story__body p,html.dim-mode .picture-book__caption{color:var(--color-text-secondary)}html.dim-mode .story__title,html.dim-mode .story__date,html.dim-mode .story__theme,html.dim-mode .story__characters,html.dim-mode .story__badges .badge,html.dim-mode .preview-badge{opacity:.72}html.dim-mode .prev-next{border-top-color:var(--overlay-05);background:#060614f2}html.dim-mode .prev-next__button{background:var(--overlay-04);color:var(--color-text-secondary)}html.dim-mode .audio-player,html.dim-mode .story-view__topbar .share-button{opacity:.85}.back-link{min-height:44px;color:var(--color-accent);align-items:center;gap:6px;padding:10px 4px;font-size:.95rem;display:inline-flex}.share-button{border:1px solid rgba(var(--accent-rgb), .35);background:var(--overlay-04);min-height:44px;color:var(--color-accent);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.share-button:hover,.share-button:focus-visible{background:rgba(var(--accent-rgb), .12);border-color:rgba(var(--accent-rgb), .6)}.share-button--copied{background:rgba(var(--success-rgb), .14);border-color:rgba(var(--success-rgb), .55);color:var(--color-success-text)}.share-button__icon{stroke:currentColor;flex-shrink:0;width:18px;height:18px}.share-button__label{white-space:nowrap}.story{margin-top:12px}.story__image-wrap{aspect-ratio:1;background:var(--color-card-gradient);border-radius:20px;max-width:520px;margin:0 auto 24px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000059}.story__image{object-fit:cover;width:100%;height:100%}.image-download{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-height:44px;color:var(--color-text-input);font:inherit;cursor:pointer;background:#0a0a1e9e;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:absolute;bottom:12px;right:12px}.image-download:hover,.image-download:focus-visible{border-color:rgba(var(--accent-rgb), .6);color:var(--color-accent);background:#0a0a1ecc}.image-download:disabled{cursor:progress;opacity:.75}.image-download--done{background:rgba(var(--success-rgb), .2);border-color:rgba(var(--success-rgb), .55);color:var(--color-success-text)}.image-download__icon{stroke:currentColor;flex-shrink:0;width:18px;height:18px}.image-download__label{white-space:nowrap}.story__header{margin-bottom:28px}.story__title{margin-bottom:8px;font-size:clamp(1.85rem,1.3rem + 2.4vw,2.6rem)}.story__date{color:var(--color-text-dim);margin-bottom:6px;font-size:.95rem;display:block}.story__theme{color:var(--color-text-secondary);margin:0;font-size:.95rem;font-style:italic}.audio-player{background:var(--overlay-05);border:1px solid rgba(var(--accent-rgb), .2);border-radius:16px;align-items:center;gap:14px;margin-bottom:28px;padding:14px 18px;display:flex}.audio-player__buttons{flex-shrink:0;align-items:center;gap:8px;display:flex}.audio-player__skip{border:1px solid var(--overlay-14);background:var(--overlay-05);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;border-radius:50%;padding:0;font-size:.72rem;font-weight:600;transition:background .15s,border-color .15s}.audio-player__skip:hover{background:var(--overlay-10);border-color:rgba(var(--accent-rgb), .4)}.audio-player__skip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.audio-player__play{background:var(--color-accent);width:48px;height:48px;color:var(--color-on-accent);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,transform .12s;display:flex}.audio-player__play svg{width:22px;height:22px}.audio-player__play:hover{background:var(--color-accent-soft);transform:scale(1.06)}.audio-player__play--playing{background:rgba(var(--accent-rgb), .25);color:var(--color-accent)}.audio-player__play--playing:hover{background:rgba(var(--accent-rgb), .35)}.audio-player__controls{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.audio-player__label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-dim);font-size:.8rem}.audio-player__track{align-items:center;display:flex;position:relative}.audio-player__slider{appearance:none;box-sizing:border-box;background:linear-gradient(to right, var(--color-accent) 0%, var(--color-accent) var(--progress,0%), var(--overlay-12) var(--progress,0%), var(--overlay-12) 100%);cursor:pointer;background-clip:content-box;border-radius:4px;outline:none;width:100%;height:30px;padding:11px 0}.audio-player__slider::-webkit-slider-thumb{appearance:none;background:var(--color-accent);border:2px solid var(--color-bg);cursor:pointer;border-radius:50%;width:22px;height:22px;margin-top:-7px}.audio-player__slider::-moz-range-thumb{background:var(--color-accent);border:2px solid var(--color-bg);cursor:pointer;border-radius:50%;width:22px;height:22px}.audio-player__slider:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.audio-player__error{color:var(--color-danger-text);font-size:.85rem}.audio-player__time{font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:.78rem}@media (width>=768px){.audio-player{padding:16px 22px}}.story__body{max-width:62ch;margin:0 auto}.story__body p{font-size:calc(clamp(1.125rem, 1rem + .5vw, 1.375rem) * var(--story-font-scale,1));color:var(--color-text);margin:0 0 1.4em;line-height:1.75}.story__body p:first-of-type:first-letter{float:left;color:var(--color-accent);margin:.1em .08em 0 0;font-family:Fraunces,Cochin,Georgia,serif;font-size:3.2em;line-height:.85}.story-choice{border:1px dashed rgba(var(--accent-rgb), .45);background:var(--overlay-04);border-radius:16px;margin:0 0 1.6em;padding:16px 18px}.story-choice__question{color:var(--color-accent);font-weight:600;margin:0 0 12px!important}.story-choice__options{flex-wrap:wrap;gap:10px;display:flex}.story-choice__option{flex:180px;min-height:48px;font-size:1rem}.story-choice__option--chosen{background:rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .7)}.story-choice__reset{text-align:center}.story__body p.story__paragraph--branch{border-left:3px solid rgba(var(--accent-rgb), .35);padding-left:14px}.story__scene{margin:0 0 1.6em}.story__scene .story__image{border-radius:16px;width:100%}.story__coloring{text-decoration:none;left:12px;right:auto}.two-homes__week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.two-homes__day{border:1px solid rgba(var(--accent-rgb), .3);background:var(--overlay-04);min-height:52px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:.85rem;display:flex}.two-homes__day--1{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .6)}.two-homes__day-home{color:var(--color-accent);font-weight:700}.picture-book-viewer{max-width:560px;margin:0 auto}.picture-book--swipe{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:20px;flex-direction:row;display:flex;overflow-x:auto;box-shadow:0 20px 50px #00000059}.picture-book--swipe::-webkit-scrollbar{display:none}.picture-book__page{scroll-snap-align:center;scroll-snap-stop:always;background:var(--color-card-gradient);flex-direction:column;flex:0 0 100%;margin:0;display:flex;position:relative;overflow:hidden}.picture-book__image{aspect-ratio:1;object-fit:cover;width:100%;display:block}.picture-book__image--placeholder{background:var(--color-card-gradient)}.picture-book__caption{font-family:Fraunces,Cochin,Georgia,serif;font-size:calc(clamp(1.25rem, 1.05rem + .7vw, 1.6rem) * var(--story-font-scale,1));text-align:center;text-wrap:balance;color:var(--color-text-warm);margin:0;padding:18px 22px 24px;line-height:1.5}.picture-book__nav{justify-content:center;align-items:center;gap:12px;margin-top:18px;display:flex}.picture-book__arrow{border:1px solid var(--overlay-22);background:var(--overlay-06);width:44px;height:44px;color:var(--color-text);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:background .15s,opacity .15s;display:inline-flex}.picture-book__arrow:hover:not(:disabled,[aria-disabled=true]){background:var(--overlay-14)}.picture-book__arrow:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.picture-book__arrow:disabled,.picture-book__arrow[aria-disabled=true]{opacity:.3;cursor:default}.picture-book__dots{align-items:center;gap:9px;display:flex}.picture-book__dot{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;width:44px;height:44px;padding:0;position:relative}.picture-book__dot:after{content:"";background:var(--overlay-28);border-radius:50%;width:10px;height:10px;transition:background .15s,transform .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.picture-book__dot--active:after{background:var(--color-accent);transform:translate(-50%,-50%)scale(1.25)}.picture-book__dot:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.picture-book__dot--active{background:0 0;transform:none}.story__bottom-back{text-align:center;margin-top:32px}.related{background:var(--overlay-04);border:1px solid var(--overlay-10);border-radius:16px;margin-top:40px;padding:20px 22px}.related__title{margin-bottom:12px;font-size:1.15rem}.related__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.related__list a{min-height:44px;padding:8px 0;display:block}.related__list span{color:var(--color-text-dim);font-size:.9rem}.prev-next{padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--color-bg-scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--overlay-08);z-index:10;grid-template-columns:1fr 1fr;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.prev-next__button{background:var(--overlay-06);min-height:48px;color:var(--color-text);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex;overflow:hidden}.prev-next__button:hover{background:var(--overlay-12);text-decoration:none}.prev-next__button:last-child{text-align:right;justify-content:flex-end}.prev-next__button--disabled{opacity:.4;pointer-events:none}.prev-next__arrow{color:var(--color-accent);flex-shrink:0;font-size:1.2rem}.prev-next__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width>=768px){.prev-next{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;margin-top:48px;padding:0;position:static}.prev-next__button{padding:14px 18px;font-size:.95rem}}.empty-state{text-align:center;color:var(--color-text-secondary);padding:40px 16px;font-size:1.1rem}.empty-state .button-secondary{margin-top:12px}.site-footer{text-align:center;color:var(--color-text-muted);margin-top:64px;font-size:.9rem}.changelog__body{max-width:720px;color:var(--color-text-secondary);margin:0 auto;line-height:1.65}.changelog__h2{color:var(--color-text-strong);margin:40px 0 4px;font-size:1.5rem}.changelog__h3{color:var(--color-warn-text);margin:24px 0 4px;font-size:1.1rem}.changelog__p{margin:12px 0}.changelog__list{margin:8px 0 16px;padding-left:22px}.changelog__list li{margin:6px 0}.changelog__body strong{color:var(--color-text-strong)}.changelog__body a{color:var(--color-text-secondary)}.changelog__rule{border:none;border-top:1px solid var(--overlay-14);margin:24px 0}.changelog__note{color:var(--color-text-muted);margin-top:32px;font-size:.85rem;font-style:italic}.favorite-toggle{background:var(--color-image-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background .18s,transform .12s;display:flex}.favorite-toggle:hover{background:var(--color-image-scrim-hover);transform:scale(1.1)}.favorite-toggle__icon{fill:none;width:20px;height:20px;stroke:var(--color-stroke-strong);transition:fill .18s,stroke .18s}.favorite-toggle--active{background:rgba(var(--danger-rgb), .22)}.favorite-toggle--active:hover{background:rgba(var(--danger-rgb), .35)}.favorite-toggle--active .favorite-toggle__icon{fill:var(--color-favorite);stroke:var(--color-favorite);animation:.26s favorite-pop}@keyframes favorite-pop{0%{transform:scale(.7)}60%{transform:scale(1.2)}to{transform:scale(1)}}.view-switch{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:999px;gap:4px;margin-bottom:18px;padding:4px;display:inline-flex}.view-switch__button{height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 18px;font-family:inherit;font-size:.88rem;font-weight:500;transition:background .15s,color .15s}.view-switch__button:hover{background:var(--overlay-06)}.view-switch__button--active{background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.view-switch__button--active:hover{background:var(--color-accent-soft)}.admin-tabs{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:999px;flex-wrap:wrap;gap:4px;margin-bottom:20px;padding:4px;display:flex}.admin-tabs__button{text-align:center;height:38px;color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;flex:auto;justify-content:center;align-items:center;padding:0 14px;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.admin-tabs__button:link,.admin-tabs__button:visited,.admin-tabs__button:hover,.admin-tabs__button:active{text-decoration:none}.admin-tabs__button:hover{background:var(--overlay-06)}.admin-tabs__button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.admin-tabs__button--active{background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.admin-tabs__button--active:hover{background:var(--color-accent-soft)}@media (width<=520px){.admin-tabs{border-radius:16px;grid-template-columns:1fr 1fr;display:grid}.admin-tabs__button{height:44px}}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin-top:32px;display:flex}.pagination__pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pagination__page{border:1px solid var(--overlay-08);background:var(--overlay-04);min-width:44px;height:44px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-family:inherit;font-size:.95rem;transition:background .15s,border-color .15s;display:inline-flex}.pagination__page:hover{background:var(--overlay-08);border-color:var(--overlay-16)}.pagination__page--active{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .5);color:var(--color-accent)}.pagination__page:focus-visible,.pagination__button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.pagination__ellipsis{text-align:center;min-width:28px;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:1rem}.home-list-anchor{scroll-margin-top:12px}.pagination__button{border:1px solid var(--overlay-08);background:var(--overlay-04);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-family:inherit;font-size:1.1rem;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.pagination__button:hover:not(:disabled,[aria-disabled=true]){background:var(--overlay-08);border-color:var(--overlay-16)}.pagination__button:disabled,.pagination__button[aria-disabled=true]{opacity:.35;cursor:default}.pagination__status{text-align:center;letter-spacing:.04em;color:var(--color-text-muted);flex-basis:100%;font-size:.85rem}.story-toolbar__chip--favorite{align-items:center;gap:6px;display:inline-flex}.story-toolbar__chip-icon{width:16px;height:16px}.story-calendar{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:20px;padding:18px;container-type:inline-size}.story-calendar__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.story-calendar__title{text-align:center;flex:1;font-size:1.25rem}.story-calendar__nav{border:1px solid var(--overlay-12);background:var(--overlay-06);width:40px;height:40px;color:var(--color-text);cursor:pointer;border-radius:50%;font-size:1.1rem;transition:background .15s}.story-calendar__nav:hover{background:var(--overlay-14)}.story-calendar__weekdays{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;display:grid}.story-calendar__weekday{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.story-calendar__grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}@media (width<=480px){.story-calendar{padding:12px 8px}.story-calendar__grid{gap:4px}.story-calendar__day{border-radius:9px;min-height:42px}}.story-calendar__day{aspect-ratio:1;background:var(--overlay-03);color:var(--color-text-dim);border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:4px;font-family:inherit;font-size:.9rem;text-decoration:none;transition:background .15s,border-color .15s,transform .12s;display:flex;position:relative;overflow:hidden}button.story-calendar__day{cursor:pointer}.story-calendar__day-panel{background:var(--overlay-05);border:1px solid rgba(var(--accent-rgb), .25);border-radius:14px;margin-top:14px;padding:14px 16px}.story-calendar__day-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.story-calendar__day-panel-title{margin:0;font-size:1rem}.story-calendar__day-panel-close{background:var(--overlay-06);width:44px;height:44px;color:var(--color-text);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;margin:-10px -8px 0 0;font-size:1.4rem;line-height:1}.story-calendar__day-panel-close:hover,.story-calendar__day-panel-close:focus-visible{background:var(--overlay-14);outline:2px solid var(--color-accent);outline-offset:2px}.story-calendar__day-panel-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.story-calendar__day-panel-link{color:var(--color-text);border-radius:10px;align-items:center;gap:10px;padding:6px 8px;transition:background .15s;display:flex}.story-calendar__day-panel-link:hover,.story-calendar__day-panel-link:focus-visible{background:var(--overlay-07);text-decoration:none}.story-calendar__day-panel-thumb{object-fit:cover;border-radius:8px;flex-shrink:0;width:36px;height:36px}.story-calendar__day-thumbs{background:var(--color-bg-elevated-end);gap:1px;display:grid;position:absolute;inset:0}.story-calendar__day--count-1 .story-calendar__day-thumbs{grid-template-rows:1fr;grid-template-columns:1fr}.story-calendar__day--count-2 .story-calendar__day-thumbs{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.story-calendar__day--count-3 .story-calendar__day-thumbs{grid-template:"a a"1fr"b c"1fr/1fr 1fr}.story-calendar__day--count-3 .story-calendar__day-thumb:first-child{grid-area:a}.story-calendar__day--count-3 .story-calendar__day-thumb:nth-child(2){grid-area:b}.story-calendar__day--count-3 .story-calendar__day-thumb:nth-child(3){grid-area:c}.story-calendar__day--count-4 .story-calendar__day-thumbs{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.story-calendar__day-thumb{object-fit:cover;width:100%;height:100%;display:block}.story-calendar__day--has-story .story-calendar__day-number,.story-calendar__day--has-story .story-calendar__day-count{z-index:1;color:var(--color-text-strong);text-shadow:0 1px 2px #000000d9,0 0 6px #0000008c;position:relative}.story-calendar__day--has-story:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#0000001a 0%,#0000 40%,#0000008c 100%);position:absolute;inset:0}.story-calendar__day--out{opacity:.35}.story-calendar__day-number{font-weight:500}.story-calendar__day-count{color:currentColor;opacity:.8;font-size:.6rem;font-weight:600;position:absolute;bottom:3px;right:5px}.story-calendar__day--has-story{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .4);color:var(--color-text-strong);cursor:pointer;font-weight:600}.story-calendar__day--has-story:hover{background:rgba(var(--accent-rgb), .3);text-decoration:none;transform:translateY(-1px)}.story-calendar__day--read{background:rgba(var(--accent-rgb), .22);border-color:rgba(var(--accent-rgb), .55);color:var(--color-heading)}.story-calendar__day--read:hover{background:rgba(var(--accent-rgb), .35)}.story-calendar__day--favorite{border-color:var(--color-favorite);box-shadow:0 0 0 2px rgba(var(--danger-rgb), .45)}.story-calendar__day--today{outline:2px dashed var(--color-stroke);outline-offset:-3px}.story-calendar__footer{flex-direction:column;gap:10px;margin-top:16px;display:flex}.story-calendar__count{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);text-align:center;margin:0;font-size:.8rem}.story-calendar__legend{color:var(--color-text-dim);flex-wrap:wrap;justify-content:center;gap:14px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.story-calendar__legend li{align-items:center;gap:6px;display:inline-flex}.story-calendar__legend-dot{border:1px solid #0000;border-radius:50%;width:12px;height:12px}.story-calendar__legend-dot--unread{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .55)}.story-calendar__legend-dot--read{background:rgba(var(--accent-rgb), .35);border-color:rgba(var(--accent-rgb), .7)}.story-calendar__legend-dot--favorite{box-shadow:0 0 0 2px rgba(var(--danger-rgb), .7) inset;background:0 0}@media (width>=768px){.story-calendar{padding:24px 28px}.story-calendar__day{font-size:1rem}}.admin-view{max-width:900px;margin:0 auto;padding:24px 16px 64px}.admin-header{border-bottom:1px solid var(--overlay-08);justify-content:space-between;align-items:flex-start;gap:16px;margin:16px 0 24px;padding-bottom:18px;display:flex}.admin-header__title{margin:0 0 4px;font-size:1.6rem}.admin-header__subtitle{color:var(--color-text-muted);margin:0;font-size:.85rem}.admin-actions{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.admin-overrides{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:14px;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px;display:flex}.admin-overrides__hint{color:var(--color-text-dim-2);margin:0;font-size:.85rem}.admin-overrides__row{flex-wrap:wrap;gap:12px;display:flex}.admin-overrides__field{color:var(--color-text-secondary);flex-direction:column;flex:160px;gap:6px;font-size:.88rem;display:flex}.admin-overrides__field select,.admin-overrides__field input{border:1px solid var(--overlay-12);background:var(--color-input-bg);color:var(--color-text-input);border-radius:10px;padding:10px 12px;font-size:.95rem}.admin-overrides__field-hint{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.35}.admin-overrides__featured{border:none;min-width:0;margin:0;padding:0}.admin-overrides__featured legend{color:var(--color-text-secondary);margin:0 0 4px;padding:0;font-size:.88rem}.admin-overrides__checkboxes{flex-wrap:wrap;gap:8px 14px;margin:4px 0 0;padding:0;list-style:none;display:flex}.admin-overrides__check{cursor:pointer;color:var(--color-text-input);align-items:center;gap:8px;font-size:.92rem;display:flex}.admin-overrides__check--disabled{opacity:.45;cursor:not-allowed}.admin-overrides__check input{width:1rem;height:1rem;accent-color:var(--color-accent)}.admin-overrides__check-rel{color:var(--color-text-dim-2);font-size:.88em}.admin-overrides__clear{align-self:flex-start;margin-top:8px}.admin-overrides__check-group{border:1px solid var(--overlay-14);color:var(--color-text-dim-2);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.78em}.admin-overrides__warning{background:rgba(var(--warn-rgb), .12);border:1px solid rgba(var(--warn-rgb), .35);color:var(--color-warn-text);border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:.85rem}.workflow-status{flex-direction:column;gap:14px;display:flex}.workflow-status__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-status__hint{color:var(--color-text-dim-2);flex:240px;margin:0;font-size:.85rem}.workflow-status__error{color:var(--color-danger-text);margin:0;font-size:.9rem}.workflow-status__latest{border:1px solid var(--overlay-12);background:var(--overlay-04);border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.workflow-status__latest--ok{background:rgba(var(--success-rgb), .08);border-color:rgba(var(--success-rgb), .35)}.workflow-status__latest--error{background:rgba(var(--danger-rgb), .08);border-color:rgba(var(--danger-rgb), .4)}.workflow-status__latest--running{background:rgba(var(--warn-rgb), .08);border-color:rgba(var(--warn-rgb), .4)}.workflow-status__badge{color:var(--color-text-input);font-size:1.05rem;font-weight:600}.workflow-status__meta{color:var(--color-text-secondary);margin:0;font-size:.85rem}.workflow-status__note{color:var(--color-warn-text);margin:0;font-size:.85rem}.workflow-status__link{color:var(--color-link);font-size:.85rem;text-decoration:none}.workflow-status__link:hover{text-decoration:underline}.workflow-status__history{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.workflow-status__history-item{color:var(--color-text-dim-2);background:var(--overlay-03);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;font-size:.82rem;display:flex}.workflow-status__history-label{flex:none}.workflow-status__history-when{color:var(--color-text-muted);flex:auto}.workflow-status__log-wrap{flex-basis:100%;margin-top:8px}.workflow-status__log{max-height:320px;color:var(--color-text);white-space:pre-wrap;word-break:break-word;background:#00000059;border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:.78rem;line-height:1.4;overflow:auto}.workflow-status__history-item a{color:var(--color-link);text-decoration:none}.admin-settings{margin-bottom:32px}.admin-settings__title{margin:0 0 12px;font-size:1.15rem}.admin-settings__row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.admin-settings__field{min-width:0;color:var(--color-text-secondary);flex-direction:column;flex:200px;gap:6px;font-size:.88rem;display:flex}.admin-settings__field input,.admin-settings__field select,.admin-settings__field textarea{border:1px solid var(--color-input-border);background:var(--color-input-bg);width:100%;color:var(--color-text-input);color-scheme:var(--color-scheme);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.95rem}.admin-settings__field textarea{resize:vertical;min-height:64px;line-height:1.5}.admin-settings__field input:focus,.admin-settings__field select:focus,.admin-settings__field textarea:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:#0000}.admin-settings__actions{flex:100%;gap:10px;display:flex}.admin-settings__error{color:var(--color-danger-text);flex:100%;margin:0;font-size:.85rem}.admin-settings__field--checkbox{flex-direction:row;flex:100%;align-items:center;gap:8px}.admin-settings__field--checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--color-accent)}@media (width<=460px){.admin-settings__field{flex-basis:100%}}.admin-settings__current{color:var(--color-text-secondary);margin:0 0 12px;font-size:.92rem}.theme-settings__options{flex-wrap:wrap;gap:12px;display:flex}.theme-settings__option{border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-family:inherit;font-size:.92rem;display:flex}.theme-settings__option--active{border-color:var(--color-accent)}.theme-settings__swatch{border:1px solid var(--color-input-border);border-radius:50%;flex-shrink:0;width:28px;height:28px;display:block}.theme-settings__check{color:var(--color-accent);font-weight:600}.wizard__choices{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.wizard__choice{text-align:left;width:100%;padding:12px 16px}.wizard__choice-emoji{flex-shrink:0;font-size:1.5rem}.admin-status{border-radius:12px;margin-bottom:20px;padding:12px 40px 12px 16px;font-size:.92rem;position:relative}.admin-status--info{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text)}.admin-status--error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-text)}.admin-status__close{width:28px;height:28px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:1.3rem;line-height:1;position:absolute;top:6px;right:8px}.admin-status__close:hover{opacity:1}.admin-denied{text-align:center;background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:20px;padding:40px 20px}.admin-denied h1{margin:0 0 12px}.admin-denied p{color:var(--color-text-secondary);margin:0 0 20px}.button-primary,.button-secondary,.button-danger{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.button-primary{background:var(--color-accent);color:var(--color-on-accent)}.button-primary:hover:not(:disabled){background:var(--color-accent-soft)}.button-secondary{background:var(--overlay-06);color:var(--color-text);border-color:var(--overlay-14)}.button-secondary:hover:not(:disabled){background:var(--overlay-12)}.button-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.button-danger:hover:not(:disabled){background:var(--color-danger-bg-strong)}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.55;cursor:not-allowed}.admin-section{border:1px solid var(--overlay-08);background:var(--overlay-03);border-radius:16px;margin-bottom:14px;overflow:hidden}.admin-section--open{background:var(--overlay-05)}.admin-section__bar{align-items:center;gap:8px;display:flex}.admin-section__toggle{min-width:0;color:var(--color-text-input);text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:12px;padding:16px 18px;font-family:inherit;font-size:1.1rem;font-weight:600;display:flex}.admin-section__toggle:hover{background:var(--overlay-04)}.admin-section__caret{width:.9em;color:var(--color-text-dim-2);flex:none;font-size:.85rem}.admin-section__title{flex:auto;min-width:0}.admin-section__accessory{flex:none;padding-right:16px}.admin-section__body{padding:4px 18px 20px}.admin-section__body>:first-child{margin-top:0}.admin-section__body>:last-child{margin-bottom:0}.admin-stories{margin-top:24px}.admin-stories__title{color:var(--color-text-secondary);margin:0 0 14px;font-size:1.15rem}.admin-stories__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.admin-story{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:16px;grid-template-columns:80px 1fr auto;align-items:center;gap:14px;padding:12px;display:grid}.admin-story__thumb{background:var(--color-card-gradient);border-radius:10px;width:80px;height:80px;overflow:hidden}.admin-story__thumb img{object-fit:cover;width:100%;height:100%}.admin-story__thumb--placeholder{width:100%;height:100%}.admin-story__info{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-story__info .badge{align-self:flex-start;position:static}.admin-story__title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;line-height:1.3;overflow:hidden}.admin-story__meta{color:var(--color-text-muted);margin:0;font-size:.78rem}.admin-story__engagement{color:var(--color-text-dim);margin:0;font-size:.78rem}.admin-story__live{margin:2px 0 0;font-size:.76rem;font-weight:600}.admin-story__live--on{color:var(--color-success-text)}.admin-story__live--off{color:var(--color-warn-text)}.admin-story__actions{flex-direction:column;align-items:stretch;gap:6px;display:flex}.story-cast-editor{border-top:1px solid var(--overlay-08);flex-direction:column;grid-column:1/-1;gap:10px;padding-top:12px;display:flex}.story-cast-editor__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=600px){.admin-story{grid-template-columns:60px 1fr;grid-template-areas:"thumb info""actions actions"}.admin-story__thumb{grid-area:thumb;width:60px;height:60px}.admin-story__info{grid-area:info}.admin-story__actions{flex-flow:wrap;grid-area:actions;justify-content:flex-end}}.custom-story-form{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:20px;flex-direction:column;gap:14px;margin-bottom:24px;padding:22px;display:flex}.custom-story-form__title{margin:0;font-size:1.2rem}.custom-story-form__field{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.88rem;display:flex}.custom-story-form__field input,.custom-story-form__field textarea,.custom-story-form__field select{background:var(--overlay-06);border:1px solid var(--overlay-14);color:var(--color-text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.95rem}.custom-story-form__field textarea{resize:vertical;min-height:64px;line-height:1.5}.custom-story-form__field input:focus,.custom-story-form__field textarea:focus,.custom-story-form__field select:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:#0000}.custom-story-form__hint{color:var(--color-text-dim);font-size:.78rem}.custom-story-form__row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.custom-story-form__actions{justify-content:flex-end;margin-top:4px;display:flex}.custom-story-form__pages{border:1px solid var(--overlay-12);border-radius:12px;flex-direction:column;gap:14px;margin:4px 0;padding:14px;display:flex}.custom-story-form__pages legend{color:var(--color-text-strong);padding:0 6px;font-weight:600}.custom-story-form__page{background:var(--overlay-04);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.custom-story-form__page-head{justify-content:space-between;align-items:center;display:flex}.custom-story-form__page-num{color:var(--color-text-secondary);font-weight:600}.custom-story-form__page-remove{padding:4px 12px;font-size:.82rem}.character-manager{margin-top:24px}.character-manager__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.character-manager__title{color:var(--color-text-secondary);margin:0;font-size:1.15rem}.character-manager__hint{color:var(--color-text-dim-2);margin:0 0 14px;font-size:.85rem}.character-form{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:20px;flex-direction:column;gap:14px;margin-bottom:18px;padding:22px;display:flex}.character-form__title{margin:0;font-size:1.1rem}.character-form__row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.character-form__field{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.88rem;display:flex}.character-form__field input[type=text],.character-form__field input[type=number],.character-form__field input[type=date],.character-form__field select,.character-form__field textarea{background:var(--overlay-06);border:1px solid var(--overlay-14);color:var(--color-text);color-scheme:var(--color-scheme);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.95rem}.character-form__field textarea{resize:vertical;min-height:56px;line-height:1.5}.character-form__field input:focus,.character-form__field textarea:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:#0000}.character-form__field--inline{flex-direction:row;align-self:end;align-items:center;gap:10px;padding-bottom:10px}.character-form__field--inline input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent)}.character-form__actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.character-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.character-card{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:14px;grid-template-columns:minmax(min(18rem,100%),1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.character-card__main{align-items:center;gap:12px;min-width:0;display:flex}.character-card__thumb{object-fit:cover;border:1px solid var(--overlay-12);background:var(--overlay-04);border-radius:12px;flex-shrink:0;width:56px;height:56px}.character-card--inactive>:not(.character-card__actions){opacity:.55}.character-card--inactive .character-card__thumb{filter:grayscale()}.character-card__info{flex-direction:column;gap:4px;min-width:0;display:flex}.character-card__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.character-card__name{color:var(--color-text);font-size:1rem;font-weight:600}.character-card__relationship{color:var(--color-accent);font-size:.85rem}.character-card__inactive-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--overlay-08);color:var(--color-text-muted);border-radius:999px;padding:2px 8px;font-size:.7rem}.character-card__memory-tag{background:rgba(var(--accent-rgb), .12);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.7rem}.character-card__usage{background:rgba(var(--accent-rgb), .12);color:var(--color-accent);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-family:inherit;font-size:.72rem;line-height:1.2;display:inline-flex}.character-card__usage:hover:not(:disabled){background:rgba(var(--accent-rgb), .2);border-color:rgba(var(--accent-rgb), .4)}.character-card__usage:disabled,.character-card__usage--empty{cursor:default;background:var(--overlay-05);color:var(--color-text-muted)}.character-card__usage--open{background:rgba(var(--accent-rgb), .22);border-color:rgba(var(--accent-rgb), .45)}.character-card__usage-caret{opacity:.8;font-size:.7rem}.character-card__stories{background:var(--overlay-08);border:1px solid var(--overlay-06);border-radius:10px;flex-direction:column;gap:4px;margin:8px 0 0;padding:8px;list-style:none;display:flex}.character-card__story{margin:0}.character-card__story-link{color:var(--color-text);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px;font-size:.85rem;text-decoration:none;transition:background .12s;display:flex}.character-card__story-link:hover,.character-card__story-link:focus-visible{background:var(--overlay-07);text-decoration:none}.character-card__story-title{font-weight:500}.character-card__story-date{color:var(--color-text-dim);font-size:.75rem}.character-card__desc{color:var(--color-text-muted);margin:0;font-size:.82rem;line-height:1.4}.character-card__birthday{color:var(--color-text-dim);margin:0;font-size:.8rem}.character-card__group{background:rgba(var(--accent-rgb), .14);color:var(--color-text-secondary);border-radius:999px;margin:4px 0 0;padding:2px 8px;font-size:.78rem;display:inline-block}.character-card__relations{flex-direction:column;gap:2px;margin:2px 0 0;padding:0;list-style:none;display:flex}.character-card__relation{color:var(--color-text-dim);font-size:.78rem;line-height:1.35}.character-card__relation:before{content:"↔ ";color:var(--color-text-muted)}.character-form__section{border-top:1px solid var(--overlay-08);flex-direction:column;gap:8px;margin-top:4px;padding-top:12px;display:flex}.character-form__section-title{color:var(--color-text);margin:0;font-size:.9rem;font-weight:600}.character-form__hint{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.4}.character-form__warning{background:rgba(var(--warn-rgb), .12);border:1px solid rgba(var(--warn-rgb), .35);color:var(--color-warn-text);border-radius:8px;margin:0;padding:8px 10px;font-size:.85rem;line-height:1.4}.character-form__inline-action{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.character-photos__stored{margin-top:16px}.character-form__privacy{border-left:3px solid var(--color-accent);background:var(--overlay-04);color:var(--color-text);border-radius:6px;margin:0;padding:8px 10px;font-size:.78rem;line-height:1.4}.character-form__image{align-items:center;gap:12px;display:flex}.character-form__image-preview{object-fit:cover;border:1px solid var(--overlay-12);border-radius:12px;width:96px;height:96px}.character-form__image-actions{flex-wrap:wrap;gap:8px;display:flex}.character-form__image-replace{cursor:pointer;position:relative;overflow:hidden}.character-form__image-replace input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.character-form__relations{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.character-form__relation{color:var(--color-text-secondary);background:var(--overlay-04);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:.85rem;display:flex}.character-form__relation-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.character-form__relation-subject{color:var(--color-accent);white-space:nowrap;flex:none;font-weight:600}.character-form__relation-add select,.character-form__relation-add input[type=text]{border:1px solid var(--overlay-12);background:var(--overlay-04);min-width:0;color:var(--color-text);font:inherit;border-radius:10px;flex:160px;padding:8px 10px}.character-form__relation-preview{color:var(--color-text-dim);margin:8px 0 0;font-size:.85rem;font-style:italic}.character-card__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;display:flex}.character-card__buttons{gap:6px;display:flex}.character-card__switch{min-height:44px;color:var(--color-text-muted);cursor:pointer;align-items:center;gap:8px;padding-right:6px;font-size:.85rem;display:inline-flex;position:relative}.character-card__switch input{opacity:0;width:40px;height:24px;cursor:inherit;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.character-card__switch-track{background:var(--overlay-14);border:1px solid var(--overlay-22);border-radius:999px;flex-shrink:0;width:40px;height:24px;transition:background-color .15s,border-color .15s;position:relative}.character-card__switch-track:after{content:"";background:var(--color-text-muted);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.character-card__switch input:checked+.character-card__switch-track{background:var(--color-accent);border-color:var(--color-accent)}.character-card__switch input:checked+.character-card__switch-track:after{background:var(--color-on-accent);transform:translate(16px)}.character-card__switch input:focus-visible+.character-card__switch-track{outline:2px solid var(--color-accent);outline-offset:2px}.character-card__switch--disabled{opacity:.55;cursor:not-allowed}@media (width<=600px){.character-form__row{grid-template-columns:1fr}.character-form__field--inline{align-self:start;padding-bottom:0}.character-card{grid-template-columns:1fr}.character-card__actions{justify-content:flex-end}}.login-card{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:20px;max-width:420px;margin:40px auto 0;padding:28px}.login-card__title{text-align:center;margin:0 0 6px;font-size:1.5rem}.login-card__subtitle{text-align:center;color:var(--color-text-muted);margin:0 0 24px;font-size:.9rem}.login-form{flex-direction:column;gap:14px;display:flex}.login-form__field{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.88rem;display:flex}.login-form__field input{background:var(--overlay-06);border:1px solid var(--overlay-14);color:var(--color-text);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:1rem}.login-form__field input:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:#0000}.login-form__error{background:rgba(var(--danger-rgb), .1);border:1px solid rgba(var(--danger-rgb), .4);color:var(--color-danger-text);border-radius:10px;margin:0;padding:10px 14px;font-size:.88rem}.login-form__notice{background:rgba(var(--accent-rgb), .1);border:1px solid rgba(var(--accent-rgb), .4);color:var(--color-text);border-radius:10px;margin:0;padding:10px 14px;font-size:.88rem}.login-form__submit{background:var(--color-accent);height:46px;color:var(--color-on-accent);cursor:pointer;border:none;border-radius:12px;margin-top:6px;font-family:inherit;font-size:1rem;font-weight:600}.login-form__submit:hover:not(:disabled){background:var(--color-accent-soft)}.login-form__submit:disabled{opacity:.55;cursor:not-allowed}.engagement-details__controls{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:12px;margin-bottom:20px;padding:16px}.engagement-details__group-toggle{color:var(--color-text-secondary);align-items:center;gap:12px;font-size:.92rem;display:flex}.engagement-details__group-toggle select{background:var(--overlay-06);border:1px solid var(--overlay-14);color:var(--color-text);cursor:pointer;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:.92rem}.engagement-details__group-toggle select:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:#0000}.engagement-details__story,.engagement-details__location-group{background:var(--overlay-03);border:1px solid var(--overlay-08);border-radius:12px;margin-bottom:12px;overflow:hidden}.engagement-details__story-summary,.engagement-details__location-summary{cursor:pointer;color:var(--color-text);padding:14px 18px;font-size:.95rem;transition:background .15s}.engagement-details__story-summary:hover,.engagement-details__location-summary:hover{background:var(--overlay-05)}.engagement-details__story[open] .engagement-details__story-summary,.engagement-details__location-group[open] .engagement-details__location-summary{border-bottom:1px solid var(--overlay-08);background:var(--overlay-04)}.engagement-details__list{margin:0;padding:0;list-style:none}.engagement-details__item{border-bottom:1px solid var(--overlay-04);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:.88rem;display:flex}.engagement-details__item:last-child{border-bottom:none}.engagement-details__location{color:var(--color-text-secondary);flex:1}.engagement-details__ip{background:var(--overlay-06);color:var(--color-text-muted);border-radius:6px;padding:4px 8px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Consolas,monospace;font-size:.82rem}.engagement-details__story-link{color:var(--color-accent);flex:1;text-decoration:none;transition:color .15s}.engagement-details__story-link:hover{color:var(--color-accent-soft);text-decoration:underline}.engagement-details__time{color:var(--color-text-muted);white-space:nowrap;font-size:.82rem}.engagement-details__summary{background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .2);text-align:center;color:var(--color-text);border-radius:12px;margin-top:24px;padding:16px;font-size:.92rem}.engagement-details__summary p{margin:0}.engagement-details__summary strong{color:var(--color-accent)}@media (width<=768px){.engagement-details__item{flex-direction:column;align-items:flex-start;gap:8px}.engagement-details__location,.engagement-details__story-link{width:100%}.engagement-details__time{align-self:flex-end}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (pointer:coarse){.story-toolbar__chip,.view-switch__button,.reader-tools__button{height:44px}.story-toolbar__chip{padding:0 16px}}.error-boundary__title{color:var(--color-heading);margin-bottom:6px;font-family:Fraunces,Cochin,Georgia,serif;font-size:1.3rem}.error-boundary__actions{justify-content:center;gap:10px;margin:16px 0 12px;display:flex}.error-boundary__detail{color:var(--color-text-muted);word-break:break-word;font-size:.78rem}.custom-story-form__field--checkbox{color:var(--color-text-secondary);flex-direction:row;align-items:flex-start;gap:10px;font-size:.9rem}.custom-story-form__field--checkbox input{width:20px;height:20px;accent-color:var(--color-accent);flex-shrink:0;margin-top:2px}.next-choice{background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-rgb), .3);border-radius:18px;margin:28px 0 8px;padding:18px 18px 16px}.next-choice__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin:0 0 4px;font-size:.72rem}.next-choice__title{margin:0 0 14px;font-size:1.25rem}.next-choice__options{gap:10px;display:grid}.next-choice__option{border:1px solid var(--overlay-14);background:var(--overlay-06);width:100%;min-height:56px;color:var(--color-text);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;font-size:1rem;line-height:1.4;transition:background .15s,border-color .15s,transform .12s;display:flex}.next-choice__option:hover:not(:disabled){background:var(--overlay-12);border-color:rgba(var(--accent-rgb), .5)}.next-choice__option:active:not(:disabled){transform:scale(.99)}.next-choice__option{position:relative;overflow:hidden}.next-choice__bar{background:rgba(var(--accent-rgb), .22);pointer-events:none;transition:width .5s;position:absolute;inset:0 auto 0 0}.next-choice__option>:not(.next-choice__bar){position:relative}.next-choice__option--leading{border-color:rgba(var(--accent-rgb), .7)}.next-choice__option--mine{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}div.next-choice__option{cursor:default}.next-choice__votes{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;gap:1px;min-width:68px;display:flex}.next-choice__count{color:var(--color-text-secondary);white-space:nowrap;font-size:.8rem}.next-choice__share{color:var(--color-text-muted);font-size:.72rem}.next-choice--done .next-choice__options{margin-top:4px}.next-choice__option:disabled{cursor:default;opacity:.8}.next-choice__number{background:var(--color-accent);width:30px;height:30px;color:var(--color-on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.next-choice__text{flex:auto}.next-choice__check{color:var(--color-accent);flex:none;font-weight:700}.next-choice__hint{color:var(--color-text-muted);margin:12px 0 0;font-size:.85rem}.next-choice__hint--error{color:var(--color-danger-text)}.next-choice__chosen{color:var(--color-heading);margin:0 0 12px;font-family:Fraunces,Cochin,Georgia,serif;font-size:1.15rem}.next-choice__sequel{font-weight:600}html.dim-mode .next-choice{opacity:.85}.story__body p{border-radius:12px;transition:background-color .3s,box-shadow .3s,opacity .3s}.story__body--reading p{opacity:.6}.story__body--reading p.story__paragraph--reading{opacity:1;background:rgba(var(--accent-rgb), .12);box-shadow:0 0 0 10px rgba(var(--accent-rgb), .12), inset 3px 0 0 var(--color-accent);margin-left:-12px;margin-right:-6px;padding-left:12px;padding-right:6px}html.dim-mode .story__body--reading p.story__paragraph--reading{color:var(--color-text)}@media (prefers-reduced-motion:reduce){.story__body p{transition:none}}.language-option__flag{flex-shrink:0;font-size:1.6rem;line-height:1}.theme-settings__label{text-align:left;flex-direction:column;gap:2px;display:flex}.theme-settings__hint{color:var(--color-text-muted);font-size:.75rem}.image-style__options{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.image-style__option{border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:8px;padding:8px;font-family:inherit;font-size:.92rem;display:flex}.image-style__option:disabled{cursor:default;opacity:.7}.image-style__option--active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.image-style__preview{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;height:auto;display:block}.image-style__label{flex-direction:column;gap:2px;display:flex}.image-style__title{justify-content:space-between;align-items:center;gap:6px;font-weight:600;display:flex}.image-style__check{color:var(--color-accent);font-weight:600}.image-style__hint{color:var(--color-text-muted);font-size:.75rem}.story-kinds__options{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:14px;display:grid}.story-kinds__option{border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.92rem;display:flex}.story-kinds__option input{width:1.1rem;height:1.1rem;accent-color:var(--color-accent);flex:none;margin-top:3px}.story-kinds__option--active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.story-kinds__option--fixed{cursor:default;opacity:.8}.story-kinds__emoji{flex:none;font-size:1.4rem;line-height:1.2}.story-kinds__text{flex-direction:column;gap:2px;min-width:0;display:flex}.story-kinds__title{font-weight:600}.story-kinds__hint{color:var(--color-text-muted);font-size:.78rem}.site-footer__link{font-size:.85rem}.yearbook{--paper:#fffdf8;--ink:#2a2233;--ink-soft:#6a6178;--ink-accent:#8a4a1f;max-width:860px;padding:24px 16px 64px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));margin:0 auto}.yearbook__toolbar{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.yearbook__controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.yearbook__year{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:.9rem;display:flex}.yearbook__year select{border:1px solid var(--color-input-border);background:var(--color-input-bg);height:40px;color:var(--color-text-input);border-radius:10px;padding:0 10px;font-family:inherit}.yearbook__toolbar-hint{color:var(--color-text-muted);margin:0;font-size:.82rem}.yearbook__page{background:var(--paper);color:var(--ink);border-radius:6px;margin:0 0 24px;padding:36px 32px;box-shadow:0 1px 2px #0003,0 12px 32px #00000040}.yearbook__page h1,.yearbook__page h2,.yearbook__page h3{color:var(--ink)}.yearbook__cover{text-align:center;padding-top:56px;padding-bottom:56px}.yearbook__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-accent);margin:0 0 10px;font-size:.78rem}.yearbook__cover-title{margin:0 0 6px;font-size:clamp(1.8rem,4vw,2.6rem)}.yearbook__cover-year{color:var(--ink-accent);margin:0;font-family:Fraunces,Cochin,Georgia,serif;font-size:clamp(3rem,9vw,5rem);line-height:1}.yearbook__cover-sub{color:var(--ink-soft);margin:10px 0 24px}.yearbook__mosaic{grid-template-columns:repeat(3,1fr);gap:8px;max-width:460px;margin:0 auto;display:grid}.yearbook__mosaic--1,.yearbook__mosaic--2{grid-template-columns:repeat(2,1fr);max-width:320px}.yearbook__mosaic img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.yearbook__cover-footer{color:var(--ink-soft);margin:28px 0 0;font-size:.9rem}.yearbook__toc-title{margin:0 0 18px;font-size:1.6rem}.yearbook__toc-month h3{color:var(--ink-accent);margin:18px 0 6px;font-size:1.05rem}.yearbook__toc-list{margin:0;padding-left:22px}.yearbook__toc-list li{border-bottom:1px dotted #2a223340;justify-content:space-between;gap:12px;padding:3px 0;display:flex}.yearbook__toc-list a{color:var(--ink)}.yearbook__toc-date{color:var(--ink-soft);white-space:nowrap;font-size:.85rem}.yearbook__story-image{border-radius:10px;width:100%;max-width:420px;margin:0 auto 20px}.yearbook__story-header{text-align:center;margin-bottom:18px}.yearbook__story-title{margin:0 0 6px;font-size:1.6rem}.yearbook__story-meta{color:var(--ink-soft);margin:0;font-size:.9rem}.yearbook__story-body p{margin:0 0 1em;font-size:1.02rem;line-height:1.7}.yearbook__story-body p:first-of-type:first-letter{float:left;color:var(--ink-accent);margin:.08em .1em 0 0;font-family:Fraunces,Cochin,Georgia,serif;font-size:2.6em;line-height:.85}.yearbook__pages{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.yearbook__picture{margin:0}.yearbook__picture img{border-radius:8px;width:100%}.yearbook__picture figcaption{text-align:center;margin-top:6px;font-size:.95rem}@media (width<=600px){.yearbook__page{padding:24px 18px}.yearbook__pages{grid-template-columns:1fr}}@media print{@page{size:A4;margin:16mm 14mm}html,body{background:#fff!important}body:before{display:none}.admin-fab,.changelog-fab,.yearbook__toolbar,.prev-next{display:none!important}.yearbook{max-width:none;padding:0}.yearbook__page{box-shadow:none;break-after:page;page-break-after:always;background:#fff;border-radius:0;margin:0;padding:0}.yearbook__page:last-child{break-after:auto;page-break-after:auto}.yearbook__cover{flex-direction:column;justify-content:center;min-height:240mm;display:flex}.yearbook__story-image{width:auto;max-width:100%;max-height:105mm}.yearbook__story-body p{orphans:3;widows:3;font-size:11.5pt;line-height:1.55}.yearbook__toc-list a{text-decoration:none}.yearbook__picture{break-inside:avoid}.yearbook__picture img{width:auto;max-width:100%;max-height:90mm;margin:0 auto}}.yearbook__picker{background:var(--overlay-05);border:1px solid var(--overlay-12);border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.yearbook__picker-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.yearbook__picker-label{letter-spacing:.06em;text-transform:uppercase;min-width:110px;color:var(--color-text-dim);flex:none;font-size:.82rem}.yearbook__picker-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.yearbook__picker-text{color:var(--color-text-secondary);font-size:.9rem}.yearbook__limit{border:1px solid var(--color-input-border);background:var(--color-input-bg);width:84px;height:40px;color:var(--color-text-input);border-radius:10px;padding:0 10px;font-family:inherit;font-size:1rem}.yearbook__limit-from{border:1px solid var(--color-input-border);background:var(--color-input-bg);height:40px;color:var(--color-text-input);border-radius:10px;padding:0 10px;font-family:inherit}.yearbook__picker-list{border:1px solid var(--overlay-10);border-radius:10px;max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.yearbook__picker-list li+li{border-top:1px solid var(--overlay-08)}.yearbook__picker-item{cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:8px 10px;display:flex}.yearbook__picker-item:hover{background:var(--overlay-06)}.yearbook__picker-item input{width:22px;height:22px;accent-color:var(--color-accent);flex-shrink:0}.yearbook__picker-thumb{object-fit:cover;background:var(--overlay-10);border-radius:8px;flex-shrink:0;width:44px;height:44px}.yearbook__picker-text-block{flex-direction:column;gap:2px;min-width:0;display:flex}.yearbook__picker-title{color:var(--color-text);font-weight:600}.yearbook__picker-date{color:var(--color-text-muted);font-size:.8rem}.yearbook__picker-item--out .yearbook__picker-item{opacity:.55}.yearbook__picker-summary{color:var(--color-text-secondary);margin:0;font-size:.85rem}.lexicon__section{max-width:760px;margin:0 auto 36px}.lexicon__heading{color:var(--color-heading);margin:0 0 14px;font-size:1.3rem}.lexicon__intro{color:var(--color-text-secondary);margin:-6px 0 14px;font-size:.9rem}.lexicon__list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.lexicon__card{background:var(--overlay-04);border:1px solid var(--overlay-08);border-radius:14px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.lexicon__card--memory{border-color:rgba(var(--accent-rgb), .3);background:rgba(var(--accent-rgb), .06)}.lexicon__thumb,.lexicon__avatar{border:1px solid var(--overlay-12);background:var(--overlay-04);border-radius:14px;flex-shrink:0;width:64px;height:64px}.lexicon__thumb{object-fit:cover}.lexicon__avatar{color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:1.8rem;display:flex}.lexicon__card--memory .lexicon__thumb{filter:sepia(.35)saturate(.7)}.lexicon__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lexicon__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.lexicon__name{color:var(--color-text);font-size:1.05rem;font-weight:600}.lexicon__relationship,.lexicon__age{color:var(--color-accent);font-size:.88rem}.lexicon__memory-tag{background:rgba(var(--accent-rgb), .12);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.72rem}.lexicon__likes,.lexicon__count{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:.9rem}.lexicon__stories{flex-wrap:wrap;gap:6px 10px;margin:4px 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.lexicon__stories a{color:var(--color-link)}.lexicon__story-date{color:var(--color-text-muted)}.season-particles{pointer-events:none;z-index:2;width:100%;height:100%;position:fixed;inset:0}html.dim-mode .season-particles{display:none}@media print{.season-particles{display:none!important}}.admin-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.onboarding-banner__wizard{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;font-size:.85rem;display:flex}.admin-settings--sub{border-top:1px solid var(--overlay-08);margin:24px 0 0;padding-top:18px}.wizard{max-width:720px;margin:0 auto}.wizard__steps{flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:0;list-style:none;display:flex}.wizard__step-button{border:1px solid var(--overlay-12);background:var(--overlay-04);color:var(--color-text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 10px 6px 6px;font-family:inherit;font-size:.8rem;display:inline-flex}.wizard__step-button:hover:not(:disabled){background:var(--overlay-08)}.wizard__step-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wizard__step-index{background:var(--overlay-10);border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;display:inline-flex}.wizard__step--done .wizard__step-button{color:var(--color-text-secondary)}.wizard__step--done .wizard__step-index{background:rgba(var(--success-rgb), .25);color:var(--color-success-text)}.wizard__step--current .wizard__step-button{border-color:var(--color-accent);background:rgba(var(--accent-rgb), .12);color:var(--color-text)}.wizard__step--current .wizard__step-index{background:var(--color-accent);color:var(--color-on-accent)}.wizard__card{border:1px solid var(--overlay-08);background:var(--overlay-05);border-radius:18px;padding:22px 22px 18px}.wizard__progress{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 4px;font-size:.8rem}.wizard__heading{color:var(--color-heading);margin:0 0 12px;font-size:1.5rem}.wizard__heading:focus{outline:none}.wizard__lead{color:var(--color-text-secondary);margin:0 0 18px;line-height:1.55}.wizard__lead a,.wizard__next a{color:var(--color-link)}.wizard__card .admin-settings{gap:12px;margin-bottom:16px;display:grid}.wizard__overview{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.wizard__overview li{background:var(--overlay-06);border-radius:12px;padding:10px 12px;font-size:.92rem}.wizard__choices{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.wizard__choice{border:1px solid var(--color-input-border);background:var(--color-input-bg);width:100%;color:var(--color-text);text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;font-size:.95rem;display:flex}.wizard__choice:hover{border-color:var(--color-accent)}.wizard__inline-button,.wizard__later{color:var(--color-link);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.wizard__later{margin-left:auto;font-size:.88rem}.wizard__details{background:var(--overlay-04);border-radius:12px;margin-top:14px;padding:12px 14px}.wizard__details summary{cursor:pointer;font-weight:600}.wizard__details .admin-settings__row{margin-top:10px}.wizard__error{margin:12px 0 0}.wizard__nav{border-top:1px solid var(--overlay-08);flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;padding-top:16px;display:flex}.wizard__summary{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0 0 20px;font-size:.95rem;display:grid}.wizard__summary dt{color:var(--color-text-muted)}.wizard__summary dd{margin:0}.wizard__subheading{margin:0 0 8px;font-size:1.05rem}.wizard__next{flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:.95rem;line-height:1.5;display:flex}@media (width<=520px){.wizard__card{padding:16px 14px}.wizard__step-label{display:none}.wizard__step--current .wizard__step-label{display:inline}.wizard__summary{grid-template-columns:1fr;gap:2px 0}.wizard__summary dd{margin-bottom:8px}}.choice-row{border:none;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.choice-row legend{width:100%;color:var(--color-text-secondary);margin-bottom:8px;padding:0;font-size:.88rem}.choice-row__option{border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:.95rem}.choice-row__option:hover{border-color:var(--color-accent)}.choice-row__option--active{border-color:var(--color-accent);background:rgba(var(--accent-rgb), .16);font-weight:600}.child-cards{gap:16px;margin-bottom:16px;display:grid}.child-card{border:1px solid var(--overlay-10);background:var(--overlay-04);border-radius:14px;gap:10px;padding:16px;display:grid}.child-card__title{color:var(--color-heading);align-items:baseline;gap:8px;margin:0;font-size:1.15rem;display:flex}.child-card__age{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.child-card__subtitle{color:var(--color-text-secondary);margin:8px 0 0;font-size:.95rem}.child-card__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.child-card__check{flex:0 auto}.child-card__preview{border-left:3px solid var(--color-accent);background:var(--overlay-05);color:var(--color-text-secondary);margin:8px 0 0;padding:10px 12px;font-size:.88rem;line-height:1.5}.figure-card{border:1px dashed var(--overlay-16);background:var(--overlay-03);border-radius:12px;gap:10px;padding:12px;display:grid}.figure-card:focus,.figure-card__error:focus{outline:none}.figure-card__title{color:var(--color-text-secondary);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:.95rem;display:flex}.figure-card__off{margin:0}.figure-card__drawing,.figure-card__draft,.figure-card__card,.figure-card__upload{gap:8px;display:grid}.figure-card__pictures{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.figure-card__image{border:1px solid var(--overlay-12);background:var(--overlay-04);border-radius:12px;width:100%;max-width:280px;height:auto;display:block}.figure-card__image--compact{max-width:160px}.figure-card__image--small{max-width:120px}.figure-card__image--empty{aspect-ratio:1;color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;font-size:.85rem;display:flex}.figure-card__photo{object-fit:cover;border:1px solid var(--overlay-12);border-radius:12px;width:96px;height:96px}.figure-card__status{color:var(--color-text);margin:0;font-size:.9rem}.figure-card__notice{background:rgba(var(--warn-rgb), .12);border:1px solid rgba(var(--warn-rgb), .35);color:var(--color-warn-text);border-radius:8px;margin:0;padding:8px 10px;font-size:.85rem}.figure-card__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.figure-card__privacy-list{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.figure-card__pick{cursor:pointer;position:relative;overflow:hidden}.figure-card__pick input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.figure-card__pick:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.figure-card__pick--busy{opacity:.6;cursor:progress}.figure-card__pick--busy input[type=file]{cursor:progress}.figure-card__waiting{background:rgba(var(--accent-rgb), .12);border:1px solid rgba(var(--accent-rgb), .4);color:var(--color-text);border-radius:10px;margin:0 0 12px;padding:8px 12px;font-size:.9rem}.figure-dialog{border:1px solid var(--overlay-14);background:var(--color-bg);background-image:var(--color-card-gradient);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--color-text);border-radius:16px;padding:20px;overflow:auto}.figure-dialog::backdrop{background:var(--color-bg-scrim)}.figure-dialog__title{color:var(--color-heading);margin:0 0 12px;font-size:1.1rem}.figure-dialog__item{border-top:1px solid var(--overlay-10);align-items:flex-start;gap:14px;padding:12px 0;display:flex}.figure-dialog__item--removals{flex-direction:column}.figure-dialog__text{gap:8px;min-width:0;display:grid}.figure-dialog__question{margin:0;font-size:.95rem}.figure-dialog__thumb{border:1px solid var(--overlay-12);background:var(--overlay-04);border-radius:10px;flex:none;width:96px;height:auto}.figure-dialog__thumb.figure-card__image--empty{height:96px;padding:6px}.figure-dialog__thumbs{flex-wrap:wrap;gap:12px;display:flex}.figure-dialog__removed{color:var(--color-text-secondary);justify-items:center;gap:4px;margin:0;font-size:.85rem;display:grid}.figure-dialog__actions{border-top:1px solid var(--overlay-10);flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.family-list{margin:0 0 14px;padding-left:20px;line-height:1.6}.family-list__role,.family-list__desc,.family-list__item--inactive{color:var(--color-text-muted)}.family-presets{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.family-presets__chip{border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;border-radius:999px;padding:8px 12px;font-family:inherit;font-size:.9rem}.family-presets__chip:hover{border-color:var(--color-accent)}.family-draft{background:var(--overlay-05);border-radius:12px;padding:14px}.wizard__howto{color:var(--color-text-secondary);gap:6px;margin:0 0 16px;padding-left:22px;line-height:1.5;display:grid}.wizard__howto a{color:var(--color-link)}.wizard__cards{gap:12px;margin:0 0 22px;display:grid}.wizard__cards .wizard__lead,.wizard__cards .admin-status{margin:0}.wizard__first-story{border:1px solid rgba(var(--accent-rgb), .35);background:rgba(var(--accent-rgb), .08);border-radius:14px;margin:0 0 22px;padding:16px}.setup-pending p+p{margin-top:14px}.site-footer__links{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.help-link{color:var(--color-link);white-space:nowrap;font-size:.85rem}.help__toc,.help__body,.help__top{max-width:760px;margin-left:auto;margin-right:auto}.help__toc{background:var(--overlay-05);border-radius:14px;margin-bottom:28px;padding:16px 20px}.help__toc-title{color:var(--color-text-secondary);margin:0 0 8px;font-size:1rem}.help__toc ol{margin:0;padding-left:22px;line-height:1.8}.help__toc a,.help__body a,.help__top a{color:var(--color-link)}.help__toc a[aria-current]{font-weight:700}.help__body{color:var(--color-text-secondary);line-height:1.65}.help__h2{color:var(--color-heading);margin:36px 0 12px;padding-top:8px;scroll-margin-top:16px;font-size:1.4rem}.help__h3{color:var(--color-text);margin:22px 0 8px;scroll-margin-top:16px;font-size:1.08rem}.help__p{margin:0 0 12px}.help__list{gap:4px;margin:0 0 14px;padding-left:22px;display:grid}.help__body code{background:var(--overlay-10);border-radius:5px;padding:1px 5px;font-size:.88em}.help__code{background:var(--color-input-bg);border:1px solid var(--overlay-10);border-radius:10px;margin:0 0 14px;padding:12px 14px;font-size:.85rem;line-height:1.5;overflow-x:auto}.help__code code{background:0 0;padding:0}.help__note{border-left:3px solid var(--color-accent);background:rgba(var(--accent-rgb), .08);border-radius:0 10px 10px 0;max-width:760px;margin:0 auto 14px;padding:10px 14px}.help__badge{background:rgba(var(--accent-rgb), .18);color:var(--color-text);vertical-align:middle;white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:600;display:inline-block}.help__table-wrap{margin:0 0 14px;overflow-x:auto}.help__table{border-collapse:collapse;width:100%;font-size:.9rem}.help__table th,.help__table td{border-bottom:1px solid var(--overlay-10);text-align:left;vertical-align:top;padding:8px 10px}.help__table th{color:var(--color-text)}.help__top{text-align:center;margin-top:32px}.insecure-banner{z-index:50;color:#fff;text-align:center;background:#b3261e;padding:6px 12px;font-size:.85rem;font-weight:600;position:sticky;top:0}.login-card__links,.account__links{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin:18px 0 0;font-size:.9rem;display:flex}.account__header{border-bottom:1px solid var(--overlay-08);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 24px;padding-bottom:16px;display:flex}.account__legal{margin-top:40px}.account__brand{color:var(--color-text);font-size:1.2rem;font-weight:700;text-decoration:none}.account__who{color:var(--color-text-secondary);align-items:center;gap:12px;font-size:.9rem;display:flex}.account__email{overflow-wrap:anywhere}.account__section{border:1px solid var(--overlay-08);background:var(--overlay-03);border-radius:16px;margin-bottom:18px;padding:20px}.account__section-title{margin:0 0 12px;font-size:1.15rem}.account__section .login-form{max-width:420px}.account__hint{color:var(--color-text-dim-2);margin:0 0 12px;font-size:.85rem}.login-form__field .account__hint{margin:0}.account__checks{flex-direction:column;gap:10px;display:flex}.account__check{color:var(--color-text-secondary);align-items:flex-start;gap:10px;font-size:.88rem;display:flex}.account__check input{width:1.1rem;height:1.1rem;accent-color:var(--color-accent);flex:none;margin-top:2px}.account__families,.account__mails,.family-members{margin:0 0 16px;padding:0;list-style:none}.account__family,.family-members__item{border-bottom:1px solid var(--overlay-08);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:12px 0;display:flex}.account__role,.family-members__role{background:var(--overlay-08);color:var(--color-text-secondary);border-radius:999px;padding:2px 8px;font-size:.75rem;display:inline-block}.account__row{flex-wrap:wrap;gap:10px;display:flex}.account__wide{width:100%}.account__qr{border-radius:8px;width:220px;max-width:100%;height:auto;margin:0 0 12px;display:block}.account__secret{letter-spacing:.05em;overflow-wrap:anywhere;margin-top:6px;font-size:.95rem;display:inline-block}.account__codes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 16px;margin:12px 0 18px;padding-left:1.4em;font-size:1rem;display:grid}.account__mail{border-bottom:1px solid var(--overlay-08);padding:12px 0}.account__mail-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account__mail-body{background:var(--overlay-06);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin:8px 0 0;padding:10px 12px;font-family:inherit;font-size:.85rem}.platform__tabs{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.platform__tab{border:1px solid var(--overlay-08);color:var(--color-text-secondary);border-radius:999px;padding:6px 12px;font-size:.88rem;text-decoration:none}.platform__tab--active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.login-form__field select,.login-form__field textarea{background:var(--overlay-06);border:1px solid var(--overlay-14);color:var(--color-text);color-scheme:var(--color-scheme);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:1rem}.login-form__field textarea{resize:vertical}.login-form__field select:focus,.login-form__field textarea:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:#0000}.platform__stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0 0 16px;display:grid}.platform__stat{background:var(--overlay-06);overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.platform__stat-value{color:var(--color-text);font-size:1.2rem;font-weight:700}.platform__stat-label{color:var(--color-text-secondary);font-size:.8rem}.platform__stat-hint{color:var(--color-text-dim-2);font-size:.75rem}.platform__filters{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin:0 0 12px;display:flex}.platform__filters .login-form__field{flex:200px}.platform__families,.platform__audit{margin:0;padding:0;list-style:none}.platform__family{border-bottom:1px solid var(--overlay-08);overflow-wrap:anywhere;padding:14px 0}.platform__family-head{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 4px;display:flex}.platform__family-name{font-weight:700}.platform__badge--warn{background:var(--color-danger-bg);color:var(--color-danger-text)}.platform__facts{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 16px;margin:8px 0 0;font-size:.85rem;display:grid}.platform__facts dt{color:var(--color-text-dim-2);font-size:.75rem}.platform__facts dd{margin:0}.platform__actions{margin:12px 0 0}.platform__problems{color:var(--color-warn-text);overflow-wrap:anywhere;margin:4px 0 8px;padding-left:1.2em;font-size:.85rem}.platform__table .platform__mono{white-space:normal;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.platform__feedback{margin:10px 0 0}.login-form .platform__feedback{margin:0}.platform__panel{border:1px solid var(--overlay-08);border-radius:12px;margin:12px 0 0;padding:0 12px 12px}.platform__panel .platform__danger{margin:16px 0 0}.platform__sub{border-top:1px solid var(--overlay-08);margin:20px 0 0;padding-top:14px}.platform__sub-title{margin:0 0 10px;font-size:1rem}h4.platform__sub-title{margin-top:18px;font-size:.95rem}.platform__table-wrap{max-width:100%;margin:0 0 12px;overflow-x:auto}.platform__table{border-collapse:collapse;width:100%;font-size:.85rem}.platform__table caption{text-align:left;color:var(--color-text-secondary)}.platform__table th,.platform__table td{border-bottom:1px solid var(--overlay-08);text-align:left;vertical-align:top;white-space:nowrap;padding:6px 8px}.platform__table th[scope=row]{font-weight:600}.platform__table .platform__num{text-align:right}.platform__bar{background:var(--color-accent);border-radius:2px;height:4px;margin:0 0 4px;display:block}.platform__form,.platform__plan{margin:12px 0 0}.platform__plan{border-bottom:1px solid var(--overlay-08);padding:10px 0}.platform__plan p{margin:0 0 6px}.platform__danger{border:1px solid var(--color-danger-border);border-radius:12px;padding:12px}.platform__month{max-width:280px;margin:0 0 12px}.platform__audit li{border-bottom:1px solid var(--overlay-08);overflow-wrap:anywhere;padding:6px 0;font-size:.85rem}.platform__audit-time{color:var(--color-text-dim-2)}.private-notice{text-align:center}.private-notice .button-primary{display:inline-block}.private-notice__legal{margin:20px 0 0}.reader-access__card{color:#1a1b4b;text-align:center;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:4px;max-width:320px;margin:12px 0 16px;padding:16px;display:flex}.reader-access__qr{width:200px;max-width:100%;height:auto;display:block}.reader-access__card-title{margin:8px 0 0;font-size:1.05rem;font-weight:600}.reader-access__card-hint{margin:0;font-size:.85rem}.reader-access__link{overflow-wrap:anywhere;margin:4px 0 0;font-size:.75rem}.custom-domain__head{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0;display:flex}.custom-domain__host{overflow-wrap:anywhere}.custom-domain__status{background:var(--overlay-08);color:var(--color-text-secondary);border-radius:999px;padding:2px 10px;font-size:.8rem;display:inline-block}.custom-domain__status--problem{background:var(--color-danger-bg);color:var(--color-danger-text)}.custom-domain__problems{color:var(--color-warn-text);overflow-wrap:anywhere;margin:4px 0 8px;padding-left:1.2em;font-size:.85rem}.custom-domain__records-wrap{margin:8px 0;overflow-x:auto}.custom-domain__records{border-collapse:collapse;width:100%;font-size:.8rem}.custom-domain__records th,.custom-domain__records td{border-bottom:1px solid var(--overlay-08);text-align:left;vertical-align:top;padding:6px 8px}.custom-domain__records th{color:var(--color-text-secondary);font-weight:600}.custom-domain__value{overflow-wrap:anywhere;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.custom-domain__copy{padding:4px 10px;font-size:.75rem}.family-link-print{display:none}@media print{body.print-family-link #app{display:none!important}body.print-family-link .family-link-print{justify-content:center;padding-top:20mm;display:flex}.family-link-print .reader-access__card{color:#000;width:120mm;max-width:none;margin:0}.family-link-print .reader-access__qr{width:90mm}.family-link-print .reader-access__card-title{font-size:20pt}.family-link-print .reader-access__card-hint{font-size:12pt}.family-link-print .reader-access__link{font-size:10pt}}.plan-usage__blocked{background:rgba(var(--warn-rgb), .14);border:1px solid rgba(var(--warn-rgb), .4);color:var(--color-warn-text);border-radius:10px;margin:0 0 12px;padding:10px 12px}.plan-usage__rights{color:var(--color-text-secondary);margin:0 0 12px;padding-left:1.2em}.plan-usage__rights li{margin:2px 0}.plan-usage__balance{color:var(--color-heading);margin:0 0 4px;font-size:1.15rem}.plan-usage__prices{border-collapse:collapse;width:100%;max-width:420px;margin:8px 0 12px}.plan-usage__prices caption{text-align:left;color:var(--color-text-secondary);padding-bottom:4px;font-weight:600}.plan-usage__prices th,.plan-usage__prices td{border-bottom:1px solid var(--overlay-08);text-align:left;padding:4px 0;font-weight:400}.plan-usage__prices td{text-align:right;white-space:nowrap}.plan-usage__bookings{max-width:480px;margin:0;padding:0;list-style:none}.plan-usage__bookings li{border-bottom:1px solid var(--overlay-08);align-items:baseline;gap:12px;padding:4px 0;display:flex}.plan-usage__booking-date{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex:none}.plan-usage__booking-label{overflow-wrap:anywhere;flex:1;min-width:0}.plan-usage__booking-amount{font-variant-numeric:tabular-nums;color:var(--color-success-text);flex:none}.plan-usage__booking-amount--minus{color:var(--color-text-secondary)}
