﻿/* ============================================================
   KARL_SKETCH â€” Production CSS Bundle (Optimizado y Unificado)
   Generado: 2026-11-12T20:20:23.954Z
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}html,body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ol,ul{margin:0;padding:0}ul,ol{list-style:none}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,canvas,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;background:none;border:0}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:rgba(255,255,255,.02)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(0,234,255,.45),rgba(161,92,255,.45));border-radius:99px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--cyan),var(--violet));background-clip:padding-box}::selection{background:rgba(0,234,255,.3);color:#fff}[hidden]{display:none !important}.visually-hidden{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:root{--bg-0:#090a0f;--bg-1:#0f121a;--bg-2:#151924;--bg-3:#1d2232;--bg-4:#262d42;--surface:rgba(15,18,26,0.94);--surface-2:rgba(22,27,39,0.96);--surface-3:#1e2436;--glass:rgba(15,18,26,0.75);--line:rgba(255,255,255,0.08);--line-2:rgba(255,255,255,0.15);--line-strong:rgba(255,255,255,0.28);--text:#f8fafc;--text-dim:#cbd5e1;--text-mute:#8e9cb2;--gold:#d4a373;--gold-soft:#faedcd;--cyan:#38bdf8;--cyan-soft:#bae6fd;--magenta:#f43f5e;--violet:#a78bfa;--lime:#34d399;--amber:#fbbf24;--orange:#fb923c;--red:#f87171;--accent:#d4a373;--accent-soft:#faedcd;--accent-2:#38bdf8;--ok:#34d399;--warn:#fbbf24;--danger:#f87171;--glow-cyan:0 4px 20px rgba(56,189,248,0.25);--glow-magenta:0 4px 20px rgba(244,63,94,0.25);--glow-gold:0 4px 24px rgba(212,163,115,0.28);--shadow-panel:0 20px 50px rgba(0,0,0,0.65);--shadow-node:0 14px 34px rgba(0,0,0,0.55),0 0 0 1px rgba(255,255,255,0.08);--font-display:"Outfit","Plus Jakarta Sans",system-ui,-apple-system,sans-serif;--font-body:"Plus Jakarta Sans","Outfit",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",monospace;--topbar-h:70px;--statusbar-h:32px;--panel-w:290px;--radius:12px;--radius-sm:8px;--radius-lg:18px;--node-w:240px;--hub-size:130px;--core-size:150px;--ease:cubic-bezier(0.16,1,0.3,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--t-fast:0.14s;--t:0.24s;--t-slow:0.4s}html[data-theme="amber"]{--accent:#f59e0b;--gold:#f59e0b;--cyan:#f59e0b;--cyan-soft:#fde68a;--line:rgba(245,158,11,0.12);--line-2:rgba(245,158,11,0.22)}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t:0s;--t-slow:0s}}body{font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--text);background:var(--bg-0);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-0.01em;line-height:1.25;color:var(--text)}code,kbd,pre,.mono{font-family:var(--font-mono)}kbd{display:inline-block;padding:2px 6px;font-size:12px;font-weight:600;color:var(--text-dim);border:1px solid var(--line-2);border-radius:4px;background:rgba(255,255,255,0.05);line-height:1.4}.btn{--btn-bg:rgba(255,255,255,0.06);--btn-bd:var(--line-2);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-family:var(--font-body);font-size:13.5px;font-weight:600;letter-spacing:0.02em;color:var(--text);background:var(--btn-bg);border:1px solid var(--btn-bd);border-radius:var(--radius-sm);position:relative;overflow:hidden;cursor:pointer;transition:all var(--t-fast) var(--ease)}.btn:hover{color:#fff;background:rgba(255,255,255,0.12);border-color:var(--line-strong);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(0.98)}.btn--accent{--btn-bg:var(--accent);--btn-bd:var(--accent);color:#0b0d14;font-weight:700}.btn--accent:hover{background:#e5b869;border-color:#e5b869;color:#000;box-shadow:var(--glow-gold)}.btn--ghost{--btn-bg:transparent;--btn-bd:var(--line);color:var(--text-dim)}.btn--ghost:hover{color:var(--text);background:rgba(255,255,255,0.06);border-color:var(--line-2)}.btn--magenta{--btn-bg:rgba(244,63,94,0.14);--btn-bd:rgba(244,63,94,0.4);color:#ffe4e6}.btn--magenta:hover{background:rgba(244,63,94,0.25);box-shadow:var(--glow-magenta)}.btn--block{width:100%;margin-top:10px}.btn--tiny{padding:5px 10px;font-size:12px}.iconbtn{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-dim);background:rgba(255,255,255,0.03);cursor:pointer;transition:all var(--t-fast) var(--ease)}.iconbtn:hover{color:var(--text);border-color:var(--line-strong);background:rgba(255,255,255,0.08)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--text-dim);border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,0.03);white-space:nowrap}.chip b{color:var(--text);font-weight:700}.chip--ghost{background:transparent}.chip--cat{border-color:currentColor;color:var(--cat-color,var(--accent));background:color-mix(in srgb,var(--cat-color,var(--accent)) 12%,transparent)}.eyebrow{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent)}.muted{color:var(--text-mute)}.noscript{position:fixed;inset:0;display:grid;place-items:center;padding:40px;text-align:center;font-family:var(--font-display);color:var(--danger);background:var(--bg-0);z-index:999}input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--line-2);border-radius:99px;outline:none}input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px rgba(212,163,115,0.5);border:2px solid #fff;cursor:pointer}input[type="range"]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #fff;cursor:pointer}body.is-booting{cursor:progress}.app{transition:opacity var(--t-fast) var(--ease)}.bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1000px 600px at 80% -5%,rgba(212,163,115,0.08),transparent 70%),radial-gradient(900px 600px at 15% 105%,rgba(56,189,248,0.06),transparent 70%),linear-gradient(180deg,var(--bg-0),var(--bg-1) 50%,var(--bg-0) 100%)}.bg__ambient{position:absolute;inset:0;background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,0.02) 0%,transparent 60%);pointer-events:none}.bg__glow,.bg__grid,.bg__particles,.bg__scanlines,.bg__noise,.bg__vignette,.cursor-glow{display:none !important}.glitch{position:relative;display:inline-block}.glitch::before,.glitch::after{display:none !important}.pulse-ring{position:absolute;border:1px solid var(--accent);border-radius:50%;pointer-events:none;animation:pulsering 0.6s var(--ease-out) forwards}@keyframes pulsering{0%{transform:scale(0.6);opacity:0.9}100%{transform:scale(2.2);opacity:0}}.app{position:relative;z-index:2;display:grid;grid-template-rows:var(--topbar-h) 1fr var(--statusbar-h);height:100vh;height:100dvh;width:100%}.workspace{display:grid;grid-template-columns:var(--panel-w) 1fr;min-height:0;position:relative}.stage-area{position:relative;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--line);background:var(--bg-0)}.view{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(0.99);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility var(--t);overflow:hidden}.view.is-active{opacity:1;visibility:visible;transform:none}.view--gallery,.view--about{overflow-y:auto;overflow-x:hidden}.statusbar{display:flex;align-items:center;gap:20px;padding:0 18px;font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--text-mute);background:var(--surface);border-top:1px solid var(--line);overflow:hidden;white-space:nowrap}.statusbar__seg{display:inline-flex;align-items:center;gap:6px}.statusbar__seg b{color:var(--text-dim);font-weight:600}.statusbar__seg span{color:var(--text);font-family:var(--font-mono)}.statusbar__seg--right{margin-left:auto;color:var(--accent);font-family:var(--font-mono)}.overlay{position:fixed;inset:0;z-index:60}.stack-sm > * + *{margin-top:8px}.stack > * + *{margin-top:16px}.row{display:flex;align-items:center;gap:10px}.row--wrap{flex-wrap:wrap}.spacer{flex:1 1 auto}.topbar{display:grid;grid-template-columns:minmax(260px,auto) 1fr minmax(320px,auto);align-items:center;gap:20px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:relative;z-index:20;height:var(--topbar-h)}.topbar__left{display:flex;align-items:center;gap:16px}.topbar__right{display:flex;align-items:center;justify-content:flex-end;gap:14px}.topbar__burger{display:none;width:38px;height:38px;gap:4px;flex-direction:column}.topbar__burger span{display:block;width:18px;height:2px;background:currentColor;transition:transform var(--t-fast) var(--ease)}.topbar__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.topbar__burger[aria-expanded="true"] span:nth-child(2){opacity:0}.topbar__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand__mark{width:32px;height:32px;color:var(--accent);flex-shrink:0}.brand__text{display:flex;flex-direction:column;line-height:1.15}.brand__name{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:0.04em;color:var(--text)}.brand__sub{font-family:var(--font-body);font-size:12px;font-style:normal;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-mute);font-weight:500}.topbar__nav{display:flex;justify-content:center;gap:6px;padding:5px;border:1px solid var(--line);border-radius:99px;background:rgba(0,0,0,0.25);justify-self:center}.navtab{display:inline-flex;align-items:center;gap:8px;padding:8px 22px;font-family:var(--font-body);font-size:13.5px;font-weight:600;letter-spacing:0.04em;color:var(--text-mute);border-radius:99px;border:none;background:transparent;cursor:pointer;transition:all var(--t-fast) var(--ease)}.navtab__dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:0.4}.navtab:hover{color:var(--text);background:rgba(255,255,255,0.05)}.navtab.is-active{color:#0b0d14;background:var(--accent);box-shadow:0 2px 14px rgba(212,163,115,0.35);font-weight:700}.navtab.is-active .navtab__dot{background:#0b0d14;opacity:1}.searchbox{position:relative;display:flex;align-items:center;gap:10px;width:clamp(200px,22vw,320px);padding:0 14px;height:40px;border:1px solid var(--line);border-radius:99px;background:rgba(0,0,0,0.3);transition:all var(--t-fast) var(--ease)}.searchbox:focus-within{border-color:var(--line-strong);background:rgba(255,255,255,0.04);box-shadow:0 0 0 3px rgba(255,255,255,0.06)}.searchbox__icon{width:17px;height:17px;flex:0 0 auto;color:var(--text-mute)}.searchbox:focus-within .searchbox__icon{color:var(--accent)}.searchbox input{flex:1 1 auto;min-width:0;font-family:var(--font-body);font-size:13.5px;color:var(--text);background:transparent;border:none;outline:none}.searchbox input::placeholder{color:var(--text-mute)}.searchbox input::-webkit-search-cancel-button{display:none}.searchbox__kbd{font-family:var(--font-mono);font-size:11px;padding:1px 5px;border:1px solid var(--line-2);border-radius:4px;background:rgba(255,255,255,0.06);color:var(--text-dim)}.searchbox__clear{display:none;font-size:18px;line-height:1;color:var(--text-mute);padding:0 4px;background:transparent;border:none;cursor:pointer}.searchbox__clear:hover{color:var(--text)}.searchbox.has-value .searchbox__clear{display:block}.searchbox.has-value .searchbox__kbd{display:none}.searchbox__count{position:absolute;top:calc(100% + 6px);right:14px;font-family:var(--font-mono);font-size:12px;color:var(--accent);opacity:0;transition:opacity var(--t-fast)}.searchbox.has-query .searchbox__count{opacity:1}.addworkbtn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;height:40px;border-radius:99px;font-size:13px;font-weight:700;letter-spacing:0.04em;white-space:nowrap}.addworkbtn__icon{width:18px;height:18px}.addworkbtn__label{display:inline-block}.themeswitch{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:99px;background:rgba(0,0,0,.3);color:var(--text-mute);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.themeswitch:hover{color:var(--accent);border-color:var(--line-strong);background:rgba(255,255,255,.06);box-shadow:0 0 12px rgba(var(--accent-rgb,212,163,115),.25)}.themeswitch__icon{font-size:15px;line-height:1;transition:transform var(--t-slow) var(--ease)}.themeswitch:hover .themeswitch__icon{transform:rotate(-25deg) scale(1.15)}.topbar__stats{display:flex;gap:8px}.backupmenu{position:relative;display:flex;align-items:center}.backupmenu__trigger{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,0.3);color:var(--text-mute);cursor:pointer;transition:all var(--t-fast) var(--ease);padding:0}.backupmenu__trigger:hover,.backupmenu__trigger[aria-expanded="true"]{border-color:var(--accent);color:var(--accent);background:rgba(0,0,0,0.5);box-shadow:0 0 10px rgba(var(--accent-rgb,212,163,115),0.25)}.backupmenu__dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:8px;z-index:200;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.04),0 0 20px rgba(var(--accent-rgb,212,163,115),0.08);opacity:0;transform:translateY(-8px) scale(0.96);pointer-events:none;transition:opacity 0.18s var(--ease),transform 0.18s var(--ease)}.backupmenu__divider{height:1px;background:var(--line);margin:6px 4px}.backupmenu__dropdown.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.backupmenu__header{font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;color:var(--text-dim);padding:4px 12px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.backupmenu__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:9px;background:transparent;color:var(--text-mute);cursor:pointer;transition:all var(--t-fast) var(--ease);text-align:left;font-family:var(--font-body)}.backupmenu__item svg{flex-shrink:0;transition:color var(--t-fast)}.backupmenu__item span{font-size:13px;font-weight:700;letter-spacing:0.05em;flex:1}.backupmenu__item small{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);white-space:nowrap}.backupmenu__item:hover{background:rgba(255,255,255,0.06);color:var(--text)}.backupmenu__item:hover svg{color:var(--accent)}.backupmenu__item + .backupmenu__item{margin-top:2px}.panel{display:grid;grid-template-rows:1fr auto;min-height:0;background:var(--surface);border-right:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:relative;z-index:15}.panel__scroll{overflow-y:auto;overflow-x:hidden;padding:20px 18px 24px;scrollbar-gutter:stable}.panel__block{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.panel__block:last-child{border-bottom:0;margin-bottom:0}.panel__block--hint{opacity:0.88}.panel__title{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-dim)}.panel__bracket{display:none}.catlist{display:grid;gap:7px}.catitem{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:9px 12px;text-align:left;border:1px solid var(--line);border-left:3px solid var(--cat-color,var(--accent));border-radius:var(--radius-sm);background:rgba(255,255,255,0.02);color:var(--text-dim);cursor:pointer;transition:all var(--t-fast) var(--ease)}.catitem:hover{background:rgba(255,255,255,0.06);color:var(--text);border-color:var(--line-2)}.catitem.is-active{color:#fff;background:color-mix(in srgb,var(--cat-color,var(--accent)) 16%,rgba(255,255,255,0.04));border-color:var(--cat-color,var(--accent))}.catitem.is-off{opacity:0.4;filter:grayscale(0.5)}.catitem__swatch{width:10px;height:10px;border-radius:3px;background:var(--cat-color,var(--accent))}.catitem__label{font-size:14px;font-weight:600;letter-spacing:0.01em}.catitem__count{font-family:var(--font-mono);font-size:12px;color:var(--text-mute);padding:2px 7px;border-radius:99px;background:rgba(0,0,0,0.3)}.taglist{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:5px 11px;font-family:var(--font-body);font-size:12.5px;font-weight:500;letter-spacing:0.02em;color:var(--text-mute);border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,0.03);cursor:pointer;transition:all var(--t-fast) var(--ease)}.tag:hover{color:var(--text);border-color:var(--line-strong);background:rgba(255,255,255,0.07)}.tag.is-active{color:#0b0d14;background:var(--accent);border-color:var(--accent);font-weight:700}.switch{display:flex;align-items:center;gap:12px;padding:8px 0;cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch__track{flex:0 0 auto;width:38px;height:20px;border-radius:99px;background:rgba(255,255,255,0.08);border:1px solid var(--line-2);position:relative;transition:all var(--t-fast) var(--ease)}.switch__knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-mute);transition:transform var(--t-fast) var(--ease),background var(--t-fast)}.switch input:checked + .switch__track{background:var(--accent);border-color:var(--accent)}.switch input:checked + .switch__track .switch__knob{transform:translateX(18px);background:#0b0d14}.switch__label{font-size:13.5px;font-weight:500;color:var(--text-dim)}.switch__label b{font-family:var(--font-mono);font-size:12px;color:var(--accent);margin-left:6px}.readout{display:grid;gap:4px}.readout > div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.readout dt{font-size:13px;color:var(--text-mute);font-weight:500}.readout dd{font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--text)}.readout dd.is-hot{color:var(--magenta)}.hints{display:grid;gap:7px}.hints li{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-mute)}.panel__foot{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:rgba(0,0,0,0.2)}.panel__foottext{font-family:var(--font-mono);font-size:12px;letter-spacing:0.1em;color:var(--text-mute)}.led{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.panel-backdrop{display:none;position:fixed;inset:var(--topbar-h) 0 var(--statusbar-h) 0;z-index:14;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px)}.panel-backdrop.is-open{display:block}.toolbar{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:25;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line-2);border-radius:99px;background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,0.5);max-width:calc(100% - 32px);overflow-x:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.stage-area:not([data-view="graph"]) .toolbar,.toolbar.is-hidden{display:none !important}.toolbar__group{display:flex;align-items:center;gap:6px;padding:0 8px}.toolbar__group + .toolbar__group{border-left:1px solid var(--line)}.toolbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0.03em;color:var(--text-dim);border:1px solid transparent;border-radius:99px;background:transparent;white-space:nowrap;cursor:pointer;transition:all var(--t-fast) var(--ease)}.toolbtn:hover{color:var(--text);background:rgba(255,255,255,0.08);border-color:var(--line)}.toolbtn.is-on{color:#0b0d14;background:var(--accent);box-shadow:0 2px 10px rgba(212,163,115,0.35);font-weight:700}.toolbtn:disabled{opacity:0.35;cursor:not-allowed}.toolbtn span{font-size:12.5px}.toolbar__zoom{min-width:52px;text-align:center;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent)}@media (max-width:1180px){.toolbtn span{display:none}.toolbtn{padding:0 10px;font-size:13px}}.graph{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none}.graph.is-panning{cursor:grabbing}.graph.is-dragging-node{cursor:grabbing}.graph__world{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;will-change:transform}.graph__edges{position:absolute;left:-4500px;top:-3500px;overflow:visible;pointer-events:none;z-index:1}.edge{fill:none;stroke-linecap:round;transition:opacity var(--t) var(--ease),stroke-width var(--t) var(--ease)}.edge--cat{stroke-width:1.6;opacity:.5}.edge--tag{stroke-width:1.2;opacity:.34;stroke-dasharray:5 7;animation:dashflow 3.4s linear infinite}.edge--core{stroke-width:1.4;opacity:.4;stroke-dasharray:2 6}.edge.is-dim{opacity:.06}.edge.is-hot{opacity:1;stroke-width:2.6;filter:url(#edge-glow)}.edge.is-flow{animation:dashflow 1.1s linear infinite;stroke-dasharray:9 12}.edge__packet{fill:#fff;filter:url(#edge-glow);pointer-events:none}.graph__nodes{position:absolute;left:0;top:0;width:0;height:0;z-index:2}.graph__legend{position:absolute;left:14px;bottom:14px;z-index:12;display:grid;gap:6px;padding:10px 12px;max-width:230px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(6,9,18,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-mute);text-transform:uppercase}.legend__row{display:flex;align-items:center;gap:9px}.legend__swatch{width:14px;height:14px;flex:0 0 auto;border:1px solid var(--cat-color,var(--cyan));background:color-mix(in srgb,var(--cat-color,var(--cyan)) 22%,transparent)}.legend__swatch--hex{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.legend__swatch--card{border-radius:3px}.legend__line{width:22px;height:0;flex:0 0 auto;border-top:2px solid var(--cyan)}.legend__line--dash{border-top-style:dashed;border-color:var(--magenta)}.graph__minimap{position:absolute;right:14px;bottom:14px;z-index:12;width:200px;height:140px;border:1px solid var(--line-2);border-radius:var(--radius);background:rgba(3,5,11,.82);box-shadow:var(--shadow-panel),0 0 22px rgba(0,234,255,.08) inset;overflow:hidden;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.graph__minimap canvas{width:100%;height:100%}.graph__minimap-label{position:absolute;top:5px;left:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;color:rgba(0,234,255,.65)}.graph__minimap::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0 1px,transparent 1px 3px);pointer-events:none}.graph__hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:11;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-mute);border:1px solid var(--line);border-radius:99px;background:rgba(4,6,12,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease);pointer-events:none}.graph.has-interacted .graph__hint{opacity:0;transform:translate(-50%,10px)}.graph__hint-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:blink 1.6s steps(2,end) infinite}.graph__tooltip{position:absolute;z-index:30;max-width:260px;padding:8px 11px;font-size:11.2px;line-height:1.45;color:var(--text);border:1px solid var(--line-strong);border-left:2px solid var(--cat-color,var(--cyan));border-radius:var(--radius-sm);background:rgba(6,10,20,.95);box-shadow:var(--shadow-panel);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity var(--t-fast),transform var(--t-fast)}.graph__tooltip.is-visible{opacity:1;transform:none}.graph__tooltip b{color:var(--cat-color,var(--cyan));font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;display:block;margin-bottom:3px}.graph__tooltip em{display:block;font-style:normal;color:var(--text-mute);font-size:10px;margin-top:4px}.graph__empty{position:absolute;inset:0;z-index:13;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;font-family:var(--font-mono);font-size:11.2px;letter-spacing:.14em;color:var(--text-mute);background:rgba(3,5,11,.55)}.graph__empty strong{color:var(--magenta);font-family:var(--font-display);letter-spacing:.1em}.node{position:absolute;left:0;top:0;transform:translate3d(calc(var(--x,0) * 1px - 50%),calc(var(--y,0) * 1px - 50%),0);will-change:transform;--node-accent:var(--accent);--cat-color:var(--accent)}.node--art{width:var(--node-w,240px);cursor:pointer;perspective:900px;transform-style:preserve-3d;transition:opacity var(--t) var(--ease),filter var(--t) var(--ease)}.node__frame{position:relative;padding:10px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-node);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);transform-style:preserve-3d;transition:transform 0.16s ease-out,box-shadow var(--t) var(--ease),border-color var(--t) var(--ease);overflow:hidden}.node__holo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;opacity:var(--holo-o,0);background:radial-gradient( circle 170px at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.45) 0%,rgba(255,255,255,0.12) 35%,transparent 70% ),linear-gradient( 115deg,transparent 12%,rgba(0,234,255,0.28) 26%,rgba(255,46,151,0.32) 44%,rgba(255,230,0,0.26) 58%,rgba(0,255,204,0.28) 72%,transparent 88% );mix-blend-mode:color-dodge;background-size:100% 100%,200% 200%;background-position:center,calc(var(--mx,50%) * 1.6) calc(var(--my,50%) * 1.6);transition:opacity 0.25s ease}.node__holo::before{content:'';position:absolute;inset:0;border-radius:inherit;border:1.5px solid transparent;background:linear-gradient(135deg,rgba(0,234,255,0.6),rgba(255,46,151,0.6),rgba(255,230,0,0.5)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0.85;pointer-events:none}.node__reflect{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;opacity:var(--reflect-o,0);background:radial-gradient( circle 200px at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.32) 0%,rgba(255,255,255,0.1) 32%,transparent 65% ),linear-gradient( 115deg,transparent 18%,rgba(255,255,255,0.04) 32%,rgba(255,255,255,0.22) 50%,rgba(255,255,255,0.04) 68%,transparent 82% );mix-blend-mode:overlay;background-size:100% 100%,200% 200%;background-position:center,calc(var(--mx,50%) * 1.5) calc(var(--my,50%) * 1.5);transition:opacity 0.25s ease}.node__reflect::before{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid transparent;background:linear-gradient(135deg,rgba(255,255,255,0.35),rgba(255,255,255,0.05) 50%,rgba(255,255,255,0.15)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0.75;pointer-events:none}.node:not(.node--holo):hover .node__reflect{opacity:var(--reflect-o,0.85)}.node__head{display:flex;align-items:center;gap:8px;padding-bottom:8px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:0.04em;color:var(--text-mute)}.node__dot{width:7px;height:7px;border-radius:50%;background:var(--node-accent,var(--accent));flex:0 0 auto}.node__id{color:var(--text-dim)}.node__head .node__lead{flex:1 1 auto;height:1px;background:var(--line)}.node__thumb{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#06080e;border:1px solid var(--line);aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center}.node__img,.node__canvas{width:100%;height:100%;object-fit:cover;display:block}.node__meta{padding:10px 2px 2px}.node__title{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-0.01em;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.node__tech{margin-top:4px;font-size:12.5px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.node__tag{font-family:var(--font-body);font-size:11px;font-weight:500;padding:2px 6px;border-radius:4px;color:var(--text-dim);background:rgba(255,255,255,0.05);border:1px solid var(--line)}.node__tag--more{color:var(--text-mute)}.node__fav{position:absolute;top:8px;right:8px;z-index:3;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:13px;color:var(--text-mute);background:rgba(9,10,15,0.85);border:1px solid var(--line);backdrop-filter:blur(8px);opacity:0;transform:scale(0.9);transition:all var(--t-fast) var(--ease);cursor:pointer}.node:hover .node__fav,.node.is-selected .node__fav{opacity:1;transform:none}.node__fav:hover{color:var(--amber);border-color:var(--amber)}.node__fav.is-on{opacity:1;transform:none;color:var(--amber)}.node__fav.node__edit{right:40px}.node__fav.node__edit:hover{color:var(--text);border-color:var(--line-strong)}.node--art:hover{z-index:6}.node--art:hover .node__frame{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px) scale(1.03) translateZ(10px);border-color:var(--node-accent,var(--accent));box-shadow:0 20px 42px rgba(0,0,0,0.65),0 0 20px color-mix(in srgb,var(--node-accent,var(--accent)) 35%,transparent)}.node--holo .node__frame{border-color:rgba(0,234,255,0.45)}.node--holo:hover .node__frame{border-color:rgba(0,234,255,0.85);box-shadow:0 20px 42px rgba(0,0,0,0.65),0 0 24px rgba(0,234,255,0.4),0 0 20px rgba(255,46,151,0.3)}.node--holo:hover .node__holo{opacity:var(--holo-o,0.85)}.node__holo-badge{position:absolute;bottom:6px;left:6px;z-index:4;font-family:var(--font-body);font-size:9.5px;font-weight:800;letter-spacing:0.08em;padding:2px 7px;border-radius:99px;color:#fff;background:linear-gradient(135deg,rgba(0,234,255,0.9),rgba(255,46,151,0.9));box-shadow:0 0 10px rgba(0,234,255,0.6);text-shadow:0 1px 2px rgba(0,0,0,0.6);pointer-events:none;border:1px solid rgba(255,255,255,0.5)}.node.is-selected{z-index:6}.node.is-selected .node__frame{border-color:var(--node-accent,var(--accent));box-shadow:0 18px 42px rgba(0,0,0,0.6),0 0 0 2px var(--node-accent,var(--accent))}.node.is-related .node__frame{box-shadow:0 0 0 1px var(--accent-2),0 0 16px rgba(244,63,94,0.2)}.node.is-dim{opacity:0.25;filter:grayscale(0.6)}.node.is-filtered{opacity:0;pointer-events:none}.node--hub{width:var(--hub-size);cursor:pointer}.hub{position:relative;width:var(--hub-size);height:var(--hub-size);border-radius:50%;display:grid;place-content:center;justify-items:center;gap:4px;background:var(--surface-2);border:2px solid var(--node-accent,var(--accent));box-shadow:0 10px 28px rgba(0,0,0,0.45);transition:transform var(--t) var(--ease)}.hub__icon{font-size:22px;line-height:1;color:var(--node-accent,var(--accent))}.hub__label{font-family:var(--font-display);font-size:12.5px;font-weight:700;letter-spacing:0.02em;text-align:center;padding:0 10px;color:var(--text)}.hub__count{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--node-accent,var(--accent))}.node--hub:hover .hub{transform:scale(1.08);box-shadow:0 14px 34px rgba(0,0,0,0.6),0 0 20px color-mix(in srgb,var(--node-accent,var(--accent)) 30%,transparent)}.node--hub.is-selected .hub{transform:scale(1.1);box-shadow:0 0 0 3px #fff,0 0 26px var(--node-accent,var(--accent))}.node--hub.is-dim{opacity:0.25;filter:grayscale(0.6)}.node--core{width:var(--core-size);cursor:pointer}.core{position:relative;width:var(--core-size);height:var(--core-size);border-radius:50%;display:grid;place-content:center;justify-items:center;gap:4px;background:linear-gradient(135deg,#1c2132,#10131d);border:2px solid var(--accent);box-shadow:0 12px 34px rgba(0,0,0,0.5),0 0 24px rgba(212,163,115,0.25);transition:transform var(--t) var(--ease)}.core__label{font-family:var(--font-display);font-size:13.5px;font-weight:800;letter-spacing:0.08em;color:#fff;text-align:center}.core__sub{font-family:var(--font-body);font-size:11.5px;font-weight:600;letter-spacing:0.08em;color:var(--accent)}.node--core:hover .core{transform:scale(1.06);box-shadow:0 16px 40px rgba(0,0,0,0.6),0 0 30px rgba(212,163,115,0.4)}.modal-root{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:24px;pointer-events:none;visibility:hidden;transition:visibility 0s linear var(--t-slow)}.modal-root.is-open{pointer-events:auto;visibility:visible;transition-delay:0s}.modal__backdrop{position:absolute;inset:0;background:rgba(4,5,8,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity var(--t-slow) var(--ease)}.modal-root.is-open .modal__backdrop{opacity:1}.modal{position:relative;width:min(1200px,96vw);height:auto;max-height:98vh;display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-panel),0 0 50px rgba(0,0,0,0.8);overflow:hidden;transform:translateY(24px) scale(0.97);opacity:0;transition:transform var(--t-slow) var(--ease-out),opacity var(--t-slow) var(--ease);--cat-color:var(--accent)}.modal-root.is-open .modal{transform:none;opacity:1}.modal__texture{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.modal__texture img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.35);opacity:0.1}.modal >:not(.modal__texture){position:relative;z-index:1}.modal__head{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:10px 20px 8px;border-bottom:1px solid var(--line);position:relative;z-index:2;flex-wrap:nowrap}.modal__index{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:0.05em;color:var(--cat-color,var(--accent));padding:3px 8px;border:1px solid color-mix(in srgb,var(--cat-color,var(--accent)) 45%,transparent);border-radius:99px;white-space:nowrap;flex-shrink:0}.modal__titles{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.modal__title{font-size:clamp(15px,1.8vw,20px);font-weight:800;letter-spacing:-0.01em;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.modal__sub{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px;font-size:11.5px;color:var(--text-mute);font-weight:500;flex-shrink:0}.modal__sub .dot{width:3px;height:3px;border-radius:50%;background:var(--text-mute);display:inline-block;flex-shrink:0}.modal__sub-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:0.04em;background:rgba(255,255,255,0.06);border:1px solid var(--line);color:var(--text-dim);white-space:nowrap}.modal__close{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;color:var(--text-mute);background:rgba(255,255,255,0.05);cursor:pointer;padding:0;transition:all var(--t-fast) var(--ease);flex-shrink:0;margin-left:auto}.modal__close svg{display:block;pointer-events:none;transition:transform var(--t-fast) var(--ease)}.modal__close:hover{color:#fff;border-color:var(--accent,#00eaff);background:rgba(0,234,255,0.12);box-shadow:0 0 12px rgba(0,234,255,0.35);transform:scale(1.08)}.modal__close:hover svg{transform:rotate(90deg)}.modal__body{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:16px;padding:12px 20px;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;min-height:0;align-items:start}.modal__body::-webkit-scrollbar{display:none}.viewer{display:flex;flex-direction:column;gap:0;min-width:0;height:auto}.viewer__stage{position:relative;width:min(100%,calc(min(60vh,540px) * var(--viewer-image-ratio,1.607143)));aspect-ratio:var(--viewer-image-ratio,1.607143);max-height:min(60vh,540px);border:1px solid var(--line-2);border-top-left-radius:0;border-radius:0 var(--radius) var(--radius) var(--radius);background:#06080e;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.5);flex:0 1 auto;height:auto;align-self:center}.viewer__stage--materials{width:100%;height:clamp(360px,60vh,540px);max-height:min(60vh,540px);aspect-ratio:auto;align-self:stretch}.viewer__stage--holo{border-color:rgba(0,234,255,0.4);box-shadow:0 8px 24px rgba(0,0,0,0.5),0 0 20px rgba(0,234,255,0.2)}.viewer__holo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:22;opacity:var(--stage-holo-o,0);background:radial-gradient( circle 320px at var(--hmx,50%) var(--hmy,50%),rgba(255,255,255,0.42) 0%,rgba(255,255,255,0.12) 40%,transparent 75% ),linear-gradient( 115deg,transparent 15%,rgba(0,234,255,0.24) 28%,rgba(255,46,151,0.28) 46%,rgba(255,230,0,0.24) 60%,rgba(0,255,204,0.24) 74%,transparent 88% );mix-blend-mode:color-dodge;background-size:100% 100%,200% 200%;background-position:center,calc(var(--hmx,50%) * 1.5) calc(var(--hmy,50%) * 1.5);transition:opacity 0.22s ease}.modal__sub-badge--holo{background:linear-gradient(135deg,rgba(0,234,255,0.25),rgba(255,46,151,0.25)) !important;border-color:rgba(0,234,255,0.5) !important;color:#fff !important;font-weight:800 !important;letter-spacing:0.06em !important;box-shadow:0 0 10px rgba(0,234,255,0.3) !important}.viewer__tabs-bar{display:flex;align-items:flex-end;justify-content:flex-start;width:100%;margin-bottom:-1px;position:relative;z-index:10;padding:0 4px 0 0;border-bottom:1px solid var(--line-2,rgba(255,255,255,0.12))}.viewer__tabs-nav{display:inline-flex;align-items:flex-end;gap:4px;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.viewer__tab,.viewer__tab-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px 7px 18px;border-radius:8px 8px 0 0;border:1px solid rgba(255,255,255,0.1);border-bottom:1px solid var(--line-2,rgba(255,255,255,0.12));background:rgba(10,14,24,0.7);color:var(--text-mute,#78879e);font-family:var(--font-mono,monospace);font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;outline:none;transition:all 0.2s cubic-bezier(0.16,1,0.3,1);user-select:none;position:relative;margin-bottom:-1px}.viewer__tab:hover,.viewer__tab-btn:hover{color:#ffffff;background:rgba(18,25,42,0.95);border-color:rgba(0,234,255,0.3) rgba(0,234,255,0.3) var(--line-2)}.viewer__tab.is-active,.viewer__tab-btn.is-active{color:#ffffff;background:#06080e;border:1px solid rgba(0,234,255,0.5);border-top:2.5px solid var(--accent,#00eaff);border-bottom:1px solid #06080e;box-shadow:0 -3px 12px rgba(0,234,255,0.2);z-index:12}.viewer__tab-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;color:currentColor;transition:all 0.2s ease}.viewer__tab-btn.is-active .viewer__tab-icon{color:var(--accent,#00eaff);filter:drop-shadow(0 0 6px rgba(0,234,255,0.6))}.viewer__tab-label{font-weight:800;letter-spacing:0.08em}.viewer__tab-pill{font-family:var(--font-mono,monospace);font-size:9px;font-weight:800;letter-spacing:0.06em;padding:1px 6px;border-radius:99px;background:rgba(0,234,255,0.14);border:1px solid rgba(0,234,255,0.3);color:var(--accent,#00eaff)}.viewer__tab-btn.is-active .viewer__tab-pill{background:var(--accent,#00eaff);color:#06080e;border-color:var(--accent,#00eaff);box-shadow:0 0 8px rgba(0,234,255,0.6)}.viewer__view{width:100%;height:100%;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:0;pointer-events:none;background:#06080e;transition:opacity 0.5s cubic-bezier(0.25,1,0.5,1);will-change:opacity;z-index:1}.viewer__view.is-active{opacity:1;pointer-events:auto;z-index:2}.viewer__view--materials{overflow-y:auto;overflow-x:hidden;align-items:flex-start;justify-content:flex-start;padding:0;scrollbar-width:thin;scrollbar-color:rgba(0,234,255,0.3) transparent}.viewer__view--materials::-webkit-scrollbar{width:4px}.viewer__view--materials::-webkit-scrollbar-track{background:transparent}.viewer__view--materials::-webkit-scrollbar-thumb{background:rgba(0,234,255,0.3);border-radius:4px}.viewer__materials-content{display:contents}.viewer__materials-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:cover;display:block;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}.viewer__view img,.viewer__view canvas,.viewer__materials-content{transition:transform 0.6s cubic-bezier(0.25,1,0.5,1),opacity 0.5s ease;will-change:transform,opacity}.viewer__view:not(.is-active) img,.viewer__view:not(.is-active) canvas,.viewer__view:not(.is-active) .viewer__materials-content{transform:scale(1.02)}.viewer__view.is-active img,.viewer__view.is-active canvas,.viewer__view.is-active .viewer__materials-content{transform:scale(1)}@keyframes fadeInView{from{opacity:0}to{opacity:1}}.viewer__view img,.viewer__view canvas,.viewer__stage img,.viewer__stage canvas{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:cover;display:block;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}.viewer__security-shield{position:absolute;inset:0;z-index:15;background:transparent;pointer-events:auto;cursor:default}.viewer__anti-capture{position:absolute;inset:0;z-index:50;background:#000000;display:none;pointer-events:auto;cursor:pointer}.modal.is-anti-capture .viewer__view--image.is-active .viewer__anti-capture{display:block !important}.modal.is-anti-capture .viewer__view--image.is-active img,.modal.is-anti-capture .viewer__view--image.is-active canvas{visibility:hidden !important;opacity:0 !important;transition:none !important;animation:none !important}.modal.is-anti-capture .viewer__view--image.is-active{background:#000000 !important}.viewer__materials-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;max-width:480px;width:90%;border-radius:var(--radius);background:linear-gradient(135deg,rgba(14,20,32,0.75),rgba(7,10,18,0.85));border:1px dashed rgba(0,234,255,0.35);box-shadow:inset 0 0 24px rgba(0,234,255,0.04)}.viewer__materials-fallback-icon{font-size:36px;margin-bottom:12px;color:var(--accent,#00eaff);text-shadow:0 0 16px rgba(0,234,255,0.6)}.viewer__materials-fallback-title{font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#fff;margin-bottom:8px}.viewer__materials-fallback-desc{font-family:var(--font-body);font-size:13px;color:var(--text-mute);line-height:1.45;margin-bottom:14px}.viewer__materials-fallback-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;font-family:var(--font-mono);font-size:11.5px}.viewer__materials-fallback-pill{padding:4px 10px;border-radius:6px;background:rgba(255,255,255,0.05);border:1px solid var(--line);color:var(--text-dim)}.viewer__hud{position:absolute;left:8px;bottom:8px;display:flex;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.viewer__hud span{padding:2px 6px;border-radius:4px;background:rgba(9,10,15,0.85);border:1px solid var(--line);backdrop-filter:blur(6px)}.viewer__tools{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;flex:0 0 auto;margin-top:8px}.viewer__tools-left{display:inline-flex;align-items:center;gap:8px}.viewer__tools-right{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.viewer__tool-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:10px;background:rgba(10,14,24,0.75);border:1px solid rgba(255,255,255,0.16);color:var(--text-mute);font-family:var(--font-body);cursor:pointer;outline:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 3px 12px rgba(0,0,0,0.4);transition:all 0.28s cubic-bezier(0.16,1,0.3,1);user-select:none;position:relative;white-space:nowrap;overflow:visible}.viewer__tool-btn .viewer__tool-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;transition:transform 0.22s var(--ease),color 0.22s var(--ease)}.viewer__tool-btn .viewer__tool-label{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fff;background:rgba(10,14,24,0.94);border:1px solid rgba(0,234,255,0.28);border-radius:6px;padding:4px 8px;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.22s cubic-bezier(0.16,1,0.3,1),transform 0.22s cubic-bezier(0.16,1,0.3,1),visibility 0.22s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 14px rgba(0,0,0,0.6),0 0 10px rgba(0,234,255,0.12);z-index:60}.viewer__tool-btn:hover,.viewer__tool-btn:focus-visible{border-color:var(--accent);color:var(--text);background:rgba(14,22,38,0.95);box-shadow:0 6px 18px rgba(0,0,0,0.6),0 0 14px color-mix(in srgb,var(--accent) 35%,transparent);z-index:20}.viewer__tool-btn:hover .viewer__tool-label,.viewer__tool-btn:focus-visible .viewer__tool-label{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.viewer__tool-btn:hover .viewer__tool-icon{transform:scale(1.1);color:var(--accent)}.viewer__tool-btn--fav.is-on{color:var(--amber,#ffc247);border-color:rgba(255,194,71,0.4);background:rgba(255,194,71,0.12);box-shadow:0 0 14px rgba(255,194,71,0.25)}.viewer__tool-btn--fav:hover{border-color:var(--amber,#ffc247);color:var(--amber,#ffc247)}.viewer__tool-btn--fav:hover .viewer__tool-icon{color:var(--amber,#ffc247)}.viewer__tool-btn--graph:hover{border-color:var(--magenta,#ff2e97);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,0.6),0 0 14px rgba(255,46,151,0.45)}.viewer__tool-btn--graph:hover .viewer__tool-icon{color:var(--magenta,#ff2e97)}.viewer__tool-btn--prev .viewer__tool-label,.viewer__tool-btn--next .viewer__tool-label{display:none !important}.viewer__tool-btn--edit:hover,.viewer__tool-btn--edit:focus-visible{border-color:var(--accent);color:var(--accent);box-shadow:0 6px 18px rgba(0,0,0,0.6),0 0 14px color-mix(in srgb,var(--accent) 35%,transparent)}.viewer__tool-btn--edit:hover .viewer__tool-icon{color:var(--accent);transform:scale(1.1)}.viewer__tool-btn--delete:hover,.viewer__tool-btn--delete:focus-visible{border-color:var(--danger,#f87171);color:var(--danger,#f87171);box-shadow:0 6px 18px rgba(0,0,0,0.6),0 0 14px rgba(248,113,113,0.35)}.viewer__tool-btn--delete:hover .viewer__tool-icon{color:var(--danger,#f87171);transform:scale(1.1)}.viewer__materials-admin-bar{position:absolute;bottom:14px;left:14px;right:14px;z-index:28;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.viewer__materials-admin-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 14px rgba(0,0,0,0.5);backdrop-filter:blur(10px)}.viewer__materials-admin-form{display:flex;align-items:center;gap:6px;background:rgba(9,13,22,0.94);border:1px solid var(--amber,#ffc247);border-radius:var(--radius-sm);padding:8px 10px;box-shadow:0 8px 24px rgba(0,0,0,0.7),0 0 16px rgba(255,194,71,0.2);backdrop-filter:blur(16px);animation:fadeInView 0.2s ease}.viewer__materials-admin-input{flex:1;min-width:0;height:32px;padding:0 10px;border:1px solid rgba(255,255,255,0.18);border-radius:4px;background:rgba(0,0,0,0.5);color:#fff;font-family:var(--font-mono);font-size:11.5px;outline:none}.viewer__materials-admin-input:focus{border-color:var(--accent)}.meta__materials-admin-edit{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--amber,#ffc247);background:rgba(255,194,71,0.1);border:1px solid rgba(255,194,71,0.35);border-radius:4px;padding:2px 7px;cursor:pointer;transition:all 0.2s ease}.meta__materials-admin-edit:hover{background:rgba(255,194,71,0.22);border-color:var(--amber,#ffc247);box-shadow:0 0 10px rgba(255,194,71,0.25)}.meta{display:flex;flex-direction:column;gap:7px;min-width:0}.meta__materials-card{padding:8px 12px;border:1px solid rgba(0,234,255,0.28);border-radius:var(--radius-sm);background:linear-gradient(145deg,rgba(14,20,32,0.85),rgba(7,10,18,0.95));box-shadow:0 4px 16px rgba(0,0,0,0.4),inset 0 0 16px rgba(0,234,255,0.03);display:flex;flex-direction:column;gap:4px}.meta__materials-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,234,255,0.2);padding-bottom:5px}.meta__materials-title{font-family:var(--font-mono,monospace);font-size:11.5px;font-weight:800;letter-spacing:0.12em;color:var(--cyan,#00eaff);text-transform:uppercase;display:flex;align-items:center;gap:6px}.meta__materials-title::before{content:'â–¤';color:var(--cyan,#00eaff);font-size:12px}.meta__materials-chips{display:flex;flex-wrap:wrap;gap:5px;padding-top:4px}.meta__mat-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:5px;font-family:var(--font-body,sans-serif);font-size:10.5px;border:1px solid transparent;line-height:1.25;transition:all 0.18s ease;user-select:none}.meta__mat-chip:hover{transform:translateY(-1px)}.meta__mat-chip-icon{font-size:11px;line-height:1}.meta__mat-chip-label{font-family:var(--font-mono,monospace);font-size:9.5px;font-weight:600;letter-spacing:0.04em;color:var(--text-mute,#78879e);text-transform:uppercase}.meta__mat-chip-val{color:var(--text,#f0f6fc);font-weight:700}.meta__mat-chip--cyan{background:rgba(0,234,255,0.08);border-color:rgba(0,234,255,0.25)}.meta__mat-chip--cyan:hover{background:rgba(0,234,255,0.14);border-color:rgba(0,234,255,0.4)}.meta__mat-chip--violet{background:rgba(139,92,246,0.09);border-color:rgba(139,92,246,0.28)}.meta__mat-chip--violet:hover{background:rgba(139,92,246,0.16);border-color:rgba(139,92,246,0.45)}.meta__mat-chip--amber{background:rgba(255,194,71,0.08);border-color:rgba(255,194,71,0.28)}.meta__mat-chip--amber:hover{background:rgba(255,194,71,0.15);border-color:rgba(255,194,71,0.45)}.meta__mat-chip--teal{background:rgba(20,184,166,0.08);border-color:rgba(20,184,166,0.28)}.meta__mat-chip--teal:hover{background:rgba(20,184,166,0.15);border-color:rgba(20,184,166,0.45)}.meta__mat-chip--item{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.14);color:var(--accent,#00eaff);font-family:var(--font-mono,monospace);font-weight:700;font-size:10px}.meta__mat-chip--item:hover{background:rgba(0,234,255,0.1);border-color:rgba(0,234,255,0.35)}.meta__materials-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0}.meta__materials-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:2px 0;border-bottom:1px dashed rgba(255,255,255,0.06)}.meta__materials-row:last-child{border-bottom:none}.meta__materials-label{font-family:var(--font-mono,monospace);font-size:11px;font-weight:600;color:var(--text-mute,#78879e);min-width:70px;flex-shrink:0}.meta__materials-value{font-size:12px;font-weight:600;color:var(--text,#f0f6fc);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line-2);border-radius:var(--radius-sm);overflow:hidden;background:var(--line)}.meta__cell{padding:5px 10px;background:var(--surface)}.meta__cell dt{font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-mute);margin-bottom:2px}.meta__cell dd{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta__cell dd.hot{color:var(--ok)}.meta__imginfo{padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:rgba(14,20,32,0.4)}.meta__imginfo h3{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--cyan,#00eaff);margin-bottom:4px}.meta__img-grid{display:flex;flex-direction:column;gap:2px;margin:0}.meta__img-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:2px 0;border-bottom:1px solid var(--line)}.meta__img-row:last-child{border-bottom:none}.meta__img-row dt{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-mute);white-space:nowrap;flex-shrink:0}.meta__img-row dd{font-family:var(--font-mono,monospace);font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta__story{padding:5px 8px;border-left:2px solid var(--cyan,#00eaff);background:rgba(0,234,255,0.04);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.meta__story h3{font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--cyan,#00eaff);margin-bottom:2px}.meta__story p{font-size:11.5px;line-height:1.3;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.meta__strip{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:10px;align-items:center}.meta__palette-block,.meta__tags-block{grid-column:1 / -1}.meta__palette-block h3,.meta__tags-block h3,.meta__related-block h3{font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-mute);margin-bottom:3px}.palette{display:flex;height:26px;border-radius:var(--radius-sm,6px);overflow:hidden;gap:0;border:1px solid var(--line-2);box-shadow:0 2px 8px rgba(0,0,0,0.35);margin-bottom:4px}.palette__sw{flex:1;height:100%;border:none;cursor:pointer;position:relative;transition:flex 0.22s cubic-bezier(0.16,1,0.3,1),filter 0.18s,box-shadow 0.2s;min-width:0;outline:none}.palette__sw:hover{flex:2.4;filter:brightness(1.2);z-index:2;box-shadow:0 0 10px rgba(0,0,0,0.5)}.palette__sw.is-active{flex:2.8;filter:brightness(1.1);z-index:5;box-shadow:inset 0 0 0 2px #ffffff,0 0 14px var(--accent,#00eaff)}.palette__sw.is-active::before{content:'';position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:#ffffff;box-shadow:0 0 6px rgba(255,255,255,0.9)}.palette__sw.is-copied::after{content:'âœ“';position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;background:rgba(0,0,0,0.45)}.meta__thumbnails{display:flex;align-items:center;justify-content:flex-start;justify-content:safe center;gap:24px;max-width:100%;max-height:27.5vh;margin-top:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-behavior:smooth}.meta__thumbnail{position:relative;display:block;flex:0 0 auto;height:var(--meta-thumbnail-height,clamp(100px,27.5vh,225px));max-height:100%;aspect-ratio:1 / 1;margin:0;padding:0;overflow:hidden;border:1px solid var(--line-2);border-radius:10px;background:#06080e;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,0.32);transition:border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.meta__thumbnail:hover,.meta__thumbnail:focus-visible{border-color:var(--accent,#00eaff);box-shadow:0 0 12px rgba(0,234,255,0.28);transform:translateY(-2px)}.meta__thumbnail img{width:100%;height:100%;min-height:0;object-fit:cover;display:block;border-radius:inherit}.meta__thumbnail-caption{position:absolute;right:3px;bottom:3px;left:3px;overflow:hidden;color:#fff;font:700 7px/1.2 var(--font-mono,monospace);text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 3px #000,0 0 5px #000}.meta__thumbnail-placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--text-mute);font:8px var(--font-mono,monospace);text-transform:uppercase;background:linear-gradient(135deg,rgba(0,234,255,0.08),rgba(255,255,255,0.02))}.viewer__tone-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;background:rgba(6,8,14,0.92);border:1px solid rgba(0,234,255,0.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 20px rgba(0,0,0,0.65),0 0 14px rgba(0,234,255,0.28);z-index:25;animation:viewerToneFadeIn 0.24s cubic-bezier(0.16,1,0.3,1)}@keyframes viewerToneFadeIn{from{opacity:0;transform:translateY(-8px) scale(0.94)}to{opacity:1;transform:translateY(0) scale(1)}}.viewer__tone-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,0.9);box-shadow:0 0 8px currentColor;flex-shrink:0}.viewer__tone-text{font-family:var(--font-mono,monospace);font-size:10.5px;color:#f0f6fc;letter-spacing:0.04em;white-space:nowrap}.viewer__tone-text strong{color:var(--accent,#00eaff)}.viewer__tone-reset{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:99px;padding:3px 8px;color:#c9d6e4;font-family:var(--font-mono,monospace);font-size:9.5px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all 0.18s ease;line-height:1}.viewer__tone-reset:hover{background:rgba(255,46,151,0.28);border-color:rgba(255,46,151,0.65);color:#ffffff;box-shadow:0 0 10px rgba(255,46,151,0.45)}.viewer__img,.viewer__canvas,.viewer__stage canvas{transition:filter 0.35s cubic-bezier(0.16,1,0.3,1)}.meta__tags-block .tagrow{display:flex;flex-wrap:wrap;gap:4px}.meta__tags-block .tag{font-size:10px;padding:1px 6px;line-height:1.4;border-radius:3px;background:rgba(255,255,255,0.05);border:1px solid var(--line);color:var(--text-dim)}.meta__related-block{padding-top:2px}.meta__related-block .related{display:flex;gap:6px;overflow-x:auto}.related__card{display:flex;align-items:center;gap:5px;padding:2px 6px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:rgba(255,255,255,0.04);font-size:10.5px;color:var(--text);white-space:nowrap;cursor:pointer;transition:all var(--t-fast)}.related__card:hover{border-color:var(--line-strong);background:rgba(255,255,255,0.1)}.related__thumb{width:18px;height:12px;border-radius:2px;overflow:hidden;display:inline-block;flex-shrink:0}.related__thumb canvas{width:100%;height:100%;display:block}.modal__foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 20px;border-top:1px solid var(--line);background:rgba(0,0,0,0.25)}.modal__nav{display:flex;align-items:center;gap:4px}.modal__foot .btn{font-size:12px;padding:4px 10px}.modal__counter{font-size:12px;color:var(--text-mute)}.modal__foot .modal__delbtn,.modal__foot [data-action="edit"],.modal__foot [data-action="delete"]{display:none}.viewer__tool-btn--edit,.viewer__tool-btn--delete{display:none !important}body.is-admin .viewer__tool-btn--edit,body.is-admin .viewer__tool-btn--delete{display:inline-flex !important}.viewer__materials-admin-bar,.meta__materials-admin-edit{display:none !important}body.is-admin .viewer__materials-admin-bar,body.is-admin .meta__materials-admin-edit{display:flex !important}body.is-admin .meta__materials-admin-edit{display:inline-flex !important}@media (max-width:860px){.modal{width:100%;height:100%;max-height:100%;border-radius:0}.modal__body{grid-template-columns:1fr;overflow-y:auto;padding:14px;gap:14px}.meta__top{grid-template-columns:1fr}.meta__strip{grid-template-columns:1fr}.viewer__stage{width:min(100%,calc(300px * var(--viewer-image-ratio,1.607143)));max-height:300px}.viewer__stage--materials{width:100%;height:300px;max-height:min(60vh,300px)}}.viewer__materials-board{width:100%;min-height:100%;display:flex;flex-direction:column;gap:0;padding:16px;box-sizing:border-box}.mat-board__hero{padding:14px 16px 16px;background:linear-gradient(145deg,rgba(0,234,255,0.08) 0%,rgba(255,46,151,0.05) 100%);border:1px solid rgba(0,234,255,0.25);border-radius:var(--radius,10px);margin-bottom:14px;box-shadow:0 4px 20px rgba(0,0,0,0.35),inset 0 0 16px rgba(0,234,255,0.03)}.mat-board__badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono,monospace);font-size:9px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent,#00eaff);background:rgba(0,234,255,0.08);border:1px solid rgba(0,234,255,0.3);border-radius:99px;padding:3px 9px;margin-bottom:8px}.mat-board__title{font-family:var(--font-display,sans-serif);font-size:13.5px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--text,#f0f6fc);margin:0 0 5px}.mat-board__desc{font-family:var(--font-body,sans-serif);font-size:11px;color:var(--text-mute,#78879e);line-height:1.5;margin:0}.mat-section{margin-bottom:12px}.mat-section__header{display:flex;align-items:center;gap:7px;padding:7px 11px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-bottom:none;border-radius:var(--radius-sm,6px) var(--radius-sm,6px) 0 0;backdrop-filter:blur(8px)}.mat-section--collapsible .mat-section__header{border-bottom:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm,6px)}.mat-section__toggle{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:1px solid rgba(255,255,255,0.12);border-radius:50%;color:var(--text-dim,#b0bec5);background:rgba(255,255,255,0.04);cursor:pointer;transition:color .2s ease,background .2s ease,transform .24s var(--ease)}.mat-section__toggle:hover,.mat-section__toggle:focus-visible{color:var(--accent,#00eaff);background:rgba(0,234,255,0.1)}.mat-section__toggle svg{transition:transform .24s var(--ease)}.mat-section.is-collapsed .mat-section__toggle svg{transform:rotate(-90deg)}.mat-section__content{display:grid;grid-template-rows:1fr;overflow:hidden;transition:grid-template-rows .24s var(--ease)}.mat-section__inner{min-height:0;overflow:hidden}.mat-section.is-collapsed .mat-section__content{grid-template-rows:0fr}.mat-section.is-collapsed .mat-section__header{border-radius:var(--radius-sm,6px)}@media (prefers-reduced-motion:reduce){.mat-section__toggle,.mat-section__toggle svg,.mat-section__content{transition:none}}.mat-section__icon{display:inline-flex;align-items:center;color:var(--accent,#00eaff);opacity:0.85;flex-shrink:0}.mat-section__title{font-family:var(--font-mono,monospace);font-size:10px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-dim,#b0bec5);flex:1}.mat-section__count{font-family:var(--font-mono,monospace);font-size:10px;font-weight:700;color:var(--accent,#00eaff);background:rgba(0,234,255,0.12);border:1px solid rgba(0,234,255,0.25);border-radius:99px;padding:1px 7px;min-width:20px;text-align:center}.mat-section__tags{display:flex;flex-wrap:wrap;gap:7px;padding:11px 12px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);border-radius:0 0 var(--radius-sm,6px) var(--radius-sm,6px)}.mat-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:7px;font-family:var(--font-body,sans-serif);font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap;cursor:default;transition:all 0.2s cubic-bezier(0.16,1,0.3,1);line-height:1.3;user-select:none}.mat-tag:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,0.45)}.mat-tag__icon{font-size:12px;flex-shrink:0;line-height:1}.mat-tag__text{overflow:hidden;text-overflow:ellipsis}.mat-tag--cyan{background:rgba(0,234,255,0.1);border-color:rgba(0,234,255,0.32);color:#7ee8f8}.mat-tag--cyan:hover{background:rgba(0,234,255,0.2);border-color:rgba(0,234,255,0.6);box-shadow:0 4px 14px rgba(0,234,255,0.22)}.mat-tag--violet{background:rgba(139,92,246,0.12);border-color:rgba(139,92,246,0.35);color:#c4b5fd}.mat-tag--violet:hover{background:rgba(139,92,246,0.24);border-color:rgba(139,92,246,0.6);box-shadow:0 4px 14px rgba(139,92,246,0.25)}.mat-tag--amber{background:rgba(255,194,71,0.1);border-color:rgba(255,194,71,0.35);color:#ffc247}.mat-tag--amber:hover{background:rgba(255,194,71,0.2);border-color:rgba(255,194,71,0.6);box-shadow:0 4px 14px rgba(255,194,71,0.25)}.mat-tag--emerald{background:rgba(52,211,153,0.1);border-color:rgba(52,211,153,0.35);color:#6ee7b7}.mat-tag--emerald:hover{background:rgba(52,211,153,0.2);border-color:rgba(52,211,153,0.6);box-shadow:0 4px 14px rgba(52,211,153,0.25)}.mat-tag--teal{background:rgba(20,184,166,0.1);border-color:rgba(20,184,166,0.35);color:#5eead4}.mat-tag--teal:hover{background:rgba(20,184,166,0.2);border-color:rgba(20,184,166,0.6)}.mat-tag--blue{background:rgba(59,130,246,0.1);border-color:rgba(59,130,246,0.35);color:#93c5fd}.mat-tag--blue:hover{background:rgba(59,130,246,0.2);border-color:rgba(59,130,246,0.6)}.mat-tag--slate{background:rgba(100,116,139,0.12);border-color:rgba(100,116,139,0.3);color:#94a3b8}.mat-tag--slate:hover{background:rgba(100,116,139,0.22);border-color:rgba(100,116,139,0.5)}.mat-tag--graphite{background:linear-gradient(135deg,rgba(70,80,95,0.45),rgba(35,42,54,0.65));border-color:rgba(203,213,225,0.38);color:#f1f5f9;box-shadow:inset 0 1px 0 rgba(255,255,255,0.12)}.mat-tag--graphite:hover{background:linear-gradient(135deg,rgba(85,98,118,0.6),rgba(45,55,70,0.8));border-color:rgba(203,213,225,0.7);box-shadow:0 4px 14px rgba(0,0,0,0.5)}.mat-tag--charcoal{background:linear-gradient(135deg,rgba(22,22,28,0.85),rgba(10,10,14,0.95));border-color:rgba(255,255,255,0.25);color:#f8fafc}.mat-tag--charcoal:hover{background:linear-gradient(135deg,rgba(35,35,45,0.95),rgba(18,18,24,1));border-color:rgba(255,255,255,0.5)}.mat-tag--ink{background:linear-gradient(135deg,rgba(6,25,48,0.7),rgba(4,14,28,0.85));border-color:rgba(0,234,255,0.45);color:#7ee8f8;box-shadow:inset 0 0 10px rgba(0,234,255,0.08)}.mat-tag--ink:hover{background:linear-gradient(135deg,rgba(10,38,72,0.85),rgba(6,20,40,0.95));border-color:rgba(0,234,255,0.75);box-shadow:0 4px 14px rgba(0,234,255,0.3)}.mat-tag--marker{background:linear-gradient(135deg,rgba(255,138,61,0.15),rgba(255,194,71,0.12));border-color:rgba(255,138,61,0.45);color:#ffaa5a}.mat-tag--marker:hover{background:linear-gradient(135deg,rgba(255,138,61,0.25),rgba(255,194,71,0.22));border-color:rgba(255,138,61,0.75)}.mat-tag--purple{background:linear-gradient(135deg,rgba(168,85,247,0.15),rgba(236,72,153,0.12));border-color:rgba(192,132,252,0.4);color:#e9d5ff}.mat-tag--purple:hover{background:linear-gradient(135deg,rgba(168,85,247,0.25),rgba(236,72,153,0.22));border-color:rgba(192,132,252,0.7)}.mat-tag--dark{background:rgba(30,30,40,0.65);border-color:rgba(255,255,255,0.14);color:#cbd5e1}.mat-tag--mono{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.16);color:var(--text-dim,#b0bec5);font-family:var(--font-mono,monospace);font-size:10.5px}.mat-tag--holo{background:linear-gradient(135deg,rgba(0,234,255,0.18),rgba(255,46,151,0.18));border-color:rgba(0,234,255,0.55);color:#fff;font-weight:800;letter-spacing:0.04em;box-shadow:0 0 12px rgba(0,234,255,0.25),0 0 20px rgba(255,46,151,0.15);animation:mat-holo-pulse 2.4s ease-in-out infinite}@keyframes mat-holo-pulse{0%,100%{box-shadow:0 0 12px rgba(0,234,255,0.25),0 0 20px rgba(255,46,151,0.15)}50%{box-shadow:0 0 20px rgba(0,234,255,0.55),0 0 34px rgba(255,46,151,0.35)}}.mat-tag--pill{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.12);color:var(--text-mute,#78879e);border-radius:99px;font-size:10.5px}.mat-tag--pill:hover{background:rgba(255,255,255,0.12);color:var(--text-dim,#b0bec5)}.mat-tag--swatch{cursor:pointer;gap:7px;padding:4px 10px 4px 6px;background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.14);color:var(--text-dim,#b0bec5);font-family:var(--font-mono,monospace);font-size:10.5px}.mat-tag--swatch:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.35);transform:translateY(-2px)}.mat-tag__swatch-circle{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,0.3);flex-shrink:0;display:inline-block;box-shadow:0 1px 4px rgba(0,0,0,0.5)}.mat-tag--default{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.14);color:var(--text-dim,#b0bec5)}.gallery{padding:84px 32px 50px;display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px;align-content:start}.gallery__head{position:fixed;top:var(--topbar-h);left:var(--panel-w);right:0;z-index:18;display:flex;align-items:center;gap:16px;padding:12px 32px;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:0.06em;color:var(--text-mute);text-transform:uppercase}.gallery__head b{color:var(--accent)}.gallery__head[hidden],.gallery[hidden],.gallery__collections[hidden]{display:none !important}.gallery__back{padding:6px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font:inherit;cursor:pointer}.gallery__back:hover{background:rgba(0,234,255,0.1)}.gallery__sort{margin-left:auto;display:inline-flex;align-items:center;gap:10px}.gallery__sort select{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text);padding:6px 12px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:rgba(0,0,0,0.4);cursor:pointer;outline:none}.gallery__sort select:focus{border-color:var(--accent)}.gallery__collections{grid-column:1 / -1;width:min(100%,1040px);margin:30px auto;padding:28px;align-self:start;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2)}.gallery__collections-title{margin:0 0 22px;color:var(--text);font-family:var(--font-display);font-size:22px;letter-spacing:0.08em;text-align:center}.gallery__collection-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery__collection{position:relative;isolation:isolate;min-width:0;aspect-ratio:4 / 5;display:block;padding:0;overflow:hidden;border:1px solid var(--line-2);border-radius:var(--radius);background:radial-gradient(ellipse at 50% 35%,rgba(0,234,255,.18),transparent 54%),linear-gradient(145deg,var(--surface-3),var(--surface));color:var(--text);font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:0.06em;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.gallery__collection-cover{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;background:transparent}.gallery__collection-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,14,.16),transparent 28%,transparent 48%,rgba(4,7,14,.82)),linear-gradient(115deg,rgba(0,234,255,.08),transparent 45%,rgba(255,46,151,.08));transition:background-color var(--t-fast)}.gallery__collection-img,.gallery__collection-canvas{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s var(--ease-out),filter .45s var(--ease-out)}.gallery__collection-name,.gallery__collection-count{position:absolute;z-index:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.75)}.gallery__collection-name{right:12px;bottom:14px;left:14px;text-align:left}.gallery__collection-count{top:10px;right:10px;min-width:30px;padding:5px 9px;border:1px solid rgba(255,255,255,.38);border-radius:99px;background:rgba(4,7,14,.56);backdrop-filter:blur(8px);font:600 12px var(--font-mono);text-align:center}.gallery__collection:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 20px rgba(0,234,255,.18)}.gallery__collection:hover .gallery__collection-img,.gallery__collection:hover .gallery__collection-canvas{transform:scale(1.07);filter:saturate(1.14) contrast(1.04)}.gallery__collection:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.card{position:relative;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);overflow:hidden;cursor:pointer;--cat-color:var(--accent);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);transform-style:preserve-3d;transition:transform 0.16s ease-out,border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);overflow:hidden;will-change:transform}.card:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(10px) translateY(-4px);border-color:rgba(255,255,255,0.3);box-shadow:0 16px 36px rgba(0,0,0,0.55),0 0 24px color-mix(in srgb,var(--cat-color) 25%,transparent)}.card.is-dim{opacity:0.35;filter:grayscale(0.5)}.card.is-hidden{display:none}.card__holo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;opacity:var(--holo-o,0);background:radial-gradient( circle 220px at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.45) 0%,rgba(255,255,255,0.12) 35%,transparent 70% ),linear-gradient( 115deg,transparent 12%,rgba(0,234,255,0.28) 26%,rgba(255,46,151,0.32) 44%,rgba(255,230,0,0.26) 58%,rgba(0,255,204,0.28) 72%,transparent 88% );mix-blend-mode:color-dodge;background-size:100% 100%,200% 200%;background-position:center,calc(var(--mx,50%) * 1.6) calc(var(--my,50%) * 1.6);transition:opacity 0.25s ease}.card__holo::before{content:'';position:absolute;inset:0;border-radius:inherit;border:1.5px solid transparent;background:linear-gradient(135deg,rgba(0,234,255,0.6),rgba(255,46,151,0.6),rgba(255,230,0,0.5)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0.85;pointer-events:none}.card__reflect{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;opacity:var(--reflect-o,0);background:radial-gradient( circle 260px at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.32) 0%,rgba(255,255,255,0.1) 32%,transparent 65% ),linear-gradient( 115deg,transparent 18%,rgba(255,255,255,0.04) 32%,rgba(255,255,255,0.22) 50%,rgba(255,255,255,0.04) 68%,transparent 82% );mix-blend-mode:overlay;background-size:100% 100%,200% 200%;background-position:center,calc(var(--mx,50%) * 1.5) calc(var(--my,50%) * 1.5);transition:opacity 0.25s ease}.card__reflect::before{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid transparent;background:linear-gradient(135deg,rgba(255,255,255,0.35),rgba(255,255,255,0.05) 50%,rgba(255,255,255,0.15)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0.75;pointer-events:none}.card:not(.card--holo):hover .card__reflect{opacity:var(--reflect-o,0.85)}.card:hover .card__holo{opacity:var(--holo-o,0.85)}.card--holo{border-color:rgba(0,234,255,0.45)}.card--holo:hover{border-color:rgba(0,234,255,0.85);box-shadow:0 16px 36px rgba(0,0,0,0.55),0 0 24px rgba(0,234,255,0.35),0 0 16px rgba(255,46,151,0.25)}.card--holo{position:relative}.card--holo::before{content:"";position:absolute;inset:-2px;border-radius:var(--radius);border:2px solid transparent;background:linear-gradient(135deg,#00eaff,#ff2e97) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;opacity:0;transition:opacity var(--t-fast);pointer-events:none;z-index:5}.card--holo:hover::before{opacity:1}.card--holo:hover{box-shadow:0 16px 36px rgba(0,0,0,0.55),0 0 24px rgba(0,234,255,0.35),0 0 16px rgba(255,46,151,0.25)}.card__holo-badge{display:none !important}.card__labels{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.card__label-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid var(--line-2);cursor:default;transition:all var(--t-fast) var(--ease);font-size:12px;color:var(--text-dim)}.card__label-icon:hover{background:var(--accent);color:#0b0d14;transform:scale(1.15);border-color:var(--accent)}.card__label-icon::after{content:attr(data-label);position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.85);color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s,transform 0.15s;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,0.4)}.card__label-icon:hover::after{opacity:1;transform:translateX(-50%) translateY(-4px)}.card__label-available{background:rgba(52,211,151,0.15);border-color:var(--ok);color:var(--ok)}.card__label-available::before{content:"â—‹"}.card__label-available.is-on::before{content:"â—"}.card__label-unavailable{background:rgba(244,63,94,0.15);border-color:var(--magenta);color:var(--magenta)}.card__label-unavailable::before{content:"â—‹"}.card__label-sold{background:rgba(167,138,250,0.15);border-color:#a78bfa;color:#a78bfa}.card__label-sold::before{content:"âœ“"}.card__label-reserved{background:rgba(244,63,94,0.15);border-color:var(--magenta);color:var(--magenta)}.card__label-reserved::before{content:"â§–"}.card__label-archive{background:rgba(99,102,104,0.15);border-color:#6b7280;color:#6b7280}.card__label-archive::before{content:"ðŸ“"}.card__label-exhibition{background:rgba(166,184,252,0.15);border-color:#a3b1ff;color:#a3b1ff}.card__label-exhibition::before{content:"ðŸŽ¨"}.card__label-category{background:color-mix(in srgb,var(--cat-color,var(--accent)) 15%,transparent);border-color:var(--cat-color,var(--accent));color:var(--cat-color,var(--accent))}.card__label-category::before{content:attr(data-category-icon)}.card__status{display:none !important}.card__tags.tagrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;justify-content:flex-start}.card__tags.tagrow .card__tag{font-size:11px;padding:3px 8px;margin:0;background:rgba(255,255,255,0.05);border-color:var(--line-2)}.card__fav{position:absolute;top:10px;right:10px;width:24px;height:24px;padding:0;margin:0;font-size:18px;background:rgba(0,0,0,0.5);border:1px solid var(--line-2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-fast) var(--ease);z-index:5}.card__fav:hover{background:var(--accent);color:#0b0d14;transform:scale(1.1)}.card__fav.is-on{color:#fbbf24;font-size:20px}.card__media{position:relative;overflow:hidden;aspect-ratio:16 / 11;background:#06080e;display:flex;align-items:center;justify-content:center}.card__media img,.card__media canvas{width:100%;height:100%;object-fit:cover;display:block;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) scale(1.04);transition:transform .24s var(--ease);will-change:transform}.card:hover .card__media img,.card:hover .card__media canvas{transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) scale(1.08)}@media (hover:none),(prefers-reduced-motion:reduce){.card__media img,.card__media canvas,.card:hover .card__media img,.card:hover .card__media canvas{transform:none;transition:none;will-change:auto}}.card__badge{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:4px 10px;border-radius:99px;color:#fff;background:rgba(9,10,15,0.85);border:1px solid rgba(255,255,255,0.15);backdrop-filter:blur(8px)}.card__fav{position:absolute;top:10px;right:10px;z-index:3;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-size:14px;color:var(--text-mute);background:rgba(9,10,15,0.85);border:1px solid var(--line);backdrop-filter:blur(8px);cursor:pointer;transition:all var(--t-fast) var(--ease)}.card__fav:hover{color:var(--amber);border-color:var(--amber);transform:scale(1.1)}.card__fav.is-on{color:var(--amber)}.card__tool,.card__edit,.card__del{display:none !important}.card__status{position:absolute;bottom:12px;left:12px;z-index:2;font-family:var(--font-body);font-size:11.5px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-mute);background:rgba(9,10,15,0.85);padding:2px 8px;border-radius:4px}.card__status.is-available{color:var(--ok)}.card__info{position:relative;z-index:2;padding:16px 18px 18px;display:grid;gap:8px}.card__title{font-family:var(--font-display);font-size:17.5px;font-weight:700;letter-spacing:-0.01em;color:var(--text);line-height:1.3}.card__tech{font-size:13.5px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.card__tag{font-size:12px;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,0.04);color:var(--text-dim);border:1px solid var(--line)}.card__foot{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--text-mute)}.card__palette-bar{display:flex;height:18.9px;overflow:hidden;flex-shrink:0;border-top:1px solid rgba(0,0,0,0.3)}.card__palette-bar.is-hidden{display:none}.card__swatch{display:block;position:relative;height:18.9px;min-width:0;flex:1;cursor:default;transition:flex var(--t-fast) var(--ease)}.card__swatch::after{content:attr(data-color);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(4px);font-family:var(--font-mono);font-size:10px;letter-spacing:0.04em;color:#fff;background:rgba(6,8,14,0.92);padding:2px 6px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.15s,transform 0.15s;z-index:10}.card:hover .card__swatch:hover{flex:2.5}.card:hover .card__swatch:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}.card__palette{display:inline-flex;gap:3px;align-items:center}.card__palette-dot{width:8px;height:8px;border-radius:50%;display:inline-block;border:1px solid rgba(255,255,255,0.18);flex-shrink:0}.card__cat{margin-left:auto;font-weight:600;color:var(--cat-color,var(--accent));font-size:12px;text-transform:uppercase}.gallery__empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 24px;border:1px dashed var(--line-2);border-radius:var(--radius-lg);background:rgba(255,255,255,0.015);margin-top:40px}.gallery__empty-icon{font-size:38px;margin-bottom:14px;opacity:0.6}.gallery__empty-title{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:0.02em;color:var(--text);margin-bottom:8px}.gallery__empty-text{font-size:15px;color:var(--text-dim);max-width:460px;margin-bottom:6px;line-height:1.5}.gallery__empty-hint{font-size:13.5px;color:var(--text-mute);margin-bottom:22px}.about{max-width:1160px;margin:0 auto;padding:90px 32px 70px}.about__head{max-width:820px;margin-bottom:40px}.about__title{margin:12px 0 16px;font-family:var(--font-display);font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:-0.02em;color:var(--text)}.about__lead{font-size:17px;line-height:1.75;color:var(--text-dim)}.about__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}.about__card{position:relative;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);box-shadow:0 10px 30px rgba(0,0,0,0.4);overflow:hidden;transition:all var(--t) var(--ease)}.about__card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.about__card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 16px 36px rgba(0,0,0,0.5)}.about__card h2{font-family:var(--font-body);font-size:14.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.about__card p{font-size:15px;line-height:1.65;color:var(--text-dim)}.about__card p + p{margin-top:12px}.about__list,.about__steps{margin-top:16px;display:grid;gap:8px}.about__list li,.about__steps li{position:relative;padding-left:20px;font-size:14px;color:var(--text-mute);line-height:1.6}.about__list li::before{content:"â€¢";position:absolute;left:4px;color:var(--accent);font-size:16px}.about__steps{counter-reset:paso}.about__steps li::before{counter-increment:paso;content:counter(paso,decimal-leading-zero);position:absolute;left:0;font-family:var(--font-mono);font-size:12px;color:var(--accent);font-weight:600}.about__list b{color:var(--text);font-weight:600}.about__legend{display:grid;gap:10px;margin-top:16px}.about__legend .legend__row{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-mute)}.about__links{margin-top:18px;display:grid;gap:10px}.about__links a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text);text-decoration:none;transition:color var(--t-fast)}.about__links a:hover{color:var(--accent)}.editor-root{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;pointer-events:none;visibility:hidden}.editor-root.is-open{pointer-events:auto;visibility:visible}.editor__backdrop{position:absolute;inset:0;background:rgba(4,5,8,0.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity var(--t) var(--ease)}.editor-root.is-open .editor__backdrop{opacity:1}.editor{position:relative;width:min(920px,96vw);max-height:min(92vh,900px);display:grid;grid-template-rows:auto 1fr auto;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-panel),0 0 50px rgba(0,0,0,0.7);overflow:hidden;transform:translateY(14px) scale(0.98);opacity:0;transition:transform var(--t) var(--ease-out),opacity var(--t) var(--ease)}.editor-root.is-open .editor{transform:none;opacity:1}.editor__head{display:flex;align-items:center;gap:14px;padding:18px 24px;border-bottom:1px solid var(--line)}.editor__index{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:0.05em;color:var(--accent);padding:4px 10px;border:1px solid var(--accent);border-radius:99px}.editor__title{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:0.02em;color:var(--text)}.editor__close{margin-left:auto;width:34px;height:34px;display:grid;place-items:center;color:var(--text-mute);border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,0.05);cursor:pointer;padding:0;transition:all var(--t-fast) var(--ease)}.editor__close svg{display:block;pointer-events:none;transition:transform var(--t-fast) var(--ease)}.editor__close:hover{color:#fff;border-color:var(--accent,#00eaff);background:rgba(0,234,255,0.12);box-shadow:0 0 12px rgba(0,234,255,0.35);transform:scale(1.08)}.editor__close:hover svg{transform:rotate(90deg)}.editor__body{padding:22px 24px;overflow-y:auto;display:grid;gap:18px}.editor__hint{font-size:13.5px;color:var(--text-dim);border-left:3px solid var(--accent);padding-left:12px;line-height:1.5;background:rgba(255,255,255,0.02);padding:10px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.editor__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.editor__row--single,.editor__row--full{grid-template-columns:1fr}.editor__split{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.editor__split-col{display:grid;gap:14px;align-content:start}.editor__split-col--right{padding-left:18px;border-left:1px solid var(--line-2)}.editor__langs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor__lang{display:grid;gap:12px;align-content:start;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,0.02)}.editor__langtitle{font-family:var(--font-body);font-size:13.5px;font-weight:700;letter-spacing:0.06em;color:var(--accent);border-bottom:1px solid var(--line-2);padding-bottom:8px}.field{display:grid;gap:6px;align-content:start}.field__label{font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-dim)}.field__hint{font-size:12px;color:var(--text-mute)}.editor input:not([type="hidden"]),.editor select,.editor textarea{width:100%;padding:10px 14px;font-family:var(--font-body);font-size:14px;color:var(--text);background:rgba(0,0,0,0.35);border:1px solid var(--line-2);border-radius:var(--radius-sm);transition:all var(--t-fast)}.editor input:not([type="hidden"]),.editor select{height:42px}.editor input:not([type="hidden"]):focus,.editor select:focus,.editor textarea:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,0.04);box-shadow:0 0 0 3px rgba(212,163,115,0.15)}.editor textarea{resize:vertical;min-height:70px;line-height:1.5}.editor select option{background:var(--bg-2);color:var(--text)}.editor__foot{display:flex;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--line);background:rgba(0,0,0,0.3)}.editor__delete{color:var(--danger);border-color:rgba(248,113,113,0.35)}.editor__delete:hover{background:rgba(248,113,113,0.15);border-color:var(--danger)}.editor__delete.is-armed{color:#fff;background:var(--danger);border-color:var(--danger)}.editor__save{min-width:130px}.confirm{position:relative;width:min(460px,94vw);padding:26px;display:grid;gap:16px;border:1px solid var(--line-2);border-left:4px solid var(--danger);border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-panel);transform:translateY(12px) scale(0.98);opacity:0;transition:transform var(--t) var(--ease-out),opacity var(--t) var(--ease)}.editor-root.is-open .confirm{transform:none;opacity:1}.confirm__title{font-size:15px;font-weight:700;letter-spacing:0.04em;color:var(--danger)}.confirm__body{font-size:14.5px;line-height:1.6;color:var(--text-dim)}.confirm__actions{display:flex;gap:12px;justify-content:flex-end}.editor__palette-box{display:grid;gap:10px}.editor__swatches{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:rgba(0,0,0,0.3);padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--radius-sm)}.editor__swatch-item{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.04);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 9px;transition:border-color var(--t-fast)}.editor__swatch-item:hover{border-color:var(--accent)}.editor__color-picker{width:28px !important;height:28px !important;padding:0 !important;border:none !important;border-radius:4px;cursor:pointer;background:none !important}.editor__swatch-hex{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}.editor__presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.editor__preset-btn{background:rgba(255,255,255,0.04);border:1px solid var(--line);border-radius:99px;color:var(--text-dim);font-family:var(--font-body);font-size:12px;font-weight:600;padding:5px 12px;cursor:pointer;transition:all var(--t-fast)}.editor__preset-btn:hover{background:rgba(255,255,255,0.1);border-color:var(--text-dim);color:#fff}.editor__image-box{display:grid;gap:10px}.editor__image-controls{display:flex;gap:10px;align-items:center}.editor__image-controls input[type="url"]{flex:1 1 auto}.editor__upload-btn{white-space:nowrap;padding:10px 14px;font-size:13px;flex:0 0 auto}.editor__img-preview-box{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(0,234,255,0.22);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(14,20,32,0.85),rgba(7,10,18,0.95));box-shadow:0 4px 16px rgba(0,0,0,0.4),inset 0 0 16px rgba(0,234,255,0.03);margin-top:6px;min-height:84px}.editor__img-preview{max-width:95px;max-height:75px;border-radius:var(--radius-sm);border:1px solid var(--line-2);object-fit:cover;background:#06080e;flex-shrink:0;box-shadow:0 2px 10px rgba(0,0,0,0.5)}.editor__img-preview-info{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;font-size:11.5px;min-width:0}.editor__img-meta-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:5px}.editor__img-badge{font-family:var(--font-mono,monospace);font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--cyan,#00eaff);background:rgba(0,234,255,0.12);border:1px solid rgba(0,234,255,0.3);border-radius:3px;padding:2px 6px;text-transform:uppercase}.editor__img-status-ok{font-family:var(--font-mono,monospace);font-size:10.5px;color:#10e88a;display:inline-flex;align-items:center;gap:4px}.editor__img-meta-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:3px 8px}.editor__img-meta-row{display:flex;align-items:baseline;gap:6px;font-size:11.5px;line-height:1.35;min-width:0}.editor__img-meta-key{color:var(--text-mute,#6f7c95);font-size:11px;font-weight:500;flex-shrink:0}.editor__img-meta-val{color:var(--text-bright,#e8f3ff);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor__img-meta-val--mono{font-family:var(--font-mono,monospace);font-size:11px;color:var(--cyan,#00eaff)}.editor__img-meta-loading{color:var(--cyan,#00eaff);font-family:var(--font-mono,monospace);font-size:12px;padding:8px 0}.editor__img-meta-error{color:#ff4d6d;font-size:12px;font-weight:500;padding:8px 0}@media (max-width:760px){.editor-root{padding:0}.editor{width:100%;height:100%;max-height:100%;border-radius:0;border:0}.editor__langs{grid-template-columns:1fr}.editor__row,.editor__row--full{grid-template-columns:1fr}.editor__split{grid-template-columns:1fr;gap:14px}.editor__split-col--right{padding-left:0;border-left:none;border-top:1px solid var(--line-2);padding-top:14px}}.tech-picker__wrap{display:grid;gap:8px}.tech-picker{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px;background:rgba(0,0,0,0.3);border:1px solid var(--line-2);border-radius:var(--radius-sm);transition:border-color var(--t-fast)}.tech-picker:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,163,115,0.12)}.tech-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:0.04em;color:var(--text-mute);background:rgba(255,255,255,0.04);border:1px solid var(--line);border-radius:99px;cursor:pointer;transition:all var(--t-fast) var(--ease);user-select:none;white-space:nowrap}.tech-chip:hover{color:var(--text);border-color:var(--accent);background:rgba(212,163,115,0.08)}.tech-chip.is-on{color:var(--bg,#04050a);background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(212,163,115,0.35)}.tech-chip.is-on::before{content:'âœ“ ';font-size:11px;font-weight:900}.tech-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tech-picker__custom-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-height:42px;padding:8px 12px;background:rgba(0,0,0,0.25);border:1px dashed var(--line-2);border-radius:var(--radius-sm);transition:border-color var(--t-fast),box-shadow var(--t-fast);cursor:text}.tech-picker__custom-wrap:focus-within{border-color:#a855f7;border-style:solid;box-shadow:0 0 0 3px rgba(168,85,247,0.12)}.tech-picker__custom{display:contents}.tech-chip--custom{display:inline-flex;align-items:center;gap:5px;padding:4px 6px 4px 11px;font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:0.04em;color:#a855f7;background:rgba(168,85,247,0.1);border:1px solid rgba(168,85,247,0.4);border-radius:99px;cursor:default;user-select:none;white-space:nowrap;transition:all var(--t-fast) var(--ease)}.tech-chip--custom:hover{background:rgba(168,85,247,0.18);border-color:rgba(168,85,247,0.7)}.tech-chip__del{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:14px;line-height:1;color:rgba(168,85,247,0.65);background:transparent;border:none;border-radius:50%;cursor:pointer;padding:0;transition:color var(--t-fast),background var(--t-fast);flex-shrink:0}.tech-chip__del:hover{color:#fff;background:rgba(168,85,247,0.55)}.tech-picker__input{flex:1 1 140px;min-width:120px;padding:3px 4px !important;font-family:var(--font-body) !important;font-size:13px !important;color:var(--text) !important;background:transparent !important;border:none !important;border-radius:0 !important;outline:none !important;box-shadow:none !important}.tech-picker__input::placeholder{color:var(--text-mute);font-style:italic;font-size:12px}.editor__tagfield-wrap{flex:1 1 0;min-width:0}.editor__tagfield-wrap .field{height:100%}.tag-picker-cat-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;margin-bottom:6px;font-family:var(--font-mono,monospace);font-size:10px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--accent);background:rgba(212,163,115,0.08);border:1px solid rgba(212,163,115,0.25);border-radius:99px;user-select:none;pointer-events:none;animation:fadeInDown 0.25s var(--ease) both}@keyframes fadeInDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tech-picker--presets .tech-chip{animation:fadeInDown 0.2s var(--ease) both}.editor__lang--solo{width:100%;max-width:100%}.editor__section-box{border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:rgba(255,255,255,0.015);overflow:hidden}.editor__section-title{font-family:var(--font-body);font-size:11.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);padding:8px 14px 6px;border-bottom:1px solid var(--line-2);background:rgba(212,163,115,0.04);margin:0}.editor__section-body{padding:12px 14px}.mat-picker__two-col{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:0}.mat-picker__col{display:grid;gap:10px;align-content:start;padding:14px}.mat-picker__col + .mat-picker__col{border-left:1px solid var(--line-2)}.mat-picker__col-title{font-family:var(--font-body);font-size:11.5px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--text-dim);margin:0 0 2px;padding-bottom:6px;border-bottom:1px solid var(--line-2)}.mat-picker__sub-title{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-mute);margin:4px 0 0}.mat-picker__chips{display:flex;flex-wrap:wrap;gap:6px}@media (max-width:600px){.mat-picker__two-col{grid-template-columns:1fr}.mat-picker__col + .mat-picker__col{border-left:none;border-top:1px solid var(--line-2)}}.switch--editor-holo{display:inline-flex;align-items:center;gap:12px;cursor:pointer;padding:8px 12px;background:rgba(255,255,255,0.03);border:1px solid var(--line);border-radius:var(--radius-sm);user-select:none;transition:all var(--t-fast) var(--ease);width:100%}.switch--editor-holo:hover{background:rgba(255,255,255,0.06);border-color:rgba(0,234,255,0.35)}.switch--editor-holo input{position:absolute;opacity:0;pointer-events:none}.switch--editor-holo .switch__track{width:44px;height:24px;border-radius:99px;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.22);position:relative;transition:all 0.24s cubic-bezier(0.16,1,0.3,1);flex-shrink:0}.switch--editor-holo .switch__knob{width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform 0.24s cubic-bezier(0.16,1,0.3,1),background-color 0.2s ease;box-shadow:0 2px 6px rgba(0,0,0,0.4)}.switch--editor-holo input:checked + .switch__track{background:linear-gradient(135deg,#00eaff,#ff2e97,#ffe600);border-color:rgba(255,255,255,0.7);box-shadow:0 0 14px rgba(0,234,255,0.45),0 0 8px rgba(255,46,151,0.35)}.switch--editor-holo input:checked + .switch__track .switch__knob{transform:translateX(20px);background:#ffffff}.switch--editor-holo .switch__label{font-family:var(--font-body);display:flex;align-items:center}.holo-text-gradient{font-weight:700;font-size:13px;background:linear-gradient(135deg,#00eaff 20%,#ff2e97 60%,#ffe600 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:0.02em}.hmp-root{display:flex;flex-direction:column;gap:10px;padding:4px 0}.hmp-level1{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0}.hmp-node-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px 7px 10px;background:var(--surface-3,rgba(255,255,255,0.04));border:1px solid var(--line-2,rgba(255,255,255,0.10));border-radius:22px;color:var(--text-2,rgba(255,255,255,0.65));font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;transition:all 0.2s ease;user-select:none;position:relative}.hmp-node-chip:hover{background:var(--surface-4,rgba(255,255,255,0.08));border-color:var(--accent,#00eaff);color:var(--text-1,#fff);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,234,255,0.12)}.hmp-node-chip.is-on{background:rgba(0,234,255,0.12);border-color:var(--accent,#00eaff);color:var(--accent,#00eaff)}.hmp-node-chip.is-expanded{background:linear-gradient(135deg,rgba(0,234,255,0.15),rgba(255,46,151,0.10));border-color:var(--accent,#00eaff);color:var(--accent,#00eaff);box-shadow:0 0 0 1px rgba(0,234,255,0.2),0 4px 16px rgba(0,234,255,0.15)}.hmp-node-icon{font-size:14px;line-height:1}.hmp-node-label{line-height:1}.hmp-level2-container{border:1px solid rgba(0,234,255,0.2);border-radius:12px;background:linear-gradient(135deg,rgba(0,234,255,0.04),rgba(255,46,151,0.03));padding:12px 14px;animation:hmp-slide-in 0.22s cubic-bezier(0.16,1,0.3,1)}@keyframes hmp-slide-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hmp-level2-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(0,234,255,0.12)}.hmp-level2-icon{font-size:15px}.hmp-level2-title{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent,#00eaff)}.hmp-level2-hint{font-family:var(--font-body);font-size:10px;color:var(--text-3,rgba(255,255,255,0.35));margin-left:auto;letter-spacing:0.02em}.hmp-level2-chips{display:flex;flex-wrap:wrap;gap:6px}.hmp-subnode-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--surface-3,rgba(255,255,255,0.04));border:1px solid var(--line-2,rgba(255,255,255,0.10));border-radius:16px;color:var(--text-2,rgba(255,255,255,0.65));font-family:var(--font-body);font-size:12px;font-weight:500;cursor:pointer;transition:all 0.18s ease;user-select:none}.hmp-subnode-chip:hover{background:rgba(255,255,255,0.08);border-color:rgba(0,234,255,0.4);color:var(--text-1,#fff)}.hmp-subnode-chip.is-on{background:rgba(0,234,255,0.14);border-color:var(--accent,#00eaff);color:var(--accent,#00eaff);font-weight:600}.hmp-subnode-chip.is-expanded{background:rgba(255,46,151,0.12);border-color:rgba(255,46,151,0.5);color:#ff2e97}.hmp-subnode-chip.has-shades{padding-right:10px}.hmp-shade-arrow{font-size:9px;opacity:0.6;transition:transform 0.18s ease}.hmp-subnode-chip.is-expanded .hmp-shade-arrow{transform:rotate(90deg);opacity:1}.hmp-level3-container{border:1px solid rgba(255,46,151,0.25);border-radius:10px;background:linear-gradient(135deg,rgba(255,46,151,0.04),rgba(255,230,0,0.02));padding:10px 12px;animation:hmp-slide-in 0.2s cubic-bezier(0.16,1,0.3,1)}.hmp-level3-header{display:flex;align-items:center;gap:10px;margin-bottom:9px;padding-bottom:7px;border-bottom:1px solid rgba(255,46,151,0.15)}.hmp-level3-back{font-family:var(--font-body);font-size:10px;color:var(--text-3,rgba(255,255,255,0.35));letter-spacing:0.04em}.hmp-level3-title{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#ff2e97}.hmp-level3-chips{display:flex;flex-wrap:wrap;gap:6px}.hmp-shade-chip{padding:4px 11px;background:rgba(255,46,151,0.06);border:1px solid rgba(255,46,151,0.15);border-radius:12px;color:var(--text-2,rgba(255,255,255,0.65));font-family:var(--font-body);font-size:11px;font-weight:400;cursor:pointer;transition:all 0.16s ease;user-select:none;font-style:italic}.hmp-shade-chip:hover{background:rgba(255,46,151,0.14);border-color:rgba(255,46,151,0.45);color:var(--text-1,#fff)}.hmp-shade-chip.is-on{background:rgba(255,46,151,0.18);border-color:#ff2e97;color:#ff2e97;font-weight:600;font-style:normal}.hmp-summary{display:flex;flex-wrap:wrap;gap:5px;min-height:28px;padding:8px 10px;background:rgba(0,0,0,0.2);border:1px solid var(--line,rgba(255,255,255,0.07));border-radius:8px}.hmp-summary-empty{font-family:var(--font-body);font-size:11px;color:var(--text-3,rgba(255,255,255,0.3));align-self:center;font-style:italic}.hmp-summary-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 9px;background:rgba(0,234,255,0.1);border:1px solid rgba(0,234,255,0.3);border-radius:10px;color:var(--accent,#00eaff);font-family:var(--font-body);font-size:11px;font-weight:500;white-space:nowrap}.hmp-summary-del{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:rgba(255,255,255,0.1);border:none;border-radius:50%;color:rgba(255,255,255,0.6);font-size:10px;line-height:1;cursor:pointer;transition:all 0.15s ease;padding:0}.hmp-summary-del:hover{background:rgba(255,46,151,0.4);color:#fff}.hmp-custom-row{display:flex;gap:8px;margin-top:2px}.hmp-custom-input{flex:1;background:rgba(0,0,0,0.25);border:1px solid var(--line-2,rgba(255,255,255,0.12));border-radius:8px;color:var(--text-1,#fff);font-family:var(--font-body);font-size:12px;padding:7px 12px;outline:none;transition:all 0.2s ease}.hmp-custom-input:focus{border-color:var(--accent,#00eaff);box-shadow:0 0 0 1px rgba(0,234,255,0.2),0 0 12px rgba(0,234,255,0.15);background:rgba(0,0,0,0.4)}.hmp-custom-btn{background:rgba(0,234,255,0.08);border:1px solid rgba(0,234,255,0.25);border-radius:8px;color:var(--accent,#00eaff);font-family:var(--font-body);font-size:11px;font-weight:600;padding:0 14px;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}.hmp-custom-btn:hover{background:rgba(0,234,255,0.2);border-color:var(--accent,#00eaff);color:#fff;box-shadow:0 2px 8px rgba(0,234,255,0.2)}.hmp-node-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--accent,#00eaff);color:#000;font-size:9px;font-weight:800;border-radius:8px;margin-left:2px;line-height:1}.np-root{--np-accent:var(--cyan,#0091b8);--np-accent-glow:rgba(0,145,184,0.45);--np-accent-bg:rgba(0,145,184,0.12);--np-line-color:var(--line,rgba(20,50,90,0.15));position:relative;width:100%;height:380px;background-color:var(--bg-1,#f0f4f9);background-image:radial-gradient(var(--np-line-color) 1.2px,transparent 1.2px);background-size:18px 18px;border:1px solid var(--line-2,rgba(20,50,90,0.22));border-radius:var(--radius,10px);overflow:hidden;user-select:none;box-shadow:inset 0 2px 8px rgba(0,0,0,0.04)}.np-root.is-wiring{cursor:crosshair !important}.np-root--tech{--np-accent:var(--cyan,#0091b8);--np-accent-glow:rgba(0,145,184,0.45);--np-accent-bg:rgba(0,145,184,0.12)}.np-root--mat{--np-accent:var(--magenta,#cf1f7d);--np-accent-glow:rgba(207,31,125,0.45);--np-accent-bg:rgba(207,31,125,0.12)}html:not([data-theme="light"]) .np-root{background-color:rgba(6,10,18,0.85);box-shadow:inset 0 2px 14px rgba(0,0,0,0.6)}html:not([data-theme="light"]) .np-root--tech{--np-accent:#00eaff;--np-accent-glow:rgba(0,234,255,0.55);--np-accent-bg:rgba(0,234,255,0.16)}html:not([data-theme="light"]) .np-root--mat{--np-accent:#ff2e97;--np-accent-glow:rgba(255,46,151,0.55);--np-accent-bg:rgba(255,46,151,0.16)}.np-bar{position:absolute;top:8px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:12}.np-counter{font-family:var(--font-body,-apple-system,sans-serif);font-size:11px;font-weight:700;letter-spacing:0.05em;color:var(--text-mute,#64758c);background:var(--surface-2,rgba(255,255,255,0.9));padding:3px 9px;border-radius:99px;border:1px solid var(--line,rgba(0,0,0,0.1));box-shadow:0 1px 4px rgba(0,0,0,0.06);pointer-events:auto;transition:all 0.2s ease}.np-counter.has-selection{color:var(--np-accent);border-color:var(--np-accent);background:var(--surface-3,#ffffff);box-shadow:0 0 10px var(--np-accent-glow)}.np-bar-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}.np-btn-text{background:transparent;border:none;font-family:var(--font-body,-apple-system,sans-serif);font-size:11px;color:var(--text-mute,#64758c);cursor:pointer;padding:3px 8px;border-radius:4px;transition:color 0.15s ease,background 0.15s ease}.np-btn-text:hover{color:var(--text,#0c1830);background:rgba(0,0,0,0.06)}.np-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}.np-line{fill:none;stroke:var(--line,rgba(20,50,90,0.18));stroke-width:1.5;stroke-dasharray:4 5;transition:stroke 0.25s ease,stroke-width 0.25s ease,opacity 0.25s ease;opacity:0.35}.np-line.is-hover{stroke:var(--np-accent);stroke-width:2;opacity:0.75;stroke-dasharray:2 3}.np-line.is-on{stroke:var(--np-accent);stroke-width:2.4;stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 5px var(--np-accent-glow))}.np-wire-live{fill:none;stroke:var(--np-accent);stroke-width:2.2;stroke-dasharray:6 4;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--np-accent-glow));animation:np-wire-pulse 0.8s linear infinite}@keyframes np-wire-pulse{from{stroke-dashoffset:20}to{stroke-dashoffset:0}}.np-wire-live.is-magnetic-snapped{stroke:var(--np-accent);stroke-width:3.2;stroke-dasharray:none;filter:drop-shadow(0 0 10px var(--np-accent))}.np-wire-head{fill:var(--np-accent);stroke:#ffffff;stroke-width:2;filter:drop-shadow(0 0 6px var(--np-accent));transition:r 0.15s ease}.np-wire-head.is-magnetic-snapped{r:8.5;fill:#ffffff;stroke:var(--np-accent);stroke-width:3;animation:np-snap-head-glow 0.6s ease-in-out infinite alternate}@keyframes np-snap-head-glow{from{filter:drop-shadow(0 0 6px var(--np-accent))}to{filter:drop-shadow(0 0 14px var(--np-accent))}}.np-nodes-area{position:absolute;inset:0;pointer-events:none;z-index:2}.np-node{position:absolute;pointer-events:auto;display:flex;align-items:center;justify-content:center;cursor:grab;transition:transform 0.15s ease,box-shadow 0.2s ease,border-color 0.2s ease,background-color 0.2s ease}.np-node:active,.np-node.is-dragging{cursor:grabbing !important;z-index:25 !important;transform:translate(-50%,-50%) scale(1.06) !important;transition:none !important}.np-node.is-just-connected{animation:np-connect-flash 0.4s ease-out}@keyframes np-connect-flash{0%{transform:translate(-50%,-50%) scale(1.18);box-shadow:0 0 25px var(--np-accent)}100%{transform:translate(-50%,-50%) scale(1)}}.np-node--core{width:72px;height:72px;border-radius:50%;cursor:default;z-index:10}.np-core-center{width:66px;height:66px;border-radius:50%;background:var(--surface-3,#ffffff);border:2px solid var(--np-accent);box-shadow:0 0 16px var(--np-accent-glow),0 4px 16px rgba(0,0,0,0.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;z-index:3;pointer-events:auto;animation:np-pulse-core 3.5s ease-in-out infinite;transition:all 0.25s ease}@keyframes np-pulse-core{0%,100%{box-shadow:0 0 14px var(--np-accent-glow),0 4px 14px rgba(0,0,0,0.12)}50%{box-shadow:0 0 24px var(--np-accent-glow),0 4px 18px rgba(0,0,0,0.18)}}.np-node--core.is-magnetic-snap .np-core-center{border-color:var(--np-accent);box-shadow:0 0 32px var(--np-accent),0 0 10px #ffffff;transform:scale(1.08)}.np-core-icon{font-size:16px;color:var(--np-accent);line-height:1}.np-core-label{font-family:var(--font-body,-apple-system,sans-serif);font-size:9px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--text,#0c1830)}.np-core-ports{position:absolute;inset:-6px;border-radius:50%;pointer-events:none;border:1px dashed rgba(20,50,90,0.18);transition:all 0.2s ease}.np-root.is-wiring .np-core-ports{border-color:var(--np-accent);opacity:0.8}.np-core-port{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--surface-3,#ffffff);border:1.5px solid var(--line-2,rgba(20,50,90,0.3));pointer-events:auto;cursor:crosshair;transform:translate(-50%,-50%);transition:all 0.2s ease}.np-core-port:hover{background:var(--np-accent);border-color:#ffffff;box-shadow:0 0 8px var(--np-accent);transform:translate(-50%,-50%) scale(1.4)}.np-core-port--n{top:0%;left:50%}.np-core-port--ne{top:15%;left:85%}.np-core-port--e{top:50%;left:100%}.np-core-port--se{top:85%;left:85%}.np-core-port--s{top:100%;left:50%}.np-core-port--sw{top:85%;left:15%}.np-core-port--w{top:50%;left:0%}.np-core-port--nw{top:15%;left:15%}.np-node--item{min-width:58px;max-width:140px;border-radius:99px;background:var(--surface-2,rgba(255,255,255,0.95));border:1px solid var(--line-2,rgba(20,50,90,0.22));font-family:var(--font-body,-apple-system,sans-serif);font-size:11.5px;font-weight:600;color:var(--text-dim,#34475f);white-space:nowrap;text-align:center;z-index:5;box-shadow:0 2px 7px rgba(0,0,0,0.08);display:flex;align-items:center;gap:7px;position:absolute;transition:transform 0.15s ease,box-shadow 0.2s ease,border-color 0.2s ease,background-color 0.2s ease}.np-node--item,.np-node--item.np-dock-left{flex-direction:row;padding:5px 14px 5px 6px}.np-node--item .np-connector--edge,.np-node--item.np-dock-left .np-connector--edge{margin-left:-2px;margin-right:0}.np-node--item.np-dock-right{flex-direction:row-reverse;padding:5px 6px 5px 14px}.np-node--item.np-dock-right .np-connector--edge{margin-left:0;margin-right:-2px}.np-node-text{overflow:hidden;text-overflow:ellipsis;pointer-events:none}.np-connector--edge{position:relative;width:14px;height:14px;border-radius:50%;background:var(--surface-3,#ffffff);border:2px solid var(--line-2,rgba(20,50,90,0.35));box-shadow:0 1px 3px rgba(0,0,0,0.15);display:grid;place-items:center;cursor:crosshair !important;flex-shrink:0;margin-left:-2px;transition:transform 0.2s cubic-bezier(0.175,0.885,0.32,1.275),border-color 0.2s ease,box-shadow 0.2s ease;z-index:10}.np-connector-socket{width:5px;height:5px;border-radius:50%;background:var(--line-2,rgba(20,50,90,0.45));transition:background-color 0.2s ease,transform 0.2s ease}.np-connector-halo{position:absolute;inset:-4px;border-radius:50%;border:1px dashed transparent;pointer-events:none;opacity:0;transition:opacity 0.2s ease}.np-connector--edge:hover{transform:scale(1.35);border-color:var(--np-accent);box-shadow:0 0 10px var(--np-accent)}.np-connector--edge:hover .np-connector-socket{background:var(--np-accent);transform:scale(1.2)}.np-connector--edge:hover .np-connector-halo{border-color:var(--np-accent);opacity:0.8;animation:np-halo-spin 3s linear infinite}@keyframes np-halo-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.np-node--item:hover{border-color:var(--np-accent);color:var(--text,#0c1830);background:var(--surface-3,#ffffff);box-shadow:0 4px 14px rgba(0,0,0,0.12)}.np-node--item.is-on{background:var(--np-accent-bg);border-color:var(--np-accent);color:var(--np-accent);font-weight:700;box-shadow:0 0 14px var(--np-accent-glow),0 2px 8px rgba(0,0,0,0.1)}.np-node--item.is-on .np-connector--edge{border-color:var(--np-accent);background:var(--np-accent);box-shadow:0 0 8px var(--np-accent)}.np-node--item.is-on .np-connector-socket{background:#ffffff}.np-node--item.is-magnetic-snap{border-color:var(--np-accent);background:var(--surface-3,#ffffff);box-shadow:0 0 20px var(--np-accent),0 0 6px #ffffff;transform:translate(-50%,-50%) scale(1.12) !important}.np-node--item.is-magnetic-snap .np-connector--edge{transform:scale(1.5);border-color:var(--np-accent);background:var(--np-accent);box-shadow:0 0 14px var(--np-accent)}.np-node--item.is-magnetic-snap .np-connector-socket{background:#ffffff}.np-node--new{animation:np-node-pop 0.3s cubic-bezier(0.175,0.885,0.32,1.275) both}@keyframes np-node-pop{0%{transform:translate(-50%,-50%) scale(0.3);opacity:0}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}.np-hint{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);font-family:var(--font-body,-apple-system,sans-serif);font-size:11px;color:var(--text-mute,#64758c);white-space:nowrap;pointer-events:none;letter-spacing:0.02em;opacity:0.85;z-index:3}.np-hint b{color:var(--text,#0c1830)}.np-custom-zone{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--surface-2,rgba(255,255,255,0.95));border-top:1px solid var(--line-2,rgba(20,50,90,0.2));z-index:12}.np-custom-inp{flex:1 1 auto;background:transparent !important;border:none !important;border-bottom:1px dashed var(--line-2,rgba(20,50,90,0.3)) !important;border-radius:0 !important;padding:4px 6px !important;font-family:var(--font-body,-apple-system,sans-serif) !important;font-size:11.5px !important;color:var(--text,#0c1830) !important;outline:none !important;box-shadow:none !important;height:auto !important;transition:border-color 0.2s ease !important}.np-custom-inp::placeholder{color:var(--text-mute,#64758c);font-style:italic;font-size:11px}.np-custom-inp:focus{border-bottom-color:var(--np-accent) !important}.np-custom-btn{width:24px;height:24px;border-radius:50%;background:var(--np-accent-bg);border:1px solid var(--np-accent);color:var(--np-accent);font-size:15px;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0;transition:all 0.18s ease;flex-shrink:0}.np-custom-btn:hover{background:var(--np-accent);color:#fff;box-shadow:0 0 10px var(--np-accent-glow);transform:scale(1.08)}.np-section{display:grid;gap:0;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}.np-section-title{font-family:var(--font-body,-apple-system,sans-serif);font-size:11.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text);padding:9px 14px 8px;border-bottom:1px solid var(--line);background:rgba(0,0,0,0.02);margin:0;display:flex;align-items:center;justify-content:space-between}@media (max-width:760px){.np-root{height:320px}.np-hint{display:none}.np-btn-text{font-size:10px}}.toast-root{position:fixed;left:50%;bottom:calc(var(--statusbar-h) + 16px);transform:translateX(-50%);z-index:90;display:grid;gap:8px;justify-items:center;pointer-events:none;width:min(420px,calc(100vw - 32px))}.toast{--toast-color:var(--cyan);position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:1px solid color-mix(in srgb,var(--toast-color) 40%,transparent);border-left:3px solid var(--toast-color);border-radius:var(--radius-sm);background:rgba(6,10,20,.94);box-shadow:var(--shadow-panel),0 0 22px color-mix(in srgb,var(--toast-color) 18%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:12.5px;color:var(--text);pointer-events:auto;animation:toastin .34s var(--ease-out);overflow:hidden}.toast.is-out{animation:toastout .3s var(--ease) forwards}.toast__icon{flex:0 0 auto;font-family:var(--font-mono);font-size:10px;color:var(--toast-color);text-shadow:0 0 8px var(--toast-color)}.toast__text{flex:1 1 auto}.toast__text b{color:var(--toast-color)}.toast__bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--toast-color);transform-origin:left;animation:toastbar 3.2s linear forwards}.toast--ok{--toast-color:var(--lime)}.toast--warn{--toast-color:var(--amber)}.toast--error{--toast-color:var(--red)}.toast--info{--toast-color:var(--cyan)}.toast--magenta{--toast-color:var(--magenta)}.loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 600px at 50% 40%,rgba(0,234,255,.09),transparent 65%),linear-gradient(180deg,#03040a,#05070f 60%,#020306);transition:opacity var(--t-slow) var(--ease),visibility var(--t-slow)}.loader::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0 1px,transparent 1px 3px)}.loader.is-done{opacity:0;visibility:hidden}.loader__inner{position:relative;z-index:2;width:min(560px,100%);display:grid;justify-items:center;gap:12px;text-align:center}.loader__mark{width:132px;height:132px}.loader__mark svg{width:100%;height:100%;overflow:visible}.loader__hex{stroke:var(--cyan);stroke-width:1.5;filter:drop-shadow(0 0 8px rgba(0,234,255,.6));stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.8s var(--ease) forwards,spinslow 24s linear infinite 1.8s;transform-origin:60px 60px}.loader__pen{stroke:var(--magenta);stroke-width:2;stroke-dasharray:240;stroke-dashoffset:240;animation:draw 1.2s var(--ease) .5s forwards;filter:drop-shadow(0 0 8px rgba(255,46,151,.6))}.loader__core{fill:#fff;animation:corepulse 2.2s var(--ease) infinite 1.6s;filter:drop-shadow(0 0 10px var(--cyan))}.loader__title{font-family:var(--font-display);font-size:clamp(24px,5vw,40px);font-weight:900;letter-spacing:.22em;color:#fff;text-shadow:0 0 24px rgba(0,234,255,.55)}.loader__title span{color:var(--cyan);animation:blink 1s steps(2,end) infinite}.loader__sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute)}.loader__lines{width:100%;min-height:108px;max-height:132px;overflow:hidden;margin-top:6px;padding:12px 14px;text-align:left;font-family:var(--font-mono);font-size:10px;line-height:1.65;color:var(--text-dim);border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(0,0,0,.45);box-shadow:inset 0 0 30px rgba(0,234,255,.06)}.loader__lines .ok{color:var(--lime)}.loader__lines .warn{color:var(--amber)}.loader__lines .dim{color:var(--text-mute)}.loader__lines .cursor{color:var(--cyan);animation:blink 1s steps(2,end) infinite}.loader__barwrap{width:100%;height:4px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:4px}.loader__bar{height:100%;width:0%;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--violet),var(--magenta));box-shadow:0 0 14px rgba(0,234,255,.55);transition:width .25s var(--ease)}.loader__meta{width:100%;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;color:var(--cyan)}@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(6vmax,-4vmax,0) scale(1.12)}100%{transform:translate3d(-4vmax,5vmax,0) scale(1.04)}}@keyframes gridpan{from{background-position:0 0,0 0}to{background-position:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size)}}@keyframes grain{0%{transform:translate3d(0,0,0)}33%{transform:translate3d(-2%,1%,0)}66%{transform:translate3d(1%,-2%,0)}100%{transform:translate3d(0,0,0)}}@keyframes flicker{0%,96%,100%{opacity:.5}97%{opacity:.34}98%{opacity:.58}}@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:.25}}@keyframes spinslow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes dashflow{from{stroke-dashoffset:0}to{stroke-dashoffset:-48}}@keyframes scan{0%{top:-30%;opacity:0}20%{opacity:.9}100%{top:110%;opacity:0}}@keyframes nodehit{0%{transform:translate3d(calc(var(--x,0) * 1px - 50%),calc(var(--y,0) * 1px - 50%),0) scale(1)}40%{transform:translate3d(calc(var(--x,0) * 1px - 50%),calc(var(--y,0) * 1px - 50%),0) scale(1.08)}100%{transform:translate3d(calc(var(--x,0) * 1px - 50%),calc(var(--y,0) * 1px - 50%),0) scale(1)}}@keyframes corepulse{0%,100%{filter:brightness(1) drop-shadow(0 0 18px rgba(0,234,255,.28))}50%{filter:brightness(1.18) drop-shadow(0 0 30px rgba(255,46,151,.35))}}@keyframes pulsering{0%{width:10px;height:10px;opacity:.9}100%{width:260px;height:260px;opacity:0}}@keyframes glitch-a{0%{transform:translate(-2px,-1px);clip-path:polygon(0 8%,100% 8%,100% 36%,0 36%)}50%{transform:translate(3px,1px);clip-path:polygon(0 22%,100% 22%,100% 52%,0 52%)}100%{transform:translate(-1px,0);clip-path:polygon(0 6%,100% 6%,100% 30%,0 30%)}}@keyframes glitch-b{0%{transform:translate(2px,1px);clip-path:polygon(0 58%,100% 58%,100% 92%,0 92%)}50%{transform:translate(-3px,-1px);clip-path:polygon(0 66%,100% 66%,100% 88%,0 88%)}100%{transform:translate(1px,0);clip-path:polygon(0 54%,100% 54%,100% 84%,0 84%)}}@keyframes fadeSwap{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}@keyframes cardin{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes toastin{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes toastout{to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes toastbar{from{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes loaderfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.bg__glow,.bg__grid,.bg__noise,.bg__scanlines,.brand__mark,.hub__ring,.core,.loader__hex,.loader__core,.edge--tag,.loader__title span,.led,.graph__hint-dot{animation:none !important}.loader__hex,.loader__pen{stroke-dashoffset:0}}@media (max-width:1240px){:root{--panel-w:240px;--node-w:190px;--hub-size:104px;--core-size:122px}.topbar__stats{display:none}}@media (max-width:1024px){:root{--panel-w:226px;--node-w:178px}.brand__sub{display:none}.graph__minimap{width:158px;height:112px}}@media (max-width:860px){:root{--topbar-h:56px;--node-w:172px}body{font-size:12.5px}.workspace{grid-template-columns:1fr}.panel{position:fixed;top:var(--topbar-h);bottom:var(--statusbar-h);left:0;width:min(300px,84vw);z-index:30;transform:translateX(-102%);transition:transform var(--t) var(--ease);box-shadow:var(--shadow-panel)}body.is-panel-open .panel{transform:none}.topbar__burger{display:inline-flex}.stage-area{border-left:0}.gallery__head{left:0}.topbar{grid-template-columns:auto 1fr auto;gap:10px}.topbar__nav{justify-self:end}.navtab{padding:7px 12px}.searchbox{width:40px;padding:0 12px}.searchbox input,.searchbox__kbd,.searchbox__count{display:none}.searchbox.is-open{position:absolute;top:8px;left:12px;right:12px;width:auto;z-index:40;background:rgba(4,7,14,.98)}.searchbox.is-open input{display:block}.searchbox.is-open .searchbox__kbd{display:none}.toolbar{top:10px}.graph__legend{display:none}.graph__minimap{display:none}.graph__hint{font-size:10px;padding:6px 10px}.modal-root{padding:0}.modal{width:100%;max-height:100%;height:100%;border-radius:0;border-left:0;border-right:0}.modal__head{padding:14px 14px 12px}.modal__body{padding:14px}.modal__foot{padding:10px 12px;flex-wrap:wrap}.gallery{padding:70px 12px 30px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.gallery__head{padding:8px 12px;font-size:10px;gap:8px}.gallery__collections{margin:18px auto;padding:18px}.gallery__collection-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery__collection{font-size:14px}}@media (max-width:560px){:root{--node-w:158px;--hub-size:92px;--core-size:106px}.gallery__collection-list{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery__collection{font-size:12px}.brand__name{font-size:12.5px;letter-spacing:.1em}.brand__mark{width:28px;height:28px}.navtab{font-size:10px;letter-spacing:.12em;padding:6px 9px;gap:5px}.navtab__dot{display:none}.statusbar{gap:10px;font-size:10px}.statusbar__seg:nth-child(n + 4):not(.statusbar__seg--right){display:none}.toolbar{gap:2px;padding:4px}.toolbar__group{padding:0 3px}.toolbtn{height:28px;padding:0 8px;font-size:10px}.gallery{grid-template-columns:1fr}.modal__foot{gap:6px}.modal__foot .btn{padding:7px 10px;font-size:10px}.meta__grid{grid-template-columns:1fr}.viewer__hud{font-size:10px}.graph__hint{display:none}}@media (hover:none){.cursor-glow{display:none}.node__fav{opacity:1;transform:none}}@media print{.bg,.topbar,.panel,.toolbar,.statusbar,.modal__foot,.toast-root,.loader{display:none !important}body{background:#fff;color:#000;overflow:visible}.modal-root{position:static;visibility:visible;pointer-events:auto;padding:0}.modal{box-shadow:none;border:0;max-height:none;background:#fff;color:#000}.modal__backdrop{display:none}.meta__text,.modal__sub{color:#333}}html[data-theme="light"]{--bg-0:#eef2f8;--bg-1:#e7edf6;--bg-2:#f5f8fc;--bg-3:#dbe3ee;--bg-4:#c9d5e6;--surface:rgba(255,255,255,.74);--surface-2:rgba(255,255,255,.9);--surface-3:#ffffff;--glass:rgba(255,255,255,.62);--line:rgba(25,55,100,.16);--line-2:rgba(25,55,100,.28);--line-strong:rgba(0,140,190,.55);--text:#0c1830;--text-dim:#34475f;--text-mute:#64758c;--cyan:#0091b8;--cyan-soft:#006d8a;--magenta:#cf1f7d;--violet:#8a3fd1;--lime:#2c9e43;--amber:#b87900;--orange:#cf5c22;--red:#d43144;--grid-color:rgba(0,120,160,.09);--glow-cyan:0 0 5px rgba(0,145,184,.5),0 0 16px rgba(0,145,184,.2);--glow-magenta:0 0 5px rgba(207,31,125,.5),0 0 16px rgba(207,31,125,.18);--shadow-panel:0 16px 40px rgba(30,50,90,.2);--shadow-node:0 10px 26px rgba(30,50,90,.15),0 0 0 1px rgba(30,60,110,.08) inset}html[data-theme="light"] .bg{background:radial-gradient(1200px 700px at 78% -10%,rgba(207,31,125,.1),transparent 60%),radial-gradient(1000px 700px at 8% 110%,rgba(0,145,184,.12),transparent 62%),linear-gradient(180deg,#eef2f8,#e6edf6 45%,#e0e8f2 100%)}html[data-theme="light"] .bg__glow{opacity:.16}html[data-theme="light"] .bg__vignette{background:radial-gradient(ellipse 120% 90% at 50% 45%,transparent 50%,rgba(20,35,60,.12) 92%,rgba(20,35,60,.28) 100%)}html[data-theme="light"] .bg__noise{opacity:.05}html[data-theme="light"] .bg__scanlines{opacity:.22}html[data-theme="light"] .stage-area{background:linear-gradient(180deg,rgba(240,245,252,.55),rgba(230,238,248,.85))}html[data-theme="light"] .statusbar{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(235,241,248,.96))}html[data-theme="light"] .topbar{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(240,245,251,.84))}html[data-theme="light"] .topbar__nav{background:rgba(255,255,255,.6)}html[data-theme="light"] .navtab.is-active{color:#fff;background:linear-gradient(135deg,var(--cyan),var(--violet))}html[data-theme="light"] .navtab.is-active .navtab__dot{background:#fff}html[data-theme="light"] .searchbox{background:rgba(255,255,255,.8)}html[data-theme="light"] .themeswitch{background:rgba(255,255,255,.78)}html[data-theme="light"] .panel{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(240,245,251,.95))}html[data-theme="light"] .catitem{background:rgba(30,60,110,.03)}html[data-theme="light"] .catitem:hover{background:rgba(30,60,110,.08)}html[data-theme="light"] .catitem.is-active{color:#0c1830;background:color-mix(in srgb,var(--cat-color) 14%,#ffffff)}html[data-theme="light"] .catitem__label{color:color-mix(in srgb,var(--cat-color) 60%,#000)}html[data-theme="light"] .tag{background:rgba(30,60,110,.05);color:var(--text-dim)}html[data-theme="light"] .tag.is-active{color:#fff;background:var(--cyan)}html[data-theme="light"] .switch__track{background:rgba(30,60,110,.14)}html[data-theme="light"] .panel__foot{background:rgba(30,60,110,.05)}html[data-theme="light"] .readout dd{color:var(--cyan);text-shadow:none}html[data-theme="light"] .readout dd.is-hot{color:var(--magenta);text-shadow:none}html[data-theme="light"] .toolbar{background:rgba(255,255,255,.86);border-color:var(--line)}html[data-theme="light"] .toolbtn:hover{background:rgba(0,145,184,.1)}html[data-theme="light"] .toolbtn.is-on{color:#fff;background:linear-gradient(135deg,var(--cyan),var(--violet))}html[data-theme="light"] .graph__legend{background:rgba(255,255,255,.82)}html[data-theme="light"] .graph__minimap{background:rgba(255,255,255,.88)}html[data-theme="light"] .graph__hint{background:rgba(255,255,255,.82)}html[data-theme="light"] .graph__tooltip{background:rgba(255,255,255,.97)}html[data-theme="light"] .graph__empty{background:rgba(245,248,252,.6)}html[data-theme="light"] .node__frame{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(244,248,252,.97))}html[data-theme="light"] .node__title{color:#10203a;text-shadow:none}html[data-theme="light"] .node__tech{color:var(--text-mute)}html[data-theme="light"] .node__id{color:color-mix(in srgb,var(--node-accent) 60%,#000)}html[data-theme="light"] .node__tag{color:color-mix(in srgb,var(--node-accent) 55%,#000);background:color-mix(in srgb,var(--node-accent) 14%,#fff)}html[data-theme="light"] .node__fav{background:rgba(255,255,255,.85);border-color:var(--line);color:var(--text-mute)}html[data-theme="light"] .hub{background:linear-gradient(160deg,color-mix(in srgb,var(--node-accent) 30%,#ffffff),rgba(250,252,255,.98));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--node-accent) 60%,transparent)}html[data-theme="light"] .hub__label{color:#10203a}html[data-theme="light"] .hub__count{color:color-mix(in srgb,var(--node-accent) 55%,#000)}html[data-theme="light"] .core{background:linear-gradient(150deg,rgba(0,145,184,.22),rgba(207,31,125,.2) 60%,rgba(255,255,255,.92));box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 0 30px rgba(0,145,184,.15)}html[data-theme="light"] .core__label{color:#10203a;text-shadow:none}html[data-theme="light"] .core__sub{color:#3a4a60}html[data-theme="light"] .modal__backdrop{background:radial-gradient(ellipse at 50% 40%,rgba(235,240,248,.75),rgba(214,224,238,.94))}html[data-theme="light"] .modal{background:linear-gradient(180deg,#ffffff,#f4f8fc);border-color:rgba(25,55,100,.18);box-shadow:0 16px 40px rgba(30,50,90,.2)}html[data-theme="light"] .modal__head{border-bottom-color:rgba(25,55,100,.12)}html[data-theme="light"] .modal__title{color:#10203a;text-shadow:none}html[data-theme="light"] .modal__close{color:#0c1830;background:rgba(25,55,100,.05);border-color:rgba(25,55,100,.2)}html[data-theme="light"] .modal__close:hover{background:rgba(25,55,100,.14);color:#0c1830}html[data-theme="light"] .viewer__stage{background:#ffffff;border-color:rgba(25,55,100,.18);box-shadow:0 8px 24px rgba(25,55,100,.08)}html[data-theme="light"] .viewer__hud span{background:rgba(255,255,255,.95);border-color:rgba(25,55,100,.18);color:#34475f}html[data-theme="light"] .meta__materials-card{background:linear-gradient(145deg,#ffffff,#f0f6fc);border-color:rgba(0,145,184,.35);box-shadow:0 4px 16px rgba(25,55,100,.06),inset 0 0 16px rgba(0,145,184,.03)}html[data-theme="light"] .meta__materials-header{border-bottom-color:rgba(0,145,184,.2)}html[data-theme="light"] .meta__materials-title{color:var(--cyan)}html[data-theme="light"] .meta__materials-title::before{color:var(--cyan)}html[data-theme="light"] .meta__materials-row{border-bottom-color:rgba(25,55,100,.1)}html[data-theme="light"] .meta__materials-label{color:var(--text-mute)}html[data-theme="light"] .meta__materials-value{color:var(--text)}html[data-theme="light"] .meta__mat-chip{border-color:rgba(25,55,100,0.15);background:rgba(25,55,100,0.04)}html[data-theme="light"] .meta__mat-chip-label{color:#64748b}html[data-theme="light"] .meta__mat-chip-val{color:#0f172a}html[data-theme="light"] .meta__mat-chip--cyan{background:rgba(0,160,200,0.08);border-color:rgba(0,160,200,0.28)}html[data-theme="light"] .meta__mat-chip--violet{background:rgba(124,58,237,0.08);border-color:rgba(124,58,237,0.25)}html[data-theme="light"] .meta__mat-chip--amber{background:rgba(217,119,6,0.08);border-color:rgba(217,119,6,0.28)}html[data-theme="light"] .meta__mat-chip--teal{background:rgba(13,148,136,0.08);border-color:rgba(13,148,136,0.28)}html[data-theme="light"] .meta__mat-chip--item{background:rgba(0,145,184,0.06);border-color:rgba(0,145,184,0.25);color:#0284c7}html[data-theme="light"] .meta__grid{border-color:rgba(25,55,100,.18);background:rgba(25,55,100,.1)}html[data-theme="light"] .meta__cell{background:#ffffff}html[data-theme="light"] .meta__cell dt{color:var(--text-mute)}html[data-theme="light"] .meta__cell dd{color:#10203a}html[data-theme="light"] .meta__cell dd.hot{color:var(--cyan)}html[data-theme="light"] .meta__imginfo{background:#ffffff;border-color:rgba(25,55,100,.18)}html[data-theme="light"] .meta__imginfo h3{color:var(--cyan)}html[data-theme="light"] .meta__img-row{border-bottom-color:rgba(25,55,100,.08)}html[data-theme="light"] .meta__img-row dt{color:var(--text-mute)}html[data-theme="light"] .meta__img-row dd{color:#10203a}html[data-theme="light"] .meta__story{background:rgba(0,145,184,.06);border-left-color:var(--cyan)}html[data-theme="light"] .meta__story h3{color:var(--cyan)}html[data-theme="light"] .meta__story p{color:var(--text-dim)}html[data-theme="light"] .meta__palette-block h3,html[data-theme="light"] .meta__tags-block h3,html[data-theme="light"] .meta__related-block h3{color:var(--text-mute)}html[data-theme="light"] .palette{border-color:rgba(25,55,100,.18)}html[data-theme="light"] .meta__tags-block .tag{background:rgba(25,55,100,.06);border-color:rgba(25,55,100,.16);color:#0c1830}html[data-theme="light"] .meta__tags-block .tag:hover{background:rgba(0,145,184,.12);color:var(--cyan)}html[data-theme="light"] .related__card{background:#ffffff;border-color:rgba(25,55,100,.18);color:#10203a}html[data-theme="light"] .related__card:hover{border-color:var(--cyan);background:rgba(0,145,184,.06)}html[data-theme="light"] .related__title{color:#10203a}html[data-theme="light"] .related__cat{color:color-mix(in srgb,var(--cat-color) 55%,#000)}html[data-theme="light"] .modal__foot{background:rgba(25,55,100,.04);border-top-color:rgba(25,55,100,.12)}html[data-theme="light"] .modal__counter{color:var(--text-mute)}html[data-theme="light"] .modal__foot .btn--ghost{color:#0c1830 !important;border-color:rgba(25,55,100,.25) !important;background:#ffffff !important}html[data-theme="light"] .modal__foot .btn--ghost:hover{background:#eef4fb !important}html[data-theme="light"] .gallery__head{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,248,252,.82))}html[data-theme="light"] .card{background:linear-gradient(180deg,#ffffff,#f1f5fb)}html[data-theme="light"] .card__title{color:#10203a}html[data-theme="light"] .card__tech{color:var(--text-mute)}html[data-theme="light"] .card__badge{background:rgba(255,255,255,.9);color:color-mix(in srgb,var(--cat-color) 55%,#000)}html[data-theme="light"] .card__fav{background:rgba(255,255,255,.88);border-color:var(--line);color:var(--text-mute)}html[data-theme="light"] .card__foot b{color:color-mix(in srgb,var(--cat-color) 55%,#000)}html[data-theme="light"] .gallery__sort select{background:#ffffff}html[data-theme="light"] .about__card{background:linear-gradient(180deg,#ffffff,#f3f7fc)}html[data-theme="light"] .about__title{color:#10203a;text-shadow:none}html[data-theme="light"] .about__card h2{color:var(--cyan)}html[data-theme="light"] .about__links a{color:#00708a}html[data-theme="light"] .about__links a:hover{color:#0c1830;border-color:#0c1830}html[data-theme="light"] .toast{background:rgba(255,255,255,.97)}html[data-theme="light"] .editor{background:linear-gradient(180deg,#ffffff,#f4f8fc)}html[data-theme="light"] .editor__title{color:#10203a}html[data-theme="light"] .editor__lang{background:rgba(30,60,110,.03)}html[data-theme="light"] .editor__foot{background:rgba(30,60,110,.05)}html[data-theme="light"] .editor input,html[data-theme="light"] .editor select,html[data-theme="light"] .editor textarea{background:#ffffff;color:#10203a}html[data-theme="light"] .editor__img-preview-box{background:linear-gradient(135deg,#ffffff,#f0f6fc);border-color:rgba(0,145,184,0.35);box-shadow:0 4px 16px rgba(25,55,100,0.06)}html[data-theme="light"] .editor__img-preview{background:#ffffff;border-color:rgba(25,55,100,0.2)}html[data-theme="light"] .editor__img-meta-head{border-bottom-color:rgba(25,55,100,0.1)}html[data-theme="light"] .editor__img-badge{color:var(--cyan);background:rgba(0,145,184,0.1);border-color:rgba(0,145,184,0.3)}html[data-theme="light"] .editor__img-status-ok{color:#1b8a4a}html[data-theme="light"] .editor__img-meta-key{color:var(--text-mute)}html[data-theme="light"] .editor__img-meta-val{color:var(--text)}html[data-theme="light"] .editor__img-meta-val--mono{color:var(--cyan)}html[data-theme="light"] .editor__section-box{background:#ffffff;border-color:rgba(25,55,100,0.16);border-left-color:var(--cyan)}html[data-theme="light"] .editor__section-title{color:var(--cyan);background:rgba(0,145,184,0.05);border-bottom-color:rgba(25,55,100,0.12)}html[data-theme="light"] .tech-picker{background:#ffffff;border-color:rgba(25,55,100,0.2)}html[data-theme="light"] .tech-picker__custom-wrap{background:#ffffff;border-color:rgba(25,55,100,0.22)}html[data-theme="light"] .tech-chip{color:#34475f;background:rgba(25,55,100,0.05);border-color:rgba(25,55,100,0.16)}html[data-theme="light"] .tech-chip:hover{color:#0c1830;background:rgba(0,145,184,0.08);border-color:var(--cyan)}html[data-theme="light"] .tech-chip.is-on{color:#ffffff;background:var(--cyan);border-color:#007799;box-shadow:0 0 8px rgba(0,145,184,0.25)}html[data-theme="light"] .mat-picker__col{background:transparent}html[data-theme="light"] .mat-picker__col-title,html[data-theme="light"] .mat-picker__sub-title{color:#0c1830}html[data-theme="light"] .editor__swatch-item{background:#ffffff;border-color:rgba(25,55,100,0.2)}html[data-theme="light"] .editor__preset-btn{background:#ffffff;border-color:rgba(25,55,100,0.22);color:#0c1830}html[data-theme="light"] .confirm{background:linear-gradient(180deg,#ffffff,#f4f8fc)}html[data-theme="light"] .confirm__body{color:#34475f}html[data-theme="light"] .loader{background:radial-gradient(900px 600px at 50% 40%,rgba(0,145,184,.08),transparent 65%),linear-gradient(180deg,#ffffff,#eef3f9 60%,#e3eaf4)}html[data-theme="light"] .loader__title{color:#10203a}html[data-theme="light"] .loader__sub{color:var(--text-mute)}html[data-theme="light"] .loader__lines{background:rgba(30,60,110,.05)}html[data-theme="light"] .iconbtn{background:rgba(30,60,110,.04)}html[data-theme="light"] .chip{background:rgba(30,60,110,.04)}html[data-theme="light"] .btn--ghost{background:rgba(30,60,110,.04)}html[data-theme="light"] .btn--ghost:hover{background:rgba(30,60,110,.1);color:#0c1830}html[data-theme="light"]::selection{background:rgba(0,145,184,.22);color:#0c1830}html[data-theme="light"] .btn{color:#0c1830;background:rgba(25,55,100,0.08);border-color:rgba(25,55,100,0.2)}html[data-theme="light"] .btn:hover{background:rgba(25,55,100,0.15);color:#000;border-color:rgba(25,55,100,0.35)}html[data-theme="light"] .btn--accent{color:#ffffff;background:#0091b8;border-color:#007799;box-shadow:0 4px 14px rgba(0,145,184,0.35)}html[data-theme="light"] .btn--accent:hover{background:#007799;border-color:#005f7a;color:#ffffff;box-shadow:0 4px 18px rgba(0,145,184,0.45)}html[data-theme="light"] .btn--ghost{color:#0c1830;background:transparent;border-color:rgba(25,55,100,0.22)}html[data-theme="light"] .btn--ghost:hover{color:#007799;background:rgba(0,145,184,0.08);border-color:#0091b8}html[data-theme="light"] .btn--ghost.is-on{color:#007799;background:rgba(0,145,184,0.12);border-color:#0091b8}html[data-theme="light"] .btn--magenta{color:#ffffff;background:#cf1f7d;border-color:#aa1664;box-shadow:0 4px 14px rgba(207,31,125,0.3)}html[data-theme="light"] .btn--magenta:hover{background:#aa1664;color:#ffffff;box-shadow:0 4px 18px rgba(207,31,125,0.45)}html[data-theme="light"] .btn--danger{color:#ffffff;background:#d43144;border-color:#b02434}html[data-theme="light"] .btn--danger:hover{background:#b02434;color:#ffffff}html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{color:#0c1830;background:#ffffff;border-color:rgba(25,55,100,0.25)}html[data-theme="light"] input:focus,html[data-theme="light"] select:focus,html[data-theme="light"] textarea:focus{border-color:#0091b8;box-shadow:0 0 10px rgba(0,145,184,0.25)}html[data-theme="light"] .iconbtn{color:#0c1830;background:rgba(25,55,100,0.05);border-color:rgba(25,55,100,0.18)}html[data-theme="light"] .iconbtn:hover{color:#007799;background:rgba(0,145,184,0.1);border-color:#0091b8}html[data-theme="light"] .card{background:#ffffff;border-color:#c9d5e6;box-shadow:0 8px 24px rgba(30,50,90,0.08)}html[data-theme="light"] .card:hover{border-color:rgba(0,160,220,0.45);box-shadow:0 16px 36px rgba(30,50,90,0.16),0 0 20px color-mix(in srgb,var(--cat-color) 25%,transparent)}html[data-theme="light"] .card__info{background:#ffffff}html[data-theme="light"] .card__title{color:#0c1830}html[data-theme="light"] .card__tech{color:#34475f}html[data-theme="light"] .card__reflect,html[data-theme="light"] .node__reflect{mix-blend-mode:soft-light;background:radial-gradient( circle 240px at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.85) 0%,rgba(255,255,255,0.3) 30%,transparent 65% ),linear-gradient( 115deg,transparent 18%,rgba(255,255,255,0.15) 32%,rgba(255,255,255,0.55) 50%,rgba(255,255,255,0.15) 68%,transparent 82% )}html[data-theme="light"] .admin-modal__backdrop{background:rgba(20,35,60,0.65);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}html[data-theme="light"] .admin-modal__dialog{background:linear-gradient(135deg,#ffffff,#f4f8fc);border-color:rgba(0,145,184,0.35);box-shadow:0 20px 60px rgba(25,55,100,0.25),0 0 30px rgba(0,145,184,0.15)}html[data-theme="light"] .admin-modal__title{color:#0c1830;text-shadow:none}html[data-theme="light"] .admin-modal__sub{color:#475569}html[data-theme="light"] .admin-modal__input{background:#ffffff;color:#0c1830;border-color:rgba(25,55,100,0.25)}html[data-theme="light"] .admin-modal__input:focus{border-color:var(--cyan);box-shadow:0 0 14px rgba(0,145,184,0.3)}html[data-theme="light"] .admin-modal__badge{color:var(--cyan);background:rgba(0,145,184,0.1);border-color:rgba(0,145,184,0.3)}html[data-theme="light"] .admin-modal__badge.is-active{color:#b87900;background:rgba(184,121,0,0.1);border-color:rgba(184,121,0,0.35)}html[data-theme="light"] .viewer__stage{background:#edf2f8;border-color:rgba(25,55,100,0.2);box-shadow:inset 0 2px 8px rgba(25,55,100,0.08)}html[data-theme="light"] .viewer__dots-nav{top:14px;left:14px;transform:none;flex-direction:column;align-items:flex-start}html[data-theme="light"] .viewer__dots-nav .viewer__dot-btn{background:rgba(255,255,255,0.94);border-color:rgba(25,55,100,0.24);box-shadow:0 4px 14px rgba(30,50,90,0.15)}html[data-theme="light"] .viewer__dots-nav .viewer__dot-circle{background:rgba(25,55,100,0.25);border-color:rgba(25,55,100,0.6)}html[data-theme="light"] .viewer__dots-nav .viewer__dot-label{color:#0c1830}html[data-theme="light"] .viewer__tabs-bar{border-bottom-color:rgba(25,55,100,0.18)}html[data-theme="light"] .viewer__tabs-nav{background:transparent;border:none;box-shadow:none}html[data-theme="light"] .viewer__tab,html[data-theme="light"] .viewer__tab-btn{background:rgba(235,242,250,0.85);border-color:rgba(25,55,100,0.15);border-bottom-color:rgba(25,55,100,0.18);color:#64748b}html[data-theme="light"] .viewer__tab:hover,html[data-theme="light"] .viewer__tab-btn:hover{color:#0f172a;background:#f1f5f9;border-color:rgba(0,160,210,0.3) rgba(0,160,210,0.3) rgba(25,55,100,0.18)}html[data-theme="light"] .viewer__tab.is-active,html[data-theme="light"] .viewer__tab-btn.is-active{color:#0284c7;background:#ffffff;border-color:rgba(0,160,210,0.45);border-top:2.5px solid #0284c7;border-bottom:1px solid #ffffff;box-shadow:0 -2px 10px rgba(0,160,210,0.16)}html[data-theme="light"] .viewer__tab.is-active .viewer__tab-icon,html[data-theme="light"] .viewer__tab-btn.is-active .viewer__tab-icon{color:#0284c7}html[data-theme="light"] .viewer__tab-pill{background:rgba(0,160,210,0.1);border-color:rgba(0,160,210,0.25);color:#0284c7}html[data-theme="light"] .viewer__tab.is-active .viewer__tab-pill,html[data-theme="light"] .viewer__tab-btn.is-active .viewer__tab-pill{background:#0284c7;color:#ffffff;border-color:#0284c7}html[data-theme="light"] .palette__sw.is-active{box-shadow:inset 0 0 0 2px #ffffff,0 0 12px rgba(2,132,199,0.6)}html[data-theme="light"] .viewer__tone-badge{background:rgba(255,255,255,0.94);border-color:rgba(0,160,210,0.45);box-shadow:0 4px 18px rgba(25,55,100,0.15)}html[data-theme="light"] .viewer__tone-text{color:#0f172a}html[data-theme="light"] .viewer__tone-text strong{color:#0284c7}html[data-theme="light"] .viewer__tone-reset{background:rgba(25,55,100,0.08);border-color:rgba(25,55,100,0.18);color:#334155}html[data-theme="light"] .viewer__tone-reset:hover{background:rgba(220,38,38,0.12);border-color:rgba(220,38,38,0.4);color:#dc2626;box-shadow:0 0 8px rgba(220,38,38,0.3)}html[data-theme="light"] .viewer__anti-capture{background:#000000 !important}html[data-theme="light"] .viewer__materials-fallback{background:linear-gradient(135deg,#ffffff,#f0f6fc);border-color:rgba(0,145,184,0.35);box-shadow:0 4px 16px rgba(25,55,100,0.06)}html[data-theme="light"] .viewer__materials-fallback-title{color:var(--cyan)}html[data-theme="light"] .viewer__materials-fallback-desc{color:#475569}html[data-theme="light"] .viewer__materials-fallback-pill{background:rgba(25,55,100,0.06);border-color:rgba(25,55,100,0.18);color:#0c1830}html[data-theme="light"] .viewer__view--materials{background:#f8fafc}html[data-theme="light"] .mat-board__hero{background:linear-gradient(145deg,#ffffff,#f0f7ff);border-color:rgba(0,145,184,0.25);box-shadow:0 4px 16px rgba(25,55,100,0.06)}html[data-theme="light"] .mat-board__badge{background:rgba(0,145,184,0.08);border-color:rgba(0,145,184,0.28);color:var(--cyan)}html[data-theme="light"] .mat-board__title{color:#0f172a}html[data-theme="light"] .mat-board__desc{color:#475569}html[data-theme="light"] .mat-section__header{background:#ffffff;border-color:rgba(25,55,100,0.12)}html[data-theme="light"] .mat-section__title{color:#334155}html[data-theme="light"] .mat-section__count{background:rgba(0,145,184,0.1);border-color:rgba(0,145,184,0.25);color:var(--cyan)}html[data-theme="light"] .mat-section__tags{background:rgba(255,255,255,0.7);border-color:rgba(25,55,100,0.1)}html[data-theme="light"] .mat-tag{box-shadow:0 1px 3px rgba(25,55,100,0.05)}html[data-theme="light"] .mat-tag--cyan{background:rgba(0,145,184,0.08);border-color:rgba(0,145,184,0.28);color:#0369a1}html[data-theme="light"] .mat-tag--violet{background:rgba(124,58,237,0.08);border-color:rgba(124,58,237,0.25);color:#6d28d9}html[data-theme="light"] .mat-tag--amber{background:rgba(217,119,6,0.08);border-color:rgba(217,119,6,0.28);color:#b45309}html[data-theme="light"] .mat-tag--emerald{background:rgba(16,185,129,0.08);border-color:rgba(16,185,129,0.28);color:#047857}html[data-theme="light"] .mat-tag--teal{background:rgba(13,148,136,0.08);border-color:rgba(13,148,136,0.28);color:#0f766e}html[data-theme="light"] .mat-tag--blue{background:rgba(37,99,235,0.08);border-color:rgba(37,99,235,0.28);color:#1d4ed8}html[data-theme="light"] .mat-tag--slate{background:rgba(100,116,139,0.08);border-color:rgba(100,116,139,0.25);color:#334155}html[data-theme="light"] .mat-tag--graphite{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#94a3b8;color:#1e293b}html[data-theme="light"] .mat-tag--charcoal{background:#1e293b;border-color:#0f172a;color:#ffffff}html[data-theme="light"] .mat-tag--ink{background:rgba(2,132,199,0.1);border-color:rgba(2,132,199,0.35);color:#0369a1}html[data-theme="light"] .mat-tag--marker{background:rgba(234,88,12,0.08);border-color:rgba(234,88,12,0.3);color:#c2410c}html[data-theme="light"] .mat-tag--purple{background:rgba(147,51,234,0.08);border-color:rgba(147,51,234,0.3);color:#7e22ce}html[data-theme="light"] .mat-tag--mono{background:#ffffff;border-color:rgba(25,55,100,0.18);color:#475569}html[data-theme="light"] .mat-tag--swatch{background:#ffffff;border-color:rgba(25,55,100,0.18);color:#334155}html[data-theme="light"] .mat-tag--pill{background:#ffffff;border-color:rgba(25,55,100,0.15);color:#64748b}html[data-theme="light"] .viewer__tool-btn{background:rgba(255,255,255,0.88);border-color:rgba(30,60,110,0.2);color:#1e293b;box-shadow:0 3px 10px rgba(30,50,90,0.08)}html[data-theme="light"] .viewer__tool-btn:hover,html[data-theme="light"] .viewer__tool-btn:focus-visible{background:#ffffff;border-color:var(--cyan);color:#0c1830;box-shadow:0 6px 18px rgba(30,50,90,0.16),0 0 12px rgba(0,145,184,0.25)}html[data-theme="light"] .viewer__tool-btn:hover .viewer__tool-icon{color:var(--cyan)}html[data-theme="light"] .viewer__tool-btn--fav.is-on{color:#b45309;border-color:rgba(217,119,6,0.45);background:rgba(254,243,199,0.85);box-shadow:0 0 12px rgba(217,119,6,0.2)}html[data-theme="light"] .viewer__tool-btn--fav:hover{border-color:#d97706;color:#b45309}html[data-theme="light"] .viewer__tool-btn .viewer__tool-label{background:rgba(255,255,255,0.96);color:#0c1830;border-color:rgba(0,145,184,0.35);box-shadow:0 4px 14px rgba(30,50,90,0.16)}html[data-theme="light"] .viewer__stage-admin-btn{background:rgba(255,255,255,0.9);border-color:rgba(30,60,110,0.22);color:#334155;box-shadow:0 3px 10px rgba(30,50,90,0.12)}html[data-theme="light"] .viewer__stage-admin-btn:hover{background:#ffffff;border-color:var(--cyan);color:var(--cyan)}html[data-theme="light"] .viewer__stage-admin-btn--delete:hover{border-color:#ef4444;color:#ef4444}html[data-theme="light"] .viewer__materials-admin-form{background:rgba(255,255,255,0.96);border-color:#d97706;box-shadow:0 8px 24px rgba(30,50,90,0.18)}html[data-theme="light"] .viewer__materials-admin-input{background:#ffffff;color:#0c1830;border-color:rgba(30,60,110,0.25)}html[data-theme="light"] .meta__materials-admin-edit{color:#b45309;background:rgba(254,243,199,0.9);border-color:rgba(217,119,6,0.4)}html[data-theme="light"] .meta__materials-admin-edit:hover{background:#fef3c7;border-color:#d97706;box-shadow:0 0 10px rgba(217,119,6,0.25)}html[data-theme="light"] .hmp-node-chip{background:rgba(30,60,110,0.05);border-color:rgba(30,60,110,0.18);color:#1e3a66}html[data-theme="light"] .hmp-node-chip:hover{background:rgba(0,145,184,0.10);border-color:var(--cyan);color:var(--cyan-soft)}html[data-theme="light"] .hmp-node-chip.is-on{background:rgba(0,145,184,0.15);border-color:var(--cyan);color:var(--cyan)}html[data-theme="light"] .hmp-node-chip.is-expanded{background:linear-gradient(135deg,rgba(0,145,184,0.16),rgba(207,31,125,0.10));border-color:var(--cyan);color:var(--cyan-soft)}html[data-theme="light"] .hmp-level2-container{background:linear-gradient(135deg,rgba(0,145,184,0.05),rgba(207,31,125,0.04));border-color:rgba(0,145,184,0.25)}html[data-theme="light"] .hmp-level2-title{color:var(--cyan-soft)}html[data-theme="light"] .hmp-level2-hint{color:var(--text-mute)}html[data-theme="light"] .hmp-subnode-chip{background:#ffffff;border-color:rgba(30,60,110,0.18);color:var(--text)}html[data-theme="light"] .hmp-subnode-chip:hover{background:rgba(0,145,184,0.08);border-color:var(--cyan)}html[data-theme="light"] .hmp-subnode-chip.is-on{background:rgba(0,145,184,0.14);border-color:var(--cyan);color:var(--cyan-soft)}html[data-theme="light"] .hmp-level3-container{background:linear-gradient(135deg,rgba(207,31,125,0.05),rgba(184,121,0,0.03));border-color:rgba(207,31,125,0.25)}html[data-theme="light"] .hmp-level3-title{color:var(--magenta)}html[data-theme="light"] .hmp-shade-chip{background:#ffffff;border-color:rgba(207,31,125,0.22);color:var(--text)}html[data-theme="light"] .hmp-shade-chip:hover{background:rgba(207,31,125,0.08);border-color:var(--magenta)}html[data-theme="light"] .hmp-shade-chip.is-on{background:rgba(207,31,125,0.14);border-color:var(--magenta);color:var(--magenta)}html[data-theme="light"] .hmp-summary{background:rgba(30,60,110,0.05);border-color:rgba(30,60,110,0.14)}html[data-theme="light"] .hmp-summary-empty{color:var(--text-mute)}html[data-theme="light"] .hmp-summary-tag{background:rgba(0,145,184,0.12);border-color:rgba(0,145,184,0.35);color:var(--cyan-soft)}html[data-theme="light"] .hmp-summary-del{background:rgba(30,60,110,0.12);color:var(--text-dim)}html[data-theme="light"] .hmp-custom-input{background:#ffffff;border-color:rgba(30,60,110,0.2);color:var(--text)}html[data-theme="light"] .hmp-custom-input:focus{background:#ffffff;border-color:var(--cyan)}html[data-theme="light"] .hmp-custom-btn{background:rgba(0,145,184,0.1);border-color:rgba(0,145,184,0.3);color:var(--cyan-soft)}html[data-theme="light"] .hmp-node-badge{background:var(--cyan);color:#fff}html:not(.is-admin) #btn-add-work,html:not(.is-admin) #backup-menu-wrap,html:not(.is-admin) #btn-export,html:not(.is-admin) .modal__foot [data-action="edit"],html:not(.is-admin) .modal__foot [data-action="delete"],html:not(.is-admin) .node__edit,html:not(.is-admin) .gallery__empty .btn--magenta,html:not(.is-admin) .graph__empty .btn--magenta,html:not(.is-admin) .viewer__materials-admin-bar,html:not(.is-admin) .meta__materials-admin-edit{display:none !important}.admin-badge{display:none;align-items:center;gap:6px;padding:6px 14px;height:38px;border-radius:99px;font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:0.08em;color:var(--amber,#ffc247);background:rgba(255,194,71,0.12);border:1px solid rgba(255,194,71,0.4);box-shadow:0 0 12px rgba(255,194,71,0.15);cursor:pointer;transition:all var(--t-fast) var(--ease);white-space:nowrap}.admin-badge:hover{background:rgba(255,194,71,0.22);border-color:var(--amber,#ffc247);box-shadow:0 0 18px rgba(255,194,71,0.35);transform:translateY(-1px)}.admin-badge__icon{font-size:13px}.admin-badge__dot{width:6px;height:6px;border-radius:50%;background:var(--amber,#ffc247);box-shadow:0 0 6px var(--amber,#ffc247);animation:pulseDot 2s infinite ease-in-out}@keyframes pulseDot{0%,100%{opacity:0.5;transform:scale(0.9)}50%{opacity:1;transform:scale(1.2)}}html.is-admin .admin-badge{display:inline-flex}.admin-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;animation:adminModalIn 0.2s var(--ease)}@keyframes adminModalIn{from{opacity:0}to{opacity:1}}.admin-modal__backdrop{position:absolute;inset:0;background:rgba(4,6,12,0.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.admin-modal__dialog{position:relative;width:100%;max-width:440px;background:linear-gradient(135deg,rgba(14,18,28,0.98),rgba(8,10,16,0.99));border:1px solid rgba(0,234,255,0.35);border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,0.7),0 0 30px rgba(0,234,255,0.15);padding:28px 24px;display:flex;flex-direction:column;gap:20px}.admin-modal__header{display:flex;flex-direction:column;gap:8px;text-align:center;align-items:center}.admin-modal__badge{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--cyan,#00eaff);background:rgba(0,234,255,0.12);border:1px solid rgba(0,234,255,0.35);padding:3px 10px;border-radius:99px}.admin-modal__badge.is-active{color:var(--amber,#ffc247);background:rgba(255,194,71,0.12);border-color:rgba(255,194,71,0.4)}.admin-modal__title{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:0.05em;color:#fff;margin:0;text-shadow:0 0 16px rgba(0,234,255,0.3)}.admin-modal__sub{font-family:var(--font-body);font-size:13px;color:var(--text-mute);line-height:1.45;margin:0}.admin-modal__form{display:flex;flex-direction:column;gap:18px}.admin-modal__field{display:flex;flex-direction:column;gap:6px}.admin-modal__input{width:100%;padding:12px 16px;font-family:var(--font-mono);font-size:14px;color:#fff;background:rgba(5,7,12,0.9);border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:none;transition:all var(--t-fast) var(--ease);letter-spacing:0.08em}.admin-modal__input:focus{border-color:var(--accent,#00eaff);box-shadow:0 0 16px rgba(0,234,255,0.35)}.admin-modal__input.is-invalid{border-color:var(--danger,#ff3366);animation:shake 0.3s ease}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.admin-modal__error{font-family:var(--font-body);font-size:12px;color:var(--danger,#ff3366);min-height:16px}.admin-modal__actions{display:flex;gap:10px;justify-content:flex-end}.admin-modal__actions .btn{flex:1 1 auto;justify-content:center;padding:10px 16px;font-size:13px}
.card__holo{position:absolute!important;inset:0!important;border-radius:inherit!important;pointer-events:none!important;z-index:5!important;opacity:var(--holo-o, 0)!important;background:repeating-linear-gradient(135deg,rgba(255,0,255,0.25) 0%,rgba(0,255,255,0.25) 10%,rgba(255,255,0,0.25) 20%,rgba(0,255,0,0.25) 30%,rgba(255,0,255,0.25) 40%),linear-gradient(115deg,rgba(255,255,255,0.4) 0%,rgba(255,255,255,0) 50%,rgba(0,0,0,0.3) 100%)!important;mix-blend-mode:overlay!important;background-size:200% 200%,100% 100%!important;background-position:calc(var(--mx,50%) * 2) calc(var(--my,50%) * 2),center!important;transition:opacity 0.3s ease!important;filter:brightness(1.2) contrast(1.1)!important;}
