@import url("https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,500;0,600;0,700;1,500&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");:root{--ink:#16233F;--ink-soft:#2b3a5c;--paper:#EEEFE7;--paper-line:#cfd0c2;--paper-dark:#E2E3D6;--brass:#9C7A2E;--brass-light:#C9A855;--approve:#2F6B4F;--decline:#A13D2E;--text:#1B2430;--white:#FBFBF7}*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:IBM Plex Sans,sans-serif;color:var(--text);background:var(--paper)}h1,h2,h3{font-family:Spectral,serif;margin:0;color:var(--ink)}.mono{font-family:IBM Plex Mono,monospace}a{color:inherit;text-decoration:none}.nav{justify-content:space-between;padding:14px 22px;background:var(--ink);color:var(--white);position:-webkit-sticky;position:sticky;top:0;z-index:20;flex-wrap:wrap;gap:10px}.brand,.nav{display:flex;align-items:center}.brand{gap:8px;font-family:Spectral,serif;font-weight:700;font-size:18px;letter-spacing:.5px;cursor:pointer}.brand .tag{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:1.3px;color:var(--brass-light);font-weight:500;display:block;margin-top:-2px}.navlinks{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.navlinks a,.navlinks button{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:#cfd4e4;font-family:IBM Plex Sans,sans-serif;font-size:13.5px;font-weight:500;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.navlinks a:hover,.navlinks button:hover{background:rgba(255,255,255,.08);color:var(--white)}.navlinks a.active{background:rgba(201,168,85,.18);color:var(--brass-light)}.navlinks .navbtn-link{background:var(--brass);color:var(--white)!important;border-radius:4px;font-weight:600}.navlinks .navbtn-link:hover{background:#8a6c28}.page{max-width:900px;margin:0 auto;padding:40px 22px 80px}.page.wide{max-width:1040px}.page.narrow{max-width:440px}.hero{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:44px;gap:44px;align-items:center;padding:56px 22px 40px;max-width:1040px;margin:0 auto}@media (max-width:780px){.hero{grid-template-columns:1fr;padding-top:32px}}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:11.5px;letter-spacing:2.5px;color:var(--brass);font-weight:600;margin-bottom:14px}.hero h1{font-size:42px;line-height:1.1;font-weight:700}.hero h1 em{font-style:italic;color:var(--brass)}.hero p.lede{font-size:16.5px;color:var(--ink-soft);margin-top:18px;line-height:1.6;max-width:46ch}.hero-ctas{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{font-family:IBM Plex Sans,sans-serif;font-weight:600;font-size:14px;border-radius:3px;padding:12px 20px;cursor:pointer;border:1.5px solid transparent;display:inline-flex;align-items:center;gap:8px;transition:transform .1s ease,background .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--white)}.btn-primary:hover{background:#223257}.btn-brass{background:var(--brass);color:var(--white)}.btn-brass:hover{background:#8a6c28}.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--white)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--paper-line)}.btn-ghost:hover{border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:default}.license-card{background:var(--white);border:1.5px solid var(--ink);border-radius:6px;padding:22px 24px;position:relative;box-shadow:6px 6px 0 var(--paper-line)}.license-card:before{content:"";position:absolute;inset:6px;border:1px dashed var(--paper-line);border-radius:3px;pointer-events:none}.lc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.lc-title{font-family:Spectral,serif;font-weight:700;font-size:15px;color:var(--ink)}.lc-title span{display:block;letter-spacing:1.5px;color:var(--brass);margin-top:3px}.lc-badge,.lc-title span{font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:600}.lc-badge{letter-spacing:1px;padding:3px 8px;border-radius:20px}.lc-badge.pending{background:#efe4c4;color:var(--brass)}.lc-badge.bound{background:#dcece1;color:var(--approve)}.lc-field{margin-bottom:10px}.lc-field label{display:block;font-size:9.5px;letter-spacing:1.5px;color:#8a8f7f;margin-bottom:2px}.lc-field div,.lc-field label{font-family:IBM Plex Mono,monospace}.lc-field div{font-size:13px;color:var(--text);word-break:break-word}.lc-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px dashed var(--paper-line);flex-wrap:wrap;gap:4px}.lc-serial{font-size:10px;color:#8a8f7f;letter-spacing:1px}.lc-serial,.section-label{font-family:IBM Plex Mono,monospace}.section-label{font-size:11px;letter-spacing:2px;color:var(--brass);font-weight:600;margin-bottom:10px}.props{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-top:14px}@media (max-width:780px){.props{grid-template-columns:1fr}}.prop-card{background:var(--white);border:1px solid var(--paper-line);border-radius:6px;padding:18px}.prop-card h3{font-size:16.5px;margin-bottom:6px}.prop-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0}.track-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:16px}@media (max-width:700px){.track-grid{grid-template-columns:1fr}}.track-card{background:var(--white);border:1.5px solid var(--ink);border-radius:6px;padding:22px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;text-align:left;display:block;width:100%;font-family:inherit}.track-card:hover{transform:translateY(-3px);box-shadow:5px 5px 0 var(--paper-line)}.track-card h3{font-size:19px;margin-bottom:4px}.track-card .tsub{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:1.5px;color:var(--brass);font-weight:600;margin-bottom:10px}.track-card p{font-size:13.5px;color:var(--ink-soft);margin:0 0 12px;line-height:1.55}.track-card .go{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink)}.topic-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.topic-row{display:flex;align-items:center;justify-content:space-between;background:var(--white);border:1px solid var(--paper-line);border-radius:5px;padding:14px 16px;cursor:pointer;transition:border-color .12s,background .12s}.topic-row:hover{border-color:var(--brass);background:#fdfcf6}.topic-row h4{font-family:IBM Plex Sans,sans-serif;font-size:14.5px;font-weight:600;margin:0 0 2px;color:var(--ink)}.topic-row .meta{font-family:IBM Plex Mono,monospace;font-size:11px;color:#8a8f7f}.full-exam-card{background:var(--ink);color:var(--white);border-radius:6px;padding:20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;cursor:pointer}.full-exam-card:hover{background:#223257}.full-exam-card h3{color:var(--white);font-size:17px;margin-bottom:3px}.full-exam-card p{margin:0;font-size:12.5px;color:#b9c0d6}.timed-toggle{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.timed-toggle button{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.5px;padding:8px 14px;border-radius:20px;border:1.5px solid var(--paper-line);background:var(--white);cursor:pointer;color:var(--ink-soft);font-weight:600}.timed-toggle button.active{border-color:var(--brass);background:#efe4c4;color:var(--brass)}.quiz-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}.quiz-progress-bar{height:6px;background:var(--paper-dark);border-radius:3px;overflow:hidden;margin-bottom:26px}.quiz-progress-fill{height:100%;background:var(--brass);transition:width .25s ease}.qcount{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-soft)}.qtopic{font-size:11px;letter-spacing:1px;color:var(--brass);text-transform:uppercase}.qtopic,.timer-badge{font-family:IBM Plex Mono,monospace;font-weight:600}.timer-badge{font-size:13px;padding:5px 12px;border-radius:20px;background:var(--paper-dark);color:var(--ink-soft);display:flex;align-items:center;gap:5px}.timer-badge.low{background:#f5e0db;color:var(--decline);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.question-card{background:var(--white);border:1px solid var(--paper-line);border-radius:8px;padding:28px}.question-card h2{font-size:21px;line-height:1.4;font-weight:600;margin-bottom:22px}.option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--paper);border:1.5px solid var(--paper-line);border-radius:6px;padding:13px 16px;margin-bottom:10px;font-family:IBM Plex Sans,sans-serif;font-size:14.5px;cursor:pointer;transition:border-color .12s,background .12s}.option:hover:not(.locked){border-color:var(--ink)}.option .letter{font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--paper-line);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-soft)}.option.correct{background:#e3f0e7;border-color:var(--approve)}.option.correct .letter{background:var(--approve);border-color:var(--approve);color:var(--white)}.option.incorrect{background:#f5e4e0;border-color:var(--decline)}.option.incorrect .letter{background:var(--decline);border-color:var(--decline);color:var(--white)}.option.locked{cursor:default}.option-icon{margin-left:auto}.explain-box{margin-top:18px;padding:14px 16px;background:var(--paper);border-left:3px solid var(--brass);border-radius:4px;font-size:13.5px;line-height:1.55;color:var(--ink-soft)}.quiz-nav{display:flex;justify-content:flex-end;margin-top:22px}.stamp-wrap{display:flex;justify-content:center;margin:10px 0 26px}.stamp{font-family:IBM Plex Mono,monospace;font-weight:700;font-size:28px;letter-spacing:4px;padding:14px 30px;border:4px double;border-radius:10px;transform:rotate(-6deg);animation:stampSlam .35s ease-out;text-align:center}.stamp.pass{color:var(--approve);border-color:var(--approve)}.stamp.fail{color:var(--decline);border-color:var(--decline)}@keyframes stampSlam{0%{transform:rotate(-6deg) scale(2.2);opacity:0}60%{transform:rotate(-6deg) scale(.94);opacity:1}to{transform:rotate(-6deg) scale(1);opacity:1}}.score-line{font-family:IBM Plex Mono,monospace;font-size:13px;margin-bottom:8px}.score-big,.score-line{text-align:center;color:var(--ink-soft)}.score-big{font-family:Spectral,serif;font-size:15px;margin-bottom:30px}.results-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:26px 0 34px}.topic-breakdown{display:flex;flex-direction:column;gap:8px;margin-bottom:30px}.tb-row{display:flex;align-items:center;gap:12px}.tb-name{font-size:13px;width:190px;flex-shrink:0;color:var(--ink-soft)}.tb-bar{flex:1 1;height:8px;background:var(--paper-dark);border-radius:4px;overflow:hidden}.tb-fill{height:100%;background:var(--brass)}.tb-pct{font-family:IBM Plex Mono,monospace;font-size:12px;width:40px;text-align:right;color:var(--ink-soft)}.missed-item{background:var(--white);border:1px solid var(--paper-line);border-radius:6px;padding:16px 18px;margin-bottom:10px}.missed-item .mq{font-weight:600;font-size:14px;margin-bottom:8px}.missed-item .ma{font-size:13px;margin-bottom:3px}.missed-item .ma.wrong{color:var(--decline)}.missed-item .ma.right{color:var(--approve)}.missed-item .mexp{font-size:12.5px;color:var(--ink-soft);margin-top:8px;line-height:1.5}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:30px}@media (max-width:700px){.stat-row{grid-template-columns:1fr}}.stat-box{background:var(--white);border:1px solid var(--paper-line);border-radius:6px;padding:16px 18px}.stat-box .num{font-size:26px;color:var(--ink)}.stat-box .lbl,.stat-box .num{font-family:IBM Plex Mono,monospace;font-weight:600}.stat-box .lbl{font-size:10.5px;letter-spacing:1.5px;color:var(--brass);margin-top:2px}.ledger{background:var(--white);border:1px solid var(--paper-line);border-radius:6px;overflow:hidden;overflow-x:auto}.ledger-head,.ledger-row{display:grid;grid-template-columns:90px 1fr 110px 70px;grid-gap:8px;gap:8px;padding:10px 16px;align-items:center;min-width:480px}.ledger-head{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:1px;color:#8a8f7f;text-transform:uppercase;border-bottom:1px solid var(--paper-line)}.ledger-row{font-size:13px;border-bottom:1px solid var(--paper-dark)}.ledger-row:last-child{border-bottom:none}.ledger-row:nth-child(2n){background:#f6f6ef}.ledger-row .mono{font-size:12px}.status-chip{font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:700;letter-spacing:1px;padding:2px 8px;border-radius:3px;text-align:center}.status-chip.pass{background:#dcece1;color:var(--approve)}.status-chip.fail{background:#f5e0db;color:var(--decline)}.empty-ledger{padding:40px 20px;text-align:center;color:var(--ink-soft);font-size:14px}.flash-topic-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.flash-wrap{max-width:560px;margin:0 auto}.flash-progress{justify-content:space-between;margin-bottom:16px;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-soft)}.flash-card,.flash-progress{display:flex;align-items:center}.flash-card{background:var(--white);border:1.5px solid var(--ink);border-radius:10px;min-height:240px;justify-content:center;text-align:center;padding:34px 28px;cursor:pointer;position:relative;box-shadow:6px 6px 0 var(--paper-line)}.flash-card .side-label{position:absolute;top:14px;left:16px;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:2px;color:var(--brass);font-weight:600}.flash-card .term{font-family:Spectral,serif;font-size:23px;font-weight:700;color:var(--ink)}.flash-card .def{font-family:IBM Plex Sans,sans-serif;font-size:15px;line-height:1.6;color:var(--text)}.flash-hint{text-align:center;font-family:IBM Plex Mono,monospace;font-size:11px;color:#9a9d8e;margin-top:10px;letter-spacing:1px}.flash-controls{display:flex;justify-content:space-between;align-items:center;margin-top:22px;flex-wrap:wrap;gap:8px}.flash-mark{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.btn-learning{background:#f5e0db;color:var(--decline);border:1.5px solid var(--decline)}.btn-learning:hover{background:var(--decline);color:#fff}.btn-known{background:#dcece1;color:var(--approve);border:1.5px solid var(--approve)}.btn-known:hover{background:var(--approve);color:#fff}.flash-done{text-align:center;padding:50px 20px}.flash-done h2{margin-bottom:10px}.flash-done p{color:var(--ink-soft);margin-bottom:24px}.flash-only-toggle{display:flex;align-items:center;gap:8px;justify-content:center;margin:20px 0;font-size:13px;color:var(--ink-soft)}.auth-card{background:var(--white);border:1.5px solid var(--ink);border-radius:8px;padding:30px 28px;max-width:400px;margin:48px auto 0;box-shadow:6px 6px 0 var(--paper-line)}.auth-card p.sub{font-size:13.5px;color:var(--ink-soft);margin:6px 0 20px;line-height:1.5}.auth-card input{width:100%;padding:11px 14px;border:1.5px solid var(--paper-line);border-radius:5px;font-family:IBM Plex Sans,sans-serif;font-size:14px;margin-bottom:12px;background:var(--paper)}.auth-card input:focus{outline:none;border-color:var(--brass);background:var(--white)}.form-error{background:#f5e0db;color:var(--decline)}.form-error,.form-success{border-radius:4px;padding:9px 12px;font-size:12.5px;margin-bottom:12px}.form-success{background:#dcece1;color:var(--approve)}.auth-card .switcher{margin-top:16px;font-size:13px;color:var(--ink-soft);text-align:center}.auth-card .switcher a{color:var(--brass);font-weight:600}.center-note{text-align:center;padding:60px 20px;color:var(--ink-soft)}.footer-note{text-align:center;font-size:12px;color:#9a9d8e;margin-top:50px;font-family:IBM Plex Mono,monospace}.site-footer{border-top:1px solid var(--paper-line);margin-top:60px;padding:22px}.site-footer-inner{max-width:1040px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-family:IBM Plex Mono,monospace;font-size:11px;color:#9a9d8e}.site-footer-links{display:flex;gap:16px}.site-footer-links a{color:var(--ink-soft);font-weight:600}.site-footer-links a:hover{color:var(--brass)}.legal-updated{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-soft);margin-bottom:28px}.legal-body{max-width:720px}.legal-body h3{font-size:17px;margin:28px 0 10px}.legal-body p{font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0 0 12px}.legal-body ul{margin:0 0 14px;padding-left:20px}.legal-body li{font-size:14px;line-height:1.65;color:var(--ink-soft);margin-bottom:6px}.legal-body strong{color:var(--text)}