:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--color-bg:#0a0a0f;--color-bg-deep:#09090b;--color-surface:#1a1a2e;--color-surface-card:#12121f;--color-surface-overlay:#0f0f1a;--color-accent:#7c5bf5;--color-accent-alt:#e94560;--color-accent-amber:#f5a623;--color-text:#eaeaf4;--color-text-secondary:#c0c0d8;--color-muted:#b0b0d0;--color-dim:#9494cc;--color-border:#7c5bf533;--color-border-subtle:#ffffff14;--color-danger:#e94560;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-card:12px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 4px 24px #0006;--shadow-modal:0 20px 60px #00000080}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:93%;descent-override:25%;line-gap-override:0%;size-adjust:107%}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:Space Grotesk,Space Grotesk Fallback,system-ui,sans-serif}:focus-visible{outline-offset:2px!important;outline:2px solid #7c5bf5b3!important}*{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent}:hover{scrollbar-color:#fff3 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}::-webkit-scrollbar-corner{background:0 0}.admin-btn{color:#c0b0f0;cursor:pointer;white-space:nowrap;background:#7c5bf514;border:1px solid #7c5bf559;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-family:Space Grotesk,sans-serif;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.admin-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-text);background:#7c5bf529}.admin-btn:disabled{opacity:.45;cursor:not-allowed}.admin-btn-primary{color:#fff;background:linear-gradient(135deg,#7c5bf5d9,#e94560bf);border-color:#0000}.admin-btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--color-accent), var(--color-danger));color:#fff;border-color:#0000}.admin-btn-danger{color:#ffb3bf;background:#e945601f;border-color:#e9456066}.admin-btn-danger:hover:not(:disabled){color:#ffd0d8;background:#e9456038;border-color:#e94560a6}.admin-btn-secondary{color:var(--color-muted);background:#ffffff0a;border-color:#ffffff1f}.admin-btn-secondary:hover:not(:disabled){color:var(--color-text);background:#ffffff14;border-color:#fff3}.admin-btn-sm{border-radius:var(--radius-sm);padding:.3rem .65rem;font-size:.78rem}.admin-error{color:var(--color-danger);border-radius:var(--radius-sm);background:#e945601a;border:1px solid #e945604d;margin-bottom:1rem;padding:.75rem}.admin-loading{justify-content:center;padding:3rem;display:flex}.dna-spinner{border:3px solid #7c5bf52e;border-top-color:var(--color-accent);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite dna-spin}@keyframes dna-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.dna-spinner{border-top-color:var(--color-accent);animation:none}}.feed-tag{--tag-hue:270;background:hsla(var(--tag-hue), 40%, 45%, .12);border:1px solid hsla(var(--tag-hue), 50%, 60%, .35);color:hsla(var(--tag-hue), 55%, 80%, 1);cursor:pointer;text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;gap:.32rem;padding:.28rem .7rem;font-size:.71rem;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.feed-tag:hover{background:hsla(var(--tag-hue), 55%, 50%, .22);border-color:hsla(var(--tag-hue), 65%, 65%, .55);color:hsla(var(--tag-hue), 70%, 92%, 1)}.feed-tag:disabled{cursor:not-allowed;opacity:.3;transform:none}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-card);width:100%;max-width:540px;color:var(--color-text);border:1px solid #ffffff1a;padding:1.5rem}.confirm-dialog{max-width:400px}.btn-primary{background:linear-gradient(135deg, var(--color-accent), var(--color-danger));color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;transition:filter .15s}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--color-muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.btn-secondary:hover{color:var(--color-text);background:#ffffff1a}.btn-danger{background:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .15s}.btn-danger:hover{background:#d63851}.stream-toast-container{z-index:9000;pointer-events:none;position:fixed;bottom:1.5rem;right:1.5rem}.stream-toast{pointer-events:auto;-webkit-backdrop-filter:blur(20px)saturate(160%);cursor:default;-webkit-user-select:none;user-select:none;background:#0c0c1ad6;border:1px solid;border-radius:18px;width:clamp(340px,30vw,480px);transition:opacity .32s,transform .32s cubic-bezier(.34,1.26,.64,1);overflow:hidden}.stream-toast:hover{filter:brightness(1.04)}.stream-toast-in{opacity:0;transform:translateY(14px)scale(.97)}.stream-toast-hold{opacity:1;transform:translateY(0)scale(1)}.stream-toast-out{opacity:0;transition:opacity .36s,transform .36s;transform:translateY(-10px)scale(.97)}.stream-toast-dismiss{color:#7070a0;cursor:pointer;border-radius:var(--radius-sm);z-index:1;background:#ffffff1a;border:none;padding:.2rem .45rem;font-size:1.15rem;line-height:1;transition:background .15s,color .15s;position:absolute;top:.6rem;right:.65rem}.stream-toast-dismiss:hover{color:var(--color-text);background:#ffffff1f}.stream-toast-body{padding:1.1rem 1.25rem .9rem}.stream-toast-badge{border-radius:var(--radius-sm);letter-spacing:.02em;margin-bottom:.45rem;padding:.15rem .5rem;font-family:monospace;font-size:.7rem;display:inline-block}.stream-toast-title{color:#e8e8f8;padding-right:1.6rem;font-size:1rem;font-weight:700;line-height:1.35}.stream-toast-text{color:#9090b8;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-top:.4rem;font-size:.85rem;line-height:1.5;transition:all .2s;display:-webkit-box;overflow:hidden}.stream-toast-text-open{-webkit-line-clamp:unset;overflow:visible}.stream-toast-footer{align-items:center;gap:.75rem;margin-top:.65rem;display:flex}.stream-toast-action{border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff1f;padding:.3rem .7rem;font-size:.75rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.stream-toast-action:hover{color:var(--color-text);background:#ffffff1f;border-color:#fff3;text-decoration:none}.stream-toast-more{color:#50508a;margin-left:auto;font-size:.72rem}.stream-toast-progress{transform-origin:0;width:100%;height:3px;animation:linear forwards stream-toast-drain}@keyframes stream-toast-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.stream-toast-progress-paused{opacity:.5;width:100%;height:3px;animation:1.8s ease-in-out infinite stream-toast-pulse}@keyframes stream-toast-pulse{0%,to{opacity:.35}50%{opacity:.7}}@media (prefers-reduced-motion:reduce){.stream-toast,.stream-toast-in,.stream-toast-hold,.stream-toast-out{transition:none}.stream-toast-progress,.stream-toast-progress-paused{animation:none}}.tooltip-bubble-portal{color:#c8c8ff;white-space:normal;word-break:break-word;pointer-events:none;z-index:99999;letter-spacing:.01em;text-align:center;background:#0e0e1cf7;border:1px solid #9494cc40;border-radius:7px;max-width:200px;padding:.3rem .65rem;font-size:.72rem;font-weight:400;line-height:1.4;animation:.12s forwards tooltip-fade-in;position:fixed;box-shadow:0 4px 20px #00000080}.tooltip-bubble-portal--content{text-align:left;max-width:none;padding:.45rem .65rem}@keyframes tooltip-fade-in{0%{opacity:0}to{opacity:1}}.tooltip-portal-above .tooltip-portal-arrow{border:5px solid #0000;border-top-color:#0e0e1cf7;display:block;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-portal-below .tooltip-portal-arrow{border:5px solid #0000;border-bottom-color:#0e0e1cf7;display:block;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip-portal-right .tooltip-portal-arrow{border:6px solid #0000;border-right-color:#0e0e1cf7;display:block;position:absolute;top:50%;right:calc(100% - 1px);transform:translateY(-50%)}.commons-embed-root{flex-direction:column;min-height:100vh;padding:1rem 1.25rem 2rem;display:flex}.error-card{color:var(--color-text);background:#e9456014;border:1px solid #e945604d;border-radius:8px;padding:1rem;font-size:.85rem}.error-card code{background:#ffffff0a;border-radius:4px;padding:.1rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.commons-message-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);max-width:560px;color:var(--color-text);margin:4rem auto;padding:2rem}.commons-message-card h1{margin:0 0 .75rem;font-size:1.4rem;font-weight:700}.commons-message-card p{color:var(--color-text-secondary);margin:0 0 .75rem;line-height:1.5}.commons-message-card code{background:#ffffff0f;border-radius:4px;padding:.1rem .35rem;font-size:.85rem}.commons-message-detail{border-radius:var(--radius-sm);color:var(--color-muted);white-space:pre-wrap;word-break:break-word;background:#0000004d;margin:.75rem 0 0;padding:.6rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.commons-product-switcher{border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface-card);align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.8rem;display:flex}.commons-product-switcher label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-size:.7rem;font-weight:600}.commons-product-switcher select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.3rem .6rem;font-size:.85rem;font-weight:500}.commons-product-switcher select:hover{border-color:var(--color-accent)}.commons-product-switcher .commons-product-name{color:var(--color-text);font-weight:600}
