@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Outfit:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";.spinner-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--np-black)}.spinner{width:40px;height:40px;border:3px solid var(--np-gunmetal);border-top-color:var(--np-red);border-radius:50%;animation:spin .7s linear infinite}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--np-black);padding:var(--space-md)}.login-card{width:100%;max-width:400px;background:var(--np-void);border:1px solid var(--np-gunmetal);border-radius:12px;padding:var(--space-xl) var(--space-lg);text-align:center}.login-logo{font-family:var(--font-display);font-size:48px;letter-spacing:.06em;line-height:1;margin-bottom:var(--space-lg)}.login-logo-next{color:var(--np-white)}.login-logo-panel{color:var(--np-red)}.divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--np-smoke);font-size:13px;text-transform:uppercase;letter-spacing:.1em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--np-steel)}.social-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px var(--space-md);background:var(--np-charcoal);border:1px solid var(--np-steel);border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.social-btn:hover{background:var(--np-gunmetal);border-color:var(--np-smoke)}.magic-link-form{display:flex;flex-direction:column;gap:var(--space-md)}.input{width:100%;padding:12px var(--space-md);background:var(--np-charcoal);border:1px solid var(--np-steel);border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:15px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--np-red)}.input::placeholder{color:var(--np-smoke)}.btn-primary{width:100%;padding:12px var(--space-md);background:var(--np-red);border:none;border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--np-red-bright)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.magic-link-sent{color:var(--np-silver);font-size:14px;line-height:1.5}.magic-link-error{color:var(--np-red);font-size:13px;margin-top:var(--space-xs)}.setup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--np-black);padding:var(--space-md)}.setup-card{width:100%;max-width:440px;background:var(--np-void);border:1px solid var(--np-gunmetal);border-radius:12px;padding:var(--space-xl) var(--space-lg)}.setup-title{font-family:var(--font-display);font-size:36px;letter-spacing:.04em;color:var(--np-white);margin-bottom:var(--space-xs)}.setup-subtitle{color:var(--np-smoke);font-size:14px;margin-bottom:var(--space-lg)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;color:var(--np-silver);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-sm)}.username-wrapper{position:relative}.username-status{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px}.username-error{color:var(--np-red);font-size:13px;margin-top:var(--space-xs)}.username-available{color:#2ecc71}.username-taken{color:var(--np-red)}.username-checking{color:var(--np-smoke)}.home-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--np-black);color:var(--np-white);font-family:var(--font-display);font-size:36px;letter-spacing:.04em}.app-bar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);height:64px;background:transparent;transition:background .2s,border-color .2s}.app-bar--scrolled{background:var(--np-void);border-bottom:1px solid var(--np-gunmetal)}.app-bar__logo{font-family:var(--font-display);font-size:28px;letter-spacing:.06em;line-height:1;cursor:pointer;text-decoration:none;display:flex;background:none;border:none;padding:0}.app-bar__logo-next{color:var(--np-white)}.app-bar__logo-panel{color:var(--np-red)}.app-bar__nav{display:flex;align-items:center;gap:var(--space-lg);list-style:none}.app-bar__link{color:var(--np-silver);text-decoration:none;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;transition:color .15s}.app-bar__link:hover{color:var(--np-white)}.app-bar__right{display:flex;align-items:center;gap:var(--space-md)}.app-bar__bell-wrap{position:relative}.app-bar__bell{background:none;border:none;color:var(--np-steel);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:color .15s}.app-bar__bell:hover{color:var(--np-white)}.app-bar__bell--active{color:var(--np-gold)}.app-bar__bell-badge{position:absolute;top:2px;right:0;min-width:16px;height:16px;background:var(--np-red);color:var(--np-white);font-family:var(--font-mono);font-size:10px;font-weight:700;line-height:16px;text-align:center;border-radius:8px;padding:0 4px}.app-bar__bell-dropdown{position:absolute;top:calc(100% + var(--space-sm));right:0;background:var(--np-charcoal);border:1px solid var(--np-steel);border-radius:8px;min-width:280px;max-height:360px;overflow-y:auto;box-shadow:0 8px 24px #0006;z-index:200}.app-bar__bell-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--np-gunmetal)}.app-bar__bell-title{color:var(--np-white);font-family:var(--font-body);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.app-bar__bell-clear{background:none;border:none;color:var(--np-steel);font-family:var(--font-body);font-size:12px;cursor:pointer;transition:color .1s}.app-bar__bell-clear:hover{color:var(--np-white)}.app-bar__bell-empty{padding:var(--space-lg) var(--space-md);color:var(--np-smoke);font-size:13px;text-align:center}.app-bar__bell-list{list-style:none;padding:0;margin:0}.app-bar__bell-item{border-bottom:1px solid var(--np-gunmetal)}.app-bar__bell-item:last-child{border-bottom:none}.app-bar__bell-item-btn{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s}.app-bar__bell-item-btn:hover{background:var(--np-gunmetal)}.app-bar__bell-item-title{color:var(--np-white);font-family:var(--font-body);font-size:13px;font-weight:500}.app-bar__bell-item-sub{color:var(--np-smoke);font-family:var(--font-body);font-size:12px}.app-bar__avatar-wrap{position:relative}.app-bar__avatar{width:36px;height:36px;border-radius:50%;background:var(--np-steel);color:var(--np-white);font-family:var(--font-body);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid transparent;transition:border-color .15s;overflow:hidden;padding:0}.app-bar__avatar:hover{border-color:var(--np-red)}.app-bar__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.app-bar__dropdown{position:absolute;top:calc(100% + var(--space-sm));right:0;background:var(--np-charcoal);border:1px solid var(--np-steel);border-radius:8px;min-width:220px;padding:var(--space-xs) 0;box-shadow:0 8px 24px #0006;z-index:200}.app-bar__dropdown-character{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;cursor:pointer;transition:background .1s;text-align:left}.app-bar__dropdown-character:hover{background:var(--np-gunmetal)}.app-bar__dropdown-character--active{cursor:default;border-left:3px solid var(--np-red)}.app-bar__dropdown-character--active:hover{background:none}.app-bar__dropdown-character-info{display:flex;flex-direction:column;gap:2px}.app-bar__dropdown-character-name{color:var(--np-white);font-family:var(--font-body);font-size:14px;font-weight:500}.app-bar__dropdown-character-style{color:var(--np-smoke);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.app-bar__dropdown-portrait{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.app-bar__dropdown-portrait-placeholder{width:32px;height:32px;border-radius:50%;background:var(--np-gunmetal);flex-shrink:0}.app-bar__dropdown-divider{height:1px;background:var(--np-gunmetal);margin:var(--space-xs) 0}.app-bar__dropdown-item{display:block;width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--np-silver);font-family:var(--font-body);font-size:14px;cursor:pointer;text-align:left;transition:background .1s,color .1s}.app-bar__dropdown-item:hover{background:var(--np-gunmetal);color:var(--np-white)}.app-bar__dropdown-new-character{color:var(--np-red);font-weight:500}.app-bar__hamburger{display:none;background:none;border:none;color:var(--np-white);font-size:24px;cursor:pointer;padding:var(--space-xs)}.app-bar__mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;z-index:99;background:var(--np-void);border-bottom:1px solid var(--np-gunmetal);padding:var(--space-md) var(--space-lg);flex-direction:column;gap:var(--space-md)}.app-bar__mobile-menu--open{display:flex}.app-bar__mobile-link{color:var(--np-silver);text-decoration:none;font-family:var(--font-body);font-size:16px;font-weight:500;padding:var(--space-sm) 0;transition:color .15s}.app-bar__mobile-link:hover{color:var(--np-white)}.app-bar__login-btn{color:var(--np-white);background:var(--np-red);font-family:var(--font-body);font-size:14px;font-weight:600;padding:var(--space-xs) var(--space-md);border-radius:6px;text-decoration:none;letter-spacing:.02em;transition:opacity .15s}.app-bar__login-btn:hover{opacity:.9}@media(max-width:768px){.app-bar__nav{display:none}.app-bar__hamburger{display:block}}.gen-progress{position:fixed;top:64px;left:0;right:0;z-index:99;width:100%;border:none;text-align:left;cursor:pointer;background:linear-gradient(135deg,#0d0d10f7,#19191ef7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,22,63,.3);padding:10px 20px 6px}.gen-progress--failed{border-bottom-color:var(--np-red)}.gen-progress__content{display:flex;align-items:center;gap:12px;margin-bottom:6px}.gen-progress__stages{display:flex;gap:6px}.gen-progress__dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;transition:background .3s,box-shadow .3s}.gen-progress__dot--done{background:var(--np-red)}.gen-progress__dot--active{background:var(--np-gold);box-shadow:0 0 8px var(--np-gold);animation:dot-pulse 1.5s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:.7}50%{opacity:1}}.gen-progress__label{font-family:var(--font-mono);font-size:13px;color:var(--np-white);letter-spacing:.04em;flex:1}.gen-progress--failed .gen-progress__label{color:var(--np-red)}.gen-progress__timer{font-family:var(--font-mono);font-size:13px;color:var(--np-smoke);min-width:48px;text-align:right}.gen-progress__track{height:2px;background:#ffffff14;border-radius:1px;overflow:hidden}.gen-progress__fill{height:100%;background:linear-gradient(90deg,var(--np-red),var(--np-gold));border-radius:1px;transition:width .6s ease}.gen-progress--failed .gen-progress__fill{background:var(--np-red)}.app-layout__main{padding-top:64px;min-height:100vh;background:var(--np-black)}.character-hero{position:relative;border-radius:6px;overflow:hidden;margin-bottom:var(--space-xl);min-height:280px}.character-hero__panels{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--np-gutter, 3px);height:100%;min-height:280px}.character-hero__panel{width:100%;height:100%;object-fit:cover;display:block;min-height:280px;filter:saturate(.6) brightness(.5);transition:filter .6s}.character-hero:hover .character-hero__panel{filter:saturate(.8) brightness(.6)}.character-hero__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#0d0d1080,#0d0d10d9)}.character-hero__content{max-width:480px;padding:var(--space-xl)}.character-hero__label{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--np-red);display:block;margin-bottom:var(--space-sm)}.character-hero__title{font-family:var(--font-display);font-size:48px;letter-spacing:.03em;color:var(--np-white);margin-bottom:var(--space-md);line-height:1}.character-hero__desc{font-size:16px;line-height:1.6;color:var(--np-silver);margin-bottom:var(--space-lg)}.character-hero__cta{display:inline-block;padding:14px 36px;background:var(--np-red);border:none;border-radius:6px;color:var(--np-white);font-family:var(--font-body);font-size:16px;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:background .2s}.character-hero__cta:hover{background:var(--np-red-bright, #ff2050)}@media(max-width:768px){.character-hero__panels{grid-template-columns:repeat(2,1fr)}.character-hero__panel:nth-child(n+3){display:none}.character-hero__title{font-size:36px}.character-hero,.character-hero__panels,.character-hero__panel{min-height:220px}}.featured-wall{margin-bottom:var(--space-lg)}.featured-wall__heading{font-family:var(--font-display);font-size:28px;letter-spacing:.04em;color:var(--np-white);margin-bottom:var(--space-md)}.featured-wall__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--np-gutter, 3px)}.featured-card{position:relative;border-radius:4px;overflow:hidden;cursor:pointer;border:none;padding:0;background:var(--np-charcoal);aspect-ratio:16 / 9;transition:box-shadow .3s}.featured-card:hover{box-shadow:0 8px 32px #e5163f26}.featured-card--hero{grid-column:span 2;aspect-ratio:21 / 9}.featured-card__image{width:100%;height:100%;object-fit:cover;display:block}.featured-card__overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-md) var(--space-lg);background:linear-gradient(transparent 0%,#000000d9);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.featured-card__badge{display:inline-block;padding:2px 10px;border-radius:3px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--np-white);text-transform:uppercase;letter-spacing:.1em}.featured-card__title{font-family:var(--font-display);font-size:22px;letter-spacing:.04em;color:var(--np-white)}.featured-card--hero .featured-card__title{font-size:36px}@media(max-width:640px){.featured-wall__grid{grid-template-columns:1fr}.featured-card--hero{grid-column:span 1;aspect-ratio:16 / 9}.featured-card--hero .featured-card__title{font-size:24px}}.genre-shelf{margin-bottom:var(--space-xl)}.genre-shelf__title{font-family:var(--font-display);font-size:22px;letter-spacing:.04em;margin-bottom:var(--space-md)}.genre-shelf__scroll{display:flex;gap:var(--np-gutter, 3px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:var(--space-sm)}.genre-shelf__scroll::-webkit-scrollbar{display:none}.genre-shelf__card{flex:0 0 280px;scroll-snap-align:start;position:relative;border-radius:4px;overflow:hidden;cursor:pointer;border:none;padding:0;background:var(--np-charcoal);aspect-ratio:16 / 10}.genre-shelf__card-image{width:100%;height:100%;object-fit:cover;display:block}.genre-shelf__card-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-sm) var(--space-md);background:linear-gradient(transparent,#000000d9)}.genre-shelf__card-title{font-family:var(--font-display);font-size:16px;letter-spacing:.04em;color:var(--np-white)}@media(max-width:640px){.genre-shelf__card{flex:0 0 220px}}.genre-tabs{display:flex;gap:var(--space-sm);padding:var(--space-md) 0;position:sticky;top:0;z-index:10;background:var(--np-black);overflow-x:auto;scrollbar-width:none}.genre-tabs::-webkit-scrollbar{display:none}.genre-tab{padding:var(--space-sm) var(--space-md);border:1px solid var(--np-steel);border-radius:20px;background:transparent;color:var(--np-smoke);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}.genre-tab:hover{color:var(--np-white);border-color:var(--np-smoke)}.genre-tab--active{color:var(--np-white);background:var(--np-gunmetal);border-color:var(--tab-accent, var(--np-red));box-shadow:0 1px 0 0 var(--tab-accent, var(--np-red))}.browse-page{min-height:100vh;background:var(--np-black);padding:var(--space-lg);max-width:1200px;margin:0 auto}.browse-page__loading{text-align:center;color:var(--np-smoke);padding:var(--space-xl) 0;font-family:var(--font-body)}.browse-page__genre-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--np-gutter, 3px)}.browse-page__story-card{position:relative;border-radius:4px;overflow:hidden;cursor:pointer;border:none;padding:0;background:var(--np-charcoal);aspect-ratio:16 / 10}.browse-page__story-card-image{width:100%;height:100%;object-fit:cover;display:block}.browse-page__story-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-sm) var(--space-md);background:linear-gradient(transparent,#000000d9)}.browse-page__story-card-title{font-family:var(--font-display);font-size:18px;letter-spacing:.04em;color:var(--np-white)}@media(max-width:640px){.browse-page{padding:var(--space-md)}.browse-page__genre-grid{grid-template-columns:repeat(2,1fr)}}.characters-page{max-width:900px;margin:96px auto 64px;padding:0 var(--space-lg)}.characters-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.characters-page__title{font-family:var(--font-display);font-size:36px;letter-spacing:.06em;color:var(--np-white)}.characters-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-lg)}.character-card{background:var(--np-charcoal);border:1px solid var(--np-gunmetal);border-radius:12px;overflow:hidden;transition:border-color .15s,transform .15s}.character-card:hover{border-color:var(--np-steel);transform:translateY(-2px)}.character-card__image-wrap{width:100%;aspect-ratio:3 / 4;background:var(--np-gunmetal);display:flex;align-items:center;justify-content:center;overflow:hidden}.character-card__image{width:100%;height:100%;object-fit:cover}.character-card__placeholder{font-size:48px;color:var(--np-steel);font-family:var(--font-display)}.character-card__body{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.character-card__name{font-family:var(--font-display);font-size:22px;letter-spacing:.04em;color:var(--np-white)}.character-card__meta{display:flex;align-items:center;gap:var(--space-sm)}.character-card__style{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--np-smoke)}.character-card__story-count{font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;color:var(--np-gold);background:#d4a8531f;padding:2px 8px;border-radius:4px}.characters-page__empty{text-align:center;padding:var(--space-xl) 0;color:var(--np-smoke);font-size:16px}@media(max-width:600px){.characters-page__grid{grid-template-columns:1fr 1fr}}@media(max-width:380px){.characters-page__grid{grid-template-columns:1fr}}.photo-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.photo-tip{color:var(--np-smoke);font-size:13px;text-align:center}.photo-previews{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.photo-preview-item{position:relative;width:100px;height:100px;border-radius:8px;overflow:hidden}.photo-preview{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#000000b3;border:none;color:var(--np-white);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.photo-dropzone{width:100%;aspect-ratio:1;max-width:160px;border:2px dashed var(--np-steel);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden;background:var(--np-charcoal)}.photo-dropzone:hover,.photo-dropzone-active{border-color:var(--np-red);background:#e5163f0d}.photo-silhouette{width:48px;height:48px;border-radius:50%;background:var(--np-gunmetal);position:relative}.photo-silhouette:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:16px;height:16px;border-radius:50%;background:var(--np-steel)}.photo-silhouette:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:32px;height:16px;border-radius:50% 50% 0 0;background:var(--np-steel)}.photo-add-label{color:var(--np-smoke);font-size:12px}.photo-input{display:none}.preview-subtitle{color:var(--np-smoke);font-size:13px;text-align:center;margin-bottom:var(--space-md)}.preview-progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.preview-spinner{width:32px;height:32px;border:3px solid var(--np-gunmetal);border-top-color:var(--np-red);border-radius:50%;animation:preview-spin .8s linear infinite}@keyframes preview-spin{to{transform:rotate(360deg)}}.preview-progress-bar{width:100%;max-width:280px;height:4px;background:var(--np-gunmetal);border-radius:2px;overflow:hidden}.preview-progress-fill{height:100%;background:var(--np-red);border-radius:2px;transition:width .1s linear}.preview-progress-label{font-family:var(--font-mono);font-size:12px;color:var(--np-smoke);letter-spacing:.05em}.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-md)}.preview-card{aspect-ratio:3 / 4;background:var(--np-charcoal);border:2px solid var(--np-gunmetal);border-radius:12px;cursor:pointer;transition:border-color .15s,transform .1s;overflow:hidden;padding:0}.preview-card:hover:not(:disabled){border-color:var(--np-steel);transform:translateY(-2px)}.preview-card-selected{border-color:var(--np-red);box-shadow:0 0 16px #e5163f4d}.preview-card-loading{opacity:.5;pointer-events:none}.preview-image{width:100%;height:100%;object-fit:cover;display:block}.preview-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--np-gunmetal),var(--np-charcoal))}.preview-error{text-align:center;color:var(--np-red);font-family:var(--font-mono);font-size:13px;margin-bottom:var(--space-md)}.preview-card-loading .preview-placeholder{animation:preview-shimmer 1.5s infinite}@keyframes preview-shimmer{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.preview-actions{display:flex;gap:var(--space-md);justify-content:center}.preview-regen{padding:10px var(--space-lg);background:var(--np-charcoal);border:1px solid var(--np-steel);border-radius:8px;color:var(--np-silver);font-family:var(--font-body);font-size:14px;cursor:pointer;transition:background .15s}.preview-regen:hover{background:var(--np-gunmetal)}.preview-regen:disabled{opacity:.5;cursor:not-allowed}.voice-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.voice-mode-tabs{display:flex;gap:2px;background:var(--np-gunmetal);border-radius:10px;padding:3px;width:100%;max-width:320px}.voice-mode-tab{flex:1;padding:10px 0;border:none;border-radius:8px;background:transparent;color:var(--np-steel);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.voice-mode-tab-active{background:var(--np-charcoal);color:var(--np-white)}.voice-instructions{color:var(--np-silver);font-size:13px;text-align:center;max-width:320px}.premade-voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:440px}@media(max-width:480px){.premade-voice-grid{grid-template-columns:1fr;max-width:320px}}.premade-voice-card{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--np-charcoal);border:1px solid var(--np-gunmetal);border-radius:10px;cursor:pointer;text-align:left;transition:border-color .2s,background .2s;color:var(--np-silver);font-size:12px}.premade-voice-card:hover{border-color:var(--np-steel);background:var(--np-gunmetal)}.premade-voice-card-selected{border-color:var(--np-red);background:#e5163f14}.premade-voice-header{display:flex;align-items:center;justify-content:space-between}.premade-voice-name{font-weight:700;font-size:14px;color:var(--np-white)}.premade-voice-gender{font-size:14px;color:var(--np-steel)}.premade-voice-desc{font-size:11px;color:var(--np-steel);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.premade-voice-tags{display:flex;flex-wrap:wrap;gap:4px}.premade-voice-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--np-gunmetal);color:var(--np-silver);text-transform:capitalize}.premade-voice-play{align-self:flex-start;padding:5px 14px;border:1px solid var(--np-steel);border-radius:6px;background:transparent;color:var(--np-white);font-size:11px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s;margin-top:2px}.premade-voice-play:hover{border-color:var(--np-red);background:#e5163f1a}.premade-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg) 0;color:var(--np-steel);font-size:13px}.premade-spinner{width:24px;height:24px;border:3px solid var(--np-gunmetal);border-top-color:var(--np-red);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.premade-error{color:var(--np-red);font-size:13px;text-align:center}.record-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);width:100%}.voice-prompt{background:var(--np-gunmetal);border-radius:12px;padding:var(--space-md) var(--space-lg);color:var(--np-silver);font-style:italic;font-size:15px;line-height:1.7;max-width:400px;text-align:left;white-space:pre-line}.voice-waveform{width:100%;max-width:280px;height:60px;border-radius:8px;background:var(--np-charcoal)}.voice-timer{font-family:var(--font-mono);font-size:24px;color:var(--np-red);display:flex;flex-direction:column;align-items:center;gap:4px}.voice-timer-ready{color:#22c55e}.voice-timer-hint{font-size:12px;color:var(--np-steel);font-family:var(--font-body)}.voice-controls{display:flex;align-items:center;gap:var(--space-md)}.voice-record-btn{width:56px;height:56px;border-radius:50%;border:3px solid var(--np-red);background:transparent;cursor:pointer;position:relative;transition:background .2s,opacity .2s;color:transparent;font-size:0}.voice-record-btn:disabled{opacity:.6;cursor:default;font-size:11px;color:var(--np-silver);width:auto;min-width:120px;border-radius:28px;padding:0 var(--space-md)}.voice-record-btn:not(:disabled):after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:var(--np-red)}.voice-record-btn-active:not(:disabled):after{border-radius:4px;width:18px;height:18px}.voice-record-btn-active{animation:pulse-ring 1.2s ease-out infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--np-red-glow)}to{box-shadow:0 0 0 16px #e5163f00}}.voice-playback-group{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.voice-playback{max-width:240px;height:36px}.voice-playback-actions{display:flex;gap:var(--space-sm);align-items:center}.voice-rerecord{font-size:12px;padding:6px var(--space-sm)}.voice-use-btn{font-size:12px;padding:6px var(--space-md)}.voice-actions{display:flex;gap:var(--space-md);align-items:center}.voice-skip{padding:10px var(--space-md);font-size:13px}.create-story{padding:96px var(--space-lg) var(--space-xl);max-width:720px;margin:0 auto}.create-story__title{font-family:var(--font-display);font-size:36px;letter-spacing:.06em;color:var(--np-white);margin-bottom:var(--space-lg);text-align:center}.create-story__progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:var(--space-xl)}.create-story__progress-step{display:flex;align-items:center;gap:var(--space-xs)}.create-story__progress-dot{width:28px;height:28px;border-radius:50%;background:var(--np-gunmetal);color:var(--np-smoke);font-family:var(--font-mono);font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,color .2s}.create-story__progress-step--current .create-story__progress-dot{background:var(--np-red);color:var(--np-white)}.create-story__progress-step--done .create-story__progress-dot{background:var(--np-steel);color:var(--np-white)}.create-story__progress-label{font-family:var(--font-body);font-size:12px;color:var(--np-smoke);text-transform:uppercase;letter-spacing:.04em}.create-story__progress-step--current .create-story__progress-label{color:var(--np-white)}.create-story__progress-line{display:inline-block;width:24px;height:2px;background:var(--np-gunmetal);margin:0 var(--space-xs)}.create-story__progress-step--done+.create-story__progress-step .create-story__progress-line,.create-story__progress-step--done .create-story__progress-line{background:var(--np-steel)}.create-story__step-content{min-height:400px}.create-step{display:flex;flex-direction:column;gap:var(--space-lg)}.create-step__heading{font-family:var(--font-display);font-size:28px;letter-spacing:.04em;color:var(--np-white);text-align:center}.create-step__nav{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-md)}.create-step__back{padding:12px var(--space-lg);background:transparent;border:2px solid var(--np-steel);border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.create-step__back:hover{border-color:var(--np-silver);background:var(--np-charcoal)}.create-step__next{padding:12px var(--space-xl);background:var(--np-red);border:none;border-radius:8px;color:var(--np-white);font-family:var(--font-display);font-size:16px;letter-spacing:.04em;cursor:pointer;transition:background .15s}.create-step__next:hover{background:#c8122f}.create-step__next:disabled{opacity:.5;cursor:not-allowed}.create-step__next--launch{font-size:18px;padding:14px var(--space-xl)}.create-step__characters{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-md)}.create-step__char-card{background:var(--np-charcoal);border:2px solid var(--np-gunmetal);border-radius:12px;padding:var(--space-md);cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);transition:border-color .15s,transform .1s}.create-step__char-card:hover{border-color:var(--np-steel);transform:translateY(-2px)}.create-step__char-card--active{border-color:var(--np-red)}.create-step__char-img-wrap{width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--np-gunmetal);display:flex;align-items:center;justify-content:center}.create-step__char-img{width:100%;height:100%;object-fit:cover}.create-step__char-placeholder{font-size:28px;color:var(--np-steel)}.create-step__char-name{font-family:var(--font-display);font-size:18px;color:var(--np-white);letter-spacing:.03em}.create-step__char-style{font-family:var(--font-mono);font-size:11px;color:var(--np-smoke);text-transform:uppercase;letter-spacing:.05em}.create-step__char-badge{font-family:var(--font-mono);font-size:10px;color:var(--np-red);background:#e5163f26;padding:2px 8px;border-radius:4px}.create-story__worlds{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.create-story__world-card{background:var(--np-void);border:2px solid var(--np-gunmetal);border-radius:12px;padding:var(--space-lg);cursor:pointer;transition:border-color .15s,transform .1s;text-align:left;display:flex;flex-direction:column;gap:var(--space-xs)}.create-story__world-card:hover{border-color:var(--world-color, var(--np-steel));transform:translateY(-2px)}.create-story__world-card--selected{border-color:var(--world-color, var(--np-red));box-shadow:0 0 12px color-mix(in srgb,var(--world-color, var(--np-red)) 25%,transparent)}.create-story__world-icon{font-family:var(--font-mono);font-size:12px;color:var(--world-color, var(--np-smoke));letter-spacing:.1em}.create-story__world-name{font-family:var(--font-display);font-size:20px;letter-spacing:.04em;color:var(--world-color, var(--np-white))}.create-story__world-desc{color:var(--np-smoke);font-size:13px;line-height:1.4}.create-story__sliders{display:flex;flex-direction:column;gap:var(--space-md);max-width:500px;margin:0 auto;width:100%}.create-story__slider-row{display:grid;grid-template-columns:80px 1fr 80px 32px;align-items:center;gap:var(--space-sm)}.create-story__slider-label-left{color:var(--np-smoke);font-size:12px;text-align:right}.create-story__slider-label-right{color:var(--np-smoke);font-size:12px;text-align:left}.create-story__slider-value{color:var(--np-white);font-family:var(--font-mono);font-size:14px;text-align:center}.create-story__slider{width:100%;height:6px;appearance:none;background:var(--np-gunmetal);border-radius:3px;outline:none;cursor:pointer}.create-story__slider::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--np-red);cursor:pointer;border:2px solid var(--np-white);transition:transform .1s}.create-story__slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.create-story__slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--np-red);cursor:pointer;border:2px solid var(--np-white)}.create-story__step-label{font-family:var(--font-mono);font-size:12px;color:var(--np-smoke);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-xs)}.create-story__settings{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.create-story__setting-chip{padding:6px 14px;background:var(--np-charcoal);border:1px solid var(--np-gunmetal);border-radius:20px;color:var(--np-silver);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.create-story__setting-chip:hover{border-color:var(--np-steel);color:var(--np-white)}.create-story__setting-chip--selected{background:var(--np-red);border-color:var(--np-red);color:var(--np-white)}.create-story__spark-area{width:100%;min-height:60px;padding:var(--space-md);background:var(--np-charcoal);border:1px solid var(--np-gunmetal);border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:14px;line-height:1.5;resize:vertical;outline:none;transition:border-color .15s}.create-story__spark-area::placeholder{color:var(--np-smoke)}.create-story__spark-area:focus{border-color:var(--np-gold)}.create-story__preview-card{background:var(--np-void);border:1px solid var(--np-gunmetal);border-radius:12px;padding:var(--space-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.create-story__preview-character{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.create-story__preview-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.create-story__preview-char-name{font-family:var(--font-display);font-size:20px;color:var(--np-white);letter-spacing:.03em}.create-story__preview-world{font-family:var(--font-display);font-size:28px}.create-story__preview-tone{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center}.create-story__preview-tone-item{font-family:var(--font-mono);font-size:11px;color:var(--np-smoke);text-transform:capitalize}.create-story__preview-setting{font-size:13px;color:var(--np-silver)}.create-story__preview-spark{font-size:14px;color:var(--np-silver);font-style:italic;max-width:400px}.create-story__phase-label{font-family:var(--font-mono);font-size:11px;color:var(--np-gold);text-transform:uppercase;letter-spacing:.15em;text-align:center;margin-bottom:var(--space-sm)}.create-story__art-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md)}.create-story__art-card{background:var(--np-void);border:2px solid var(--np-gunmetal);border-radius:12px;padding:var(--space-lg);cursor:pointer;transition:border-color .15s,transform .1s;text-align:left;display:flex;flex-direction:column;gap:var(--space-xs)}.create-story__art-card:hover{border-color:var(--style-color, var(--np-steel));transform:translateY(-2px)}.create-story__art-card--selected{border-color:var(--style-color, var(--np-red));box-shadow:0 0 12px color-mix(in srgb,var(--style-color, var(--np-red)) 25%,transparent)}.create-story__art-swatch{width:32px;height:32px;border-radius:8px}.create-story__art-name{font-family:var(--font-display);font-size:18px;letter-spacing:.03em;color:var(--style-color, var(--np-white))}.create-story__art-desc{color:var(--np-smoke);font-size:13px;line-height:1.4}.create-story__roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-md)}.create-story__role-card{background:var(--np-charcoal);border:2px solid var(--np-gunmetal);border-radius:12px;padding:var(--space-md);cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);transition:border-color .15s,transform .1s}.create-story__role-card:hover{border-color:var(--np-steel);transform:translateY(-2px)}.create-story__role-card--selected{border-color:var(--np-red);box-shadow:0 0 8px #e5163f40}.create-story__role-icon{font-size:28px}.create-story__role-name{font-family:var(--font-display);font-size:16px;color:var(--np-white);letter-spacing:.03em}.create-story__role-desc{color:var(--np-smoke);font-size:12px;line-height:1.3}.create-story__role-note{color:var(--np-smoke);font-size:14px;text-align:center;font-style:italic}.create-story__preview-style{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.create-step__skip{padding:12px var(--space-lg);background:transparent;border:none;color:var(--np-smoke);font-family:var(--font-body);font-size:14px;cursor:pointer;text-decoration:underline;transition:color .15s}.create-step__skip:hover{color:var(--np-white)}.create-step__char-card--new{border-style:dashed;border-color:var(--np-steel)}.create-step__char-card--new:hover{border-color:var(--np-red)}.create-story__identity-demos{display:flex;flex-direction:column;gap:var(--space-md)}.create-story__reveal-cast{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.create-story__reveal-char{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);width:100px}.create-story__reveal-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--np-gunmetal)}.create-story__reveal-avatar-placeholder{width:72px;height:72px;border-radius:50%;background:var(--np-gunmetal);display:flex;align-items:center;justify-content:center;color:var(--np-steel);font-size:24px;font-family:var(--font-display)}.create-story__reveal-char-name{font-family:var(--font-display);font-size:14px;color:var(--np-white);text-align:center;letter-spacing:.03em}.create-story__reveal-char-role{font-family:var(--font-mono);font-size:10px;color:var(--np-smoke);text-transform:uppercase;letter-spacing:.05em}.create-step__add-another{padding:10px 20px;background:transparent;border:1px dashed var(--np-steel);border-radius:8px;color:var(--np-silver);font-family:var(--font-body);font-size:14px;cursor:pointer;transition:border-color .15s,color .15s;align-self:center}.create-step__add-another:hover{border-color:var(--np-red);color:var(--np-white)}.create-step__add-another:disabled{opacity:.5;cursor:not-allowed}.create-story__error{color:var(--np-red);font-size:14px;text-align:center}@media(max-width:640px){.create-story__slider-row{grid-template-columns:60px 1fr 60px 28px}.create-story__slider-label-left,.create-story__slider-label-right{font-size:11px}.create-story__progress-label{display:none}}:root{--np-black: #08080a;--np-void: #0d0d10;--np-charcoal: #141418;--np-gunmetal: #1c1c22;--np-steel: #2a2a33;--np-smoke: #8e8e9a;--np-silver: #c4c4ce;--np-white: #f0f0f4;--np-red: #e5163f;--np-red-bright: #ff1a47;--np-red-dark: #b8102f;--np-red-glow: rgba(229, 22, 63, .35);--np-gold: #d4a853;--np-gold-dim: rgba(212, 168, 83, .15);--font-display: "Bebas Neue", sans-serif;--font-body: "Outfit", sans-serif;--font-mono: "DM Mono", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 32px;--space-xl: 64px;--space-2xl: 128px;--np-gutter: 3px;--np-panel-radius: 2px;--np-transition-ink: .6s cubic-bezier(.4, 0, .2, 1);--np-transition-panel: .3s ease;--np-genre-thriller: #e5163f;--np-genre-scifi: #00b4d8;--np-genre-fantasy: #9b5de5;--np-genre-romance: #f15bb5;--np-genre-horror: #2d6a4f}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--np-black);color:var(--np-white);font-family:var(--font-body);overflow-x:hidden}.my-stories{padding:var(--space-xl) var(--space-lg);max-width:1200px;margin:0 auto}.my-stories__title{font-family:var(--font-display);font-size:40px;letter-spacing:.04em;color:var(--np-white);margin-bottom:var(--space-xl)}.my-stories__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center}.my-stories__empty-text{color:var(--np-smoke);font-size:18px;margin-bottom:var(--space-lg)}.my-stories__create-btn{display:inline-block;padding:14px var(--space-lg);background:var(--np-red);border:none;border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s}.my-stories__create-btn:hover{background:var(--np-red-bright)}.my-stories__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.my-stories__header .my-stories__title{margin-bottom:0}.my-stories__new-btn{padding:10px 20px;background:var(--np-red);border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:14px;font-weight:600;text-decoration:none;transition:background .15s}.my-stories__new-btn:hover{background:var(--np-red-bright)}.my-stories__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-lg)}.my-stories__card{background:var(--np-void);border:1px solid var(--np-gunmetal);border-radius:12px;overflow:hidden;transition:border-color .15s}.my-stories__card:hover{border-color:var(--np-steel)}.my-stories__card-cover{width:100%;aspect-ratio:3 / 4;object-fit:cover}.my-stories__card-cover-placeholder{width:100%;aspect-ratio:3 / 4;background:var(--np-charcoal);display:flex;align-items:center;justify-content:center}.my-stories__card-cover-genre{font-family:var(--font-display);font-size:24px;letter-spacing:.06em;opacity:.4}.my-stories__card-body{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.my-stories__card-badge{display:inline-block;align-self:flex-start;padding:2px 8px;border-radius:4px;font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--np-white);text-transform:uppercase;letter-spacing:.08em}.my-stories__card-title{font-family:var(--font-display);font-size:20px;color:var(--np-white);letter-spacing:.02em}.my-stories__card-status{font-family:var(--font-mono);font-size:11px;color:var(--np-smoke);text-transform:uppercase;letter-spacing:.08em}.bento-reader{position:fixed;inset:64px 0 0;background:var(--np-black);overflow:hidden}.bento-reader__header{position:absolute;top:0;left:0;right:0;height:48px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#0a0a0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.04)}.bento-reader__back{font-size:11px;letter-spacing:.03em;color:var(--np-smoke);font-weight:500;background:none;border:none;cursor:pointer;padding:4px 8px;transition:color .15s}.bento-reader__back:hover{color:var(--np-white)}.bento-reader__title-block{text-align:center;position:absolute;left:50%;transform:translate(-50%)}.bento-reader__title{font-family:var(--font-display);font-size:16px;font-weight:400;color:var(--np-white);letter-spacing:.04em}.bento-reader__subtitle{font-size:9px;color:var(--np-smoke);letter-spacing:2px;text-transform:uppercase}.bento-reader__page-num{font-size:10px;color:var(--np-smoke);letter-spacing:1px;font-weight:600;font-family:var(--font-mono)}.bento-reader__audio-toggle{background:none;border:1px solid rgba(255,255,255,.15);color:var(--np-white);font-size:14px;cursor:pointer;padding:4px 10px;border-radius:4px;margin-left:12px;transition:background .15s,border-color .15s}.bento-reader__audio-toggle:hover{background:#ffffff14;border-color:#ffffff4d}.bento-frame{position:absolute;top:48px;bottom:40px;left:50%;transform:translate(-50%);aspect-ratio:16 / 9;height:calc(100% - 88px);max-width:100%;overflow:hidden}@media(max-aspect-ratio:16/9){.bento-frame{width:100%;height:auto;top:48px;bottom:auto;aspect-ratio:16 / 9}}.bento-reader__pages{position:absolute;inset:0}.bento-page{position:absolute;inset:0;padding:var(--np-gutter);opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease;transform:translate(30px)}.bento-page--active{opacity:1;pointer-events:auto;transform:translate(0)}.bento-grid{display:grid;gap:var(--np-gutter);height:100%}.bento-cell{position:relative;overflow:hidden;border-radius:var(--np-panel-radius)}.bento-cell__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.bento-cell:hover .bento-cell__image{transform:scale(1.01)}.bento-cell--audio-active{box-shadow:0 0 0 2px var(--np-red),0 0 20px #e5163f59;animation:audio-pulse 2s ease-in-out infinite;z-index:2}@keyframes audio-pulse{0%,to{box-shadow:0 0 0 2px var(--np-red),0 0 20px #e5163f59}50%{box-shadow:0 0 0 2px var(--np-red),0 0 32px #e5163f8c}}.bento-cell--audio-idle{opacity:.6;transition:opacity .4s ease}.bento-cell--audio-active~.bento-cell--audio-idle{opacity:.6}.bento-cell__narration{position:absolute;top:0;left:0;right:0;padding:10px 14px;background:linear-gradient(180deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.6) 80%,transparent 100%);border-left:3px solid var(--np-red);font-family:var(--font-body);font-style:italic;font-size:15px;line-height:1.55;color:#f0f0f0;letter-spacing:.01em;z-index:3}.bento-cell__dialogues{position:absolute;left:0;right:0;display:flex;flex-direction:column;gap:6px;padding:10px 14px;max-height:45%;overflow-y:auto;z-index:2}.bento-cell__dialogues--bottom{bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.4) 70%,transparent 100%)}.bento-cell__dialogues--top{top:0;background:linear-gradient(180deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.4) 70%,transparent 100%)}.bento-cell__dialogue{background:#fffffff2;color:#111;padding:8px 14px;border-radius:14px;font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.45;max-width:85%;box-shadow:0 2px 10px #0006;border:1.5px solid #444}.bento-cell__dialogue-speaker{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;color:#555}.bento-cell__caption{position:absolute;bottom:0;left:0;background:#000000b3;color:#ccc;font-size:13px;font-style:italic;padding:6px 14px;font-family:var(--font-mono);z-index:1}.bento-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:40px;height:40px;border:none;background:#ffffff0a;color:var(--np-white);font-size:18px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .3s;opacity:.3}.bento-nav-arrow:hover{background:#ffffff1a;opacity:1}.bento-nav-arrow--left{left:6px}.bento-nav-arrow--right{right:6px}.bento-nav-arrow:disabled{opacity:0;pointer-events:none}.bento-dots{position:absolute;bottom:8px;left:50%;transform:translate(-50%);z-index:20;display:flex;gap:6px}.bento-dot{width:6px;height:6px;border-radius:50%;background:#ffffff1f;cursor:pointer;border:none;padding:0;transition:background .2s,transform .2s}.bento-dot--active{background:var(--np-red);transform:scale(1.3)}.bento-end{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.bento-end__text{font-family:var(--font-display);font-size:28px;letter-spacing:3px;color:var(--np-white);margin-bottom:28px}.bento-end__cta{padding:14px 48px;background:var(--np-red);color:var(--np-white);font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;border:none;cursor:pointer;transition:background .15s}.bento-end__cta:hover{background:var(--np-red-bright)}@media(max-width:768px){.bento-reader{position:relative;overflow:auto}.bento-frame{position:relative;top:auto;bottom:auto;left:auto;transform:none;width:100%;height:auto;aspect-ratio:auto;padding-top:48px}.bento-reader__pages{position:relative;inset:auto}.bento-page{position:relative;opacity:1;pointer-events:auto;transform:none;transition:none;padding:0;display:none}.bento-page--active{display:block}.bento-grid{display:flex;flex-direction:column;gap:var(--np-gutter);height:auto;padding:var(--np-gutter)}.bento-cell{aspect-ratio:3 / 4}.bento-nav-arrow{display:none}.bento-dots{position:fixed;bottom:8px;z-index:20}}.cover-card{position:relative;overflow:hidden;border-radius:var(--np-panel-radius, 2px);cursor:pointer;perspective:600px;border:none;border-bottom:3px solid var(--np-smoke, #8e8e9a);padding:0;background:none;text-align:left;font:inherit;color:inherit}.cover-card__image-wrap{transition:transform var(--np-transition-panel, .3s ease)}.cover-card:hover .cover-card__image-wrap{transform:rotateY(3deg) rotateX(2deg)}.cover-card__image{display:block;width:100%;height:100%;object-fit:cover}.cover-card__overlay{position:absolute;bottom:0;left:0;right:0;padding:16px 12px 12px;background:linear-gradient(transparent,#000c)}.cover-card__title{font-family:var(--font-display, "Bebas Neue", sans-serif);font-size:18px;color:var(--np-white, #f0f0f4);letter-spacing:.5px}[data-genre=thriller]{border-bottom-color:var(--np-genre-thriller, #e5163f)}[data-genre=scifi]{border-bottom-color:var(--np-genre-scifi, #00b4d8)}[data-genre=fantasy]{border-bottom-color:var(--np-genre-fantasy, #9b5de5)}[data-genre=romance]{border-bottom-color:var(--np-genre-romance, #f15bb5)}[data-genre=horror]{border-bottom-color:var(--np-genre-horror, #2d6a4f)}.genre-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#8e8e9a26;color:var(--np-smoke, #8e8e9a)}.genre-badge[data-genre=thriller]{background:#e5163f26;color:var(--np-genre-thriller, #e5163f)}.genre-badge[data-genre=scifi]{background:#00b4d826;color:var(--np-genre-scifi, #00b4d8)}.genre-badge[data-genre=fantasy]{background:#9b5de526;color:var(--np-genre-fantasy, #9b5de5)}.genre-badge[data-genre=romance]{background:#f15bb526;color:var(--np-genre-romance, #f15bb5)}.genre-badge[data-genre=horror]{background:#2d6a4f26;color:var(--np-genre-horror, #2d6a4f)}.ink-reveal{clip-path:circle(0% at 50% 50%);transition:clip-path var(--np-transition-ink, .6s cubic-bezier(.4, 0, .2, 1))}.ink-reveal--revealed{clip-path:circle(75% at 50% 50%)}.narration-box{background:var(--np-gold-dim, rgba(212, 168, 83, .15));border-left:3px solid var(--np-gold, #d4a853);padding:10px 14px;color:var(--np-gold, #d4a853);font-style:italic;font-size:15px;line-height:1.55}.panel{position:relative;overflow:hidden;border-radius:var(--np-panel-radius, 2px);background:var(--np-charcoal, #141418);transition:transform var(--np-transition-panel, .3s ease)}.panel:hover{transform:translateY(-2px)}.panel--locked{filter:grayscale(1)}.panel--locked:after{content:"";position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.panel--active{box-shadow:0 0 12px var(--np-red-glow, rgba(229, 22, 63, .35))}.panel-grid{display:grid;gap:var(--np-gutter, 3px)}@media(max-width:768px){.panel-grid{grid-template-columns:1fr!important}}.speech-bubble{position:relative;padding:12px 16px;font-family:var(--font-body, "Outfit", sans-serif);font-size:16px;line-height:1.45}.speech-bubble--speech{background:var(--np-white, #f0f0f4);color:var(--np-black, #08080a);border:2px solid var(--np-black, #08080a);border-radius:16px}.speech-bubble--thought{background:var(--np-white, #f0f0f4);color:var(--np-black, #08080a);border:2px solid var(--np-black, #08080a);border-radius:50%/40%}.speech-bubble--thought:before,.speech-bubble--thought:after{content:"";position:absolute;background:var(--np-white, #f0f0f4);border:2px solid var(--np-black, #08080a);border-radius:50%}.speech-bubble--thought:before{width:12px;height:12px;bottom:-16px;left:24px}.speech-bubble--thought:after{width:8px;height:8px;bottom:-26px;left:16px}.speech-bubble--shout{background:var(--np-white, #f0f0f4);color:var(--np-black, #08080a);border:3px solid var(--np-red, #e5163f);border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.speech-bubble--speech:after{content:"";position:absolute;width:0;height:0;border:8px solid transparent}.speech-bubble--speech.speech-bubble--left:after{left:-16px;top:50%;transform:translateY(-50%);border-right-color:var(--np-black, #08080a)}.speech-bubble--speech.speech-bubble--right:after{right:-16px;top:50%;transform:translateY(-50%);border-left-color:var(--np-black, #08080a)}.speech-bubble--speech.speech-bubble--top:after{top:-16px;left:50%;transform:translate(-50%);border-bottom-color:var(--np-black, #08080a)}.speech-bubble--speech.speech-bubble--bottom:after{bottom:-16px;left:50%;transform:translate(-50%);border-top-color:var(--np-black, #08080a)}.speech-bubble--shout:after{content:"";position:absolute;width:0;height:0;border:8px solid transparent}.speech-bubble--shout.speech-bubble--left:after{left:-16px;top:50%;transform:translateY(-50%);border-right-color:var(--np-red, #e5163f)}.speech-bubble--shout.speech-bubble--right:after{right:-16px;top:50%;transform:translateY(-50%);border-left-color:var(--np-red, #e5163f)}.speech-bubble--shout.speech-bubble--top:after{top:-16px;left:50%;transform:translate(-50%);border-bottom-color:var(--np-red, #e5163f)}.speech-bubble--shout.speech-bubble--bottom:after{bottom:-16px;left:50%;transform:translate(-50%);border-top-color:var(--np-red, #e5163f)}.vertical-reader{background:var(--np-black);min-height:100vh;padding-bottom:0}.vertical-reader__header{position:sticky;top:64px;z-index:50;display:flex;align-items:center;gap:12px;height:48px;padding:0 16px;background:#0a0a0aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.04)}.vertical-reader__back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff0f;color:var(--np-white);font-size:22px;border-radius:50%;cursor:pointer;flex-shrink:0}.vertical-reader__header-info{min-width:0}.vertical-reader__story-title{font-family:var(--font-display);font-size:14px;color:var(--np-white);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vertical-reader__chapter-title{font-size:10px;color:var(--np-smoke);letter-spacing:1.5px;text-transform:uppercase}.vertical-reader__panels{display:flex;flex-direction:column;align-items:center;gap:0}.vertical-reader__sentinel{height:1px}.reader-panel{width:100%;max-width:720px;margin:0 auto;position:relative}.reader-panel--full{padding:8px 0}.reader-panel--half{padding:6px 0}.reader-panel--third{padding:4px 0}.reader-panel--wide{padding:10px 0}.reader-panel--splash{padding:24px 0}.reader-panel__image-wrap{position:relative;width:100%}.reader-panel__image{display:block;width:100%;height:auto;opacity:0;transition:opacity .4s ease}.reader-panel__image--loaded{opacity:1}.reader-panel__bubble{position:absolute;max-width:60%;z-index:2}.reader-panel__bubble:nth-child(2){top:8%;left:6%}.reader-panel__bubble:nth-child(3){top:8%;right:6%}.reader-panel__bubble:nth-child(4){top:40%;left:6%}.reader-panel__bubble:nth-child(5){top:40%;right:6%}.reader-panel__speaker{display:block;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;color:#333}.reader-panel__bubble p{margin:0;font-size:1rem;line-height:1.4}.reader-panel__narration{position:absolute;bottom:8%;left:50%;transform:translate(-50%);width:85%;z-index:2}.reader-panel--strip{display:flex;flex-direction:column}.reader-panel__dialogue-strip{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:var(--np-void, #0d0d10)}.dialogue-strip__line{display:flex;flex-direction:column;gap:3px}.dialogue-strip__speaker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--np-smoke, #999);font-family:var(--font-mono, "DM Mono", monospace);padding-left:4px}.dialogue-strip__line .speech-bubble{font-size:16px}.reader-panel__narration-strip{padding:8px 16px 12px;background:var(--np-void, #0d0d10)}.reader-panel__caption{position:absolute;top:0;left:0;background:#000000b3;color:#ccc;font-size:.875rem;font-style:italic;padding:6px 14px;z-index:2}.reader-progress{position:fixed;top:64px;left:0;width:100%;height:3px;background:#ffffff14;z-index:98}.reader-progress__bar{height:100%;background:var(--np-red);transition:width .15s ease-out}.vertical-reader__end{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px 80px}.vertical-reader__end-text{font-family:var(--font-display);font-size:24px;letter-spacing:3px;color:var(--np-white);margin:0 0 24px}.vertical-reader__end-cta{padding:14px 48px;background:var(--np-red);color:var(--np-white);font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.vertical-reader__end-cta:hover{background:var(--np-red-bright)}@media(max-width:768px){.reader-panel{max-width:100%}.vertical-reader__chapter-title{font-size:9px}.reader-panel__bubble{max-width:70%}.vertical-reader__end-text{font-size:20px}.vertical-reader__end-cta{width:100%;max-width:300px;text-align:center}}.reader-page{min-height:100vh;background:var(--np-black);position:relative}.reader-page--empty{display:flex;align-items:center;justify-content:center;color:var(--np-smoke);font-family:var(--font-display);font-size:28px}.reader-progress-bar{position:fixed;top:64px;left:0;height:3px;background:var(--np-red);z-index:98;transition:width .1s linear}.reader-header{position:sticky;top:64px;z-index:90;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:#08080aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--np-gunmetal)}.reader-back{padding:6px 14px;background:var(--np-charcoal);border:1px solid var(--np-steel);border-radius:6px;color:var(--np-silver);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s;flex-shrink:0}.reader-back:hover{border-color:var(--np-smoke);color:var(--np-white)}.reader-header__info{display:flex;flex-direction:column;gap:2px;min-width:0}.reader-header__title{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--np-smoke);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-header__chapter{font-family:var(--font-display);font-size:18px;color:var(--np-white);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-nav{display:flex;justify-content:center;gap:var(--space-md);padding:var(--space-xl) var(--space-md);border-top:1px solid var(--np-gunmetal)}.reader-nav__btn{padding:12px 28px;background:var(--np-charcoal);border:1px solid var(--np-steel);border-radius:8px;color:var(--np-silver);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.reader-nav__btn:hover{background:var(--np-gunmetal);border-color:var(--np-smoke)}.reader-nav__btn--primary{background:var(--np-red);border-color:var(--np-red);color:var(--np-white)}.reader-nav__btn--primary:hover{background:var(--np-red-bright);border-color:var(--np-red-bright)}@media(max-width:640px){.reader-header__chapter{font-size:15px}.reader-nav{flex-direction:column;padding:var(--space-lg) var(--space-md)}.reader-nav__btn{width:100%;text-align:center}}.add-char-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-lg)}.add-char-modal{background:var(--np-charcoal);border:1px solid var(--np-gunmetal);border-radius:16px;padding:var(--space-xl);max-width:520px;width:100%;max-height:80vh;overflow-y:auto}.add-char-modal__title{font-family:var(--font-display);font-size:28px;color:var(--np-white);letter-spacing:.04em;margin-bottom:var(--space-lg)}.add-char-modal__label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--np-gold);margin-bottom:var(--space-sm)}.add-char-modal__loading,.add-char-modal__empty{color:var(--np-smoke);font-size:14px;padding:var(--space-lg) 0}.add-char-modal__chars{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-lg)}.add-char-modal__char{background:var(--np-void);border:2px solid var(--np-gunmetal);border-radius:10px;padding:var(--space-sm);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);width:90px;transition:border-color .15s}.add-char-modal__char:hover{border-color:var(--np-steel)}.add-char-modal__char--selected{border-color:var(--np-red)}.add-char-modal__char-img{width:56px;height:56px;border-radius:8px;object-fit:cover}.add-char-modal__char-placeholder{width:56px;height:56px;border-radius:8px;background:var(--np-gunmetal);display:flex;align-items:center;justify-content:center;color:var(--np-steel);font-size:24px}.add-char-modal__char-name{font-size:11px;color:var(--np-silver);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.add-char-modal__roles{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-lg)}.add-char-modal__role{background:var(--np-void);border:1px solid var(--np-gunmetal);border-radius:8px;padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:var(--space-xs);color:var(--np-silver);font-size:13px;transition:border-color .15s}.add-char-modal__role:hover{border-color:var(--np-steel)}.add-char-modal__role--selected{border-color:var(--np-red);color:var(--np-white)}.add-char-modal__error{color:var(--np-red);font-size:13px;margin-bottom:var(--space-md)}.add-char-modal__actions{display:flex;gap:var(--space-md);justify-content:flex-end}.add-char-modal__cancel{padding:10px 20px;background:none;border:1px solid var(--np-gunmetal);border-radius:8px;color:var(--np-silver);font-size:14px;cursor:pointer}.add-char-modal__cancel:hover{border-color:var(--np-steel)}.add-char-modal__confirm{padding:10px 20px;background:var(--np-red);border:none;border-radius:8px;color:var(--np-white);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.add-char-modal__confirm:disabled{opacity:.5;cursor:not-allowed}.chapter-cover{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;background:var(--np-charcoal);padding:0;aspect-ratio:3 / 4;transition:transform .2s,box-shadow .2s}.chapter-cover:hover:not(:disabled){transform:scale(1.03)}.chapter-cover__image{width:100%;height:100%;object-fit:cover;display:block}.chapter-cover__info{position:absolute;bottom:0;left:0;right:0;padding:var(--space-sm) var(--space-md);background:linear-gradient(transparent,#000000d9);display:flex;flex-direction:column;gap:2px}.chapter-cover__number{font-family:var(--font-mono);font-size:11px;color:var(--np-smoke);text-transform:uppercase;letter-spacing:.1em}.chapter-cover__title{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--np-white)}.chapter-cover__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--np-charcoal)}.chapter-cover__spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--np-red);border-radius:50%;animation:cover-spin .8s linear infinite}.chapter-cover--queued{cursor:not-allowed}.chapter-cover--read .chapter-cover__check{position:absolute;top:var(--space-sm);right:var(--space-sm);width:24px;height:24px;border-radius:50%;background:#2ecc71d9;display:flex;align-items:center;justify-content:center}.chapter-cover--read .chapter-cover__check:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.chapter-cover--ready{animation:ready-pulse 2s ease-in-out infinite}@keyframes ready-pulse{0%,to{box-shadow:0 0 0 0 var(--np-red-glow)}50%{box-shadow:0 0 12px 4px var(--np-red-glow)}}.chapter-cover--generating .chapter-cover__generating-overlay{position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(229,22,63,.15) 8px,rgba(229,22,63,.15) 16px);background-size:200% 200%;animation:hatch-move 1.5s linear infinite}@keyframes hatch-move{to{background-position:100% 100%}}.chapter-cover--failed{cursor:not-allowed;border-color:#e5163f4d}.chapter-cover__failed-label{font-family:var(--font-mono);font-size:11px;color:var(--np-red);text-transform:uppercase;letter-spacing:.1em}.chapter-cover--locked{cursor:not-allowed}.chapter-cover--locked .chapter-cover__image{filter:grayscale(1);opacity:.4}.chapter-wall__heading{font-family:var(--font-display);font-size:28px;letter-spacing:.04em;color:var(--np-white);margin-bottom:var(--space-lg)}.chapter-wall__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}@media(max-width:640px){.chapter-wall__grid{grid-template-columns:repeat(2,1fr)}}.story-detail-page{min-height:100vh;background:var(--np-black);padding:var(--space-lg);max-width:1000px;margin:0 auto}.story-detail-page--empty{display:flex;align-items:center;justify-content:center;color:var(--np-smoke);font-family:var(--font-display);font-size:28px}.story-detail__header{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl)}.story-detail__cover{width:300px;aspect-ratio:3 / 4;object-fit:cover;border-radius:12px;flex-shrink:0}.story-detail__info{display:flex;flex-direction:column;gap:var(--space-md);justify-content:center}.story-detail__badge{display:inline-block;align-self:flex-start;padding:2px 10px;border-radius:4px;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--np-white);text-transform:uppercase;letter-spacing:.08em}.story-detail__title{font-family:var(--font-display);font-size:42px;letter-spacing:.04em;color:var(--np-white);line-height:1.1}.story-detail__synopsis{font-size:15px;line-height:1.6;color:var(--np-silver);border-left:3px solid var(--np-gold);padding-left:var(--space-md)}.story-detail__creator{font-family:var(--font-mono);font-size:13px;color:var(--np-smoke)}.story-detail__actions{display:flex;gap:var(--space-md);margin-top:var(--space-sm)}.story-detail__btn--primary{padding:12px 24px;background:var(--np-red);border:none;border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.story-detail__btn--primary:hover:not(:disabled){background:var(--np-red-bright)}.story-detail__btn--primary:disabled{opacity:.5;cursor:not-allowed}.story-detail__btn--secondary{padding:12px 24px;background:transparent;border:1px solid var(--np-steel);border-radius:8px;color:var(--np-white);font-family:var(--font-body);font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s}.story-detail__btn--secondary:hover{border-color:var(--np-smoke)}.story-detail__btn--public{border-color:var(--np-gold);color:var(--np-gold)}.story-detail__btn--public:hover{border-color:var(--np-gold);background:#d4a8531a}.story-detail__cover-placeholder{width:300px;aspect-ratio:3 / 4;border-radius:12px;flex-shrink:0;background:var(--np-charcoal);display:flex;align-items:center;justify-content:center}.story-detail__cover-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--np-red);border-radius:50%;animation:cover-spin .8s linear infinite}@keyframes cover-spin{to{transform:rotate(360deg)}}.story-detail__generating{font-family:var(--font-mono);font-size:13px;color:var(--np-gold);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.6}50%{opacity:1}}.story-detail__stuck,.story-detail__failed{font-family:var(--font-mono);font-size:13px}.story-detail__stuck{color:var(--np-gold)}.story-detail__failed{color:var(--np-red)}.story-detail__retry-link{background:none;border:none;color:var(--np-white);text-decoration:underline;cursor:pointer;font-family:var(--font-mono);font-size:13px;padding:0}.story-detail__retry-link:hover{color:var(--np-red)}.story-detail__retry-link:disabled{opacity:.5;cursor:not-allowed}.story-detail__characters{margin-bottom:var(--space-xl)}.story-detail__characters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.story-detail__characters-title{font-family:var(--font-display);font-size:24px;color:var(--np-white);letter-spacing:.04em}.story-detail__add-char-btn{padding:8px 16px;font-size:13px}.story-detail__characters-grid{display:flex;gap:var(--space-md);flex-wrap:wrap}.story-detail__char-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);width:100px}.story-detail__char-img{width:80px;height:80px;border-radius:10px;object-fit:cover;border:2px solid var(--np-gunmetal)}.story-detail__char-placeholder{width:80px;height:80px;border-radius:10px;background:var(--np-gunmetal);display:flex;align-items:center;justify-content:center;color:var(--np-steel);font-size:28px;font-family:var(--font-display)}.story-detail__char-name{font-size:13px;color:var(--np-white);text-align:center;font-weight:500}.story-detail__char-role{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--np-smoke)}@media(max-width:640px){.story-detail-page{padding:var(--space-md)}.story-detail__header{flex-direction:column}.story-detail__cover,.story-detail__cover-placeholder{width:100%;aspect-ratio:16 / 9}.story-detail__title{font-size:32px}}
