.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"\2022"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"\2611"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"\2610"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}:root{--paper: #F5EFE3;--card: #FBF8F1;--sheet: #FFFDF8;--line: #E4DACA;--line-soft: #EFE6D6;--line-strong: #CFC2AC;--ink: #1E2740;--text-2: #3B3A36;--muted: #5E5A52;--blue: #2C4A7A;--rust: #8C4A26;--rust-light: #D9895E;--green: #3F5A2A;--amber: #B07A1E;--danger: #8C3A26;--tint-blue: #E3E8F1;--tint-rust: #F0E4D6;--tint-amber: #F6E7C8;--tint-green: #E8EDDF;--serif: Fraunces, Georgia, "Times New Roman", serif;--sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 16px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-text-size-adjust:100%}body{min-height:100vh;min-height:100dvh}a{color:var(--blue)}a:hover{color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid #6B8AC4;outline-offset:2px}h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.small{font-size:13px}.label{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:12px}.hidden{display:none!important}.splash{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--paper)}.splash-name{font-family:var(--serif);font-size:36px;font-weight:600}.btn{min-height:46px;padding:0 18px;border-radius:12px;border:1.5px solid var(--ink);background:var(--ink);color:var(--card);font-weight:600;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn:hover{background:#2a3557;color:var(--card)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--line-soft);color:var(--ink)}.btn.soft{background:var(--card);color:var(--ink);border:1px solid var(--line-strong);font-weight:500}.btn.soft:hover{background:var(--line-soft)}.btn.danger{background:var(--danger);border-color:var(--danger)}.btn.danger-ghost{background:transparent;border:1px solid var(--line-strong);color:var(--danger);font-weight:500}.btn.small{min-height:38px;padding:0 12px;font-size:13px;border-radius:10px}.btn.block{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed}.icon-btn{width:44px;height:44px;border:none;background:none;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;position:relative}.icon-btn:hover{background:var(--line-soft)}.field{display:flex;flex-direction:column;gap:6px}.field>span,.field>label{font-size:13px;font-weight:600;color:var(--text-2)}.input,.select,.textarea{min-height:48px;width:100%;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:16px}.textarea{padding:12px 14px;resize:vertical;font-family:var(--serif);font-size:17px;line-height:1.5}.input.code{font-size:22px;letter-spacing:8px}.input.invite{font-family:var(--serif);font-size:20px;letter-spacing:2px;text-transform:uppercase}.select{padding:0 10px}.input:focus,.select:focus,.textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2c4a7a26}.check{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.check input{width:22px;height:22px;accent-color:var(--ink)}.error{color:var(--danger);font-size:14px;margin:0}.error:empty{display:none}.chip{display:inline-flex;align-items:center;min-height:26px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;background:var(--tint-rust);color:#6e3a1c;white-space:nowrap}.chip.blue{background:var(--tint-blue);color:var(--blue)}.chip.green{background:var(--tint-green);color:var(--green)}.chip.amber{background:var(--tint-amber);color:#7a5212}.chip.gray{background:#ede6da;color:var(--muted)}.pills{display:flex;flex-wrap:wrap;gap:8px}.pill{min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--card);color:var(--ink);font-size:14px}.pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--card)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card.dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.card.dark .muted{color:#cfc7b5}.card.dashed{border-style:dashed;border-color:var(--line-strong)}.card h2{font-size:20px}.big-num{font-family:var(--serif);font-size:34px;font-weight:700;line-height:1.1}.bar{height:8px;border-radius:999px;background:#e9dfcc;display:flex;overflow:hidden}.bar>span{display:block;height:100%}.avatar{width:34px;height:34px;border-radius:50%;color:var(--card);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0;border:2px solid var(--card)}.avatar.sm{width:28px;height:28px;font-size:12px}.avatar.lg{width:52px;height:52px;font-size:20px}.avatars{display:inline-flex}.avatars .avatar+.avatar{margin-left:-8px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.online-dot{width:10px;height:10px;border-radius:50%;background:#9bd08a;display:inline-block}.auth{min-height:100vh;min-height:100dvh;display:flex;flex-wrap:wrap}.auth-hero{flex:1 1 420px;background:var(--ink);color:var(--paper);padding:56px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.auth-hero h1{font-size:clamp(36px,5vw,52px);line-height:1.1}.auth-hero p{font-size:18px;line-height:1.6;color:#d9d3c4;max-width:520px;margin:0}.auth-main{flex:1 1 420px;padding:48px 28px;display:flex;align-items:center;justify-content:center}.auth-box{width:100%;max-width:420px;display:flex;flex-direction:column;gap:20px}.auth-box h2{font-size:32px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand-name{font-family:var(--serif);font-size:26px;font-weight:600}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.spark-credit{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);text-decoration:none}@media (max-width: 760px){.auth-hero{display:none}.auth-main{padding:32px 24px;align-items:flex-start}}.topbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:12px 28px;background:var(--card);border-bottom:1px solid var(--line)}.topnav{display:flex;flex-wrap:wrap;gap:4px;flex:1}.topnav a{padding:10px 14px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:14px}.topnav a[aria-current=page]{background:var(--line-soft);color:var(--ink);font-weight:600}.topnav a:hover{color:var(--ink)}.main{width:100%;max-width:1240px;margin:0 auto;padding:32px 28px 64px;display:flex;flex-direction:column;gap:22px}.main.narrow{max-width:860px}.page-title{font-size:32px}.tabbar,.mobile-head{display:none}@media (max-width: 760px){.topbar{display:none}.mobile-head{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 8px 20px;padding-top:max(18px,env(safe-area-inset-top))}.main{padding:8px 20px calc(104px + var(--safe-bottom));gap:16px}.page-title{font-size:28px}.tabbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--card);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom)}.tabbar a{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:var(--muted);font-size:12px}.tabbar a[aria-current=page]{color:var(--ink);font-weight:600}.desktop-only{display:none!important}}@media (min-width: 761px){.mobile-only{display:none!important}}.fab{position:fixed;right:20px;bottom:calc(84px + var(--safe-bottom));width:60px;height:60px;border-radius:50%;background:var(--ink);color:var(--card);display:none;align-items:center;justify-content:center;box-shadow:0 6px 16px #1e274040;border:none;z-index:25}@media (max-width: 760px){.fab{display:flex}}.grid{display:grid;gap:16px}.grid.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.split{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}.split>.wide{flex:999 1 520px;min-width:0}.split>.side{flex:1 1 300px;min-width:0}.post{display:flex;flex-direction:column;gap:10px}.post-body{margin:0;font-family:var(--serif);font-size:17px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.post-actions{display:flex;gap:4px;border-top:1px dashed var(--line);padding-top:6px;flex-wrap:wrap}.post-actions button{min-height:40px;padding:0 10px;border:none;background:none;border-radius:8px;font-size:13px;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.post-actions button:hover{background:var(--line-soft)}.post-actions button[aria-pressed=true]{color:var(--rust);font-weight:600}.reply{font-size:14px;padding:8px 12px;background:var(--paper);border-radius:10px;line-height:1.45}.reply b{font-weight:600}.ch-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--ink)}.ch-row:hover{border-color:var(--line-strong)}.ch-num{font-family:var(--serif);font-size:22px;font-weight:600;width:30px;color:var(--muted);text-align:center}.ch-title{font-family:var(--serif);font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.handle{width:32px;height:40px;display:flex;align-items:center;justify-content:center;color:#9c8f78;cursor:grab;touch-action:none;border:none;background:none;flex-shrink:0}.sortable-ghost{opacity:.4}.segbar{display:flex;gap:4px;height:10px}.segbar span{flex:1;border-radius:5px;background:var(--line)}.writer{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--card)}.writer-head{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line);padding-top:max(10px,env(safe-area-inset-top))}.writer-title{flex:1 1 200px;min-width:0;display:flex;flex-direction:column}.writer-title input{border:none;background:none;font-family:var(--serif);font-size:19px;font-weight:600;color:var(--ink);padding:2px 0;width:100%}.writer-title input:focus{outline:none;border-bottom:1px solid var(--line-strong)}.save-state{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:5px;color:var(--green);white-space:nowrap}.save-state.saving{color:var(--muted)}.save-state.offline{color:#7a5212}.presence-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--tint-rust);color:#6e3a1c;font-size:13px;font-weight:600}.offline-bar{padding:8px 16px;background:var(--tint-amber);color:#5c3d0e;font-size:13px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--card)}.toolbar button{min-width:40px;height:40px;padding:0 8px;border:none;background:none;border-radius:8px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px}.toolbar button:hover,.toolbar button.ql-active{background:var(--line-soft)}.toolbar .sep{width:1px;height:22px;background:var(--line);margin:0 6px}.editor-wrap{flex:1;width:100%;max-width:760px;margin:0 auto;padding:32px 24px 80px}.editor-wrap .ql-container{font-family:var(--serif);font-size:19px;line-height:1.75;border:none}.editor-wrap .ql-editor{padding:0;min-height:60vh;color:var(--ink)}.editor-wrap .ql-editor p{margin:0 0 .9em}.editor-wrap .ql-editor h2{font-size:28px;margin:1em 0 .5em;line-height:1.25}.editor-wrap .ql-editor blockquote{border-left:3px solid var(--line-strong);margin:0 0 .9em;padding-left:16px;color:var(--text-2);font-style:italic}.editor-wrap .ql-editor .ql-align-center{text-align:center}.editor-wrap .ql-editor.ql-blank:before{color:#9c8f78;font-style:normal;left:0;right:0}.writer-foot{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:10px 20px calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--card);font-size:13px;color:var(--muted)}.writer.focus .toolbar,.writer.focus .writer-foot,.writer.focus .presence-bar{display:none}.ql-cursor-name{font-family:var(--sans)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--card);border-left:1px solid var(--line);box-shadow:-10px 0 30px #1e27401f;z-index:60;display:flex;flex-direction:column}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.drawer-body{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.version{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.version[aria-pressed=true]{border:1.5px solid var(--ink)}.preview-text{font-family:var(--serif);font-size:15px;line-height:1.6;white-space:pre-wrap;max-height:40vh;overflow-y:auto;background:var(--sheet);border:1px solid var(--line);border-radius:12px;padding:14px}.chart{display:grid;gap:10px;align-items:end;height:170px;border-bottom:1px solid var(--line)}.chart .col{display:flex;gap:3px;align-items:flex-end;justify-content:center;height:100%}.chart .b{width:16px;border-radius:4px 4px 0 0;min-height:3px}.chart-labels{display:grid;gap:10px;font-size:12px;color:var(--muted);text-align:center}.streak{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.streak span{height:22px;border-radius:6px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;background:var(--line-soft);color:var(--muted)}.streak span.on{background:var(--blue);color:var(--card)}.list{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.list>*{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--line-soft);text-decoration:none;color:var(--ink);background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-size:15px}.list>*:last-child{border-bottom:none}.list>button:hover,.list>a:hover{background:var(--line-soft)}.list .danger{color:var(--danger)}details.qa{border-bottom:1px solid var(--line-soft)}details.qa:last-child{border-bottom:none}details.qa summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-weight:500;cursor:pointer;list-style:none}details.qa summary::-webkit-details-marker{display:none}details.qa summary:after{content:"+";font-size:20px;color:var(--muted)}details.qa[open] summary:after{content:"\2013"}details.qa p{margin:0;padding:0 16px 16px;line-height:1.6;color:var(--text-2)}.modal-back{position:fixed;inset:0;background:#1e274073;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:100%;max-width:460px;background:var(--card);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:14px;max-height:90vh;overflow-y:auto}.modal h2{font-size:24px}@media (max-width: 760px){.modal-back{align-items:flex-end;padding:0}.modal{border-radius:22px 22px 0 0;padding-bottom:calc(24px + var(--safe-bottom))}}#toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translate(-50%) translateY(20px);background:var(--ink);color:var(--card);padding:12px 18px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:all .25s;z-index:100;max-width:calc(100% - 32px)}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}.banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;background:var(--tint-amber);color:#5c3d0e}.empty{text-align:center;padding:32px 20px;display:flex;flex-direction:column;gap:8px;align-items:center}.loading{padding:40px;text-align:center;color:var(--muted)}.writer-host{display:block}.w3{display:grid;grid-template-columns:260px minmax(0,1fr) 320px;min-height:calc(100vh - var(--tb, 66px))}.w-left{border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;gap:16px;position:sticky;top:var(--tb, 66px);height:calc(100vh - var(--tb, 66px));overflow-y:auto}.w-right{border-left:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;gap:14px;position:sticky;top:var(--tb, 66px);height:calc(100vh - var(--tb, 66px));overflow-y:auto;background:var(--paper)}.w-main{display:flex;flex-direction:column;background:var(--card);min-width:0}.w-ch{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:14px}.w-ch:hover{background:var(--line-soft)}.w-ch[aria-current=page]{background:#efe6d6;font-weight:600}.w-ch .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-ch .n{font-size:12px;color:var(--muted)}.mini-av{width:20px;height:20px;border-radius:50%;color:#fbf8f1;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--card);flex-shrink:0}.mini-av+.mini-av{margin-left:-6px}.w-toolbar{position:sticky;top:var(--tb, 66px);z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:8px 18px;border-bottom:1px solid var(--line);background:var(--card)}.w-toolbar button,.w-toolbar .tb{min-height:40px;min-width:40px;padding:0 10px;border:none;background:none;border-radius:8px;color:var(--ink);font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.w-toolbar button:hover{background:var(--line-soft)}.w-toolbar button.on,.w-toolbar button[aria-pressed=true]{background:#efe6d6}.w-toolbar .sep{width:1px;height:22px;background:var(--line);margin:0 6px}.w-toolbar .count{min-width:18px;height:18px;border-radius:9px;background:var(--rust);color:#fbf8f1;font-size:11px;font-weight:700;padding:0 5px;display:inline-flex;align-items:center;justify-content:center}.w-page{width:100%;max-width:760px;margin:0 auto;padding:40px 32px 120px;flex:1}.w-kicker{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-align:center}.w-title{width:100%;border:none;background:none;text-align:center;font-family:var(--serif);font-size:34px;font-weight:600;color:var(--ink);margin:6px 0 22px;padding:4px 0}.w-title:focus{outline:none;border-bottom:1px dashed var(--line-strong)}.w-page .ql-container{font-family:var(--serif);font-size:19px;line-height:1.75;border:none;position:relative}.w-page .ql-editor{padding:0;min-height:50vh;color:var(--ink);overflow:visible}.w-page .ql-editor p{margin:0 0 .9em}.w-page .ql-editor h2{font-size:26px;margin:1em 0 .5em;line-height:1.25}.w-page .ql-editor blockquote{border-left:3px solid var(--line-strong);margin:0 0 .9em;padding-left:16px;color:var(--text-2);font-style:italic}.w-page .ql-editor .ql-align-center{text-align:center}.w-page .ql-editor.ql-blank:before{color:#9c8f78;font-style:normal;left:0;right:0}.w-foot{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:10px 24px calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--card);font-size:13px;color:var(--muted)}.w-mhead{display:none}.sprint-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:10px 18px;background:var(--ink);color:var(--paper);font-size:14px}.sprint-bar .time{font-family:var(--serif);font-size:22px;font-weight:600}.sprint-bar .track{flex:1;min-width:100px;height:6px;border-radius:999px;background:#f5efe333;overflow:hidden}.sprint-bar .track span{display:block;height:100%;background:var(--paper)}.sprint-bar button{min-height:36px;padding:0 12px;border-radius:8px;border:1.5px solid var(--paper);background:none;color:var(--paper);font-weight:600}.ql-editor ins.ink-ins{text-decoration:none;background:#dde8d2;color:#2f4a1e;border-bottom:2px solid var(--author, #3F5A2A)}.ql-editor del.ink-del{background:#f6dcd3;color:#6e2a1c;text-decoration:line-through}.ql-editor mark.ink-comment{background:#f6e7c8;color:inherit;border-bottom:2px solid #B07A1E;cursor:pointer}.ql-editor mark.ink-comment.focus{background:#edd5a0}.ql-cursor .ql-cursor-caret{width:2px!important}.ql-cursor .ql-cursor-flag{visibility:visible!important;opacity:1!important;transform:translateY(-2px);border-radius:999px 999px 999px 4px;padding:2px 8px 2px 2px!important;display:inline-flex!important;align-items:center;gap:5px;font-family:var(--sans)!important;font-size:11px!important;font-weight:700!important;white-space:nowrap;box-shadow:0 2px 6px #1e274033}.ql-cursor .ql-cursor-flag .av{width:16px;height:16px;border-radius:50%;background:#fffffff2;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}.ql-cursor .ql-cursor-name{margin:0!important}.typing-glow{position:absolute;pointer-events:none;border-radius:4px;transition:opacity 1.2s ease;z-index:1}.note-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.note-card.active{border-color:var(--amber);box-shadow:0 0 0 2px #b07a1e33}.note-card .q{font-family:var(--serif);font-size:13px;color:var(--muted);border-left:2px solid #E9D3A8;padding-left:8px;font-style:italic}.note-card .body{font-size:14px;line-height:1.45}.note-card .acts{display:flex;flex-wrap:wrap;gap:6px}.note-card .acts button{min-height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--line-strong);background:none;color:var(--ink);font-size:13px}.note-card .acts button.accept{background:var(--green);border-color:var(--green);color:#fbf8f1;font-weight:600}.note-card .sugg s{color:#6e2a1c}.note-card .sugg ins{color:#2f4a1e;text-decoration:none}.w-panel-close{display:none}@media (max-width: 1180px){.w3{grid-template-columns:230px minmax(0,1fr)}.w-right{display:none;position:fixed;top:0;right:0;bottom:0;width:min(380px,100%);height:auto;z-index:70;box-shadow:-10px 0 30px #1e274026}.w-right.open{display:flex}.w-panel-close{display:inline-flex}}@media (max-width: 860px){.w3{grid-template-columns:minmax(0,1fr)}.w-left{display:none}}@media (max-width: 760px){body.is-writing .mobile-head,body.is-writing .tabbar{display:none}.w3{min-height:100dvh}.w-mhead{display:flex;align-items:center;gap:6px;padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:20}.w-mhead .t{flex:1;min-width:0;font-family:var(--serif);font-weight:600;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-toolbar{top:57px;padding:6px 8px}.w-toolbar .lbl{display:none}.w-page{padding:24px 20px 100px}.w-title{font-size:26px}.w-page .ql-container{font-size:18px}}.panel-btn{display:none!important}@media (max-width: 1180px) and (min-width: 761px){.panel-btn{display:inline-flex!important}}body.focus-write .w-left,body.focus-write .w-right,body.focus-write .topbar,body.focus-write .w-foot{display:none!important}body.focus-write .w3{grid-template-columns:minmax(0,1fr)}body.focus-write .w-toolbar{top:0}@media (max-width: 760px){.w-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.w-toolbar::-webkit-scrollbar{display:none}.w-toolbar>*{flex-shrink:0}.w-toolbar .sep{display:none}.w-toolbar>span[style*="flex:1"]{display:none}}
