:root{--bg:#f4f5f7;--surface:#fff;--text:#3f3f46;--text-muted:#71717a;--heading:#18181b;--border:#e4e4e7;--sidebar-bg:#18181b;--sidebar-text:#a1a1aa;--sidebar-active:#fafafa;--accent:#2563eb;--accent-soft:#2563eb1a;--success:#16a34a;--success-soft:#16a34a1a;--warning:#ca8a04;--warning-soft:#ca8a041f;--radius:12px;--shadow:0 1px 3px #0000000f;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#0f0f12;--surface:#18181b;--text:#d4d4d8;--text-muted:#a1a1aa;--heading:#fafafa;--border:#27272a;--sidebar-bg:#09090b;--sidebar-text:#71717a;--sidebar-active:#fafafa;--accent-soft:#60a5fa26;--success-soft:#4ade801f;--warning-soft:#facc151f;--shadow:0 1px 3px #00000059}}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3{color:var(--heading);letter-spacing:-.02em;margin:0;font-weight:600}.global-error-fallback{box-sizing:border-box;max-width:40rem;min-height:100vh;margin:0 auto;padding:2rem 1.5rem}.global-error-fallback-title{margin-bottom:.75rem;font-size:1.35rem}.global-error-fallback-text{color:var(--text-muted);margin:0 0 1rem;font-size:.95rem}.global-error-fallback-pre{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;margin:0 0 1.25rem;padding:.75rem 1rem;font-size:.8rem;overflow:auto}.global-error-fallback-reload{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--accent);color:#fff;border-radius:8px;padding:.5rem 1rem;font-weight:600}.global-error-fallback-reload:hover{filter:brightness(1.05)}.layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:240px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;padding:1.25rem 0;display:flex}.brand{border-bottom:1px solid #ffffff14;margin-bottom:1rem;padding:0 1.25rem 1.5rem}.brand-name{color:var(--sidebar-active);letter-spacing:-.02em;font-size:.95rem;font-weight:600}.brand-tag{opacity:.75;margin-top:.25rem;font-size:.75rem}.nav{flex-direction:column;gap:.25rem;padding:0 .75rem;display:flex}.nav a{color:inherit;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.9rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav a:hover{color:var(--sidebar-active);background:#ffffff0f}.nav a.active{color:var(--sidebar-active);background:#ffffff1a}.nav-icon{opacity:.85;width:1.1rem;height:1.1rem}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.75rem;display:flex}.topbar-main{min-width:0}.topbar-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;background:linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 65%, #1e3a5f));color:#fff;letter-spacing:-.02em;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;font-size:.72rem;font-weight:700;line-height:1;transition:filter .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000026}.user-menu-trigger:hover{filter:brightness(1.07)}.user-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-menu-trigger[aria-expanded=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.user-menu-avatar{-webkit-user-select:none;user-select:none}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:228px;box-shadow:var(--shadow), 0 12px 32px #0000001f;z-index:100;padding:.35rem 0;position:absolute;top:calc(100% + .45rem);right:0}@media (prefers-color-scheme:dark){.user-menu-dropdown{box-shadow:var(--shadow), 0 12px 32px #00000073}}.user-menu-header{border-bottom:1px solid var(--border);margin-bottom:.2rem;padding:.6rem 1rem .45rem}.user-menu-name{color:var(--heading);font-size:.875rem;font-weight:600;display:block}.user-menu-email{color:var(--text-muted);word-break:break-all;margin-top:.2rem;font-size:.72rem;line-height:1.35;display:block}.user-menu-userid{border-top:1px solid var(--border);margin-top:.45rem;padding-top:.45rem}.user-menu-userid-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.15rem;font-size:.65rem;font-weight:600;display:block}.user-menu-userid-row{align-items:flex-start;gap:.35rem;display:flex}.user-menu-userid-value{min-width:0;color:var(--text-muted);word-break:break-all;-webkit-user-select:all;user-select:all;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;line-height:1.35}.user-menu-copy-id{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:-.15rem -.2rem 0 0;padding:.25rem;line-height:0;display:inline-flex}.user-menu-copy-id:hover{color:var(--text);background:var(--bg)}.user-menu-copy-id:focus-visible{outline:2px solid var(--accent,#3b82f6);outline-offset:1px}.user-menu-item{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:.55rem 1rem;font-size:.875rem;display:block}.user-menu-item:hover{background:var(--bg)}.user-menu-item.danger{color:#b91c1c}@media (prefers-color-scheme:dark){.user-menu-item.danger{color:#f87171}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel-narrow{max-width:420px}.pwd-form{flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.25rem;display:flex}.auth-alert-success{background:var(--success-soft);color:var(--heading);border-color:#16a34a59;margin-bottom:1rem}.auth-alert-info{background:var(--accent-soft);color:var(--heading);border-color:#2563eb40;margin-bottom:1rem}.panel-badge.warn{color:var(--warning);background:var(--warning-soft)}.panel-upload .upload-panel-body{padding:1rem 1.25rem 1.25rem}.upload-drop{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;background:var(--bg);padding:1.5rem 1rem;transition:border-color .15s,background .15s}.upload-drop.drag-over{border-color:var(--accent);background:var(--accent-soft)}.upload-drop-conversion-ready{border-radius:calc(var(--radius) - 4px);background:color-mix(in srgb, var(--warning-soft,#fef3c7) 72%, var(--surface,var(--bg)));border:1px solid color-mix(in srgb, var(--warning,#b45309) 32%, transparent);text-align:center;margin:0 0 1.15rem;padding:.9rem 1rem}.upload-drop-conversion-ready p{color:var(--heading);margin:0;font-size:.9rem;font-weight:600}.upload-drop-conversion-ready-list{flex-direction:column;gap:.55rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.upload-drop-conversion-ready-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .65rem;font-size:.85rem;display:flex}.upload-drop-conversion-ready-name{color:var(--heading);word-break:break-word;max-width:100%;font-weight:500}.upload-drop-conversion-ready-actions{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.upload-drop-conversion-ready-actions .auth-btn{padding:.35rem .65rem;font-size:.8rem}.upload-drop-title{color:var(--heading);margin:0 0 .5rem;font-size:.95rem}.upload-drop-hint{color:var(--text-muted);margin:0 0 1rem;font-size:.8rem}.upload-file-label{cursor:pointer;display:inline-block;position:relative}.upload-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.upload-batch-hint{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem}.upload-queue{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:1rem;padding:.65rem .85rem;font-size:.875rem}.upload-queue-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.upload-queue-count{color:var(--heading);font-weight:600}.upload-clear-queue{font-size:.8rem}.upload-queue-list{margin:0;padding:0;list-style:none}.upload-queue-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.45rem 0;display:flex}.upload-queue-row:last-child{border-bottom:none}.upload-row-remove{margin-left:auto;font-size:.75rem}.upload-success-list{margin:.5rem 0 .35rem;padding-left:1.1rem;font-size:.85rem}.upload-success-list li{flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin:.2rem 0;display:flex}.upload-success-name{font-weight:600}.upload-success-html{font-size:.72rem;font-weight:600}.upload-success-html--yes{color:var(--success)}.upload-success-html--no{color:var(--text-muted)}.upload-success-pdf{font-size:.72rem;font-weight:600}.upload-success-pdf--yes{color:var(--accent)}.upload-success-pdf--no{color:var(--text-muted)}.upload-success-html--progress,.upload-success-pdf--progress{color:var(--warning)}.upload-success-id{color:var(--text-muted);font-size:.75rem}.upload-success-more{color:var(--text-muted);margin:.25rem 0 .5rem;font-size:.8rem}.upload-file-picked{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:1rem;padding:.65rem .85rem;font-size:.875rem;display:flex}.upload-file-name{color:var(--heading);word-break:break-all;font-weight:600}.upload-file-size{color:var(--text-muted);font-size:.8rem}.upload-clear{margin-left:auto}.upload-actions{margin-top:1.25rem}.upload-retry{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:.35rem;padding:0;font-weight:600;text-decoration:underline}.upload-retry:hover{opacity:.85}.auth-alert-success a{color:var(--accent);font-weight:600;text-decoration:none}.auth-alert-success a:hover{text-decoration:underline}.files-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.files-link-upload{text-decoration:none;display:inline-block}.files-banner{margin:0 1.25rem 1rem}.files-loading,.files-empty{color:var(--text-muted);margin:0;padding:1.25rem 1.25rem 1.5rem;font-size:.9rem}.files-empty a{color:var(--accent);font-weight:600;text-decoration:none}.files-empty a:hover{text-decoration:underline}.files-admin-hint{color:var(--text-muted);margin:0 1.25rem 1rem;font-size:.85rem;line-height:1.45}.files-uploader{overflow-wrap:anywhere;word-break:break-word;max-width:14rem;font-size:.875rem;display:inline-block}.files-table--admin .files-original-name{max-width:12rem}.files-table .files-id{font-size:.8rem}.guest-session-hash{word-break:break-all;font-size:.72rem}.files-original-name{overflow-wrap:anywhere;word-break:break-word;max-width:18rem;display:inline-block}.files-actions{text-align:right;white-space:nowrap}.files-action-btns{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.files-btn-dl,.files-btn-pdf{padding:.35rem .65rem;font-size:.8rem}.files-btn-del{color:var(--danger,#b91c1c);padding:.35rem .65rem;font-size:.8rem}.files-btn-del:hover:not(:disabled){color:var(--danger,#991b1b);background:var(--danger-soft,#b91c1c14)}.files-status{border-radius:6px;padding:.2rem .45rem;font-size:.8rem;font-weight:600}.files-status--uploaded{background:var(--accent-soft);color:var(--accent)}.files-status--in_progress{background:var(--warning-soft);color:var(--warning)}.files-status--complete{background:var(--success-soft);color:var(--success)}.topbar h1{font-size:1.35rem}.topbar-meta{color:var(--text-muted);font-size:.8rem}.content{flex:1;padding:1.5rem 1.75rem 2rem}.stat-card--admin{border-color:color-mix(in srgb, var(--accent) 18%, var(--border));box-shadow:0 1px 0 color-mix(in srgb, var(--accent) 12%, transparent)}.stat-card--admin .stat-label{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.stat-label-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:.15rem .4rem;font-size:.58rem;font-weight:700;line-height:1.2}.stats-single-row{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex-wrap:nowrap;align-items:stretch;gap:1rem;margin-bottom:1.5rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.stats-single-row .stat-card{flex:1 1 0;min-width:10.5rem}.stats-row-divider{background:var(--border);flex:0 0 1px;align-self:stretch;width:1px;min-height:4rem;margin:.35rem .1rem}.stats{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.25rem}.stat-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.8rem}.stat-value{color:var(--heading);letter-spacing:-.03em;font-size:1.65rem;font-weight:600}.stat-hint{color:var(--text-muted);margin-top:.35rem;font-size:.75rem}.stat-hint.up{color:var(--success)}.stat-hint.neutral{color:var(--warning)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.panel-header h2{font-size:1rem}.panel-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.stat-hint a{color:var(--accent);font-weight:600;text-decoration:none}.stat-hint a:hover{text-decoration:underline}.dashboard-link-files{font-size:.85rem;text-decoration:none}.dashboard-recent-loading,.dashboard-recent-empty{color:var(--text-muted);margin:0;padding:1.25rem 1.25rem 1.5rem;font-size:.9rem}.dashboard-recent-empty a{color:var(--accent);font-weight:600;text-decoration:none}.dashboard-recent-empty a:hover{text-decoration:underline}.dashboard-recent-more{color:var(--text-muted);margin:0;padding:.75rem 1.25rem 1.25rem;font-size:.85rem}.dashboard-recent-more a{color:var(--accent);font-weight:600;text-decoration:none}.dashboard-recent-more a:hover{text-decoration:underline}.dashboard-error{margin:1rem 1.25rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1.25rem}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}tr:last-child td{border-bottom:none}.status{align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;display:inline-flex}.status-dot{border-radius:50%;width:6px;height:6px}.status.done .status-dot{background:var(--success)}.status.pending .status-dot{background:var(--warning)}@media (width<=768px){.layout{flex-direction:column}.sidebar{flex-flow:wrap;align-items:center;gap:.5rem;width:100%;padding:1rem}.brand{border:none;flex:1;min-width:140px;margin:0;padding:0 .5rem 0 0}.nav{flex-flow:wrap;width:100%;padding:0}.nav a{flex:1;justify-content:center;min-width:120px}.content{padding:1rem}}.auth-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);padding:1.75rem 1.5rem 1.5rem}.auth-card-wide{max-width:520px}.guest-upload-panel{margin-top:.25rem}.guest-upload-heading{color:var(--heading);margin:0 0 .65rem;font-size:.95rem}.guest-upload-muted{color:var(--text-muted);margin:0 0 .75rem;font-size:.8rem}.guest-success-list{margin:.65rem 0 0;padding-left:1.1rem}.guest-success-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.guest-dl-btns{flex-wrap:wrap;gap:.35rem;display:flex}.guest-new-run{margin-top:.85rem}.auth-title{margin-bottom:.35rem;font-size:1.35rem}.auth-lead{color:var(--text-muted);margin:0 0 1.25rem;font-size:.875rem;line-height:1.45}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{color:var(--heading);flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:500;display:flex}.auth-field input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.55rem .65rem}.auth-field input:focus{outline:2px solid var(--accent-soft);outline-offset:1px;border-color:var(--accent)}.auth-field input:disabled{opacity:.65}.auth-hint{color:var(--text-muted);font-size:.75rem;font-weight:400}.auth-alert{background:var(--warning-soft);color:var(--heading);border:1px solid #ca8a0459;border-radius:8px;padding:.6rem .75rem;font-size:.85rem}.auth-btn{font:inherit;cursor:pointer;text-align:center;border:none;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:opacity .15s,background .15s;display:inline-block}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn.primary{background:var(--accent);color:#fff}.auth-btn.primary:hover:not(:disabled){filter:brightness(1.06)}.auth-btn.ghost{color:var(--text);border:1px solid var(--border);background:0 0}.auth-btn.ghost:hover:not(:disabled){background:var(--bg)}.auth-btn-block{box-sizing:border-box;width:100%}.auth-switch{color:var(--text-muted);text-align:center;margin:1.25rem 0 0;font-size:.875rem}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-marketing-hero{padding-bottom:clamp(1rem,3vw,1.5rem)}.auth-marketing-hero .landing-header--splash{padding-bottom:0}.auth-marketing-main{box-sizing:border-box;flex:1;width:100%;max-width:28rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2rem) clamp(2rem,6vw,3.5rem)}.auth-marketing-main--wide{max-width:96rem}.auth-on-landing-kicker{margin-top:0}.landing-shell .auth-on-landing .auth-title{letter-spacing:-.03em;color:var(--l-ink);margin-bottom:.4rem;font-family:Syne,system-ui,sans-serif;font-size:clamp(1.45rem,4vw,1.85rem);font-weight:800}.landing-shell .auth-on-landing .auth-lead{color:var(--l-ink-soft);margin-bottom:1.35rem}.landing-shell .auth-on-landing .auth-lead strong{color:var(--l-ink);font-weight:700}.landing-shell .auth-on-landing .auth-field span:first-of-type{color:var(--l-ink)}.landing-shell .auth-on-landing .auth-field input{color:var(--l-ink);background:#ffffff14;border-color:#d8b4fe59}.landing-shell .auth-on-landing .auth-field input::placeholder{color:#c9bfe8a6}.landing-shell .auth-on-landing .auth-field input:focus{outline-offset:1px;background:#ffffff1a;border-color:#c4b5fdbf;outline:2px solid #c4b5fd59}.landing-shell .auth-on-landing .auth-hint{color:var(--l-ink-soft)}.auth-forgot-wrap{text-align:right;margin:-.25rem 0 0}.landing-shell .auth-on-landing .auth-forgot-link{color:#d8b4fe;border-bottom:1px solid #c4b5fd73;font-size:.85rem;font-weight:700;text-decoration:none}.landing-shell .auth-on-landing .auth-forgot-link:hover{color:#fff}.auth-verify-status{margin-bottom:0}.auth-verify-actions{flex-direction:column;gap:.65rem;display:flex}.landing-shell .auth-on-landing .auth-verify-second-cta{justify-content:center;margin-top:0}.landing-shell .auth-on-landing .auth-alert-info{color:#e0f2fe;background:#93c5fd24;border:1px solid #93c5fd61}.landing-shell .auth-on-landing .auth-switch{color:var(--l-ink-soft)}.landing-shell .auth-on-landing .auth-switch a{color:#d8b4fe;border-bottom:1px solid #c4b5fd73;font-weight:700;text-decoration:none}.landing-shell .auth-on-landing .auth-switch a:hover{color:#fff}.landing-shell .auth-on-landing .landing-cta:disabled{opacity:.65;cursor:not-allowed;pointer-events:none;filter:none;transform:none}.auth-boot{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-boot-inner{text-align:center;color:var(--text-muted);font-size:.9rem}.auth-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:2rem;height:2rem;margin:0 auto .75rem;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.admin-users-toolbar{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.admin-users-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow-x:auto}.admin-users-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-users-table th,.admin-users-table td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .85rem}.admin-users-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.admin-users-table tbody tr:last-child td{border-bottom:none}.admin-users-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.admin-role-pill{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.admin-role-pill.admin{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.admin-role-pill.user{background:var(--border);color:var(--text-muted)}.admin-modal-backdrop{z-index:80;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.admin-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:1.25rem 1.35rem;box-shadow:0 18px 48px #0000002e}.admin-modal h3{margin:0 0 1rem;font-size:1.05rem}.admin-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.admin-table-action.auth-btn{padding:.35rem .65rem;font-size:.8rem}@keyframes landing-pulse-ring{0%,to{box-shadow:0 0 #fbbf248c}50%{box-shadow:0 0 0 8px #0000}}@keyframes landing-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}.landing-shell{--accent:#c4b5fd;--accent-soft:#c4b5fd38;--l-paper:#1a1030;--l-paper2:#23143c;--l-ink:#faf8ff;--l-ink-soft:#c9bfe8;--l-line:#c4b5fd47;--l-card:#ffffff14;--l-cta-yellow:#facc15;--l-cta-yellow-text:#1a1003;isolation:isolate;min-height:100vh;color:var(--l-ink);background:#1a1432;flex-direction:column;font-family:Outfit,system-ui,sans-serif;display:flex;position:relative}.landing-shell>*{z-index:1;position:relative}.landing-hero-splash{color:#fff;padding:0 clamp(1rem,4vw,2.5rem) clamp(2.5rem,8vw,4.5rem);position:relative}.landing-header--splash{z-index:2;box-shadow:none;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0 2rem;display:flex;position:relative}.landing-header--splash .landing-brand{color:#fff;text-shadow:0 2px 16px #00000040;font-family:Syne,system-ui,sans-serif;font-size:1.1rem;font-weight:800}.landing-header--splash .landing-brand-mark{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border:2px solid #ffffff73}.landing-header--splash .landing-brand-mark--pdf{background:#facc1559;border-color:#facc15bf}.landing-header--splash .landing-brand-arrow{opacity:.85;color:#fef9c3}.landing-nav-link--splash{border-radius:8px;padding:.45rem .5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s;color:#ffffffeb!important}.landing-nav-link--splash:hover{background:#ffffff1f;color:#fff!important}.landing-hero-splash-grid{z-index:2;grid-template-columns:1fr;align-items:center;gap:2.5rem;max-width:72rem;margin:0 auto;display:grid;position:relative}@media (width>=960px){.landing-hero-splash-grid{grid-template-columns:1.05fr .95fr;gap:3rem}}.landing-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.landing-badge{letter-spacing:.06em;text-transform:uppercase;color:#fefce8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000038;border:1px solid #ffffff47;border-radius:999px;padding:.35rem .65rem;font-size:.7rem;font-weight:700;display:inline-block}.landing-badge--pulse{color:#1a1003;background:#facc1559;border-color:#facc15d9;animation:2.8s ease-in-out infinite landing-pulse-ring}@media (prefers-reduced-motion:reduce){.landing-badge--pulse{animation:none}}.landing-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#fde68a;margin:0 0 .75rem;font-size:.75rem;font-weight:700}.landing-title{letter-spacing:-.04em;text-shadow:0 4px 28px #00000059;margin:0 0 1.1rem;font-family:Syne,system-ui,sans-serif;font-size:clamp(2.15rem,6.5vw,3.65rem);font-weight:800;line-height:1.05}.landing-title-accent{color:#fde68a}.landing-hero-copy .landing-lead{color:#ffffffe6;text-shadow:0 1px 12px #0003;max-width:38rem;margin:0 0 1.75rem;font-size:1.08rem;line-height:1.65}.landing-hero-copy .landing-lead strong{color:#fff;font-weight:700}.landing-actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.landing-cta{cursor:pointer;border:none;justify-content:center;align-items:center;gap:.35rem;font-family:inherit;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;position:relative}.landing-cta:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.landing-cta:hover{transform:none}}.landing-cta--primary{background:var(--l-cta-yellow);color:var(--l-cta-yellow-text);border:2px solid #ffffff73;border-radius:999px;padding:.85rem 1.5rem;box-shadow:0 4px #a16207,0 8px 24px #00000047}.landing-cta--primary:hover{filter:brightness(1.05);box-shadow:0 4px #a16207,0 16px 40px #0006}.landing-cta--ghost{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:2px solid #ffffff73;border-radius:999px;padding:.85rem 1.35rem}.landing-cta--ghost:hover{background:#ffffff38}.landing-cta--header{background:var(--l-cta-yellow);color:var(--l-cta-yellow-text);border:2px solid #ffffff59;border-radius:999px;padding:.5rem 1.1rem;font-size:.85rem;box-shadow:0 3px #a16207}.landing-cta--header-ghost{color:#fff;box-shadow:none;background:#ffffff26;border:2px solid #ffffff80}.landing-cta--inline{padding:.65rem 1.2rem;font-size:.9rem}.landing-cta--block{box-sizing:border-box;width:100%}.landing-cta--outline-dark{color:var(--l-ink);border:2px solid var(--l-ink);background:0 0;border-radius:999px;padding:.75rem 1.25rem}.landing-cta--outline-dark:hover{background:color-mix(in srgb, var(--l-ink) 6%, transparent)}.landing-hero-showcase{perspective:900px;justify-content:center;display:flex}.landing-showcase-stack{width:100%;max-width:22rem;position:relative}.landing-showcase-card--back{opacity:.85;background:#6d28d9;border-radius:1.25rem;position:absolute;inset:.75rem -.5rem -.75rem .5rem;transform:rotate(4deg);box-shadow:0 20px 50px #00000059}.landing-showcase-card--main{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f0a1e8c;border:2px solid #ffffff59;border-radius:1.25rem;padding:1.1rem 1.15rem 1.25rem;animation:6s ease-in-out infinite landing-float;position:relative;box-shadow:0 24px 48px #0006,inset 0 1px #ffffff26}@media (prefers-reduced-motion:reduce){.landing-showcase-card--main{animation:none}}.landing-showcase-chrome{gap:.35rem;margin-bottom:1rem;display:flex}.landing-showcase-chrome span{background:#fb7185;border-radius:50%;width:.65rem;height:.65rem}.landing-showcase-chrome span:nth-child(2){background:#fbbf24}.landing-showcase-chrome span:nth-child(3){background:#4ade80}.landing-showcase-flow{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;display:flex}.landing-showcase-pill{border:2px solid #ffffff4d;border-radius:1rem;flex-direction:column;align-items:center;min-width:5.5rem;padding:.65rem 1rem;display:flex}.landing-showcase-pill--md{background:#22d3ee61}.landing-showcase-pill--pdf{background:#fbbf246b}.landing-showcase-ext{color:#fff;font-family:Syne,sans-serif;font-size:1.35rem;font-weight:800}.landing-showcase-name{color:#ffffffd9;margin-top:.15rem;font-size:.72rem;font-weight:600}.landing-showcase-bolt{filter:drop-shadow(0 0 12px #facc15cc);font-size:1.5rem}.landing-showcase-tagline{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:#fde68a;margin:1rem 0 0;font-size:.8rem;font-weight:600}.landing-main{box-sizing:border-box;flex:1;width:100%;max-width:56rem;margin:0 auto;padding:clamp(1.75rem,4vw,2.75rem) clamp(1.25rem,4vw,2rem) clamp(2.5rem,6vw,4rem)}.landing-hype-strip{z-index:3;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;margin:-.5rem 0 2.25rem;display:grid;position:relative}.landing-hype-item{color:#1a0a24;border:2px solid #581c8759;border-radius:1rem;flex-direction:column;gap:.15rem;padding:1rem 1rem 1.1rem;font-size:.8rem;line-height:1.35;transition:transform .2s;display:flex;box-shadow:0 4px #581c8733,0 12px 28px -12px #4c1d9559}.landing-hype-item:hover{transform:translate(-2px,-2px);box-shadow:0 6px #581c8738,0 16px 32px -10px #6d28d961}@media (prefers-reduced-motion:reduce){.landing-hype-item:hover{transform:none}}.landing-hype-item strong{font-family:Syne,sans-serif;font-size:1rem;font-weight:800}.landing-hype-item--cyan{background:#22d3ee}.landing-hype-item--magenta{background:#e879f9}.landing-hype-item--amber{background:#fbbf24}.landing-hype-icon{opacity:.85;margin-bottom:.15rem;font-size:1.1rem;font-weight:800}.landing-section-head{margin-bottom:1.25rem}.landing-section-head--pop{margin-bottom:1.35rem}.landing-section-kicker{letter-spacing:.12em;text-transform:uppercase;color:#e9d5ff;background:#7c3aed59;border:1px solid #c4b5fd59;border-radius:6px;margin-bottom:.5rem;padding:.35rem .65rem;font-size:.7rem;font-weight:800;display:inline-block}.landing-upload-title{color:var(--l-ink);letter-spacing:-.03em;margin:0 0 .4rem;font-family:Syne,sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:800}.landing-section-sub{color:var(--l-ink-soft);max-width:40rem;margin:0;font-size:.95rem;line-height:1.55}.landing-upload-section{margin-bottom:clamp(2rem,5vw,3rem);scroll-margin-top:1.25rem}.landing-guest-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff17;border:1px solid #d8b4fe47;border-radius:1.25rem;padding:clamp(1.25rem,3vw,1.65rem);box-shadow:inset 0 0 0 1px #ffffff0f,0 20px 50px -28px #5b21b666}.landing-logged-upload-card{background:#a78bfa33;border:1px solid #f472b66b;border-radius:1.25rem;padding:1.5rem 1.35rem;box-shadow:0 12px 40px -20px #6d28d959}.landing-logged-upload-text{color:var(--l-ink-soft);margin:0 0 1rem;font-size:.95rem;line-height:1.55}.landing-logged-upload-actions{flex-wrap:wrap;gap:.75rem;display:flex}.landing-columns{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-items:stretch;gap:clamp(1rem,3vw,1.5rem);display:grid}.landing-card{background:#ffffff13;border:1px solid #ffffff24;border-radius:1.15rem;padding:1.5rem 1.35rem 1.35rem;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 16px 40px -24px #00000073,inset 0 1px #ffffff0f}.landing-card--neo:hover{transform:translate(-2px,-2px);box-shadow:0 20px 44px -22px #4c1d9559,inset 0 1px #ffffff14}.landing-card--guest{border-color:#22d3ee59;box-shadow:0 0 0 1px #22d3ee1f,0 16px 40px -24px #0000008c}.landing-card--accent{background:#ffffff12;border-color:#fbbf2466;box-shadow:0 0 0 1px #fbbf241f,0 16px 40px -24px #0000008c}.landing-card-tag{letter-spacing:.1em;text-transform:uppercase;border:1px solid #0f081480;border-radius:6px;margin-bottom:.65rem;padding:.3rem .55rem;font-size:.65rem;font-weight:800;display:inline-block}.landing-card-tag--mint{background:#a5f3fc}.landing-card-tag--sun{background:#fde68a}.landing-card-title{color:var(--l-ink);letter-spacing:-.02em;margin:0 0 .5rem;font-family:Syne,sans-serif;font-size:1.2rem;font-weight:800}.landing-card-lead{color:var(--l-ink-soft);margin:0 0 .85rem;font-size:.9rem;line-height:1.55}.landing-list{color:var(--l-ink-soft);margin:0 0 1.1rem;padding-left:1.2rem;font-size:.875rem;line-height:1.6}.landing-list li{margin-bottom:.4rem}.landing-list li::marker{color:#c4b5fd;font-weight:700}.landing-list strong{color:var(--l-ink)}.landing-card-link{color:#d8b4fe;border-bottom:2px solid #c4b5fd8c;font-size:.9rem;font-weight:800;text-decoration:none}.landing-card-link:hover{color:#f5f3ff}.landing-card-actions{flex-direction:column;gap:.55rem;display:flex}.landing-footer{text-align:center;color:var(--l-ink-soft);background:#00000038;border-top:1px solid #ffffff1a;padding:1.5rem clamp(1rem,4vw,2rem);font-size:.85rem}.landing-footer p{margin:0;max-width:40rem;margin-inline:auto;line-height:1.5}.landing-footer strong{color:var(--l-ink)}.landing-footer a{color:#d8b4fe;border-bottom:1px solid #c4b5fd73;font-weight:700;text-decoration:none}.landing-footer a:hover{color:#fff}.landing-footer-secondary{opacity:.92;margin-top:.35rem}.about-page-lead{margin-bottom:1rem}.about-page-contact{color:var(--l-ink);margin:0 0 1.25rem;font-size:1rem}.about-page-mail{color:#d8b4fe;border-bottom:1px solid #c4b5fd73;font-weight:600;text-decoration:none}.about-page-mail:hover{color:#fff}.cookie-policy-page{max-width:90rem}.cookie-policy-page .auth-title{margin-bottom:1rem}.cookie-policy-section{margin-bottom:1.35rem}.cookie-policy-section h2{color:var(--l-ink);margin:0 0 .5rem;font-size:1.1rem}.cookie-policy-section h3{color:var(--l-ink);margin:.9rem 0 .4rem;font-size:1rem}.cookie-policy-section h4{color:var(--l-ink);margin:0 0 .35rem;font-size:.95rem}.cookie-policy-section p,.cookie-policy-section li{color:var(--l-ink-soft);line-height:1.55}.cookie-policy-section ul{margin:.2rem 0 0;padding-left:1.15rem}.cookie-policy-card{background:#ffffff0a;border:1px solid #d8b4fe40;border-radius:.8rem;margin:.7rem 0 .75rem;padding:.8rem .9rem}.auth-recaptcha{justify-content:center;margin:.5rem 0 1rem;display:flex}.auth-recaptcha--disabled{opacity:.55;pointer-events:none}.auth-recaptcha>div{transform-origin:top}.auth-recaptcha-doc{opacity:.85;font-size:.8rem;line-height:1.45}.auth-oauth{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-top:1.25rem}.auth-oauth--disabled{opacity:.55;pointer-events:none}.auth-oauth-divider{letter-spacing:.04em;text-transform:uppercase;color:var(--l-ink-muted,#ffffff8c);align-items:center;gap:.75rem;margin:0 0 1rem;font-size:.8rem;display:flex}.auth-oauth-divider:before,.auth-oauth-divider:after{content:"";background:#ffffff1f;flex:1;height:1px}.auth-oauth-google{box-sizing:border-box;justify-content:center;width:100%;min-width:0;max-width:100%;display:flex}.auth-oauth-google iframe{max-width:100%!important}.auth-oauth-github-wrap{justify-content:center;width:100%;margin-top:.75rem;display:flex}.auth-oauth-google+.auth-oauth-github-wrap{margin-top:.75rem}.auth-oauth-github-btn{box-sizing:border-box;color:#f0f3f6;background:#24292f;border:1px solid #ffffff1f;border-radius:4px;justify-content:center;align-items:center;gap:.55rem;width:100%;max-width:400px;min-height:40px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.auth-oauth-github-btn:hover{background:#32383f;border-color:#fff3}.auth-oauth-github-icon{flex-shrink:0}.landing-guest-panel-inner{max-width:100%}.landing-guest-tagline{color:var(--l-ink);margin:0 0 .65rem;font-size:1rem;font-weight:500;line-height:1.5}.landing-guest-tagline a{color:#d8b4fe;font-weight:700;text-decoration:none}.landing-guest-tagline a:hover{text-decoration:underline}.landing-guest-fineprint{color:var(--l-ink-soft);margin:0 0 1.1rem;font-size:.8rem;line-height:1.45}.landing-guest-fineprint summary{cursor:pointer;color:#c4b5fd;font-weight:600;list-style-position:outside}.landing-guest-fineprint summary:hover{color:#e9d5ff}.landing-guest-fineprint[open] summary{margin-bottom:.5rem}.landing-guest-fineprint p{margin:0;padding-left:.15rem}.landing-guest-lead{color:var(--l-ink-soft);margin:0 0 1rem;font-size:.9rem;line-height:1.55}.landing-guest-lead a{color:var(--accent);border-bottom:2px solid #c4b5fd;font-weight:700;text-decoration:none}.landing-guest-switch{color:var(--l-ink-soft);margin-top:1.15rem;margin-bottom:0}.landing-guest-switch a{color:var(--accent);font-weight:700}.landing-shell .guest-upload-panel--landing{background:0 0;border:none;margin:0;padding:0}.landing-shell .guest-landing-drop{cursor:pointer;background:#ffffff12;border:2px dashed #d8b4fe8c;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:7.5rem;padding:1.35rem 1.15rem;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative}.landing-shell .guest-landing-drop:hover:not(.guest-landing-drop--busy){background:#7c3aed1f;border-color:#c4b5fdbf;box-shadow:0 0 0 3px #7c3aed26}.landing-shell .guest-landing-drop--over:not(.guest-landing-drop--busy){background:#db27771f;border-style:solid;border-color:#f472b6}.landing-shell .guest-landing-drop--busy{cursor:wait;opacity:.92;border-style:solid;border-color:#c4b5fd80}.landing-shell .guest-landing-drop-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.landing-shell .guest-landing-drop--busy .guest-landing-drop-input{pointer-events:none;cursor:wait}.landing-shell .guest-landing-drop-text{text-align:center;pointer-events:none}.landing-shell .guest-landing-drop-text--main{color:var(--l-ink);font-size:1rem;font-weight:600}.landing-shell .guest-landing-drop-text--hint{color:var(--l-ink-soft);font-size:.8rem}.landing-shell .guest-landing-drop-text--busy{color:#e9d5ff;font-size:1rem;font-weight:700}.landing-shell .guest-landing-retry{background:#fbbf241f;border:1px solid #fbbf2466;border-radius:.65rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-top:.85rem;padding:.65rem .85rem;display:flex}.landing-shell .guest-landing-retry-name{color:var(--l-ink);word-break:break-word;font-size:.85rem;font-weight:600}.landing-shell .guest-landing-retry-actions{flex-wrap:wrap;gap:.45rem;display:flex}.landing-shell .guest-landing-retry-btn{font:inherit;cursor:pointer;color:#fff;background:#7c3aed;border:none;border-radius:999px;padding:.4rem .75rem;font-size:.8rem;font-weight:700}.landing-shell .guest-landing-retry-btn:hover{filter:brightness(1.06)}.landing-shell .guest-landing-retry-btn--ghost{color:#e9d5ff;background:0 0;border:1px solid #c4b5fd73}.landing-shell .guest-landing-success{padding:.15rem 0 .25rem}.landing-shell .guest-landing-success-title{color:var(--l-ink);margin:0 0 .65rem;font-size:.95rem;font-weight:700}.landing-shell .upload-success-html--no,.landing-shell .upload-success-pdf--no,.landing-shell .upload-success-id,.landing-shell .upload-success-more{color:var(--l-ink-soft)}.landing-shell .upload-success-pdf--progress{color:#fbbf24}.landing-shell .guest-landing-again{width:100%;font:inherit;color:#e9d5ff;cursor:pointer;background:#ffffff0f;border:1px solid #c4b5fd66;border-radius:999px;margin-top:.85rem;padding:.55rem 1rem;font-size:.9rem;font-weight:700}.landing-shell .guest-landing-again:hover{background:#7c3aed33}.landing-shell .auth-btn.ghost{color:var(--l-ink);border-color:#c4b5fd73;border-radius:999px;font-weight:600}.landing-shell .auth-btn.ghost:hover:not(:disabled){background:#ffffff14}.landing-shell .auth-alert,.landing-shell .auth-alert-success{border-radius:.85rem;margin-bottom:.75rem}.landing-shell .auth-alert{color:#fde68a;background:#fef3c71f;border:1px solid #fbbf2459}.landing-shell .auth-alert-success{color:#a7f3d0;background:#10b9811f;border:1px solid #34d39959}.landing-shell .guest-quota-strip{border-radius:.75rem;margin:0 0 .9rem;padding:.7rem .95rem;font-size:.88rem;line-height:1.5}.landing-shell .guest-quota-strip--loading{color:var(--l-ink-soft);margin-bottom:.75rem}.landing-shell .guest-quota-strip--ok{color:#064e3b;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid #34d399;box-shadow:inset 0 1px #fff9}.landing-shell .guest-quota-strip--ok strong{color:#022c22}.landing-shell .guest-quota-strip-note{color:#047857;font-size:.82rem;font-weight:500}.landing-shell .guest-landing-drop--disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.landing-shell .guest-quota-exceeded{background:linear-gradient(135deg,#fffbeb 0%,#fde68a 45%,#fcd34d 100%);border:3px solid #b45309;border-radius:1rem;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1.1rem 1.15rem 1.15rem;display:flex;box-shadow:0 0 0 1px #b4530940,0 12px 28px -8px #b4530959}.landing-shell .guest-quota-exceeded-icon{color:#fffbeb;background:#b45309;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.35rem;font-weight:900;line-height:1;display:flex;box-shadow:0 2px 8px #b4530966}.landing-shell .guest-quota-exceeded-body{min-width:0}.landing-shell .guest-quota-exceeded-title{color:#78350f;letter-spacing:-.02em;margin:0 0 .45rem;font-family:Syne,system-ui,sans-serif;font-size:1.15rem;font-weight:800}.landing-shell .guest-quota-exceeded-lead{color:#451a03;margin:0 0 .55rem;font-size:.95rem;line-height:1.55}.landing-shell .guest-quota-exceeded-hint{color:#92400e;margin:0;font-size:.85rem;line-height:1.5}.landing-shell .guest-quota-exceeded-hint a{color:#7c3aed;text-underline-offset:2px;font-weight:800;text-decoration:underline}.landing-shell .guest-quota-exceeded-hint a:hover{color:#5b21b6}.landing-brand{align-items:center;gap:.4rem;display:flex}.landing-brand-mark{border-radius:999px;padding:.25rem .5rem}.landing-brand-arrow{font-weight:600}.landing-nav{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.landing-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.language-switcher{flex-wrap:wrap;align-items:center;gap:.2rem;display:inline-flex}.language-switcher-btn{font:inherit;color:inherit;cursor:pointer;opacity:.85;background:#ffffff0f;border:1px solid #ffffff38;border-radius:6px;padding:.35rem .55rem;font-size:.75rem;font-weight:600;transition:opacity .15s,background .15s,border-color .15s}.landing-header--splash .language-switcher-btn{color:#fff;background:#0003;border-color:#ffffff47}.language-switcher-btn:hover{opacity:1;background:#ffffff1f}.language-switcher-btn--active{opacity:1;border-color:var(--accent,#7c3aed);background:#7c3aed33}.topbar .language-switcher-btn{border-color:var(--border);background:var(--surface-2,var(--surface));color:var(--text);opacity:1}.topbar .language-switcher-btn:hover{background:var(--border)}.topbar .language-switcher-btn--active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent)}.toast-stack{top:max(1rem, env(safe-area-inset-top,0px));left:max(1rem, env(safe-area-inset-left,0px));z-index:1200;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed}.toast-item{background:color-mix(in srgb, var(--success,#16a34a) 18%, var(--surface));border:1px solid color-mix(in srgb, var(--success,#16a34a) 42%, transparent);min-width:12rem;max-width:min(24rem,100vw - 2rem);color:var(--heading);box-shadow:var(--shadow);border-radius:8px;padding:.65rem .8rem}.cookie-overlay{z-index:1400;pointer-events:auto;background:#0a07149e;align-items:flex-end;display:flex;position:fixed;inset:0}.cookie-toolbar{background:#1a1030f0;border:1px solid #c4b5fd59;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;width:calc(100% - 2rem);margin:0 auto 1rem;padding:.85rem 1rem;display:flex;position:relative;bottom:1rem;left:1rem;right:1rem;box-shadow:0 12px 30px #00000059,inset 0 1px #ffffff14}.cookie-toolbar-text{color:#e9ddff;margin:0;font-size:.9rem;line-height:1.45}.cookie-toolbar-text strong{color:#fff}.cookie-toolbar-text a{color:#d8b4fe;border-bottom:1px solid #d8b4fe8c;font-weight:700;text-decoration:none}.cookie-toolbar-text a:hover{color:#fff}.cookie-toolbar-btn{flex-shrink:0;padding:.5rem .95rem}@media (width<=640px){.cookie-toolbar{width:calc(100% - 1.5rem);margin-bottom:.75rem}.cookie-toolbar-btn{width:100%}}
