@import"https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,400&family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&display=swap";.signin-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:signinFadeIn .2s ease-out}@keyframes signinFadeIn{0%{opacity:0}to{opacity:1}}.signin-card{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:0 24px 80px #00000080;border:1px solid var(--border-subtle);position:relative;width:100%;max-width:400px;animation:signinSlideUp .3s ease-out}@keyframes signinSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.signin-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background var(--transition-fast)}.signin-close:hover{color:var(--text-primary);background:var(--bg-hover)}.signin-card-inner{padding:32px 28px}.signin-title{font-family:var(--font-ui);font-size:22px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.signin-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 24px}.signin-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;font-size:15px;font-weight:500;font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.signin-google-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-medium)}.signin-google-btn:disabled{opacity:.7;cursor:not-allowed}.google-icon{width:20px;height:20px}.signin-error{margin-top:16px;font-size:13px;color:#f76a6a;text-align:center}.signin-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group input{width:100%;padding:10px 12px;background:#0003;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;transition:all var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--accent-novel)}.form-group input:disabled{opacity:.7;cursor:not-allowed}.signin-submit-btn{width:100%;margin-top:8px;padding:12px;background:var(--accent-novel);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;font-family:var(--font-ui);cursor:pointer;transition:filter var(--transition-fast)}.signin-submit-btn:hover:not(:disabled){filter:brightness(1.1)}.signin-submit-btn:disabled{opacity:.7;cursor:not-allowed}.signin-divider{display:flex;align-items:center;text-align:center;margin-bottom:24px}.signin-divider:before,.signin-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-subtle)}.signin-divider span{padding:0 12px;font-size:13px;color:var(--text-muted)}.landing-hero-split{min-height:90vh;display:flex;align-items:center;justify-content:center;position:relative;padding:80px 24px 100px;overflow:hidden}.hero-content-wrapper{position:relative;z-index:1;width:100%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-left{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#7c6af71a;border:1px solid rgba(124,106,247,.3);border-radius:var(--radius-full);color:var(--accent-novel);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:24px}.badge-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--accent-novel);color:#fff;border-radius:50%;font-size:10px}.hero-left .landing-title{font-size:clamp(40px,5vw,68px);line-height:1.05;margin-bottom:20px}.highlight-human{background:linear-gradient(135deg,var(--accent-novel),var(--accent-screenplay));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;display:inline;font-weight:700}.hero-left .landing-tagline{font-size:18px;line-height:1.6;max-width:500px;margin-bottom:32px}.hero-left .landing-downloads{justify-content:flex-start;margin-bottom:24px}.hero-left .landing-skip-link{margin-top:0;padding:0}.hero-right{position:relative;min-height:540px;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-mockup-wrapper{position:absolute;right:-40px;bottom:-20px;width:440px;height:380px;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:0 24px 48px #0006;z-index:1;transform:perspective(1000px) rotateY(-5deg) rotateX(5deg);overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.mockup-header{height:36px;background:#ffffff08;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;padding:0 16px;gap:12px}.mockup-dots{display:flex;gap:6px}.mockup-dots span{width:10px;height:10px;border-radius:50%;background:var(--border-subtle)}.mockup-title{font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.mockup-body{padding:32px;background:var(--paper-bg);height:calc(100% - 36px)}.mockup-line{height:12px;background:var(--border-subtle);border-radius:4px;margin-bottom:12px;opacity:.5}.skeleton-short{width:40%}.skeleton-mid{width:70%}.skeleton-full{width:100%}.hero-form-container{position:relative;z-index:2;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 16px 32px #0003;width:380px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;min-height:540px;height:auto}.hero-right .landing-skip-link{position:relative;z-index:2;margin-top:4px;width:100%;text-align:center;font-weight:700;padding-left:60px;color:#818cf8;opacity:1;cursor:pointer}.hero-auth-tabs{display:flex;border-bottom:1px solid var(--border-subtle)}.auth-tab{flex:1;background:transparent;border:none;padding:16px;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.auth-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-novel);background:#ffffff05}.auth-tab:hover:not(.active){color:var(--text-primary);background:#ffffff03}.inline-signin{display:flex;flex-direction:column;flex:1}.inline-signin .signin-overlay{position:static;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;align-items:stretch;justify-content:stretch;flex:1;display:flex;flex-direction:column}.inline-signin .signin-card{background:transparent;border:none;box-shadow:none;max-width:100%}.inline-signin .signin-close,.inline-signin .signin-title,.inline-signin .signin-subtitle{display:none}.inline-signin .signin-card-inner{padding:24px 24px 40px;flex-grow:1;display:flex;flex-direction:column;justify-content:center}@media(max-width:960px){.hero-content-wrapper{grid-template-columns:1fr;text-align:center;gap:48px}.hero-left{align-items:center;text-align:center}.hero-left .landing-tagline{margin-left:auto;margin-right:auto}.hero-left .landing-downloads{justify-content:center}.hero-right{height:auto}.hero-mockup-wrapper{display:none}.hero-form-container{left:0;top:0;width:100%;max-width:400px}}.pillars-section{padding:100px 24px;max-width:1280px;margin:0 auto}.pillars-header{text-align:center;max-width:600px;margin:0 auto 64px}.pillars-header h2{font-size:clamp(28px,4vw,40px);margin-bottom:16px;color:var(--text-primary)}.pillars-header p{font-size:16px;color:var(--text-muted);line-height:1.6}.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.pillar-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s,box-shadow .3s}.pillar-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0003}.pillar-info{padding:24px;text-align:center;border-top:1px solid var(--border-subtle)}.pillar-info h3{font-size:18px;margin-bottom:8px;color:var(--text-primary)}.pillar-info p{font-size:14px;color:var(--text-secondary);line-height:1.5}.pillar-mockup{height:200px;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.mockup-doc{width:100%;height:100%;background:var(--paper-bg);border-radius:4px;box-shadow:var(--paper-shadow);padding:8px;font-size:7.5px;color:var(--text-on-paper);font-family:var(--font-mono);overflow:hidden}.novel-mockup .mockup-doc{font-family:var(--font-serif)}.mp-novel-chapter{text-align:center;font-size:10px;margin-bottom:8px;font-weight:600}.mp-novel-para{line-height:1.4;margin-bottom:6px;text-align:justify}.mp-novel-para.indent{text-indent:12px}.mp-sp-slugline{font-weight:700;margin-bottom:4px}.mp-sp-action{margin-bottom:6px;line-height:1.3}.mp-sp-character{text-align:center;margin-left:15%;margin-right:15%;margin-top:4px;font-weight:700}.mp-sp-parenthetical{text-align:center;margin-left:30%;margin-right:30%}.mp-sp-dialogue{text-align:left;margin-left:15%;margin-right:15%;line-height:1.2;font-size:7px}.highlight{background:#6af7b426}.underlined{text-decoration:underline}.highlight-underlined{background:#6af7b426;text-decoration:underline}.mp-comic-page{font-weight:700;text-align:left;font-size:7px;margin-bottom:10px}.mp-comic-panel{font-weight:700;margin-bottom:6px}.mp-comic-char{text-align:center;font-size:6px;margin-top:4px}.mp-comic-dialogue{text-align:center;margin-bottom:8px;padding:2px 4px}.mp-ad-slugline{font-weight:700;margin-bottom:8px}.mp-ad-sfx{font-weight:700;margin-bottom:8px;font-size:6.5px}.mp-ad-char{text-align:center;margin-bottom:2px}.mp-ad-dialogue{text-align:center;margin-bottom:8px}@media(max-width:1024px){.pillars-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.pillars-grid{grid-template-columns:1fr}}.dashboard-section{padding:100px 24px;background:var(--bg-surface);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.dashboard-content-wrapper{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.dashboard-copy{text-align:left}.dashboard-copy h2{font-size:clamp(32px,5vw,48px);margin-bottom:20px;color:var(--text-primary);line-height:1.1}.dashboard-copy p{font-size:18px;color:var(--text-muted);line-height:1.6}.dashboard-visuals{display:flex;flex-direction:column;gap:24px}.dashboard-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 12px 24px #0000001a;padding:24px;transition:transform .3s}.dashboard-card:hover{transform:translate(-4px);border-color:var(--border-medium)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.card-header h4{font-size:16px;margin:0;color:var(--text-primary)}.card-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-full);background:#7c6af71a;color:var(--accent-novel)}.streak-badge{background:#f7a26a1a;color:var(--accent-screenplay)}.graph-container{height:180px;width:100%;margin-top:8px}.mockup-chart{width:100%;height:100%}.heatmap-container{padding-top:8px}.heatmap-grid{display:flex;flex-wrap:wrap;gap:4px;width:100%}.heatmap-cell{width:18px;height:18px;border-radius:4px;background:var(--bg-deep);transition:transform .2s,filter .2s}.heatmap-cell:hover{transform:scale(1.1);filter:brightness(1.2)}.heat-1{background:#f7a26a4d}.heat-2{background:#f7a26a80}.heat-3{background:#f7a26ab3}.heat-4{background:#f7a26a}@media(max-width:960px){.dashboard-content-wrapper{grid-template-columns:1fr;gap:48px;text-align:center}.dashboard-copy{text-align:center;max-width:600px;margin:0 auto}.dashboard-card:hover{transform:translateY(-4px)}}.borders-section{padding:120px 24px;background:var(--bg-void);text-align:center;position:relative;overflow:hidden}.borders-section:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(124,106,247,.05) 0%,transparent 60%);border-radius:50%;pointer-events:none;z-index:0}.borders-content{position:relative;z-index:1;max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.borders-icons{display:flex;align-items:center;gap:16px;margin-bottom:32px}.border-icon{color:var(--accent-novel)}.icon-glow{filter:drop-shadow(0 0 12px rgba(124,106,247,.4))}.border-line{width:48px;height:2px;background:dashed 2px var(--border-medium);opacity:.5}.borders-content h2{font-size:clamp(28px,4vw,40px);margin-bottom:20px;color:var(--text-primary)}.borders-content p{font-size:18px;color:var(--text-muted);line-height:1.6;margin-bottom:32px}.borders-cta{border:1px solid var(--border-medium);padding:10px 24px}.community-section{padding:100px 24px;background:var(--bg-surface);border-top:1px solid var(--border-subtle)}.community-content-wrapper{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.community-copy h2{font-size:clamp(32px,5vw,48px);margin-bottom:20px;color:var(--text-primary)}.community-copy p{font-size:18px;color:var(--text-muted);line-height:1.6;margin-bottom:16px}.community-copy .forum-pitch{font-size:16px;color:var(--text-secondary)}.mt-4{margin-top:24px}.community-visuals{position:relative;height:340px;display:flex;align-items:center;justify-content:center}.forum-mockup-stack{position:relative;width:100%;max-width:440px;height:100%}.forum-mockup-card{position:absolute;width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;box-shadow:0 16px 32px #00000026;transition:transform .3s,box-shadow .3s}.card-back{top:0;transform:scale(.9) translateY(0);z-index:1;opacity:.6}.card-mid{top:40px;transform:scale(.95) translateY(0);z-index:2;opacity:.8}.card-front{top:80px;z-index:3}.forum-mockup-stack:hover .card-back{transform:scale(.9) translateY(-10px)}.forum-mockup-stack:hover .card-mid{transform:scale(.95) translateY(-5px)}.forum-mockup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.forum-tag{font-size:11px;font-weight:600;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.tag-scifi{background:#408cff26;color:#408cff}.tag-screenplay{background:#7c6af726;color:var(--accent-novel)}.tag-sprint{background:#f7a26a26;color:var(--accent-screenplay)}.forum-time{font-size:12px;color:var(--text-muted)}.forum-thread-title{font-size:16px;color:var(--text-primary);margin-bottom:20px;line-height:1.4}.forum-thread-meta{display:flex;gap:16px;font-size:13px;color:var(--text-secondary)}.forum-thread-meta span{display:flex;align-items:center;gap:6px}@media(max-width:960px){.community-content-wrapper{grid-template-columns:1fr;gap:48px;text-align:center}.community-visuals{grid-row:2}}.landing-page{height:100vh;overflow-y:auto;overflow-x:hidden;background:var(--bg-void)}.landing-hero{min-height:85vh;display:flex;align-items:center;justify-content:center;position:relative;padding:60px 24px 80px}.landing-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.landing-bg .bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.landing-bg .orb-1{width:500px;height:500px;top:-150px;left:-100px;background:radial-gradient(circle,rgba(64,140,255,.5) 0%,transparent 70%)}.landing-bg .orb-2{width:400px;height:400px;bottom:-120px;right:-80px;background:radial-gradient(circle,rgba(247,162,106,.4) 0%,transparent 70%)}.landing-bg .bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px}.landing-hero-content{position:relative;z-index:1;text-align:center;max-width:560px}.landing-hero-content .logo-mark{font-size:36px;color:var(--accent-novel);margin-bottom:12px}.landing-title{font-family:var(--font-serif);font-size:clamp(42px,6vw,64px);font-weight:600;color:var(--text-primary);letter-spacing:-.02em;line-height:1.1;margin:0 0 12px}.landing-title .tilde{color:var(--accent-novel);font-style:italic}.landing-tagline{font-size:18px;color:var(--text-muted);margin:0 0 32px}.landing-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:48px}.landing-btn{padding:12px 24px;font-size:15px}.landing-btn-outline{border:1px solid var(--border-medium)}.landing-btn-outline:hover{border-color:var(--text-muted)}.landing-skip-link{background:none;border:none;font-size:14px;color:var(--text-muted);cursor:pointer;padding:8px;margin-top:-24px}.landing-skip-link:hover{color:var(--text-primary)}.landing-downloads{display:flex;gap:12px;justify-content:center;margin-bottom:32px}.landing-download-btn{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);background:#ffffff0d;padding:8px 16px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);text-decoration:none;font-weight:500;transition:all var(--transition-fast)}.landing-download-btn:hover{background:var(--bg-hover);border-color:var(--accent-novel);color:#fff}.landing-scroll-hint{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-muted);font-size:13px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.landing-features{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:80px 24px 100px}.features-title{font-family:var(--font-ui);font-size:28px;font-weight:600;color:var(--text-primary);text-align:center;margin:0 0 48px}.feature-block{display:flex;align-items:flex-start;gap:24px;margin-bottom:48px;padding:32px;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle)}.feature-icon-wrap{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#408cff26;border-radius:var(--radius-md);color:var(--accent-novel)}.feature-text h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.feature-text p{font-size:15px;color:var(--text-secondary);line-height:1.6;margin:0}.modules-section-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 24px}.landing-modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}@media(max-width:600px){.landing-modules-grid{grid-template-columns:1fr}}.landing-module-card{padding:24px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.landing-module-card:hover{border-color:var(--mod-color, var(--accent-novel));box-shadow:0 0 24px #408cff26}.landing-module-icon{color:var(--mod-color, var(--accent-novel));margin-bottom:12px}.landing-module-card h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.landing-module-card p{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.landing-footer-cta{text-align:center;padding:60px 24px}.landing-footer-cta h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.landing-footer-cta p{font-size:15px;color:var(--text-muted);margin:0 0 24px}.landing-footer-cta .landing-cta{margin-bottom:0}.landing-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;font-size:12px;color:var(--text-muted)}.landing-footer .footer-dot{opacity:.4}:root{--bg-void: #050a15;--bg-deep: #0a1122;--bg-surface: #101a30;--bg-card: #162442;--bg-elevated: #1d2c54;--bg-hover: #263866;--text-primary: #f0f0ff;--text-secondary: #9898b8;--text-muted: #5a5a80;--text-on-paper: #1a1a2e;--accent-novel: #408CFF;--accent-novel-glow: rgba(64, 140, 255, .25);--accent-screenplay: #F7A26A;--accent-screenplay-glow: rgba(247, 162, 106, .25);--accent-comic: #6AF7B4;--accent-comic-glow: rgba(106, 247, 180, .25);--accent-audio: #F76A6A;--accent-audio-glow: rgba(247, 106, 106, .25);--accent-world: #6AADF7;--accent-world-glow: rgba(106, 173, 247, .25);--accent-mood: #F76AC8;--accent-mood-glow: rgba(247, 106, 200, .25);--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--paper-bg: #ffffff;--paper-border: #eeeeee;--paper-shadow: 0 4px 24px rgba(0, 0, 0, .5), 0 1px 4px rgba(0, 0, 0, .3);--paper-width: 816px;--wb-paper-width: 600px;--sidebar-width: 240px;--sidebar-collapsed: 0px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--font-ui: "Roboto Slab", system-ui, serif;--font-serif: "Playfair Display", Georgia, serif;--font-mono: "Courier Prime", "Courier New", monospace;--z-sidebar: 100;--z-toolbar: 200;--z-drawer: 300;--z-modal: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:auto}body{font-family:var(--font-ui);background:var(--bg-void);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.mobile-accessory-bar{position:fixed;bottom:0;left:0;right:0;height:44px;background:#1e1e1e;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:6px;padding:0 12px;z-index:2000;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-accessory-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffffd9;font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer;white-space:nowrap;transition:background .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-accessory-btn:active{background:#fff3}@media(max-width:1024px){.editor-scroll-area{padding-bottom:52px!important}}.app-root{height:100vh;width:100vw;display:flex;flex-direction:column;background:var(--bg-void);overflow:hidden}.global-toolbar{height:52px;min-height:52px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px;padding:0 16px;z-index:var(--z-toolbar);flex-shrink:0}.editor-workspace{flex:1;display:flex;overflow:hidden;position:relative;background:var(--bg-deep);background-image:radial-gradient(ellipse at 30% 20%,rgba(124,106,247,.06) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(106,173,247,.04) 0%,transparent 50%)}.document-page{background:var(--paper-bg);width:var(--paper-width);min-height:1056px;border-radius:var(--radius-sm);box-shadow:var(--paper-shadow);color:var(--text-on-paper);position:relative;flex-shrink:0}.editor-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;justify-content:center;padding:40px 24px 80px}@media(max-width:768px){.editor-scroll-area{padding:16px 8px 80px;justify-content:flex-start}.document-page{width:100%!important;min-height:calc(100vh - 100px);border-radius:0;box-shadow:none}}.sidebar-engine{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;background:var(--bg-surface);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;z-index:var(--z-sidebar)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-row{display:flex;align-items:center}.flex-col{display:flex;flex-direction:column}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all var(--transition-fast);white-space:nowrap}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-primary{background:var(--accent-novel);color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-icon{padding:6px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}::selection{background:#7c6af740}input,textarea,[contenteditable]{font-family:var(--font-ui);color:inherit}.dashboard-container{height:100vh;background-color:#0f111a;color:#e0e6ed;font-family:Inter,system-ui,-apple-system,sans-serif;padding:2rem 4rem;overflow-y:auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3.5rem;flex-wrap:wrap;gap:2rem}.logo-text{font-size:2rem;font-weight:800;letter-spacing:-1px;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.logo-text .accent{background:linear-gradient(135deg,#408cff,#3b82f6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.subtitle-container{display:flex;align-items:center;gap:1.5rem;margin-top:.25rem}.subtitle{color:#94a3b8;font-size:.85rem;text-transform:uppercase;letter-spacing:2px}.create-btn{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.75rem;background:linear-gradient(135deg,#408cff,#3b82f6);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 15px -3px #408cff66}.create-btn:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #408cff80}.create-btn:active{transform:translateY(1px)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.project-card{background:#1a1d2e;border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:1.5rem;cursor:pointer;transition:all .4s cubic-bezier(.19,1,.22,1);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:220px}.project-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(64,140,255,.1),transparent 70%);opacity:0;transition:opacity .4s ease}.project-card:hover{transform:translateY(-10px) scale(1.02);border-color:#408cff4d;box-shadow:0 25px 50px -12px #00000080}.project-card:hover:before{opacity:1}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;z-index:1}.project-type-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:.35rem .75rem;border-radius:100px}.project-type-tag.novel{background:#7c6af71a;color:#7c6af7;border:1px solid rgba(124,106,247,.2)}.project-type-tag.screenplay{background:#f7a26a1a;color:#f7a26a;border:1px solid rgba(247,162,106,.2)}.project-type-tag.comic{background:#6af7b41a;color:#6af7b4;border:1px solid rgba(106,247,180,.2)}.project-type-tag.audio-drama{background:#f76a6a1a;color:#f76a6a;border:1px solid rgba(247,106,106,.2)}.project-type-tag.worldbuilding{background:#6aadf71a;color:#6aadf7;border:1px solid rgba(106,173,247,.2)}.project-type-tag.moodboard{background:#f76ac81a;color:#f76ac8;border:1px solid rgba(247,106,200,.2)}.collab-badge{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:.3rem .6rem;border-radius:100px;background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.3);animation:collabPulse 3s ease-in-out infinite}@keyframes collabPulse{0%,to{box-shadow:0 0 #22c55e4d}50%{box-shadow:0 0 0 5px #22c55e00}}.collab-names{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#22c55e;margin-top:.35rem;margin-bottom:0;opacity:.85}.action-icon-btn{background:#ffffff0d;border:none;color:#94a3b8;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.action-icon-btn:hover{background:#f76a6a26;color:#f76a6a}.action-icon-btn.note-badge-btn{position:relative;color:#fbbf24;background:#fbbf241a;border:1px solid rgba(251,191,36,.25);animation:notePulse 2s ease-in-out infinite}.action-icon-btn.note-badge-btn:hover{background:#fbbf2433;color:#fbbf24}.note-badge-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;background:#fbbf24;border-radius:50%;border:1.5px solid #1a1d2e}@keyframes notePulse{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 6px #fbbf2400}}.project-card-body{margin-top:1.5rem;z-index:1}.project-name{font-size:1.4rem;font-weight:700;margin:0;color:#f8fafc}.project-date{font-size:.8rem;color:#64748b;margin-top:.5rem}.project-card-footer-modules{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05);display:flex;gap:.75rem;z-index:1}.module-quick-link{background:#ffffff08;border:1px solid rgba(255,255,255,.05);color:#94a3b8;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.module-quick-link:hover{background:#ffffff14;transform:translateY(-2px);border-color:currentColor}.open-link{font-size:.85rem;font-weight:600;color:#408cff;display:flex;align-items:center;gap:.5rem;opacity:0;transform:translate(-10px);transition:all .3s ease}.project-card:hover .open-link{opacity:1;transform:translate(0)}.empty-state{text-align:center;padding:6rem 0;color:#64748b}.empty-icon{margin-bottom:2rem;opacity:.3}.create-btn-large{margin-top:1.5rem;padding:1rem 2.5rem;background:transparent;border:2px dashed #334155;color:#94a3b8;border-radius:16px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.create-btn-large:hover{border-color:#408cff;color:#408cff;background:#408cff0d}.modal-overlay{position:fixed;inset:0;background:#0a0b14d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#1a1d2e;border:1px solid rgba(255,255,255,.1);padding:2.5rem;border-radius:24px;width:100%;max-width:500px;box-shadow:0 40px 100px -20px #000c;animation:slideUp .4s cubic-bezier(.19,1,.22,1)}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.form-group{margin-top:1.5rem}.form-group label{display:block;font-size:.85rem;font-weight:600;color:#94a3b8;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px}.form-group input{width:100%;padding:1rem;background:#0f111a;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:1.1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#408cff;box-shadow:0 0 0 4px #408cff1a}.type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.type-option{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem .5rem;background:#12141f;border:1px solid rgba(255,255,255,.05);border-radius:16px;cursor:pointer;transition:all .3s ease}.type-option:hover{background:#ffffff08;transform:translateY(-2px)}.type-option.active{background:#408cff1a;border-color:#408cff}.type-option .icon-wrapper{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.type-option span{font-size:.75rem;font-weight:600}.modal-actions{display:flex;gap:1rem;margin-top:2.5rem}.modal-actions button{flex:1;padding:1rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8}.cancel-btn:hover{background:#ffffff1a;color:#fff}.confirm-btn{background:#408cff;border:none;color:#fff}.confirm-btn:hover{background:#3b82f6}.header-actions{display:flex;align-items:center;gap:1.5rem}.header-nav-buttons{display:flex;gap:.75rem}.nav-icon-btn{position:relative;display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#94a3b8;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}.nav-icon-btn:hover{background:#408cff1a;border-color:#408cff66;color:#408cff;transform:translateY(-2px)}.nav-icon-btn svg{color:#94a3b8;transition:color .3s ease}.nav-icon-btn:hover svg{color:#408cff}.nav-icon-btn.has-badge{border-color:#408cff59}.nav-icon-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:999px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;background:#408cff;color:#fff;font-size:10px;font-weight:700;line-height:1;border:2px solid #0f111a}.dashboard-downloads{display:flex;gap:.5rem;opacity:.6;transition:opacity .3s ease}.logo-section:hover .dashboard-downloads{opacity:1}.dashboard-download-link{width:36px;height:36px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:all .3s ease}.dashboard-download-link:hover{background:#408cff1a;color:#408cff;border-color:#408cff;transform:scale(1.1)}.dashboard-user{display:flex;align-items:center;gap:1.2rem;padding-left:1.5rem;border-left:1px solid rgba(255,255,255,.1);flex-shrink:0}.user-display{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;font-weight:600;color:#e0e6ed;transition:color .2s ease}.user-display:hover{color:#408cff}.name-edit-box{display:flex;align-items:center;gap:.5rem}.name-input{background:#0f111a;border:1px solid #408CFF;border-radius:6px;color:#fff;padding:.3rem .6rem;font-size:.85rem;width:130px;outline:none}.signout-btn{background:transparent;border:1px solid rgba(247,106,106,.3);color:#f76a6a;padding:.4rem .8rem;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.signout-btn:hover{background:#f76a6a1a;border-color:#f76a6a}.recent-docs-section{margin-bottom:4rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-title{font-size:1.1rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:2px}.recent-docs-grid{display:flex;gap:1.5rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:thin;scrollbar-color:#334155 transparent}.recent-docs-grid::-webkit-scrollbar{height:6px}.recent-docs-grid::-webkit-scrollbar-thumb{background:#334155;border-radius:10px}.recent-doc-card{flex:0 0 280px;background:#1a1d2e99;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.25rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1rem}.recent-doc-card:hover{background:#1a1d2e;border-color:#408cff4d;transform:translateY(-4px)}.recent-doc-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.recent-doc-info{flex:1;overflow:hidden}.recent-doc-name{font-size:.95rem;font-weight:600;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.recent-doc-project{font-size:.75rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-last-doc{margin-top:.75rem;padding:.6rem .8rem;background:#0f111a66;border-radius:10px;display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#94a3b8}.project-last-doc strong{color:#e0e6ed}@media(max-width:768px){.dashboard-container{padding:1.5rem 1rem}.dashboard-header{flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.header-actions{width:100%;flex-wrap:wrap;justify-content:center;gap:1rem}.dashboard-header .create-btn,.empty-state .create-btn-large,.dashboard-downloads,.header-nav-buttons .nav-icon-btn:first-child{display:none}.dashboard-user{border-left:none;padding-left:0;width:100%;justify-content:center}.project-grid{grid-template-columns:1fr}}.message-toast{position:fixed;bottom:32px;right:32px;background:#1e293be6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #408CFF;padding:16px 24px;border-radius:12px;display:flex;align-items:center;gap:12px;color:#fff;box-shadow:0 10px 25px #00000080;z-index:2000;cursor:pointer;animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}.message-toast span{font-weight:600;font-size:14px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:480px){.message-toast{left:16px;right:16px;bottom:16px;padding:12px 16px;justify-content:center}}.user-display.no-edit{cursor:default}.user-display.no-edit:hover{background:transparent}.share-friend-select{width:100%;padding:1rem;background:#0f111a;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:1rem;transition:all .3s ease}.share-friend-select:focus{outline:none;border-color:#408cff;box-shadow:0 0 0 4px #408cff1a}.share-error-text{margin-top:12px;margin-bottom:0;color:#fca5a5;font-size:.9rem}.profile-overlay{position:fixed;inset:0;background:#050a15d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.profile-loading{color:var(--text-primary);font-size:18px;font-weight:500}.profile-modal{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 24px 48px #00000080;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.profile-header{padding:24px 32px;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;background:#ffffff05}.profile-header h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.profile-header .close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;transition:all var(--transition-fast)}.profile-header .close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.profile-error{background:#f76a6a1a;color:#f76a6a;padding:12px 32px;font-size:14px;border-bottom:1px solid rgba(247,106,106,.2)}.profile-content{padding:32px;overflow-y:auto;display:flex;flex-direction:column;gap:32px}.profile-section h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.profile-help{font-size:13px;color:var(--text-muted);margin-bottom:12px}.profile-input,.profile-textarea,.profile-select{width:100%;background:#0003;border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);padding:10px 14px;font-family:var(--font-ui);font-size:14px;transition:border-color var(--transition-fast)}.profile-input:focus,.profile-textarea:focus,.profile-select:focus{outline:none;border-color:var(--accent-novel)}.profile-input.disabled{opacity:.6;cursor:not-allowed}.profile-textarea{resize:vertical;min-height:100px}.form-group-inline{display:flex;align-items:center;gap:16px;margin-top:16px}.form-group-inline label{font-size:14px;color:var(--text-secondary);white-space:nowrap}.form-group-inline .profile-select{max-width:200px}.profile-link-preview{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;color:var(--accent-world);text-decoration:none}.profile-link-preview:hover{text-decoration:underline}.toggle-row{display:flex;align-items:center;margin-bottom:12px}.toggle-label{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary);cursor:pointer}.toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-novel)}.sync-stats-btn{display:inline-flex;align-items:center;gap:6px;background:#7c6af71a;border:1px solid rgba(124,106,247,.3);color:var(--accent-novel);padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;margin-top:8px;transition:all var(--transition-fast)}.sync-stats-btn:hover{background:#7c6af733}.add-book-controls{display:flex;gap:12px;margin-bottom:24px}.add-book-controls .profile-input{flex:2}.add-book-controls .profile-select{flex:1}.add-book-controls .add-btn{display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border:1px solid var(--border-medium);color:var(--text-primary);border-radius:var(--radius-sm);padding:0 16px;cursor:pointer;transition:background var(--transition-fast)}.add-book-controls .add-btn:hover{background:var(--accent-novel);border-color:var(--accent-novel)}.book-lists{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.book-list-col h4{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px;font-weight:600}.book-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff05;border:1px solid var(--border-subtle);padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:8px;font-size:13px;color:var(--text-secondary)}.book-item button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex}.book-item button:hover{color:#f76a6a;background:#f76a6a1a}.empty-book{font-size:13px;color:var(--text-muted);font-style:italic}.friends-menu-container{position:relative;display:inline-block}.friends-toggle-btn{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:.6rem 1.2rem;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;transition:all .3s ease}.friends-toggle-btn:hover{background:#408cff1a;border-color:#408cff66;color:#408cff;transform:translateY(-2px)}.friends-toggle-btn.has-notif{color:var(--accent-world)}.notif-badge{position:absolute;top:-4px;right:-4px;background:#f76a6a;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg-panel)}.friends-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:320px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 16px 32px #0006;z-index:1001;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:16px 20px;background:#ffffff05;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.dropdown-header h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.close-icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex}.dropdown-body{max-height:400px;overflow-y:auto;padding:16px 0}.dropdown-section{padding:0 16px;margin-bottom:24px}.dropdown-section:last-child{margin-bottom:0}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px;display:flex;align-items:center;gap:6px;font-weight:700}.request-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#7c6af70d;border:1px solid rgba(124,106,247,.2);border-radius:var(--radius-sm);margin-bottom:8px}.req-name{font-size:14px;color:var(--text-primary);font-weight:500}.req-actions{display:flex;gap:4px}.req-btn{padding:4px;border-radius:4px;cursor:pointer;background:var(--bg-hover);border:1px solid var(--border-subtle);display:flex;transition:all var(--transition-fast)}.req-btn.accept{color:#55d6a9;background:#55d6a91a;border-color:#55d6a933}.req-btn.reject{color:#f76a6a}.req-btn:hover{transform:translateY(-1px);background:var(--bg-card)}.friend-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);margin-bottom:4px}.friend-item:hover{background:var(--bg-hover)}.friend-info{display:flex;align-items:center;gap:12px}.friend-actions{display:flex;align-items:center;gap:6px}.friend-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--accent-novel),var(--accent-world));border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.friend-name{font-size:14px;color:var(--text-secondary)}.friend-msg-btn{background:#ffffff0d;border:1px solid var(--border-subtle);color:var(--text-muted);padding:6px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:2}.friend-item:hover .friend-msg-btn{background:var(--accent-novel);color:#fff;border-color:transparent}.friend-msg-btn:hover{transform:scale(1.1)}.friend-action-btn{background:#ffffff0d;border:1px solid var(--border-subtle);color:var(--text-muted);padding:6px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:2}.friend-action-btn.remove:hover:not(:disabled){background:#f871712e;border-color:#f8717159;color:#fecaca}.friend-action-btn.block:hover:not(:disabled){background:#fb718533;border-color:#fb718573;color:#ffd1dc}.friend-action-btn:disabled,.friend-msg-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.action-error{color:#fca5a5;font-style:normal;padding-top:0}.status-msg{font-size:13px;color:var(--text-muted);font-style:italic;text-align:center;padding:12px}@media(max-width:480px){.friends-dropdown{position:fixed;top:80px;left:16px;right:16px;width:auto;max-height:calc(100vh - 100px)}}.live-chat-window{position:fixed;bottom:24px;right:24px;width:600px;height:500px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 16px 48px #0009;display:flex;z-index:1002;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-sidebar{width:200px;background:#ffffff05;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column}.sidebar-header{padding:16px;font-size:13px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border-subtle)}.sidebar-list{flex:1;overflow-y:auto}.sidebar-item{padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s;position:relative;border-left:3px solid transparent}.sidebar-item:hover{background:#ffffff0d}.sidebar-item.active{background:#7c6af71a;border-left-color:var(--accent-novel)}.sidebar-item .avatar{width:28px;height:28px;border-radius:50%;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text-primary)}.sidebar-item.active .avatar{background:var(--accent-novel);color:#fff}.sidebar-item .name{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item .remove-btn{opacity:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.sidebar-item:hover .remove-btn{opacity:1}.sidebar-item .remove-btn:hover{background:#f76a6a33;color:#f76a6a}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{padding:12px 16px;background:#ffffff08;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.recipient-info{display:flex;align-items:center;gap:12px}.chat-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--accent-novel),var(--accent-world));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}.name-status{display:flex;flex-direction:column}.recipient-name{font-size:14px;font-weight:600;color:var(--text-primary)}.status-indicator{font-size:10px;display:flex;align-items:center;gap:4px}.status-indicator.online{color:#55d6a9}.status-indicator.online:before{content:"";width:6px;height:6px;background:#55d6a9;border-radius:50%}.status-indicator.offline{color:#94a3b8}.status-indicator.offline:before{content:"";width:6px;height:6px;background:#64748b;border-radius:50%}.header-actions{display:flex;gap:4px}.header-actions .action-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;transition:all var(--transition-fast)}.header-actions .action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#0000001a}.message-bubble{max-width:85%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.4;word-break:break-word}.message-bubble.sent{align-self:flex-end;background:var(--accent-novel);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 12px #7c6af733}.message-bubble.received{align-self:flex-start;background:var(--bg-hover);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid var(--border-subtle)}.shared-project-card{display:flex;flex-direction:column;gap:6px;min-width:220px}.shared-project-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.shared-project-name{font-size:14px;font-weight:700}.shared-project-meta{font-size:12px;opacity:.8}.shared-project-import-btn{margin-top:6px;background:#ffffff29;border:1px solid rgba(255,255,255,.25);color:inherit;border-radius:8px;height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;font-weight:600;width:fit-content}.shared-project-import-btn:disabled{opacity:.6;cursor:default}.chat-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);gap:12px}.chat-empty p{font-size:15px;font-weight:500}.chat-empty span{font-size:12px}.chat-input-area{padding:12px 16px;background:var(--bg-card);border-top:1px solid var(--border-subtle);display:flex;gap:12px}.chat-input-area input{flex:1;background:#0000004d;border:1px solid var(--border-medium);border-radius:20px;padding:10px 16px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}.chat-input-area input:focus{border-color:var(--accent-novel)}.chat-input-area button{background:var(--accent-novel);color:#fff;border:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.chat-input-area button:disabled{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed}.chat-input-area button:not(:disabled):hover{transform:scale(1.05);filter:brightness(1.1)}.live-chat-minimized{position:fixed;bottom:24px;right:24px;width:auto;min-width:200px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:30px;padding:8px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;box-shadow:0 8px 24px #0006;z-index:1002;transition:all .2s;color:var(--text-primary);font-size:13px;font-weight:600}.live-chat-minimized:hover{transform:translateY(-2px);background:var(--bg-hover);border-color:var(--accent-novel)}.live-chat-minimized.has-unread{border-color:#408cffbf;box-shadow:0 10px 30px #408cff47;animation:chatUnreadPulse 1.2s ease-in-out infinite}.live-chat-minimized.has-unread:after{content:"";position:absolute;top:7px;right:10px;width:10px;height:10px;border-radius:50%;background:#55a8ff;box-shadow:0 0 0 4px #55a8ff29}@keyframes chatUnreadPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.live-chat-minimized .recipient-name{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-chat-minimized .close-btn{color:var(--text-muted);transition:color .2s;margin-left:4px}.live-chat-minimized .close-btn:hover{color:#f76a6a}@media(max-width:992px){.live-chat-window,.live-chat-minimized{right:24px}}@media(max-width:768px){.live-chat-window{right:0;left:0;bottom:0;width:100%;height:100vh;border-radius:0;border:none}.chat-sidebar{width:60px}.sidebar-item .name,.sidebar-header span{display:none}.live-chat-minimized{left:24px;right:24px}}.forum-page{background:var(--bg-surface);color:var(--text-primary);height:100vh;display:flex;flex-direction:column;overflow-y:auto}.message-toast{position:fixed;right:24px;bottom:92px;z-index:1202;display:flex;align-items:center;gap:8px;background:#141b2bf2;border:1px solid rgba(64,140,255,.4);color:#dbe7ff;padding:10px 14px;border-radius:10px;box-shadow:0 8px 24px #00000059;cursor:pointer}.forum-header{background:var(--bg-surface-elevated);border-bottom:1px solid var(--border-strong);padding:16px 32px;z-index:10}.forum-header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:24px}.forum-header h1{font-size:24px;font-weight:700;margin:0;flex-grow:1}.back-btn{border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border-light);color:var(--text-primary);transition:all .2s}.back-btn:hover{background:#ffffff1a;transform:translate(-2px)}.forum-search{display:flex;align-items:center;gap:8px;background:#0003;border:1px solid var(--border-strong);padding:8px 16px;border-radius:20px;width:300px}.forum-search input{background:transparent;border:none;color:var(--text-primary);outline:none;flex-grow:1;font-size:14px}.forum-search input::placeholder{color:var(--text-muted)}.forum-main{max-width:1200px;margin:0 auto;width:100%;flex-grow:1;display:flex;padding:32px;gap:48px}.forum-sidebar{width:250px;flex-shrink:0;display:flex;flex-direction:column;gap:32px}.forum-sidebar .filter-section{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:18px}.filter-section h3{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:#ffffffe6;margin-bottom:16px}.helper-text{font-size:11px;text-transform:none;opacity:.6}.category-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.category-btn{width:100%;text-align:left;padding:10px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#ffffffe6;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.category-btn:hover{background:#ffffff17;color:var(--text-primary)}.category-btn.active{background:#408cff1a;border-color:#408cff4d;color:#408cff}.category-btn.cat-filter-all{border-left:3px solid #f8fafc}.category-btn.cat-filter-novel{border-left:3px solid #7C6AF7}.category-btn.cat-filter-screenplay{border-left:3px solid #F76AAF}.category-btn.cat-filter-comic{border-left:3px solid #55D6A9}.category-btn.cat-filter-audio-drama{border-left:3px solid #EB7E52}.category-btn.cat-filter-worldbuilding{border-left:3px solid #D4BA74}.category-btn.cat-filter-general{border-left:3px solid #56b7ff}.genre-tags{display:flex;flex-wrap:wrap;gap:8px}.genre-tag-btn{padding:6px 14px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#ffffffeb;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.genre-tag-btn:hover:not(:disabled){background:#ffffff1a;color:var(--text-primary)}.genre-tag-btn.active{background:#408cff;border-color:#408cff;color:#fff}.genre-tag-btn.genre-filter-sci-fi{color:#7dd3fc;border-color:#7dd3fc4d}.genre-tag-btn.genre-filter-fantasy{color:#c4b5fd;border-color:#c4b5fd4d}.genre-tag-btn.genre-filter-thriller{color:#fb7185;border-color:#fb71854d}.genre-tag-btn.genre-filter-mystery{color:#fbbf24;border-color:#fbbf244d}.genre-tag-btn.genre-filter-romance{color:#f9a8d4;border-color:#f9a8d44d}.genre-tag-btn.genre-filter-horror{color:#f87171;border-color:#f871714d}.genre-tag-btn.genre-filter-comedy{color:#fde68a;border-color:#fde68a4d}.genre-tag-btn.genre-filter-action{color:#fdba74;border-color:#fdba744d}.genre-tag-btn.genre-filter-drama{color:#93c5fd;border-color:#93c5fd4d}.genre-tag-btn.genre-filter-literary{color:#d8b4fe;border-color:#d8b4fe4d}.genre-tag-btn:disabled{opacity:.3;cursor:not-allowed}.forum-feed{flex-grow:1;display:flex;flex-direction:column;gap:24px}.feed-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-strong);padding-bottom:16px}.feed-header h2{font-size:20px;font-weight:600;margin:0}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.post-card{background:#0006;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:14px;min-height:220px;justify-content:space-between}.post-card:hover{border-color:#408cff80;box-shadow:0 4px 20px #0003;transform:translateY(-2px)}.post-card-header{display:flex;justify-content:space-between;align-items:center}.post-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge.cat-novel{background:#7c6af733;color:#7c6af7}.badge.cat-screenplay{background:#f76aaf33;color:#f76aaf}.badge.cat-comic{background:#55d6a933;color:#55d6a9}.badge.cat-audio-drama{background:#eb7e5233;color:#eb7e52}.badge.cat-worldbuilding{background:#d4ba7433;color:#d4ba74}.badge.cat-general{background:#56b7ff2e;border:1px solid rgba(86,183,255,.35);color:#7bc5ff}.badge.genre-badge{border:1px solid var(--border-light)}.badge.genre-badge.sci-fi{background:#7dd3fc29;border-color:#7dd3fc4d;color:#7dd3fc}.badge.genre-badge.fantasy{background:#c4b5fd29;border-color:#c4b5fd4d;color:#c4b5fd}.badge.genre-badge.thriller{background:#fb718529;border-color:#fb71854d;color:#fb7185}.badge.genre-badge.mystery{background:#fbbf2429;border-color:#fbbf244d;color:#fbbf24}.badge.genre-badge.romance{background:#f9a8d429;border-color:#f9a8d44d;color:#f9a8d4}.badge.genre-badge.horror{background:#f8717129;border-color:#f871714d;color:#f87171}.badge.genre-badge.comedy{background:#fde68a29;border-color:#fde68a4d;color:#fde68a}.badge.genre-badge.action{background:#fdba7429;border-color:#fdba744d;color:#fdba74}.badge.genre-badge.drama{background:#93c5fd29;border-color:#93c5fd4d;color:#93c5fd}.badge.genre-badge.literary{background:#d8b4fe29;border-color:#d8b4fe4d;color:#d8b4fe}.post-time{font-size:13px;color:var(--text-muted)}.post-title{font-size:24px;margin:0;color:var(--text-primary);line-height:1.3}.post-card-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:14px;border-top:1px solid var(--border-light);gap:16px}.post-meta-column{display:flex;flex-direction:column;gap:10px;min-width:0}.post-author{font-size:14px;color:var(--text-secondary)}.post-badges-footer{gap:6px}.post-stats{display:flex;gap:16px;color:var(--text-muted);align-items:center}.post-stats span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}@media(max-width:1100px){.post-grid{grid-template-columns:1fr}}.feed-like-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.feed-like-btn:hover:not(:disabled){border-color:#ff408173;color:#ffd1e0;background:#ff408114}.feed-like-btn.liked{color:#ff7baa;border-color:#ff408159;background:#ff40811f}.feed-like-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.post-card-footer{flex-direction:column;align-items:flex-start}.post-stats{width:100%;justify-content:space-between;flex-wrap:wrap}}.post-detail-view{width:100%;max-width:800px;margin:0 auto;background:var(--bg-surface-elevated);border:1px solid var(--border-strong);border-radius:12px;padding:48px}.post-detail-header-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.post-detail-header-meta .post-time{display:flex;align-items:center;gap:6px;font-size:14px}.detail-title{font-size:32px;margin-bottom:32px;line-height:1.2}.detail-author-row{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--border-strong)}.author-avatar{width:48px;height:48px;background:#408cff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.author-avatar.small{width:36px;height:36px;font-size:16px;background:#ffffff1a}.author-info{display:flex;flex-direction:column}.author-info strong{font-size:16px;color:var(--text-primary)}.author-info span{font-size:13px;color:var(--text-muted)}.detail-content{font-size:17px;line-height:1.7;color:var(--text-secondary);white-space:pre-wrap;margin-bottom:48px}.detail-replies-section h3{margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--border-strong)}.replies-list{display:flex;flex-direction:column;gap:24px}.reply-card{background:#0003;border:1px solid var(--border-light);border-radius:8px;padding:24px}.detail-author-row.reply-author{border-bottom:none;padding-bottom:0;margin-bottom:16px}.like-btn-action,.reply-like-btn{display:flex;align-items:center;gap:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:4px 10px;border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .2s}.like-btn-action:hover,.reply-like-btn:hover{background:#ff40811a;border-color:#ff40814d;color:#fff}.like-btn-action.liked,.reply-like-btn.liked{color:#fff;border-color:#ff4081;background:#ff408126}.post-stat-item{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:.85rem}.reply-content{font-size:16px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap}.reply-form{margin-top:48px;display:flex;flex-direction:column;gap:16px;background:#ffffff08;padding:32px;border-radius:12px;border:1px solid var(--border-light)}.reply-form textarea{background:#0000004d;border:1px solid var(--border-strong);border-radius:8px;padding:16px;color:var(--text-primary);font-size:16px;line-height:1.6;resize:vertical;min-height:120px;outline:none;transition:all .2s ease}.reply-form textarea:focus{border-color:#408cff;background:#0006;box-shadow:0 0 0 2px #408cff33}.reply-form .btn-primary{align-self:flex-end;padding:10px 24px;font-weight:600}.no-replies{color:var(--text-muted);font-style:italic}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px;color:var(--text-muted);gap:16px}.empty-icon{opacity:.2}.forum-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.forum-modal{background:var(--bg-surface-elevated);border:1px solid var(--border-strong);border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 48px #00000080;padding:32px}.forum-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border-strong)}.forum-modal-header h2{font-size:24px;margin:0}.forum-modal-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;color:var(--text-muted);font-weight:500}.form-group input,.form-group select,.form-group textarea{background:#0000004d;border:1px solid var(--border-strong);border-radius:8px;padding:12px 16px;color:var(--text-primary);font-size:15px;outline:none;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#408cff;background:#0006}.forum-modal-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:16px}.delete-btn{color:var(--text-muted);opacity:.6;transition:all .2s ease}.delete-btn:hover{color:#ff4d4d;opacity:1;transform:scale(1.1)}.post-detail-view .detail-title{color:var(--text-primary)}.post-detail-view .detail-content{color:var(--text-primary);font-size:18px;line-height:1.8}.reply-card{transition:all .2s ease}.reply-card:hover{border-color:var(--border-strong);background:#ffffff0d}.author-link{cursor:pointer;transition:color .2s ease}.author-link:hover{color:#408cff;text-decoration:underline}.mobile-filter-toggle{display:none;align-items:center;gap:12px;background:#408cff1a;border:1px solid rgba(64,140,255,.3);color:#408cff;padding:12px 20px;border-radius:8px;font-weight:600;margin-bottom:24px;cursor:pointer;width:100%;justify-content:center}.sidebar-header{display:none;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-strong)}.close-sidebar{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px}@media(max-width:992px){.forum-main{gap:32px}}@media(max-width:768px){.forum-header{padding:12px 16px}.forum-header h1{font-size:18px}.forum-search{width:160px;padding:6px 12px}.forum-main{flex-direction:column;padding:16px;align-items:center}.mobile-filter-toggle{display:flex}.forum-sidebar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-surface-elevated);border-top:1px solid var(--border-strong);border-radius:24px 24px 0 0;padding:32px;z-index:100;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 -10px 40px #00000080}.forum-sidebar.open{transform:translateY(0)}.sidebar-header{display:flex}.forum-feed{width:100%;max-width:100%}.post-card{padding:20px;text-align:center}.post-card-header{flex-direction:column;gap:8px}.post-badges{justify-content:center}.post-card-footer{flex-direction:column;gap:12px}.post-detail-view{padding:24px 16px;border-radius:0;border:none}.detail-title{font-size:24px;text-align:center}.detail-author-row{flex-direction:column;text-align:center}.reply-form{padding:20px 16px}}.load-more-container{display:flex;justify-content:center;padding:32px 0 64px;width:100%}.load-more-btn{padding:12px 32px!important;font-size:15px!important;background:#ffffff0d!important;border:1px solid var(--border-medium)!important;border-radius:8px!important;color:var(--text-muted)!important;cursor:pointer;transition:all .2s ease}.load-more-btn:hover{background:#408cff1a!important;border-color:var(--accent-novel)!important;color:var(--text-main)!important}.refresh-btn{border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border-light);color:var(--text-muted);transition:all .2s}.refresh-btn:hover{background:#ffffff1a;color:#408cff}.spinning{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.refresh-btn{width:32px;height:32px}}.react-calendar-heatmap text{font-size:10px;fill:#aaa}.react-calendar-heatmap .react-calendar-heatmap-small-text{font-size:5px}.react-calendar-heatmap rect:hover{stroke:#555;stroke-width:1px}.react-calendar-heatmap .color-empty{fill:#eee}.react-calendar-heatmap .color-filled{fill:#8cc665}.react-calendar-heatmap .color-github-0{fill:#eee}.react-calendar-heatmap .color-github-1{fill:#d6e685}.react-calendar-heatmap .color-github-2{fill:#8cc665}.react-calendar-heatmap .color-github-3{fill:#44a340}.react-calendar-heatmap .color-github-4{fill:#1e6823}.react-calendar-heatmap .color-gitlab-0{fill:#ededed}.react-calendar-heatmap .color-gitlab-1{fill:#acd5f2}.react-calendar-heatmap .color-gitlab-2{fill:#7fa8d1}.react-calendar-heatmap .color-gitlab-3{fill:#49729b}.react-calendar-heatmap .color-gitlab-4{fill:#254e77}.public-profile-page{min-height:100vh;background:var(--bg-main);color:var(--text-primary);padding:64px 24px;display:flex;justify-content:center}.public-profile-container{width:100%;max-width:800px;display:flex;flex-direction:column}.public-profile-header{text-align:center;margin-bottom:64px;display:flex;flex-direction:column;align-items:center;gap:32px}.author-identity h1{font-size:48px;font-weight:700;margin:0;color:var(--text-primary);letter-spacing:-.02em}.profile-actions{display:flex;gap:12px;justify-content:center}.profile-action-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.profile-action-btn.add{background:var(--accent-world);color:#fff}.profile-action-btn.add:hover{filter:brightness(1.1);transform:translateY(-2px)}.profile-action-btn.message{background:#ffffff0d;border-color:var(--border-subtle);color:var(--text-primary)}.profile-action-btn.message:hover{background:#ffffff1a;border-color:var(--border-medium)}.profile-action-btn.pending{background:#55d6a91a;border-color:#55d6a933;color:#55d6a9;cursor:default}.profile-action-btn.live-on{background:#55d6a924;border-color:#55d6a947;color:#55d6a9}.profile-action-btn.live-on:hover{background:#55d6a938;transform:translateY(-2px)}.profile-action-btn.live-off{background:#94a3b81a;border-color:#94a3b833;color:#cbd5e1}.profile-action-btn.live-off:hover{background:#94a3b829;transform:translateY(-2px)}.profile-action-error{color:#f76a6a;font-size:13px;margin-top:12px}.public-profile-bio{font-size:16px;color:var(--text-secondary);max-width:600px;margin:24px auto 0;line-height:1.6}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);text-decoration:none;font-size:14px;transition:color var(--transition-fast)}.back-link:hover{color:var(--accent-novel)}.books-section{margin-bottom:64px}.books-section h2,.stats-section h2{font-size:24px;font-weight:600;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.book-list{margin-bottom:40px}.book-list h3{font-size:16px;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:8px;margin-bottom:24px;text-transform:uppercase;letter-spacing:.05em}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.public-book-card{background:#ffffff05;border:1px solid var(--border-subtle);padding:32px 24px;border-radius:var(--radius-md);text-align:center;font-weight:500;font-size:16px;transition:all var(--transition-fast);color:var(--text-secondary);box-shadow:0 4px 12px #0003}.public-book-card:hover{background:#ffffff0a;border-color:var(--border-medium);color:var(--text-primary)}.no-books-msg{color:var(--text-muted);font-style:italic;font-size:15px}.stats-summary{display:flex;gap:24px;margin-bottom:32px}.stat-card{background:#ffffff05;border:1px solid var(--border-subtle);padding:32px;border-radius:var(--radius-md);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.stat-value{font-size:36px;font-weight:700;display:flex;align-items:center;gap:12px;color:var(--text-primary)}.stat-label{font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.heatmap-public{background:#0003!important;border:1px solid var(--border-subtle)!important;padding:32px;border-radius:var(--radius-lg)}.public-profile-loading,.public-profile-not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-main);color:var(--text-primary)}.public-profile-not-found h2{font-size:32px;margin-bottom:16px}.public-profile-not-found a{color:var(--accent-novel);margin-top:24px;text-decoration:none}.public-profile-not-found a:hover{text-decoration:underline}.workspace-page{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:space-between;overflow-y:auto;overflow-x:hidden;position:relative;background:var(--bg-void);padding:0 24px}.workspace-bg{position:fixed;inset:0;pointer-events:none;z-index:0}.workspace-bg .bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.workspace-bg .orb-1{width:600px;height:600px;top:-200px;left:-150px;background:radial-gradient(circle,rgba(64,140,255,.5) 0%,transparent 70%);animation:orbFloat 8s ease-in-out infinite alternate}.workspace-bg .orb-2{width:500px;height:500px;bottom:-180px;right:-100px;background:radial-gradient(circle,rgba(247,162,106,.4) 0%,transparent 70%);animation:orbFloat 10s ease-in-out infinite alternate-reverse}.workspace-bg .orb-3{width:400px;height:400px;top:40%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(106,173,247,.2) 0%,transparent 70%);animation:orbFloat 12s ease-in-out infinite alternate}@keyframes orbFloat{0%{transform:translate(0) scale(1)}to{transform:translate(20px,-20px) scale(1.05)}}.workspace-bg .bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px}.workspace-header{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:52px;gap:8px}.workspace-account-area{position:absolute;top:20px;right:24px}.workspace-signin-btns{display:flex;gap:8px}.workspace-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;font-family:var(--font-ui);font-size:14px;font-weight:500;border-radius:var(--radius-md);cursor:pointer;border:none;transition:all var(--transition-fast)}.workspace-btn-ghost{color:var(--text-secondary);background:#ffffff0d;border:1px solid var(--border-subtle)}.workspace-btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-medium)}.workspace-btn-primary{color:#fff;background:var(--accent-novel)}.workspace-btn-primary:hover{filter:brightness(1.1)}.workspace-user-bottom{display:flex;justify-content:center;margin-top:16px;z-index:10}.workspace-user{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);padding:6px 16px;border-radius:30px;box-shadow:0 4px 12px #0000001a}.workspace-name-display{display:flex;align-items:center;gap:6px;cursor:pointer;border-radius:var(--radius-sm);padding:4px 6px;margin:-4px -6px;transition:background var(--transition-fast)}.workspace-name-display:hover{background:var(--bg-hover)}.workspace-user-name{font-size:14px;font-weight:500;color:var(--text-primary)}.workspace-edit-icon{width:14px;height:14px;color:var(--text-muted);opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.workspace-name-display:hover .workspace-edit-icon{opacity:1;color:var(--text-secondary)}.workspace-name-edit{display:flex;align-items:center;gap:4px}.workspace-name-input{background:var(--bg-deep);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);padding:4px 8px;font-size:13px;width:140px}.workspace-name-input:focus{outline:none;border-color:var(--accent-novel)}.workspace-name-action{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.workspace-name-action:hover{background:var(--bg-hover);color:var(--text-primary)}.workspace-name-action.cancel:hover{color:#f76a6a}.workspace-signout-btn{padding:4px 8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500}.workspace-signout-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.workspace-brand{display:flex;flex-direction:column;align-items:center;gap:8px}.workspace-brand .logo-mark{font-size:28px;color:var(--accent-novel);animation:spin 20s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.workspace-brand .app-name{font-family:var(--font-serif);font-size:clamp(36px,5vw,56px);font-weight:600;color:var(--text-primary);letter-spacing:-.02em;line-height:1}.workspace-brand .app-name-tilde{color:var(--accent-novel);font-style:italic}.workspace-brand .app-tagline{font-size:15px;color:var(--text-muted)}.workspace-downloads{margin-top:12px;display:flex;gap:12px;align-items:center;justify-content:center}.workspace-download-btn{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary);background:#ffffff0d;padding:8px 16px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);text-decoration:none;font-weight:500;transition:all var(--transition-fast)}.workspace-download-btn:hover{background:var(--bg-hover);border-color:var(--accent-novel);color:#fff}.workspace-download-btn.mac:hover{border-color:#a9b1d6}.module-grid-wrapper{position:relative;z-index:1;width:100%;max-width:820px;padding:32px 0;flex:1;display:flex;align-items:center}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}@media(max-width:600px){.module-grid{grid-template-columns:1fr}}.module-card{position:relative;background:transparent;border:none;padding:0;cursor:pointer;border-radius:var(--radius-xl);text-align:left;overflow:hidden;transition:transform var(--transition-base)}.module-card:hover{transform:translateY(-4px)}.card-glow-border{position:absolute;inset:0;border-radius:var(--radius-xl);padding:1.5px;background:linear-gradient(135deg,var(--card-color),transparent 60%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;pointer-events:none;opacity:.6;transition:opacity var(--transition-base)}.module-card:hover .card-glow-border{opacity:1}.card-inner{background:var(--bg-card);border-radius:var(--radius-xl);padding:24px 24px 20px;height:100%;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:background var(--transition-base);box-shadow:0 0 0 0 var(--card-glow)}.module-card:hover .card-inner{background:var(--bg-elevated);box-shadow:0 0 40px 0 var(--card-glow)}.card-inner:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top left,var(--card-glow) 0%,transparent 60%);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.module-card:hover .card-inner:before{opacity:1}.card-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--card-color);opacity:.7}.card-icon-wrapper{width:52px;height:52px;border-radius:var(--radius-md);background:rgba(var(--card-glow),.1);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.07);margin-bottom:4px}.card-icon{color:var(--card-color);display:flex;align-items:center;justify-content:center;transition:transform var(--transition-base)}.module-card:hover .card-icon{transform:scale(1.1)}.card-name{font-family:var(--font-ui);font-size:18px;font-weight:600;color:var(--text-primary)}.card-description{font-size:13px;color:var(--text-secondary);line-height:1.6;flex:1}.card-cta{font-size:12px;font-weight:600;color:var(--card-color);display:flex;align-items:center;gap:4px;opacity:0;transform:translate(-8px);transition:all var(--transition-base)}.module-card:hover .card-cta{opacity:1;transform:translate(0)}.cta-arrow{transition:transform var(--transition-fast)}.module-card:hover .cta-arrow{transform:translate(3px)}.workspace-footer{position:relative;z-index:1;display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted);padding:16px 0 24px}.workspace-home-link{color:var(--text-muted);text-decoration:none}.workspace-home-link:hover{color:var(--text-primary)}.footer-dot{opacity:.4}.privacy-page{height:100vh;background:var(--bg-void);color:var(--text-primary);display:flex;flex-direction:column;align-items:center;padding:0 24px;overflow-y:auto}.privacy-header{width:100%;max-width:800px;display:flex;align-items:center;justify-content:space-between;padding:32px 0;border-bottom:1px solid var(--border-subtle)}.privacy-header .logo-mark{font-size:24px;color:var(--accent-novel)}.privacy-title{font-family:var(--font-serif);font-size:24px;font-weight:600}.privacy-title .tilde{color:var(--accent-novel);font-style:italic}.privacy-content{width:100%;max-width:800px;padding:48px 0;flex:1}.privacy-content h2{font-size:36px;margin:0 0 8px;color:var(--text-primary)}.privacy-content .last-updated{font-size:14px;color:var(--text-muted);margin:0 0 48px}.privacy-content h3{font-size:20px;color:var(--accent-novel);margin:0 0 16px;padding-top:16px}.privacy-content h4{font-size:16px;color:var(--text-primary);margin:24px 0 8px}.privacy-content p{font-size:16px;line-height:1.6;color:var(--text-secondary);margin:0 0 24px}.privacy-content ul{margin:0 0 24px 24px;color:var(--text-secondary);line-height:1.6}.privacy-content li{margin-bottom:8px}.privacy-content a{color:var(--accent-world);text-decoration:none}.privacy-content a:hover{text-decoration:underline}.privacy-footer{width:100%;max-width:800px;display:flex;align-items:center;justify-content:center;gap:12px;padding:32px 0;border-top:1px solid var(--border-subtle);font-size:13px;color:var(--text-muted)}.privacy-footer .footer-dot{opacity:.4}.stats-page-container{padding:2rem 4rem;max-width:1200px;margin:0 auto;color:var(--text-primary);height:100vh;overflow-y:auto}.stats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.stats-header h1{font-size:2rem;font-weight:700;color:#fff;margin:0}.stats-back-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:.5rem;border-radius:6px;transition:all .2s}.stats-back-btn:hover{color:#fff;background:#ffffff0d}.manual-log-btn{display:flex;align-items:center;gap:.5rem;background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.manual-log-btn:hover{background:#2563eb}.stats-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2.5rem}.metric-card{background:var(--bg-surface-1);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 4px 6px #0003}.metric-icon{width:60px;height:60px;border-radius:12px;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.streak-card .metric-icon{background:#f973161a}.today-card .metric-icon{background:#3b82f61a}.breakdown-card .metric-icon{background:#8b5cf61a}.metric-info h3{margin:0;font-size:.9rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.metric-value{margin:.5rem 0 0;font-size:2rem;font-weight:700;color:#fff}.metric-value span{font-size:1rem;font-weight:400;color:var(--text-secondary)}.stats-main-content{display:flex;flex-direction:column;gap:2.5rem}.stats-panel{background:var(--bg-surface-1);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.stats-panel h2{margin:0;font-size:1.25rem;color:#fff;font-weight:600}.panel-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.goal-edit-btn{background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.goal-edit-btn:hover{background:#408cff1a;border-color:#408cff;color:#fff}.goal-input-wrapper{display:flex;gap:8px}.goal-input{width:100px;background:var(--bg-surface-2);border:1px solid var(--border-color);color:#fff;padding:4px 8px;border-radius:4px;font-size:.9rem}.goal-save-btn{background:#408cff;color:#fff;border:none;padding:4px 12px;border-radius:4px;font-size:.85rem;cursor:pointer}.chart-container{width:100%}.heatmap-container{margin-bottom:1rem;overflow-x:auto;display:block;width:100%}.custom-heatmap-container{padding-top:.5rem}.daily-wins-month-row{position:relative;margin-left:64px;min-width:max-content;height:28px;margin-bottom:10px}.daily-wins-month-label{position:absolute;left:calc((var(--week-index) / var(--week-count)) * 100%);transform:translate(0);font-size:.95rem;font-weight:700;color:#cbd5e1;letter-spacing:.02em}.daily-wins-grid-shell{display:flex;align-items:flex-start;gap:12px;min-width:max-content}.daily-wins-weekdays{display:grid;grid-template-rows:repeat(7,28px);width:52px;flex-shrink:0}.daily-wins-weekday-label{display:flex;align-items:center;justify-content:flex-end;font-size:.95rem;font-weight:600;color:#94a3b8;padding-right:4px}.daily-wins-weeks{display:flex;gap:4px}.daily-wins-week-column{display:grid;grid-template-rows:repeat(7,28px);gap:4px}.daily-wins-day{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;line-height:1;color:#cbd5e1;border:1px solid rgba(255,255,255,.05);-webkit-user-select:none;user-select:none}.daily-wins-day.out-of-range{opacity:0;pointer-events:none}.daily-wins-day.color-empty{background:#2e2e36;color:#7c8397}.daily-wins-day.color-scale-1{background:#0e4429;color:#d1fae5}.daily-wins-day.color-scale-2{background:#006d32;color:#d1fae5}.daily-wins-day.color-scale-3{background:#26a641;color:#ecfdf5}.daily-wins-day.color-scale-4{background:#39d353;color:#052e16}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.legend-boxes{display:flex;gap:4px}.legend-box{width:12px;height:12px;border-radius:2px}.legend-box.color-empty{background:#2e2e36}.legend-box.color-scale-1{background:#0e4429}.legend-box.color-scale-2{background:#006d32}.legend-box.color-scale-3{background:#26a641}.legend-box.color-scale-4{background:#39d353}.liked-posts-section{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.liked-posts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.liked-posts-header h3{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;color:#fff}.liked-posts-header span{font-size:.85rem;color:var(--text-secondary)}.liked-posts-empty{margin:0;color:var(--text-secondary);font-size:.92rem}.liked-posts-list{display:flex;flex-direction:column;gap:.75rem}.liked-post-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;background:#ffffff08;border:1px solid var(--border-color);border-radius:10px;padding:.9rem 1rem;cursor:pointer;transition:all .2s ease}.liked-post-item:hover{border-color:#ff408159;background:#ff40810f}.liked-post-copy{display:flex;flex-direction:column;gap:.25rem;min-width:0}.liked-post-copy strong{color:#fff;font-size:.95rem;line-height:1.35}.liked-post-copy span{color:var(--text-secondary);font-size:.82rem}.liked-post-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0;color:var(--text-secondary);font-size:.8rem}.liked-post-meta span{display:inline-flex;align-items:center;gap:.35rem}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.log-modal{background:var(--bg-surface-1);border:1px solid var(--border-color);border-radius:12px;padding:2rem;width:100%;max-width:400px}.log-modal h2{margin:0 0 .5rem;color:#fff}.log-modal p{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem}.form-group input{width:100%;background:var(--bg-surface-2);border:1px solid var(--border-color);color:#fff;padding:.75rem;border-radius:6px;font-size:1rem}.form-group input:focus{outline:none;border-color:var(--primary-color)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn-cancel{background:none;border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.btn-cancel:hover{background:#ffffff0d}.btn-submit{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.btn-submit:hover{background:#2563eb}.badges-panel{display:flex;flex-direction:column;gap:1.5rem}.badges-panel h2{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.25rem;color:#fff;font-weight:600}.no-badges-message{color:var(--text-secondary);font-size:.95rem;font-style:italic;margin:1rem 0 0;text-align:center;padding:1rem;opacity:.7}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}.badge-item{background:linear-gradient(135deg,#fbbf241a,#f59e0b0d);border:1px solid rgba(251,191,36,.3);border-radius:12px;padding:1.25rem;text-align:center;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.75rem}.badge-item:hover{background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border-color:#fbbf2480;transform:translateY(-2px);box-shadow:0 8px 16px #fbbf2426}.badge-icon{font-size:2rem;display:flex;align-items:center;justify-content:center}.badge-label{margin:0;color:#fff;font-size:.95rem;font-weight:500;line-height:1.4}@media(max-width:768px){.stats-page-container{padding:1.5rem 1rem}.stats-header{flex-direction:column;gap:1.5rem;text-align:center;justify-content:center}.stats-header h1{font-size:1.75rem;order:-1}.manual-log-btn{display:none}.stats-metrics-grid{grid-template-columns:1fr}.daily-wins-month-row{margin-left:52px}.daily-wins-weekdays{width:42px}.daily-wins-weekday-label{font-size:.82rem}.daily-wins-day{width:24px;height:24px;font-size:.62rem}.liked-post-item{flex-direction:column;align-items:flex-start}.liked-post-meta{width:100%;justify-content:flex-start;flex-wrap:wrap}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.badge-item{padding:1rem}.badge-icon{font-size:1.5rem}.badge-label{font-size:.85rem}.chart-container,.heatmap-container{overflow-x:auto;padding-bottom:1rem;-webkit-overflow-scrolling:touch}.chart-container>div{min-width:600px}.react-calendar-heatmap{min-width:700px}.desktop-only{display:none!important}}.doc-dropdown-menu{position:absolute;top:100%;margin-top:8px;background:#1e1e1e;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 10px 25px #00000080;min-width:220px;max-width:300px;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.doc-dropdown-header{padding:10px 14px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.05)}.doc-dropdown-header span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff6}.doc-dropdown-list{max-height:300px;overflow-y:auto;padding:6px}.doc-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:4px;color:#ffffffb3;cursor:pointer;text-align:left;transition:all .2s ease}.doc-dropdown-item:hover{background:#ffffff0d;color:#fff}.doc-dropdown-item.is-active{background:#ffffff14;color:#fff}.doc-dropdown-item .doc-icon{opacity:.5}.doc-dropdown-item:hover .doc-icon{opacity:1}.doc-dropdown-item .doc-name{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-dropdown-item .active-check{color:#4caf50}.doc-dropdown-footer{padding:8px;background:#ffffff05;border-top:1px solid rgba(255,255,255,.05)}.doc-dropdown-add-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:#ffffff0d;border:1px dashed rgba(255,255,255,.1);border-radius:4px;color:#ffffff80;font-size:12px;cursor:pointer;transition:all .2s ease}.doc-dropdown-add-btn:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.doc-dropdown-create-form{display:flex;flex-direction:column;gap:8px}.doc-dropdown-create-form input{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:8px 10px;color:#fff;font-size:13px;width:100%}.doc-dropdown-create-form input:focus{outline:none;border-color:#6aadf7}.doc-dropdown-create-form .form-actions{display:flex;justify-content:flex-end}.doc-dropdown-create-form .btn-confirm{background:#6aadf7;color:#fff;border:none;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer}.global-toolbar{height:var(--toolbar-height, 56px);background:#111;border-bottom:1px solid rgba(255,255,255,.05);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;z-index:1000;position:relative;-webkit-user-select:none;user-select:none}.toolbar-left{display:flex;align-items:center;gap:12px}.toolbar-project-info{display:flex;align-items:center}.toolbar-project-info .proj-name{font-size:14px;font-weight:600;color:#ffffffe6;white-space:nowrap;padding:2px 6px;border-radius:4px;transition:background .2s ease}.toolbar-project-info .proj-name.clickable:hover{background:#ffffff0d;cursor:text}.toolbar-project-info .name-separator{color:#fff3;margin:0 4px;font-size:14px}.toolbar-project-info .doc-name{font-size:14px;font-weight:400;color:#fff9;white-space:nowrap;padding:2px 6px;border-radius:4px;transition:all .2s ease}.toolbar-project-info .doc-name.clickable:hover{background:#ffffff0d;color:#ffffffe6;cursor:text}.toolbar-rename-input{background:#ffffff1a;border:none;outline:none;color:#fff;font-size:14px;font-weight:600;padding:2px 6px;border-radius:4px;width:auto;min-width:50px;max-width:250px}.toolbar-rename-input.doc-rename{font-weight:400;color:#fffc}.toolbar-divider{width:1px;height:24px;background:#ffffff1a}.toolbar-center-nav{display:flex;align-items:center;gap:12px;justify-content:center}.doc-tabs-container{display:flex;align-items:center;gap:4px;background:#0003;padding:6px;border-radius:8px;border:1px solid rgba(255,255,255,.03);overflow-x:auto;max-width:50vw}.doc-tabs-container::-webkit-scrollbar{display:none}.add-new-wrapper{position:relative;flex-shrink:0}.doc-tab-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:6px;color:#ffffff80;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;max-width:180px}.doc-tab-btn:hover{background:#ffffff0d;color:#fffc}.doc-tab-btn.active{background:rgba(var(--mod-color-rgb, 255, 255, 255),.1);border-color:rgba(var(--mod-color-rgb, 255, 255, 255),.3);color:var(--mod-color);box-shadow:0 0 15px rgba(var(--mod-color-rgb, 255, 255, 255),.05)}.tab-icon{display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease}.doc-tab-btn.active .tab-icon{opacity:1}.tab-name{overflow:hidden;text-overflow:ellipsis}.add-new-nav-btn{display:flex;align-items:center;gap:6px;padding:6px 16px;background:transparent;border:1px dashed rgba(255,255,255,.2);border-radius:6px;color:#fff9;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-new-nav-btn:hover{border-color:#ffffff80;color:#fff;background:#ffffff0d}.nav-chevron{transition:transform .2s ease}.nav-chevron.open{transform:rotate(180deg)}.add-new-dropdown{position:absolute;top:calc(100% + 12px);right:0;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:8px;width:200px;box-shadow:0 10px 30px #00000080;z-index:2000;display:flex;flex-direction:column;gap:4px}.add-new-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;text-align:left;transition:all .2s ease}.add-new-option:hover{background:#ffffff0d;color:var(--hover-color)}.add-option-icon{display:flex;opacity:.7}.add-new-option:hover .add-option-icon{opacity:1}.toolbar-right{display:flex;align-items:center;justify-content:flex-end;gap:8px}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#fff9;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:#ffffff0d;color:#fff}.stat-pill{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:100px;color:#ffffff80;font-size:11px;font-weight:500}.btn-ghost{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:6px;color:#fff9;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-ghost:hover{background:#ffffff0d;color:#fff;border-color:#ffffff0d}.toolbar-stats{display:flex;align-items:center;gap:8px}.export-menu-wrapper{position:relative}.export-menu-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:210px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:6px;box-shadow:0 12px 30px #00000073;z-index:2500;display:flex;flex-direction:column;gap:4px}.export-menu-option{border:none;background:transparent;color:var(--text-primary);text-align:left;font-size:13px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.export-menu-option:hover{background:#ffffff12;color:#fff}@media(max-width:768px){.nav-text,.toolbar-project-info,.toolbar-center-nav{display:none}.global-toolbar{grid-template-columns:auto 1fr;padding:0 8px;gap:8px}.toolbar-left{gap:8px;min-width:0}.toolbar-right{margin-left:auto;gap:4px;min-width:0}.btn-ghost{padding:6px 8px;font-size:12px;gap:6px}.stat-pill{display:none}}@media(max-width:480px){.toolbar-right .btn-ghost{font-size:0!important;padding:7px;gap:0;flex-shrink:0}.toolbar-right .btn-ghost svg{width:18px;height:18px}.toolbar-right{gap:2px;overflow:visible}}.sidebar-engine{display:flex;flex-direction:column;height:100%;background:var(--bg-surface);border-right:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.sidebar-mobile-nav{display:none;flex-direction:column;border-bottom:1px solid var(--border-subtle);background:var(--bg-card)}.sidebar-mobile-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 4px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.mobile-nav-btn:hover{border-color:var(--mod-color);background:var(--bg-hover)}.mobile-nav-btn.active{background:rgba(var(--mod-color-rgb),.1);border-color:var(--mod-color);color:var(--mod-color)}.mobile-nav-icon{display:flex;align-items:center;justify-content:center;color:var(--mod-color)}.mobile-nav-label{font-size:10px;font-weight:600;text-align:center;white-space:nowrap}@media(max-width:768px){.sidebar-mobile-nav{display:flex}}.sidebar-section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.sidebar-add-btn{color:var(--mod-color, var(--accent-novel));font-weight:500}.sidebar-tabs{display:flex;justify-content:space-between;padding:12px 16px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle)}.sidebar-tab{flex:1;text-align:center;padding:4px 8px;font-size:13px;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-base)}.sidebar-tab.active{color:var(--mod-color);border-bottom-color:var(--mod-color)}.sidebar-header-actions{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sidebar-add-btn:hover{opacity:1;background:#ffffff0f}.sidebar-list{flex:1;overflow-y:auto;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.sidebar-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);position:relative;min-height:36px;border:1px solid rgba(var(--mod-color-rgb, 124, 106, 247),.25);background:var(--bg-card)}.sidebar-item:hover{background:var(--bg-hover);border-color:rgba(var(--mod-color-rgb, 124, 106, 247),.5)}.sidebar-item.active{background:rgba(var(--mod-color-rgb, 124, 106, 247),.12);border:1px solid var(--mod-color, var(--accent-novel))}.sidebar-item.active .sidebar-item-label{color:var(--text-primary)}.sidebar-item-number{font-size:10px;font-weight:700;color:var(--text-muted);min-width:16px;text-align:right;flex-shrink:0}.sidebar-item-label{flex:1;font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-fast)}.sidebar-item-input{flex:1;background:var(--bg-card);border:1px solid var(--mod-color, var(--accent-novel));border-radius:4px;color:var(--text-primary);font-size:13px;font-family:var(--font-ui);padding:2px 6px;outline:none;min-width:0}.sidebar-item-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.sidebar-item:hover .sidebar-item-actions{opacity:1}.sidebar-action-btn{width:24px;height:24px;color:var(--text-muted);border-radius:4px}.sidebar-action-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.sidebar-action-btn.danger:hover{color:#ef4444;background:#ef44441f}.sidebar-footer{padding:10px 8px;border-top:1px solid var(--border-subtle);flex-shrink:0}.sidebar-footer-btn{width:100%;justify-content:center;background:transparent;color:var(--text-muted);border:1px dashed var(--border-medium);border-radius:var(--radius-sm);font-size:12px;transition:all var(--transition-fast);padding:7px}.sidebar-footer-btn:hover{color:var(--mod-color, var(--accent-novel));border-color:var(--mod-color, var(--accent-novel));border-style:solid;background:#ffffff08}.app-root{display:flex;flex-direction:column;min-height:100vh}.editor-workspace{display:flex;flex:1;min-height:0;position:relative}.sidebar-shell{position:relative;display:flex;flex:0 0 300px;width:300px;min-width:300px;max-width:300px}.sidebar-shell .sidebar-engine{width:100%;min-width:0}.sidebar-collapsed-rail{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;min-width:38px;background:linear-gradient(180deg,rgba(var(--mod-color-rgb, 124, 106, 247),.12),#ffffff05);border-right:1px solid rgba(var(--mod-color-rgb, 124, 106, 247),.18)}.desktop-sidebar-toggle{position:absolute;top:50%;right:-18px;transform:translateY(-50%);width:38px;height:64px;border:1px solid rgba(var(--mod-color-rgb, 124, 106, 247),.48);border-radius:999px;background:linear-gradient(180deg,rgba(var(--mod-color-rgb, 124, 106, 247),.22),#111827f5);color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:12;box-shadow:0 10px 22px #0000004d,0 0 0 4px rgba(var(--mod-color-rgb, 124, 106, 247),.14);transition:transform var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.desktop-sidebar-toggle:hover{color:#fff;border-color:rgba(var(--mod-color-rgb, 124, 106, 247),.82);background:linear-gradient(180deg,rgba(var(--mod-color-rgb, 124, 106, 247),.34),#111827);transform:translateY(-50%) scale(1.08);box-shadow:0 14px 28px #00000057,0 0 0 5px rgba(var(--mod-color-rgb, 124, 106, 247),.18)}.sidebar-collapsed-rail .desktop-sidebar-toggle{position:static;right:auto;transform:none;width:30px;height:72px}.sidebar-collapsed-rail .desktop-sidebar-toggle:hover{transform:scale(1.05)}.editor-main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--bg-deep);min-width:0}.mobile-sidebar-toggle,.mobile-sidebar-overlay{display:none}@media(max-width:768px){.sidebar-shell{display:contents}.sidebar-collapsed-rail,.desktop-sidebar-toggle{display:none}.mobile-sidebar-toggle{display:flex;color:var(--text-primary);margin-right:-4px}.app-root .sidebar-engine{position:fixed;width:85vw!important;max-width:320px;left:0;transform:translate(-100%);top:52px;height:calc(100vh - 52px);transition:transform var(--transition-base);box-shadow:4px 0 16px #00000080}.app-root.mobile-sidebar-open .sidebar-engine{transform:translate(0)}.app-root.mobile-sidebar-open .mobile-sidebar-overlay{display:block;position:fixed;inset:52px 0 0;background:#0006;z-index:calc(var(--z-sidebar) - 1);animation:fadeIn var(--transition-base) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.block-editor-container{display:flex;flex-direction:column}.block-editor-container.is-selection-active{-webkit-user-select:none;user-select:none}.paginated-editor-root{position:relative;width:100%}.visual-pages-layer{position:absolute;inset:0;pointer-events:none;z-index:0}.visual-page-bg{position:absolute;left:0;width:100%;height:1056px;background:var(--paper-bg, #fafaf8);box-shadow:var(--paper-shadow, 0 4px 24px rgba(0, 0, 0, .5));border-radius:0}.paginated-text-layer{position:relative;z-index:1;padding:var(--page-pad-top, 96px) var(--page-pad-x, 80px) var(--page-pad-bottom, 96px);display:flex;flex-direction:column}.paginated-text-layer.is-selection-active{-webkit-user-select:none;user-select:none}@media(max-width:768px){.paginated-text-layer{padding:var(--page-pad-top-mobile, 48px) var(--page-pad-x-mobile, 16px) var(--page-pad-bottom-mobile, 48px)}}.block-wrapper{border-radius:3px;transition:background var(--transition-fast)}.block-wrapper.multi-selected .block-paragraph{background:#7c6af740}.block-paragraph{outline:none;font-family:var(--font-serif);font-size:12pt;line-height:var(--editor-line-height, 1.8);color:var(--text-on-paper);min-height:1em;word-break:break-word;white-space:pre-wrap;tab-size:4;padding:1px 2px;border-radius:2px;transition:background var(--transition-fast)}@media(max-width:1024px){.visual-pages-layer{display:none}}.notes-grid-wrapper{display:flex;flex-direction:column;width:100%;max-width:1200px;padding:0 48px}.notes-grid-header{display:flex;justify-content:flex-end;margin-bottom:24px}.notes-add-btn{display:flex;align-items:center;gap:8px;background:var(--mod-color, var(--accent-novel));color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:filter var(--transition-base)}.notes-add-btn:hover{filter:brightness(1.1)}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.index-card{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);box-shadow:0 4px 12px #0003;display:flex;flex-direction:column;height:280px;position:relative;border-top:8px solid var(--mod-color, var(--accent-novel));transition:transform var(--transition-base),box-shadow var(--transition-base)}.index-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003}.index-card-header{display:flex;align-items:center;padding:12px 16px;border-bottom:2px solid rgba(0,0,0,.05);gap:8px;background:transparent}.index-card-title-input{flex:1;background:transparent;border:none;font-size:16px;font-family:var(--font-serif);font-weight:600;color:#111;outline:none}.index-card-title-input::placeholder{color:#888}.index-card-delete{color:#0000004d;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.index-card:hover .index-card-delete{opacity:1}.index-card-delete:hover{color:#e86a6a}.index-card-body{flex:1;position:relative;padding:0 16px 16px;display:flex;flex-direction:column}.index-card-lines{position:absolute;inset:0;background-image:linear-gradient(#97C6E3 1px,transparent 1px);background-size:100% 28px;background-position:0 27px;pointer-events:none;opacity:.6}.index-card-content{flex:1;background:transparent;border:none;color:#333;font-family:var(--font-ui);font-size:15px;line-height:28px;padding-top:6px;resize:none;outline:none;z-index:1}.index-card-content::placeholder{color:#999}@media(max-width:1200px){.notes-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.notes-grid{grid-template-columns:1fr}}.format-toolbar{height:40px;min-height:40px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:center;align-items:center;padding:0 16px;z-index:var(--z-toolbar);flex-shrink:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:12px}.format-toolbar::-webkit-scrollbar{display:none}.format-toolbar-left,.format-toolbar-center{display:flex;align-items:center;gap:12px;flex-shrink:0}.format-group{display:flex;align-items:center;gap:4px}.format-divider{width:1px;height:20px;background:var(--border-subtle)}.format-btn{min-width:28px;height:28px;padding:0 6px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);font-size:12px;font-weight:600;transition:all var(--transition-fast)}.format-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.format-btn.is-active{background:rgba(var(--mod-color-rgb, 124, 106, 247),.15);color:var(--mod-color, var(--accent-novel))}.format-select{height:28px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;padding:0 8px;cursor:pointer;outline:none}.format-select:hover{border-color:var(--text-muted)}.format-select option{background:var(--bg-surface);color:var(--text-primary)}.color-picker-wrapper{position:relative;width:28px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.color-picker-wrapper:hover{background:var(--bg-hover)}.color-icon{color:var(--text-secondary);pointer-events:none;z-index:1}.color-picker{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.delete-btn:hover{background:#ef44441a!important;color:#ef4444!important}.paginated-novel{background:transparent!important;box-shadow:none!important;padding:0!important;position:relative;min-height:calc(11in + 32px);color:var(--text-on-paper);--page-pad-top: 96px;--page-pad-bottom: 96px;--page-pad-x: 80px;--page-pad-top-mobile: 48px;--page-pad-bottom-mobile: 48px;--page-pad-x-mobile: 16px}.paginated-novel .block-paragraph{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;letter-spacing:normal;word-spacing:normal}.paginated-novel .block-paragraph[style*="text-align: justify"]{text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal;word-break:normal}.novel-sheet-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;gap:16px}.novel-chapter-title{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--accent-novel);letter-spacing:.02em;align-self:flex-start;max-width:var(--paper-width);width:100%;padding:0 4px}.novel-page{padding:96px 80px;width:var(--paper-width)}@media(max-width:1024px){.novel-page{width:100%!important;min-width:0!important}}@media(max-width:768px){.novel-page{padding:48px 16px;width:100%!important;min-width:0!important;border-radius:0!important;box-shadow:none!important}.editor-scroll-area.with-mobile-accessory{padding-bottom:142px}.mobile-keyboard-accessory{position:fixed;left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);z-index:2200;display:flex;justify-content:center;pointer-events:none}.mobile-keyboard-accessory-btn{pointer-events:auto;min-height:38px;padding:8px 16px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:#0c0c0ef0;color:var(--text-primary);font-size:13px;font-weight:600;letter-spacing:.01em;box-shadow:0 10px 28px #00000073;cursor:pointer}}.screenplay-page{padding:96px 96px 96px 144px;width:var(--paper-width);font-family:var(--font-mono)!important}@media(max-width:1024px){.screenplay-page{width:100%!important;min-width:0!important;padding:20px 8px!important}.sp-block{padding-bottom:.9em}.sp-character,.sp-dialogue,.sp-parenthetical,.sp-transition{margin-left:0!important;width:100%!important;text-align:left!important}.sp-content{font-size:11.5pt}}@media(max-width:768px){.screenplay-page{padding:48px 16px}}.paginated-screenplay{background:transparent!important;box-shadow:none!important;padding:0!important;position:relative;min-height:calc(11in + 32px);color:var(--text-on-paper)}.paginated-screenplay .paginated-text-layer{padding:0!important;display:flex;flex-direction:column;position:relative;width:100%}.sp-block{position:relative;padding-bottom:1.2em;border-radius:3px;transition:background var(--transition-fast)}.sp-block.sp-slugline,.sp-block.sp-transition{padding-top:1.2em;padding-bottom:1.2em}.sp-block:first-child.sp-slugline,.sp-block:first-child.sp-transition{padding-top:0}.sp-block .sp-content{padding-left:0!important}.sp-block.selected,.sp-block.multi-selected{background:#7c6af740!important}.sp-type-badge{display:none}.sp-content{outline:none;min-height:1.4em;line-height:1.2;font-family:var(--font-mono)!important;font-size:12pt;color:#000;word-break:break-word;padding:1px 2px}.sp-content:empty:before{content:"​";pointer-events:none}.sp-slugline .sp-content{text-transform:uppercase;letter-spacing:.05em}.sp-character{margin-left:2.2in;width:3.5in;text-align:left;padding-bottom:0!important}.sp-character .sp-content{text-transform:uppercase;text-align:left;display:block;min-width:2px}.sp-dialogue{margin-left:1in;width:3.5in;padding-bottom:1.2em}.sp-parenthetical{margin-left:1.6in;width:2in;text-align:left;padding-bottom:0!important}.sp-parenthetical .sp-content:before{content:"("}.sp-parenthetical .sp-content:after{content:")"}.sp-parenthetical .sp-content{text-align:left;display:block;min-width:2px}.sp-transition{margin-left:4.5in;width:1.5in;text-align:right}.sp-transition.sp-fade-in{margin-left:0;width:100%;text-align:left}.sp-transition .sp-content{text-transform:uppercase}.sp-action .sp-content,.sp-slugline .sp-content{line-height:1.2}.title-page-modal-overlay{position:fixed;inset:0;background:#000000b8;z-index:10000;display:flex;align-items:center;justify-content:center}.title-page-modal{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:12px;padding:28px 32px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #0000008c}.title-page-modal h2{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--text-primary)}.title-page-modal .modal-subtitle{font-size:13px;color:var(--text-muted);margin:0 0 22px}.title-page-field{margin-bottom:14px}.title-page-field label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:6px}.title-page-field .label-optional{font-weight:400;text-transform:none;letter-spacing:0;font-size:11px}.title-page-field input,.title-page-field textarea{width:100%;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;padding:8px 12px;outline:none;transition:border-color .15s ease;box-sizing:border-box}.title-page-field input:focus,.title-page-field textarea:focus{border-color:#f7a26a}.title-page-field textarea{resize:vertical;min-height:80px}.title-page-field .field-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.title-page-section-divider{border:none;border-top:1px solid var(--border-subtle);margin:18px 0}.title-page-modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.tp-btn-cancel{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);padding:8px 18px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .15s ease}.tp-btn-cancel:hover{border-color:var(--text-muted);color:var(--text-primary)}.tp-btn-save{background:#f7a26a;border:none;color:#000;padding:8px 22px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:background .15s ease}.tp-btn-save:hover{background:#f5b580}.comic-page{padding:96px 80px;width:var(--paper-width);font-family:var(--font-mono)!important}@media(max-width:1024px){.comic-page{width:100%!important;min-width:0!important}.paginated-comic .paginated-text-layer{padding:32px 16px!important}.comic-dialogue-block .comic-content{margin-left:20px;margin-right:20px}}@media(max-width:768px){.comic-page{padding:48px 16px}}.paginated-comic{background:transparent!important;box-shadow:none!important;padding:0!important;position:relative;min-height:calc(11in + 32px);color:var(--text-on-paper, #000)}.paginated-comic .paginated-text-layer{padding:96px 80px!important;display:flex;flex-direction:column}.comic-script{width:var(--paper-width);margin-left:auto;margin-right:auto;box-sizing:border-box;position:relative;z-index:1}.comic-block{position:relative;margin-bottom:2px;cursor:text}.comic-content{outline:none;min-height:1.4em;font-family:var(--font-mono)!important;font-size:12pt!important;color:#000!important;word-break:break-word;white-space:pre-wrap;padding:1px 2px;flex:1;line-height:1.1;font-weight:400!important}.comic-content-row{display:flex;align-items:flex-start;width:100%}.comic-page-block{padding-top:0;margin-top:48px;margin-bottom:0;text-align:left}.paginated-text-layer>.comic-page-block:first-child{margin-top:0}.comic-page-label{font-weight:700!important;font-size:14pt!important;margin-bottom:2px;color:#000!important;text-transform:uppercase;text-align:left;font-family:var(--font-mono)!important}.comic-page-block .comic-content{min-height:4px!important;padding-top:0!important;padding-bottom:0!important}.comic-panel-block .comic-content{flex:1}.comic-panel-block{margin-left:0}.comic-panel-prefix{font-weight:700!important;margin-right:8px;text-transform:uppercase;color:#000!important;font-size:12pt!important;font-family:var(--font-mono)!important}.comic-character-block .comic-content-row{justify-content:center}.comic-character-block .comic-content{text-align:center;width:auto;max-width:80%;text-transform:uppercase;font-family:var(--font-mono)!important}.comic-character-block{margin-top:8px;margin-bottom:0!important}.comic-dialogue-block .comic-content{text-align:left;margin-left:172px;margin-right:172px;width:auto}.comic-dialogue-block{margin-bottom:4px!important}.comic-block.selected{background:#6af7b41a}.comic-mode-tabs{display:flex;gap:10px;padding:18px 24px 0;flex-wrap:wrap}.comic-mode-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(106,247,180,.18);background:#0c1424d1;color:var(--text-secondary);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}.comic-mode-tab:hover{color:var(--text-primary);border-color:#6af7b46b;transform:translateY(-1px)}.comic-mode-tab.active{background:linear-gradient(135deg,#6af7b433,#6af7b414);color:#dffff0;border-color:#6af7b48c;box-shadow:0 10px 30px #6af7b424}.storyboard-shell{display:flex;flex-direction:column;gap:18px;padding:18px 24px 28px;min-height:0;flex:1;overflow:hidden}.storyboard-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.storyboard-pages-strip{display:flex;align-items:center;gap:10px;overflow-x:auto;padding-bottom:4px}.storyboard-page-chip,.storyboard-page-add,.storyboard-asset-btn,.storyboard-delete-page{border:1px solid rgba(255,255,255,.1);background:#141d32e6;color:var(--text-primary);border-radius:12px;padding:10px 14px;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-fast)}.storyboard-page-chip:hover,.storyboard-page-add:hover,.storyboard-asset-btn:hover,.storyboard-delete-page:hover{border-color:#6af7b45c;background:#1c2743f5;transform:translateY(-1px)}.storyboard-page-chip.active{border-color:#6af7b48c;background:linear-gradient(135deg,#6af7b42e,#1a273dfa)}.storyboard-page-add,.storyboard-asset-btn{display:inline-flex;align-items:center;gap:8px}.storyboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;min-height:0;flex:1}.storyboard-canvas{display:flex;justify-content:center;align-items:flex-start;position:relative;min-height:560px;border-radius:24px;overflow:auto;border:1px solid rgba(106,247,180,.18);background:radial-gradient(circle at top left,rgba(106,247,180,.12),transparent 28%),linear-gradient(180deg,#ffffff0a,#ffffff03),#0c1324;box-shadow:inset 0 1px #ffffff0a,0 20px 60px #00000038;padding:24px}.storyboard-sheet{position:relative;width:780px;min-width:780px;height:1100px;background:#fbfbf7;border:1px solid rgba(0,0,0,.1);box-shadow:0 24px 48px #00000038;overflow:hidden;background-image:linear-gradient(180deg,rgba(0,0,0,.025),transparent 160px),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}.storyboard-sheet-label{position:absolute;left:28px;top:16px;color:#00000070;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.storyboard-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#00000085;font-size:14px;letter-spacing:.02em;pointer-events:none;text-align:center;padding:80px}.storyboard-element{position:absolute;border-radius:18px;box-shadow:0 12px 30px #0000002e;overflow:visible;-webkit-user-select:none;user-select:none;z-index:2}.storyboard-element.panel{z-index:1;background:transparent;border:none;box-shadow:none}.storyboard-element.stick{z-index:3;display:flex;align-items:center;justify-content:center;background:transparent;border:none;box-shadow:none}.storyboard-element.bubble{z-index:4;background:transparent;border:none;box-shadow:none}.storyboard-element.image{border:2px solid #111111;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 10px 24px #00000029}.storyboard-element.selected{outline:2px solid rgba(106,247,180,.65);outline-offset:4px}.storyboard-element-label{position:absolute;left:12px;top:10px;color:#0009;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.storyboard-panel-gloss{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 30%,transparent 70%,rgba(0,0,0,.05));pointer-events:none}.storyboard-panel-surface{position:absolute;inset:6px;border:3px solid #111111;border-radius:6px;background:linear-gradient(180deg,#fff,#efefef);box-shadow:0 8px 18px #00000024;overflow:hidden}.storyboard-stick-figure{width:100%;height:100%;overflow:visible}.storyboard-stick-figure circle,.storyboard-stick-figure path{stroke:#101010;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;fill:none}.storyboard-object-graphic{width:100%;height:100%;overflow:visible}.storyboard-object-graphic path,.storyboard-object-graphic circle{stroke:#111;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;fill:none}.storyboard-user-image{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff}.storyboard-bubble-shell{position:relative;width:100%;height:100%;background:#fff;border:3px solid #111111;border-radius:999px;box-shadow:0 10px 22px #00000024}.storyboard-bubble-shell:before,.storyboard-bubble-shell:after{content:"";position:absolute;bottom:-18px;width:24px;height:24px;background:#fff;border:3px solid #111111;border-radius:50%}.storyboard-bubble-shell:after{bottom:-34px;width:14px;height:14px}.storyboard-bubble-shell.tail-left:before,.storyboard-bubble-shell.tail-left:after{left:24px}.storyboard-bubble-shell.tail-left:after{left:12px}.storyboard-bubble-shell.tail-right:before,.storyboard-bubble-shell.tail-right:after{right:24px}.storyboard-bubble-shell.tail-right:after{right:12px}.storyboard-element textarea{width:100%;height:100%;border:none;resize:none;outline:none;background:transparent;padding:18px 22px 26px;font:inherit;color:#172033;line-height:1.45;text-align:center}.storyboard-resize-handle{position:absolute;right:8px;bottom:8px;width:22px;height:22px;border:none;border-radius:8px;background:#0000002e;color:#fff;cursor:nwse-resize;display:inline-flex;align-items:center;justify-content:center;z-index:4}.storyboard-element-action{border:none;border-radius:999px;padding:6px 10px;background:#101827eb;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;cursor:pointer}.storyboard-element-action.danger{background:#6a1c1cf5}.storyboard-asset-panel{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:20px;border:1px solid rgba(106,247,180,.14);background:linear-gradient(180deg,#131c2ffa,#0d1424fa);box-shadow:0 18px 50px #0003}.storyboard-panel-copy{margin:0 0 8px;color:var(--text-secondary);font-size:13px;line-height:1.5}.storyboard-selection-panel{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(106,247,180,.18);background:#0a101eb8}.storyboard-selection-title{color:var(--text-primary);font-size:13px;font-weight:700;text-transform:capitalize}.storyboard-selection-actions{display:flex;flex-direction:column;gap:8px}.storyboard-control-field{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:12px}.storyboard-control-field span{text-transform:uppercase;letter-spacing:.08em}.storyboard-control-field select,.storyboard-control-field input[type=range],.storyboard-control-field input[type=color]{width:100%}.storyboard-control-field select{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text-primary);padding:8px 10px}.storyboard-control-field select option{color:#111;background:#fff}.storyboard-control-field.compact input[type=color]{min-height:36px;padding:0;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:10px}.storyboard-control-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.storyboard-asset-panel h4{margin:6px 0 0;color:var(--text-secondary);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.storyboard-asset-btn{width:100%;justify-content:flex-start}.storyboard-delete-page{margin-top:auto;color:#ffd9d9;border-color:#e86a6a38;background:#48121280}@media(max-width:1024px){.storyboard-layout{grid-template-columns:1fr}.storyboard-asset-panel{order:-1}}@media(max-width:768px){.comic-mode-tabs,.storyboard-shell{padding-left:16px;padding-right:16px}.storyboard-shell{padding-bottom:20px}.storyboard-canvas{min-height:420px;padding:12px}}.audio-page{padding:96px 80px;width:var(--paper-width);font-family:var(--font-mono)!important}@media(max-width:1024px){.audio-page{width:100%!important;min-width:0!important}.paginated-audio .paginated-text-layer{padding:32px 16px!important}.audio-dialogue-block .audio-content{margin-left:20px;margin-right:20px}}@media(max-width:768px){.audio-page{padding:48px 16px}}.paginated-audio{background:transparent!important;box-shadow:none!important;padding:0!important;position:relative;color:var(--text-on-paper, #000);min-height:calc(11in + 32px)}.paginated-audio .paginated-text-layer{padding:96px 80px!important;display:flex;flex-direction:column}.audio-block{position:relative;cursor:text;margin-bottom:1em}.audio-content{outline:none;min-height:1.4em;font-family:var(--font-mono)!important;font-size:12pt!important;color:#000!important;word-break:break-word;white-space:pre-wrap;flex:1;line-height:1.25;font-weight:400!important}.audio-content-row{display:flex;flex-direction:row;align-items:flex-start;gap:4px}.audio-block-prefix{font-family:var(--font-mono)!important;font-size:12pt!important;font-weight:400!important;text-transform:uppercase;text-decoration:underline;color:#000!important;white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1.25}.audio-block.selected{background:#6af7b41a}.audio-block.multi-selected{background:#6af7b433}.audio-scene-heading-block .audio-content{text-align:left;font-weight:700!important;text-transform:uppercase;margin-left:0}.audio-sfx-block .audio-content,.audio-music-block .audio-content{text-align:left;text-transform:uppercase;text-decoration:underline;margin-left:0}.audio-narration-block .audio-content{text-align:left;margin-left:0}.audio-character-block{margin-bottom:0!important;display:flex;justify-content:center}.audio-character-block .audio-content{text-align:center;text-transform:uppercase;width:fit-content;min-width:140px}.audio-dialogue-block{margin-bottom:1em!important}.audio-dialogue-block .audio-content{text-align:left;margin-left:140px;margin-right:140px}.wb-page{width:var(--paper-width)!important}@media(max-width:1024px){.wb-page{width:100%!important;min-width:0!important}.paginated-wb .paginated-text-layer{padding:32px 16px!important}}.paginated-wb{background:transparent!important;box-shadow:none!important;padding:0!important;position:relative;color:var(--text-on-paper, #000)}.paginated-wb .paginated-text-layer{padding:96px 80px!important;display:flex;flex-direction:column}@media(max-width:768px){.paginated-wb .paginated-text-layer{padding:48px 16px!important}}.wb-editor-body{display:flex;flex-direction:column;gap:2px}.wb-block{position:relative;border-radius:4px;padding:2px 4px;cursor:text;transition:background .1s ease}.wb-block.selected{background:#6aadf740}.wb-content{outline:none;width:100%;min-height:1.5em;word-break:break-word;white-space:pre-wrap;caret-color:#6aadf7}.wb-content:empty:before{content:attr(data-placeholder);color:#0003;pointer-events:none}.wb-h1{margin-top:32px;margin-bottom:4px}.wb-h1:first-child{margin-top:0}.wb-h1 .wb-content{font-family:Inter,Segoe UI,sans-serif;font-size:26px;font-weight:700;line-height:1.25;color:#111;padding-bottom:6px}.wb-h2{margin-top:20px;margin-bottom:2px}.wb-h2 .wb-content{font-family:Inter,Segoe UI,sans-serif;font-size:18px;font-weight:600;line-height:1.3;color:#222}.wb-paragraph .wb-content{font-family:Inter,Segoe UI,sans-serif;font-size:15px;font-weight:400;line-height:1.7;color:#2a2a2a}[data-theme=dark] .wb-h1 .wb-content{color:#f0f0f0}[data-theme=dark] .wb-h1 .wb-content{border-bottom-color:#6aadf733}[data-theme=dark] .wb-h2 .wb-content{color:#e0e0e0}[data-theme=dark] .wb-paragraph .wb-content{color:#c8c8c8}[data-theme=dark] .wb-content:empty:before{color:#fff3}.moodboard-root{background:#0d0d14}.moodboard-workspace{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.moodboard-tools-overlay{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:100;background:#14141ecc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);padding:6px 12px;border-radius:40px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px #0006}.mood-swatches{display:flex;align-items:center;gap:6px}.mood-swatch-custom-wrapper{position:relative;width:18px;height:18px}.mood-swatch-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.mood-swatch-custom{position:absolute;inset:0;background:conic-gradient(from 0deg,red,#ff0,green,#0ff,#00f,#f0f,red);border-radius:50%;pointer-events:none;display:flex;align-items:center;justify-content:center}.mood-swatch-custom:after{content:"+";color:#fff;font-size:14px;font-weight:700;text-shadow:0 0 2px rgba(0,0,0,.5)}.mood-swatch{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.mood-swatch:hover{transform:scale(1.3);border-color:#fff6}.mood-upload-btn{cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px}.moodboard-canvas{flex:1;position:relative;cursor:crosshair;background:#0d0d14;background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,.05) 1px,transparent 0);background-size:40px 40px}.moodboard-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-muted);font-size:14px;text-align:center;pointer-events:none}.mood-item{position:absolute;cursor:grab;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 20px #00000080;background:#1a1a24;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.mood-item:hover{box-shadow:0 8px 32px #000000b3;z-index:10}.mood-item.is-dragging,.mood-item.is-resizing{cursor:grabbing;box-shadow:0 20px 40px #000c;transform:scale(1.02);z-index:100;transition:none}.mood-item-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:nwse-resize;z-index:20;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.2) 50%);opacity:0;transition:opacity var(--transition-fast)}.mood-item:hover .mood-item-resize-handle,.mood-item.is-resizing .mood-item-resize-handle{opacity:1}.mood-item-delete{position:absolute;top:6px;right:6px;width:20px;height:20px;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast);z-index:11}.mood-item:hover .mood-item-delete{opacity:1}.mood-color-block{width:100%;height:100%;display:flex;align-items:flex-end;padding:12px}.mood-color-label{font-size:11px;font-weight:700;color:#ffffffe6;letter-spacing:.1em;text-shadow:0 1px 4px rgba(0,0,0,.8);font-family:var(--font-mono);text-transform:uppercase}.mood-image{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.mood-note-wrapper{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.mood-note-drag-handle{flex-shrink:0;height:28px;display:flex;align-items:center;justify-content:center;cursor:grab;background:#00000040;border-bottom:1px solid rgba(255,255,255,.08);color:#fff6;transition:background var(--transition-fast),color var(--transition-fast)}.mood-note-drag-handle:hover{background:#0006;color:#fff9}.mood-item.is-dragging .mood-note-drag-handle,.mood-item.is-resizing .mood-note-drag-handle{cursor:grabbing}.mood-text{flex:1;min-height:0;background:#1e1e32f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-family:var(--font-ui);font-size:14px;line-height:1.6;padding:12px 16px;outline:none;overflow-y:auto}
