:root{--font-weight-base: 500;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-base: var(--ant-font-size, 16px);--line-height-base: 1.5;--ant-border-radius-md: 8px;--ant-border-radius-xl: 20px;font-family:var(--ant-font-family, "Inter", sans-serif);font-size:var(--ant-font-size, 16px);font-weight:var(--font-weight-base);line-height:var(--ant-line-height, 1.5);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}*{box-sizing:border-box;font-family:inherit;font-size:inherit;font-weight:inherit}body{margin:0;padding:0;min-width:320px;min-height:100vh;font-family:var(--ant-font-family, "Inter", sans-serif);font-size:var(--ant-font-size, 16px);font-weight:var(--font-weight-base);line-height:var(--ant-line-height, 1.5)}#root{width:100%;min-height:100vh;font-family:var(--ant-font-family, "Inter", sans-serif);font-size:var(--ant-font-size, 16px);font-weight:var(--font-weight-base)}.ant-btn-primary{background:var(--app-primary-fill, var(--ant-color-primary))!important;border-color:transparent!important;transition:box-shadow .2s,transform .2s!important}.ant-btn-primary:hover{background:var(--app-primary-fill, var(--ant-color-primary))!important;border-color:transparent!important;filter:brightness(1.08)}.ant-btn-primary:active{background:var(--app-primary-fill, var(--ant-color-primary))!important;border-color:transparent!important;filter:brightness(.95)}.ant-btn-primary:disabled,.ant-btn-primary.ant-btn-disabled{background:#0000000a!important;border-color:#00000026!important;color:#00000040!important;opacity:1!important;cursor:not-allowed!important;filter:none!important}[data-theme=dark] .ant-btn-primary:disabled,[data-theme=dark] .ant-btn-primary.ant-btn-disabled{background:#ffffff14!important;border-color:#ffffff26!important;color:#ffffff4d!important}.ant-progress-bg,.ant-slider-track,.ant-switch.ant-switch-checked{background:var(--app-primary-fill, var(--ant-color-primary))!important}.ant-radio-button-wrapper-checked,.ant-checkbox-checked .ant-checkbox-inner{background:var(--app-primary-fill, var(--ant-color-primary))!important;border-color:var(--ant-color-primary)!important}.ant-tag.ant-tag-blue,.ant-tag[data-color=blue]{background:var(--app-primary-fill, var(--ant-color-primary))!important;border-color:transparent!important}.ant-pagination-item-active,.ant-steps-item-process .ant-steps-item-icon{background:var(--app-primary-fill, var(--ant-color-primary))!important;border-color:var(--ant-color-primary)!important}.ant-tabs-ink-bar{background:var(--app-primary-fill, var(--ant-color-primary))!important}.ant-tooltip-inner{font-size:var(--ant-font-size-sm)}.card-container{background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius-lg);padding:var(--ant-padding-lg);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:var(--ant-box-shadow-secondary);position:relative;overflow:hidden}.card-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ant-color-bg-container) 50%,transparent),transparent)}.card-container:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--ant-box-shadow);border-color:var(--ant-color-primary-border)}.card-clay{background:linear-gradient(145deg,var(--ant-color-fill-tertiary),var(--ant-color-bg-container));border:none;border-radius:var(--ant-border-radius-xl);padding:var(--ant-padding-lg);box-shadow:20px 20px 60px var(--ant-color-border),-20px -20px 60px var(--ant-color-bg-container);transition:all .4s cubic-bezier(.4,0,.2,1)}.card-clay:hover{transform:translateY(-4px);box-shadow:25px 25px 70px var(--ant-color-border-secondary),-25px -25px 70px var(--ant-color-bg-container)}.filter-bar{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--ant-padding)}.filter-label{font-size:var(--ant-font-size-sm);font-weight:var(--ant-font-weight-strong);color:var(--ant-color-text-secondary);text-transform:uppercase;white-space:nowrap}.page-container{padding:var(--ant-padding-lg);max-width:1000px;margin:0 auto;width:100%}.page-header{margin-bottom:var(--ant-margin-xl)}.page-header h1{margin-bottom:var(--ant-margin-xs);font-size:clamp(32px,6vw,64px);font-weight:var(--font-weight-bold);color:var(--ant-color-text);letter-spacing:-.02em;line-height:1.1;background:linear-gradient(135deg,var(--ant-color-text),var(--ant-color-text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-header p{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);font-weight:var(--font-weight-base);margin:0}.page-content{min-height:400px}.content-container{background:var(--ant-color-bg-container);border-radius:var(--ant-border-radius-md);padding:var(--ant-padding-lg)}.empty-state{text-align:center;padding:64px var(--ant-padding-lg);color:var(--ant-color-text-secondary)}.empty-state-title{font-size:var(--ant-font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:8px;color:var(--ant-color-text)}.empty-state-description{font-size:var(--ant-font-size-sm);font-weight:var(--font-weight-base);color:var(--ant-color-text-secondary)}.bento-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--ant-padding-lg);grid-auto-rows:minmax(200px,auto)}.bento-item{border-radius:var(--ant-border-radius-xl);padding:var(--ant-padding-lg);transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative}.bento-item-large{grid-column:span 2;grid-row:span 2}.bento-item-wide{grid-column:span 2}.bento-item-tall{grid-row:span 2}.bento-item:hover{transform:scale(1.02) translateY(-4px);z-index:10}.grid-container{display:grid;gap:var(--ant-padding-lg)}.grid-auto-fill{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.list-container{display:flex;flex-direction:column;gap:var(--ant-padding)}.mt-xs{margin-top:var(--ant-margin-xs, 4px)}.mt-sm{margin-top:var(--ant-margin-sm, 8px)}.mt-md{margin-top:var(--ant-margin, 16px)}.mt-lg{margin-top:var(--ant-margin-lg, 24px)}.mt-xl{margin-top:var(--ant-margin-xl, 32px)}.mb-xs{margin-bottom:var(--ant-margin-xs, 4px)}.mb-sm{margin-bottom:var(--ant-margin-sm, 8px)}.mb-md{margin-bottom:var(--ant-margin, 16px)}.mb-lg{margin-bottom:var(--ant-margin-lg, 24px)}.mb-xl{margin-bottom:var(--ant-margin-xl, 32px)}.ml-xs{margin-left:var(--ant-margin-xs, 4px)}.ml-sm{margin-left:var(--ant-margin-sm, 8px)}.ml-md{margin-left:var(--ant-margin, 16px)}.mr-xs{margin-right:var(--ant-margin-xs, 4px)}.mr-sm{margin-right:var(--ant-margin-sm, 8px)}.mr-md{margin-right:var(--ant-margin, 16px)}.p-xs{padding:var(--ant-padding-xs, 4px)}.p-sm{padding:var(--ant-padding-sm, 8px)}.p-md{padding:var(--ant-padding, 16px)}.p-lg{padding:var(--ant-padding-lg, 24px)}.p-xl{padding:var(--ant-padding-xl, 32px)}.pt-sm{padding-top:var(--ant-padding-sm, 8px)}.pt-md{padding-top:var(--ant-padding, 16px)}.pt-lg{padding-top:var(--ant-padding-lg, 24px)}.pb-sm{padding-bottom:var(--ant-padding-sm, 8px)}.pb-md{padding-bottom:var(--ant-padding, 16px)}.pb-lg{padding-bottom:var(--ant-padding-lg, 24px)}.pl-sm{padding-left:var(--ant-padding-sm, 8px)}.pl-md{padding-left:var(--ant-padding, 16px)}.pl-lg{padding-left:var(--ant-padding-lg, 24px)}.pr-sm{padding-right:var(--ant-padding-sm, 8px)}.pr-md{padding-right:var(--ant-padding, 16px)}.pr-lg{padding-right:var(--ant-padding-lg, 24px)}.flex{display:flex}.flex-inline{display:inline-flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-start{display:flex;justify-content:flex-start;align-items:center}.flex-end{display:flex;justify-content:flex-end;align-items:center}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.gap-xs{gap:var(--ant-padding-xs, 4px)}.gap-sm{gap:var(--ant-padding-sm, 8px)}.gap-md{gap:var(--ant-padding, 16px)}.gap-lg{gap:var(--ant-padding-lg, 24px)}.gap-xl{gap:var(--ant-padding-xl, 32px)}.w-full{width:100%}.w-auto{width:auto}.max-w-sm{max-width:400px}.max-w-md{max-width:600px}.max-w-lg{max-width:800px}.max-w-xl{max-width:1000px}.max-w-full{max-width:100%}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--ant-color-primary)}.text-secondary{color:var(--ant-color-text-secondary)}.text-tertiary{color:var(--ant-color-text-tertiary)}.text-disabled{color:var(--ant-color-text-disabled)}.text-error{color:var(--ant-color-error)}.text-success{color:var(--ant-color-success)}.text-warning{color:var(--ant-color-warning)}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-xs{font-size:var(--ant-font-size-sm, 12px)}.text-sm{font-size:var(--ant-font-size, 14px)}.text-base{font-size:var(--ant-font-size-lg, 16px)}.text-lg{font-size:var(--ant-font-size-md, 18px)}.text-xl{font-size:var(--ant-font-size-xl, 20px)}.text-2xl{font-size:var(--ant-font-size-heading-3, 24px)}.text-3xl{font-size:var(--ant-font-size-heading-2, 32px)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.rounded{border-radius:var(--ant-border-radius-sm)}.rounded-sm{border-radius:var(--ant-border-radius-xs)}.rounded-md{border-radius:var(--ant-border-radius-md)}.rounded-lg{border-radius:var(--ant-border-radius)}.rounded-xl{border-radius:var(--ant-border-radius-lg)}.rounded-full{border-radius:9999px}.border{border:1px solid var(--ant-color-border)}.border-top{border-top:1px solid var(--ant-color-border)}.border-bottom{border-bottom:1px solid var(--ant-color-border)}.shadow-sm{box-shadow:var(--ant-box-shadow-secondary)}.shadow-md,.shadow-lg{box-shadow:var(--ant-box-shadow)}.transition{transition:all .3s ease}.transition-fast{transition:all .15s ease}.transition-slow{transition:all .5s ease}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:color-mix(in srgb,var(--ant-color-bg-container) 50%,transparent);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple-effect:active:after{width:300px;height:300px}.hover-scale{transition:transform .3s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.05)}.fade-in-up{animation:fadeInUp .6s ease-out}.fade-in-down{animation:fadeInDown .6s ease-out}.fade-in-left{animation:fadeInLeft .6s ease-out}.fade-in-right{animation:fadeInRight .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.breathe{animation:breathe 3s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.stagger-item:nth-child(1){animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}.stagger-item{opacity:0;animation:fadeInUp .6s ease-out forwards}.canvas-toolbar{position:absolute;bottom:12px;display:flex;flex-direction:column;gap:4px;z-index:25;pointer-events:auto}.canvas-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius);background:var(--ant-color-bg-container);color:var(--ant-color-text);cursor:pointer;transition:background .2s,border-color .2s,color .2s}.canvas-toolbar-btn:hover{background:var(--ant-color-fill-tertiary);border-color:var(--ant-color-border-secondary);color:var(--ant-color-primary)}.canvas-toolbar-btn.is-locked{color:var(--ant-color-primary)}.landing-page{min-height:100vh;background:var(--app-page-background-gradient, linear-gradient(180deg, #f5e9ff 0%, #faf0ff 35%, #f7f7f7 100%));display:flex;flex-direction:column;align-items:center;overflow-x:hidden}.landing-nav{width:100%;padding:16px 24px 0;position:sticky;top:0;z-index:100}.landing-nav-inner{max-width:1100px;margin:0 auto;background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(180,120,230,.15);border-radius:999px;padding:8px 16px 8px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 2px 16px #9600c80f}.landing-brand{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}.landing-logo{width:30px;height:30px;object-fit:contain}.landing-brand-name{font-family:GT Super Text,Georgia,serif;font-weight:700;font-size:1.05rem;background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}.landing-nav-links{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.landing-nav-link{text-decoration:none;color:var(--ant-color-text-secondary, #666);font-size:.875rem;font-weight:500;padding:5px 14px;border-radius:999px;transition:background .2s,color .2s}.landing-nav-link:hover{background:#9600c80f;color:var(--ant-color-primary, #9600C8)}.landing-nav-link--active{background:#9600c814;color:var(--ant-color-primary, #9600C8)}.landing-nav-cta.ant-btn{border-radius:999px;font-size:.875rem;font-weight:600;padding:0 20px;height:34px;flex-shrink:0}.landing-hero{width:100%;max-width:760px;text-align:center;padding:72px 24px 48px}.landing-hero-title{font-size:clamp(2rem,5.5vw,3.5rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:#1a1a2e;margin:0 0 20px}.landing-hero-subtitle{font-size:1rem;line-height:1.65;color:var(--ant-color-text-secondary, #666);max-width:520px;margin:0 auto 36px}.landing-hero-ctas{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.landing-cta-ghost.ant-btn{border-radius:999px;font-weight:600;font-size:.9375rem;height:42px;padding:0 24px;border:1.5px solid rgba(150,0,200,.3);background:#fde6ff8c;color:var(--ant-color-primary, #9600C8)}.landing-cta-ghost.ant-btn:hover{background:#fde6ffd9;border-color:var(--ant-color-primary, #9600C8);color:var(--ant-color-primary, #9600C8)}.landing-cta-primary.ant-btn{border-radius:999px;font-weight:600;font-size:.9375rem;height:42px;padding:0 28px}.beta-perks-banner{width:100%;max-width:780px;padding:0 24px 48px;display:flex;flex-direction:column;align-items:center;gap:16px}.beta-perks-label{font-size:1.5rem;text-transform:uppercase;font-weight:700;color:#a855f7;margin:0}.beta-perks-list{width:100%;display:flex;align-items:stretch;background:#fff;border:1px solid rgba(180,120,230,.18);border-radius:20px;box-shadow:0 2px 8px #9600c80d,0 8px 24px #9600c812;overflow:hidden}.beta-perk{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 20px;text-align:center}.beta-perk-icon{font-size:1.5rem;line-height:1;margin-bottom:2px}.beta-perk-title{font-size:.9rem;font-weight:700;color:#1a1a2e;line-height:1.3}.beta-perk-desc{font-size:.8rem;color:#999;line-height:1.4}.beta-perk-divider{width:1px;background:#b478e624;align-self:stretch;flex-shrink:0}@media(max-width:560px){.beta-perks-list{flex-direction:column}.beta-perk-divider{width:auto;height:1px}}.landing-preview-wrapper{width:100%;max-width:900px;padding:0 24px 72px}.landing-preview-card{border-radius:20px;overflow:hidden;box-shadow:0 4px 6px #9600c80a,0 12px 40px #9600c81f,0 1px #b478e633 inset;border:1px solid rgba(180,120,230,.18)}.landing-preview-img{display:block;width:100%;height:auto}.landing-why{width:100%;padding:88px 24px 96px;display:flex;flex-direction:column;align-items:center}.why-header{text-align:center;max-width:680px;margin:0 auto 56px}.why-title{font-size:clamp(1.9rem,4.5vw,3rem);font-weight:800;line-height:1.2;letter-spacing:-.03em;color:#1a1a2e;margin:0 0 16px}.why-title-badge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));color:#fff;font-size:1.1rem;vertical-align:middle;margin:0 6px;position:relative;top:-4px}.why-subtitle{font-size:1rem;line-height:1.65;color:var(--ant-color-text-secondary, #888);margin:0}.why-grid{width:100%;max-width:980px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}.why-card{background:#fff;border:1px solid rgba(180,120,230,.14);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px #9600c80d,0 8px 24px #9600c812;transition:box-shadow .25s,transform .25s}.why-card:hover{box-shadow:0 8px 36px #9600c81a;transform:translateY(-3px)}.why-card--half{grid-column:span 1}.why-card--full{grid-column:span 2;flex-direction:row;align-items:stretch}.why-card-visual{background:linear-gradient(160deg,#fdf5ff,#f3e8ff);padding:32px 28px 24px;min-height:220px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.why-card--full .why-card-visual{flex:1;min-height:260px;border-radius:0;padding:32px}.why-card-body{padding:24px 28px 28px}.why-card-body--wide{flex:0 0 42%;padding:40px;display:flex;flex-direction:column;justify-content:center;gap:14px}.why-card-title{font-size:1.15rem;font-weight:700;color:#1a1a2e;margin:0 0 10px;line-height:1.35}.why-card--full .why-card-title{font-size:1.35rem;margin-bottom:0}.why-highlight{background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}.why-card-desc{font-size:.875rem;line-height:1.65;color:var(--ant-color-text-secondary, #888);margin:0}.why-cta-btn.ant-btn{margin-top:8px;border-radius:999px;width:fit-content;font-weight:600;height:42px;padding:0 28px}.arc-mockup{width:100%;display:flex;flex-direction:column;gap:20px}.arc-timeline{display:flex;align-items:flex-end;justify-content:space-between;padding:0 8px;position:relative;height:60px}.arc-timeline:before{content:"";position:absolute;left:8px;right:8px;bottom:10px;height:2px;background:linear-gradient(90deg,#e9d5ff,#a855f7,#7c3aed,#a855f7,#e9d5ff);border-radius:1px}.arc-node-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1}.arc-node{width:14px;height:14px;border-radius:50%;background:#c084fc;border:2px solid #fff;box-shadow:0 0 0 2px #c084fc;transition:transform .2s}.arc-node--peak{width:20px;height:20px;background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));box-shadow:0 0 0 3px #a855f74d;margin-bottom:18px}.arc-node-label{font-size:.62rem;color:#a855f7;font-weight:600;white-space:nowrap}.arc-chapter-card{background:#fff;border:1px solid rgba(180,120,230,.2);border-radius:12px;padding:12px 16px;box-shadow:0 2px 12px #9600c812}.arc-chapter-title{font-size:.78rem;font-weight:600;color:#1a1a2e;margin-bottom:10px}.arc-chapter-lines{display:flex;flex-direction:column;gap:6px}.arc-chapter-lines span{display:block;height:6px;border-radius:3px;background:#e9d5ff;width:100%}.arc-chapter-lines span:nth-child(2){width:85%}.arc-chapter-lines span:nth-child(3){width:60%}.codex-mockup{width:100%;height:170px;position:relative}.codex-lines{position:absolute;inset:0;width:100%;height:100%}.codex-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%,-50%)}.codex-node span{font-size:.6rem;font-weight:600;color:#6b21a8;white-space:nowrap;background:#ffffffd9;padding:1px 5px;border-radius:4px}.codex-node-img{width:32px;height:32px;border-radius:8px;border:2px solid #fff;box-shadow:0 2px 8px #0000001f}.codex-node--center{top:18%;left:50%}.codex-node--left{top:56%;left:23%}.codex-node--right{top:56%;left:77%}.codex-node--bl{top:92%;left:15%}.codex-node--bc{top:92%;left:46%}.codex-node--br{top:92%;left:85%}.why-card-visual--ai{background:linear-gradient(160deg,#faf5ff,#ede9fe)}.ai-mockup{width:100%;max-width:380px;background:#fff;border:1px solid rgba(180,120,230,.2);border-radius:16px;overflow:hidden;box-shadow:0 4px 24px #9600c81a}.ai-mockup-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid rgba(180,120,230,.12);background:#fdfaff}.ai-mockup-title{font-size:.78rem;font-weight:700;background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));-webkit-background-clip:text;background-clip:text;color:transparent}.ai-mockup-close{font-size:1rem;color:#ccc;cursor:default}.ai-mockup-body{padding:14px 16px}.ai-mockup-text{font-size:.78rem;line-height:1.7;color:#555;margin:0}.ai-text-highlight{background:#d8b4fe73;border-radius:3px;padding:0 2px}.ai-mockup-actions{display:flex;gap:6px;padding:0 16px 10px;flex-wrap:wrap}.ai-action-tag{font-size:.68rem;color:var(--ant-color-primary, #9600C8);background:#9600c80f;border:1px solid rgba(150,0,200,.14);border-radius:999px;padding:3px 10px;display:flex;align-items:center;gap:4px;cursor:default}.ai-mockup-badge{margin:0 16px 14px;display:inline-flex;align-items:center;gap:6px;background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));color:#fff;font-size:.72rem;font-weight:600;border-radius:999px;padding:5px 14px}.landing-features{width:100%;max-width:1000px;padding:80px 24px 96px}.features-header{text-align:center;margin-bottom:56px}.features-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.2;letter-spacing:-.03em;color:#1a1a2e;margin:0 0 16px}.features-title-accent{background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));-webkit-background-clip:text;background-clip:text;color:transparent}.features-subtitle{font-size:1rem;line-height:1.65;color:var(--ant-color-text-secondary, #888);max-width:520px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:#fff;border:1px solid rgba(180,120,230,.12);border-radius:20px;padding:32px 28px 28px;display:flex;flex-direction:column;gap:0;transition:box-shadow .25s,transform .25s}.feature-card:hover{box-shadow:0 8px 32px #9600c81a;transform:translateY(-3px)}.feature-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;margin-bottom:24px}.feature-icon--blue{background:#3b6ef5}.feature-icon--yellow{background:#f0b429}.feature-icon--purple{background:#7c3aed}.feature-icon--orange{background:linear-gradient(135deg,#f97316,#ef4444)}.feature-icon--violet{background:linear-gradient(135deg,#a855f7,#7c3aed)}.feature-icon--teal{background:linear-gradient(135deg,#06b6d4,#0891b2)}.feature-card-title{font-size:1.05rem;font-weight:700;color:#1a1a2e;margin:0 0 10px}.feature-card-desc{font-size:.875rem;line-height:1.6;color:var(--ant-color-text-secondary, #888);margin:0}@media(max-width:860px){.features-grid{grid-template-columns:repeat(2,1fr)}.why-card--full{flex-direction:column}.why-card-body--wide{flex:none;padding:28px 24px 0}}@media(max-width:680px){.landing-nav-links{display:none}.landing-hero-title{font-size:2rem}.features-grid,.why-grid{grid-template-columns:1fr}.why-card--full,.why-card--half{grid-column:span 1}}.image-display-wrap .ant-image,.image-display-wrap .ant-image img{width:100%!important;height:100%!important;object-fit:cover}.novel-card{cursor:pointer;transition:all .3s;overflow:hidden}.novel-card:hover{transform:translateY(-4px);box-shadow:var(--ant-box-shadow)}.novel-cover-placeholder{width:100%;aspect-ratio:3 / 4;background:var(--ant-color-fill-tertiary);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.novel-card img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.novel-card.list-view{margin-bottom:0}.novel-card-list-content{display:flex;gap:var(--ant-padding);align-items:center;position:relative}.novel-card-list-content .novel-cover-placeholder{width:80px;height:106px;flex-shrink:0}.novel-card-info{flex:1}.novel-title{margin:0 0 8px;font-weight:var(--ant-font-weight-strong);color:var(--ant-color-text)}.novel-date{margin:0;font-size:var(--ant-font-size-sm);font-weight:var(--font-weight-base);color:var(--ant-color-text-secondary)}.novel-card-cover-wrapper{position:relative}.novel-card-actions{position:absolute;top:8px;right:8px;z-index:10}.novel-card-more-btn{background:var(--ant-color-bg-container);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;box-shadow:var(--ant-box-shadow);color:var(--ant-color-text);opacity:0;transition:opacity .2s}.novel-card:hover .novel-card-more-btn{opacity:1}.novel-card-more-btn:hover{background:var(--ant-color-bg-container);color:var(--ant-color-text)}.novel-card.list-view .novel-card-actions{position:absolute;top:8px;right:8px;margin-left:0}.novel-card.list-view .novel-card-more-btn{opacity:1}.card-container-base{background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);box-shadow:var(--ant-box-shadow-secondary);transition:all .2s ease;position:relative}.card-container-hoverable:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--ant-box-shadow);border-color:var(--ant-color-primary-border)}.card-container-base:not(.card-container-hoverable):hover{transform:none;box-shadow:var(--ant-box-shadow-secondary);border-color:var(--ant-color-border)}.ai-provider-model-select .ant-select-selection-item{font-size:var(--ant-font-size-sm)}.ai-provider-model-select-dropdown .ant-select-item,.ai-provider-model-select-dropdown .ant-select-item-option,.ai-provider-model-select-dropdown .ant-select-item-group{font-size:var(--ant-font-size-sm)!important}.ai-codex-input-chip{display:inline-flex;align-items:center;padding:2px 8px;margin:0 2px;font-size:inherit;line-height:1.4;color:var(--ant-color-primary);background:var(--ant-color-primary-bg);border:1px solid var(--ant-color-primary-border);border-radius:var(--ant-border-radius-sm);cursor:default;vertical-align:baseline;white-space:nowrap}.ai-codex-input-chip:focus{outline:none}.ai-codex-input-editable{min-height:80px;padding:4px 11px;font-size:var(--ant-font-size, 16px);line-height:1.5715;border:none;border-radius:6px;background:var(--ant-color-bg-container);overflow-wrap:break-word;outline:none;white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-width:100%}.ai-codex-input-editable p{margin:0}.ai-codex-input-editable *:not(.ai-codex-input-chip){white-space:pre-wrap!important;word-break:break-word!important;max-width:100%!important}.ai-codex-input-editable:focus{outline:none}.ai-codex-input-editable:empty:before{content:attr(data-placeholder);color:var(--ant-color-text-placeholder);font-size:var(--ant-font-size-sm, 14px)}.ai-codex-input-editable p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--ant-color-text-placeholder);pointer-events:none;height:0}.ai-codex-input-editable[contenteditable=false]{background:var(--ant-color-fill-quaternary);cursor:not-allowed}.message-text-part{white-space:normal;word-break:break-word}.message-text-part:first-child{margin-top:0}.message-text-part:last-child{margin-bottom:0}.message-text-part__h1{font-size:1.125rem;font-weight:600;margin:0 0 .5rem;color:var(--ant-color-text)}.message-text-part__h2{font-size:1rem;font-weight:600;margin:.75rem 0 .5rem;color:var(--ant-color-text)}.message-text-part__h3{font-size:.875rem;font-weight:600;margin:.5rem 0 .25rem;color:var(--ant-color-text)}.message-text-part__p{margin:0 0 .5rem;color:var(--ant-color-text);line-height:1.6}.message-text-part__ul,.message-text-part__ol{margin:0 0 .5rem;padding-left:1.25rem;color:var(--ant-color-text)}.message-text-part__li{margin-bottom:.25rem;color:var(--ant-color-text)}.message-text-part__strong{font-weight:600;color:var(--ant-color-text)}.message-text-part__code-inline{padding:.125rem .375rem;background:var(--ant-color-fill-tertiary);border-radius:var(--ant-border-radius-sm);font-size:.75rem;font-family:ui-monospace,monospace;color:var(--ant-color-text)}.message-text-part__pre{margin:.5rem 0;padding:.75rem 1rem;background:var(--ant-color-fill-tertiary);border-radius:var(--ant-border-radius);overflow-x:auto;font-size:.75rem;font-family:ui-monospace,monospace;line-height:1.5;color:var(--ant-color-text);white-space:pre}.message-text-part__pre code{padding:0;background:none;font-size:inherit}.message-text-part__blockquote{margin:.5rem 0;padding-left:1rem;border-left:3px solid var(--ant-color-border);color:var(--ant-color-text-secondary)}.message-text-part__a{color:var(--ant-color-primary);text-decoration:none}.message-text-part__a:hover{text-decoration:underline}.message-text-part__table-wrap{margin:.5rem 0;overflow-x:auto}.message-text-part__table{width:100%;border-collapse:collapse;font-size:inherit;color:var(--ant-color-text)}.message-text-part__th,.message-text-part__td{padding:.375rem .75rem;border:1px solid var(--ant-color-border);text-align:left;vertical-align:top}.message-text-part__thead .message-text-part__th{background:var(--ant-color-fill-tertiary);font-weight:600;color:var(--ant-color-text)}.message-text-part__tbody .message-text-part__tr:nth-child(2n){background:var(--ant-color-fill-quaternary)}.message-text-part__tbody .message-text-part__tr:hover{background:var(--ant-color-fill-tertiary)}.edit-panel-drawer.ant-drawer .ant-drawer-header{display:flex;align-items:center}.edit-panel-drawer-wrapper{border-top-right-radius:12px;border-bottom-right-radius:12px;overflow:hidden}.descriptive-label{display:flex;flex-direction:column;gap:var(--ant-padding-xs)}.descriptive-label__heading{font-weight:600;font-size:var(--ant-font-size);color:var(--ant-color-text);display:inline-flex;align-items:center;gap:6px}.descriptive-label--desc-right .descriptive-label__heading{gap:8px}.descriptive-label--desc-right .descriptive-label__heading .descriptive-label__desc{font-weight:400;margin-left:4px}.descriptive-label__icon{display:inline-flex;align-items:center;color:var(--ant-color-primary);flex-shrink:0}.descriptive-label__help{color:var(--ant-color-text-tertiary);cursor:help;display:inline-flex;align-items:center}.descriptive-label__help:hover{color:var(--ant-color-primary)}.descriptive-label__desc{font-size:var(--ant-font-size-sm);line-height:1.5}.codex-edit-form .ant-select .ant-select-selection-item{font-size:var(--ant-font-size, 16px)}.message-copy-wrapper{position:relative;display:block;width:100%}.message-copy-wrapper__btn-wrap{position:absolute;right:4px;bottom:calc(.75em - 14px);pointer-events:none}.message-copy-wrapper--card .message-copy-wrapper__btn-wrap{bottom:calc(10px + .75em)}.message-copy-wrapper__btn-wrap .message-copy-wrapper__btn{pointer-events:auto;transition:opacity .2s ease;background:var(--ant-color-bg-container);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;box-shadow:var(--ant-box-shadow);color:var(--ant-color-text);width:28px;height:28px;padding:0;border-radius:35%;display:inline-flex;align-items:center;justify-content:center}.message-copy-wrapper__btn-wrap .message-copy-wrapper__btn:hover{background:var(--ant-color-bg-container);color:var(--ant-color-text)}.custom-image-generate-instruction textarea::placeholder{font-size:var(--ant-font-size-sm, 14px)}.task-tab{display:flex;flex-direction:column;height:100%}.task-tab-content{flex:1;overflow-y:auto;padding:0}.task-tab-list,.task-tab-detail{display:flex;flex-direction:column}.task-execution-content{margin-top:0}.ai-chat-sidebar{display:flex;flex-direction:column;height:100%;min-height:0;font-size:var(--ant-font-size-sm)}.ai-chat-tab-switcher{padding:12px 16px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:12px}.ai-chat-new-conversation-btn{flex-shrink:0}.ai-chat-content-wrapper{flex:1;overflow:hidden;min-height:0;display:flex;flex-direction:column}.ai-chat-content{display:flex;flex-direction:column;height:100%;flex:1;min-height:0}.ai-chat-messages{flex:1;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;gap:16px}.ai-chat-load-more{text-align:center;padding:8px 0}.ai-chat-message{display:flex;flex-direction:column;gap:4px;position:relative}.ai-chat-message-user{align-items:flex-end}.ai-chat-message-assistant{align-items:flex-start}.ai-chat-message-assistant .ai-chat-message-content{max-width:100%;width:100%}.ai-chat-message-role{font-size:12px;color:var(--ant-color-text-secondary);font-weight:500}.ai-chat-message-content{max-width:80%;padding:8px 12px;border-radius:var(--ant-border-radius);background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);word-wrap:break-word;white-space:pre-wrap}.ai-chat-message-user .ai-chat-message-content{background:var(--ant-color-primary-bg);color:var(--ant-color-primary-text);border-color:var(--ant-color-primary-border);max-width:100%;white-space:pre-wrap}.ai-chat-placeholder{display:flex;align-items:center;justify-content:center;flex:1;text-align:center}.ai-chat-input{padding:12px 0;border-top:1px solid var(--ant-color-border);flex-shrink:0;display:flex;flex-direction:column;align-items:stretch}.ai-chat-input>.ant-btn{align-self:flex-end}.ai-chat-cursor{display:inline-block;width:2px;height:1em;background:var(--ant-color-text);animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-chat-history{flex:1;overflow-y:auto;min-height:0;height:100%;display:flex;flex-direction:column;padding:12px}.ai-chat-history-list{display:flex;flex-direction:column;gap:8px}.ai-chat-history-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--ant-border-radius-md);cursor:pointer;background-color:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);transition:all .2s;position:relative;font-family:var(--font-family);width:100%}.ai-chat-history-item:hover{background-color:var(--ant-color-fill-tertiary);border-color:var(--ant-color-border-secondary)}.ai-chat-history-item-selected,.ai-chat-history-item-selected:hover{background-color:var(--ant-color-fill-secondary);border-color:var(--ant-color-border-secondary)}.ai-chat-history-item-content{flex:1;min-width:0;font-family:var(--font-family);display:flex;flex-direction:column;justify-content:center}.floating-chat-button{position:fixed;width:56px;height:56px;border-radius:50%;background:var(--app-primary-fill, var(--ant-color-primary));color:var(--ant-color-primary-button-text, #ffffff);display:flex;align-items:center;justify-content:center;cursor:move;box-shadow:var(--ant-box-shadow-lg);transition:box-shadow .2s,transform .2s;-webkit-user-select:none;user-select:none;z-index:10000}.floating-chat-button:hover{background:var(--app-primary-fill, var(--ant-color-primary));filter:brightness(1.08);box-shadow:var(--ant-box-shadow-lg);transform:scale(1.05)}.floating-chat-button:active{transform:scale(.95)}.floating-chat-window-wrapper{position:fixed;z-index:10000}.floating-chat-window{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--ant-color-bg-container)!important}.floating-chat-window-header{display:flex;align-items:center;justify-content:space-between;height:46px;min-height:46px;padding:0 8px;box-sizing:border-box;border-bottom:1px solid var(--ant-color-border);background:var(--ant-color-bg-container);cursor:move;flex-shrink:0;-webkit-user-select:none;user-select:none}.floating-chat-window-header-left{display:flex;align-items:center;flex-shrink:0}.floating-chat-window-header-center{display:flex;align-items:center;justify-content:center;flex:1;min-width:0}.floating-chat-window-header-right{display:flex;align-items:center;flex-shrink:0}.floating-chat-window-tabs{flex-shrink:0}.floating-chat-window-tabs .ant-radio-button-wrapper{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;font-size:var(--ant-font-size-sm);line-height:1}.floating-chat-window-tab-label{display:inline-flex;align-items:center;gap:4px}.floating-chat-window-button{cursor:pointer}.floating-chat-window-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0;background:var(--ant-color-bg-container)!important;position:relative;font-size:var(--ant-font-size-sm)}.floating-chat-window-content .ai-chat-sidebar,.floating-chat-window-content .ai-chat-content-wrapper,.floating-chat-window-content .ai-chat-content,.floating-chat-window-content .ai-chat-messages{background:var(--ant-color-bg-container)!important}.floating-chat-window-resize-handle{position:absolute;bottom:0;width:20px;height:20px;z-index:10}.floating-chat-window-resize-handle-se{right:0;cursor:nwse-resize;background:linear-gradient(to top left,transparent 0%,transparent 40%,var(--ant-color-border) 40%,var(--ant-color-border) 45%,transparent 45%,transparent 50%,var(--ant-color-border) 50%,var(--ant-color-border) 55%,transparent 55%)}.floating-chat-window-resize-handle-se:hover{background:linear-gradient(to top left,transparent 0%,transparent 40%,var(--ant-color-primary) 40%,var(--ant-color-primary) 45%,transparent 45%,transparent 50%,var(--ant-color-primary) 50%,var(--ant-color-primary) 55%,transparent 55%)}.floating-chat-window-resize-handle-sw{left:0;cursor:nesw-resize;background:linear-gradient(to top right,transparent 0%,transparent 40%,var(--ant-color-border) 40%,var(--ant-color-border) 45%,transparent 45%,transparent 50%,var(--ant-color-border) 50%,var(--ant-color-border) 55%,transparent 55%)}.floating-chat-window-resize-handle-sw:hover{background:linear-gradient(to top right,transparent 0%,transparent 40%,var(--ant-color-primary) 40%,var(--ant-color-primary) 45%,transparent 45%,transparent 50%,var(--ant-color-primary) 50%,var(--ant-color-primary) 55%,transparent 55%)}.editor-toolbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;height:44px;min-height:44px;gap:var(--ant-padding-sm);padding:0 var(--ant-padding);border-bottom:1px solid var(--ant-color-border);flex-shrink:0;box-sizing:border-box;background:var(--ant-color-bg-container)}.editor-toolbar .ant-btn{border-radius:var(--ant-border-radius-xs);transition:all .2s ease}.toolbar-format-btn.toolbar-format-bold{font-weight:700}.toolbar-format-btn.toolbar-format-italic{font-style:italic}.toolbar-format-btn.toolbar-format-underline{text-decoration:underline}.toolbar-format-btn.toolbar-format-strikethrough{text-decoration:line-through}.toolbar-format-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-format-btn.active{background-color:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.toolbar-divider{width:1px;height:20px;background:var(--ant-color-border);margin:0 var(--ant-padding-xs)}.editor-content{flex:1;display:flex;flex-direction:column;padding:var(--ant-padding-lg);overflow-y:auto;min-height:0}.document-title{margin:0!important;font-size:var(--ant-font-size-lg);font-weight:var(--ant-font-weight-strong);color:var(--ant-color-text);line-height:1.4}.document-title.editable-title{transition:color .2s ease}.document-title.editable-title:hover{color:var(--ant-color-primary)}.document-title-input{margin:0}.document-title-input .ant-input{font-size:var(--ant-font-size-lg);font-weight:var(--ant-font-weight-strong);padding:var(--ant-padding-sm) var(--ant-padding)}.tiptap-editor{flex:1;min-height:400px;line-height:1.8;font-size:19.2px;font-family:Georgia,BespokeSerif-Variable,BespokeSerif,serif;color:var(--ant-color-text);background:transparent;font-weight:var(--font-weight-base);outline:none}.tiptap-editor p{margin:16px 0 14px}.tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--ant-color-text-tertiary);pointer-events:none;height:0}.tiptap-editor h1,.tiptap-editor h2,.tiptap-editor h3,.tiptap-editor h4,.tiptap-editor h5,.tiptap-editor h6{margin:1em 0 .5em;font-weight:var(--ant-font-weight-strong);line-height:1.4}.tiptap-editor h1{font-size:2em}.tiptap-editor h2{font-size:1.5em}.tiptap-editor h3{font-size:1.25em}.tiptap-editor ul,.tiptap-editor ol{padding-left:1.5em;margin:.5em 0}.tiptap-editor li{margin:.25em 0}.tiptap-editor strong{font-weight:var(--ant-font-weight-strong)}.tiptap-editor em{font-style:italic}.tiptap-editor s{text-decoration:line-through}.tiptap-editor u{text-decoration:underline}.tiptap-editor code{background-color:var(--ant-color-fill-secondary);padding:.2em .4em;border-radius:var(--ant-border-radius-xs);font-family:Courier New,monospace;font-size:.9em}.tiptap-editor pre{background-color:var(--ant-color-fill-secondary);padding:1em;border-radius:var(--ant-border-radius-sm);margin:.5em 0;overflow-x:auto}.tiptap-editor pre code{background:none;padding:0}.tiptap-editor blockquote{border-left:3px solid var(--ant-color-border);padding-left:1em;margin:.5em 0;color:var(--ant-color-text-secondary)}.editor-content .ai-codex-input-chip{display:inline;padding:0;margin:0;color:var(--ant-color-primary);background:transparent;border:none;border-radius:0;cursor:inherit;vertical-align:baseline;white-space:normal;text-decoration:underline;text-decoration-style:dashed}.editor-content .ai-codex-input-chip:focus{outline:none}.editor-content::-webkit-scrollbar{width:6px;height:6px}.editor-content::-webkit-scrollbar-track{background:transparent}.editor-content::-webkit-scrollbar-thumb{background:var(--ant-color-border);border-radius:var(--ant-border-radius-xs)}.editor-content::-webkit-scrollbar-thumb:hover{background:var(--ant-color-text-tertiary)}.chapter-editor-selection-menu{display:inline-flex;align-items:center;gap:var(--ant-padding-xs);padding:4px 6px;border-radius:var(--ant-border-radius-sm);box-shadow:var(--ant-box-shadow-secondary);background:var(--app-secondary-fill);border:1px solid var(--ant-color-border)}.chapter-editor-selection-menu .ant-btn{flex-shrink:0}.context-menu>.ant-menu{border-radius:var(--ant-border-radius-md)!important}.context-menu .ant-menu-submenu-popup>.ant-menu{min-width:160px!important;border:1px solid var(--ant-color-border)!important;border-radius:var(--ant-border-radius-md)!important;box-shadow:var(--ant-box-shadow-secondary)!important;background:var(--ant-color-bg-elevated)!important}.context-menu .ant-menu-item,.context-menu .ant-menu-submenu .ant-menu-submenu-title,.context-menu .ant-menu-submenu-popup .ant-menu-item{font-size:var(--ant-font-size)!important;min-height:34px!important;height:34px!important;line-height:32px!important;padding:0 12px!important;border-radius:var(--ant-border-radius)!important}.context-menu .ant-menu-item .ant-menu-title-content,.context-menu .ant-menu-submenu .ant-menu-submenu-title .ant-menu-title-content,.context-menu .ant-menu-submenu-popup .ant-menu-item .ant-menu-title-content{font-size:var(--ant-font-size)!important}.context-menu .ant-menu-submenu .ant-menu-submenu-arrow{font-size:10px}.arc-template-select-modal .ant-modal-content{padding:0;background:var(--ant-color-bg-layout);border-radius:var(--ant-border-radius-lg);overflow:hidden}.arc-template-select-modal .ant-modal-body{padding:0;background:var(--ant-color-bg-layout);border-radius:var(--ant-border-radius-lg);max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.arc-template-select-modal .ant-modal-wrap{background:var(--ant-color-bg-mask)}.arc-template-select-modal .arc-template-modal-inner{padding:var(--ant-padding);border-radius:calc(var(--ant-border-radius-lg) - 2px);overflow:visible;position:relative;max-height:calc(80vh - 48px);display:flex;flex-direction:column;min-height:0}.arc-template-select-modal .arc-template-card-wrapper{position:relative}.q-btn.ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ant-padding-sm);transition:all .15s ease}.q-btn.ant-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--ant-color-primary) 55%,transparent);outline-offset:2px}.q-btn--secondary.ant-btn{background:var(--ant-color-primary-bg);border-color:var(--ant-color-primary-border);color:var(--ant-color-text)}.q-btn--secondary.ant-btn:not(:disabled):hover{background:var(--ant-color-primary-bg-hover);border-color:var(--ant-color-primary)}.q-btn--ghost.ant-btn{background:transparent;border-color:var(--ant-color-border);color:var(--ant-color-text)}.q-btn--ghost.ant-btn:not(:disabled):hover{background:var(--ant-color-fill-tertiary);border-color:var(--ant-color-primary-border)}.q-btn--toolbar.ant-btn,.q-btn--primary.ant-btn{border-radius:999px;padding:var(--ant-padding-sm) var(--ant-padding);height:auto;font-size:var(--ant-font-size-sm)}.q-btn--toolbar.ant-btn{background:color-mix(in srgb,var(--ant-color-bg-container) 60%,transparent);border-color:var(--ant-color-border);color:var(--ant-color-text)}.q-btn--toolbar.ant-btn:not(:disabled):hover{background:color-mix(in srgb,var(--ant-color-bg-container) 75%,transparent);border-color:var(--ant-color-primary-border)}.q-btn--primary-bg.ant-btn{background:var(--ant-color-primary-bg);border-color:var(--ant-color-primary-border);color:var(--ant-color-primary)}.q-btn--primary-bg.ant-btn:not(:disabled):hover{background:var(--ant-color-primary-bg-hover);color:var(--ant-color-primary-hover);border-color:var(--ant-color-primary-border-hover);transform:translateY(-1px);box-shadow:var(--ant-box-shadow-secondary)}.q-btn--primary-bg.ant-btn:not(:disabled):active{transform:translateY(0);box-shadow:none}.beat-preview{position:fixed;z-index:1000;pointer-events:auto;animation:beatPreviewFadeIn .2s ease-out;max-width:320px;min-width:200px}@keyframes beatPreviewFadeIn{0%{opacity:0;transform:translateY(-4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.beat-preview-content{background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius-md);box-shadow:var(--ant-box-shadow),0 4px 16px #0000001a;padding:var(--ant-padding);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);position:relative;overflow:hidden;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.beat-preview-title{font-weight:var(--ant-font-weight-strong);font-size:var(--ant-font-size);color:var(--ant-color-text);margin-bottom:var(--ant-margin-xs);line-height:1.5;word-wrap:break-word;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.beat-preview-desc{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary);line-height:1.6;margin-bottom:var(--ant-margin-sm);white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;scrollbar-width:thin;scrollbar-color:var(--ant-color-border) transparent}.beat-preview-desc::-webkit-scrollbar{width:6px}.beat-preview-desc::-webkit-scrollbar-track{background:transparent}.beat-preview-desc::-webkit-scrollbar-thumb{background:var(--ant-color-border);border-radius:3px}.beat-preview-desc::-webkit-scrollbar-thumb:hover{background:var(--ant-color-border-secondary)}.beat-preview-avatars{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--ant-margin-sm)}.beat-preview-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid var(--ant-color-border);background:var(--ant-color-fill-tertiary)}.beat-preview-edit-btn{width:100%;margin-top:var(--ant-margin-xs);font-size:var(--ant-font-size-sm);font-weight:var(--font-weight-medium)}.beat-preview-edit-btn .ant-btn-icon{flex-shrink:0;display:flex;align-items:center}.beat-preview-edit-btn svg{flex-shrink:0}.beat-preview-arrow{position:absolute;width:0;height:0;border-style:solid;border-width:6px;border-color:var(--ant-color-border) transparent transparent transparent;bottom:-12px;left:50%;transform:translate(-50%);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.beat-preview-arrow:after{content:"";position:absolute;width:0;height:0;border-style:solid;border-width:5px;border-color:var(--ant-color-bg-container) transparent transparent transparent;bottom:1px;left:50%;transform:translate(-50%)}.storyline-container-inline{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:transparent}.storyline-header{background:transparent}.storyline-header-left{display:flex;align-items:center}.storyline-header-right{display:flex;align-items:center;gap:var(--ant-padding-sm);font-size:var(--ant-font-size-sm, 12px)}.storyline-header-right-only{margin-left:auto}.storyline-canvas-float-toolbar{position:absolute;bottom:12px;right:12px;z-index:25;pointer-events:auto;display:flex;flex-direction:column;gap:4px;padding:0;min-width:160px;background:transparent;border:none;border-radius:0;box-shadow:none;box-sizing:border-box}.storyline-float-toolbar-row{display:flex;align-items:center;gap:4px}.storyline-canvas-float-toolbar .canvas-toolbar-btn-zoom{min-width:36px;height:32px;padding:0 4px;font-size:11px}.storyline-canvas-float-toolbar .canvas-toolbar-btn-zoom.is-active{background:var(--ant-color-primary-bg);border-color:var(--ant-color-primary);color:var(--ant-color-primary)}.storyline-canvas-float-toolbar .storyline-float-toolbar-slider-wrap{width:100%;min-width:0}.storyline-float-toolbar-slider-wrap{display:flex;align-items:center;padding:4px 18px;background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius);box-sizing:border-box}.storyline-float-toolbar-slider{width:100%;min-width:0}.storyline-canvas-float-toolbar .storyline-float-toolbar-slider.ant-slider{margin:0}.storyline-canvas-float-toolbar .storyline-float-toolbar-slider .ant-slider-rail,.storyline-canvas-float-toolbar .storyline-float-toolbar-slider .ant-slider-track{height:3px!important}.storyline-canvas-float-toolbar .storyline-float-toolbar-slider .ant-slider-handle:before{width:8px!important;height:8px!important;inset-block-start:50%!important;transform:translate(-50%,-50%)!important}.storyline-title-row{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--ant-font-size-md, 18px);color:var(--ant-color-text)}.storyline-title-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--ant-color-primary-bg)}.storyline-title-icon{flex-shrink:0;color:var(--ant-color-primary)}.storyline-title{font-weight:600;border:none}.storyline-title-subtitle{font-weight:600;color:var(--ant-color-text-tertiary)}.storyline-controls{display:flex;align-items:center;gap:var(--ant-padding)}.storyline-zoom-control{display:flex;align-items:center;gap:6px;padding:0;min-height:22px}.storyline-zoom-label{font-size:var(--ant-font-size-sm, 12px);font-weight:var(--font-weight-base);color:var(--ant-color-text-secondary);white-space:nowrap}.storyline-zoom-buttons{display:flex;align-items:center;gap:4px}.storyline-zoom-slider{width:100px}.storyline-header-right .storyline-zoom-slider.ant-slider{margin:0 4px}.storyline-header-right .ant-slider-rail,.storyline-header-right .ant-slider-track{height:3px!important}.storyline-header-right .ant-slider-handle:before{width:8px!important;height:8px!important;inset-block-start:50%!important;margin-block-start:-4px!important;margin-inline-start:-4px!important}.storyline-header-right .ant-btn{font-size:var(--ant-font-size-sm, 12px);padding:0 8px;height:24px;line-height:22px}.storyline-header-right .ant-btn .anticon{font-size:12px}.storyline-body{display:flex;flex:1;overflow:hidden;background:transparent;flex-direction:column}.storyline-header-row{display:flex;background:transparent;flex-shrink:0}.storyline-sidebar-header{padding:var(--ant-padding) var(--ant-margin);font-weight:var(--font-weight-medium);color:var(--ant-color-text-secondary);background:var(--ant-color-bg-container);display:flex;align-items:center;height:48px;flex-shrink:0;z-index:15;position:relative;border:none;border-right:1px solid var(--ant-color-border);box-shadow:none;transition:border-right-color .2s ease,border-right-width .2s ease}.storyline-header-row.sidebar-resizing .storyline-sidebar-header{border-right:3px solid var(--ant-color-primary);border-right-color:var(--ant-color-primary)}.storyline-canvas-body-row{display:flex;flex:1;overflow:hidden;min-height:0}.storyline-content-wrapper{display:flex;flex:1;overflow:auto;position:relative;scroll-behavior:auto;background:transparent}.storyline-sidebar-lanes{flex-shrink:0;z-index:20;background:var(--ant-color-bg-container);border:none;border-right:1px solid var(--ant-color-border);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;box-shadow:none;transition:border-right-color .2s ease,border-right-width .2s ease}.storyline-sidebar-lanes::-webkit-scrollbar{display:none}.storyline-sidebar-lanes.resizing{border-right:3px solid var(--ant-color-primary);border-right-color:var(--ant-color-primary)}.storyline-sidebar-resize-handle{width:16px;cursor:ew-resize!important;z-index:30;background:transparent;transition:background-color .2s ease;pointer-events:auto;position:relative}.storyline-sidebar-resize-handle:before{content:"";position:absolute;top:0;left:7px;width:2px;height:100%;background:transparent;transition:background-color .2s ease,box-shadow .2s ease}.storyline-sidebar-resize-handle:hover:before,.storyline-sidebar-resize-handle.active:before{background:var(--ant-color-primary);box-shadow:0 0 8px var(--ant-color-primary);opacity:.6}.storyline-sidebar-resize-handle.active:before{opacity:1;box-shadow:0 0 12px var(--ant-color-primary)}.storyline-lane-item{display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;flex-shrink:0;box-sizing:border-box;margin:0;border:none;background:transparent;box-shadow:none;position:relative;overflow:visible}.storyline-lane-content{display:flex;align-items:center;padding:var(--ant-padding-xs) var(--ant-padding-xs);width:100%;box-sizing:border-box;border-radius:var(--ant-border-radius);box-shadow:var(--ant-box-shadow-secondary);position:relative;overflow:hidden;transition:all .2s ease}.storyline-lane-content:before{content:"";position:absolute;inset:0;background:inherit;opacity:0;transition:opacity .2s ease;z-index:0}.storyline-lane-item:hover .storyline-lane-content{transform:translateY(-1px);box-shadow:var(--ant-box-shadow)}.storyline-lane-item.active .storyline-lane-content{box-shadow:var(--ant-box-shadow);transform:translateY(-1px)}.storyline-lane-item.dragging .storyline-lane-content{opacity:.5}.storyline-lane-item.dragging{cursor:grabbing!important}.storyline-lane-indent{display:inline-block;z-index:1;position:relative;flex-shrink:0}.storyline-lane-expand-btn{width:16px;min-width:16px;height:16px;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s;flex-shrink:0;z-index:2;position:relative;font-size:10px;color:var(--ant-color-text-secondary);-webkit-user-select:none;user-select:none;line-height:1}.storyline-lane-expand-btn:hover{color:var(--ant-color-text)}.storyline-lane-expand-btn.expanded{transform:none}.storyline-lane-leaf-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;margin-right:10px;flex-shrink:0;z-index:2;position:relative;font-size:12px;color:var(--ant-color-text-tertiary);-webkit-user-select:none;user-select:none;line-height:1}.storyline-lane-color{width:16px;height:16px;border-radius:var(--ant-border-radius-xs);margin-right:var(--ant-margin-sm);flex-shrink:0;box-shadow:var(--ant-box-shadow);z-index:1;position:relative;border:1px solid var(--ant-color-border)}.storyline-lane-title{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:var(--ant-font-size, 16px);font-weight:var(--font-weight-base);color:var(--ant-color-text);z-index:1;position:relative;line-height:1.5;letter-spacing:.2px}.storyline-lane-title-icon{flex-shrink:0;color:var(--ant-color-text-tertiary)}.storyline-lane-title-icon-system{color:var(--ant-color-primary)}.storyline-lane-title-icon-user{color:var(--ant-color-text-secondary)}.storyline-lane-title-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storyline-lane-more-button{opacity:0;transition:opacity .2s;margin-left:auto;flex-shrink:0;z-index:2;position:relative}.storyline-lane-item:hover .storyline-lane-more-button,.storyline-lane-item.active .storyline-lane-more-button{opacity:1}.storyline-lane-drag-handle{color:var(--ant-color-text-secondary)!important;border:none;background:transparent;padding:var(--ant-padding-xs) 2px;min-width:auto;height:auto;opacity:0;transition:opacity .2s,color .2s;cursor:grab;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--ant-border-radius-xs);line-height:1;z-index:2;position:relative}.storyline-lane-drag-handle svg{display:block;width:12px;height:16px}.storyline-lane-drag-handle-placeholder,.storyline-lane-expand-btn-placeholder{flex-shrink:0;width:16px;min-width:16px;height:16px;display:inline-block}.storyline-lane-item:hover .storyline-lane-drag-handle,.storyline-lane-item.active .storyline-lane-drag-handle,.storyline-lane-item.dragging .storyline-lane-drag-handle{opacity:1}.storyline-lane-drag-handle:hover{color:var(--ant-color-text)!important;background:var(--ant-color-fill-secondary)!important}.storyline-lane-drag-handle:active{cursor:grabbing}.storyline-lane-item.drag-over-child .storyline-lane-content{background:var(--ant-color-primary-bg)!important;border:2px dashed var(--ant-color-primary);box-sizing:border-box}.storyline-drag-indicator{height:2px;background:var(--ant-color-primary);margin:0;position:relative;z-index:100;box-shadow:0 0 4px color-mix(in srgb,var(--ant-color-primary) 50%,transparent)}.storyline-drag-indicator:before{content:"";position:absolute;left:-6px;top:-4px;width:10px;height:10px;background:var(--ant-color-primary);border-radius:50%;box-shadow:0 0 4px color-mix(in srgb,var(--ant-color-primary) 50%,transparent)}.storyline-drag-indicator:after{content:"";position:absolute;right:-6px;top:-4px;width:10px;height:10px;background:var(--ant-color-primary);border-radius:50%;box-shadow:0 0 4px color-mix(in srgb,var(--ant-color-primary) 50%,transparent)}.storyline-timeline-wrapper{flex:1;overflow:hidden;position:relative;z-index:10}.storyline-timeline{display:flex;height:48px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.storyline-timeline::-webkit-scrollbar{display:none}.storyline-timeline-ruler{position:relative;height:48px;flex-shrink:0;background:transparent}.storyline-timeline-tick{position:absolute;bottom:0;width:1px;background:var(--ant-color-border);pointer-events:none}.storyline-timeline-tick--major{height:10px}.storyline-timeline-tick--minor{height:6px;background:var(--ant-color-border-secondary)}.storyline-timeline-label{position:absolute;bottom:12px;transform:translate(-50%);font-weight:var(--font-weight-medium);font-size:12px;white-space:nowrap;pointer-events:none}.storyline-timeline-label-link{pointer-events:auto;margin:0;padding:0;border:none;background:none;font:inherit;font-weight:var(--font-weight-medium);color:var(--ant-color-primary);cursor:pointer;text-decoration:none;white-space:nowrap}.storyline-timeline-label-link:hover{color:var(--ant-color-primary-hover);text-decoration:underline}.storyline-timeline-label-link:active{color:var(--ant-color-primary-active)}.storyline-main-canvas-root{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.storyline-canvas-content{flex:1;position:relative;background:var(--ant-color-bg-container);min-width:min-content;z-index:1}.storyline-lanes{position:relative;display:flex;flex-direction:column;min-width:min-content;background:var(--ant-color-bg-container)}.storyline-lane-row{position:relative;display:flex;transition:background .2s;flex-shrink:0}.storyline-lane-row:hover{background:var(--ant-color-fill-tertiary)}.storyline-chapter-cell{position:relative;flex-shrink:0}.storyline-multi-drag-invalid .storyline-beat{cursor:not-allowed!important}.storyline-beat{position:absolute;top:25%;height:50%;border-radius:var(--ant-border-radius-md);padding:0;cursor:pointer;transition:all .2s;box-shadow:var(--ant-box-shadow-secondary);display:flex;align-items:center;overflow:visible;font-weight:var(--font-weight-medium);z-index:5;-webkit-user-select:none;user-select:none;border:1px solid var(--ant-color-border-secondary);border-left-width:4px;border-left-style:solid;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.storyline-beat:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url(/noise.svg);background-repeat:repeat;background-size:80px 80px;opacity:.12;pointer-events:none;z-index:0}.storyline-beat:hover:not(.resizing){transform:translateY(-2px);box-shadow:var(--ant-box-shadow),0 0 0 1px var(--ant-color-border);z-index:6}.storyline-beat-content{flex:1;pointer-events:none;padding:0 4px;z-index:1;display:flex;flex-direction:row;align-items:center;gap:4px;overflow:hidden;min-width:0}.storyline-beat-title{font-weight:var(--font-weight-normal);color:var(--ant-color-text);overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;letter-spacing:.2px;line-height:var(--line-height-base);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;white-space:normal}.storyline-beat-ref-avatars{display:flex;align-items:center;gap:2px;flex-shrink:0}.storyline-beat-ref-avatar{width:18px;height:18px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.45);background:var(--ant-color-fill-tertiary)}.storyline-beat-resize-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:10;opacity:0;transition:opacity .2s;background:var(--ant-color-fill-tertiary)}.storyline-beat-resize-handle-left{left:0;border-radius:var(--ant-border-radius-md) 0 0 var(--ant-border-radius-md)}.storyline-beat-resize-handle-right{right:0;border-radius:0 var(--ant-border-radius-md) var(--ant-border-radius-md) 0}.storyline-beat:hover .storyline-beat-resize-handle,.storyline-beat-resize-handle.active{opacity:1;background:var(--ant-color-fill-secondary)}.storyline-beat.resizing{transition:none;-webkit-user-select:none;user-select:none;z-index:7;cursor:ew-resize!important}.storyline-beat.dragging{pointer-events:none;-webkit-user-select:none;user-select:none}.storyline-beat-drag-preview{box-shadow:var(--ant-box-shadow),0 0 0 1px var(--ant-color-border);border:2px dashed currentColor;border-radius:var(--ant-border-radius-md);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.storyline-beat.resizing .storyline-beat-resize-handle{opacity:1;background:var(--ant-color-fill-secondary)}.storyline-beat-b{position:absolute;top:31.25%;height:37.5%;overflow:visible;cursor:pointer;transition:all .2s;z-index:5;-webkit-user-select:none;user-select:none}.storyline-beat-b:hover:not(.resizing){transform:translateY(-1px);z-index:6}.storyline-beat-b.resizing{transition:none;-webkit-user-select:none;user-select:none;z-index:7;cursor:ew-resize!important}.storyline-beat-b.dragging{pointer-events:none;-webkit-user-select:none;user-select:none}.storyline-beat-b-block{position:absolute;left:0;right:0;top:50%;height:40%;transform:translateY(-50%);border-radius:999px;pointer-events:none;box-shadow:var(--ant-box-shadow-secondary)}.storyline-beat-b:hover:not(.resizing) .storyline-beat-b-block{box-shadow:var(--ant-box-shadow)}.storyline-beat-b-label{position:absolute;transform:translate(-50%);font-size:12px;line-height:1.4;white-space:nowrap;pointer-events:none;z-index:10;padding:1px 8px;border-radius:999px;border:1px solid var(--ant-color-border);background:var(--ant-color-bg-container);color:var(--ant-color-text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis}.storyline-beat-b-icon{position:absolute;left:0;top:0;height:100%;border-radius:50%;background:#fff;pointer-events:none;z-index:2;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-sizing:border-box;aspect-ratio:1}.storyline-beat-b:hover .storyline-beat-resize-handle,.storyline-beat-b .storyline-beat-resize-handle.active,.storyline-beat-b.resizing .storyline-beat-resize-handle{opacity:1;background:#ffffff4d}.storyline-beat-style-radio .ant-radio-button-wrapper{height:28px;line-height:26px}.storyline-beat-style-radio .ant-radio-button-wrapper:first-child{border-radius:999px 0 0 999px}.storyline-beat-style-radio .ant-radio-button-wrapper:last-child{border-radius:0 999px 999px 0}.storyline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:var(--ant-color-text-tertiary)}.storyline-empty-icon{font-size:48px;margin-bottom:var(--ant-margin);opacity:.3}.storyline-empty-text{font-weight:var(--font-weight-base)}.storyline-grid-lines{position:absolute;top:0;left:0;right:0;pointer-events:none;z-index:1}.storyline-grid-line{position:absolute;background:var(--ant-color-border-secondary)}.storyline-grid-line-vertical{top:0;bottom:0;width:1px}.storyline-grid-line-horizontal{left:0;right:0;height:1px}.storyline-lane-item{position:relative}.storyline-tree-lines{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:visible}.storyline-tree-lines-svg{pointer-events:none;display:block}.storyline-tree-line-vertical{position:absolute;top:0;bottom:0;width:1px;background:var(--ant-color-primary);opacity:.3}.storyline-tree-line-vertical.stop-at-horizontal{bottom:calc(50% + .5px)}.storyline-tree-line-horizontal{position:absolute;top:50%;height:1px;background:var(--ant-color-primary);opacity:.3;transform:translateY(-50%)}.storyline-tree-line-current-vertical{top:50%}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.codex-graph-view .react-flow__node-default,.codex-graph-view .xy-flow__node-default{box-shadow:var(--ant-box-shadow),var(--ant-box-shadow-secondary);transition:none!important;outline:none}.codex-graph-view .react-flow__node-default:hover,.codex-graph-view .xy-flow__node-default:hover{box-shadow:var(--ant-box-shadow)}.codex-graph-view .react-flow__node-default.selectable.selected,.codex-graph-view .react-flow__node-default.selected,.codex-graph-view .xy-flow__node-default.selectable.selected,.codex-graph-view .xy-flow__node-default.selected,.codex-graph-view .react-flow__node-default:hover.selectable.selected,.codex-graph-view .react-flow__node-default:hover.selected,.codex-graph-view .xy-flow__node-default:hover.selectable.selected,.codex-graph-view .xy-flow__node-default:hover.selected{box-shadow:0 0 0 3px var(--ant-color-primary),var(--ant-box-shadow);outline:none!important}.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.xy-flow__node-group.selectable.selected,.xy-flow__node-group.selectable:focus,.xy-flow__node-group.selectable:focus-visible{box-shadow:none!important;outline:none!important}.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible,.xy-flow__node-group.selected,.xy-flow__node-group:focus,.xy-flow__node-group:focus-visible{box-shadow:none!important;outline:none!important}:root{--dq-group-resize-line-width: 4px}.react-flow__node-group .react-flow__resize-control.line.left,.react-flow__node-group .xy-flow__resize-control.line.left,.xy-flow__node-group .react-flow__resize-control.line.left,.xy-flow__node-group .xy-flow__resize-control.line.left{border-left-width:var(--dq-group-resize-line-width)!important}.react-flow__node-group .react-flow__resize-control.line.right,.react-flow__node-group .xy-flow__resize-control.line.right,.xy-flow__node-group .react-flow__resize-control.line.right,.xy-flow__node-group .xy-flow__resize-control.line.right{border-right-width:var(--dq-group-resize-line-width)!important}.react-flow__node-group .react-flow__resize-control.line.top,.react-flow__node-group .xy-flow__resize-control.line.top,.xy-flow__node-group .react-flow__resize-control.line.top,.xy-flow__node-group .xy-flow__resize-control.line.top{border-top-width:var(--dq-group-resize-line-width)!important}.react-flow__node-group .react-flow__resize-control.line.bottom,.react-flow__node-group .xy-flow__resize-control.line.bottom,.xy-flow__node-group .react-flow__resize-control.line.bottom,.xy-flow__node-group .xy-flow__resize-control.line.bottom{border-bottom-width:var(--dq-group-resize-line-width)!important}.collapsible-sidebar-panel{display:flex;flex-direction:column;border-radius:var(--ant-border-radius-lg);box-shadow:var(--ant-box-shadow-secondary);border:1px solid var(--ant-color-border);padding:var(--ant-padding);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.collapsible-sidebar-panel:hover{transform:none;box-shadow:var(--ant-box-shadow-secondary);border-color:var(--ant-color-border)}.collapsible-sidebar-panel.collapsed{padding:0;border-radius:var(--ant-border-radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer}.collapsible-sidebar-panel.collapsed:hover{background:var(--ant-color-primary-bg);border-color:var(--ant-color-primary);box-shadow:var(--ant-box-shadow-secondary)}.collapsible-sidebar-panel.borderless{border:none;box-shadow:none;background:var(--ant-color-bg-layout)}.collapsible-sidebar-panel.borderless:hover,.collapsible-sidebar-panel.borderless.collapsed:hover{border:none;box-shadow:none}.collapsible-sidebar-panel.project-chat-sidebar,.collapsible-sidebar-panel.project-chat-sidebar:hover{border:none!important;box-shadow:var(--ant-box-shadow-secondary)!important;background:var(--ant-color-bg-container)!important}.collapsible-sidebar-panel.project-chat-sidebar .sidebar-panel-header{display:none}.sidebar-panel-expand-button{width:100%;height:100%;min-width:40px;min-height:40px;padding:0;margin:0;display:flex;align-items:center;justify-content:center}.sidebar-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ant-margin);padding-bottom:var(--ant-padding-sm);border-bottom:1px solid var(--ant-color-border)}.sidebar-panel-title{color:var(--ant-color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.sidebar-panel-title.editable-title{transition:all .2s ease}.sidebar-panel-title.editable-title:hover{color:var(--ant-color-primary);text-decoration:underline}.sidebar-panel-title-input{flex:1;margin-right:var(--ant-margin-sm)}.sidebar-panel-collapse-button{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.sidebar-panel-collapse-button:hover{background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.sidebar-panel-content{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.sidebar-panel-content::-webkit-scrollbar{width:6px}.sidebar-panel-content::-webkit-scrollbar-track{background:transparent}.sidebar-panel-content::-webkit-scrollbar-thumb{background:var(--ant-color-border);border-radius:var(--ant-border-radius-xs)}.sidebar-panel-content::-webkit-scrollbar-thumb:hover{background:var(--ant-color-text-tertiary)}.codex-view-radio-round .ant-radio-button-wrapper{height:28px;line-height:26px}.codex-view-radio-round .ant-radio-button-wrapper:first-child{border-radius:999px 0 0 999px}.codex-view-radio-round .ant-radio-button-wrapper:last-child{border-radius:0 999px 999px 0}.section-title-row{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--ant-font-size, 16px);color:var(--ant-color-text)}.section-title-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:var(--ant-color-primary-bg)}.section-title-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ant-color-primary)}.section-title-tag{font-weight:600;border:none}.section-title-subtitle{font-weight:400;color:var(--ant-color-text-secondary)}.image-style-preset-trigger{display:flex;align-items:center;gap:var(--ant-padding-sm, 12px);width:100%;padding:var(--ant-padding-xs, 8px) var(--ant-padding-sm, 12px);border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius-sm, 6px);background:var(--ant-color-bg-container);cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s}.image-style-preset-trigger:hover{border-color:var(--ant-color-primary-border);box-shadow:0 2px 8px #0000000f}.image-style-preset-trigger:focus-visible{border-color:var(--ant-color-primary);box-shadow:0 0 0 2px var(--ant-color-primary-bg);outline:none}.image-style-preset-trigger__preview{width:48px;height:48px;flex-shrink:0;border-radius:var(--ant-border-radius-xs, 4px);overflow:hidden;background:var(--ant-color-fill-quaternary)}.image-style-preset-trigger__img{width:100%;height:100%;object-fit:cover;display:block}.image-style-preset-trigger__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--ant-color-fill-tertiary) 0%,var(--ant-color-fill-quaternary) 100%)}.image-style-preset-trigger__icon-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--ant-color-fill-quaternary);color:var(--ant-color-text-tertiary)}.image-style-preset-trigger__name{font-weight:500;font-size:var(--ant-font-size, 14px);color:var(--ant-color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-style-preset-dropdown{padding:var(--ant-padding-sm, 12px);background:var(--ant-color-bg-elevated);border-radius:var(--ant-border-radius-md, 8px);box-shadow:var(--ant-box-shadow-secondary);border:1px solid var(--ant-color-border-secondary);max-height:min(70vh,420px);overflow-y:auto}.image-style-preset-dropdown__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--ant-padding-sm, 12px)}.image-style-preset-dropdown__grid .image-style-preset-option-card{margin:0;border:1px solid var(--ant-color-border)}.image-style-preset-dropdown__grid .image-style-preset-option-card .novel-card-cover-wrapper,.image-style-preset-dropdown__grid .image-style-preset-option-card .novel-card-cover-wrapper img,.image-style-preset-dropdown__grid .image-style-preset-option-card .novel-cover-placeholder{aspect-ratio:1 / 1}.image-style-preset-dropdown__grid .image-style-preset-option-card .ant-card-meta-title{font-size:var(--ant-font-size-sm);line-height:1.25;margin-bottom:0;text-align:center}.image-style-preset-dropdown__grid .image-style-preset-option-card .ant-card-body{padding:6px 12px;text-align:center}.image-style-preset-dropdown__grid .image-style-preset-option-card .ant-card-meta{text-align:center}.image-style-preset-option-card__icon-wrap{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:var(--ant-color-fill-quaternary);color:var(--ant-color-text-tertiary)}.image-style-preset-custom-wrap{margin-top:var(--ant-padding-sm, 12px)}.image-style-preset-custom-input{resize:none}.novel-profile-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:transparent}.novel-profile-body{flex:1;overflow-y:auto;padding:var(--ant-padding-lg);min-height:0;display:flex;justify-content:center}.novel-profile-body-inner{width:100%;max-width:1200px}.novel-profile-layout{display:flex;gap:var(--ant-padding-lg);align-items:flex-start;width:100%}.novel-profile-settings{flex:3;min-width:0;display:flex;flex-direction:column;gap:var(--ant-padding-md)}.novel-profile-settings>.ant-form-item{margin-bottom:0}.novel-profile-cover-wrap{flex:2;min-width:0;display:flex;flex-direction:column;gap:var(--ant-padding-sm)}.novel-profile-title-input{font-size:var(--ant-font-size-lg);font-weight:600}.novel-profile-form-fields .ant-form-item-label>label{color:var(--ant-color-text-secondary);font-weight:500;width:100%}.novel-profile-form-fields .ant-form-item-label{width:100%}.novel-profile-form-fields .ant-form-item{margin-bottom:28px}.novel-profile-form-fields .ant-form-item:last-child{margin-bottom:0}.novel-profile-settings .ant-input,.novel-profile-settings .ant-select-selector{border-radius:var(--ant-border-radius-sm)}.novel-profile-body::-webkit-scrollbar{width:6px}.novel-profile-body::-webkit-scrollbar-track{background:transparent}.novel-profile-body::-webkit-scrollbar-thumb{background:var(--ant-color-border);border-radius:var(--ant-border-radius-xs)}.novel-profile-body::-webkit-scrollbar-thumb:hover{background:var(--ant-color-text-tertiary)}.subscription-prompt-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--ant-color-primary-bg);border:1px solid var(--ant-color-primary-border);border-radius:var(--ant-border-radius-md, 8px);flex-shrink:0}.subscription-prompt-bar__message{color:var(--ant-color-primary-text);font-size:13px}.subscription-prompt-bar__extra{display:flex;align-items:center;gap:8px}.trial-ended-banner-wrapper{flex-shrink:0;padding:var(--ant-padding-sm, 8px) var(--ant-padding-lg, 24px);padding-bottom:var(--ant-padding-md, 16px)}.trial-ended-banner-wrapper__bar{border-radius:var(--ant-border-radius-md, 8px)}.chapter-beats-panel{height:100%;overflow-y:auto;background:var(--ant-color-bg-container)}.chapter-beats-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;height:44px;min-height:44px;margin-bottom:16px;margin-left:-20px;margin-right:-20px;padding:0 20px;flex-shrink:0;box-sizing:border-box;background:var(--ant-color-bg-container);border-bottom:1px solid var(--ant-color-border)}.chapter-beats-header .ant-btn{border-radius:var(--ant-border-radius-xs);transition:all .2s ease}.chapter-beats-list{display:flex;flex-direction:column;gap:0}.chapter-beat-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px}.chapter-beat-card-body-wrap{position:relative}.chapter-beat-card-body{line-height:1.5}.chapter-beat-card-body--collapsed{max-height:60px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.chapter-beat-card-body--expanded{max-height:none;overflow:visible;display:block;word-break:break-word}.chapter-beat-card-toggle-row{height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ant-color-text-secondary);transition:color .2s,background .2s}.chapter-beat-card-toggle-row:hover{color:var(--ant-color-primary)}.chapter-beat-card-expand-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--ant-color-bg-container) 85%,transparent));z-index:1}.chapter-beat-card-expand-overlay:hover{background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--ant-color-bg-container) 95%,transparent))}.chapter-beat-card-collapse-row{margin-top:8px;background:var(--ant-color-fill-quaternary);border-radius:var(--ant-border-radius-xs)}.chapter-beat-card-collapse-row:hover{background:var(--ant-color-fill-secondary)}.chapter-beat-drag-handle{color:var(--ant-color-text-secondary)!important;border:none;background:transparent;padding:var(--ant-padding-xs) 1px;min-width:auto;height:auto;opacity:0;transition:opacity .2s,color .2s;cursor:grab;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--ant-border-radius-xs);line-height:1;z-index:2;position:relative;margin-top:4px}.chapter-beat-drag-handle svg{display:block;width:10px;height:14px}.chapter-beat-drag-handle-placeholder{width:12px;height:auto;flex-shrink:0}.chapter-beat-item:hover .chapter-beat-drag-handle,.chapter-beat-item.dragging .chapter-beat-drag-handle{opacity:1}.chapter-beat-drag-handle:hover{color:var(--ant-color-text)!important;background:var(--ant-color-fill-secondary)!important}.chapter-beat-drag-handle:active{cursor:grabbing}.chapter-beat-item.dragging{opacity:.5}.chapter-drag-indicator{height:2px;background:var(--ant-color-primary);margin:0;position:relative;z-index:100;box-shadow:0 0 4px color-mix(in srgb,var(--ant-color-primary) 50%,transparent)}.chapter-drag-indicator:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:4px solid var(--ant-color-primary)}.chapter-drag-indicator:after{content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid var(--ant-color-primary)}.chapter-drag-indicator-before{margin-bottom:-2px}.chapter-drag-indicator-after{margin-top:-2px}.project-page{display:flex;flex-direction:column;height:100vh;width:100%;padding:0 var(--ant-padding) var(--ant-padding);gap:0;background:var(--ant-color-bg-layout);overflow:hidden}.project-top-bar{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:transparent!important;border:none!important;box-shadow:none!important}.top-bar-left{display:flex;align-items:center;gap:var(--ant-padding)}.mode-buttons{display:flex;gap:var(--ant-padding-xs)}.top-bar-center{flex:1;display:flex;justify-content:center;align-items:center;min-width:0}.top-bar-codex-view-switch.ant-radio-group{height:32px}.top-bar-codex-view-switch .ant-radio-button-wrapper{height:32px;line-height:30px;padding:0 16px;border-radius:0}.top-bar-codex-view-switch .ant-radio-button-wrapper:first-child{border-start-start-radius:var(--ant-border-radius-xl, 16px);border-end-start-radius:var(--ant-border-radius-xl, 16px);border-start-end-radius:0;border-end-end-radius:0}.top-bar-codex-view-switch .ant-radio-button-wrapper:last-child{border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:var(--ant-border-radius-xl, 16px);border-end-end-radius:var(--ant-border-radius-xl, 16px)}.top-bar-right{display:flex;align-items:center;gap:var(--ant-padding)}.top-bar-right .ant-btn.top-bar-ai-image-btn{border-radius:var(--ant-border-radius-lg, 16px)}.top-bar-right .ant-btn.top-bar-right-icon-btn{width:var(--ant-control-height);min-width:var(--ant-control-height);padding:0;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.word-count{font-weight:var(--font-weight-medium);color:var(--ant-color-text)}.saved-icon{color:var(--ant-color-success);width:16px;height:16px}.saved-text{font-weight:var(--font-weight-base);color:var(--ant-color-success)}.project-main-content{display:flex;gap:0;padding:0!important;flex:1;min-height:0;overflow:hidden;background:transparent!important;border:none!important;box-shadow:none!important}.content-panel-header{height:44px;min-height:44px;padding:0 var(--ant-padding-lg);padding-top:var(--ant-padding-xs);padding-bottom:var(--ant-padding-xs);border-bottom:1px solid var(--ant-color-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:transparent;box-sizing:border-box}.content-panel-header .section-title-row{font-size:var(--ant-font-size-sm)}.content-panel-header .section-title-badge{padding:4px 10px}.content-panel-header .section-title-icon svg{width:16px;height:16px}.project-left-sidebar-wrapper{position:relative;flex-shrink:0;overflow:visible}.project-left-sidebar-resize-handle{position:absolute;top:0;right:-4px;width:12px;height:100%;cursor:ew-resize;z-index:10;background:transparent;pointer-events:auto}.project-left-sidebar-resize-handle:before{content:"";position:absolute;top:0;right:4px;width:2px;height:100%;background:transparent;transition:background-color .2s ease,box-shadow .2s ease}.project-left-sidebar-resize-handle:hover:before,.project-left-sidebar-resize-handle.active:before{background:var(--ant-color-primary);box-shadow:0 0 8px var(--ant-color-primary);opacity:.6}.project-left-sidebar-resize-handle.active:before{opacity:1;box-shadow:0 0 12px var(--ant-color-primary)}.project-sidebar{width:280px;min-width:280px;display:flex;flex-direction:column;border-radius:var(--ant-border-radius-lg);box-shadow:var(--ant-box-shadow-secondary);background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);padding:var(--ant-padding) var(--ant-padding) var(--ant-padding) var(--ant-padding-sm);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-sidebar:hover{transform:none;box-shadow:var(--ant-box-shadow-secondary);border-color:var(--ant-color-border)}.project-sidebar.collapsed{width:60px;min-width:60px;padding:var(--ant-padding) var(--ant-padding-sm)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ant-padding);padding-bottom:var(--ant-padding);border-bottom:1px solid var(--ant-color-border)}.sidebar-title{color:var(--ant-color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-title.editable-title{transition:all .2s ease}.sidebar-title.editable-title:hover{color:var(--ant-color-primary);text-decoration:underline}.sidebar-title-input{flex:1;margin-right:var(--ant-padding-sm)}.project-sidebar.collapsed .sidebar-title{display:none}.sidebar-actions{display:flex;flex-direction:column;gap:var(--ant-padding-sm);margin-bottom:var(--ant-padding)}.sidebar-actions .ant-btn{transition:all .2s ease}.sidebar-actions .ant-btn-primary:hover{box-shadow:0 2px 8px var(--ant-color-primary-bg)}.project-sidebar.collapsed .sidebar-actions{display:none}.sidebar-tree{flex:1;overflow-y:auto;margin-bottom:var(--ant-padding);padding-right:var(--ant-padding-xs)}.project-sidebar.collapsed .sidebar-tree{display:none}.sidebar-chapters{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--ant-padding-xs) 0;margin-bottom:var(--ant-padding)}.project-sidebar.collapsed .sidebar-chapters{display:none}.chapters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--ant-padding);padding:0 var(--ant-padding-xs)}.sidebar-chapters .ant-list{background:transparent}.sidebar-chapters .ant-list-item{border:none;transition:all .2s ease;display:flex!important;align-items:center!important}.sidebar-chapters .ant-list-item:hover{background:var(--ant-color-fill-tertiary)}.sidebar-chapters .ant-list-item-meta{display:flex!important;align-items:center!important;flex:1}.chapter-list-item{transition:all .2s;background:transparent}.chapter-list-item:hover{background:var(--ant-color-fill-tertiary)}.chapter-list-item.selected,.chapter-list-item.selected:hover{background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.chapter-list-item.selected .ant-list-item-meta-title{color:var(--ant-color-text)}.sidebar-chapters .ant-list-item-meta-avatar{margin-right:var(--ant-padding-xs)!important;width:18px;min-width:18px;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0}.sidebar-chapters .ant-list-item-meta-content{display:flex;align-items:center;flex:1}.sidebar-chapters .ant-list-item-meta-title{margin:0!important;display:flex;align-items:center;line-height:1.5}.chapter-list-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sidebar-chapters::-webkit-scrollbar{width:6px}.sidebar-chapters::-webkit-scrollbar-track{background:transparent}.sidebar-chapters::-webkit-scrollbar-thumb{background:var(--ant-color-border);border-radius:var(--ant-border-radius-xs)}.sidebar-chapters::-webkit-scrollbar-thumb:hover{background:var(--ant-color-text-tertiary)}.document-tree{background:transparent;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}.document-tree *{font-family:inherit;font-size:inherit;font-weight:inherit}.document-tree .ant-tree-node-content-wrapper{border-radius:var(--ant-border-radius-sm);padding:var(--ant-padding-xs) var(--ant-padding-sm);transition:all .2s}.document-tree .ant-tree-node-selected .ant-tree-node-content-wrapper{font-weight:var(--ant-font-weight-strong)}.document-tree .ant-tree-title{color:var(--ant-color-text);line-height:normal;font-weight:var(--font-weight-medium);-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility}.sidebar-footer{padding-top:var(--ant-padding);border-top:1px solid var(--ant-color-border)}.project-sidebar.collapsed .sidebar-footer{display:none}.toggle-row{display:flex;justify-content:space-between;align-items:center;width:100%}.trash-link{font-weight:var(--font-weight-base);cursor:pointer;transition:color .2s}.toggle-row .ant-typography{font-weight:var(--font-weight-base)}.toggle-row .ant-btn{font-weight:var(--font-weight-base);height:auto;padding:0}.toggle-row .ant-btn-link{color:var(--ant-color-primary);font-weight:var(--ant-font-weight-strong)}.toggle-row .ant-btn-link:hover{color:var(--ant-color-primary-hover)}.trash-link:hover{color:var(--ant-color-primary)}.card-container-base.project-editor{flex:1;display:flex;flex-direction:column;border-radius:var(--ant-border-radius-xl, 20px)!important;border:none;overflow:hidden;min-width:0;padding:0;transition:none;margin:4px}.card-container-base.project-chat-sidebar{border-radius:var(--ant-border-radius-xl, 20px)!important;border:none!important;background:var(--ant-color-bg-container)!important;box-shadow:var(--ant-box-shadow-secondary)!important;overflow:hidden;transition:none;margin:4px}.card-container-base.project-chat-sidebar:hover{transform:none;box-shadow:var(--ant-box-shadow-secondary)!important;border-color:transparent}.project-editor.project-editor--with-padding{padding:var(--ant-padding-lg)}.card-container-base.project-editor:hover{transform:none;border-color:transparent}@media(max-width:1024px){.project-sidebar{width:240px;min-width:240px}.mode-buttons{display:none}}@media(max-width:768px){.project-page{padding:var(--ant-padding);gap:var(--ant-padding)}.project-sidebar{position:absolute;left:var(--ant-padding);top:80px;bottom:var(--ant-padding);z-index:100;transform:translate(-100%);transition:transform .3s}.project-sidebar:not(.collapsed){transform:translate(0)}.top-bar-left,.top-bar-right{gap:var(--ant-padding-sm)}.word-count,.saved-text{display:none}}.sidebar-tree::-webkit-scrollbar{width:6px;height:6px}.sidebar-tree::-webkit-scrollbar-track{background:transparent}.sidebar-tree::-webkit-scrollbar-thumb{background:var(--ant-color-border);border-radius:var(--ant-border-radius-xs)}.sidebar-tree::-webkit-scrollbar-thumb:hover{background:var(--ant-color-text-tertiary)}.chapter-editor-splitter{position:relative;z-index:10;-webkit-user-select:none;user-select:none}.chapter-editor-splitter:hover{background-color:var(--ant-color-primary)!important}.chapter-editor-splitter:before{content:"";position:absolute;inset:0 -2px;cursor:col-resize}.subscription-page{background:var(--app-page-background-gradient);min-height:100vh;width:100%}.subscription-page__inner{padding:var(--ant-padding-lg);max-width:1000px;margin:0 auto}.subscription-page .page-header-title{font-size:54px!important}.subscription-page .page-header-desc{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size);margin-bottom:0}.subscription-toggle-wrap{display:flex;align-items:center;gap:12px;margin-bottom:var(--ant-margin-xl)}.subscription-toggle-badge{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary)}.subscription-plans-loading{text-align:center;padding:48px;color:var(--ant-color-text-secondary)}.subscription-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;align-items:stretch}.subscription-plan-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--ant-color-border)}.subscription-plan-card:not(.subscription-plan-card-popular){background:var(--ant-color-bg-container)}.subscription-plan-card-popular{border-color:var(--ant-color-primary);box-shadow:0 0 0 1px var(--ant-color-primary)}.subscription-plan-badge{position:absolute;top:0;left:0;right:0;padding:6px 12px;background:var(--app-primary-fill, var(--ant-color-primary));color:#fff;font-size:var(--ant-font-size-sm);font-weight:500;text-align:center;border-radius:var(--ant-border-radius-lg) var(--ant-border-radius-lg) 0 0;margin:-1px -1px 0}.subscription-plan-title{display:flex;align-items:center;gap:8px;margin-top:8px;margin-bottom:4px}.subscription-plan-card-popular .subscription-plan-title{margin-top:36px}.subscription-plan-title-icon{color:var(--ant-color-primary);font-size:1.25rem}.subscription-plan-name{font-size:1.125rem;font-weight:600;color:var(--ant-color-text)}.subscription-plan-price{font-size:var(--app-price-display-font-size, 1.5rem);font-family:var(--app-price-display-font-family, inherit);font-weight:700;color:var(--ant-color-text);margin-bottom:8px}.subscription-plan-interval{font-size:var(--ant-font-size);font-weight:400;color:var(--ant-color-text-secondary)}.subscription-plan-desc{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);flex:1;margin-bottom:12px;min-height:0}.subscription-plan-features{list-style:none;margin:0 0 16px;padding:0}.subscription-plan-features li{position:relative;padding-left:16px;margin-bottom:8px;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm)}.subscription-plan-features li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--ant-color-primary)}.subscription-plan-cta{min-height:45px;display:flex;align-items:center;justify-content:center}.subscription-plan-cta #paypal-button-container{min-width:200px}.plans-section-desc,.credit-packs-desc{color:var(--ant-color-text-secondary);margin-bottom:24px}.credit-pack-card:not(.credit-pack-card-popular){background:var(--ant-color-bg-container)}.credit-pack-card-popular{border-color:var(--ant-color-primary);box-shadow:0 0 0 1px var(--ant-color-primary)}.credit-pack-card-popular .subscription-plan-title{margin-top:36px}.credit-pack-card .subscription-plan-price{margin-bottom:20px}.credit-pack-card .credit-pack-desc{margin-top:4px;margin-bottom:20px}.credit-pack-card .subscription-plan-credit-amount{margin-top:24px;margin-bottom:16px}.subscription-plan-credit-amount{font-size:var(--app-price-display-font-size, 1.5rem);font-family:var(--app-price-display-font-family, inherit);font-weight:700;color:var(--ant-color-text)}.waitlist-page{min-height:100vh;background:var(--app-page-background-gradient, linear-gradient(180deg, #f5e9ff 0%, #faf0ff 35%, #f7f7f7 100%));display:flex;flex-direction:column;align-items:center;overflow-x:hidden}.waitlist-nav{width:100%;padding:16px 24px 0;position:sticky;top:0;z-index:100}.waitlist-nav-inner{max-width:1100px;margin:0 auto;background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(180,120,230,.15);border-radius:999px;padding:8px 16px 8px 12px;display:flex;align-items:center;box-shadow:0 2px 16px #9600c80f}.waitlist-brand{display:flex;align-items:center;gap:8px;text-decoration:none}.waitlist-logo{width:30px;height:30px;object-fit:contain}.waitlist-brand-name{font-family:GT Super Text,Georgia,serif;font-weight:700;font-size:1.05rem;background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}.waitlist-body{flex:1;display:flex;align-items:center;justify-content:center;padding:72px 24px 96px}.waitlist-card{background:#fff;border:1px solid rgba(180,120,230,.14);border-radius:24px;padding:52px 48px;max-width:480px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 2px 8px #9600c80d,0 12px 40px #9600c81a}.waitlist-icon-wrap{width:64px;height:64px;border-radius:50%;background:var(--app-primary-fill, linear-gradient(135deg, #D652FC, #7026C4));display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 4px 20px #9600c840}.waitlist-icon-check{color:#fff;font-size:28px;font-weight:700;line-height:1}.waitlist-title{font-size:2rem;font-weight:800;line-height:1.2;letter-spacing:-.03em;color:#1a1a2e;margin:0 0 10px}.waitlist-email{font-size:14px;color:#888;margin:0}.waitlist-email strong{color:#444}.waitlist-divider{width:100%;height:1px;background:#b478e624;margin:28px 0}.waitlist-info{width:100%;display:flex;flex-direction:column;gap:14px}.waitlist-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;text-align:left}.waitlist-info-label{font-size:13px;color:#999;white-space:nowrap;flex-shrink:0}.waitlist-info-value{font-size:13px;color:#444;text-align:right}.waitlist-perks{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.waitlist-perks span{font-size:13px;color:#444}.waitlist-hint{font-size:13px;color:#aaa;margin:0}.waitlist-hint a{color:var(--ant-color-primary, #9600C8);text-decoration:none}.waitlist-hint a:hover{text-decoration:underline}.waitlist-back-btn.ant-btn{margin-top:24px;border-radius:999px;font-weight:600;font-size:.875rem;height:38px;padding:0 24px;border:1.5px solid rgba(150,0,200,.2);background:#fde6ff66;color:var(--ant-color-primary, #9600C8)}.waitlist-back-btn.ant-btn:hover{background:#fde6ffcc!important;border-color:var(--ant-color-primary, #9600C8)!important;color:var(--ant-color-primary, #9600C8)!important}.app-layout{min-height:100vh}.app-header-wrap{position:sticky;top:0;z-index:100;padding:12px var(--ant-padding-lg, 24px) 0}.app-header{position:relative}.app-content{padding:0}.header-subscribe-cta{font-size:var(--ant-font-size-sm, 14px)}.header-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:GT Super Text,Georgia,serif;font-weight:600;font-size:1.125rem;background:var(--app-primary-fill, var(--ant-color-primary));-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .2s ease}.header-brand:hover{color:transparent;background:var(--app-primary-fill, var(--ant-color-primary));-webkit-background-clip:text;background-clip:text;transform:scale(1.05)}.header-logo{display:inline-block;width:42px;height:42px;object-fit:contain;flex-shrink:0}.header-product-name{white-space:nowrap}
