@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 700;font-display:block;src:url(/assets/playfair-display-latin-BOwq7MWX.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 500;font-display:block;src:url(/assets/playfair-display-latin-italic-DmbndNpe.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#faf9f7;--bg-glow:radial-gradient(1100px 520px at 12% -10%, #e0b3540f, transparent 60%), radial-gradient(900px 480px at 100% 0%, #121b2b0a, transparent 55%);--surface:#fff;--surface-2:#f0ede4;--surface-hover:#e3ded2;--border:#dcd6c8;--border-strong:#c4baab;--text:#121b2b;--text-muted:#3d4a60;--text-faint:#5f6f87;--accent:#e0b354;--accent-2:#c49942;--accent-ink:#8a6a20;--accent-gradient:linear-gradient(135deg, var(--accent), var(--accent-2));--accent-soft:#e0b35426;--accent-border:#e0b35466;--success:#10b981;--success-soft:#10b98121;--success-border:#10b98159;--success-ink:#046b4d;--danger:#dc2626;--danger-soft:#dc262617;--danger-border:#dc26264d;--danger-ink:#991b1b;--warning:#d97706;--warning-soft:#d9770621;--warning-border:#d977064d;--warning-ink:#92400e;--radius-xs:4px;--radius-sm:8px;--btn-font-size:.84rem;--btn-padding-y:8px;--btn-padding-x:14px;--radius-md:12px;--radius-lg:16px;--space-micro:4px;--space-tight:8px;--space-compact:12px;--space-md:16px;--space-lg:clamp(16px, 3.2vw, 24px);--space-xl:clamp(20px, 4.2vw, 32px);--space-2xl:clamp(28px, 6vw, 48px);--space-3xl:clamp(36px, 8vw, 64px);--text-xs:clamp(.72rem, .69rem + .14vw, .78rem);--text-sm:clamp(.8rem, .78rem + .1vw, .85rem);--text-base:clamp(.88rem, .85rem + .15vw, .95rem);--text-md:clamp(.95rem, .9rem + .25vw, 1.05rem);--text-lg:clamp(1.15rem, 1rem + .75vw, 1.45rem);--text-xl:clamp(1.5rem, 1.15rem + 1.75vw, 2.25rem);--tap-min:44px;--shadow-card:0 1px 0 #ffffff80 inset, 0 10px 30px -20px #0f172a29;--shadow-pop:0 20px 50px -20px #0f172a3d;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--nav-bg:#121b2b;--nav-surface:#1e2d48;--nav-border:#ffffff14;--nav-text:#faf9f7;--nav-text-muted:#9faec7;--nav-active-bg:#e0b3542e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);margin:0;line-height:1.45}body:before{content:"";z-index:-1;background:var(--bg-glow);pointer-events:none;position:fixed;inset:0}img,svg,video,canvas,iframe{max-width:100%}img,video,canvas{height:auto}pre{max-width:100%;overflow-x:auto}p,li,td,dd,h1,h2,h3{overflow-wrap:break-word}::selection{background:var(--accent-soft);color:var(--text)}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:var(--radius-xs)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#0f172a59}.shell{align-items:stretch;min-height:100dvh;display:flex}.sidebar{background:var(--nav-bg);border-right:1px solid var(--nav-border);z-index:30;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:22px;width:246px;height:100dvh;padding:22px 14px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;padding:0 8px;display:flex}.sidebar-brand-logo{object-fit:contain;border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;width:34px;height:34px}h1{font-size:var(--text-md);letter-spacing:-.02em;margin:0;font-weight:750}h1 a{color:var(--nav-text);text-decoration:none}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-logout{border-top:1px solid var(--nav-border);padding-top:14px}.sidebar-logout .sidebar-switch-role{width:100%}.sidebar-group-label{text-transform:uppercase;letter-spacing:.09em;color:var(--nav-text-muted);margin:16px 10px 6px;font-size:.68rem;font-weight:700}.sidebar-group-label:first-child{margin-top:0}.sidebar-link{color:var(--nav-text-muted);border-radius:var(--radius-sm);transition:color .15s var(--ease), background-color .15s var(--ease), transform .15s var(--ease);align-items:center;gap:10px;padding:9px 10px;font-size:.85rem;font-weight:550;text-decoration:none;display:flex;position:relative}.sidebar-link svg{opacity:.85;flex-shrink:0}.sidebar-link:hover{color:var(--nav-text);background:var(--nav-surface);transform:translate(2px)}.sidebar-link.active{color:var(--nav-text);background:var(--nav-active-bg);box-shadow:inset 3px 0 0 var(--accent-2)}.sidebar-switch-role{border:1px dashed var(--nav-border);color:var(--nav-text-muted);font-size:var(--btn-font-size);padding:var(--btn-padding-y) var(--btn-padding-x);background:0 0;align-items:center;gap:10px;display:flex}.sidebar-switch-role:hover{color:var(--nav-text);border-color:var(--nav-text-muted)}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:25;position:sticky;top:0}@media (width>=901px){.topbar{z-index:31}}.topbar-inner{align-items:center;gap:12px;width:100%;max-width:1080px;margin:0 auto;padding:12px clamp(16px,4vw,40px);display:flex}@media (width>=1440px){.topbar-inner{max-width:1200px}}@media (width>=1920px){.topbar-inner{max-width:1360px}}.topbar-burger{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none;border-radius:var(--radius-sm);flex-shrink:0;padding:8px;display:none}.topbar-status-row{scrollbar-width:none;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.wallet-cluster{align-items:center;gap:8px;display:flex}.topbar-status-row::-webkit-scrollbar{display:none}.topbar-status-row>*{flex-shrink:0}.wallet-control{position:relative}.wallet-control-connect,.wallet-control-trigger,.wallet-adapter-button.wallet-adapter-button-trigger{height:34px;padding:0 var(--btn-padding-x);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:var(--btn-font-size);box-shadow:none;transition:border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease);align-items:center;gap:7px;font-weight:600;display:inline-flex}.wallet-control-connect:hover:not(:disabled),.wallet-control-trigger:hover{border-color:var(--accent-border);background:var(--accent-soft);filter:none;transform:none}.wallet-control-trigger:focus-visible,.wallet-control-connect:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wallet-control-trigger:active{transform:translateY(1px)}.wallet-control-icon{border-radius:var(--radius-xs);flex-shrink:0}.wallet-control-address{color:var(--text);font-size:.78rem}.wallet-control-divider{background:var(--border);flex-shrink:0;width:1px;height:14px}.wallet-control-sol-icon{color:var(--text-faint);flex-shrink:0}.wallet-control-balance{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem;font-weight:600}.wallet-control-chevron{color:var(--text-faint);transition:transform .18s var(--ease);flex-shrink:0;transform:rotate(90deg)}.wallet-control-trigger[aria-expanded=true] .wallet-control-chevron{transform:rotate(-90deg)}.wallet-control-backdrop{z-index:40;position:fixed;inset:0}.wallet-control-panel{z-index:41;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);width:300px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-pop);flex-direction:column;gap:10px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.wallet-control-panel-row{flex-direction:column;gap:3px;display:flex}.wallet-control-panel-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:.7rem;font-weight:650}.wallet-control-full-address{color:var(--text);word-break:break-all;font-size:.78rem}.wallet-control-network{color:var(--text);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.wallet-control-panel-actions{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:4px;display:flex}.wallet-control-panel-actions button{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);box-shadow:none;align-items:center;gap:8px;padding:8px 10px;font-size:.82rem;font-weight:600;display:flex}.wallet-control-panel-actions button:hover{background:var(--surface-hover);filter:none;transform:none}@media (width<=640px){.wallet-control-panel{width:auto;position:fixed;top:60px;left:16px;right:16px}}.devnet-faucet-btn{border-radius:var(--radius-sm);border:1px dashed var(--border);height:34px;color:var(--text-muted);box-shadow:none;white-space:nowrap;transition:border-color .18s var(--ease), color .18s var(--ease), background .18s var(--ease);background:0 0;align-items:center;gap:6px;padding:0 10px;font-size:.76rem;font-weight:600;text-decoration:none;display:inline-flex}.devnet-faucet-btn:hover{color:var(--accent-2);border-color:var(--accent-border);background:var(--accent-soft);filter:none;transform:none}.devnet-faucet-btn:active{transform:translateY(1px)}.devnet-faucet-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.devnet-faucet-btn:disabled{opacity:.6;cursor:default}.sidebar-backdrop{display:none}.app{width:100%;max-width:1080px;padding:var(--space-xl) clamp(16px, 4vw, 40px) calc(var(--space-3xl) + 70px);margin:0 auto}@media (width>=1440px){.app{max-width:1200px}}@media (width>=1920px){.app{max-width:1360px}}.public-shell{background:var(--bg);min-height:100dvh}.public-shell-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(16px,4vw,40px);display:flex}.public-shell-brand{color:var(--text);align-items:center;gap:10px;font-size:1.05rem;font-weight:750;display:flex}.public-shell-brand-logo{object-fit:contain;border-radius:50%;width:28px;height:28px}.public-shell-back{color:var(--text-muted);transition:color .15s var(--ease);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:inline-flex}.public-shell-back:hover{color:var(--accent)}.public-shell-nav{align-items:center;gap:4px;display:flex}.public-shell-nav-link{border-radius:var(--radius-sm);color:var(--text-muted);transition:color .15s var(--ease), background .15s var(--ease);padding:6px 12px;font-size:.85rem;font-weight:600}.public-shell-nav-link:hover{color:var(--text);background:var(--surface-2)}.public-shell-nav-link.active{color:var(--accent);background:var(--accent-soft)}@media (width<=640px){.public-shell-header{flex-wrap:wrap;row-gap:8px}.public-shell-nav{order:1;justify-content:center;width:100%}}main{display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h2{font-size:var(--text-base);letter-spacing:-.01em;color:var(--text);align-items:center;gap:8px;margin:0 0 14px;font-weight:650;display:flex}h3{font-size:var(--text-md);color:var(--text);margin:0 0 12px;font-weight:700}p{color:var(--text-muted);margin:0 0 10px}p:last-child{margin-bottom:0}a{color:var(--accent-2)}code,kbd,samp{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.92em}.mono{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);word-break:break-all;letter-spacing:-.01em}.hint{font-size:var(--text-xs);color:var(--text-faint);overflow-wrap:anywhere;margin:0 0 10px;line-height:1.55}.hint.error{color:var(--danger)}@keyframes pill-pulse{0%,to{box-shadow:0 0 0 0 var(--success-border)}50%{box-shadow:0 0 0 4px #0000}}.plan-badge{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-2);border:1px solid var(--accent-border);cursor:pointer;transition:border-color .18s var(--ease), transform .18s var(--ease);align-items:center;gap:6px;padding:6px 10px;font-size:.76rem;font-weight:650;display:inline-flex}.plan-badge:hover,.plan-badge:focus-visible{border-color:var(--accent);transform:translateY(-1px)}.validator-status{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);align-items:center;gap:6px;margin-left:auto;padding:6px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.validator-status-dot{background:var(--text-faint);border-radius:999px;flex-shrink:0;width:7px;height:7px}.validator-status.ok{color:var(--success-ink);background:var(--success-soft);border-color:var(--success-border)}.validator-status.ok .validator-status-dot{background:var(--success);box-shadow:0 0 6px var(--success);animation:2s ease-in-out infinite pill-pulse}.validator-status.bad{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}.validator-status.bad .validator-status-dot{background:var(--danger)}@media (prefers-reduced-motion:reduce){.validator-status.ok .validator-status-dot{animation:none}}.badge{text-transform:capitalize;border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 10px;font-size:.76rem;font-weight:650;line-height:1.6;display:inline-flex}.badge-neutral{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-border)}.badge-success{background:var(--success-soft);color:var(--success-ink);border-color:var(--success-border)}.badge-danger{background:var(--danger-soft);color:var(--danger-ink);border-color:var(--danger-border)}.badge-warning{background:var(--warning-soft);color:var(--warning-ink);border-color:var(--warning-border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:fade-up .4s var(--ease) both;transition:border-color .2s var(--ease), transform .2s var(--ease);margin-bottom:18px;padding:20px}.card:hover{border-color:var(--border-strong)}.action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-no-select{-webkit-user-select:none;user-select:none}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.card{animation:none}}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:10px;margin-top:4px;margin-bottom:18px;display:grid}.tile{text-align:left;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;font-family:var(--font-sans);box-shadow:none;transition:border-color .18s var(--ease), transform .18s var(--ease), background-color .18s var(--ease);flex-direction:column;align-items:flex-start;gap:8px;padding:14px;text-decoration:none;display:flex}.tile:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-hover);filter:none;transform:translateY(-2px)}.tile:active:not(:disabled){transform:translateY(0)}.tile:disabled{opacity:.45;cursor:not-allowed}.tile-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-2);justify-content:center;align-items:center;display:flex}.tile-title{color:var(--text);font-size:.87rem;font-weight:650}.tile-desc{color:var(--text-faint);font-size:.76rem;line-height:1.4}.tab-list{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);gap:4px;padding:4px;display:flex;overflow-x:auto}.tab-button{color:var(--text-muted);box-shadow:none;border-radius:var(--radius-sm);white-space:nowrap;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:1px solid #0000;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;display:flex}.tab-button:hover:not(.active):not(:disabled){background:var(--surface-hover);color:var(--text);transform:none}.tab-button.active{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 12px -6px #2563eb66}.tab-badge{background:#ffffff2e;border-radius:999px;padding:1px 6px;font-size:.68rem;font-weight:700}.tab-button:not(.active) .tab-badge{background:var(--surface-hover);color:var(--text-faint)}.stepper{margin:4px 0 18px;padding:0;list-style:none;display:flex}.stepper-step{color:var(--text-faint);flex:1;align-items:center;gap:8px;display:flex}.stepper-dot{background:var(--surface-2);border:1px solid var(--border);width:26px;height:26px;color:var(--text-faint);transition:background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.74rem;font-weight:700;display:flex}.stepper-label{white-space:nowrap;font-size:.78rem;font-weight:600}.stepper-line{background:var(--border);height:2px;transition:background-color .25s var(--ease);border-radius:999px;flex:1;margin:0 4px}.stepper-done .stepper-dot{background:var(--success);border-color:var(--success);color:#06231a}.stepper-done .stepper-label{color:var(--text-muted)}.stepper-done .stepper-line{background:var(--success)}.stepper-active .stepper-dot{background:var(--accent-gradient);color:#fff;box-shadow:0 0 0 4px var(--accent-soft);border-color:#0000}.stepper-active .stepper-label{color:var(--text)}.log-fab[type=button]{z-index:40;background:var(--accent-gradient);color:#fff;width:48px;height:48px;box-shadow:0 0 0 4px var(--bg), 0 4px 6px -2px #0f172a1f, 0 12px 28px -6px #0f172a59;border-color:#0000;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;bottom:22px;right:22px}.log-fab[type=button]:hover:not(:disabled){background:var(--accent-gradient);filter:brightness(1.06);box-shadow:0 0 0 4px var(--bg), 0 6px 10px -2px #0f172a29, 0 18px 36px -8px #0f172a6b;border-color:#0000}.log-fab-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:999px;position:absolute;top:8px;right:8px}.log-drawer-backdrop{opacity:0;pointer-events:none;transition:opacity .2s var(--ease);z-index:45;background:#00000073;position:fixed;inset:0}.log-drawer-backdrop.open{opacity:1;pointer-events:auto}.log-drawer{background:var(--surface);border-left:1px solid var(--border);width:min(380px,92vw);height:100dvh;box-shadow:var(--shadow-pop);z-index:46;transition:transform .28s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.log-drawer.open{transform:translate(0)}.log-drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.log-drawer-close{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none;padding:var(--btn-padding-y);border-radius:var(--radius-sm);display:flex}.log-drawer ul.log{background:0 0;border:none;border-radius:0;flex:1;max-height:none;margin:0}.kv-list{border-radius:var(--radius-sm);background:var(--border);flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.kv-row{background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:.85rem;display:flex}.kv-key{color:var(--text-faint);font-weight:500}.kv-value{color:var(--text);font-weight:600;font-family:var(--font-mono);font-size:.82rem}ul{color:var(--text-muted);margin:0;padding-left:18px;font-size:.85rem;line-height:1.7}.score-hero{align-items:baseline;gap:14px;margin-bottom:16px;display:flex}.score-hero-value{letter-spacing:-.03em;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.4rem;font-weight:750;line-height:1}.score-hero-total{color:var(--text-faint);-webkit-text-fill-color:var(--text-faint);font-size:1.2rem;font-weight:600}.table-scroll{background:linear-gradient(to right, var(--surface) 30%, #0000) 0 0, linear-gradient(to left, var(--surface) 30%, #0000) 100% 0, radial-gradient(farthest-side at 0% 50%, #0f172a26, #0000) 0 0, radial-gradient(farthest-side at 100% 50%, #0f172a26, #0000) 100% 0;background-repeat:no-repeat;background-color:var(--surface);background-position:0 0,100% 0,0 0,100% 0;background-size:32px 100%,32px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll;overflow-x:auto}.table-scroll table{min-width:480px}.table-scroll td a,.table-scroll td button{align-items:center;min-height:24px;display:inline-flex}.table-scroll td a{padding-block:2px}.sessions-table{table-layout:fixed}.sessions-table td:last-child{white-space:nowrap}td.cell-nowrap{white-space:nowrap;word-break:normal}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}td{border-bottom:1px solid var(--border);color:var(--text-muted);padding:9px 10px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-hover);color:var(--text)}td:first-child{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}td a{font-size:.82rem;font-weight:550;text-decoration:none}td a:hover{text-decoration:underline}@media (width<=900px){.exam-timer{z-index:20;background:var(--surface);border-color:var(--accent-border);position:sticky;top:56px;box-shadow:0 6px 14px -12px #0f172a80}.exam-answer-option{min-height:var(--tap-min)}.question-nav button{min-width:var(--tap-min);min-height:var(--tap-min)}}@media (width<=640px){.exam-timer{z-index:20;padding:var(--space-tight) var(--space-compact);background:var(--surface);border-color:var(--accent-border);position:sticky;top:56px;box-shadow:0 6px 14px -12px #0f172a80}.exam-timer-clock{font-size:var(--text-lg)}.exam-answer-option{align-items:center;gap:var(--space-compact);width:100%;min-height:var(--tap-min);margin-bottom:var(--space-tight);padding:var(--space-tight) var(--space-compact);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:flex}.exam-answer-option:has(input:checked){border-color:var(--accent-border);background:var(--accent-soft)}.exam-actions{flex-direction:column;align-items:stretch}.exam-actions>button{width:100%}.question-nav button{min-width:var(--tap-min);min-height:var(--tap-min)}.app{padding-bottom:88px}.topbar{padding:var(--space-tight) var(--space-compact);gap:var(--space-tight)}.topbar-status-row{justify-content:flex-end}.plan-badge-label,.validator-status-label,.wallet-control-divider,.wallet-control-sol-icon,.wallet-control-balance,.devnet-faucet-btn-label{display:none}.plan-badge,.devnet-faucet-btn{justify-content:center;width:34px;padding:0}.wallet-control-address{text-overflow:ellipsis;max-width:84px;overflow:hidden}.modal-backdrop{align-items:flex-start;padding:12px;overflow-y:auto}.modal{max-width:none;max-height:calc(100dvh - 24px);padding:var(--space-lg);margin:auto 0}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-actions>button{width:100%}}@media (pointer:coarse){button,[role=button],input[type=checkbox],input[type=radio],select,.sidebar-link,.landing-nav-link{min-height:var(--tap-min)}.icon-button,.copy-btn,.copy-button,.toast-dismiss,.log-drawer-close,.password-toggle,.modal-close,.info-tooltip-trigger,.topbar-burger,.expand-btn{min-width:var(--tap-min);min-height:var(--tap-min);justify-content:center;align-items:center;display:inline-flex}input[type=checkbox],input[type=radio]{outline-offset:4px;width:20px;min-width:20px;height:20px}.tap-target{min-width:var(--tap-min);min-height:var(--tap-min);margin:calc((var(--tap-min) - 20px) / -2);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}td a,.auth-back-link,.public-shell-back,.public-shell-brand,.public-shell-nav-link,.sidebar-brand h1 a,.landing-logo,.landing-role-guide-link,.landing-footer a{min-height:var(--tap-min);align-items:center;display:inline-flex}}@media screen and (width<=900px){.table-cards,.table-cards table{background:0 0;min-width:0}.table-cards table,.table-cards tbody,.table-cards tr,.table-cards td{width:100%;display:block}.table-cards thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table-cards tr{margin-bottom:var(--space-compact);padding:var(--space-compact);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.table-cards tr:last-child{margin-bottom:0}.table-cards tr:hover td{background:0 0}.table-cards td{gap:var(--space-tight);padding:var(--space-micro) 0;overflow-wrap:anywhere;border-bottom:none;grid-template-columns:minmax(72px,148px) minmax(0,1fr);place-items:baseline start;display:grid}.table-cards td:before{content:attr(data-label);font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600}@supports (content:"x" / "y"){.table-cards td:before{content:attr(data-label) / ""}}.table-cards td:not([data-label]):before,.table-cards td[data-label=""]:before{content:none}.table-cards td:not([data-label]),.table-cards td[data-label=""]{gap:var(--space-tight);flex-wrap:wrap;display:flex}.table-cards td:first-child{font-weight:600}.table-cards .col-secondary{display:none}}label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:.85rem;font-weight:500;display:flex}label.field-inline{justify-content:flex-start;gap:var(--space-tight);width:max-content;max-width:100%}label:has(textarea){flex-direction:column;align-items:stretch}input,select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-size:.85rem;font-family:var(--font-sans);width:190px;max-width:100%;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:8px 11px}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[type=radio],input[type=checkbox]{width:auto;accent-color:var(--accent);cursor:pointer}input[type=number]{font-variant-numeric:tabular-nums}select{cursor:pointer}textarea{font-family:var(--font-mono);resize:vertical;width:100%;font-size:.8rem}textarea.prompt-input{font-family:var(--font-sans);font-size:.85rem}textarea.answer-input{font-family:var(--font-sans);field-sizing:content;max-width:50%;min-height:38px;font-size:.85rem}textarea.answer-input.full-width{max-width:100%}details{font-size:.85rem}details summary{cursor:pointer;color:var(--text-faint);transition:color .15s var(--ease)}details summary:hover{color:var(--text-muted)}details[open] summary{margin-bottom:4px}.row{align-items:center;gap:8px;display:flex}label.row{flex-direction:row;justify-content:flex-start;align-items:center}.row.wrap{flex-wrap:wrap}button{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-sm);padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:transform .12s var(--ease), box-shadow .15s var(--ease), filter .15s var(--ease), opacity .15s var(--ease);border:1px solid #0000;box-shadow:0 6px 16px -8px #2563eb59}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 10px 22px -8px #2563eb73}button:active:not(:disabled){filter:brightness(.96);transform:translateY(0)}button:disabled{background:var(--surface-2);color:var(--text-faint);border-color:var(--border);cursor:not-allowed;box-shadow:none;transform:none}button[type=button]{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none}button[type=button]:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);filter:none;box-shadow:none}button[type=button]:disabled{background:var(--surface-2);opacity:.5}.btn-danger-ghost[type=button]{color:var(--danger);box-shadow:none;background:0 0;border-color:#0000;font-weight:600}.btn-danger-ghost[type=button]:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger);filter:none;box-shadow:none}.btn-danger-ghost[type=button]:focus-visible{border-color:var(--danger-border)}.btn-danger-ghost[type=button]:disabled{color:var(--text-faint);opacity:1;background:0 0;border-color:#0000}button.btn-primary{background:var(--accent-gradient);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #2563eb59}button.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 10px 22px -8px #2563eb73}button.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:none}button.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);filter:none;box-shadow:none}button.btn-primary:disabled,button.btn-secondary:disabled{background:var(--surface-2);color:var(--text-faint);border-color:var(--border);box-shadow:none}button.btn-danger{background:var(--danger);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #dc262659}button.btn-danger:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 10px 22px -8px #dc262673}button.btn-danger:disabled{background:var(--surface-2);color:var(--text-faint);border-color:var(--border);box-shadow:none}ul.log{max-height:240px;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:12px 14px;font-size:.76rem;list-style:none;overflow-y:auto}ul.log li{border-bottom:1px dashed var(--border);padding:3px 0}ul.log li:last-child{border-bottom:none}ul.log li:first-child{color:var(--text)}.question-nav{scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.question-nav::-webkit-scrollbar{display:none}.question-nav button{border-radius:var(--radius-sm);background:var(--surface-2);width:42px;height:42px;color:var(--text-muted);border:1px solid var(--border);box-shadow:none;font-variant-numeric:tabular-nums;flex-shrink:0;padding:0}.question-nav button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text);filter:none;transform:none}.question-nav button.answered{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.question-nav button.current{background:var(--accent-gradient);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #2563eb66}.question-nav button.marked{position:relative}.question-nav button.marked:after{content:"";background:var(--warning);border:2px solid var(--surface);border-radius:999px;width:9px;height:9px;position:absolute;top:-3px;right:-3px}.question-nav-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin-bottom:12px;font-size:.78rem;display:flex}.question-nav-legend span{align-items:center;gap:6px;display:inline-flex}.question-nav-dot{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;width:9px;height:9px;display:inline-block}.question-nav-dot.answered{background:var(--success);border-color:var(--success)}.question-nav-dot.marked{background:var(--warning);border-color:var(--warning)}.fullscreen-gate{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-up .25s var(--ease) both;background:#040508d1;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.fullscreen-gate-card{background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-pop);text-align:center;padding:28px 26px}.fullscreen-gate-card h2{margin:0 0 10px}.fullscreen-gate-card p{color:var(--text-muted);margin:0 0 20px}.fullscreen-gate-card button{width:100%}.exam-timer{border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--accent-border);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;padding:12px 16px;display:flex}.exam-timer-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}.exam-timer-clock{font-variant-numeric:tabular-nums;color:var(--accent-2);font-size:1.6rem;font-weight:700}.exam-timer-warning{background:var(--warning-soft);border-color:var(--warning)}.exam-timer-warning .exam-timer-clock{color:var(--warning)}.exam-timer-danger{background:var(--danger-soft);border-color:var(--danger-border);animation:1s ease-in-out infinite exam-timer-pulse}.exam-timer-danger .exam-timer-clock{color:var(--danger)}@keyframes exam-timer-pulse{0%,to{opacity:1}50%{opacity:.7}}.certificate{padding:var(--space-tight);border:1px solid var(--accent-border);background:var(--surface-2);position:relative;overflow:hidden}.certificate-sheet{text-align:center;border:3px solid var(--accent);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1.5px var(--accent-border);background:#faf7f0;padding:clamp(20px,4vw,44px) clamp(16px,3.5vw,40px);position:relative}.certificate-letterhead{justify-content:center;align-items:center;gap:var(--space-compact);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.certificate-logo-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);justify-content:center;align-items:center;padding:8px 12px;display:inline-flex}.certificate-logo-chip img{object-fit:contain;width:auto;max-width:150px;height:38px;display:block}.certificate-brand-mark{font-family:var(--font-serif);font-size:var(--text-md);color:var(--text);font-weight:600}.certificate-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.28em;text-indent:.28em;color:var(--accent-ink);margin:0;font-weight:600}.certificate-title-rule{width:160px;margin:var(--space-tight) auto 0;border:0;border-top:2px solid var(--accent)}.certificate-preamble{margin:var(--space-lg) 0 0;font-family:var(--font-serif);font-style:italic;font-size:var(--text-base);color:var(--text-faint)}.certificate-name{margin:var(--space-tight) 0 0;font-family:var(--font-serif);font-size:var(--text-xl);color:var(--text);overflow-wrap:anywhere;font-weight:700;line-height:1.15}.certificate-name-rule{width:min(560px,90%);margin:var(--space-compact) auto 0;border:0;border-top:1px solid var(--border)}.certificate-roll{margin:var(--space-tight) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.certificate-context{margin:var(--space-md) 0 0;font-family:var(--font-serif);font-style:italic;font-size:var(--text-base);color:var(--text-faint)}.certificate-test-name{margin:var(--space-micro) 0 0;font-family:var(--font-serif);font-size:var(--text-lg);color:var(--text);overflow-wrap:anywhere;font-weight:700}.certificate-result{margin:var(--space-lg) auto 0;border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-soft);flex-wrap:wrap;justify-content:center;max-width:620px;display:flex}.certificate-result-cell{padding:var(--space-compact) var(--space-tight);flex-direction:column;flex:120px;align-items:center;gap:2px;display:flex}.certificate-result-cell+.certificate-result-cell{border-left:1px solid var(--accent-border)}.certificate-result-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;text-indent:.14em;color:var(--text-faint);font-weight:600}.certificate-result-value{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--text);font-weight:700;line-height:1.1}.certificate-result-grade{color:var(--accent-ink)}.certificate-result-sub{font-size:var(--text-xs);color:var(--text-faint)}.certificate-verify{justify-content:center;align-items:flex-start;gap:var(--space-lg);margin-top:var(--space-lg);text-align:left;display:flex}.certificate-verify-ids{flex:320px;min-width:0}.certificate-qr{flex-direction:column;flex:none;align-items:center;gap:6px;margin:0;display:flex}.certificate-qr svg{border:1px solid var(--border);border-radius:var(--radius-xs);width:116px;height:116px;color:var(--text);display:block}.certificate-qr figcaption{font-size:var(--text-xs);color:var(--text-faint)}.certificate-attestation{justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-top:var(--space-xl);display:flex}.certificate-signature{flex-direction:column;flex:1 1 0;align-items:center;gap:2px;min-width:0;display:flex}.certificate-signature hr{border:0;border-top:1.5px solid var(--border-strong);width:100%;margin:0 0 6px}.certificate-signature-caption{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;text-indent:.12em;color:var(--text-faint);font-weight:600}.certificate-signature-value{font-family:var(--font-serif);font-size:var(--text-sm);color:var(--text-muted);overflow-wrap:anywhere}.certificate-seal{border:2.5px solid var(--accent);width:92px;height:92px;box-shadow:inset 0 0 0 5px var(--surface-2), inset 0 0 0 6.5px var(--accent-2);background:var(--accent-soft);text-transform:uppercase;letter-spacing:.1em;text-indent:.1em;color:var(--accent-ink);border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;font-size:.6rem;font-weight:600;display:flex}.certificate-footer{margin:var(--space-lg) 0 0;padding-top:var(--space-compact);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-faint)}.verify-hero{border-radius:var(--radius-md);border:1px solid var(--border);align-items:center;gap:14px;margin-bottom:14px;padding:14px 16px;display:flex}.verify-hero-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.verify-hero-title{margin:0 0 2px;font-size:1.05rem;font-weight:700}.verify-hero-ok{background:var(--success-soft);border-color:var(--success-border)}.verify-hero-ok .verify-hero-icon{color:var(--success)}.verify-hero-bad{background:var(--danger-soft);border-color:var(--danger-border)}.verify-hero-bad .verify-hero-icon{color:var(--danger)}@media (width<=900px){.card{padding:16px}.sidebar{transition:transform .25s var(--ease);box-shadow:var(--shadow-pop);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{opacity:0;pointer-events:none;transition:opacity .2s var(--ease);z-index:29;background:#00000073;display:block;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.topbar-burger{display:flex}.topbar-status-row{overflow-x:auto}.wallet-adapter-dropdown-list{width:auto;max-height:calc(100dvh - 96px);position:fixed;left:12px;right:12px;overflow-y:auto;top:72px!important}.log-fab{bottom:16px;right:16px}}@media (width<=640px){.app{padding-top:18px;padding-bottom:72px}.card{border-radius:var(--radius-md);padding:14px}h1{font-size:1.15rem}.hero{padding:24px 18px}.hero h2{font-size:1.35rem}.stepper-label{display:none}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}input,select{width:100%}label{flex-direction:column;align-items:stretch}.kv-row{flex-direction:column;align-items:flex-start;gap:2px}.score-hero{flex-wrap:wrap}.score-hero-value{font-size:1.9rem}.exam-timer{flex-direction:column;align-items:flex-start;gap:4px}.exam-timer-clock{font-size:1.35rem}.question-nav button{width:38px;height:38px}.certificate{padding:22px 16px}.certificate-name{font-size:1.3rem}.verify-hero{text-align:left;flex-direction:column;align-items:flex-start}}.toast-stack{z-index:1000;pointer-events:none;flex-direction:column-reverse;gap:10px;width:min(360px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);pointer-events:auto;animation:toast-in .25s var(--ease) both;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toast-icon{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;display:flex}.toast-success .toast-icon{background:var(--success-soft);color:var(--success)}.toast-error .toast-icon{background:var(--danger-soft);color:var(--danger)}.toast-error{border-color:var(--danger-border)}.toast-info .toast-icon{background:var(--accent-soft);color:var(--accent)}.toast-info{border-color:var(--accent-border)}.toast-message{color:var(--text);word-break:break-word;flex:1;margin:0;font-size:.84rem;line-height:1.4}.toast .toast-dismiss{box-shadow:none;color:var(--text-faint);background:0 0;border:none;flex-shrink:0;padding:2px;display:flex}.toast .toast-dismiss:hover:not(:disabled){color:var(--text);filter:none;background:0 0;transform:none}@media (width<=640px){.toast-stack{width:auto;bottom:16px;left:16px;right:16px}}.session-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.session-id-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.copy-btn{padding:3px 8px;font-size:.72rem}.hero-stats{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:14px;margin:18px 0;padding:16px;display:grid}.hero-stat{flex-direction:column;gap:2px;display:flex}.hero-stat-value{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;align-items:center;min-height:1.2em;font-size:1.5rem;font-weight:750;display:flex}.hero-stat-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:600}.approval-progress-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px;margin-top:6px;display:grid}.approval-progress-subhead{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.82rem;font-weight:650;display:flex}.approval-progress-head{color:var(--text-faint);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.76rem;display:flex}.approval-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.approval-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.approval-you{color:var(--accent);font-weight:650}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;display:flex}.empty-state-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.empty-state-title{color:var(--text);margin:0;font-weight:650}.empty-state-desc{color:var(--text-faint);max-width:40ch;margin:0 0 10px;font-size:.82rem}.action-current{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.action-current-head{margin-bottom:8px}.action-step-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.action-step{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.action-step-info{align-items:center;gap:12px;min-width:0;display:flex}.action-step-title{color:var(--text);margin:0;font-size:.86rem;font-weight:600}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-up .2s var(--ease) both;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;max-height:calc(100dvh - 40px);box-shadow:var(--shadow-pop);padding:22px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.modal-head h2{margin:0}.modal-close{background:var(--surface-2);color:var(--text-faint);border:1px solid var(--border);box-shadow:none;border-radius:var(--radius-sm);flex-shrink:0;padding:5px;display:flex}.modal-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:14px 0 6px;font-size:.74rem;font-weight:650}.confirm-modal-body{color:var(--text-muted);font-size:.88rem;line-height:1.5}.confirm-modal-body strong{color:var(--text)}.confirm-modal-actions{margin-top:var(--space-lg);justify-content:flex-end}.modal-summary{color:var(--text-muted);margin:0 0 14px;padding-left:18px;font-size:.84rem;line-height:1.6}.modal-status{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:12px;display:flex}.modal-status p{color:var(--text);margin:0;font-size:.86rem}.modal-status-success{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.modal-status-info{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.modal-status-error{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.modal-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:999px;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite modal-spin}@keyframes modal-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.modal-spinner{animation:none}}.modal-sig-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.modal-sig-list li{justify-content:space-between;align-items:center;gap:10px;font-size:.78rem;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-hover) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-pulse;display:inline-block}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media (width<=640px){.hero-stats{grid-template-columns:repeat(2,1fr)}.action-step{flex-direction:column;align-items:flex-start}.action-step button{width:100%}}.reg-form-section{margin-bottom:28px}.reg-form-section h3{font-size:var(--text-base);margin-bottom:var(--space-tight)}@media (width<=640px){.reg-form-section{margin-bottom:var(--space-lg)}.reg-form-section h3{margin-top:var(--space-md);padding-top:var(--space-compact);border-top:1px solid var(--border)}.reg-form-section:first-of-type h3{border-top:none;margin-top:0;padding-top:0}}.reg-form-grid{grid-template-columns:repeat(2,1fr);gap:14px 20px;display:grid}.reg-field{flex-direction:column;gap:6px;display:flex}.reg-field.span-2{grid-column:span 2}.ai-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px 20px;margin-top:14px;display:grid}.ai-grid>*{min-width:0}.ai-grid>button{align-self:end}.ai-grid-note{grid-column:1/-1;margin:0}@media (width<=900px){.ai-grid{grid-template-columns:1fr}.ai-grid>.reg-field.span-2{grid-column:1/-1}.ai-grid>button{align-self:stretch}}.reg-field label{color:var(--text);margin:0;font-size:.8rem;font-weight:600;display:block}.reg-field input,.reg-field select,.reg-field textarea{width:100%}.reg-field textarea{font-family:var(--font-sans);min-height:64px;font-size:.85rem}.required-mark{color:var(--danger);margin-left:2px}.reg-field-error{color:var(--danger);font-size:.75rem}.password-strength{align-items:center;gap:10px;margin-top:-2px;display:flex}.password-strength-bars{flex:1;gap:4px;max-width:160px;display:flex}.password-strength-bar{background:var(--border);border-radius:999px;flex:1;height:4px}.test-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px;display:grid}.test-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface,var(--bg));flex-direction:column;gap:8px;padding:16px;display:flex}.test-card-title-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.test-card-meta{color:var(--text-muted);flex-direction:column;gap:3px;font-size:.8rem;display:flex}.test-card-desc{color:var(--text-muted);font-size:.82rem}.data-table-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.data-table-toolbar input[type=search],.data-table-toolbar select{width:auto}.data-table-count{color:var(--text-muted);margin-left:auto;font-size:.8rem}.data-table-pagination{justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.data-table-pagination button{padding:6px 10px}@media (width<=640px){.data-table-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.data-table-toolbar input[type=search]{grid-column:1/-1}.data-table-toolbar input[type=search],.data-table-toolbar select{width:100%;min-width:0}.data-table-count{grid-column:1/-1;margin-left:0}}@media (width<=480px){.data-table-toolbar{grid-template-columns:minmax(0,1fr)}}.selection-counter{font-variant-numeric:tabular-nums;font-weight:600}.selection-counter.at-limit{color:var(--danger)}@media (width<=900px){.reg-form-grid{grid-template-columns:1fr}.reg-field.span-2{grid-column:span 1}}.notification-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notification-list li{border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.notification-list li.notification-unread{border-color:var(--accent-border);background:var(--accent-soft)}.notification-list li button{margin-left:auto}.copyable-mono{align-items:center;gap:6px;display:inline-flex}.copy-button{border-radius:var(--radius-sm);color:var(--text-faint);box-shadow:none;background:0 0;border:1px solid #0000;padding:4px;line-height:0}.copy-button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border);color:var(--text);filter:none;box-shadow:none;transform:none}.info-box{border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--accent-border);align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.info-box-icon{color:var(--accent);flex-shrink:0;margin-top:1px}.info-box p{color:var(--text-muted);margin:0;font-size:.85rem}.card-header-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.card-header-row h2{margin-bottom:0}.icon-button{align-items:center;gap:6px;display:inline-flex}.row-title-link{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere;font-weight:600;text-decoration:none}.row-title-link:hover{color:var(--accent-2);text-decoration:underline}.table-action{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);white-space:nowrap;transition:background .15s var(--ease), border-color .15s var(--ease);align-items:center;gap:6px;padding:5px 10px;font-size:.8rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.table-action:hover{background:var(--surface-hover);border-color:var(--border-strong);text-decoration:none}.table-action svg{transition:transform .15s var(--ease)}.table-action:hover svg{transform:translate(2px)}@media (prefers-reduced-motion:reduce){.table-action svg,.table-action:hover svg{transition:none;transform:none}}th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:9px 10px;font-size:.72rem;font-weight:700}.results-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.results-toolbar .tab-list{flex:none}.results-toolbar .tab-button{flex:0 auto}.results-toolbar input{width:190px}.results-test-id{border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:10px;max-width:100%;padding:8px 12px;font-size:.85rem;display:inline-flex}@media (width<=640px){.card-header-row{flex-direction:column;align-items:stretch}}.hoverable{transition:transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s var(--ease)}.hoverable:hover{box-shadow:var(--shadow-pop);border-color:var(--border-strong);transform:translateY(-2px)}.page-header{margin-bottom:4px}.page-header-actions{flex-wrap:wrap;gap:10px;display:flex}.stat-card-row{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:14px;margin-bottom:18px;display:grid}.quick-action-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;display:grid}.quick-action-tile{padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:inherit;transition:transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s var(--ease);flex-direction:column;gap:4px;text-decoration:none;display:flex}.quick-action-tile:hover{box-shadow:var(--shadow-pop);border-color:var(--border-strong);transform:translateY(-2px)}.quick-action-title{color:var(--text);font-size:1rem;font-weight:650}.stat-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);text-align:left;font-family:var(--font-sans);box-shadow:none;transition:transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s var(--ease);flex-direction:column;align-items:flex-start;gap:6px;padding:16px;display:flex}.stat-card-clickable{cursor:pointer}.stat-card-clickable:hover{box-shadow:var(--shadow-pop);border-color:var(--border-strong);filter:none;transform:translateY(-2px)}.stat-card-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.stat-card-success .stat-card-icon{background:var(--success-soft);color:var(--success)}.stat-card-warning .stat-card-icon{background:var(--warning-soft);color:var(--warning)}.stat-card-danger .stat-card-icon{background:var(--danger-soft);color:var(--danger)}.stat-card-value{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:750}.stat-card-label{color:var(--text-muted);font-size:.8rem}.test-card-footer{margin-top:auto;padding-top:4px}.notification-bell{margin-left:auto;position:relative}.notification-bell-trigger{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);box-shadow:none;padding:8px;line-height:0;position:relative}.notification-bell-trigger:hover:not(:disabled){background:var(--surface-hover);color:var(--text);filter:none;transform:none}.notification-bell-dot{background:var(--danger);border:2px solid var(--surface);border-radius:999px;width:8px;height:8px;position:absolute;top:6px;right:6px}.notification-bell-backdrop{z-index:40;position:fixed;inset:0}.notification-bell-panel{z-index:41;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);width:320px;max-width:calc(100vw - 32px);max-height:400px;box-shadow:var(--shadow-pop);padding:14px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.notification-bell-title{margin:0 0 10px;font-size:.9rem;font-weight:700}.activity-timeline{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.activity-timeline li{border-left:2px solid var(--border);gap:10px;margin-left:4px;padding:8px 0 8px 14px;display:flex;position:relative}.activity-timeline-dot{background:var(--accent);border:2px solid var(--surface);border-radius:999px;width:10px;height:10px;position:absolute;top:12px;left:-6px}.activity-timeline-action{color:var(--text);margin:0;font-size:.85rem;font-weight:600}@media (width<=640px){.notification-bell-panel{width:auto;position:fixed;top:60px;left:16px;right:16px}}.test-detail-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;margin-top:20px;display:grid}.test-detail-sidebar-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);padding:16px;position:sticky;top:84px}.table-row-clickable{cursor:pointer}.bulk-action-bar{z-index:20;border-radius:var(--radius-lg);background:var(--nav-bg);color:#fff;box-shadow:var(--shadow-pop);flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;padding:14px 18px;display:flex;position:sticky;bottom:16px}.bulk-action-bar-actions{gap:10px;margin-left:auto;display:flex}@media (width<=640px){.bulk-action-bar{flex-direction:column;align-items:stretch}.bulk-action-bar-actions{margin-left:0}}@media (width<=900px){.test-detail-layout{grid-template-columns:1fr}.test-detail-sidebar-card{position:static}}.auth-back-link{color:var(--text-muted);transition:color .15s var(--ease), gap .15s var(--ease);align-items:center;gap:6px;margin-bottom:14px;font-size:.85rem;font-weight:600;display:inline-flex}.auth-back-link:hover{color:var(--accent);gap:9px}.auth-back-link-icon{transform:rotate(180deg)}.auth-shell{border-radius:var(--radius-lg);min-height:480px;box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);margin-bottom:18px;display:grid;overflow:hidden}.auth-branding{background:var(--nav-bg);--solana-purple:#9945ff;--solana-green:#14f195;padding:40px 36px;display:flex;position:relative;overflow:hidden}.auth-branding-glow{filter:blur(90px);opacity:.35;pointer-events:none;border-radius:999px;width:320px;height:320px;position:absolute}.auth-branding-glow-1{background:var(--solana-purple);top:-80px;right:-60px}.auth-branding-glow-2{background:var(--solana-green);opacity:.25;bottom:-100px;left:-60px}.auth-branding-content{z-index:1;flex-direction:column;align-self:center;gap:14px;display:flex;position:relative}.auth-branding-logo{color:#fff;align-items:center;gap:10px;font-size:1.1rem;font-weight:750;display:flex}.auth-branding-logo-img{object-fit:contain;border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;width:34px;height:34px}.auth-branding-subtitle{letter-spacing:.04em;text-transform:uppercase;color:var(--nav-text-muted);margin-top:-6px;font-size:.72rem;font-weight:600}.auth-branding-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#d8b9ff;background:#9945ff29;border:1px solid #9945ff59;border-radius:999px;align-self:flex-start;padding:5px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.auth-branding-tagline{color:var(--nav-text-muted);max-width:32ch;margin:0;font-size:.95rem;line-height:1.5}.auth-flow{flex-wrap:wrap;align-items:flex-start;gap:4px 38px;margin:4px 0 0;padding:0;list-style:none;display:flex}.auth-flow-step{flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.auth-flow-node{width:30px;height:30px;color:var(--solana-green);background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;animation:2.8s ease-in-out infinite auth-flow-pulse;display:flex}.auth-flow-step:nth-child(2) .auth-flow-node{animation-delay:.4s}.auth-flow-step:nth-child(3) .auth-flow-node{animation-delay:.8s}.auth-flow-step:nth-child(4) .auth-flow-node{animation-delay:1.2s}@keyframes auth-flow-pulse{0%,to{box-shadow:0 0 #14f19547}50%{box-shadow:0 0 0 5px #14f19500}}.auth-flow-label{color:var(--nav-text-muted);white-space:nowrap;font-size:.65rem;font-weight:600}.auth-flow-connector{background:linear-gradient(90deg,#ffffff40,#ffffff0f);width:34px;height:1px;position:absolute;top:15px;left:calc(100% + 4px)}@media (prefers-reduced-motion:reduce){.auth-flow-node{animation:none}}.auth-branding-stats{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.auth-branding-stats li{color:var(--nav-text-muted);align-items:center;gap:10px;font-size:.82rem;display:flex}.auth-branding-stats li svg{color:var(--solana-green);flex-shrink:0}.auth-branding-stats strong{color:#fff;font-weight:700}.auth-trust-badges{border-top:1px solid #ffffff1a;flex-wrap:wrap;gap:8px 16px;margin:14px 0 0;padding-top:14px;list-style:none;display:flex}.auth-trust-badges li{color:var(--nav-text-muted);align-items:center;gap:5px;font-size:.7rem;font-weight:600;display:flex}.auth-trust-badges li svg{color:var(--solana-purple);flex-shrink:0}.info-tooltip{display:inline-flex;position:relative}.info-tooltip-trigger{width:16px;height:16px;box-shadow:none;color:inherit;opacity:.65;cursor:help;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{opacity:1;transform:none}.info-tooltip-bubble{border-radius:var(--radius-sm);background:var(--nav-surface);width:max-content;max-width:220px;color:var(--nav-text);text-transform:none;letter-spacing:normal;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .15s var(--ease), transform .15s var(--ease);z-index:5;padding:8px 10px;font-size:.72rem;font-weight:500;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.info-tooltip-trigger:hover+.info-tooltip-bubble,.info-tooltip-trigger:focus-visible+.info-tooltip-bubble{opacity:1;transform:translate(-50%)translateY(0)}.auth-card-col{background:var(--surface);justify-content:center;align-items:center;padding:40px 32px;display:flex}.auth-card{width:100%;max-width:380px}.auth-card h2{margin-bottom:6px}.password-field{display:flex;position:relative}.password-field input{width:100%;padding-right:40px}.password-toggle{width:30px;height:30px;box-shadow:none;color:var(--text-faint);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-muted);transform:translateY(-50%)}.remember-device-field{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;margin-top:12px;font-size:.85rem;display:flex}.remember-device-field input{width:16px;height:16px;accent-color:var(--accent)}.btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:999px;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite modal-spin}.auth-submit-btn,.auth-inline-submit{justify-content:center;align-items:center;gap:8px;display:flex}.auth-submit-btn{width:100%}.auth-submit-success{background:var(--success)!important;border-color:var(--success)!important}@media (prefers-reduced-motion:reduce){.btn-spinner{animation:none}}@media (width<=900px){.auth-shell{grid-template-columns:1fr;min-height:0}.auth-branding{padding:28px 24px}.auth-branding-stats{flex-flow:wrap;gap:16px}.auth-card-col{padding:28px 20px}.auth-card{max-width:none}}.route-fallback{padding-top:var(--space-2xl);justify-content:center;min-height:40vh;display:flex}.route-fallback-bar{background:var(--surface-2);opacity:0;width:180px;height:3px;animation:route-fallback-in .2s var(--ease) .12s forwards;border-radius:999px;position:relative;overflow:hidden}.route-fallback-bar:after{content:"";border-radius:inherit;background:var(--accent-gradient);animation:route-fallback-slide 1.1s var(--ease) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes route-fallback-in{to{opacity:1}}@keyframes route-fallback-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.route-fallback-bar{opacity:1;animation:none}.route-fallback-bar:after{opacity:.4;animation:none;transform:none}}.crash{padding:var(--space-2xl) var(--space-md);justify-content:center;align-items:center;min-height:50vh;display:flex}.crash-card{width:100%;max-width:480px;padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.crash-card h2{margin-top:0}.crash-detail{margin:var(--space-md) 0;padding:var(--space-compact);font-family:var(--font-mono);color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow-wrap:anywhere;font-size:.78rem}.crash-actions{gap:var(--space-tight);flex-wrap:wrap;display:flex}.next-test-link{gap:var(--space-compact);padding:var(--space-compact);margin:calc(var(--space-compact) * -1);border-radius:var(--radius-md);color:inherit;transition:background .15s var(--ease), transform .12s var(--ease);flex-direction:column;text-decoration:none;display:flex}a.next-test-link:hover{background:var(--surface-2)}a.next-test-link:active{transform:scale(.995)}.next-test-link-static{cursor:default}.next-test-main{justify-content:space-between;align-items:flex-start;gap:var(--space-compact);display:flex}.next-test-title{margin:0 0 var(--space-micro);font-weight:700;font-size:var(--text-md);color:var(--text)}.next-test-cta{justify-content:center;align-items:center;gap:var(--space-tight);min-height:var(--tap-min);padding:0 var(--space-md);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:var(--text-sm);align-self:flex-start;font-weight:600;display:inline-flex}.next-test-cta-live{background:var(--accent-gradient);color:#fff;border-color:#0000;box-shadow:0 6px 16px -8px #2563eb59}a.next-test-link:hover .next-test-cta{border-color:var(--border-strong)}@media (width<=640px){.next-test-cta{align-self:stretch}}@media (prefers-reduced-motion:reduce){.next-test-link,a.next-test-link:active{transition:none;transform:none}}.batch-progress{margin-top:var(--space-md);padding:var(--space-compact);border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-soft);gap:var(--space-tight);flex-direction:column;display:flex}.batch-progress-track{background:var(--surface);border:1px solid var(--border);border-radius:999px;height:6px;overflow:hidden}.batch-progress-fill{background:var(--accent-gradient);height:100%;transition:width .24s}.batch-resume{margin-bottom:var(--space-md);padding:var(--space-compact);border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-soft);justify-content:space-between;align-items:center;gap:var(--space-compact);flex-wrap:wrap;display:flex}.registration-closed{margin-bottom:var(--space-md);padding:var(--space-compact);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-soft)}.results-correct-answer{color:var(--success);font-weight:600}.score-chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-tight) var(--space-compact);max-width:220px}.score-chart-tooltip-label{color:var(--text);margin:0;font-size:.82rem;font-weight:650}.score-chart-tooltip-value{font-variant-numeric:tabular-nums;color:var(--text);margin:2px 0 0;font-size:1.1rem;font-weight:750}.score-chart-tooltip-detail{color:var(--text-faint);margin:2px 0 0;font-size:.76rem}.result-sheet{padding:clamp(18px,3vw,32px)}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:3px double var(--border-strong);flex-wrap:wrap;display:flex}.sheet-brand{align-items:center;gap:var(--space-compact);min-width:0;display:flex}.sheet-brand-logo{object-fit:contain;flex-shrink:0;width:auto;max-width:180px;height:46px}.sheet-brand-text{min-width:0}.sheet-org{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);margin:0;font-weight:700}.sheet-title{font-size:var(--text-lg);letter-spacing:-.01em;color:var(--text);margin:2px 0 0;font-weight:750}.sheet-subtitle{font-size:var(--text-xs);color:var(--text-faint);margin:2px 0 0}.sheet-head-actions{gap:var(--space-tight);flex-wrap:wrap;display:flex}.sheet-meta{gap:var(--space-compact) var(--space-lg);padding:var(--space-md) 0;border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=641px){.sheet-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}.sheet-meta-item{flex-direction:column;gap:2px;min-width:0;display:flex}.sheet-meta-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:.68rem;font-weight:700}.sheet-meta-value{font-size:var(--text-base);color:var(--text);overflow-wrap:anywhere;font-weight:650}.sheet-meta-note{font-size:var(--text-xs);color:var(--text-faint);font-weight:500;display:block}.sheet-meta-empty{color:var(--text-faint);font-weight:500}.sheet-seal{align-items:flex-start;gap:var(--space-compact);margin-top:var(--space-md);padding:var(--space-compact) var(--space-md);border:1px solid var(--success-border);border-radius:var(--radius-md);background:var(--success-soft);border-left-width:4px;display:flex}.sheet-seal p{font-size:var(--text-sm);color:var(--text-muted);margin:0}.sheet-seal-icon{color:var(--success);flex-shrink:0;margin-top:2px;line-height:0}.sheet-seal-bad{border-color:var(--danger-border);background:var(--danger-soft)}.sheet-seal-bad .sheet-seal-icon{color:var(--danger)}.sheet-stats{gap:var(--space-compact);margin:var(--space-md) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=641px){.sheet-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.sheet-stat{padding:var(--space-compact);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:2px;display:flex}.sheet-stat-icon{width:28px;height:28px;margin-bottom:var(--space-micro);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-faint);justify-content:center;align-items:center;display:inline-flex}.sheet-stat-accent .sheet-stat-icon{background:var(--accent-soft);color:var(--accent-2)}.sheet-stat-success .sheet-stat-icon{background:var(--success-soft);color:var(--success)}.sheet-stat-warning .sheet-stat-icon{background:var(--warning-soft);color:var(--warning)}.sheet-stat-danger .sheet-stat-icon{background:var(--danger-soft);color:var(--danger)}.sheet-stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);font-size:1.5rem;font-weight:750;line-height:1.1}.sheet-stat-label{font-size:var(--text-sm);color:var(--text-muted);font-weight:600}.sheet-stat-sub{font-size:var(--text-xs);color:var(--text-faint);overflow-wrap:anywhere}.sheet-controls{align-items:center;gap:var(--space-tight) var(--space-compact);padding:var(--space-compact);margin-bottom:var(--space-compact);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);flex-wrap:wrap;display:flex}.sheet-search{flex:260px;min-width:0;position:relative}.sheet-search-icon{color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.sheet-search input{width:100%;padding-left:34px}.sheet-control{justify-content:flex-start;align-items:center;gap:var(--space-tight);font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;margin-bottom:0;font-weight:600;display:flex}.sheet-control select{text-transform:none;letter-spacing:normal;width:auto;min-width:0}.sheet-count{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0 0 0 auto;font-weight:600}@media (width<=640px){.sheet-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.sheet-search,.sheet-count{grid-column:1/-1}.sheet-control{align-items:flex-start;gap:var(--space-micro);flex-direction:column}.sheet-control select{width:100%}.sheet-count{margin-left:0}}@media (width<=400px){.sheet-controls{grid-template-columns:minmax(0,1fr)}}.sheet-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md)}.sheet-table-wrap table{min-width:720px}@media (width>=901px){.sheet-table-wrap{max-height:min(70vh,760px);overflow:auto}.sheet-table thead th{z-index:1;background:var(--surface-2);border-bottom:2px solid var(--border-strong);white-space:nowrap;position:sticky;top:0}.sheet-table tbody tr:nth-child(2n) td{background:#f0ede473}.sheet-table tbody tr:hover td{background:var(--accent-soft)}}.sheet-table td{vertical-align:middle}.sheet-rank{width:62px}.sheet-roll,.sheet-marks{font-variant-numeric:tabular-nums}.sheet-name{color:var(--text);font-weight:600}.sheet-marks-value{white-space:nowrap}.sheet-marks-total{color:var(--text-faint);font-size:var(--text-xs)}.sheet-dash{color:var(--text-faint)}.sheet-row-absent .sheet-name,.sheet-row-absent .sheet-roll{color:var(--text-faint);font-weight:500}.rank-pill{background:var(--surface-2);border:1px solid var(--border);font-variant-numeric:tabular-nums;min-width:26px;height:26px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:.78rem;font-weight:700;display:inline-flex}.rank-pill-1{background:var(--accent-gradient);color:#fff;border-color:#0000}.rank-pill-2{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.rank-pill-3{border-color:var(--accent-border);color:var(--accent-2);background:#c4994229}.sr-only-th{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sheet-foot{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.sheet-legend-title{margin:0 0 var(--space-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:.68rem;font-weight:700}.sheet-legend-bands{font-size:var(--text-sm);color:var(--text-muted);margin:0;font-weight:600}.sheet-signatures{gap:var(--space-xl);margin-top:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));display:grid}.sheet-signature{font-size:var(--text-xs);color:var(--text-muted);text-align:center}.sheet-signature-line{margin:0 auto var(--space-micro);border-top:1px solid var(--text-muted);max-width:220px;display:block}.modal-wide{max-width:600px}.share-grid{gap:var(--space-tight);margin:var(--space-compact) 0;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));display:grid}.share-grid .share-option{align-items:flex-start;gap:var(--space-tight);padding:var(--space-compact);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:none;color:var(--text);font-family:var(--font-sans);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color .15s var(--ease), background .15s var(--ease), transform .15s var(--ease);font-weight:500;text-decoration:none;display:flex}.share-grid .share-option:hover{background:var(--surface-2);border-color:var(--border-strong);filter:none;box-shadow:none;transform:translateY(-1px)}.share-option-icon{border-radius:var(--radius-sm);background:var(--surface-2);width:32px;height:32px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.share-option-accent .share-option-icon{background:var(--accent-soft);color:var(--accent-2)}.share-option-whatsapp .share-option-icon{color:#128c40;background:#25d36624}.share-option-text{flex-direction:column;gap:1px;min-width:0;display:flex}.share-option-label{color:var(--text);font-weight:650}.share-option-desc{font-size:var(--text-xs);color:var(--text-faint);line-height:1.4}.share-preview{width:100%;font-family:var(--font-mono);resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.72rem;line-height:1.6}.print-only{display:none}@media print{@page{size:A4 portrait;margin:14mm 12mm}html,body{color:#000;background:#fff!important}.sidebar,.sidebar-backdrop,.topbar,.log-fab,.log-drawer,.log-drawer-backdrop,.public-shell-header,.modal-backdrop,.no-print,.print-hide{display:none!important}.print-only{display:block}.print-sheet .sheet-signatures{display:grid}.shell,.shell-main,.public-shell{display:block}.app{max-width:none;margin:0;padding:0}.print-sheet{box-shadow:none;background:#fff;border:none;border-radius:0;margin:0;padding:0;animation:none}.print-sheet .badge{color:#000!important;background:#fff!important;border-color:#666!important}.print-sheet .sheet-stat,.print-sheet .sheet-stat-icon,.print-sheet .rank-pill{color:#000!important;background:#fff!important;border-color:#999!important}.print-sheet .rank-pill-1{color:#fff!important;background:#000!important;border-color:#000!important}.print-sheet .sheet-seal{background:#fff!important;border:1px solid #999!important}.print-sheet .sheet-org,.print-sheet .sheet-title,.print-sheet .sheet-meta-value,.print-sheet .sheet-name,.print-sheet .sheet-stat-value{color:#000!important}.print-sheet .sheet-brand-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact;max-width:150px;height:40px}.certificate{box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.certificate-sheet,.certificate-result,.certificate-seal,.certificate-logo-chip,.certificate-qr svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-sheet{page-break-inside:avoid}.print-sheet .sheet-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.print-sheet .sheet-table-wrap{background:0 0;border:none;max-height:none;overflow:visible}.print-sheet .sheet-table{min-width:0;font-size:10pt}.print-sheet .sheet-table thead{display:table-header-group;position:static}.print-sheet .sheet-table thead th{color:#000;border-bottom:1.5pt solid #000;position:static;background:#fff!important}.print-sheet .sheet-table tbody tr{break-inside:avoid;page-break-inside:avoid}.print-sheet .sheet-table tbody tr:nth-child(2n) td,.print-sheet .sheet-table tbody tr:hover td{background:#fff!important}.print-sheet .sheet-table td{border-bottom:.5pt solid #ccc}.print-sheet .sheet-head,.print-sheet .sheet-meta,.print-sheet .sheet-stats,.print-sheet .sheet-seal,.print-sheet .sheet-foot{break-inside:avoid;page-break-inside:avoid}.print-sheet .copy-button{display:none}a[href]:after{content:none!important}}.certificate-actions{margin-top:var(--space-compact);justify-content:center}.file-input{width:auto;max-width:100%;font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;padding:6px}.file-input::file-selector-button{margin-right:var(--space-compact);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font-sans);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease);padding:8px 14px;font-size:.84rem;font-weight:600}.file-input:hover::file-selector-button{background:var(--surface-hover);border-color:var(--border-strong)}.blog-index-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));display:grid}.blog-index-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:inherit;transition:transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s var(--ease);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.blog-index-card:hover{box-shadow:var(--shadow-pop);border-color:var(--border-strong);transform:translateY(-2px)}.blog-index-card-image{object-fit:cover;border-bottom:1px solid var(--border);width:100%;height:160px}.blog-index-card-body{padding:var(--space-md);flex-direction:column;gap:6px;display:flex}.blog-index-card-title{color:var(--text);margin:0;font-size:1.05rem}.blog-index-card-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.blog-index-card-meta{font-size:var(--text-xs);color:var(--text-faint);margin:0}.blog-post-detail{max-width:760px;margin:0 auto}.blog-post-detail-image{object-fit:contain;background:var(--surface-2);border-radius:var(--radius-md);width:100%;max-height:420px;margin-bottom:var(--space-md)}.blog-post-detail-title{margin:0 0 4px}.blog-post-detail-meta{margin:0 0 var(--space-md);color:var(--text-faint);font-size:var(--text-sm)}.share-grid-compact{gap:var(--space-tight);margin:0 0 var(--space-md);flex-wrap:wrap;display:flex}.share-grid-compact .share-option{font-size:var(--text-xs);border-radius:999px;align-items:center;padding:6px 12px}.share-grid-compact .share-option-icon{width:18px;height:18px;color:inherit;background:0 0;border-radius:0}.share-grid-compact .share-option-desc{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.blog-body-content{margin-top:var(--space-lg);color:var(--text-muted);line-height:1.7}.blog-body-content :is(h1,h2,h3,h4){color:var(--text);margin:1.4em 0 .5em}.blog-body-content :is(h1,h2,h3,h4):first-child{margin-top:0}.blog-body-content p{margin:0 0 1em}.blog-body-content a{color:var(--accent-2)}.blog-body-content :is(ul,ol){margin:0 0 1em;padding-left:1.4em}.blog-body-content img{border-radius:var(--radius-md)}.blog-body-content code{font-family:var(--font-mono);background:var(--surface-2);border-radius:var(--radius-xs);padding:1px 5px;font-size:.85em}.blog-body-content pre{background:var(--surface-2);padding:var(--space-compact);border-radius:var(--radius-md)}.blog-body-content pre code{background:0 0;padding:0}.blog-body-content blockquote{padding-left:var(--space-compact);border-left:3px solid var(--border-strong);color:var(--text-faint);margin:0 0 1em}.blog-form-image-preview{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:100%;max-width:420px;max-height:220px;margin-bottom:var(--space-tight);display:block}.brand-logo-previews{gap:var(--space-compact);margin-bottom:var(--space-tight);flex-wrap:wrap;display:flex}.brand-logo-preview-chip{padding:var(--space-compact);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;align-items:center;gap:6px;display:flex}.brand-logo-preview-chip img{object-fit:contain;width:auto;max-width:160px;height:48px}.brand-logo-preview-chip--light{background:#fff}.brand-logo-preview-caption{font-size:var(--text-xs);color:var(--text-faint)}.blog-form-editor{gap:var(--space-lg);margin-top:var(--space-md);grid-template-columns:1fr 1fr;display:grid}@media (width<=900px){.blog-form-editor{grid-template-columns:1fr}}.blog-form-textarea{width:100%;font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical}.blog-form-preview{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);max-height:460px;margin-top:0;overflow-y:auto}.verify-inputs{align-items:center;gap:var(--space-compact)}.qr-scanner-stage{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--nav-bg);width:100%;position:relative;overflow:hidden}.qr-scanner-video{object-fit:cover;width:100%;height:100%;display:block}.qr-scanner-reticle{border:2px solid var(--accent);border-radius:var(--radius-sm);pointer-events:none;position:absolute;inset:12%;box-shadow:0 0 0 100vmax #121b2b59}.qr-scanner-status{margin:var(--space-compact) 0 0;text-align:center}.roster-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.roster-toolbar .hint{margin:0}.roster-select-all{cursor:pointer;flex-direction:row;align-items:center;gap:8px;margin:0}.roster-toolbar button{margin-left:auto}@media (width<=640px){.roster-toolbar button{width:100%;margin-left:0}}.test-picker{flex-direction:column;gap:8px;margin-top:8px;display:flex}.test-picker button{white-space:normal;overflow-wrap:anywhere;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-width:0;display:flex}.test-picker-name{font-weight:600;line-height:1.3}.test-picker-roll{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.field-wide{width:100%}textarea.test-name-input{width:100%;min-height:0;font-family:var(--font-sans);field-sizing:content;resize:vertical}.field-counter{font-variant-numeric:tabular-nums;margin:2px 0 0}@media (width<=640px){.test-name-input{width:100%;min-width:0}}.form-head{margin-bottom:12px}.form-head h2{margin-bottom:4px}.form-head .hint{margin:0}.form-section+.form-section,.form-section+.form-section-pair{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.signers-action-row{grid-template-columns:auto 1fr;align-items:start;gap:14px 20px;display:grid}.signers-action-row>button{align-self:start;margin-top:25px}@media (width<=760px){.signers-action-row{grid-template-columns:1fr}.signers-action-row>button{margin-top:0}}@media (width>=1101px){.form-section-pair{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.form-section-pair>.form-section+.form-section{border-top:none;margin-top:0;padding-top:0}.form-section-pair .reg-form-grid{grid-template-columns:1fr}}.form-section-title{font-size:var(--text-sm);color:var(--text);align-items:center;gap:7px;margin:0 0 12px;font-weight:650;display:flex}.field-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-head .hint{margin:0}.field-head .field-counter{margin-left:auto}.signers-input{font-family:var(--font-mono);font-size:.8rem}.reg-field>button{align-self:flex-start}@media (width<=760px){.reg-field>button{align-self:stretch}}.input-suffix{align-items:center;gap:8px;display:flex}.input-suffix input{flex:none;width:100px}.input-suffix-text{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.82rem}.security-status{color:var(--text-muted);align-items:center;gap:7px;margin:14px 0 0;font-size:.8rem;display:flex}.security-status.ready{color:var(--success)}.create-summary{align-items:center;gap:7px;margin-top:10px;display:flex}@media (width<=760px){.reg-form-grid{grid-template-columns:1fr}.reg-field.span-2{grid-column:span 1}.action-bar,.action-bar>.row{width:100%}.action-bar>.row>button{flex:auto}.input-suffix input{flex:auto;width:auto;min-width:0}}.question-grid{grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));align-items:start;gap:0 18px;display:grid}.question-grid .answer-input{flex:1 1 0;min-width:0;max-width:none}.question-head{align-items:center;gap:var(--space-tight);margin-bottom:var(--space-compact);grid-template-columns:1fr auto auto;display:grid}@media (width<=480px){.question-head{grid-template-columns:1fr auto}.question-head>label{grid-area:1/1}.question-head>button{grid-area:1/2}.question-head select{grid-area:2/1/3/-1}}.exam-code-slips .slips-header h2{margin:0 0 .35rem;font-size:1.05rem}.exam-code-slips .slips-warning{color:var(--text-muted,#555);max-width:60ch;margin:0 0 1rem;font-size:.8rem;line-height:1.4}.exam-code-slips .slips-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.exam-code-slips .slip{border:1px dashed var(--border,#999);break-inside:avoid;page-break-inside:avoid;border-radius:6px;padding:.6rem .7rem}.exam-code-slips .slip-body{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.exam-code-slips .slip-meta{min-width:0}.exam-code-slips .slip-exam{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#666);overflow-wrap:anywhere;font-size:.7rem}.exam-code-slips .slip-name{overflow-wrap:anywhere;margin-top:.15rem;font-weight:600}.exam-code-slips .slip-roll{color:var(--text-muted,#555);font-size:.85rem}.exam-code-slips .slip-qr{flex:none;width:86px;height:86px}.exam-code-slips .slip-code{align-items:baseline;gap:.4rem;margin-top:.5rem;display:flex}.exam-code-slips .slip-code-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#666);font-size:.68rem}.exam-code-slips .slip-code code{letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;font-weight:600}.exam-code-slips .slip-hint{color:var(--text-muted,#666);margin-top:.3rem;font-size:.68rem}@media (width<=640px){.exam-code-slips .slips-grid{grid-template-columns:minmax(0,1fr)}}@media print{.exam-code-slips .slip{border-color:#000}.exam-code-slips .slip-exam,.exam-code-slips .slip-roll,.exam-code-slips .slip-code-label,.exam-code-slips .slip-hint,.exam-code-slips .slips-warning{color:#000}}.code-prompt{margin-top:.6rem}.code-prompt .row{flex-wrap:wrap;gap:.4rem;display:flex}.code-prompt .row input{flex:18ch;min-width:0}#take-code,#take-code-only{letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.scan-slip{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.scan-slip input[type=file]{max-width:100%}
