:root{--quack-base-700:#1a1825;--quack-base-800:#13111e;--quack-base-900:#0f0e14;--quack-blue-50:#E6F1FB;--quack-blue-200:#85B7EB;--quack-blue-600:#185FA5;--quack-blue-800:#0C447C;--quack-blue-900:#042C53;--quack-gold-100:#faeeda;--quack-gold-200:#fac775;--quack-gold-400:#ef9f27;--quack-gold-600:#854f0b;--quack-gold-800:#633806;--quack-gold-900:#1e1510;--quack-gray-100:#f0efe8;--quack-gray-400:#888780;--quack-gray-600:#444441;--quack-gray-700:#2c2c2a;--quack-gray-900:#1a1a1a;--quack-purple-50:#f7f6ff;--quack-purple-100:#eeedfe;--quack-purple-200:#afa9ec;--quack-purple-400:#7f77dd;--quack-purple-600:#534ab7;--quack-purple-800:#3c3489;--quack-teal-50:#e1f5ee;--quack-teal-100:#9fe1cb;--quack-teal-200:#5dcaa5;--quack-teal-400:#1d9e75;--quack-teal-600:#0f6e56;--quack-teal-800:#085041;--quack-teal-900:#04201a;--quack-background:light-dark(#f4f3fb, var(--quack-base-900));--quack-surface:light-dark(#ffffff, var(--quack-base-800));--quack-elevated:light-dark(#efeefb, var(--quack-base-700));--quack-sunken:light-dark(#e9e7f6, var(--quack-base-900));--quack-text-primary:light-dark(var(--quack-base-700), var(--quack-purple-100));--quack-text-secondary:light-dark(var(--quack-purple-600), var(--quack-gray-100));--quack-text-muted:light-dark(#6f6d80, var(--quack-gray-400));--quack-primary:light-dark(var(--quack-purple-600), var(--quack-purple-400));--quack-primary-hover:light-dark(var(--quack-purple-800), var(--quack-purple-200));--quack-on-primary:light-dark(#ffffff, var(--quack-base-900));--quack-accent:var(--quack-teal-400);--quack-accent-hover:light-dark(var(--quack-teal-600), var(--quack-teal-200));--quack-text-accent:light-dark(var(--quack-teal-600), var(--quack-teal-200));--quack-on-accent:light-dark(#ffffff, var(--quack-teal-900));--quack-danger:light-dark(#b8352f, #e88b8b);--quack-danger-solid:light-dark(#c33b3b, #c0433f);--quack-danger-solid-hover:light-dark(#a52d2d, #d1524e);--quack-danger-soft:light-dark(#fbeaea, hsl(0 55% 60% / 0.16));--quack-success:light-dark(var(--quack-teal-600), var(--quack-teal-200));--quack-success-soft:light-dark(var(--quack-teal-50), hsl(from var(--quack-teal-400) h s l / 0.16));--quack-warning:light-dark(var(--quack-gold-600), var(--quack-gold-200));--quack-warning-soft:light-dark(var(--quack-gold-100), hsl(from var(--quack-gold-400) h s l / 0.16));--quack-highlight:light-dark(hsl(from var(--quack-gold-400) h s l / 0.38), hsl(from var(--quack-gold-400) h s l / 0.32));--quack-highlight-accent:light-dark(hsl(from var(--quack-teal-400) h s l / 0.24), hsl(from var(--quack-teal-400) h s l / 0.28));--quack-highlight-primary:light-dark(hsl(from var(--quack-purple-400) h s l / 0.22), hsl(from var(--quack-purple-400) h s l / 0.32));--quack-focus-ring:light-dark(hsl(from var(--quack-purple-600) h s l / 0.28), hsl(from var(--quack-purple-200) h s l / 0.35));--quack-border-200:light-dark(hsl(from var(--quack-purple-600) h s l / 0.15), hsl(from var(--quack-purple-200) h s l / 0.15));--quack-border-400:light-dark(hsl(from var(--quack-purple-600) h s l / 0.3), hsl(from var(--quack-purple-200) h s l / 0.3));--quack-radius-sm:4px;--quack-radius-md:8px;--quack-radius-lg:12px;--quack-radius-xl:16px;--quack-radius-pill:99px;--quack-shadow-sm:0 1px 2px light-dark(hsl(258 40% 20% / 0.10), hsl(0 0% 0% / 0.45));--quack-shadow-md:0 4px 14px light-dark(hsl(258 40% 22% / 0.12), hsl(0 0% 0% / 0.50));--quack-shadow-lg:0 14px 34px light-dark(hsl(258 40% 24% / 0.16), hsl(0 0% 0% / 0.55));--quack-input-bg:light-dark(#ffffff, var(--quack-base-900));--quack-input-border:var(--quack-border-400);--quack-input-placeholder:var(--quack-text-muted);--quack-text-xs:0.75rem;--quack-text-sm:0.875rem;--quack-text-md:1rem;--quack-text-lg:1.125rem;--quack-text-xl:1.25rem;--quack-text-xxl:1.5rem;font-family:Inter, system-ui, sans-serif;font-feature-settings:'liga' 1, 'calt' 1;--quack-space-1:4px;--quack-space-2:8px;--quack-space-3:12px;--quack-space-4:16px;--quack-space-5:20px;--quack-space-6:24px;--quack-space-8:32px;--quack-space-12:48px;--quack-space-16:64px;interpolate-size:allow-keywords}@supports (font-variation-settings: normal){:root{font-family:InterVariable, system-ui, sans-serif}}*,*::after,*::before{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;color-scheme:dark light;scrollbar-gutter:stable;&:focus-within{scroll-behavior:smooth}}blockquote,dd,dl,figure,h1,h2,h3,h4,p{margin:0}ul[role='list'],ol[role='list']{list-style:none;margin:0;padding:0}body{background:var(--quack-background);color:var(--quack-text-primary);font-size:var(--quack-text-md);line-height:1.6;min-height:100svh;transition:background 0.2s, color 0.2s}button,h1,h2,h3,h4,input,label{line-height:1.15}h1,h2,h3,h4{text-wrap:balance}a{text-decoration:none;text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}hr{color:currentColor}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*::after,*::before{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.quack-text-primary{color:var(--quack-text-primary)}.quack-text-secondary{color:var(--quack-text-secondary)}.quack-text-muted{color:var(--quack-text-muted)}.quack-text-accent{color:var(--quack-text-accent)}.quack-btn{--background:var(--quack-surface);--foreground:var(--quack-text-primary);--border:var(--quack-border-400);display:inline-flex;align-items:center;justify-content:center;gap:var(--quack-space-2);padding:var(--quack-space-2) var(--quack-space-4);font-size:var(--quack-text-sm);font-weight:600;line-height:1.15;border:1px solid var(--border);border-radius:var(--quack-radius-md);background:var(--background);color:var(--foreground);cursor:pointer;user-select:none;white-space:nowrap;transition:background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s, transform 0.05s, filter 0.15s;&:hover{filter: brightness(0.97)}&:active{transform:translateY(1px)}&:focus-visible{outline:none;box-shadow:0 0 0 2px var(--quack-focus-ring)}&:disabled,&[aria-disabled]{opacity:0.5;cursor:not-allowed;filter: none;transform:none}}.quack-btn-primary{--background:var(--quack-primary);--foreground:var(--quack-on-primary);--border:transparent;box-shadow:var(--quack-shadow-sm);&:hover{--background:var(--quack-primary-hover);filter: none}}.quack-btn-accent{--background:var(--quack-accent);--foreground:var(--quack-on-accent);--border:transparent;box-shadow:var(--quack-shadow-sm);&:hover{--background:var(--quack-accent-hover);filter: none}}.quack-btn-secondary{--background:var(--quack-surface);--foreground:var(--quack-text-primary);--border:var(--quack-border-400);&:hover{--background:var(--quack-elevated);filter: none}}.quack-btn-ghost{--background:transparent;--foreground:var(--quack-text-secondary);--border:transparent;&:hover{--background:var(--quack-elevated);filter: none}}.quack-btn-danger{--background:var(--quack-danger-solid);--foreground:#fff;--border:transparent;&:hover{--background:var(--quack-danger-solid-hover);filter: none}}.quack-btn-sm{padding:var(--quack-space-1) var(--quack-space-3);font-size:var(--quack-text-xs)}.quack-btn-lg{padding:var(--quack-space-3) var(--quack-space-6);font-size:var(--quack-text-md)}.quack-btn-pill{border-radius:var(--quack-radius-pill)}.quack-btn-block{display:flex;width:100%}.quack-link{color:var(--quack-text-accent);text-decoration:underline;text-decoration-color:hsl(from currentColor h s l / 0.35);text-underline-offset:2px;text-decoration-thickness:1.5px;transition:color 0.15s, text-decoration-color 0.15s;&:hover{color:var(--quack-primary);text-decoration-color:currentColor}&:focus-visible{outline:none;border-radius:3px;box-shadow:0 0 0 2px var(--quack-focus-ring)}}.quack-field{display:flex;flex-direction:column;gap:var(--quack-space-2)}.quack-label{font-size:var(--quack-text-sm);font-weight:600;color:var(--quack-text-primary)}.quack-label-optional::after{content:' (optional)';font-weight:400;color:var(--quack-text-muted)}.quack-input,.quack-select,.quack-textarea{width:100%;padding:var(--quack-space-2) var(--quack-space-3);font-size:var(--quack-text-sm);color:var(--quack-text-primary);background:var(--quack-input-bg);border:1px solid var(--quack-input-border);border-radius:var(--quack-radius-md);transition:border-color 0.15s, box-shadow 0.15s, background 0.15s;&::placeholder{color:var(--quack-input-placeholder)}&:hover{border-color:var(--quack-primary)}&:focus{outline:none;border-color:var(--quack-primary);box-shadow:0 0 0 2px var(--quack-focus-ring)}&:disabled{opacity:0.55;cursor:not-allowed;background:var(--quack-sunken)}&[aria-invalid]{border-color:var(--quack-danger)}&[aria-invalid]:focus{box-shadow:0 0 0 2px var(--quack-danger-soft)}}.quack-textarea{min-height:6em;resize:vertical;line-height:1.5}.quack-select{appearance:none;padding-right:var(--quack-space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888780' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--quack-space-3) center;background-size:16px}.quack-hint{font-size:var(--quack-text-xs);color:var(--quack-text-muted)}.quack-error{font-size:var(--quack-text-xs);color:var(--quack-danger);font-weight:500}.quack-check{display:inline-flex;align-items:center;gap:var(--quack-space-2);font-size:var(--quack-text-sm);color:var(--quack-text-primary);cursor:pointer;& input[type='checkbox'],& input[type='radio']{appearance:none;flex:none;width:18px;height:18px;margin:0;display:grid;place-content:center;border:1.5px solid var(--quack-border-400);background:var(--quack-input-bg);cursor:pointer;transition:background 0.15s, border-color 0.15s}& input[type='checkbox']{border-radius:var(--quack-radius-sm)}& input[type='radio']{border-radius:50%}& input:hover{border-color:var(--quack-primary)}& input:focus-visible{outline:none;box-shadow:0 0 0 2px var(--quack-focus-ring)}& input:checked{background:var(--quack-primary);border-color:var(--quack-primary)}& input[type='checkbox']:checked::after{content:'';width:5px;height:9px;margin-top:-2px;border:solid var(--quack-on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}& input[type='radio']:checked::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--quack-on-primary)}&:has(input:disabled){opacity:0.5;cursor:not-allowed}}.quack-switch{display:inline-flex;align-items:center;gap:var(--quack-space-3);font-size:var(--quack-text-sm);color:var(--quack-text-primary);cursor:pointer;& input{appearance:none;position:relative;flex:none;width:40px;height:22px;margin:0;border-radius:var(--quack-radius-pill);background:var(--quack-border-400);cursor:pointer;transition:background 0.2s}& input::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--quack-shadow-sm);transition:translate 0.2s}& input:checked{background:var(--quack-primary)}& input:checked::after{translate:18px 0}& input:focus-visible{outline:none;box-shadow:0 0 0 2px var(--quack-focus-ring)}&:has(input:disabled){opacity:0.5;cursor:not-allowed}}.quack-badge{display:inline-flex;align-items:center;gap:var(--quack-space-1);padding:2px var(--quack-space-2);font-size:var(--quack-text-xs);font-weight:600;line-height:1.4;border-radius:var(--quack-radius-pill);background:var(--quack-elevated);color:var(--quack-text-secondary);border:1px solid var(--quack-border-200)}.quack-badge-primary{background:hsl(from var(--quack-primary) h s l / 0.14);color:var(--quack-primary);border-color:transparent}.quack-badge-accent{background:var(--quack-success-soft);color:var(--quack-success);border-color:transparent}.quack-badge-danger{background:var(--quack-danger-soft);color:var(--quack-danger);border-color:transparent}.quack-badge-warning{background:var(--quack-warning-soft);color:var(--quack-warning);border-color:transparent}.quack-card{background:var(--quack-surface);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-lg);box-shadow:var(--quack-shadow-md);overflow:hidden;& > .quack-card-header{padding:var(--quack-space-4) var(--quack-space-6);border-bottom:1px solid var(--quack-border-200);font-weight:600}& > .quack-card-body{padding:var(--quack-space-6);display:flex;flex-direction:column;gap:var(--quack-space-3)}& > .quack-card-footer{padding:var(--quack-space-4) var(--quack-space-6);border-top:1px solid var(--quack-border-200);display:flex;gap:var(--quack-space-2);justify-content:flex-end}}.quack-alert{display:flex;gap:var(--quack-space-3);padding:var(--quack-space-4);font-size:var(--quack-text-sm);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-md);background:var(--quack-elevated);color:var(--quack-text-primary)}.quack-alert-accent{background:var(--quack-success-soft);border-color:transparent;color:var(--quack-success)}.quack-alert-danger{background:var(--quack-danger-soft);border-color:transparent;color:var(--quack-danger)}.quack-alert-warning{background:var(--quack-warning-soft);border-color:transparent;color:var(--quack-warning)}:where(.quack-icon-btn){--background:var(--quack-surface);--foreground:var(--quack-text-primary);--border:var(--quack-border-400)}.quack-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--quack-space-2);height:38px;min-width:38px;padding:0 var(--quack-space-3);font-size:var(--quack-text-sm);font-weight:600;line-height:1;border:1px solid var(--border);border-radius:var(--quack-radius-md);background:var(--background);color:var(--foreground);cursor:pointer;user-select:none;white-space:nowrap;transition:background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s, transform 0.05s, filter 0.15s;& .bi,& i,& svg{font-size:1.15em;line-height:0;flex:none}&:hover{filter: brightness(0.97)}&:active{transform:translateY(1px)}&:focus-visible{outline:none;box-shadow:0 0 0 2px var(--quack-focus-ring)}&:disabled,&[aria-disabled]{opacity:0.5;cursor:not-allowed;filter: none;transform:none}}.quack-icon-btn:not(:has(span)):not(:has(.quack-icon-btn-label)){padding:0}.quack-icon-btn-sm{height:30px;min-width:30px;font-size:var(--quack-text-xs)}.quack-icon-btn-lg{height:46px;min-width:46px;font-size:var(--quack-text-md)}.quack-icon-btn-pill{border-radius:var(--quack-radius-pill)}.quack-highlight,mark{background:var(--quack-highlight);color:inherit;padding:0.06em 0.3em;border-radius:var(--quack-radius-sm);box-decoration-break:clone;-webkit-box-decoration-break:clone}.quack-highlight-accent{background:var(--quack-highlight-accent)}.quack-highlight-primary{background:var(--quack-highlight-primary)}@keyframes quack-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.quack-spinner{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid var(--quack-border-400);border-top-color:var(--quack-primary);animation:quack-spin 0.6s linear infinite;vertical-align:-0.2em;transform-origin:50% 50%;backface-visibility:hidden}.quack-spinner-sm{width:14px;height:14px;border-width:2px}.quack-spinner-lg{width:34px;height:34px;border-width:3px}.quack-spinner-accent{border-top-color:var(--quack-accent)}.quack-btn .quack-spinner,.quack-icon-btn .quack-spinner{border-color:hsl(from currentColor h s l / 0.35);border-top-color:currentColor}.quack-popover{margin:0;margin-block:var(--quack-space-2);inset:auto;position-area:bottom span-right;position-try-fallbacks:flip-block, flip-inline;padding:var(--quack-space-4);max-width:320px;color:var(--quack-text-primary);background:var(--quack-surface);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-lg);box-shadow:var(--quack-shadow-lg);font-size:var(--quack-text-sm);line-height:1.5;&:popover-open{animation:quack-pop-in 0.14s ease-out}}@keyframes quack-pop-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.quack-dialog{margin:auto;padding:0;width:min(440px, calc(100vw - 2 * var(--quack-space-6)));color:var(--quack-text-primary);background:var(--quack-surface);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-lg);box-shadow:var(--quack-shadow-lg);&::backdrop{background:hsl(258 30% 8% / 0.55);backdrop-filter: blur(2px)}&:modal{animation:quack-pop-in 0.16s ease-out}.quack-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--quack-space-3);padding:var(--quack-space-4) var(--quack-space-6);border-bottom:1px solid var(--quack-border-200);font-size:var(--quack-text-lg);font-weight:600}.quack-dialog-body{padding:var(--quack-space-6);color:var(--quack-text-secondary);font-size:var(--quack-text-sm);line-height:1.6}.quack-dialog-footer{display:flex;gap:var(--quack-space-2);justify-content:flex-end;padding:var(--quack-space-4) var(--quack-space-6);border-top:1px solid var(--quack-border-200)}}.quack-table{width:100%;border-collapse:collapse;font-size:var(--quack-text-sm);color:var(--quack-text-primary);& td,& th{padding:var(--quack-space-3) var(--quack-space-4);text-align:left;border-bottom:1px solid var(--quack-border-200)}& thead th{font-weight:600;color:var(--quack-text-secondary);background:var(--quack-elevated);white-space:nowrap}& tbody tr{transition:background 0.12s;&:last-child td{border-bottom:none}&:hover{background:var(--quack-elevated)}}}.quack-table-striped tbody tr:nth-child(even){background:hsl(from var(--quack-elevated) h s l / 0.5)}.quack-table-compact td,.quack-table-compact th{padding:var(--quack-space-1) var(--quack-space-3)}.quack-table-wrap{overflow-x:auto;border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-lg);background:var(--quack-surface);& .quack-table thead th{background:var(--quack-elevated)}}.quack-tabs{display:flex;flex-direction:column;gap:var(--quack-space-4);& > .quack-tabs-list{display:flex;gap:var(--quack-space-1);border-bottom:1px solid var(--quack-border-200)}& .quack-tabs-tab{padding:var(--quack-space-2) var(--quack-space-4);margin-bottom:-1px;font-size:var(--quack-text-sm);font-weight:600;color:var(--quack-text-muted);border-bottom:2px solid transparent;cursor:pointer;transition:color 0.15s, border-color 0.15s;&:hover{color:var(--quack-text-primary)}}& .quack-tabs-panel{display:none;color:var(--quack-text-secondary);font-size:var(--quack-text-sm);line-height:1.6}& input[type='radio']{position:absolute;opacity:0;pointer-events:none}& input:focus-visible + .quack-tabs-tab{outline:none;border-radius:var(--quack-radius-sm) var(--quack-radius-sm) 0 0;box-shadow:0 0 0 2px var(--quack-focus-ring)}& input:checked + .quack-tabs-tab{color:var(--quack-primary);border-bottom-color:var(--quack-primary)}}[data-tooltip]{position:relative;&::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 4px;z-index:50;padding:var(--quack-space-1) var(--quack-space-2);font-size:var(--quack-text-xs);font-weight:500;white-space:nowrap;color:light-dark(#fff, var(--quack-base-900));background:light-dark(var(--quack-base-700), var(--quack-purple-100));border-radius:var(--quack-radius-sm);box-shadow:var(--quack-shadow-md);opacity:0;pointer-events:none;transition:opacity 0.14s, translate 0.14s}&:focus-visible::after,&:hover::after{opacity:1;translate:-50% 0}&[data-tooltip-position='bottom']::after{bottom:auto;top:calc(100% + 8px)}&[data-tooltip-position='top-end']::after{left:auto;right:0;translate:0 4px}&[data-tooltip-position='top-end']:hover::after,&[data-tooltip-position='top-end']:focus-visible::after{translate:0 0}&[data-tooltip-position='top-start']::after{left:0;right:auto;translate:0 4px}&[data-tooltip-position='top-start']:hover::after,&[data-tooltip-position='top-start']:focus-visible::after{translate:0 0}&[data-tooltip-position='bottom-end']::after{bottom:auto;top:calc(100% + 8px);left:auto;right:0;translate:0 -4px}&[data-tooltip-position='bottom-end']:hover::after,&[data-tooltip-position='bottom-end']:focus-visible::after{translate:0 0}&[data-tooltip-position='bottom-start']::after{bottom:auto;top:calc(100% + 8px);left:0;right:auto;translate:0 -4px}&[data-tooltip-position='bottom-start']:hover::after,&[data-tooltip-position='bottom-start']:focus-visible::after{translate:0 0}}.quack-toast-region{position:fixed;bottom:var(--quack-space-6);right:var(--quack-space-6);z-index:100;display:flex;flex-direction:column;gap:var(--quack-space-3);max-width:min(360px, calc(100vw - 2 * var(--quack-space-6)))}.quack-toast-region-top-right{top:var(--quack-space-6);bottom:auto}.quack-toast-region-top-left{top:var(--quack-space-6);bottom:auto;left:var(--quack-space-6);right:auto}.quack-toast-region-bottom-left{left:var(--quack-space-6);right:auto}.quack-toast{display:flex;align-items:flex-start;gap:var(--quack-space-3);padding:var(--quack-space-3) var(--quack-space-4);font-size:var(--quack-text-sm);color:var(--quack-text-primary);background:var(--quack-surface);border:1px solid var(--quack-border-200);border-left:3px solid var(--quack-border-400);border-radius:var(--quack-radius-md);box-shadow:var(--quack-shadow-lg);animation:quack-toast-in 0.2s ease-out;& > .quack-toast-icon{line-height:1.2;font-size:1.15em;flex:none}& > .quack-toast-body{flex:1;display:flex;flex-direction:column;gap:2px}& > .quack-toast-title{font-weight:600}& > .quack-toast-close{flex:none;color:var(--quack-text-muted)}}.quack-toast-accent{border-left-color:var(--quack-accent);& > .quack-toast-icon{color:var(--quack-success)}}.quack-toast-danger{border-left-color:var(--quack-danger-solid);& > .quack-toast-icon{color:var(--quack-danger)}}.quack-toast-warning{border-left-color:var(--quack-warning);& > .quack-toast-icon{color:var(--quack-warning)}}@keyframes quack-toast-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}.quack-progress{width:100%;height:8px;border-radius:var(--quack-radius-pill);background:var(--quack-elevated);border:1px solid var(--quack-border-200);overflow:hidden;& > .quack-progress-bar{height:100%;border-radius:inherit;background:var(--quack-primary);transition:width 0.3s ease}}.quack-progress-accent .quack-progress-bar{background:var(--quack-accent)}.quack-progress-indeterminate .quack-progress-bar{width:40% !important;animation:quack-progress-slide 1.1s ease-in-out infinite}@keyframes quack-progress-slide{0%{margin-left:-40%}100%{margin-left:100%}}.quack-menu{margin:0;margin-block:var(--quack-space-1);inset:auto;position-area:bottom span-right;position-try-fallbacks:flip-block, flip-inline;padding:var(--quack-space-1);min-width:180px;background:var(--quack-surface);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-md);box-shadow:var(--quack-shadow-lg);.quack-menu-separator{height:1px;margin:var(--quack-space-1) 0;background:var(--quack-border-200);border:none}.quack-menu-label{padding:var(--quack-space-1) var(--quack-space-3);font-size:var(--quack-text-xs);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--quack-text-muted)}&:popover-open{animation:quack-pop-in 0.14s ease-out}& > .quack-menu-item{display:flex;align-items:center;gap:var(--quack-space-2);width:100%;padding:var(--quack-space-2) var(--quack-space-3);font-size:var(--quack-text-sm);color:var(--quack-text-primary);background:none;border:none;border-radius:var(--quack-radius-sm);text-align:left;cursor:pointer;&.quack-menu-item-danger{color:var(--quack-danger)}&:focus-visible,&:hover{outline:none;background:var(--quack-elevated)}}}.quack-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--quack-space-2);font-size:var(--quack-text-sm);list-style:none;margin:0;padding:0;& li{display:inline-flex;align-items:center;gap:var(--quack-space-2)}& li:not(:last-child)::after{content:'/';color:var(--quack-text-muted)}& a{color:var(--quack-text-muted);text-decoration:none}& a:hover{color:var(--quack-primary)}& [aria-current='page']{color:var(--quack-text-primary);font-weight:600}}.quack-pagination{display:inline-flex;gap:var(--quack-space-1);align-items:center;.quack-pagination-item{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 var(--quack-space-2);font-size:var(--quack-text-sm);font-weight:500;color:var(--quack-text-primary);background:none;border:1px solid transparent;border-radius:var(--quack-radius-md);cursor:pointer;text-decoration:none;transition:background 0.12s, border-color 0.12s, color 0.12s;&:hover{background:var(--quack-elevated)}&[aria-current='page']{background:var(--quack-primary);color:var(--quack-on-primary)}&:disabled,&[aria-disabled]{opacity:0.4;cursor:not-allowed;background:none}}.quack-pagination-ellipsis{min-width:20px;text-align:center;color:var(--quack-text-muted)}}.quack-skeleton{--base:var(--quack-elevated);display:block;height:1em;border-radius:var(--quack-radius-sm);background:linear-gradient(90deg, var(--base) 25%, hsl(from var(--base) h s calc(l * 1.4) / 0.7) 50%, var(--base) 75%);background-size:200% 100%;animation:quack-skeleton-shimmer 1.3s ease-in-out infinite}.quack-skeleton-text{width:100%}.quack-skeleton-title{height:1.4em;width:55%}.quack-skeleton-circle{border-radius:50%;width:40px;height:40px}.quack-skeleton-block{height:100%}@keyframes quack-skeleton-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}.quack-accordion{border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-md);background:var(--quack-surface);overflow:hidden;& + .quack-accordion{margin-top:var(--quack-space-2)}& > summary{display:flex;align-items:center;justify-content:space-between;gap:var(--quack-space-3);padding:var(--quack-space-3) var(--quack-space-4);font-size:var(--quack-text-sm);font-weight:600;color:var(--quack-text-primary);cursor:pointer;list-style:none;user-select:none;&::-webkit-details-marker{display:none}&::after{content:'\F282';font-family:'bootstrap-icons';font-weight:400;color:var(--quack-text-muted);transition:transform 0.2s}&:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--quack-primary)}}&[open] > summary::after{transform:rotate(180deg)}.quack-accordion-body{padding:0 var(--quack-space-4) var(--quack-space-4);font-size:var(--quack-text-sm);line-height:1.6;color:var(--quack-text-secondary)}}.quack-input-group{display:flex;align-items:stretch;& > *{border-radius:0}& > :first-child{border-top-left-radius:var(--quack-radius-md);border-bottom-left-radius:var(--quack-radius-md)}& > :last-child{border-top-right-radius:var(--quack-radius-md);border-bottom-right-radius:var(--quack-radius-md)}& > :not(:first-child){margin-left:-1px}& .quack-input:focus,& .quack-select:focus{position:relative;z-index:2}.quack-input-group-addon{display:inline-flex;align-items:center;gap:var(--quack-space-2);padding:0 var(--quack-space-3);font-size:var(--quack-text-sm);color:var(--quack-text-muted);background:var(--quack-elevated);border:1px solid var(--quack-input-border);white-space:nowrap}}.quack-chip{display:inline-flex;align-items:center;gap:var(--quack-space-2);padding:var(--quack-space-1) var(--quack-space-3);font-size:var(--quack-text-sm);color:var(--quack-text-primary);background:var(--quack-elevated);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-pill);& .quack-chip-remove{display:inline-flex;padding:0;border:none;background:none;color:var(--quack-text-muted);cursor:pointer;line-height:0;font-size:1.1em;&:hover{color:var(--quack-danger)}}}.quack-chip-primary{background:hsl(from var(--quack-primary) h s l / 0.14);color:var(--quack-primary);border-color:transparent}.quack-chip-accent{background:hsl(from var(--quack-accent) h s l / 0.14);color:var(--quack-accent);border-color:transparent}.quack-segmented{display:inline-flex;padding:3px;gap:2px;background:var(--quack-elevated);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-md);.quack-segmented-seg{padding:var(--quack-space-1) var(--quack-space-4);font-size:var(--quack-text-sm);font-weight:600;color:var(--quack-text-secondary);border-radius:calc(var(--quack-radius-md) - 3px);cursor:pointer;transition:background 0.15s, color 0.15s, box-shadow 0.15s;&:hover{color:var(--quack-text-primary)}}& input[type='radio']{position:absolute;opacity:0;pointer-events:none}& input:checked + .quack-segmented-seg{color:var(--quack-text-primary);background:hsl(from var(--quack-primary) h s l / 0.16);box-shadow:inset 0 0 0 1px hsl(from var(--quack-primary) h s l / 0.4), var(--quack-shadow-sm)}& input:focus-visible + .quack-segmented-seg{outline:none;box-shadow:0 0 0 2px var(--quack-focus-ring)}}.quack-divider{border:none;border-top:1px solid var(--quack-border-200);margin:var(--quack-space-4) 0}.quack-divider-label{display:flex;align-items:center;gap:var(--quack-space-3);border:none;margin:var(--quack-space-4) 0;font-size:var(--quack-text-xs);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--quack-text-muted);&::after,&::before{content:'';flex:1;border-top:1px solid var(--quack-border-200)}}.quack-combobox{position:relative;.quack-combobox-empty{padding:var(--quack-space-3);font-size:var(--quack-text-sm);color:var(--quack-text-muted);text-align:center}.quack-combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;margin:0;padding:var(--quack-space-1);list-style:none;max-height:260px;overflow-y:auto;background:var(--quack-surface);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-md);box-shadow:var(--quack-shadow-lg)}.quack-combobox-option{display:flex;align-items:center;gap:var(--quack-space-2);padding:var(--quack-space-2) var(--quack-space-3);font-size:var(--quack-text-sm);color:var(--quack-text-primary);border-radius:var(--quack-radius-sm);cursor:pointer;&:hover,&[aria-selected]{background:var(--quack-elevated)}& mark{background:var(--quack-highlight);padding:0 1px;border-radius:2px}}}.quack-frame{display:block;overflow:hidden;background:var(--quack-elevated);border:1px solid var(--quack-border-200);border-radius:var(--quack-radius-lg);& img{width:100%;height:100%;object-fit:cover;display:block}}.quack-frame-square{aspect-ratio:1}.quack-frame-video{aspect-ratio:16 / 9}.quack-frame-portrait{aspect-ratio:3 / 4}.quack-gallery{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:var(--quack-space-3)}.quack-safe{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.quack-safe-top{padding-top:env(safe-area-inset-top)}.quack-safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.quack-btn.quack-touch,.quack-icon-btn.quack-touch,.quack-touch{min-height:44px}.quack-icon-btn.quack-touch{min-width:44px}@media (pointer: coarse){.quack-btn,.quack-icon-btn{min-height:44px}.quack-icon-btn{min-width:44px}.quack-combobox-option,.quack-menu-item{min-height:44px}}#quack-app{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;text-size-adjust:100%;-webkit-text-size-adjust:100%}#quack-app [contenteditable],#quack-app input,#quack-app textarea{-webkit-user-select:text;user-select:text}.quack-no-select{-webkit-user-select:none;user-select:none}
