/* FicRoot shared visual language: September 2026. */
:root { --fr-surface:#19151f; --fr-border:#ffffff13; --fr-muted:#aca2b9; --fr-accent:#ceb3ee; }
body:has(.simple-header) { background-color:#100d15; color:#eee9f4; }
body:has(.simple-header) .simple-header { height:76px; background:#120e19f5; gap:36px; position:relative; z-index:30; }
body .simple-brand.ficroot-wordmark { display:inline-flex; align-items:center; gap:10px; letter-spacing:2px; }
.simple-brand:before { content:none; }
body .simple-header nav a { color:#bdb1ca; transition:color .15s; }
body .simple-header nav a:hover,body .simple-header nav a.active { color:#fff; }
body .simple-header nav .active:after { height:2px; border-radius:4px; }
.reader-library-link { padding:10px 14px; border:1px solid var(--fr-border); border-radius:10px; }
.reader-account-nav { gap:12px; }
.reader-account-menu>div { width:300px; padding:12px; background:#201a29; box-shadow:0 22px 60px #0009; border:1px solid #cbb0e433; }
.reader-account-menu .menu-identity { display:flex; gap:12px; align-items:center; padding:14px 8px 20px; }
.reader-account-menu .menu-identity strong { display:block; padding:0; border:0; margin:0 0 5px; overflow-wrap:anywhere; }
.menu-identity small { color:var(--fr-muted); font-size:11px; }
.reader-account-menu .menu-library { background:linear-gradient(115deg,#664d7b55,#9c74bd15); margin-bottom:8px; padding:16px; }
.menu-library span { display:block; margin-top:6px; color:#beaad2; font-size:11px; }
.reader-account-menu a:hover,.reader-account-menu button:hover { background:#ffffff09; }
.reader-account-menu button[data-reader-logout] { margin-top:8px; border-top:1px solid var(--fr-border); color:#c4b6cc; width:100%; text-align:left; }
.fanfic-home .library-welcome { padding-top:38px; }
.fanfic-home .library-welcome h1 { font-size:clamp(38px,5vw,62px); letter-spacing:-2px; }
.fanfic-home .library-welcome>p:last-of-type { color:var(--fr-muted); }
.library-tabs { gap:8px; border:0; margin-top:24px; padding-bottom:0; }
.library-tabs a { padding:10px 18px; border-radius:9px; border:1px solid transparent; font-size:13px; }
.library-tabs a.active { background:#baa0d41a; color:#e7d7fa; border-color:#baa0d433; }
.library-tabs a:after { display:none; }
.fanfic-home .spotlight-story { border-radius:18px; min-height:345px; border:1px solid #d0a9ed26; box-shadow:0 20px 70px #0003; }
.fanfic-home .spotlight-copy { padding:40px; max-width:700px; }
.fanfic-home .spotlight-copy h2 { font-size:clamp(28px,3.5vw,46px); line-height:1.1; }
.fanfic-home .spotlight-shade { background:linear-gradient(90deg,#1b1324 5%,#1b1324ee 35%,#1b132466 75%,#1b132422); }
.spotlight-primary,.account-shell .account-primary { border-radius:10px; box-shadow:0 5px 20px #a780d01a; }
.home-bookshelf { max-width:1360px; width:calc(100% - 48px); margin:32px auto 8px; padding:26px; border:1px solid var(--fr-border); border-radius:16px; background:radial-gradient(ellipse at 50% 100%,#64408225,transparent 70%),#17131e; box-sizing:border-box; }
.shelf-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.shelf-heading h2 { margin:5px 0 0; font-size:23px; }
.shelf-heading .info-eyebrow { margin:0; font-size:9px; color:#b99bda; }
.shelf-heading>a { color:#cdb6e4; font-size:12px; text-decoration:none; }
#cover-shelf { display:flex; gap:26px; overflow-x:auto; padding:4px 2px 16px; scroll-snap-type:x mandatory; }
.shelf-book { flex:0 0 160px; color:#eee6f5; text-decoration:none; scroll-snap-align:start; }
.shelf-cover { height:232px; width:160px; border-radius:9px; overflow:hidden; box-shadow:6px 10px 18px #0007; background:#342740; transition:transform .2s; }
.shelf-cover img { width:100%; height:100%; object-fit:cover; }
.shelf-book:hover .shelf-cover { transform:translateY(-4px); }
.shelf-book>span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; font-weight:700; line-height:1.5; margin-top:14px; }
.shelf-book>small { display:block; color:var(--fr-muted); font-size:11px; margin-top:5px; }
.fanfic-home .fanfic-panel,.fanfic-home .fanfic-popular,.library-discovery { border-radius:14px; border-color:var(--fr-border); background:#19151f; overflow:hidden; }
.fanfic-panel-heading { padding:20px 22px; }
.fanfic-home .fanfic-card-row { grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:22px; padding:22px; }
.fanfic-home .fanfic-cover { border-radius:8px; }
.fanfic-home .fanfic-card h3 { font-size:13px; line-height:1.5; }
.latest-story { border-bottom:1px solid var(--fr-border); padding:18px; }
.latest-story-copy ol li { border-radius:6px; background:#ffffff04; padding:7px 9px; margin-top:5px; }
.fanfic-home .sidebar-note { border:1px solid #b598d025; background:linear-gradient(135deg,#35263c,#19151f); border-radius:14px; padding:22px; }
.account-shell { width:calc(100% - 48px); max-width:1120px; padding-top:42px; }
.account-redesign>h1 { margin-bottom:12px; font-size:48px; }
.account-redesign>p { color:var(--fr-muted); }
.account-section-nav { gap:8px; padding:8px; border:1px solid var(--fr-border); border-radius:12px; background:#19151f; margin:28px 0; }
.account-section-nav a { padding:11px 18px; border-radius:8px; font-size:13px; }
.account-section-nav a:first-child { background:#b79ace20; color:#e3c9fa; }
.account-redesign .account-columns { grid-template-columns:300px minmax(0,1fr); gap:24px; }
.account-redesign .reader-preview { border-radius:16px; background:#1a1521; }
.preview-art { height:170px; background:radial-gradient(ellipse at 20% 0,#b598d077,transparent 65%),repeating-linear-gradient(125deg,transparent 0 35px,#ffffff04 36px 37px),#33233e; }
.preview-content { padding:0 24px 24px; }
.preview-content h2 { font-size:26px; }
.preview-content small,.preview-private { color:#ab9bb9; line-height:1.7; }
.account-redesign .profile-editor { padding:30px; border-radius:16px; background:#1a1521; }
.account-redesign .profile-editor h2 { font-family:Manrope,Arial,sans-serif; font-size:20px; }
.account-redesign form { gap:20px; }
.account-redesign input,.account-redesign textarea { background:#100d16; border:1px solid #ffffff1f; min-height:46px; font-size:14px; }
.security-disclosure { background:#19151f; border:1px solid var(--fr-border); padding:18px 24px; border-radius:16px; }
.account-redesign .security-panel { padding:18px 0 0; border:0; background:none; }
.account-security-actions { gap:10px; }
.account-secondary { border-color:#ffffff25; border-radius:8px; padding:11px 15px; }
.public-profile-cover { height:245px; position:relative; overflow:hidden; padding:35px 40px; box-sizing:border-box; background:radial-gradient(ellipse at 80% 0,#ad84d24d,transparent 60%),repeating-linear-gradient(125deg,transparent 0 80px,#ffffff04 81px 82px),linear-gradient(120deg,#33213f,#1c1625); }
.public-profile-cover>span { font:italic 34px/1.2 Georgia,serif; color:#e3cdecaa; }
.public-profile-cover>b { position:absolute; right:8%; top:-95px; transform:rotate(-15deg); font:400 390px Georgia,serif; color:#dfc4f20b; }
.account-shell .public-profile-heading { padding:30px 38px; background:#1a1521; }
.public-profile-heading h1 { font-size:clamp(28px,4vw,44px); overflow-wrap:anywhere; }
.public-profile-heading .reader-avatar { width:100px; height:100px; flex-shrink:0; box-shadow:0 0 0 7px #1a1521; }
.public-profile-tabs { display:flex; gap:26px; padding:24px 5px 15px; border-bottom:1px solid var(--fr-border); margin-bottom:24px; }
.public-profile-tabs a { text-decoration:none; color:#b9a6cb; font-size:13px; }
.public-profile-tabs [aria-current] { color:#efdcff; }
.public-profile-about { background:#19151f; border-radius:16px; }
.profile-bio { line-height:1.9; color:#c5b9d1; }
.simple-footer { border-color:var(--fr-border); }
body :focus-visible { outline:2px solid #d1b0f0; outline-offset:4px; }
@media(max-width:760px) {
 .account-redesign .account-columns { grid-template-columns:1fr; }
 .reader-preview { grid-column:1; grid-row:auto; }
 .security-disclosure { grid-column:1; }
 .preview-art { height:110px; }
 .preview-bio { min-height:0; }
 .account-shell { width:calc(100% - 32px); padding-top:26px; }
 .account-redesign>h1 { font-size:36px; }
 .public-profile-heading { flex-wrap:wrap; gap:20px; }
 .public-profile-cover { height:190px; padding:24px; }
 .public-profile-cover>span { font-size:27px; }
 .account-shell .public-profile-heading { padding:24px; }
 .public-profile-heading .reader-avatar { width:76px; height:76px; }
 .account-section-nav { gap:3px; }
 .account-section-nav a { padding:10px; font-size:12px; }
}
@media(max-width:640px) {
 body:has(.simple-header) .simple-header { height:64px; gap:12px; }
 .simple-brand { font-size:13px; gap:7px; }
 .simple-brand:before { width:25px; height:29px; font-size:18px; }
 .reader-library-link { border:0; padding:8px 2px; }
 .reader-account-menu>div { width:min(300px,calc(100vw - 40px)); }
 .home-bookshelf { width:calc(100% - 32px); padding:18px; }
 #cover-shelf { gap:18px; }
 .shelf-book { flex-basis:125px; }
 .shelf-cover { width:125px; height:184px; }
 .fanfic-home .spotlight-copy { padding:26px 22px; }
 .fanfic-home .spotlight-story { min-height:320px; }
 .fanfic-home .fanfic-card-row { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; gap:16px; }
 .account-redesign .profile-editor { padding:22px; }
 .shelf-heading>a { max-width:95px; text-align:right; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; } }

/* Profile workspace: identity first, editing and security in distinct sections. */
.menu-writer { color:#e0c3f7!important; border-top:1px solid #ffffff12; margin-top:8px; }
.menu-writer span { float:right; }
.account-redesign { max-width:1000px; }
.account-redesign>h1 { font-family:Manrope,Arial,sans-serif; font-size:34px; letter-spacing:-1.3px; }
.account-redesign .account-columns { grid-template-columns:minmax(0,1fr); gap:22px; }
.account-redesign .reader-preview { grid-column:1; grid-row:auto; display:grid; grid-template-columns:150px 1fr; position:relative; background:linear-gradient(115deg,#32233d,#19151f 70%); }
.account-redesign .preview-art { grid-row:1 / span 2; height:100%; min-height:185px; background:repeating-linear-gradient(125deg,transparent 0 24px,#ffffff04 25px 26px); }
.account-redesign .preview-art span { display:none; }
.account-redesign .preview-content { padding:24px 28px 10px; }
.account-redesign .preview-content .reader-avatar { position:absolute; left:35px; top:45px; width:80px; height:80px; margin:0; box-shadow:0 0 0 5px #ffffff08; }
.account-redesign .preview-content .account-eyebrow { margin:0 0 8px; font-size:9px; }
.account-redesign .preview-content h2 { font:600 26px Manrope,Arial,sans-serif; margin:0 0 8px; }
.account-redesign .preview-bio { min-height:0; margin:0 0 14px; font-size:13px; color:#beaccb; }
.account-redesign .preview-private { grid-column:2; border:0; padding:0 28px 24px; font-size:10px; }
.account-redesign .profile-editor { padding:32px; }
.account-redesign .security-disclosure { grid-column:1; }
.account-redesign .security-panel>p:first-of-type { color:#b7a3c8; font-size:13px; }
.account-redesign .account-security-actions { display:flex; flex-wrap:wrap; }
.account-redesign .account-danger { margin-top:25px; }
.account-redesign .account-section-nav { background:none; border-width:0 0 1px; border-radius:0; padding:0 0 14px; }
.public-profile-cover { height:170px; }
.public-profile-cover>span { font-size:25px; }
@media(max-width:600px){.account-redesign .reader-preview{grid-template-columns:100px 1fr}.account-redesign .preview-content{padding:22px 18px 10px}.account-redesign .preview-content .reader-avatar{width:62px;height:62px;left:20px;top:36px}.account-redesign .preview-content h2{font-size:21px}.account-redesign .preview-private{padding:0 18px 20px}.account-redesign .profile-editor{padding:22px}.account-redesign>h1{font-size:29px}}
