*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #111111;--card: #1a1a1a;--card-hover: #222222;--card-secondary: #161616;--border: #2a2a2a;--border-strong: #333333;--text: #e5e5e5;--text-bright: #f0f0f0;--text-dim: #555555;--accent: #3E9E6B;--accent-dim: #2a7050;--primary-bg: linear-gradient(180deg, #1c201e, #1a1a1a);--primary-bg-hover: linear-gradient(180deg, #232824, #202020);--icon-bg: #252525;--glow: rgba(62, 158, 107, .16);--ripple: rgba(62, 158, 107, .25);--logo-1: #CFCECD;--logo-2: #4B4646;--logo-3: #F1ECEC;--logo-4: #CFCECD;--logo-5: #211E1E;--content-width: 740px}html{scrollbar-color:var(--border-strong) var(--bg)}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-tap-highlight-color:transparent}#root{min-height:100vh}#fx{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.hub-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.wrapper{position:relative;z-index:1;width:100%;max-width:min(560px,92vw);padding:40px 16px;padding-top:max(40px,env(safe-area-inset-top));padding-bottom:max(40px,env(safe-area-inset-bottom))}.logo{text-align:center;margin-bottom:clamp(20px,4vw,28px);opacity:0;animation:fadeIn 1s ease forwards;-webkit-user-select:none;user-select:none}.logo-icon{width:clamp(72px,12vw,104px);height:clamp(72px,12vw,104px);margin:0 auto clamp(12px,2.5vw,18px);pointer-events:none;will-change:transform;animation:logoFloat 5s ease-in-out infinite}.logo-icon svg{width:100%;height:100%;display:block}.logo-caption{font-size:clamp(.62rem,1.8vw,.7rem);font-weight:600;letter-spacing:6px;text-transform:uppercase;color:var(--text-dim);text-align:center;margin-top:clamp(8px,1.8vw,12px);-webkit-user-select:none;user-select:none}.logo-icon svg path:nth-child(1){fill:var(--logo-1)}.logo-icon svg path:nth-child(2){fill:var(--logo-2)}.logo-icon svg path:nth-child(3){fill:var(--logo-3)}.logo-icon svg path:nth-child(4){fill:var(--logo-4)}.logo-icon svg path:nth-child(5){fill:var(--logo-5)}.links{display:flex;flex-direction:column;gap:clamp(8px,2vw,12px)}.link{display:flex;align-items:center;gap:clamp(10px,3vw,16px);padding:clamp(14px,3.5vw,22px) clamp(14px,3.5vw,22px);background:var(--card);border:1px solid var(--border);border-radius:clamp(10px,2.5vw,14px);text-decoration:none;color:var(--text);transition:background .2s,border-color .2s,transform .15s ease,opacity .25s,box-shadow .25s;touch-action:manipulation;position:relative}.links>div{opacity:0;animation:fadeIn 1s ease forwards}.link:hover{background:var(--card-hover);border-color:var(--border-strong);box-shadow:0 0 18px -6px #3e9e6b38,0 12px 28px -14px #0009;transform:translateY(-2px)}.link:active{transform:scale(.99)}.link:focus-visible{outline:2px solid var(--text-dim);outline-offset:2px}.link-icon{width:clamp(38px,8vw,50px);height:clamp(38px,8vw,50px);min-width:clamp(38px,8vw,50px);border-radius:clamp(8px,2vw,12px);background:var(--icon-bg);display:flex;align-items:center;justify-content:center;transition:box-shadow .25s}.link--primary:hover .link-icon{box-shadow:inset 0 0 0 1px #3e9e6b66}.link-icon svg{width:clamp(17px,4vw,22px);height:clamp(17px,4vw,22px)}.link-text{flex:1}.link-title{font-size:clamp(.85rem,2.5vw,1.05rem);font-weight:600;color:var(--text-bright);letter-spacing:.2px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotPulse 2s ease-in-out infinite;vertical-align:middle;margin-left:6px}.link-arrow{width:clamp(18px,3.5vw,22px);height:clamp(18px,3.5vw,22px);flex-shrink:0}.link-arrow path{stroke:var(--text-dim);transition:stroke .2s}.link:hover .link-arrow path,.link:focus-visible .link-arrow path{stroke:#8a8a8a}.link--primary{background:var(--primary-bg);border:1px solid var(--accent);animation:pulseGlow 4s ease-in-out infinite}.link--primary:hover{background:var(--primary-bg-hover);border-color:var(--accent)}.link--primary .link-title{font-size:clamp(.95rem,2.7vw,1.15rem)}.link--secondary{background:var(--card-secondary)}.link--secondary:hover{box-shadow:0 0 22px -6px #ffffff24,0 12px 28px -14px #0009}.link--secondary:hover .link-icon{box-shadow:inset 0 0 0 1px #ffffff38}@keyframes logoFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-1.5deg)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 var(--glow)}50%{box-shadow:0 0 26px -6px var(--glow)}}@keyframes dotPulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rippleAnim{0%{width:0;height:0;opacity:1}to{width:120px;height:120px;opacity:0}}.ripple{position:fixed;border-radius:50%;background:var(--ripple);pointer-events:none;z-index:2;transform:translate(-50%,-50%);animation:rippleAnim .6s ease-out forwards}@media (hover: none){.link{padding:18px}.link-icon{width:clamp(40px,9vw,50px);height:clamp(40px,9vw,50px);min-width:clamp(40px,9vw,50px)}.link-arrow{display:none}body{-webkit-tap-highlight-color:transparent}}@media (max-width: 480px){.wrapper{padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}.link-title{font-size:1rem;letter-spacing:0}}@media (prefers-reduced-motion: reduce){.logo,.links>div{animation:none;opacity:1}.status-dot,.logo-icon{animation:none}.ripple{display:none}.link--primary{animation:none}}.app{position:relative;min-height:100vh}.page{position:relative;z-index:1;min-height:100vh;padding-bottom:80px}.page--plain{padding-top:max(24px,env(safe-area-inset-top))}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}.container--narrow{max-width:var(--content-width)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text-bright);text-decoration:none;font-weight:600;letter-spacing:.4px;font-size:.92rem;padding:8px 10px;border-radius:10px;transition:background .2s,color .2s}.brand:hover{background:var(--card)}.brand-logo{width:26px;height:26px;display:block}.brand-logo path:nth-child(1){fill:var(--logo-1)}.brand-logo path:nth-child(2){fill:var(--logo-2)}.brand-logo path:nth-child(3){fill:var(--logo-3)}.brand-logo path:nth-child(4){fill:var(--logo-4)}.brand-logo path:nth-child(5){fill:var(--logo-5)}.brand-caption{color:var(--text-dim);letter-spacing:3px;text-transform:uppercase;font-size:.72rem}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:1200px;margin:0 auto;padding:12px clamp(16px,4vw,32px);padding-top:max(12px,env(safe-area-inset-top));background:linear-gradient(180deg,#111111eb,#111111b8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.topbar-side{display:flex;align-items:center;gap:8px}.to-articles{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:30;display:inline-flex;align-items:center;gap:10px;padding:11px 16px 11px 18px;background:var(--card);border:1px solid var(--border-strong);border-radius:999px;color:var(--text-bright);text-decoration:none;font-size:.88rem;font-weight:600;letter-spacing:.3px;transition:border-color .2s,background .2s,transform .15s,box-shadow .25s}.to-articles:hover{border-color:var(--accent);background:var(--card-hover);transform:translateY(-1px);box-shadow:0 0 22px -8px var(--glow)}.to-articles:active{transform:scale(.98)}.to-articles-arrow{width:18px;height:18px;flex-shrink:0}.to-articles-arrow path{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-dim);text-decoration:none;font-size:.86rem;font-weight:500;padding:8px 10px;border-radius:10px;transition:color .2s,background .2s}.back-link:hover{color:var(--text-bright);background:var(--card)}.back-link svg{width:16px;height:16px}.back-link svg path{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px solid var(--border-strong);background:var(--card);color:var(--text-bright);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,transform .12s,opacity .2s,box-shadow .25s;white-space:nowrap}.btn:hover{background:var(--card-hover);border-color:#4a4a4a}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:17px;height:17px}.btn svg path,.btn svg line{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.btn--accent{background:linear-gradient(180deg,#1f2a24,#1a211d);border-color:var(--accent);color:var(--text-bright)}.btn--accent:hover{background:linear-gradient(180deg,#263329,#202821);border-color:var(--accent);box-shadow:0 0 24px -8px var(--glow)}.btn--danger{color:#e0a5a5;border-color:#4a2f2f}.btn--danger:hover{background:#241a1a;border-color:#6a3a3a}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn--ghost:hover{background:var(--card);color:var(--text-bright);border-color:var(--border)}.btn--square{padding:0;width:40px;min-width:40px;height:40px;border-radius:10px}.btn--square svg{width:18px;height:18px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:color .2s,border-color .2s,background .2s,transform .12s}.icon-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--card)}.icon-btn:active{transform:scale(.95)}.icon-btn svg{width:18px;height:18px}.icon-btn svg path,.icon-btn svg line{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.page-title{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;color:var(--text-bright);letter-spacing:-.02em;margin:18px 0 6px}.page-subtitle{color:var(--text-dim);font-size:.9rem;margin-bottom:22px}.chip{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card-secondary);color:var(--text-dim);font-size:.82rem;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s}.chip:hover{color:var(--text-bright);border-color:var(--border-strong)}.chip--active{color:var(--text-bright);border-color:var(--accent);background:var(--primary-bg)}.tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;background:#3e9e6b1f;border:1px solid rgba(62,158,107,.35);color:#9ad0b2;font-size:.7rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 20px;color:var(--text-dim);text-align:center}.state-title{color:var(--text);font-size:1.1rem;font-weight:600}.spinner{width:26px;height:26px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}.spinner--sm{width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#000000b8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{width:100%;max-width:380px;background:var(--card);border:1px solid var(--border-strong);border-radius:16px;padding:24px;box-shadow:0 24px 60px -20px #000c}.modal-title{font-size:1.05rem;font-weight:700;color:var(--text-bright);margin-bottom:8px}.modal-text{font-size:.86rem;color:var(--text-dim);margin-bottom:16px;line-height:1.5}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.field-error{color:#e08a8a;font-size:.8rem;margin-top:10px}.modal-full{width:100%}.login-card{display:flex;flex-direction:column;gap:12px;padding:26px;margin-top:40px;border:1px solid var(--border);border-radius:14px;background:var(--card)}.login-title{font-size:1.05rem;font-weight:600;color:var(--text-bright)}.login-text{font-size:.85rem;line-height:1.5;color:var(--text-dim);margin-bottom:4px}.login-card .btn{margin-top:4px}.input{width:100%;padding:11px 14px;background:#151515;border:1px solid var(--border);border-radius:10px;color:var(--text-bright);font-family:inherit;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:#4a4a4a}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3e9e6b1f}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#777 50%),linear-gradient(135deg,#777 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}.toaster{position:fixed;z-index:200;bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));left:max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.toast{max-width:360px;padding:11px 16px;border-radius:10px;background:var(--card);border:1px solid var(--border-strong);color:var(--text-bright);font-size:.86rem;line-height:1.45;box-shadow:0 18px 44px -22px #000000e6;animation:toastIn .22s ease}.toast--error{border-color:#6a3a3a;color:#e0b0b0}.toast--success{border-color:var(--accent)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.articles-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px}.search{position:relative;flex:1;min-width:220px}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;pointer-events:none}.search svg circle,.search svg path{stroke:var(--text-dim);stroke-width:2;fill:none}.search .input{padding-left:42px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.chips--sub{margin-top:-8px;padding-left:12px;border-left:2px solid var(--border-strong)}.chips--sub .chip{font-size:.74rem}.sort{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--card-secondary)}.sort button{padding:8px 14px;border:none;background:transparent;color:var(--text-dim);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:color .2s,background .2s}.sort button:hover{color:var(--text-bright)}.sort button.is-active{color:var(--text-bright);background:var(--primary-bg)}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(16px,2.5vw,24px)}.article-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .2s,transform .18s,box-shadow .25s,background .2s}.article-card:hover{border-color:var(--border-strong);background:var(--card-hover);transform:translateY(-3px);box-shadow:0 18px 40px -22px #000000e6,0 0 24px -12px var(--glow)}.article-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.article-card-cover{position:relative;width:100%;aspect-ratio:16 / 9;background:#151515;overflow:hidden}.article-card-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.article-card:hover .article-card-cover img{transform:scale(1.04)}.article-card-cover--empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1b1b1b,#141414);color:var(--text-dim);font-size:.72rem;letter-spacing:3px;text-transform:uppercase}.article-card-body{display:flex;flex-direction:column;gap:10px;padding:16px}.article-card-title{font-size:1rem;font-weight:600;color:var(--text-bright);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-card-date{color:var(--text-dim);font-size:.76rem}.article-head{padding-top:10px}.article-cover{width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:#151515;margin:18px 0 26px;cursor:pointer;display:flex;justify-content:center}.article-cover img{width:auto;height:auto;max-width:100%;object-fit:contain;display:block}.article-title{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:700;line-height:1.18;letter-spacing:-.02em;color:var(--text-bright)}.article-title-row{display:flex;align-items:flex-start;gap:14px;margin:4px 0 14px}.article-title-row .article-title{flex:1;min-width:0}.article-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:6px}.article-action{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.5px;transition:color .2s,border-color .2s,background .2s,transform .12s}.article-action:hover{color:var(--accent);border-color:var(--accent);background:var(--card-hover)}.article-action:active{transform:scale(.95)}.article-action svg{width:17px;height:17px}.article-action svg path{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.article-meta{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:.82rem;padding-bottom:22px;border-bottom:1px solid var(--border);margin-bottom:30px;flex-wrap:wrap}.article-edit-link{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:var(--text-dim);text-decoration:none;font-size:.78rem;transition:color .2s}.article-edit-link:hover{color:var(--accent)}.article-edit-link svg{width:14px;height:14px}.article-edit-link svg path{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.article-body{font-size:1.03rem;line-height:1.75;color:var(--text)}.article-body>*+*{margin-top:22px}.article-h{color:var(--text-bright);font-weight:700;letter-spacing:-.01em;line-height:1.25;margin-top:44px}.article-h--2{font-size:clamp(1.45rem,3.6vw,1.9rem)}.article-h--3{font-size:clamp(1.2rem,3vw,1.5rem)}.article-h--4{font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;color:var(--text)}.article-body .article-p{color:var(--text)}.article-body a{color:#7fc9a1;text-underline-offset:3px}.article-body u{text-decoration:underline;text-underline-offset:3px}.article-body b,.article-body strong{color:var(--text-bright)}.article-body mark{background:#3e9e6b40;color:#d9f2e4;padding:1px 5px;border-radius:4px}.article-body code{font-family:SFMono-Regular,ui-monospace,Cascadia Code,Consolas,monospace;font-size:.88em;background:#202020;border:1px solid var(--border);border-radius:5px;padding:2px 6px;color:#c9e8d6}.article-ul,.article-ol{padding-left:26px;display:flex;flex-direction:column;gap:10px}.article-ul{list-style:disc}.article-ol{list-style:decimal}.article-ul li::marker,.article-ol li::marker{color:var(--accent)}.article-quote{position:relative;padding:6px 0 6px 24px;border-left:3px solid var(--accent);color:var(--text-bright);font-size:1.12rem;font-style:italic;line-height:1.6}.article-quote footer{margin-top:12px;color:var(--text-dim);font-size:.85rem;font-style:normal}.article-code{background:#151515;border:1px solid var(--border);border-radius:12px;padding:18px 20px;overflow-x:auto;font-family:SFMono-Regular,ui-monospace,Cascadia Code,Consolas,monospace;font-size:.86rem;line-height:1.6;color:#cfe9da}.article-figure{display:flex;flex-direction:column;gap:10px;align-items:center}.article-figure img{width:auto;max-width:100%;height:auto;border-radius:12px;display:block;cursor:pointer;transition:opacity .2s}.article-figure:hover img{opacity:.88}.article-figure figcaption{color:var(--text-dim);font-size:.82rem;text-align:center}.article-delimiter{display:flex;justify-content:center;color:var(--text-dim);letter-spacing:8px;padding:8px 0}.article-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:12px}.article-table{width:100%;border-collapse:collapse;font-size:.94rem}.article-table th,.article-table td{padding:11px 14px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;vertical-align:top}.article-table th:last-child,.article-table td:last-child{border-right:none}.article-table tbody tr:last-child td{border-bottom:none}.article-table th{background:var(--card-secondary);color:var(--text-bright);font-weight:600}.article-table tr:hover td{background:var(--card-hover)}.article-markdown{font-size:1.03rem;line-height:1.75;color:var(--text)}.article-markdown>*+*{margin-top:22px}.article-markdown h1,.article-markdown h2,.article-markdown h3,.article-markdown h4{color:var(--text-bright);font-weight:700;letter-spacing:-.01em;line-height:1.25}.article-markdown h1{font-size:clamp(1.6rem,4vw,2.1rem)}.article-markdown h2{font-size:clamp(1.45rem,3.6vw,1.9rem)}.article-markdown h3{font-size:clamp(1.2rem,3vw,1.5rem)}.article-markdown h4{font-size:1.1rem;text-transform:uppercase;letter-spacing:1px}.article-markdown ul,.article-markdown ol{padding-left:26px}.article-markdown li::marker{color:var(--accent)}.article-markdown blockquote{padding-left:20px;border-left:3px solid var(--accent);color:var(--text-bright);font-style:italic}.article-markdown img{max-width:100%;height:auto;border-radius:12px;cursor:pointer}.article-markdown a{color:#7fc9a1}.article-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--border);flex-wrap:wrap}@media (max-width: 560px){.articles-grid{grid-template-columns:1fr}.articles-toolbar{align-items:stretch}.search{min-width:100%}}.editor-wrap{position:relative;z-index:1;padding-bottom:120px}.editor-head{width:100%;max-width:var(--content-width);margin:0 auto;padding:0 clamp(16px,4vw,24px)}.editor-title-input{width:100%;margin-top:14px;padding:8px 0;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-bright);font-family:inherit;font-size:clamp(1.5rem,4.5vw,2.2rem);font-weight:700;letter-spacing:-.02em;outline:none;transition:border-color .2s}.editor-title-input::placeholder{color:#3a3a3a}.editor-title-input:focus{border-bottom-color:var(--accent)}.editor-fields{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 22px}.editor-fields .input{width:auto;min-width:220px;flex:0 1 auto}.cover-drop{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px dashed var(--border-strong);border-radius:14px;background:var(--card-secondary);transition:border-color .2s,background .2s}.cover-drop.is-drag{border-color:var(--accent);background:#3e9e6b0f}.cover-drop-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cover-drop-label{font-size:.82rem;font-weight:600;color:var(--text);letter-spacing:.3px}.cover-drop-hint{font-size:.74rem;color:var(--text-dim)}.cover-preview{position:relative;width:100%;max-width:380px;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#151515}.cover-preview img{width:100%;height:100%;object-fit:cover;display:block}.cover-remove{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:1px solid var(--border-strong);background:#111111d1;color:var(--text-bright);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s}.cover-remove:hover{border-color:#7a3a3a;color:#e08a8a}.cover-remove svg{width:14px;height:14px}.cover-remove svg path{stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}.draft-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;margin:16px auto 0;width:100%;max-width:var(--content-width);background:linear-gradient(180deg,#1c201e,#1a1a1a);border:1px solid var(--accent);border-radius:12px;box-shadow:0 0 26px -14px var(--glow)}.draft-banner-text{flex:1;min-width:200px;font-size:.85rem;color:var(--text);line-height:1.5}.draft-banner-text strong{color:var(--text-bright)}.draft-banner-actions{display:flex;flex-wrap:wrap;gap:8px}.editor-holder{width:100%;max-width:var(--content-width);margin:10px auto 0;padding:0 clamp(16px,4vw,24px)}.export-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px clamp(16px,4vw,24px);padding-bottom:max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#111111b3,#111111f5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border)}.export-bar-info{font-size:.76rem;color:var(--text-dim);line-height:1.4}.export-bar-actions{display:flex;align-items:center;gap:10px}.codex-editor{color:var(--text)}.ce-block__content,.ce-toolbar__content{max-width:var(--content-width)}.codex-editor__redactor{padding-bottom:200px!important}.ce-paragraph,.codex-editor .ce-block .cdx-block{color:var(--text);line-height:1.75;font-size:1.03rem}.ce-paragraph[data-placeholder]:before,.ce-header[data-placeholder]:before{color:#3f3f3f}.ce-header{color:var(--text-bright);font-weight:700;letter-spacing:-.01em;line-height:1.25;padding:0 0 4px;margin:28px 0 0}h2.ce-header{font-size:clamp(1.45rem,3.6vw,1.9rem)}h3.ce-header{font-size:clamp(1.2rem,3vw,1.5rem)}h4.ce-header{font-size:1.1rem;text-transform:uppercase;letter-spacing:1px}.ce-paragraph a,.cdx-block a{color:#7fc9a1}.ce-paragraph u,.cdx-block u{text-decoration:underline;text-underline-offset:3px}.ce-paragraph mark,.cdx-block mark{background:#3e9e6b40;color:#d9f2e4;padding:1px 5px;border-radius:4px}.ce-paragraph code,.cdx-block code{font-family:SFMono-Regular,ui-monospace,Consolas,monospace;font-size:.88em;background:#202020;border:1px solid var(--border);border-radius:5px;padding:2px 6px;color:#c9e8d6}.ce-toolbar__plus,.ce-toolbar__settings-btn{width:34px;height:34px;border-radius:50%;background:transparent;color:var(--text-dim);border:1px solid transparent;transition:color .18s,background .18s,border-color .18s,box-shadow .18s}.ce-toolbar__plus:hover,.ce-toolbar__settings-btn:hover{color:var(--accent);background:var(--card-hover);border-color:var(--accent);box-shadow:0 0 18px -6px var(--glow)}.ce-toolbar__plus svg,.ce-toolbar__settings-btn svg{width:18px;height:18px}.ce-toolbar__plus{margin-right:2px}.ce-popover,.ce-popover__container,.ce-settings{background:var(--card)!important;border:1px solid var(--border-strong)!important;border-radius:12px!important;box-shadow:0 22px 50px -24px #000000f2!important;color:var(--text)!important;overflow:hidden}.ce-popover-item,.ce-settings__button{color:var(--text)!important;border-radius:8px!important}.ce-popover-item:hover,.ce-settings__button:hover{background:var(--card-hover)!important}.ce-popover-item__title,.ce-popover-item__secondary-title{color:var(--text-bright)!important}.ce-popover-item__icon{color:var(--accent)!important;background:transparent!important}.cdx-cover-tune{display:block;width:100%;padding:8px 10px;border:none;background:none;color:var(--text);font:inherit;font-size:.9rem;text-align:left;cursor:pointer;border-radius:8px}.cdx-cover-tune:hover{background:var(--card-hover)}.ce-popover-item__icon svg{fill:currentColor}.ce-popover__nothing-found-message{color:var(--text-dim)}.ce-popover-item-separator__line{background:var(--border)!important}.ce-inline-toolbar{background:var(--card)!important;border:1px solid var(--border-strong)!important;border-radius:10px!important;box-shadow:0 18px 44px -22px #000000f2!important;color:var(--text)!important}.ce-inline-tool{color:var(--text)!important}.ce-inline-tool:hover,.ce-inline-tool--active{background:var(--card-hover)!important;color:var(--accent)!important}.ce-inline-toolbar__dropdown{color:var(--text)!important}.ce-inline-toolbar__dropdown:hover{background:var(--card-hover)!important}.ce-inline-toolbar__converter{background:transparent!important}.cdx-input,.ce-code__textarea{background:#151515!important;border:1px solid var(--border)!important;border-radius:8px!important;color:var(--text-bright)!important;font-family:inherit}.cdx-input::placeholder,.ce-code__textarea::placeholder{color:#4a4a4a}.ce-code__textarea{font-family:SFMono-Regular,ui-monospace,Consolas,monospace!important;color:#cfe9da!important;min-height:140px}.cdx-quote{border-left:3px solid var(--accent)!important;padding-left:20px}.cdx-quote__text{color:var(--text-bright)!important;font-size:1.1rem;line-height:1.6}.cdx-quote__caption{display:none}.cdx-list{color:var(--text)}.cdx-list__item::marker{color:var(--accent)}.ce-delimiter{line-height:1.4}.ce-delimiter:before{color:var(--text-dim)!important;letter-spacing:8px}.image-tool{background:transparent!important;border:none!important}.image-tool__image{border-radius:12px!important;overflow:hidden;background:#151515}.image-tool__caption{color:var(--text-dim)!important;text-align:center}.image-tool__image-picture{border-radius:12px}.image-tool--uploading .image-tool__image{background:#151515}.ce-block--selected .ce-block__content,.ce-block--selected .cdx-block{background:#3e9e6b0f!important}.ce-block--focused{background:transparent}.ce-toolbar__actions{padding-right:6px}@media (max-width: 650px){.codex-editor--narrow .ce-toolbar__actions{right:0}.ce-block__content,.ce-toolbar__content{max-width:100%}.export-bar{flex-direction:column;align-items:stretch}.export-bar-actions{justify-content:flex-end}}.modal--wide{max-width:640px}.md-textarea{width:100%;min-height:240px;padding:14px;background:#151515;border:1px solid var(--border);border-radius:10px;color:var(--text-bright);font-family:SFMono-Regular,ui-monospace,Cascadia Code,Consolas,monospace;font-size:.86rem;line-height:1.6;resize:vertical;transition:border-color .2s}.md-textarea:focus{outline:none;border-color:var(--accent)}.md-textarea.is-drag{border-color:var(--accent);background:#3e9e6b0f}.modal-text code{font-family:SFMono-Regular,ui-monospace,Consolas,monospace;background:#202020;border:1px solid var(--border);border-radius:5px;padding:1px 5px}.radio-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:14px;color:var(--text-dim);font-size:.82rem}.radio-row label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.radio-row input[type=radio]{accent-color:var(--accent)}.radio-row .btn{margin-left:auto}
