:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff9f1;--panel:#fffbf7;--panel-soft:#fff2eb;--border:#efddd8;--border-strong:#e3b8b4;--text:#442723;--muted:#806c69;--accent:#df8074;--accent-soft:#ffedea;--tint-peach:#ffede0;--tint-peach-soft:#fff9f3;--tint-blush:#ffebec;--tint-blush-soft:#fff7f7;--tint-lavender:#efebff;--tint-lavender-soft:#faf9ff;--danger:#db646c;--warning:#d49838;--font-display:var(--font-fraunces), "Fraunces", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", ui-serif, serif;--font-body:var(--font-geist), -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", ui-sans-serif, sans-serif}@supports (color:lab(0% 0 0)){:root{--bg:lab(98.2801% 1.04904 4.44803);--panel:lab(98.835% 1.13368 2.78091);--panel-soft:lab(96.4444% 3.92893 5.32813);--border:lab(89.3976% 6.10748 4.90359);--border-strong:lab(78.6538% 15.3895 8.34779);--text:lab(19.5631% 13.5386 9.22145);--muted:lab(47.5896% 7.36347 4.90325);--accent:lab(64.0939% 36.7625 23.3624);--accent-soft:lab(95.1295% 7.65783 4.12669);--tint-peach:lab(95.1831% 8.90634 11.973);--tint-peach-soft:lab(98.2166% 3.7705 7.36492);--tint-blush:lab(94.9494% 12.3753 3.89941);--tint-blush-soft:lab(98.0324% 7.05951 2.67049);--tint-lavender:lab(93.7712% 6.17167 -13.5351);--tint-lavender-soft:lab(98.0306% 3.31408 -7.49421);--danger:lab(57.7992% 48.2842 19.5094);--warning:lab(67.4206% 16.9757 56.8987)}}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{background-color:#0000;background-image:radial-gradient(55% 50% at 88% -8%,#ffede3b8,#0000 65%),radial-gradient(55% 60% at -10% 25%,#ffecee99,#0000 65%),radial-gradient(60% 45% at 60% 108%,#eeecff52,#0000 65%),linear-gradient(168deg,#fffcf7 0%,#fff8f5 60%,#fff5f5 100%);background-image:radial-gradient(55% 50% at 88% -8%,lab(95.1339% 11.2289 15.048/.72),#0000 65%),radial-gradient(55% 60% at -10% 25%,lab(94.8552% 14.8203 3.74345/.6),#0000 65%),radial-gradient(60% 45% at 60% 108%,lab(93.8028% 5.13428 -14.0356/.32),#0000 65%),linear-gradient(168deg,lab(99.0952% .458837 3.01471) 0%,lab(98.1247% 5.33777 4.77366) 60%,lab(97.4109% 8.34376 3.1595) 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;min-height:100vh;position:relative}.cloud-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.cloud-bg-shape{filter:blur(.5px);will-change:transform;animation-name:cloud-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;position:absolute}.cloud-tint-peach{color:#fff0ea;color:lab(96.2083% 12.1502 10.8568)}.cloud-tint-blush{color:#ffecee;color:lab(94.8552% 14.8203 3.74345)}.cloud-tint-butter{color:#fff6e1;color:lab(97.2668% .786603 15.5592)}.cloud-tint-lavender{color:#ece7ff;color:lab(92.4957% 7.81766 -16.8604)}@keyframes cloud-drift{0%{transform:translate(-14px,6px)}to{transform:translate(22px,-10px)}}@media (prefers-reduced-motion:reduce){.cloud-bg-shape{animation:none}}.shell{z-index:1;position:relative}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,.ghost-button,.primary-button{color:var(--text);cursor:pointer;letter-spacing:.01em;background:#ffffff8c;background:lab(100% 0 0/.55);border:1px solid #f2dcd8d9;border:1px solid lab(89.3514% 7.33143 4.87185/.85);border-radius:12px;padding:9px 14px;font-size:14px;transition:border-color .2s,background .2s,transform .16s}button:hover,.ghost-button:hover{background:#ffffffd9;background:lab(100% 0 0/.85);border-color:#e9b6b1;border-color:lab(78.5584% 18.4969 10.0599)}.primary-button{color:#fff;background:linear-gradient(135deg,#fe9979,#e8777d);background:linear-gradient(135deg,lab(73.485% 36.7248 33.5955),lab(63.7127% 45.051 17.9826));border:1px solid #ca5556;border:1px solid lab(52.0651% 47.6892 24.0507);box-shadow:inset 0 1px #ffffff73,0 8px 18px -10px #bd404580;box-shadow:inset 0 1px lab(100% 0 0/.45),0 8px 18px -10px lab(46.1482% 50.9717 26.2837/.5)}.primary-button:hover{background:linear-gradient(135deg,#fc8e71,#de6672);background:linear-gradient(135deg,lab(71.03% 40.5028 34.8791),lab(58.9249% 48.5413 17.348));border-color:#bd4049;border-color:lab(46.1125% 51.2731 23.8223)}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px)saturate(1.05);background:#fefbf79e;background:lab(98.8435% .683069 2.15864/.62);border-bottom:1px solid #f5dfda8c;border-bottom:1px solid lab(90.535% 6.94805 5.57861/.55);position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;max-width:1320px;margin:0 auto;padding:16px 28px;display:flex}.brand-link{color:var(--text);align-items:center;gap:12px;text-decoration:none;transition:transform .22s,opacity .22s;display:inline-flex}.brand-link:hover{opacity:.88;transform:translateY(-1px)}.brand-link-textonly{gap:0}.brand-mark{filter:drop-shadow(0 10px 18px #a05c5824);filter:drop-shadow(0 10px 18px lab(46.9214% 28.1906 15.0552/.14));flex-shrink:0;width:46px;height:46px;display:inline-flex}.brand-mark svg{width:100%;height:100%;display:block}.brand-text{flex-direction:column;align-items:flex-start;gap:4px;line-height:1;display:inline-flex}.brand-cn,.brand-en{display:block}.brand-cn{color:var(--text);letter-spacing:.015em;font-family:Songti SC,STSong,Source Han Serif SC,Source Han Serif CN,Hiragino Mincho ProN,Noto Serif CJK SC,serif;font-size:22px;font-weight:600}.brand-en{font-family:var(--font-body);color:#7d6967;color:lab(46.4207% 7.4974 4.60811);letter-spacing:.14em;font-size:10px;font-weight:600}.topbar-actions{align-items:center;gap:10px;display:flex}.page{max-width:1320px;margin:0 auto;padding:32px 24px 48px}.hero{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.hero-dream{background:linear-gradient(135deg,#fffdfaeb,#fff1edb3 60%,#ffe8eaa6),#fff6;background:linear-gradient(135deg,lab(99.4236% .68301 2.15862/.92),lab(96.3209% 7.1812 5.15627/.7) 60%,lab(93.8076% 11.5338 2.90481/.65)),lab(100% 0 0/.4);border:1px solid #fde9e6d9;border:1px solid lab(94.0168% 6.44469 4.28087/.85);border-radius:32px;align-items:center;padding:60px 56px 56px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffa6,0 24px 60px -36px #a4585747;box-shadow:inset 0 1px lab(100% 0 0/.65),0 24px 60px -36px lab(46.7921% 31.6715 15.5039/.28)}.hero-dream h1{letter-spacing:.01em;color:var(--text);margin:0 0 14px;font-family:Songti SC,STSong,Source Han Serif SC,Source Han Serif CN,Hiragino Mincho ProN,Noto Serif CJK SC,serif;font-size:clamp(26px,3.2vw,40px);font-style:normal;font-weight:600;line-height:1.28;display:inline-block;transform:none}.hero-dream p{color:var(--muted);letter-spacing:.015em;margin:0;font-family:Songti SC,STSong,Source Han Serif SC,Source Han Serif CN,Hiragino Mincho ProN,Noto Serif CJK SC,serif;font-size:15.5px;line-height:1.8}.hero-halo{pointer-events:none;filter:blur(36px);z-index:0;background:radial-gradient(circle,#ffdbb873 0%,#ffe6e02e 38%,#0000 68%);background:radial-gradient(circle,lab(90.4602% 16.9657 31.6093/.45) 0%,lab(93.7777% 14.7519 9.83272/.18) 38%,#0000 68%);width:520px;height:520px;position:absolute;inset:-38% -18% auto auto}.hero-dream:after{content:"";pointer-events:none;filter:blur(34px);z-index:0;background:radial-gradient(circle,#ffdee166,#0000 65%);background:radial-gradient(circle,lab(90.9802% 26.2877 6.71817/.4),#0000 65%);width:460px;height:460px;position:absolute;inset:auto auto -40% -22%}.hero-dream>div:not(.hero-halo),.hero-dream>:not(.hero-halo){z-index:1;position:relative}@media (max-width:720px){.hero-dream{border-radius:26px;padding:42px 28px 38px}.hero-dream h1{font-size:26px}}.hero h1,.card h3,.workspace-title{margin:0;font-size:24px;line-height:1.2}.hero p,.muted,.card p{color:var(--muted)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.card{border:1px solid var(--border);background:var(--panel);border-radius:20px;padding:18px;box-shadow:0 2px 12px #18181408}.card-eyebrow{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px;display:flex}.novel-card{position:relative}.novel-card-cover{aspect-ratio:5;border-radius:18px 18px 0 0;justify-content:center;align-items:center;width:calc(100% + 48px);margin:-24px -24px 18px;display:flex;position:relative;overflow:hidden}.novel-card-cover:after{content:"";pointer-events:none;background:radial-gradient(at 30% 30%,#ffffff38,#0000 60%),radial-gradient(at 80% 80%,#ffffff1a,#0000 60%);position:absolute;inset:0}.novel-card-cover-motif{font-family:var(--font-serif,Georgia, "Source Han Serif SC", "Noto Serif SC", "Songti SC", serif);letter-spacing:.32em;color:#462814d1;z-index:1;-webkit-user-select:none;user-select:none;padding-left:.32em;font-size:15px;font-weight:500;position:relative}.novel-card-cover-eyebrow{color:#46281494;letter-spacing:.08em;z-index:2;justify-content:space-between;gap:12px;font-size:11px;display:flex;position:absolute;top:10px;left:16px;right:16px}.novel-card-title{font-family:var(--font-serif,Georgia, "Source Han Serif SC", "Noto Serif SC", "Songti SC", serif);letter-spacing:.02em;color:var(--text);margin:0 0 12px;font-size:26px;font-weight:500;line-height:1.25}.novel-card-managed{flex-direction:column;display:flex}.novel-card-delete{background:var(--panel-soft);color:var(--muted);cursor:pointer;opacity:0;z-index:2;border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:12px;transition:opacity .2s,background .15s,color .15s,border-color .15s;position:absolute;top:12px;right:12px}.novel-card:hover .novel-card-delete{opacity:1}.novel-card-delete:hover{background:var(--accent-soft);color:var(--danger);border-color:var(--danger)}.novel-card-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.novel-card-open,.novel-card-edit{text-decoration:none}.novel-card-open{flex:1;justify-content:center;align-items:center;display:inline-flex}.novel-card-edit{flex-shrink:0}.novel-edit-panel{gap:14px;margin-bottom:18px;display:grid}.novel-edit-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.novel-edit-field{color:var(--muted);gap:8px;font-size:13px;display:grid}.novel-edit-field input,.novel-edit-field textarea{border:1px solid var(--border);background:var(--panel-soft);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:14px;padding:12px 14px}.novel-edit-field input:focus,.novel-edit-field textarea:focus{border-color:var(--border-strong);background:var(--panel);outline:none}.novel-edit-actions{gap:10px;display:flex}.tag-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tag{background:var(--accent-soft);color:var(--muted);border-radius:999px;padding:5px 10px;font-size:12px;display:inline-flex}.two-column{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:20px;display:grid}.field-stack{gap:12px;display:grid}.field-stack label{gap:8px;display:grid}.field-stack span,.section-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.field-stack input,.field-stack textarea,.editor-area textarea,.inline-input,.login-form input{border:1px solid var(--border);background:var(--panel-soft);width:100%;color:var(--text);resize:vertical;border-radius:14px;padding:12px 14px}.field-stack input:focus,.field-stack textarea:focus,.editor-area textarea:focus,.inline-input:focus,.login-form input:focus{border-color:var(--border-strong);background:var(--panel);outline:none}.workspace-layout{grid-template-columns:260px minmax(0,1fr) 380px;align-items:start;gap:18px;display:grid}.editor-stack{gap:18px;display:grid}.chapter-list{gap:8px;display:grid}.chapter-button{text-align:left;background:var(--panel);width:100%}.chapter-button.active{background:var(--accent-soft);border-color:var(--border-strong)}.editor-area{gap:14px;display:grid}.editor-toolbar,.action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stream-status{background:var(--panel-soft);border:1px solid var(--border);width:fit-content;color:var(--text-muted);border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.stream-status:before{content:"";background:var(--accent);border-radius:999px;width:8px;height:8px;animation:1.15s ease-in-out infinite stream-pulse}@keyframes stream-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.editor-area textarea{background:var(--panel);min-height:68vh;line-height:1.8}.chat-thread{gap:10px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.chat-bubble{border:1px solid var(--border);border-radius:16px;gap:6px;padding:14px;display:grid}.chat-bubble p,.plot-plan-item p{color:var(--text);margin:0;line-height:1.7}.chat-bubble.user{background:var(--panel-soft)}.chat-bubble.assistant{background:var(--panel)}.chat-input{border:1px solid var(--border);background:var(--panel-soft);width:100%;color:var(--text);resize:vertical;border-radius:14px;padding:12px 14px}.chat-input:focus{border-color:var(--border-strong);background:var(--panel);outline:none}.interview-layout{align-items:start}.interview-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:16px;min-height:74vh;display:grid}.phase-row{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.phase-dot.active{color:var(--text)}.interview-thread{min-height:54vh;max-height:none;padding-right:8px}.interview-thread .chat-bubble p,.summary-text{font-size:16px;line-height:1.85}.interview-composer{gap:12px;display:grid}.system-divider{text-align:center;color:var(--muted);padding:8px 0;font-size:13px}.summary-card{gap:14px;display:grid;position:sticky;top:96px}.summary-block{border:1px solid var(--border);background:var(--panel-soft);border-radius:16px;gap:8px;padding:14px;display:grid}.summary-prewrap{white-space:pre-wrap}.summary-cta{background:var(--panel)}.summary-item{border:1px solid var(--border);background:var(--panel-soft);border-radius:14px;padding:12px 14px}.plot-plan-card,.nested-card{background:var(--panel-soft)}.plot-plan-list{gap:10px;display:grid}.plot-plan-item{border:1px solid var(--border);background:#ffffffb3;border-radius:14px;gap:6px;padding:12px 14px;display:grid}.reader-page{max-width:860px}.reader-card{padding:32px}.reader-card p{color:var(--text);line-height:2;font-size:var(--reader-font-size,18px);font-family:var(--reader-font-family,"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif);margin:0 0 1.2em}.reader-stylebar{border:1px solid var(--border);background:var(--panel-soft);border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;padding:10px 12px;display:flex}.reader-style-field{color:var(--muted);letter-spacing:.03em;align-items:center;gap:8px;font-size:12px;display:inline-flex}.reader-style-field-compact{gap:6px}.reader-style-pov{flex-wrap:wrap;margin-left:auto}.reader-style-select{border:1px solid var(--border);background:var(--panel);height:34px;color:var(--text);border-radius:999px;padding:0 12px;font-size:13px}.reader-pov-note{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);border-radius:14px;margin-bottom:18px;padding:12px 14px;font-size:13px;line-height:1.7}.reader-pov-footer{border-top:1px solid var(--border);background:0 0;border-radius:0;flex-wrap:wrap;align-items:center;gap:10px;margin-top:32px;padding:14px 16px;display:flex}.reader-pov-footer-label{color:var(--muted);letter-spacing:.05em;margin-right:8px;font-size:12px}.reader-pov-footer-controls{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.reader-nav{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.reader-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.reader-header-left,.reader-header-right{align-items:center;gap:8px;display:flex}.reader-back{color:var(--muted);font-size:14px;text-decoration:none;transition:color .15s}.reader-back:hover{color:var(--text)}.reader-chapter-title{color:var(--text);margin-bottom:28px;font-size:24px;font-weight:600;line-height:1.4}.reader-interactive{position:relative}.reader-paragraph{padding-right:36px;position:relative}.reader-paragraph p{margin:0}.reader-comment-bubble{opacity:0;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;transition:opacity .2s;position:absolute;top:4px;right:0}.reader-paragraph:hover .reader-comment-bubble{opacity:.35}.reader-comment-bubble:hover{opacity:.7!important}.selection-toolbar{z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:10px;gap:2px;padding:4px;animation:.12s ease-out toolbar-in;display:flex;box-shadow:0 4px 16px #0000001a;box-shadow:0 4px 16px lab(0% 0 0/.1)}@keyframes toolbar-in{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.selection-toolbar-btn{color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 12px;font-size:13px;transition:background .15s}.selection-toolbar-btn:hover{background:var(--panel-soft)}.login-prompt-overlay{z-index:100;background:#00000059;background:lab(0% 0 0/.35);justify-content:center;align-items:center;animation:.15s ease-out overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.login-prompt-modal{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:18px;width:90%;max-width:360px;padding:32px 36px;animation:.2s ease-out modal-in;box-shadow:0 8px 32px #0000001f;box-shadow:0 8px 32px lab(0% 0 0/.12)}@keyframes modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.login-prompt-text{color:var(--text);margin-bottom:24px;font-size:16px;line-height:1.6}.login-prompt-actions{justify-content:center;gap:12px;display:flex}.report-list{gap:12px;margin-top:14px;display:grid}.report-item{border:1px solid var(--border);background:var(--panel-soft);border-radius:16px;padding:14px}.report-header{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.severity{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.severity-high,.risk-high{color:var(--danger)}.status-positive{color:#21763c;color:lab(43.5038% -36.3107 24.0307)}.severity-medium{color:var(--warning)}.severity-low{color:var(--muted)}.aside-stack{gap:16px;display:grid}.login-shell{place-items:center;min-height:calc(100vh - 82px);display:grid}.login-form{gap:12px;width:min(420px,100%);display:grid}.auth-mode-row{background:var(--panel-soft);border:1px solid var(--border);border-radius:999px;gap:6px;margin-bottom:12px;padding:4px;display:inline-flex}.auth-mode-button{min-width:92px;color:var(--muted);background:0 0;border-color:#0000;border-radius:999px;padding-inline:16px}.auth-mode-button:hover{background:#ffffffc7;background:lab(100% 0 0/.78)}.auth-mode-button.active{background:var(--panel);border-color:var(--border);color:var(--text)}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:4px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-google-button{justify-content:center;width:100%}.status-row{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.empty-state{text-align:center;padding:40px}.interview-shell{flex-direction:column;width:min(100%,980px);max-width:980px;height:calc(100vh - 60px);margin:0 auto;padding:0 28px;display:flex}.interview-restore-banner{color:var(--text);background:#fff0e5b3;background:lab(95.8775% 5.2045 10.0889/.7);border:1px solid #f2c6ae8c;border:1px solid lab(83.4786% 13.6654 18.2379/.55);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 4px;padding:10px 14px;font-size:13px;line-height:1.6;display:flex}.interview-restore-banner button{flex-shrink:0;padding:5px 12px;font-size:12.5px}.interview-loading{text-align:center;color:var(--muted);padding:40px 0}.interview-messages{flex-direction:column;flex:1;gap:12px;padding:24px 0 16px;display:flex;overflow-y:auto}.interview-row{display:flex}.interview-row.user{justify-content:flex-end}.interview-row.assistant{justify-content:flex-start}.interview-bubble{border-radius:20px;max-width:min(92%,760px);padding:13px 18px;font-size:15.5px;line-height:1.75}.interview-bubble.user{background:var(--accent);color:#fff;border-bottom-right-radius:6px}.interview-bubble.assistant{background:var(--panel);border:1px solid var(--border);border-bottom-left-radius:6px}.interview-text{white-space:pre-wrap;word-break:break-word}.interview-cursor{background:var(--muted);vertical-align:text-bottom;width:2px;height:16px;margin-left:2px;animation:1.15s ease-in-out infinite stream-pulse;display:inline-block}.interview-input-bar{border-top:1px solid var(--border);padding:12px 0 24px}.interview-input-row{align-items:flex-end;gap:10px;width:100%;display:flex}.interview-textarea{resize:none;border:1px solid var(--border);background:var(--panel-soft);min-width:0;min-height:54px;max-height:none;color:var(--text);border-radius:18px;flex:1;padding:14px 18px;font-size:15.5px;line-height:1.65;overflow-y:hidden}.interview-textarea:focus{border-color:var(--border-strong);background:var(--panel);outline:none}.interview-send{flex-shrink:0;padding:10px 20px}.interview-creating{text-align:center;color:var(--muted);padding:8px 0;font-size:14px}.summary-list{gap:14px;display:grid}.summary-item{gap:4px;display:grid}.ws-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.ws-topbar{border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.ws-topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.ws-topbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.ws-quota-strip{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#ece4d6bf,#fffaf2eb);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex}.ws-quota-strip.is-exhausted{background:linear-gradient(90deg,#ffe9e9f0,#fff5f5fa)}.ws-quota-main{color:var(--fg);align-items:center;gap:10px;font-size:13px;display:flex}.ws-quota-main strong{font-size:13px}.ws-quota-sub{color:var(--muted);text-align:right;font-size:12px;line-height:1.6}.ws-back{color:var(--muted);white-space:nowrap;font-size:14px}.ws-back:hover{color:var(--text)}.ws-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:600;overflow:hidden}.ws-meta{color:var(--muted);white-space:nowrap;font-size:13px}.ws-chapter-select{border:1px solid var(--border);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:10px;padding:6px 10px;font-size:14px}.ws-btn-small{border-radius:10px;padding:6px 12px;font-size:13px}.ws-main{flex:1;min-height:0}.ws-resize-handle{background:var(--border);width:1px;transition:background .15s;position:relative}.ws-resize-handle:after{content:"";cursor:col-resize;position:absolute;inset:0 -3px}.ws-resize-handle:hover,.ws-resize-handle[data-resize-handle-active]{background:#e48233;background:lab(64.4335% 34.7221 57.0087)}.ws-editor{flex-direction:column;height:100%;min-height:0;display:flex}.ws-editor-toolbar{border-bottom:1px solid var(--border);background:var(--panel-soft);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:10px 20px;font-size:14px;display:flex}.ws-editor-toolbar button{border-radius:10px;padding:5px 12px;font-size:13px}.ws-editor-stylebar{border-bottom:1px solid var(--border);background:linear-gradient(#ffffffa8,#fff9f2bd);background:linear-gradient(lab(100% 0 0/.66),lab(98.2716% 1.25283 4.38153/.74));flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.ws-style-field{min-width:0;color:var(--muted);letter-spacing:.03em;align-items:center;gap:8px;font-size:12px;display:inline-flex}.ws-style-field-compact{gap:6px}.ws-style-select,.ws-style-color{color:var(--text);background:#ffffffdb;background:lab(100% 0 0/.86);border:1px solid #ebd9d6f2;border:1px solid lab(88.2336% 5.8575 3.89044/.95);border-radius:999px;box-shadow:inset 0 1px #ffffff85;box-shadow:inset 0 1px lab(100% 0 0/.52)}.ws-style-select{height:34px;padding:0 12px;font-size:13px}.ws-style-color{cursor:pointer;width:38px;height:34px;padding:4px}.ws-style-toggle{min-width:34px;height:34px;color:var(--text);background:#ffffffd1;background:lab(100% 0 0/.82);border:1px solid #ebd9d6f2;border:1px solid lab(88.2336% 5.8575 3.89044/.95);border-radius:999px;font-size:14px;font-weight:700;box-shadow:inset 0 1px #ffffff85;box-shadow:inset 0 1px lab(100% 0 0/.52)}.ws-style-toggle.active{color:#231716;color:lab(9.32865% 6.21986 3.22654);background:linear-gradient(135deg,#d9aa74e6,#dc886eeb);background:linear-gradient(135deg,lab(73.2317% 12.8345 35.001/.9),lab(65.5257% 30.9545 28.1844/.92));border-color:#d3896cf2;border-color:lab(64.5177% 26.8058 27.7444/.95)}.ws-editor-textarea{background:var(--panel);width:100%;color:var(--text);resize:none;border:none;outline:none;flex:1;min-height:0;padding:24px;font-size:16px;line-height:1.85}.ws-summary-hint{border-bottom:1px solid var(--border);background:var(--panel-soft);flex-shrink:0;padding:10px 20px;font-size:13px;line-height:1.6}.ws-chat{background:0 0;flex-direction:column;min-height:0;display:flex}.ws-chat-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.ws-chat-input{border-top:1px solid var(--border);padding:12px 16px 16px}.ws-chat-meta{justify-content:flex-end;margin-bottom:10px;display:flex}.ws-quota-inline{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.ws-quota-inline.is-exhausted{color:var(--danger)}.ws-input-row{align-items:flex-end;gap:8px;display:flex}.ws-input-row .interview-textarea{flex:1;width:100%;min-height:0}.ws-send-btn{background:var(--text);width:38px;height:38px;color:var(--bg);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex}.ws-send-btn svg{flex-shrink:0;display:block}.ws-send-btn:disabled{opacity:.3;cursor:default}.ws-send-btn:not(:disabled):hover{opacity:.8}.ws-stop-btn{color:#ad524d;color:lab(46.6267% 37.5876 21.4741);cursor:pointer;background:0 0;border:2px solid #ad524d;border:2px solid lab(46.6267% 37.5876 21.4741);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background .15s,color .15s;display:flex}.ws-stop-btn:hover{color:var(--bg);background:#ad524d;background:lab(46.6267% 37.5876 21.4741)}.ws-stop-btn svg{flex-shrink:0;display:block}.ws-task-progress{background:var(--panel-soft);border:1px solid var(--border);color:var(--muted);border-radius:12px;align-items:center;gap:10px;margin:4px 8px;padding:12px 16px;font-size:13px;animation:.2s ws-task-fade-in;display:flex}.ws-task-tool{border:1px solid var(--border);background:var(--panel);min-height:24px;color:var(--text);letter-spacing:.04em;border-radius:999px;flex-shrink:0;align-items:center;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.ws-task-text{min-width:0}@keyframes ws-task-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ws-task-indicator{background:#e48233;background:lab(64.4335% 34.7221 57.0087);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.2s ease-in-out infinite ws-task-pulse}@keyframes ws-task-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.ws-settings-drawer{z-index:50;background:var(--panel);border-left:1px solid var(--border);width:min(520px,90vw);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 40px #00000014}.ws-settings-inner{gap:16px;padding:24px;display:grid}.ws-settings-header{justify-content:space-between;align-items:center;display:flex}.story-panel-section{border-bottom:1px solid var(--border);padding:12px 0}.story-panel-section:last-child{border-bottom:none}.story-panel-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:13px;font-weight:600}.story-panel-label-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.story-panel-label-row .story-panel-label{margin-bottom:0}.story-panel-actions{align-items:center;gap:8px;display:flex}.story-panel-error{color:var(--danger);margin:0 0 8px;font-size:12px}.story-panel-hint{color:var(--muted);margin:0 0 10px;font-size:13px;line-height:1.7}.story-panel-empty-hint{background:var(--accent-soft);border:1px dashed var(--border-strong);border-radius:10px;padding:12px 14px}.story-panel-empty-hint p{margin:0;font-size:13px;line-height:1.6}.story-panel-ch-future{opacity:.75}.story-panel-item{gap:8px;padding:4px 0;font-size:14px;line-height:1.6;display:flex}.story-panel-key{color:var(--fg);flex-shrink:0;min-width:48px;font-weight:500}.story-panel-value{color:var(--fg-secondary,var(--muted))}.story-panel-block{margin-bottom:14px}.story-panel-block p{color:var(--fg);margin:0;font-size:14px;line-height:1.7}.story-panel-subtitle{color:var(--fg);margin-bottom:4px;font-size:13px;font-weight:600}.story-panel-list{color:var(--fg);margin:0;padding-left:18px;font-size:14px;line-height:1.7}.story-panel-list li{margin-bottom:2px}.story-panel-chapters{flex-direction:column;gap:4px;display:flex}.story-panel-ch{gap:8px;font-size:13px;line-height:1.6;display:flex}.story-panel-ch-num{color:var(--muted);flex-shrink:0;min-width:48px;font-weight:500}.story-panel-ch-text{color:var(--fg)}.story-panel-edit-toggle{color:var(--muted);cursor:pointer;padding:4px 0;font-size:13px}.story-panel-edit-area{margin-top:8px}.story-panel-edit-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.visual-profile-block{gap:10px;display:grid}.visual-profile-list{gap:14px;margin-top:12px;display:grid}.visual-profile-card{border:1px solid var(--border);background:linear-gradient(180deg, #ffffffeb, #f7f3eceb), var(--panel-soft);border-radius:16px;gap:12px;padding:14px;display:grid}.visual-profile-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.visual-profile-inline-actions{align-items:center;gap:8px;display:flex}.visual-profile-meta{color:var(--muted);margin-top:4px;font-size:12px}.visual-profile-badge{color:#7d5c2f;background:#7d5c2f1a;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.visual-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.visual-profile-field{gap:6px;display:grid}.visual-profile-field span{color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:600}.visual-profile-input,.visual-profile-textarea{border:1px solid var(--border);width:100%;color:var(--fg);resize:vertical;background:#ffffffe0;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.6}.visual-profile-input:focus,.visual-profile-textarea:focus{border-color:var(--border-strong);outline:none;box-shadow:0 0 0 3px #7d5c2f14}.visual-profile-image,.visual-profile-placeholder{border:1px solid var(--border);background:linear-gradient(135deg,#e5dcce66,#ffffffe6);border-radius:14px;width:100%}.visual-profile-image{aspect-ratio:1;object-fit:cover}.visual-profile-placeholder{min-height:220px;color:var(--muted);text-align:center;place-items:center;padding:18px;font-size:13px;display:grid}.visual-profile-actions-row{flex-wrap:wrap;gap:8px;display:flex}.ws-loading{min-height:60vh;color:var(--muted);place-items:center;font-size:15px;display:grid}@media (max-width:1080px){.workspace-layout,.two-column,.interview-layout{grid-template-columns:1fr}.ws-editor{border-bottom:1px solid var(--border);max-height:50vh}.ws-quota-strip{flex-direction:column;align-items:flex-start}.ws-quota-sub{text-align:left}.visual-profile-grid{grid-template-columns:1fr}}.ws-version-select{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:10px;max-width:160px;padding:4px 8px;font-size:12px}.feedback-panel{border:1px solid var(--border);background:var(--panel-soft);border-radius:12px;margin:0 12px 8px;overflow:hidden}.feedback-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.feedback-tabs{border-bottom:1px solid var(--border);gap:0;display:flex}.feedback-tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.feedback-tab.active{color:var(--text);border-bottom-color:var(--accent)}.feedback-score{background:var(--accent-soft);border-radius:8px;padding:1px 6px;font-size:11px}.feedback-status{border-radius:8px;padding:1px 6px;font-size:10px}.feedback-status.clean{color:#2e7d32;background:#e8f5e9}.feedback-status.warn{color:#e65100;background:#fff3e0}.feedback-body{max-height:240px;padding:8px 12px;overflow-y:auto}.feedback-section{flex-direction:column;gap:8px;display:flex}.feedback-item{border-bottom:1px solid var(--border);padding:6px 0;font-size:13px;line-height:1.6}.feedback-item:last-child{border-bottom:none}.feedback-issue{color:var(--text);font-weight:500}.feedback-quote{color:var(--muted);border-left:2px solid var(--border);margin-top:2px;padding-left:8px;font-size:12px;font-style:italic}.feedback-suggestion{color:var(--muted);margin-top:2px;font-size:12px}.feedback-meta{color:var(--muted);background:var(--accent-soft);border-radius:8px;width:fit-content;padding:4px 8px;font-size:12px;display:inline-block}.feedback-highlight{background:#fffde7;border-radius:8px;padding:6px 10px;font-size:13px;line-height:1.6}.feedback-highlight-label{color:var(--warning);margin-right:6px;font-size:11px;font-weight:600}.feedback-type-tag{background:var(--accent-soft);color:var(--muted);border-radius:4px;margin-right:6px;padding:0 5px;font-size:10px;font-weight:500;display:inline-block}@media (max-width:640px){.reader-card{padding:16px}.reader-stylebar{align-items:stretch;gap:8px}.reader-style-field{justify-content:space-between;width:100%}.reader-style-pov{margin-left:0}.reader-paragraph{padding-right:28px}.reader-comment-bubble{display:none}.reader-comment-bubble.has-comments{opacity:.4;font-size:11px;display:inline}.reader-chapter-title{margin-bottom:20px;font-size:20px}.reader-card p{line-height:1.85}.comment-drawer{max-height:70vh}}.comment-drawer-backdrop{z-index:80;background:#0000004d;background:lab(0% 0 0/.3);justify-content:center;align-items:flex-end;animation:.15s ease-out overlay-in;display:flex;position:fixed;inset:0}.comment-drawer{background:var(--panel);border-radius:18px 18px 0 0;flex-direction:column;width:100%;max-width:860px;max-height:55vh;animation:.25s ease-out drawer-slide-up;display:flex;box-shadow:0 -4px 32px #0000001a;box-shadow:0 -4px 32px lab(0% 0 0/.1)}@keyframes drawer-slide-up{0%{opacity:.5;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.comment-drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px 12px;display:flex}.comment-drawer-title{flex:1;min-width:0}.comment-drawer-count{color:var(--text);font-size:15px;font-weight:600}.comment-drawer-excerpt{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;line-height:1.5;overflow:hidden}.comment-drawer-close{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:22px;line-height:1}.comment-drawer-close:hover{color:var(--text)}.comment-drawer-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;padding:8px 20px;display:flex}.comment-drawer-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 12px;font-size:13px;transition:all .15s}.comment-drawer-tab:hover{background:var(--panel-soft)}.comment-drawer-tab.active{color:var(--text);background:var(--accent-soft);font-weight:600}.comment-drawer-list{flex:1;min-height:120px;padding:8px 20px;overflow-y:auto}.comment-drawer-empty{text-align:center;color:var(--muted);padding:32px 0;font-size:14px}.comment-item{border-bottom:1px solid var(--border);padding:12px 0}.comment-item:last-child{border-bottom:none}.comment-item-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.comment-avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.comment-meta{flex:1;min-width:0}.comment-author{color:var(--text);font-size:13px;font-weight:500}.comment-time{color:var(--muted);margin-left:8px;font-size:12px}.comment-like-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:13px;transition:all .15s}.comment-like-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--danger)}.comment-like-btn.liked{color:var(--danger)}.comment-like-btn:disabled{cursor:default;opacity:.5}.comment-delete-btn,.comment-edit-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:12px;transition:color .15s,background .15s}.comment-edit-btn:hover{background:var(--accent-soft);color:var(--accent)}.comment-delete-btn:hover{background:var(--accent-soft);color:var(--danger)}.comment-edit-area{flex-direction:column;gap:8px;margin-top:8px;display:flex}.comment-edit-actions{justify-content:flex-end;gap:8px;display:flex}.comment-edit-hint{color:var(--muted);margin:0;font-size:11px}.comment-selected-text{color:var(--muted);border-left:2px solid var(--border);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;padding:4px 8px;font-size:12px;font-style:italic;overflow:hidden}.comment-body{color:var(--text);margin:0;font-size:14px;line-height:1.6}.comment-status-badge{border-radius:999px;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;font-size:12px;line-height:1.4;display:inline-flex}.comment-status-badge.pending{color:var(--warning);background:#eaddc180;background:lab(88.5378% 1.53828 15.5512/.5);border:1px solid #d0bb9280;border:1px solid lab(76.9775% 2.81337 23.8292/.5)}.comment-status-badge.rejected{color:var(--danger);background:#f8ded999;background:lab(90.4691% 8.80885 5.85675/.6);border:1px solid #e9b6ad80;border:1px solid lab(78.6082% 17.7856 11.8942/.5)}.comment-item.is-pending{opacity:.85}.comment-item.is-rejected .comment-body{color:var(--muted);text-decoration:line-through}.comment-image-wrap{background:var(--panel-soft);border:1px solid var(--border);border-radius:12px;margin:6px 0 8px;position:relative;overflow:hidden}.comment-image{width:100%;max-width:320px;height:auto;display:block}.comment-image-badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;background:lab(0% 0 0/.55);border-radius:999px;padding:2px 8px;font-size:11px;position:absolute;top:8px;left:8px}.image-gen-publish{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.image-gen-publish-success{text-align:center;color:var(--accent);background:var(--accent-soft);border-radius:10px;padding:10px;font-size:14px;font-weight:500}.image-gen-publish-error{text-align:center;color:var(--danger);margin:0;font-size:13px}.comment-drawer-input{border-top:1px solid var(--border);flex-shrink:0;align-items:flex-end;gap:8px;padding:12px 20px;display:flex}.comment-textarea{border:1px solid var(--border);resize:none;background:var(--panel-soft);color:var(--text);border-radius:10px;flex:1;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.5}.comment-textarea:focus{border-color:var(--border-strong);outline:none}.comment-textarea::placeholder{color:var(--muted)}.comment-submit-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:500;transition:opacity .15s}.comment-submit-btn:hover:not(:disabled){opacity:.85}.comment-submit-btn:disabled{opacity:.4;cursor:default}.comment-login-hint{text-align:center;width:100%;color:var(--muted);padding:4px 0;font-size:14px}.comment-login-hint a{color:var(--text);font-weight:500;text-decoration:underline}.reader-comment-bubble.has-comments{opacity:1;color:#fff;background:var(--danger);text-align:center;border:none;border-radius:999px;min-width:22px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;transition:transform .15s,box-shadow .2s;top:4px;right:-4px;box-shadow:0 2px 6px #0000001f;box-shadow:0 2px 6px lab(0% 0 0/.12)}.reader-comment-bubble.has-comments:hover{transform:scale(1.1);box-shadow:0 3px 10px #0000002e;box-shadow:0 3px 10px lab(0% 0 0/.18);opacity:1!important}.image-gen-backdrop{z-index:90;background:#0006;background:lab(0% 0 0/.4);justify-content:center;align-items:center;animation:.15s ease-out overlay-in;display:flex;position:fixed;inset:0}.image-gen-modal{background:var(--panel);border:1px solid var(--border);border-radius:18px;width:90%;max-width:520px;max-height:85vh;animation:.2s ease-out modal-in;overflow-y:auto;box-shadow:0 8px 40px #00000026;box-shadow:0 8px 40px lab(0% 0 0/.15)}.image-gen-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.image-gen-title{color:var(--text);font-size:16px;font-weight:600}.image-gen-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.image-gen-close:hover{color:var(--text)}.image-gen-source{color:var(--muted);border-bottom:1px solid var(--border);padding:12px 20px;font-size:13px;font-style:italic;line-height:1.5}.image-gen-content{min-height:200px;padding:20px}.image-gen-form{gap:12px;margin-bottom:18px;display:grid}.image-gen-form-note{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.image-gen-textarea{resize:vertical;border:1px solid var(--border);background:var(--panel-soft);width:100%;min-height:92px;color:var(--text);font:inherit;border-radius:12px;padding:12px 14px;line-height:1.6}.image-gen-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #f3e6d273;box-shadow:0 0 0 3px lab(91.9553% 1.93098 11.4544/.45)}.image-gen-textarea:disabled{opacity:.72;cursor:wait}.image-gen-form-actions{justify-content:flex-end;display:flex}.image-gen-loading{text-align:center;padding:32px 0}.image-gen-pulse{background:var(--accent-soft);border-radius:50%;width:60px;height:60px;margin:0 auto 16px;animation:1.5s ease-in-out infinite gen-pulse}@keyframes gen-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.image-gen-loading p{color:var(--text);margin:0;font-size:15px}.image-gen-hint{color:var(--muted);margin-top:4px;font-size:13px}.image-gen-result{text-align:center}.image-gen-img{border-radius:12px;width:100%;margin-bottom:12px}.image-gen-result-note{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.6}.image-gen-error{text-align:center;padding:32px 0}.image-gen-error p{color:var(--text);margin-bottom:16px;font-size:15px}.home .hero-dream{margin-bottom:36px;padding:48px 52px 44px}.home .hero-dream h1{margin-bottom:10px;font-size:clamp(24px,2.8vw,32px)}.home .hero-dream p{font-size:14.5px}.three-doors{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:56px;display:grid}.door{-webkit-backdrop-filter:blur(10px);color:var(--text);cursor:pointer;isolation:isolate;background:linear-gradient(#ffffffdb,#fffaf5cc),#ffffff9e;background:linear-gradient(lab(100% 0 0/.86),lab(98.5945% 1.58089 3.39155/.8)),lab(100% 0 0/.62);border:1px solid #f5dfdbb3;border:1px solid lab(90.5115% 7.33089 4.87136/.7);border-radius:28px;flex-direction:column;text-decoration:none;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s cubic-bezier(.2,.8,.2,1),border-color .24s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 18px 44px -28px #9b5f5a47;box-shadow:inset 0 1px lab(100% 0 0/.7),0 18px 44px -28px lab(47.0344% 24.8749 13.8027/.28)}.door:after{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(145deg,#ffffff57,#0000 28% 72%,#fff7ee2e),linear-gradient(#0000 56%,#fff2ea52);background:linear-gradient(145deg,lab(100% 0 0/.34),#0000 28% 72%,lab(97.6782% 2.57641 7.15369/.18)),linear-gradient(#0000 56%,lab(96.4647% 3.51232 5.69297/.32));position:absolute;inset:0}.door:hover{border-color:#e9b6b1d9;border-color:lab(78.5584% 18.4969 10.0599/.85);transform:translateY(-6px);box-shadow:inset 0 1px #ffffffd9,0 30px 64px -28px #a4595366;box-shadow:inset 0 1px lab(100% 0 0/.85),0 30px 64px -28px lab(46.8326% 31.2126 17.5511/.4)}.door-scene{z-index:1;border-bottom:1px solid #f5dfdb80;border-bottom:1px solid lab(90.5115% 7.33089 4.87136/.5);place-items:center;height:182px;display:grid;position:relative;overflow:hidden}.door-scene:before{content:"";pointer-events:none;filter:blur(10px);border-radius:50%;position:absolute}.door-scene:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 20%,#ffffff52,#0000 34%),linear-gradient(#0000 0% 58%,#fffbf547 100%);background:radial-gradient(circle at 50% 20%,lab(100% 0 0/.32),#0000 34%),linear-gradient(#0000 0% 58%,lab(98.8601% 1.04877 4.4479/.28) 100%);position:absolute;inset:0}.door-illustration{z-index:1;filter:drop-shadow(0 16px 24px #854b4729);filter:drop-shadow(0 16px 24px lab(38.8984% 25.0652 13.4009/.16));width:82%;max-width:220px;height:auto;transition:transform .48s cubic-bezier(.2,.8,.2,1),filter .48s cubic-bezier(.2,.8,.2,1);position:relative}.door:hover .door-illustration{filter:drop-shadow(0 22px 32px #854b4738);filter:drop-shadow(0 22px 32px lab(38.8984% 25.0652 13.4009/.22));transform:translateY(-3px)scale(1.025)}.door-body{z-index:1;flex-direction:column;gap:6px;padding:22px 26px 26px;display:flex;position:relative}.door-title{letter-spacing:.02em;color:var(--text);font-family:Songti SC,STSong,Source Han Serif SC,Source Han Serif CN,Hiragino Mincho ProN,Noto Serif CJK SC,serif;font-size:23px;font-weight:600}.door-title-wide{letter-spacing:.02em;font-size:21px}.door-sub{color:var(--muted);letter-spacing:.015em;font-family:Songti SC,STSong,Source Han Serif SC,Source Han Serif CN,Hiragino Mincho ProN,Noto Serif CJK SC,serif;font-size:13.5px;line-height:1.65}.door-count{letter-spacing:.03em;color:#b9645d;color:lab(52.5506% 34.1541 20.0687);background:#fffbf5b8;background:lab(98.8404% 1.51873 4.27395/.72);border:1px solid #fae1ddbf;border:1px solid lab(91.6461% 8.2165 5.46145/.75);border-radius:999px;align-self:flex-start;margin-top:8px;padding:7px 10px;font-size:12px;font-weight:500}.door-library .door-scene{background:radial-gradient(at 30% 18%,#ffffffad,#0000 38%),radial-gradient(at 72% 32%,#ffeed57a,#0000 48%),linear-gradient(165deg,#fff4e6,#ffded8);background:radial-gradient(at 30% 18%,lab(100% 0 0/.68),#0000 38%),radial-gradient(at 72% 32%,lab(95.3539% 9.88576 30.5667/.48),#0000 48%),linear-gradient(165deg,lab(97.0915% 4.22859 11.5238),lab(91.414% 16.2516 10.8428))}.door-library .door-scene:before{background:radial-gradient(circle,#ffe7c794,#0000 70%);background:radial-gradient(circle,lab(93.066% 11.2891 39.6003/.58),#0000 70%);width:132px;height:132px;top:-34px;right:-26px}.door-bookshelf .door-scene{background:radial-gradient(at 70% 24%,#ffffffad,#0000 36%),radial-gradient(at 26% 78%,#ffe7e670,#0000 42%),linear-gradient(165deg,#fff3f3,#ffdee4);background:radial-gradient(at 70% 24%,lab(100% 0 0/.68),#0000 36%),radial-gradient(at 26% 78%,lab(93.5932% 19.0683 8.1354/.44),#0000 42%),linear-gradient(165deg,lab(96.7685% 10.2707 3.89503),lab(91.277% 16.7239 1.84321))}.door-bookshelf .door-scene:before{background:radial-gradient(circle,#ffdbdb80,#0000 70%);background:radial-gradient(circle,lab(90.8321% 32.1398 12.4367/.5),#0000 70%);width:124px;height:124px;top:-26px;left:-26px}.door-mine .door-scene{background:radial-gradient(at 46% 20%,#ffffffa8,#0000 38%),radial-gradient(at 72% 74%,#ece6ff66,#0000 42%),linear-gradient(165deg,#f7f4ff,#e4e5ff);background:radial-gradient(at 46% 20%,lab(100% 0 0/.66),#0000 38%),radial-gradient(at 72% 74%,lab(92.386% 9.20239 -20.3293/.4),#0000 42%),linear-gradient(165deg,lab(96.8272% 3.93733 -8.8433),lab(91.505% 4.05934 -15.2049))}.door-mine .door-scene:before{background:radial-gradient(circle,#e6dfff80,#0000 70%);background:radial-gradient(circle,lab(89.5453% 16.6777 -33.2295/.5),#0000 70%);width:126px;height:126px;top:-28px;right:-26px}@media (max-width:720px){.three-doors{grid-template-columns:1fr;gap:16px}.door-scene{height:140px}.door-body{padding:18px 22px 22px}.door-title{letter-spacing:.12em;font-size:20px}.home .hero-dream{padding:36px 28px 32px}.home .hero-dream h1{font-size:24px}}.page-hero{margin-bottom:28px}.page-title{color:var(--text);letter-spacing:-.01em;margin-bottom:6px;font-size:24px;font-weight:600}.page-subtitle{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.bookshelf-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:24px;display:flex}.bookshelf-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:10px 18px;font-size:15px;transition:color .16s,border-color .16s}.bookshelf-tab:hover{color:var(--text);border-color:var(--border);background:0 0}.bookshelf-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.bookshelf-item{flex-direction:column;gap:8px;display:flex}.bookshelf-progress{color:var(--accent);letter-spacing:.02em;padding:0 4px;font-size:12px}.bookshelf-finished-tag{color:var(--muted);letter-spacing:.02em;padding:0 4px;font-size:12px}.bookshelf-unbookmark{align-self:flex-start}.bookshelf-empty{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.bookshelf-empty p{color:var(--muted);margin:0}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-start-reading{white-space:nowrap;flex-shrink:0;min-width:fit-content}.bookmark-btn{white-space:nowrap;flex-shrink:0;padding:8px 14px;font-size:14px;transition:color .16s,background .16s,border-color .16s}.bookmark-btn.bookmarked{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.bookmark-btn.bookmarked:hover{background:#e8d5f7;background:lab(87.7642% 11.2759 -14.2451)}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/85fcf895b86d74a6-s.12xb_oat076h..woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5307092570128b5a-s.0dld-t76zw9ln.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b67966e0b83b2cd0-s.p.04y9-s23ppywx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_f76bdbc3-module__dYXG4G__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_f76bdbc3-module__dYXG4G__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_6a0e6105-module__QVq-Ba__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_6a0e6105-module__QVq-Ba__variable{--font-geist:"Geist", "Geist Fallback"}
