:root{--bg:#161513;--surface:#1b1a17;--panel:#1f1e1b;--panel-2:#26241f;--panel-hover:#262420;--editor-bg:#161513;--border:#312f2a;--border-2:#3e3b33;--text:#ecebe8;--muted:#a6a39b;--dim:#88857c;--faint:#67645c;--accent:#f0653e;--accent-fg:#fff;--accent-soft:#f0653e29;--accent-border:#f0653e6b;--green:#5bbd8c;--green-soft:#5bbd8c29;--warn:#d9a03f;--warn-soft:#d9a03f24;--danger:#e5654b;--danger-soft:#e5654b1f;--shadow:0 12px 40px -12px #0009;--mode-concept:#9d6cff;--mode-concept-soft:#9d6cff29;--mode-concept-border:#9d6cff6b;--mode-design:#1fb6d4;--mode-design-soft:#1fb6d429;--mode-design-border:#1fb6d46b;--mode-build:#5bbd8c;--mode-build-soft:#5bbd8c29;--mode-build-border:#5bbd8c6b;--font-ui:"Golos Text",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace}[data-theme=light]{--bg:#faf9f6;--surface:#fff;--panel:#fff;--panel-2:#f4f2ec;--panel-hover:#f3f1ea;--editor-bg:#fff;--border:#e7e4dc;--border-2:#d9d5cb;--text:#1d1c19;--muted:#5e5b54;--dim:#7d796f;--faint:#a39f95;--accent:#d6492a;--accent-fg:#fff;--accent-soft:#d6492a1a;--accent-border:#d6492a52;--green:#1f9d63;--green-soft:#1f9d631f;--warn:#b0791f;--warn-soft:#b0791f1f;--danger:#cf4023;--danger-soft:#cf40231a;--shadow:0 18px 48px -16px #28241c47;--mode-concept:#7a45e0;--mode-concept-soft:#7a45e01a;--mode-concept-border:#7a45e052;--mode-design:#0e8fa8;--mode-design-soft:#0e8fa81a;--mode-design-border:#0e8fa852;--mode-build:#1f9d63;--mode-build-soft:#1f9d631f;--mode-build-border:#1f9d6352}[data-accent=cobalt]{--accent:#5b8cff;--accent-soft:#5b8cff29;--accent-border:#5b8cff6b}[data-accent=iris]{--accent:#7b74ff;--accent-soft:#7b74ff29;--accent-border:#7b74ff6b}[data-accent=violet]{--accent:#9d6cff;--accent-soft:#9d6cff29;--accent-border:#9d6cff6b}[data-accent=magenta]{--accent:#c46cf0;--accent-soft:#c46cf029;--accent-border:#c46cf06b}[data-accent=rose]{--accent:#f25a8b;--accent-soft:#f25a8b29;--accent-border:#f25a8b6b}[data-accent=coral]{--accent:#f0653e;--accent-soft:#f0653e29;--accent-border:#f0653e6b}[data-accent=emerald]{--accent:#1fb877;--accent-soft:#1fb87729;--accent-border:#1fb8776b}[data-accent=cyan]{--accent:#1fb6d4;--accent-soft:#1fb6d429;--accent-border:#1fb6d46b}[data-theme=light][data-accent=cobalt]{--accent:#2f6fe0;--accent-soft:#2f6fe01a;--accent-border:#2f6fe052}[data-theme=light][data-accent=iris]{--accent:#5b50e5;--accent-soft:#5b50e51a;--accent-border:#5b50e552}[data-theme=light][data-accent=violet]{--accent:#7a45e0;--accent-soft:#7a45e01a;--accent-border:#7a45e052}[data-theme=light][data-accent=magenta]{--accent:#a23ad0;--accent-soft:#a23ad01a;--accent-border:#a23ad052}[data-theme=light][data-accent=rose]{--accent:#d63a6e;--accent-soft:#d63a6e1a;--accent-border:#d63a6e52}[data-theme=light][data-accent=coral]{--accent:#d6492a;--accent-soft:#d6492a1a;--accent-border:#d6492a52}[data-theme=light][data-accent=emerald]{--accent:#0e9c63;--accent-soft:#0e9c631a;--accent-border:#0e9c6352}[data-theme=light][data-accent=cyan]{--accent:#0e8fa8;--accent-soft:#0e8fa81a;--accent-border:#0e8fa852}:root{--cat-app:#f0653e;--cat-game:#7b74ff;--cat-library:#1fb877;--w-page:1280px;--header-h:64px;--gutter:40px;--c-kw:#b9a6ff;--c-fn:#7fb0ff;--c-str:#7ec896;--c-num:#e3a972;--c-ty:#e6c878;--c-com:#6f6c63;--c-pu:#8a877e}[data-theme=light]{--cat-app:#d6492a;--cat-game:#5b50e5;--cat-library:#0e9c63;--c-kw:#8a4fd0;--c-fn:#2f6fe0;--c-str:#1f8a52;--c-num:#b5651d;--c-ty:#8a6d1f;--c-com:#9a968c;--c-pu:#7d796f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:14px}#app{height:100vh}input::placeholder{color:var(--faint)}button{cursor:pointer;font-family:inherit}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}ul{margin:0;padding:0;list-style-type:none}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--border-2);background-clip:padding-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--dim);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-track{background:0 0}@keyframes lcfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes lcpop{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes lcmenu{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui)}#app{flex-direction:column;height:auto;min-height:100vh;display:flex}::selection{background:var(--accent-soft)}.page{flex:1;width:100%}.wrap{width:100%;padding:0 var(--gutter);max-width:var(--w-page);margin:0 auto}@media (width<=860px){:root{--gutter:24px}}@media (width<=560px){:root{--gutter:18px}}.amenu{border:1px solid var(--border);background:var(--panel);min-width:232px;box-shadow:var(--shadow);border-radius:14px;padding:6px}.amenu--narrow{min-width:178px}.amenu__head{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:8px 10px 10px;display:flex}.amenu__head:hover{background:var(--panel-hover);color:var(--text)}.amenu__id{flex-direction:column;min-width:0;display:flex}.amenu__name{font-size:14px;font-weight:600}.amenu__handle{color:var(--dim);font-size:11.5px}.amenu__item{width:100%;height:36px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:0 10px;font-family:inherit;font-size:13.5px;display:flex}.amenu__item:hover{background:var(--panel-hover);color:var(--text)}.amenu__item svg{width:15px;height:15px}.amenu__item--quiet{color:var(--dim)}.amenu__item--danger:hover{background:var(--danger-soft);color:var(--danger)}.amenu__rule{background:var(--border);height:1px;margin:5px 8px}.amenu__away{width:13px;height:13px;color:var(--faint);margin-left:auto}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:10.5px;font-weight:600}.h-section{letter-spacing:-.02em;margin:0;font-size:23px;font-weight:700}.h-sub{font-family:var(--font-mono);color:var(--dim);font-size:11.5px}.hairline{background:var(--border);height:1px}.card-surface{background:var(--panel);border:1px solid var(--border);border-radius:14px}.stretched{position:relative}.stretched__link:after{content:"";z-index:1;position:absolute;inset:0}.stretched a:not(.stretched__link),.stretched button{z-index:2;position:relative}@keyframes lsfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes lspop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@keyframes lspulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes lsshimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.brand{color:var(--text);align-items:center;gap:11px;display:flex}.brand:hover{color:var(--text)}.brand__tile{background:var(--accent);flex:none;position:relative;overflow:hidden}.brand__square{background:#ffffffeb;position:absolute;transform:rotate(8deg)}.brand__dot{background:#ffffff80;border-radius:50%;position:absolute}.brand__word{letter-spacing:-.01em;font-weight:700}.sfield{border:1px solid var(--border);background:var(--panel);border-radius:10px;align-items:center;gap:9px;max-width:100%;height:38px;padding:0 12px;transition:border-color .12s,box-shadow .12s;display:flex;position:relative}.sfield--focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.sfield__icon{width:16px;height:16px;color:var(--faint)}.sfield__input{min-width:0;height:100%;color:var(--text);font-family:var(--font-ui);background:0 0;border:none;outline:none;flex:1;font-size:13px}.sfield__input::-webkit-search-cancel-button{display:none}.sfield__hint{background:var(--panel-2);color:var(--dim);border-radius:5px;flex:none;padding:1px 6px;font-size:11px}.sfield__clear{background:var(--panel-2);width:20px;height:20px;color:var(--dim);cursor:pointer;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sfield__clear:hover{color:var(--text)}.sfield__clear svg{width:12px;height:12px}.avatar{background:var(--accent);color:var(--accent-fg);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden}.avatar--ring{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent-border)}.avatar__img{object-fit:cover;width:100%;height:100%}.vbtn{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-weight:600;text-decoration:none;transition:filter .12s,background .12s,border-color .12s,color .12s;display:inline-flex}.vbtn:disabled,.vbtn--disabled{opacity:.6;cursor:not-allowed}.vbtn--disabled{pointer-events:none}.vbtn__icon{width:1.1em;height:1.1em}.vbtn--sm{height:32px;padding:0 14px;font-size:13px}.vbtn--md{height:40px;padding:0 16px;font-size:14px}.vbtn--lg{border-radius:11px;height:46px;padding:0 18px;font-size:14.5px}.vbtn--block{width:100%}.vbtn--primary{background:var(--accent);color:var(--accent-fg);box-shadow:0 1px #0000001f}.vbtn--primary:hover:not(:disabled){filter:brightness(1.08)}.vbtn--secondary{background:var(--panel);border-color:var(--border);color:var(--text)}.vbtn--secondary:hover:not(:disabled){background:var(--panel-hover);border-color:var(--border-2)}.vbtn--ghost{color:var(--muted);background:0 0}.vbtn--ghost:hover:not(:disabled){background:var(--panel-hover);color:var(--text)}.vbtn--soft{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.vbtn--soft:hover:not(:disabled){background:var(--accent);color:var(--accent-fg)}.vbtn--danger{background:var(--danger);color:#fff}.vbtn--danger:hover:not(:disabled){filter:brightness(1.08)}.vbtn__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:15px;height:15px;animation:.6s linear infinite vbtn-spin}@keyframes vbtn-spin{to{transform:rotate(360deg)}}.vpop__activator{display:inline-flex}.vpop__scrim{z-index:200;position:fixed;inset:0}.vpop{z-index:201;animation:.16s cubic-bezier(.2,.7,.3,1) lspop;position:fixed}.sheader{z-index:40;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.sheader__inner{height:var(--header-h);padding:0 var(--gutter);max-width:var(--w-page);align-items:center;gap:22px;margin:0 auto;display:flex}.sheader__nav{align-items:center;gap:2px;margin-left:10px;display:flex}.sheader__link{color:var(--dim);border-radius:8px;padding:7px 13px;font-size:13.5px;font-weight:500}.sheader__link:hover{color:var(--text);background:var(--panel-hover)}.sheader__link--on{color:var(--text);font-weight:600}.sheader__spacer{flex:1}.sheader__avatar{cursor:pointer;background:0 0;border:none;padding:0;display:flex}.sheader__chip{height:34px;color:var(--dim);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:600;display:inline-flex}.sheader__chip:hover{background:var(--panel-hover);color:var(--text)}.sheader__chip svg{width:15px;height:15px}.sheader__chip--icon{justify-content:center;width:34px;padding:0}.amenu__gap{flex:none;width:15px}.sheader__rule{background:linear-gradient(90deg, var(--cat-app), var(--cat-game) 50%, var(--cat-library));height:2px;position:absolute;bottom:-1px;left:0;right:0}.sheader__search-link,.sheader__signin-short{display:none}@media (width<=1080px){.sheader__search{display:none}.sheader__search-link{display:inline-flex}}@media (width<=860px){.sheader__inner{flex-wrap:wrap;gap:12px;height:auto;padding-top:12px;padding-bottom:10px}.sheader__spacer{display:none}.sheader__search-link{margin-left:auto}.sheader__nav{scrollbar-width:none;order:3;width:100%;margin-left:-6px;overflow-x:auto}.sheader__nav::-webkit-scrollbar{display:none}.sheader__link{flex:none}}@media (width<=560px){.sheader__signin-full{display:none}.sheader__signin-short{display:inline}}.sfooter{border-top:1px solid var(--border);background:var(--surface)}.sfooter__cols{grid-template-columns:2fr 1fr 1fr;gap:40px;padding-top:56px;padding-bottom:56px;display:grid}.sfooter__blurb{max-width:330px;color:var(--dim);margin:14px 0 0;font-size:13px;line-height:1.55}.sfooter__part{color:var(--faint);margin-top:16px;font-size:11.5px}.sfooter__part a{color:var(--muted)}.sfooter__part a:hover{color:var(--text)}.sfooter__cols .eyebrow{margin-bottom:16px;padding-top:6px;line-height:1}.sfooter__links{flex-direction:column;gap:10px;font-size:13px;display:flex}.sfooter__links a{color:var(--muted)}.sfooter__links a:hover{color:var(--text)}.sfooter__base{border-top:1px solid var(--border)}.sfooter__base-inner{color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;padding-bottom:16px;font-size:11px;display:flex}.sfooter__legal{align-items:center;gap:14px;display:flex}.sfooter__legal a{color:var(--dim)}.sfooter__legal a:hover{color:var(--text)}@media (width<=860px){.sfooter__cols{grid-template-columns:1fr 1fr;gap:32px;padding-top:40px;padding-bottom:40px}}.toasts{z-index:300;pointer-events:auto;flex-direction:column-reverse;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--border);background:var(--panel);max-width:360px;box-shadow:var(--shadow);color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:12px 15px;font-size:13.5px;display:flex}.toast svg{flex:none;width:16px;height:16px}.toast--success svg{color:var(--green)}.toast--error{border-color:var(--danger)}.toast--error svg{color:var(--danger)}.toast-enter-active,.toast-leave-active{transition:opacity .16s,transform .16s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.dialogs{z-index:400;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialogs__scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;position:absolute;inset:0}.dialogs__item{z-index:1;animation:.17s cubic-bezier(.2,.7,.3,1) lspop;position:relative}
