/* Certificate Verification • Design 1 — Modern Academic • Robotics Camp v4.0 */
.cv-body{background:#f6faff;color:#163d78}
.cv-body [hidden]{display:none!important}
.cv-page{min-height:75vh;overflow:clip;background:linear-gradient(180deg,#f3f9ff 0,#fff 69%,#f4f9ff 100%)}
.cv-page .icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.cv-hero{position:relative;border-bottom:1px solid #e2effb;background:radial-gradient(ellipse at 74% 34%,#dcedff 0,transparent 44%),linear-gradient(123deg,#f5faff 0%,#e9f5ff 62%,#f5faff 100%);overflow:hidden}
.cv-hero::after{content:"";position:absolute;inset:auto -80px -130px auto;border-radius:50%;width:360px;height:360px;border:1px solid rgba(90,154,224,.13);box-shadow:0 0 0 50px rgba(117,174,228,.035),0 0 0 110px rgba(117,174,228,.027);pointer-events:none}
.cv-hero-inner{min-height:330px;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,460px);gap:20px;align-items:center;position:relative;z-index:1}
.cv-hero-copy{padding:43px 0 46px}.cv-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.73rem;color:#286fae;font-weight:850;letter-spacing:.095em}.cv-eyebrow-dot{height:8px;width:8px;background:#ff933c;border-radius:50%;box-shadow:0 0 0 5px #ff933c19}
.cv-hero h1{font-size:clamp(2.7rem,5.3vw,4.55rem);font-weight:900;letter-spacing:-.055em;line-height:1.07;margin:17px 0 19px;color:#103f86}.cv-hero h1 span{color:#1768cf}.cv-hero-lead{font-weight:760;font-size:1.12rem;color:#183d70;margin:0 0 7px}.cv-hero-description{max-width:500px;line-height:1.78;font-size:.99rem;color:#59718e;margin:0}.cv-hero-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:21px}.cv-hero-tags span{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:710;color:#375f8a}.cv-hero-tags .icon{width:17px;height:17px;color:#2a82d3}
.cv-hero-image{position:relative;display:flex;align-items:center;justify-content:center;height:320px}.cv-hero-image img{width:100%;max-width:460px;height:100%;object-fit:contain;filter:drop-shadow(0 14px 20px #4c95d516)}
.cv-content{max-width:1050px!important;padding:36px 0 77px}.cv-search-panel{background:#fff;border:1px solid #dbe8f7;border-radius:23px;box-shadow:0 17px 50px rgba(38,94,159,.085),0 2px 6px rgba(38,94,159,.025);padding:clamp(23px,4vw,38px);position:relative;overflow:hidden}.cv-search-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#1c7cda 0%,#80b9fb 75%,#ff9a3e 100%)}.cv-overline{display:inline-block;color:#2182cd;font-size:.68rem;font-weight:830;letter-spacing:.12em}.cv-section-heading h2{font-size:clamp(1.44rem,2.8vw,1.9rem);letter-spacing:-.035em;color:#10417e;line-height:1.3;margin:8px 0 7px}.cv-section-heading p{color:#607892;font-size:.93rem;margin:0 0 24px}.cv-search-panel label{display:block;font-size:.88rem;font-weight:760;color:#214776;margin-bottom:10px}.cv-required{color:#e65d35}.cv-search-controls{display:flex;gap:12px;align-items:stretch}.cv-input-wrapper{display:flex;align-items:center;gap:11px;border:1px solid #c4d9ed;border-radius:11px;background:#f9fcff;min-width:0;flex:1;box-shadow:inset 0 1px 2px #d8e9f63b;transition:border-color .15s,box-shadow .15s}.cv-input-wrapper:focus-within{border-color:#207be4;box-shadow:0 0 0 4px #238bf21b}.cv-input-wrapper .icon{color:#4b83ba;margin-left:15px}.cv-search-controls input{font:inherit;min-width:0;min-height:55px;flex:1;border:0;background:none;outline:0;color:#173e75;padding:13px 14px 13px 0;font-size:1rem;font-weight:650;letter-spacing:.12em}.cv-search-controls input::placeholder{color:#92a9c2;font-weight:450;letter-spacing:0}.cv-submit{display:flex;justify-content:center;align-items:center;gap:9px;min-height:55px;min-width:226px;border:0;border-radius:11px;background:linear-gradient(110deg,#2169d2,#0750ae);box-shadow:0 8px 18px #165dbe30;color:#fff;font:inherit;font-weight:800;font-size:.89rem;padding:12px 24px;cursor:pointer;transition:transform .15s,filter .15s}.cv-submit:hover:not(:disabled){filter:brightness(1.075);transform:translateY(-1px)}.cv-submit:disabled{opacity:.72;cursor:progress}.cv-submit .icon{width:19px;height:19px}.cv-input-hint{margin:12px 0 0;color:#667d98;font-size:.78rem;display:flex;gap:6px;align-items:center}.cv-input-hint .icon{width:14px;height:14px;color:#4686c7}.cv-trustline{display:flex;align-items:center;justify-content:center;gap:7px;color:#788da3;border-top:1px solid #e9f0f8;margin-top:25px;padding-top:19px;font-size:.76rem;text-align:center}.cv-trustline .icon{width:15px;height:15px;color:#478bc8}.cv-feedback{padding:13px 16px;margin-top:16px;border:1px solid #d9e3f1;border-radius:11px;background:#f4f9ff;color:#254f82;font-size:.87rem;line-height:1.65}.cv-feedback[data-kind="error"]{border-color:#f3c7c7;background:#fff5f5;color:#a32c3f}.cv-feedback[data-kind="warning"]{border-color:#f6dfb5;background:#fff9eb;color:#8b5a0e}.cv-feedback[data-kind="loading"]{border-color:#c6dbf9;background:#f1f7ff;color:#225e9c}
.cv-result{margin-top:25px;background:#fff;border:1px solid #dbe8f7;border-radius:23px;box-shadow:0 17px 50px #245d9f0a;overflow:hidden;animation:cv-reveal .28s ease both}.cv-result-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 30px;border-bottom:1px solid #e3edf7;background:linear-gradient(95deg,#f2faff,#fff)}.cv-result-heading{display:flex;align-items:center;gap:15px;min-width:0}.cv-result-symbol{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:#e6f7ee;color:#149354;flex-shrink:0}.cv-result-symbol .icon{width:28px;height:28px;stroke-width:3}.cv-result-heading h2{color:#123f7b;font-size:1.33rem;margin:5px 0 4px;line-height:1.25}.cv-result-heading p{color:#667d91;font-size:.81rem;line-height:1.55;margin:0}.cv-result-badge{white-space:nowrap;display:inline-flex;gap:7px;align-items:center;border-radius:50px;padding:8px 12px;font-size:.76rem;font-weight:800;border:1px solid #d6e6f2;background:#f5f9ff;color:#3e6c99}.cv-result-badge[data-state="passed"]{background:#edf9f2;border-color:#c7e9d4;color:#17824a}.cv-result-badge[data-state="pending"]{background:#fff6e8;border-color:#f6ddaf;color:#a86a19}.cv-status-dot{width:8px;height:8px;background:currentColor;border-radius:50%}
.cv-person-data{padding:27px 30px 31px;display:flex;align-items:center;gap:23px}.cv-person-art{width:112px;height:112px;flex-shrink:0}.cv-person-art svg{display:block;width:100%;height:100%}.cv-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 23px;flex:1;min-width:0;margin:0}.cv-facts>div{min-width:0}.cv-facts dt{font-size:.72rem;font-weight:680;color:#7288a2;margin-bottom:5px}.cv-facts dd{font-size:.94rem;color:#143f7d;font-weight:790;margin:0;overflow-wrap:anywhere}.cv-monospace{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.cv-table-section{border-top:1px solid #e5edf6;padding:29px 30px 0}.cv-table-heading{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:17px}.cv-table-heading h3{margin:8px 0 0;font-size:1.17rem;color:#143f80;letter-spacing:-.02em}.cv-stage-counter{font-size:.79rem;font-weight:770;white-space:nowrap;border:1px solid #d9e7f7;border-radius:999px;padding:6px 11px;background:#eff7ff;color:#216cad}.cv-table-wrap{border:1px solid #d4e3f3;border-radius:12px;overflow:hidden}.cv-table{border-collapse:collapse;width:100%;table-layout:fixed}.cv-table th:first-child{width:64%}.cv-table thead{background:#124b9e;color:#fff}.cv-table th{text-align:left;font-size:.79rem;font-weight:800;padding:15px 18px;line-height:1.4}.cv-table th:last-child{text-align:center}.cv-table td{padding:13px 18px;border-bottom:1px solid #e8eff7;font-size:.85rem;color:#274c7f}.cv-table tbody tr:nth-child(even){background:#f7fbff}.cv-table tbody tr:last-child td{border-bottom:0}.cv-table .cv-stage-name{display:flex;align-items:center;gap:10px;font-weight:715;color:#1c487f}.cv-stage-index{display:grid;place-items:center;flex-shrink:0;width:34px;height:29px;border-radius:7px;background:#e7f2ff;color:#2777c9;font-weight:800;font-size:.72rem}.cv-stage-status{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:780}.cv-stage-status .icon{width:19px;height:19px;stroke-width:2.4}.cv-stage-status.is-passed{color:#15944f}.cv-stage-status.is-pending{color:#d64456}
.cv-summary{margin:24px 30px 0;border:1px solid #cde1f7;border-radius:14px;background:linear-gradient(100deg,#ebf5ff,#f8fbff);padding:19px 20px;display:flex;align-items:center;gap:16px}.cv-summary[data-state="passed"]{background:linear-gradient(98deg,#eefaf3,#f9fefb);border-color:#cbe9d6}.cv-summary[data-state="partial"]{background:linear-gradient(100deg,#edf6ff,#f8fbff)}.cv-summary[data-state="pending"]{background:#fffaf0;border-color:#f2dfbb}.cv-summary-icon{width:49px;height:49px;border-radius:13px;background:#d9eaff;color:#2270c8;display:grid;place-items:center;flex-shrink:0}.cv-summary[data-state="passed"] .cv-summary-icon{color:#15944f;background:#ddf5e7}.cv-summary[data-state="pending"] .cv-summary-icon{color:#b77926;background:#fff0d2}.cv-summary-icon .icon{width:27px;height:27px}.cv-summary h3{font-size:1rem;font-weight:840;color:#17457e;margin:0 0 5px}.cv-summary p{font-size:.81rem;color:#54728f;margin:0;line-height:1.55}.cv-result-actions{display:flex;flex-wrap:wrap;gap:12px;padding:25px 30px 0}.cv-action{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c5d9ef;border-radius:10px;padding:11px 19px;font:inherit;font-weight:800;font-size:.8rem;min-height:43px;cursor:pointer}.cv-action-primary{background:#1457af;color:white;border-color:#1457af}.cv-action-secondary{color:#2469a5;background:#f3f8ff}.cv-action .icon{width:17px;height:17px}.cv-action:focus-visible,.cv-submit:focus-visible,.cv-help-link:focus-visible{outline:3px solid #ffb069;outline-offset:3px}.cv-report-footnote{color:#7b8ea4;font-size:.74rem;line-height:1.6;margin:18px 30px 28px}
.cv-help{margin-top:25px;padding:22px 27px;border:1px solid #d6e7f7;border-radius:18px;background:#eff7ff;display:flex;align-items:center;gap:15px}.cv-help-symbol{display:grid;place-items:center;flex-shrink:0;width:47px;height:47px;border-radius:13px;background:#dbeeff;color:#276bc0}.cv-help-symbol .icon{width:25px;height:25px}.cv-help h2{color:#17467f;font-size:1rem;margin:0 0 5px}.cv-help p{color:#5e7793;font-size:.81rem;line-height:1.6;margin:0}.cv-help-link{margin-left:auto;white-space:nowrap;color:#0759b5;font-weight:800;font-size:.8rem;text-decoration:none}.cv-help-link:hover{text-decoration:underline}
@keyframes cv-reveal{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:950px){.cv-hero-inner{grid-template-columns:minmax(0,1fr) 37%;min-height:290px}.cv-hero-image{height:280px}.cv-hero h1{font-size:clamp(2.5rem,5.2vw,3.6rem)}.cv-content{padding-top:25px}}
@media(max-width:650px){.cv-hero-inner{grid-template-columns:1fr;gap:0;min-height:0}.cv-hero-copy{padding:29px 0 0}.cv-hero h1{font-size:clamp(2.15rem,9vw,3.2rem);margin:13px 0 12px}.cv-hero-lead{font-size:1rem}.cv-hero-description{font-size:.88rem;line-height:1.65}.cv-hero-tags{margin-top:12px;gap:10px}.cv-hero-tags span{font-size:.71rem}.cv-hero-image{height:165px;justify-content:center;overflow:hidden}.cv-hero-image img{max-width:270px;height:210px;transform:translateY(-11px)}.cv-content{padding:17px 0 45px}.cv-search-panel{padding:21px 17px;border-radius:16px}.cv-section-heading p{margin-bottom:16px;font-size:.84rem}.cv-section-heading h2{font-size:1.39rem}.cv-search-controls{flex-direction:column;gap:10px}.cv-search-controls input{min-height:52px}.cv-submit{min-width:0;width:100%;min-height:50px}.cv-trustline{font-size:.68rem;line-height:1.5;margin-top:18px;padding-top:14px}.cv-feedback{font-size:.82rem}.cv-result{border-radius:17px;margin-top:16px}.cv-result-top{padding:19px 16px;align-items:flex-start;flex-direction:column;gap:11px}.cv-result-heading{gap:10px}.cv-result-symbol{width:45px;height:45px;border-radius:12px}.cv-result-symbol .icon{width:22px;height:22px}.cv-result-heading h2{font-size:1.14rem}.cv-result-heading p{font-size:.73rem}.cv-result-badge{margin-left:55px;padding:6px 10px;font-size:.69rem}.cv-person-data{padding:18px 16px 23px;align-items:flex-start;gap:13px}.cv-person-art{width:63px;height:63px}.cv-facts{grid-template-columns:1fr;gap:13px}.cv-facts dt{font-size:.69rem}.cv-facts dd{font-size:.85rem}.cv-table-section{padding:20px 16px 0}.cv-table-heading{align-items:flex-start;gap:7px;flex-direction:column}.cv-table-heading h3{font-size:1.02rem;margin:4px 0 2px}.cv-stage-counter{font-size:.72rem}.cv-table th,.cv-table td{padding:11px 9px}.cv-table th{font-size:.67rem}.cv-table td{font-size:.74rem}.cv-table th:first-child{width:66%}.cv-table .cv-stage-name{gap:6px;font-size:.73rem}.cv-stage-index{width:26px;height:25px;font-size:.66rem}.cv-stage-status{gap:5px;font-size:.74rem}.cv-stage-status .icon{width:15px;height:15px}.cv-summary{margin:18px 16px 0;padding:14px;gap:10px}.cv-summary-icon{width:39px;height:39px}.cv-summary-icon .icon{width:22px;height:22px}.cv-summary h3{font-size:.91rem}.cv-summary p{font-size:.74rem}.cv-result-actions{padding:18px 16px 0}.cv-action{flex:1;min-width:125px;padding:10px;font-size:.73rem}.cv-report-footnote{margin:16px 16px 20px;font-size:.7rem}.cv-help{padding:17px;flex-wrap:wrap;gap:10px}.cv-help-symbol{width:39px;height:39px}.cv-help h2{font-size:.9rem}.cv-help p{font-size:.76rem}.cv-help-link{margin-left:49px}}
@media(max-width:360px){.cv-hero-tags{gap:7px}.cv-hero-tags span{font-size:.68rem}.cv-table th,.cv-table td{padding:10px 6px}.cv-table .cv-stage-name{font-size:.69rem}.cv-table .cv-stage-status{font-size:.69rem}.cv-help-link{margin-left:0}}
@media(prefers-reduced-motion:reduce){.cv-submit{transition:none}.cv-result{animation:none}}
@media print{.cv-page{min-height:0;background:#fff!important}.site-header,.nl-footer,.cv-hero,.cv-search-panel,.cv-help,.cv-result-actions,.cv-report-footnote{display:none!important}.cv-content{max-width:100%!important;padding:0!important}.cv-result{display:block!important;box-shadow:none!important;border-color:#d6dce2!important;margin:0!important;animation:none!important}.cv-result-top,.cv-table thead,.cv-summary{print-color-adjust:exact;-webkit-print-color-adjust:exact}.cv-result{break-inside:avoid;page-break-inside:avoid}.cv-table tr{break-inside:avoid}}
