:root{--ink:#1c2233;--ink-soft:#4a5268;--ink-faint:#7a819a;--accent:#4353ff;--accent-soft:rgba(67,83,255,.1);--glass:hsla(0,0%,100%,.58);--glass-strong:hsla(0,0%,100%,.78);--glass-border:hsla(0,0%,100%,.65);--glass-shadow:0 8px 32px rgba(31,38,84,.12);--radius:18px;--radius-sm:12px;--danger:#c2404a;--ok:#1e7f4f;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background-color:#eef0fb;min-height:100vh;line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(38% 42% at 12% 8%,rgba(120,140,255,.35),transparent 70%),radial-gradient(42% 46% at 88% 14%,rgba(255,170,200,.32),transparent 70%),radial-gradient(46% 50% at 50% 96%,rgba(120,220,200,.3),transparent 70%),radial-gradient(30% 34% at 78% 72%,rgba(255,214,140,.28),transparent 70%),linear-gradient(160deg,#f2f4ff,#eef6f4)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}button{font-family:inherit}.card,.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow)}.card{padding:20px 22px}.card+.card{margin-top:16px}.card-link{display:block;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.card-link:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 12px 40px rgba(31,38,84,.18)}.shell{max-width:1120px;margin:0 auto;padding:88px 20px 80px}.shell-narrow{max-width:780px}.topnav{position:fixed;top:12px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 24px));z-index:50;display:flex;align-items:center;gap:18px;padding:10px 18px;background:var(--glass-strong);backdrop-filter:blur(24px) saturate(1.7);-webkit-backdrop-filter:blur(24px) saturate(1.7);border:1px solid var(--glass-border);border-radius:999px;box-shadow:var(--glass-shadow)}.topnav .brand{font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--ink)}.topnav .brand:hover{text-decoration:none}.topnav .brand span{color:var(--accent)}.topnav nav{display:flex;gap:4px;flex:1 1}.topnav nav a{color:var(--ink-soft);font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px}.topnav nav a:hover{text-decoration:none;background:hsla(0,0%,100%,.65);color:var(--ink)}.topnav nav a.active{background:var(--accent-soft);color:var(--accent)}.nav-user{display:flex;gap:10px;font-size:13px;color:var(--ink-soft)}.btn,.nav-user{align-items:center}.btn{display:inline-flex;gap:7px;padding:8px 16px;border-radius:999px;border:1px solid rgba(28,34,51,.14);background:hsla(0,0%,100%,.7);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{background:#fff}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{background:#2a3350}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover{background:#3242e8}.btn-danger{color:var(--danger);border-color:rgba(194,64,74,.35)}.btn-sm{padding:4px 11px;font-size:12.5px}.btn-ghost{border-color:transparent;background:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:hsla(0,0%,100%,.6)}.input,.select,.textarea{width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid rgba(28,34,51,.15);background:hsla(0,0%,100%,.72);font-size:15px;font-family:inherit;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(67,83,255,.15);background:#fff}.textarea{min-height:110px;resize:vertical;line-height:1.6}.textarea-code{font-family:var(--mono);font-size:13.5px;min-height:140px}.label{display:block;font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.field{margin-bottom:18px}.hint{color:var(--ink-faint);margin-top:5px}.chip,.hint{font-size:12.5px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;background:hsla(0,0%,100%,.7);border:1px solid rgba(28,34,51,.12);font-weight:600;color:var(--ink-soft)}.chip button{border:none;background:none;cursor:pointer;color:var(--ink-faint);font-size:13px;line-height:1;padding:0}.chip button:hover{color:var(--danger)}.chip-accent{background:var(--accent-soft);border-color:rgba(67,83,255,.25);color:var(--accent)}.chip-row{display:flex;flex-wrap:wrap;gap:7px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-public{background:rgba(30,127,79,.12);color:var(--ok)}.badge-shared{background:rgba(67,83,255,.12);color:var(--accent)}.badge-private{background:rgba(28,34,51,.1);color:var(--ink-soft)}.story-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:24px;gap:24px;align-items:start}@media (max-width:960px){.story-grid{grid-template-columns:minmax(0,1fr)}}.story{font-size:17px;line-height:1.75}.story p{margin-bottom:.9em}.story p:last-child{margin-bottom:0}.story code{font-family:var(--mono);font-size:.88em;background:rgba(28,34,51,.07);border-radius:5px;padding:1px 6px}.block{position:relative;margin-bottom:14px}.block-note{color:var(--ink-soft);font-size:15.5px;line-height:1.7}.block-note-before{margin-bottom:12px}.block-note-after{margin-top:12px}.block-note p:last-child{margin-bottom:0}.context-fields{margin-top:14px;padding-top:14px;border-top:1px dashed rgba(28,34,51,.15)}.upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.upload-row label{cursor:pointer}.upload-row label.is-busy{opacity:.6;pointer-events:none}.upload-preview{margin-bottom:10px;max-width:320px}.upload-preview img{max-height:200px;object-fit:contain}.block-heading h2{font-size:26px;letter-spacing:-.02em;margin:22px 0 4px}.block-step{display:flex;gap:14px}.step-num{flex:none;width:34px;height:34px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;margin-top:2px}.block-step h3{font-size:18px;margin-bottom:4px}pre.codeblock{background:#191e2e;color:#e8ecff;border-radius:var(--radius-sm);padding:16px 18px;overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.55}.code-lang{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:4px}.media-frame{border-radius:var(--radius-sm);overflow:hidden;background:rgba(28,34,51,.05)}.media-frame img,.media-frame video{display:block;width:100%}.video-embed{position:relative;padding-top:56.25%}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.caption{font-size:13px;color:var(--ink-faint);margin-top:6px;text-align:center}.divider-block{border:none;border-top:1px solid rgba(28,34,51,.15);margin:26px auto;width:60%}.linkcard{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.66);border:1px solid rgba(28,34,51,.1);color:inherit}.linkcard:hover{text-decoration:none;border-color:rgba(67,83,255,.4)}.linkcard .lc-title{font-weight:700;font-size:15px}.linkcard .lc-url{font-size:12.5px;color:var(--accent);word-break:break-all}.linkcard .lc-note{font-size:13.5px;color:var(--ink-soft)}.block-tools{position:absolute;top:4px;right:4px;display:none;gap:4px;background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:999px;padding:3px 6px;box-shadow:var(--glass-shadow);z-index:5}.block:hover .block-tools{display:flex}.block-tools button{border:none;background:none;cursor:pointer;font-size:13px;color:var(--ink-soft);padding:2px 5px;border-radius:6px}.block-tools button:hover{background:rgba(28,34,51,.08);color:var(--ink)}.comment-toggle{border:none;background:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--ink-faint);padding:2px 8px;border-radius:999px}.comment-toggle.open,.comment-toggle:hover{color:var(--accent);background:var(--accent-soft)}.comment-thread{margin:8px 0 4px;padding:12px 14px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.55);border:1px solid rgba(28,34,51,.09)}.comment{padding:8px 0;border-bottom:1px solid rgba(28,34,51,.07);font-size:14px}.comment:last-of-type{border-bottom:none}.comment .c-head{display:flex;gap:8px;align-items:baseline;margin-bottom:2px}.comment .c-author{font-weight:700;font-size:13px}.comment .c-time{font-size:11.5px;color:var(--ink-faint)}.comment .c-link{display:inline-block;margin-top:3px;font-size:12.5px;word-break:break-all}.side-panel h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:10px}.side-item{display:block;padding:9px 11px;border-radius:var(--radius-sm);background:hsla(0,0%,100%,.55);border:1px solid rgba(28,34,51,.08);margin-bottom:8px;color:inherit;font-size:13.5px}.side-item:hover{text-decoration:none;border-color:rgba(67,83,255,.35)}.side-item .si-title{font-weight:700;display:flex;align-items:center;gap:6px}.side-item .si-sub{color:var(--ink-faint);font-size:12px;margin-top:1px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.page-title{font-size:34px;font-weight:800;letter-spacing:-.03em;margin-bottom:6px}.page-sub{color:var(--ink-soft);font-size:16px;margin-bottom:26px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--ink-faint)}.tabbar{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:hsla(0,0%,100%,.55);border:1px solid var(--glass-border);margin-bottom:20px}.tabbar button{border:none;background:none;padding:6px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer}.tabbar button.active{background:var(--ink);color:#fff}.empty{text-align:center;padding:48px 20px;color:var(--ink-faint);font-size:15px}.error-text{color:var(--danger)}.error-text,.ok-text{font-size:13.5px;margin-top:6px}.ok-text{color:var(--ok)}.modal-overlay{position:fixed;inset:0;background:rgba(28,34,51,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:min(480px,100%);background:var(--glass-strong);backdrop-filter:blur(28px) saturate(1.7);-webkit-backdrop-filter:blur(28px) saturate(1.7);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:0 20px 60px rgba(31,38,84,.3);padding:26px}.pill-select{display:flex;flex-wrap:wrap;gap:7px}.pill-select button{border:1px solid rgba(28,34,51,.14);background:hsla(0,0%,100%,.65);border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer}.pill-select button.active{background:var(--ink);border-color:var(--ink);color:#fff}.hero{text-align:center;padding:70px 24px 60px}.hero h1{font-size:clamp(34px,6vw,56px);font-weight:800;letter-spacing:-.035em;line-height:1.12;margin-bottom:16px}.hero h1 span{background:linear-gradient(90deg,#4353ff,#b44bd2 60%,#e0558c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero p{font-size:18px;color:var(--ink-soft);max-width:620px;margin:0 auto 28px}.section-title{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:36px 0 14px}