:root{--app-header-h:60px;--eco-green:#1fa538;--eco-green-hover:#23b840;--eco-green-dark:#178a30;--eco-green-tint:#16321f;--eco-blue:#1c6cb0;--eco-charcoal:#181818;--eco-charcoal-2:#1e1e1e;--eco-border:#333;--eco-text:#f3f3f3;--eco-text-muted:#9ca3af;--app-bg:#0f1115;--app-surface:#161a21;--app-surface-2:#1b212b;--app-surface-3:#1f2530;--app-surface-hover:#1f2530;--app-elevated:#1e2531;--app-border:#283039;--app-border-strong:#39424f;--app-text:#f3f3f3;--app-text-dim:#aab3c0;--app-text-muted:#9ca3af;--app-text-faint:#6f7884;--app-header-bg:var(--eco-charcoal);--app-header-text:#fff;--app-header-border:#2a2a2a;--app-header-btn-bg:#222;--app-header-btn-border:#3a3a3a;--app-header-btn-text:#ededed;--app-header-btn-hover-bg:#262626;--app-accent:var(--eco-green);--app-accent-hover:var(--eco-green-hover);--app-accent-dark:var(--eco-green-dark);--app-accent-contrast:#fff;--app-accent-tint:#16321f;--app-accent-tint-text:#d9f2df;--app-link:#6db1ff;--app-overlay:#00000080;--app-shadow:0 6px 20px #00000047;--app-shadow-lg:0 12px 30px #00000080;--app-danger:#ef5350;--app-danger-text:#fca5a5;--app-danger-tint:#3a1d22;--app-warn:#e0922f;--app-warn-text:#fcd34d;--app-warn-tint:#3a2c16;--app-success:#1fa538;--app-success-text:#86efac;--app-success-tint:#16321f;--app-info:#1c6cb0;--app-info-text:#93c5fd;--app-info-tint:#16294a;--app-code-bg:#0d1117;--app-code-head-bg:#161b22;--app-code-border:#30363d;--app-code-text:#c9d1d9;--eco-scrollbar-thumb:var(--eco-green)}:root[data-theme=light]{--eco-blue:#104b91;--eco-charcoal:#fff;--eco-charcoal-2:#f3f6fa;--eco-border:#d4dae3;--eco-text:#16202e;--eco-text-muted:#5b6675;--eco-green:#104b91;--eco-green-hover:#1a5aa8;--eco-green-dark:#0d3d77;--eco-green-tint:#e3eefb;--app-bg:#eef1f6;--app-surface:#fff;--app-surface-2:#f3f6fa;--app-surface-3:#e9eef4;--app-surface-hover:#eef2f7;--app-elevated:#fff;--app-border:#d6dce5;--app-border-strong:#b3bdcc;--app-text:#16202e;--app-text-dim:#46566b;--app-text-muted:#5b6675;--app-text-faint:#6b7686;--app-header-bg:#fff;--app-header-text:#16202e;--app-header-border:#d6dce5;--app-header-btn-bg:#f3f6fa;--app-header-btn-border:#d6dce5;--app-header-btn-text:#2a3852;--app-header-btn-hover-bg:#e9eef4;--app-accent:#104b91;--app-accent-hover:#0d3f7d;--app-accent-dark:#0a3261;--app-accent-contrast:#fff;--app-accent-tint:#e3eefb;--app-accent-tint-text:#0d3d77;--app-link:#104b91;--app-overlay:#14203461;--app-shadow:0 6px 20px #1026441f;--app-shadow-lg:0 12px 30px #1026442e;--app-danger:#d32f2f;--app-danger-text:#b3261e;--app-danger-tint:#fdecea;--app-warn:#b06f10;--app-warn-text:#8a560c;--app-warn-tint:#fdf3e0;--app-success:#1b8a34;--app-success-text:#15722a;--app-success-tint:#e3f4e8;--app-info:#104b91;--app-info-text:#0d3d77;--app-info-tint:#e3eefb}body{background:var(--app-bg);color:var(--app-text);margin:0;font-family:Inter,Arial,sans-serif;transition:background-color .2s,color .2s}*{scrollbar-width:thin;scrollbar-color:var(--eco-scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-image:linear-gradient(180deg, var(--eco-green-hover), var(--eco-green), var(--eco-green-dark));background-size:100% 200%;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(180deg, #2bd34c, var(--eco-green-hover), var(--eco-green))}::-webkit-scrollbar-thumb:active{background-image:linear-gradient(180deg, #2bd34c, var(--eco-green-hover), var(--eco-green))}::-webkit-scrollbar-corner{background:0 0}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}::-webkit-scrollbar-thumb{animation:4s ease-in-out infinite eco-scrollbar-sheen}}@keyframes eco-scrollbar-sheen{0%,to{background-position:50% 0}50%{background-position:50% 100%}}.code-block{background:#0d1117;border:1px solid #30363d;border-radius:8px;margin:0 0 .7em;overflow:hidden}.code-head{background:#161b22;border-bottom:1px solid #30363d;justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem .4rem .3rem .7rem;display:flex}.code-lang{text-transform:uppercase;letter-spacing:.05em;color:#8b949e;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}.copy-code{color:#c9d1d9;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:6px;padding:.15rem .5rem;font-size:.72rem;transition:background .12s,border-color .12s,color .12s}.copy-code:hover{background:#21262d;border-color:#8b949e}.copy-code.copied{color:#3fb950;border-color:#2ea043}.code-block pre{overflow-x:auto;background:#0d1117!important;border:none!important;border-radius:0!important;margin:0!important;padding:.85rem 1rem!important}.code-block pre code{color:#c9d1d9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;background:0 0!important;border:none!important;padding:0!important}.hljs-comment,.hljs-quote{color:#8b949e;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-type,.hljs-built_in,.hljs-name,.hljs-tag{color:#ff7b72}.hljs-string,.hljs-attr,.hljs-template-string,.hljs-regexp,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#a5d6ff}.hljs-number,.hljs-literal,.hljs-meta .hljs-keyword{color:#79c0ff}.hljs-title,.hljs-section,.hljs-title.class_,.hljs-title.function_{color:#d2a8ff}.hljs-attribute,.hljs-variable,.hljs-params,.hljs-template-variable{color:#ffa657}.hljs-meta,.hljs-doctag{color:#8b949e}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.hljs-deletion{color:#ffdcd7;background:#67060c}.hljs-addition{background:#033a16}.eco-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:var(--app-surface-2);color:var(--app-text-dim);box-shadow:inset 0 0 0 1px var(--app-border-strong);border-radius:999px;align-items:center;gap:.35em;padding:.16rem .55rem;font-size:.72rem;font-weight:700;line-height:1.4;display:inline-flex}.eco-badge--neutral{background:var(--app-surface-2);color:var(--app-text-dim);box-shadow:inset 0 0 0 1px var(--app-border-strong)}.eco-badge--success{background:var(--app-success-tint);color:var(--app-success-text);box-shadow:inset 0 0 0 1px var(--app-success)}.eco-badge--accent{background:var(--app-accent-tint);color:var(--app-accent-tint-text);box-shadow:inset 0 0 0 1px var(--app-accent)}.eco-badge--warn{background:var(--app-warn-tint);color:var(--app-warn-text);box-shadow:inset 0 0 0 1px var(--app-warn)}.eco-badge--danger{background:var(--app-danger-tint);color:var(--app-danger-text);box-shadow:inset 0 0 0 1px var(--app-danger)}.eco-badge--info{background:var(--app-info-tint);color:var(--app-info-text);box-shadow:inset 0 0 0 1px var(--app-info)}.eco-badge__dot{background:currentColor;border-radius:50%;flex-shrink:0;width:.5em;height:.5em}.eco-chip{background:var(--app-surface-2);color:var(--app-text-dim);border:1px solid var(--app-border);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .6rem;font-size:.82rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.eco-chip:hover{background:var(--app-surface-hover);color:var(--app-text)}.eco-chip--active{background:var(--app-accent-tint);color:var(--app-accent-tint-text);border-color:var(--app-accent)}.eco-chip__remove{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;line-height:1;display:inline-flex}.eco-chip__remove:hover{opacity:1}.eco-card{background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:var(--core-radius,10px);box-shadow:var(--app-shadow);padding:var(--eco-card-padding,1rem);box-sizing:border-box}.eco-card--flat{box-shadow:none}.eco-card--inset{background:var(--app-surface-2);box-shadow:none}.eco-btn{border-radius:var(--core-radius-sm,8px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.5rem .9rem;font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .14s,border-color .14s,opacity .14s,color .14s;display:inline-flex}.eco-btn:disabled,.eco-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.eco-btn--primary{background:var(--app-accent);color:var(--app-accent-contrast)}.eco-btn--primary:hover:not(:disabled){background:var(--app-accent-hover)}.eco-btn--secondary{background:var(--app-surface-2);border-color:var(--app-border);color:var(--app-text)}.eco-btn--secondary:hover:not(:disabled){border-color:var(--app-accent);background:var(--app-surface-hover)}.eco-btn--danger{background:var(--app-danger);color:#fff}.eco-btn--danger:hover:not(:disabled){opacity:.88}.eco-btn--ghost{color:var(--app-text-dim);background:0 0}.eco-btn--ghost:hover:not(:disabled){background:var(--app-surface-hover);color:var(--app-text)}.eco-input,.eco-select,.eco-textarea{box-sizing:border-box;width:100%;font:inherit;border-radius:var(--core-radius-sm,8px);background:var(--app-surface-3);border:1px solid var(--app-border);color:var(--app-text);padding:.5rem .65rem;font-size:.92rem;transition:border-color .14s,box-shadow .14s}.eco-textarea{resize:vertical;min-height:4.5rem}.eco-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a94a3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2rem}.eco-input::placeholder,.eco-textarea::placeholder{color:var(--app-text-faint)}.eco-input:focus,.eco-select:focus,.eco-textarea:focus{border-color:var(--app-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--app-accent) 30%, transparent);outline:none}.eco-label{color:var(--app-text-dim);margin-bottom:.3rem;font-size:.78rem;font-weight:600;display:block}.eco-table{border-collapse:collapse;width:100%;color:var(--app-text);font-size:.9rem}.eco-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--app-text-faint);border-bottom:1px solid var(--app-border);white-space:nowrap;padding:.55rem .7rem;font-size:.72rem;font-weight:700}.eco-table tbody td{border-bottom:1px solid var(--app-border);padding:.55rem .7rem}.eco-table tbody tr:hover{background:var(--app-surface-hover)}.eco-table--zebra tbody tr:nth-child(2n){background:var(--app-surface-2)}.eco-overlay{background:var(--app-overlay);z-index:1000;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.eco-modal{background:var(--app-elevated);color:var(--app-text);border:1px solid var(--app-border);border-radius:var(--core-radius,10px);box-shadow:var(--app-shadow-lg);box-sizing:border-box;width:100%;max-width:min(92vw,560px);max-height:88vh;overflow:auto}.eco-alert{border-radius:var(--core-radius-sm,8px);border:1px solid #0000;padding:.7rem 1rem;font-size:.9rem}.eco-alert--danger{background:var(--app-danger-tint);color:var(--app-danger-text);border-color:color-mix(in srgb, var(--app-danger) 45%, transparent)}.eco-alert--warn{background:var(--app-warn-tint);color:var(--app-warn-text);border-color:color-mix(in srgb, var(--app-warn) 45%, transparent)}.eco-alert--success{background:var(--app-success-tint);color:var(--app-success-text);border-color:color-mix(in srgb, var(--app-success) 45%, transparent)}.eco-alert--info{background:var(--app-info-tint);color:var(--app-info-text);border-color:color-mix(in srgb, var(--app-info) 45%, transparent)}.eco-surface{background:var(--app-surface);color:var(--app-text)}.eco-surface-2{background:var(--app-surface-2);color:var(--app-text)}.eco-text{color:var(--app-text)}.eco-text-dim{color:var(--app-text-dim)}.eco-text-muted{color:var(--app-text-muted)}.eco-text-faint{color:var(--app-text-faint)}.eco-link{color:var(--app-link);text-decoration:none}.eco-link:hover{text-decoration:underline}.eco-divider{border:none;border-top:1px solid var(--app-border);margin:0}.backdrop.svelte-18yv8xv{top:var(--app-header-h,60px);z-index:40;background:var(--app-overlay);cursor:pointer;border:none;padding:0;display:none;position:fixed;bottom:0;left:0;right:0}.panel.svelte-18yv8xv{top:var(--app-header-h,60px);z-index:41;height:calc(100dvh - var(--app-header-h,60px));background:var(--app-elevated);border-left:1px solid var(--app-border);width:400px;max-width:100vw;color:var(--app-text);flex-direction:column;display:flex;position:fixed;right:0;box-shadow:-16px 0 40px #00000073}.bar.svelte-18yv8xv{border-bottom:1px solid var(--app-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.title.svelte-18yv8xv{align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.title.svelte-18yv8xv svg:where(.svelte-18yv8xv){color:var(--app-accent);flex-shrink:0}.count.svelte-18yv8xv{color:var(--app-accent-contrast);background:var(--app-accent);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;line-height:1.6}.bar_actions.svelte-18yv8xv{gap:6px;display:flex}.icon_btn.svelte-18yv8xv{border:1px solid var(--app-border);color:var(--app-text-dim);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:5px 8px;font-size:13px;line-height:1;display:inline-flex}.icon_btn.icon_only.svelte-18yv8xv{width:30px;height:30px;padding:5px}.icon_btn.svelte-18yv8xv:hover{border-color:var(--app-accent);color:var(--app-text)}.body.svelte-18yv8xv{flex:1;padding:14px;overflow-y:auto}@media (width<=600px){.backdrop.svelte-18yv8xv{display:block}.panel.svelte-18yv8xv{width:100vw}}.overlay.svelte-1f37bui{background:var(--app-overlay);z-index:50;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal.svelte-1f37bui{background:var(--app-elevated);border:1px solid var(--app-border);width:100%;max-width:480px;box-shadow:var(--app-shadow-lg);color:var(--app-text);border-radius:16px;padding:24px}.modal.svelte-1f37bui h3:where(.svelte-1f37bui){margin:0 0 6px}.subtitle.svelte-1f37bui{opacity:.7;margin:0 0 18px;font-size:13px;line-height:1.4}.muted.svelte-1f37bui{opacity:.6;font-size:14px}.preview.svelte-1f37bui{background:#fff;border-radius:10px;justify-content:center;padding:8px;display:flex}.preview.svelte-1f37bui img:where(.svelte-1f37bui){max-width:100%;max-height:160px}.pad-wrap.svelte-1f37bui{margin-bottom:4px}.actions.svelte-1f37bui{align-items:center;gap:10px;margin-top:16px;display:flex}.grow.svelte-1f37bui{flex:1}.btn.svelte-1f37bui{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600}.btn.svelte-1f37bui:disabled{opacity:.5;cursor:not-allowed}.btn-primary.svelte-1f37bui{background:var(--app-accent);color:var(--app-accent-contrast)}.btn-primary.svelte-1f37bui:hover:not(:disabled){background:var(--app-accent-hover)}.btn-secondary.svelte-1f37bui{color:var(--app-text);border-color:var(--app-border);background:0 0}.btn-secondary.svelte-1f37bui:hover:not(:disabled){border-color:var(--app-accent);background:var(--app-accent-tint)}.btn-danger.svelte-1f37bui{color:var(--app-danger-text);border-color:var(--app-danger);background:0 0}.btn-danger.svelte-1f37bui:hover:not(:disabled){background:var(--app-danger-tint)}.overlay.svelte-csk18f{background:var(--app-overlay);z-index:60;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal.svelte-csk18f{background:var(--app-elevated);border:1px solid var(--app-border);width:100%;max-width:440px;box-shadow:var(--app-shadow-lg);color:var(--app-text);border-radius:16px;padding:24px}.modal.svelte-csk18f h3:where(.svelte-csk18f){margin:0 0 6px}.subtitle.svelte-csk18f{opacity:.7;margin:0 0 16px;font-size:13px;line-height:1.4}.preview.svelte-csk18f{background:#fff;border-radius:10px;justify-content:center;margin-bottom:16px;padding:8px;display:flex}.preview.svelte-csk18f img:where(.svelte-csk18f){max-width:100%;max-height:150px}.consent.svelte-csk18f{cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;line-height:1.4;display:flex}.consent.svelte-csk18f input:where(.svelte-csk18f){width:16px;height:16px;accent-color:var(--app-accent);flex-shrink:0;margin-top:2px}.form_error.svelte-csk18f{margin-top:14px;font-size:13px}.actions.svelte-csk18f{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.btn.svelte-csk18f{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600}.btn.svelte-csk18f:disabled{opacity:.5;cursor:not-allowed}.btn-primary.svelte-csk18f{background:var(--app-accent);color:var(--app-accent-contrast)}.btn-primary.svelte-csk18f:hover:not(:disabled){background:var(--app-accent-hover)}.btn-secondary.svelte-csk18f{color:var(--app-text);border-color:var(--app-border);background:0 0}.btn-secondary.svelte-csk18f:hover:not(:disabled){border-color:var(--app-accent);background:var(--app-accent-tint)}
