/* Why This Is Different — certification stage additions (after why-different.css + why-recert.css) */
.o-files{border:1px solid #D6D9DE;border-radius:3px}
.o-file{display:grid;grid-template-columns:1fr 130px 120px 80px;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid #E5E7EA;font-size:12.5px;color:#2D3B45;transition:background .2s}
.o-file:first-child{border-top:none;background:#F0F1F3;font-weight:700;font-size:12px}
.o-file span{color:#55606B;font-size:12px}
.o-file .nm{display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.o-file .nm svg{width:14px;height:14px;color:#6B7280;flex-shrink:0}
.o-file.enter{animation:wy-in .5s both}
.o-file.hov{background:#EEF0F3}
.o-sheetbar{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;color:#55606B}
.o-sheetbar b{font-weight:700;color:#2D3B45}
.o-sheetbar .cell{margin-left:auto;padding:4px 8px;border:1px solid #C7CCD1;background:#fff;font-family:monospace;font-size:11px}
.o-sheet{border:1px solid #D6D9DE;font-size:12px;display:grid;grid-template-columns:28px 1.1fr 1.3fr .9fr .9fr .9fr 1.2fr .8fr}
.o-sheet>div{padding:6px 8px;border-right:1px solid #E5E7EA;border-bottom:1px solid #E5E7EA;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#2D3B45;min-height:29px}
.o-sheet .h{background:#F0F1F3;font-weight:700;text-align:center;color:#55606B}
.o-sheet .rn{background:#F0F1F3;color:#8A939C;text-align:center}
.o-sheet .miss{color:#A65B5B;font-style:italic}
.o-sheet .sel{outline:2px solid #5C636C;outline-offset:-2px;background:#fff}
.o-sheet .caret{display:inline-block;width:1px;height:12px;background:#2D3B45;vertical-align:-2px;animation:wy-blink 1s steps(1) infinite}
.o-inbox{display:grid;grid-template-columns:300px 1fr;flex:1;min-height:0}
.o-msgs{border-right:1px solid #E5E7EA;overflow:hidden}
.o-msg{padding:10px 14px;border-bottom:1px solid #E5E7EA;font-size:12px;color:#55606B;border-left:3px solid transparent}
.o-msg b{display:block;font-size:12.5px;color:#2D3B45;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o-msg span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o-msg.on{background:#EEF0F3;border-left-color:#5C636C}
.o-read{padding:16px 22px;display:flex;flex-direction:column;gap:12px;min-height:0}
.o-read h4{margin:0;font-size:16px;font-weight:400;color:#2D3B45}
.o-read .meta{font-size:12px;color:#55606B}
.o-read p{margin:0;font-size:13px;line-height:1.55;color:#2D3B45}
.o-attach{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #C7CCD1;border-radius:3px;font-size:12px;color:#2D3B45;align-self:flex-start}
.o-attach svg{width:14px;height:14px;color:#6B7280}
.o-reply{border:1px solid #C7CCD1;border-radius:3px;padding:10px;font-size:13px;color:#2D3B45;min-height:60px;display:none;line-height:1.5}
.o-reply.on{display:block}
.o-reply .caret{display:inline-block;width:1px;height:14px;background:#2D3B45;vertical-align:-2px;animation:wy-blink 1s steps(1) infinite}
.n-id{font-family:var(--font-mono);font-size:11px;color:#8B8499}
.n-acts{display:flex;gap:6px;justify-content:flex-end}
.n-acts .b{width:28px;height:28px;border-radius:8px;border:1px solid #E6E1EF;background:#fff;display:grid;place-items:center;color:#4A4358;transition:all .2s}
.n-acts .b svg{width:13px;height:13px}
.n-acts .b.hov{background:#F5F3FF;border-color:#C4B5FD}
.n-acts .b.dim{opacity:.4}
.n-page[data-page="registry"] .n-table th:nth-child(1){width:22%}.n-page[data-page="registry"] .n-table th:nth-child(2){width:29%}.n-page[data-page="registry"] .n-table th:nth-child(3){width:9%}.n-page[data-page="registry"] .n-table th:nth-child(4){width:16%}.n-page[data-page="registry"] .n-table th:nth-child(5){width:13%}.n-page[data-page="registry"] .n-table th:nth-child(6){width:11%}
.n-recgrid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.n-recgrid>*{min-width:0}
.n-cc{min-width:0}
.n-cmodal{position:absolute;inset:0;z-index:7;background:rgba(27,16,56,.35);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.n-cmodal.on{opacity:1;pointer-events:auto}
.n-cmodal-c{width:540px;background:#fff;border-radius:20px;box-shadow:0 40px 80px -30px rgba(0,0,0,.5);transform:translateY(12px) scale(.98);transition:transform .35s var(--ease-out);overflow:hidden}
.n-cmodal.on .n-cmodal-c{transform:none}
.n-cmodal-h{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid #ECE8F4}
.n-cmodal-h .ic{width:30px;height:30px;border-radius:9px;background:#DCFCE7;color:#15803D;display:grid;place-items:center}
.n-cmodal-h .ic svg{width:14px;height:14px}
.n-cmodal-h b{display:block;font-size:13px;font-weight:700}
.n-cmodal-h span{display:block;font-family:var(--font-mono);font-size:10.5px;color:#8B8499}
.n-cmodal-h .x{margin-left:auto;color:#8B8499}.n-cmodal-h .x svg{width:16px;height:16px}
.n-certpaper{margin:12px 16px;border:2px solid #6D28D9;border-radius:12px;padding:5px}
.n-certpaper>div{border:1px solid #E6E1EF;border-radius:8px;padding:12px 18px;text-align:center}
.n-certpaper img{height:16px;margin:0 auto 5px;display:block}
.n-certpaper small{display:block;font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#6D28D9}
.n-certpaper h6{margin:2px 0 3px;font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:-.02em}
.n-certpaper .to,.n-certpaper .for{font-size:10.5px;color:#6B6478}
.n-certpaper .nm{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:700;margin:1px 0;color:#211A2E}
.n-certpaper .rule{width:120px;height:2px;background:#C4B5FD;margin:3px auto 6px}
.n-certpaper .course{font-size:13px;font-weight:700;margin:3px 0 8px}
.n-certpaper .row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:6px}
.n-certpaper .sig{font-family:Georgia,serif;font-size:13px;font-weight:700;border-bottom:1px solid #C4B5FD;padding-bottom:2px;text-align:left}
.n-certpaper .score{font-family:var(--font-display);font-size:15px;font-weight:800;border-bottom:1px solid #C4B5FD;padding-bottom:2px;text-align:right}
.n-certpaper .row small{font-size:9.5px;letter-spacing:0;text-transform:none;color:#6B6478;font-weight:600;margin-top:2px}
.n-certpaper .seal{width:36px;height:36px;border-radius:50%;background:#EDE9FE;border:2px solid #8B5CF6;color:#6D28D9;display:grid;place-items:center}
.n-certpaper .seal svg{width:15px;height:15px}
.n-certpaper .foot{display:flex;justify-content:center;gap:14px;margin-top:8px;padding-top:7px;border-top:1px solid #ECE8F4;font-size:10.5px;color:#4A4358}
.n-certpaper .foot b{font-weight:700}
.n-certpaper .vlink{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-family:var(--font-mono);font-size:10.5px;color:#6D28D9;text-decoration:underline}
.n-certpaper .vlink svg{width:12px;height:12px}
.n-cmodal-f{display:flex;justify-content:flex-end;gap:8px;padding:8px 16px 12px}
.n-verify{position:absolute;inset:0;z-index:4;background:radial-gradient(60% 50% at 20% 0%,#EDE9FE,transparent 60%),radial-gradient(50% 50% at 90% 100%,#E0F2FE,transparent 60%),#F7F6FB;display:none;flex-direction:column;align-items:center;padding:20px;overflow:hidden}
.n-verify.on{display:flex;animation:wy-fade .5s both}
.n-verify>img{height:22px;margin-bottom:12px}
.n-vcard{width:470px;background:#fff;border-radius:18px;box-shadow:0 30px 60px -30px rgba(33,26,46,.35);padding:16px 22px;text-align:center}
.n-vcard .ok{width:52px;height:52px;border-radius:50%;background:#DCFCE7;color:#15803D;display:grid;place-items:center;margin:0 auto 8px}
.n-vcard .ok svg{width:26px;height:26px}
.n-vcard h4{margin:0;font-family:var(--font-display);font-size:21px;font-weight:800;letter-spacing:-.02em}
.n-vcard>p{margin:4px 0 8px;font-size:12px;color:#6B6478}
.n-vrow{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-top:1px solid #F1EEF8;font-size:12.5px;opacity:0;transform:translateY(4px);transition:opacity .4s,transform .4s}
.n-vrow.on{opacity:1;transform:none}
.n-vrow span{color:#4A4358;font-weight:600}
.n-vrow b{font-weight:700}
.n-vrow .mono{font-family:var(--font-mono);font-size:12px}
.n-vnote{margin-top:8px;padding:8px 10px;border-radius:10px;background:#F3F1F8;font-size:11px;color:#4A4358;text-align:left;line-height:1.4}
.n-rtabs{display:flex;gap:22px;border-bottom:1px solid #ECE8F4;font-size:13px;font-weight:600;color:#6B6478}
.n-rtabs span{padding:8px 0;border-bottom:2px solid transparent}.n-rtabs span.on{color:#6D28D9;border-bottom-color:#6D28D9}
.n-cc{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #ECE8F4;border-radius:14px;background:#fff;margin-top:8px;transition:background .25s}
.n-cc.hov{background:#F7F5FB}
.n-cc .ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}
.n-cc .ic svg{width:16px;height:16px}
.n-cc>div{flex:1;min-width:0}
.n-cc b{display:block;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n-cc span{display:block;font-size:11.5px;color:#6B6478;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n-cc .n-tag,.n-cc .n-btn{flex-shrink:0}
.n-cc.ext{border-style:dashed;border-color:#C4B5FD;background:#FBFAFF}
.n-prev{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #ECE8F4;border-radius:12px;background:#fff;margin-top:8px;font-size:11.5px;color:#4A4358}
.n-prev .ic{width:28px;height:28px;border-radius:9px;background:#F1EEF8;color:#6B6478;display:grid;place-items:center;flex-shrink:0}
.n-prev .ic svg{width:13px;height:13px}
.n-prev>div{flex:1;min-width:0}
.n-prev b{display:block;font-size:12.5px;color:#211A2E}
.n-prev em{font-style:normal;font-family:var(--font-mono);font-size:11px;color:#8B8499;white-space:nowrap}
