@layer components{.btn{border:1px solid var(--border-color,#d4d4d4);background:var(--surface,#fff);min-height:2.5rem;color:var(--foreground,#171717);text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding-inline:.875rem;font-size:.875rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s,opacity .14s,transform .14s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--border-strong,#a3a3a3);background:var(--surface-muted,#f5f5f5)}.btn:focus-visible{outline:2px solid var(--brand,#0c78fe);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{border-color:var(--brand,#0c78fe);background:var(--brand,#0c78fe);color:var(--brand-ink,#fff)}.btn-primary:hover:not(:disabled){border-color:var(--brand-hover,#004bc6);background:var(--brand-hover,#004bc6)}.btn-secondary,.btn-active{border-color:var(--border-strong,#a3a3a3);background:var(--surface-muted,#f5f5f5);color:var(--foreground,#171717)}.btn-outline{border-color:var(--border-strong,#a3a3a3);color:var(--foreground,#171717);background:0 0}.btn-ghost{color:var(--muted,#666);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-muted,#f5f5f5);color:var(--foreground,#171717);border-color:#0000}.btn-soft{background:var(--accent,var(--surface-muted,#f5f5f5));color:var(--foreground,#171717);border-color:#0000}.btn-error{color:#fff;background:#dc2626;border-color:#dc2626}.btn-success{color:#fff;background:#059669;border-color:#059669}.btn-light{color:#171717;background:#fff;border-color:#ffffff8c}.btn-xs{min-height:1.75rem;padding-inline:.5rem;font-size:.6875rem}.btn-sm{min-height:2.25rem;padding-inline:.625rem;font-size:.75rem}.btn-md{min-height:2.5rem}.btn-lg{min-height:3rem;padding-inline:1.125rem;font-size:.9375rem}.btn-square{width:2.5rem;min-width:2.5rem;padding-inline:0}.btn-square.btn-xs{width:1.75rem;min-width:1.75rem}.btn-square.btn-sm{width:2.25rem;min-width:2.25rem}.btn-square.btn-lg{width:3rem;min-width:3rem}.btn-block{width:100%}.toggle{appearance:none;border:1px solid var(--border-strong,#a3a3a3);background-color:var(--surface-muted,#e5e5e5);cursor:pointer;background-image:radial-gradient(circle,#fff 0 55%,#0000 58%);background-position:.125rem;background-repeat:no-repeat;background-size:1.125rem 1.125rem;border-radius:999px;flex:none;width:2.5rem;height:1.375rem;transition:background-color .14s,background-position .14s,border-color .14s}.toggle:checked{border-color:var(--brand,#0c78fe);background-color:var(--brand,#0c78fe);background-position:calc(100% - .125rem)}.toggle-sm{background-size:.875rem .875rem;width:2.125rem;height:1.125rem}.badge{border:1px solid var(--border-color,#d4d4d4);background:var(--surface,#fff);min-height:1.375rem;color:var(--foreground,#171717);border-radius:999px;justify-content:center;align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.app-canvas{background-color:var(--canvas);color:var(--foreground)}.app-panel{border:1px solid var(--border-color);background:var(--surface-elevated);box-shadow:var(--shadow-panel);border-radius:.75rem}.app-card{border:1px solid var(--border-color);background:var(--surface);border-radius:.75rem}.app-kicker{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.app-link{color:var(--accent-strong);text-underline-offset:.2em;font-weight:650}.app-link:hover{text-decoration:underline}.app-control{border:1px solid var(--border-color);background:var(--surface);box-shadow:var(--shadow-control);color:var(--foreground);border-radius:.75rem}.app-control:hover{border-color:var(--border-strong)}.bg-app-overlay{background-color:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bg-app-overlay>:is(div,section,form){box-shadow:var(--modal-shadow)}}@layer utilities{.no-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}.no-scrollbar::-webkit-scrollbar{display:none}:root:not(.dark) :is(.text-blue-300,.text-blue-400,.text-blue-500){color:var(--accent-strong)}:root:not(.dark) :is(.text-amber-300,.text-amber-400){color:#9a5800}:root:not(.dark) :is(.text-red-300,.text-red-400){color:var(--danger)}:root:not(.dark) :is(.text-sky-300,.text-sky-400){color:#0369a1}}
