@import url('/fonts/nunito.css');
:root{--paper:#f6f8fc;--ink:#192552;--muted:#5c6680;--accent:#2546e8;--accent-dark:#1835bd;--line:#d0d8e8;--green:#236448;--white:#ffffff;--soft:#edf1fa;font-family:'Nunito',ui-rounded,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0}
button,input{font:inherit}
a{color:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #2546e8;outline-offset:4px}
button,a,input{transition:background .18s,color .18s,box-shadow .18s}
button{border:0}
h1,h2,h3,p{margin:0}
h1,h2{letter-spacing:-.045em}
h2{font-size:28px;line-height:1.15}
h3{font-size:19px;letter-spacing:-.02em}
p{line-height:1.65}
input{min-width:0;border:1px solid var(--line);background:var(--white);border-radius:7px;padding:13px 14px;color:var(--ink);width:100%}
input:focus{border-color:var(--green);outline:2px solid #2546e820}
label{display:block;font-size:13px;font-weight:600}
label input{margin-top:8px;font-weight:400}
input[readonly]{color:var(--muted);font-size:13px}
a{text-decoration:none}
a:hover{text-decoration:underline}
[hidden]{display:none!important}
.site-header{max-width:1384px;margin:auto;padding:30px 52px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;font-size:24px;font-weight:800;letter-spacing:-1px;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand-light{font-weight:400}
.brand-dot{color:var(--accent);font-weight:800}
.brand-box{width:32px;height:32px;border-radius:7px 7px 2px 7px;background:var(--accent);color:var(--paper);display:grid;place-items:center;font:normal bold 27px 'Nunito';margin-right:10px;transform:rotate(-7deg)}
.header-note{font:normal 15px 'Nunito';color:var(--muted)}
.header-link{font-size:13px;font-weight:600}
.header-link span{margin-left:12px}
.hero{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding:85px 52px 80px;align-items:center}
.eyebrow{display:block;font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--green);line-height:1.5}
.tiny-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--accent);margin-right:7px;vertical-align:1px}
.hero h1{font-size:clamp(64px,6.4vw,88px);line-height:1.01;letter-spacing:-5px;font-weight:750;margin:27px 0}
.hero h1 em{color:var(--accent);font-family:'Nunito',sans-serif;font-weight:400}
.hero-description{font-size:18px;color:var(--muted);line-height:1.65}
.hero-chips{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px;font-size:12px}
.hero-chips span:before{content:'✓';color:var(--green);margin-right:7px}
.hand-note{font:normal 19px 'Nunito';margin-top:43px;color:var(--muted);padding-left:45px;transform:rotate(-5deg)}
.hand-note span{font-size:36px;display:inline-block;transform:rotate(12deg);margin-left:12px}
.upload-card{background:var(--white);border:1px solid #d0d8e8;border-radius:15px;padding:27px 30px 25px;box-shadow:0 14px 0 -8px #dbe5ff,0 25px 35px -30px #19255240;transform:rotate(1deg)}
.card-kicker{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin-bottom:26px}
.corner-symbol{font-size:21px}
.upload-card h2{font-size:28px}
.upload-card>p{font-size:13px;color:var(--muted);margin-top:9px}
.dropzone{position:relative;background:#e3edff;border:1.5px dashed #7e95d6;display:flex;align-items:center;flex-direction:column;justify-content:center;border-radius:9px;margin-top:26px;padding:30px 15px 25px;min-height:240px;cursor:pointer;font-weight:400}
.dropzone:hover,.dropzone.dragging{border-color:var(--green);background:#d5e3ff}
.dropzone:focus-within{outline:3px solid #2546e8;outline-offset:3px}
.dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.dropzone strong{font-size:15px;margin-bottom:8px}
.dropzone>span:not(.zip-icon){font-size:12px;color:var(--muted)}
.dropzone u{text-decoration-color:#2546e8;text-underline-offset:3px}
.dropzone small{font-size:10px;color:#5c6680;margin-top:24px}
.zip-icon{position:relative;border:1.5px solid #2546e8;border-radius:3px;width:41px;height:48px;margin-bottom:23px;transform:rotate(-7deg);background:#ffffff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:bold;letter-spacing:1px;color:var(--green)}
.zip-icon:after{content:'';position:absolute;width:12px;height:12px;right:-1px;top:-1px;background:#e3edff;border-left:1px solid #2546e8;border-bottom:1px solid #2546e8}
.zip-icon i{position:absolute;right:-13px;bottom:-8px;width:25px;height:25px;display:grid;place-items:center;background:var(--green);color:white;border-radius:50%;font:normal 18px 'Nunito';border:3px solid #e3edff}
.upload-foot{margin-top:22px;font-size:10px;color:var(--muted);text-align:center;line-height:1.7}
.upload-foot>span:last-child{padding-left:15px}
.small-lock{margin-right:7px;font-size:14px}
.upload-progress{padding-top:22px}
.progress-heading{display:flex;justify-content:space-between;font-size:12px}
progress{width:100%;accent-color:var(--accent);height:6px;border:0;border-radius:3px;margin:12px 0}
progress::-webkit-progress-bar{background:var(--soft);border-radius:3px}
progress::-webkit-progress-value{background:var(--accent);border-radius:3px}
.upload-progress p{font-size:12px;color:var(--muted)}
.upload-progress a{text-decoration:underline}
.disabled{opacity:.6;pointer-events:none}
.how-section{max-width:1176px;margin:0 auto;padding:42px 0 55px;border-top:1px solid var(--line)}
.section-heading h2{font-size:30px;margin-top:12px;font-weight:750}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:32px}
.steps article{position:relative;padding-left:44px}
.step-number{font:normal 23px 'Nunito';color:#2546e8;position:absolute;left:0;top:-3px}
.steps p{font-size:13px;color:var(--muted);margin-top:10px;max-width:275px}
.site-footer{max-width:1280px;margin:30px auto 0;border-top:1px solid var(--line);padding:25px 52px;display:flex;justify-content:space-between;gap:30px;font-size:10px;color:#5c6680}
.site-footer>span:first-child{font:normal 13px 'Nunito'}
.site-footer a{text-decoration:underline}
.recent-section{max-width:1176px;margin:0 auto;padding:20px 0 30px}
.horizontal{display:flex;justify-content:space-between;align-items:center;gap:20px}
.recent-course{display:flex;gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.recent-course strong{font-size:15px;font-weight:750}
.recent-course>span:last-child{margin-left:auto;font-size:12px;color:var(--muted)}
.file-mark{background:var(--soft);padding:10px 14px;border-radius:6px}
.small{font-size:12px}
.muted{color:var(--muted)}
.workspace{max-width:1280px;margin:auto;padding:35px 52px 0}
.back-link{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:32px}
.course-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.course-title{font-size:42px;font-weight:750;margin:13px 0 14px;overflow-wrap:anywhere}
.course-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;color:var(--muted)}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.status-dot.ready{background:var(--green)}
.meta-divider{color:#8f9cbb;margin:0 3px}
.private-notice{display:flex;gap:15px;align-items:center;border:1px solid #b8caff;background:#e3edff;padding:16px 20px;border-radius:8px;font-size:11px;line-height:1.7;margin:29px 0}
.private-notice>span{font-size:23px;color:#2546e8}
.private-notice strong{display:block;font-weight:600}
.private-notice .text-button{margin-left:auto;white-space:nowrap;color:#2546e8}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:6px;min-height:43px;padding:12px 18px;font-size:12px;font-weight:600;border:1px solid transparent;text-decoration:none;white-space:nowrap}
.button:hover{text-decoration:none}
.primary{color:white;background:var(--accent)}
.primary:hover{background:var(--accent-dark)}
.secondary{background:transparent;border-color:var(--line);color:var(--ink)}
.secondary:hover{background:var(--soft)}
.dark{background:var(--ink);color:white}
.dark:hover{background:#1835bd}
.full{width:100%;justify-content:space-between}
.compact{padding:9px 13px;min-height:36px;font-size:11px}
.text-button{background:transparent;color:var(--muted);padding:6px 0;font-size:11px;font-weight:750}
.text-button:hover{color:var(--ink)}
.management-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:24px}
.share-card,.preview-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:28px}
.share-card>p,.preview-card>p{font-size:12px;color:var(--muted);margin-top:10px;max-width:435px}
.field-label{font-size:10px;color:var(--muted);margin:25px 0 8px}
.copy-field{display:flex;gap:8px}
.copy-field input{margin:0}
.share-actions{display:flex;flex-wrap:wrap;gap:23px;margin:12px 0 15px}
.personalized{border-top:1px solid var(--line);margin-top:12px;padding-top:18px}
.personalized summary{font-size:11px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;line-height:1.6}
.personalized summary span{font-size:17px}
.personalized[open] summary{margin-bottom:14px}
.personalized p{color:var(--muted)}
.personalized .two-fields{margin:14px 0}
.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.two-fields label{font-size:11px}
.two-fields input{font-size:12px}
.personalized .copy-field{margin-top:18px}
.preview-card .card-kicker{margin-bottom:16px}
.preview-art{height:135px;background:#e3edff;border-radius:6px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:21px}
.mini-window{width:170px;height:114px;background:var(--white);border:1px solid #192552;border-radius:5px;transform:rotate(-5deg) translateY(12px);box-shadow:8px 8px 0 #c1d1ff}
.window-dots{padding:7px 9px;border-bottom:1px solid var(--line);font-size:5px;letter-spacing:2px;color:#2546e8}
.play-disc{height:32px;width:32px;margin:13px auto 10px;background:var(--accent);color:white;display:grid;place-items:center;border-radius:50%;font-size:10px;padding-left:2px}
.mini-line{height:3px;background:#d0d8e8;width:90px;margin:5px auto}
.mini-line.short{width:65px}
.preview-tag{position:absolute;bottom:16px;right:20px;background:var(--green);color:#fff;transform:rotate(5deg);font-size:8px;letter-spacing:.6px;padding:7px 10px;border-radius:3px}
.preview-card h2{font-size:24px}
.preview-card .button{margin-top:18px;width:100%;justify-content:space-between}
.results-section{margin-top:48px}
.results-actions{display:flex;align-items:center;gap:20px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:9px;margin:25px 0 20px;background:var(--white);padding:25px 0}
.stat-grid>div{padding:0 25px;border-right:1px solid var(--line)}
.stat-grid>div:last-child{border:0}
.stat-grid strong{display:block;font-size:32px;letter-spacing:-1px;font-weight:750}
.stat-grid strong small{font-size:17px}
.stat-grid span{display:block;font-size:10px;color:var(--muted);margin-top:8px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--white)}
table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}
th{padding:14px 19px;color:var(--muted);font-size:9px;letter-spacing:.5px;text-transform:uppercase;background:#e3edff;font-weight:600}
td{padding:18px 19px;border-top:1px solid var(--line);font-size:12px}
td strong{font-size:12px;font-weight:750}
.learner-email{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.badge{display:inline-flex;padding:6px 8px;border-radius:4px;color:#4d5a78;background:#edf1fa;font-size:9px;line-height:1}
.badge.green{background:#e1f4e9;color:#1d6244}
.badge.red{background:#ffe8ef;color:#a1264c}
.empty-results{text-align:center;background:#e3edff;border:1px dashed #a5b6db;border-radius:9px;padding:36px 20px}
.empty-results>span{font-size:26px;color:var(--green);display:block;margin-bottom:12px}
.empty-results h3{font-size:16px;font-weight:750}
.empty-results p{font-size:12px;color:var(--muted);margin-top:9px}
.results-note{font-size:10px;color:var(--muted);margin-top:16px}
.pagination{display:flex;justify-content:space-between;align-items:center;padding-top:15px;gap:20px}
.pagination .text-button{margin-left:20px}
.danger-zone{margin-top:45px;padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}
.danger{color:#ad2953}
.processing-panel{text-align:center;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:65px 30px}
.processing-panel h2{margin-top:22px}
.processing-panel p{font-size:14px;max-width:520px;margin:15px auto;color:var(--muted)}
.processing-panel .button{margin-top:15px}
.processing-icon{font:normal 42px 'Nunito';color:var(--accent)}
.spinner{display:inline-block;width:27px;height:27px;border:2px solid #d0d8e8;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}
}
.loading-screen{text-align:center;padding:120px 20px}
.loading-screen p{margin-top:20px;font-size:13px;color:var(--muted)}
.learner-page{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:center;min-height:calc(100vh - 210px);padding:70px 52px}
.learner-intro h1{font-size:58px;line-height:1.05;font-weight:750;margin:25px 0;overflow-wrap:anywhere}
.learner-intro p{color:var(--muted);font-size:17px}
.course-format{display:block;font-size:10px;color:var(--muted);margin-top:30px}
.course-format span{margin:0 7px}
.learner-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:32px}
.learner-card h2{font-size:27px}
.learner-card>p{font-size:12px;color:var(--muted);margin-top:12px}
.learner-card form{margin-top:25px}
.learner-card label{margin-bottom:19px;font-size:11px}
.learner-card input{font-size:13px}
.identity-note{font-size:10px!important;line-height:1.7!important;padding-top:7px}
.error-message{color:#962447;background:#fff0f5;border:1px solid #f2baca;padding:12px;border-radius:6px;font-size:12px;line-height:1.6;margin:16px 0}
.error-page,.finished-page{max-width:760px;margin:auto;padding:100px 40px;text-align:center;min-height:65vh}
.error-page h1,.finished-page h1{font-size:48px;line-height:1.1;margin:22px 0;font-weight:750}
.error-page p,.finished-page p{color:var(--muted);margin-bottom:28px;font-size:15px}
.finish-mark{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 30px;background:#dcf77b;border-radius:50%;font-size:25px;color:var(--green)}
.learning .site-header,.learning .site-footer{display:none}
.player-shell{height:100dvh;display:flex;flex-direction:column;background:white}
.player-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:73px;padding:16px 24px;background:var(--paper);border-bottom:1px solid var(--line)}
.player-toolbar>div:first-child{min-width:0}
.player-toolbar strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45vw;font-weight:750}
.player-label{display:block;font-size:8px;color:var(--muted);letter-spacing:1.3px;margin-bottom:6px}
.player-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
#save-status{font-size:10px;color:var(--muted);max-width:200px}
#course-frame{flex:1;width:100%;border:0;min-height:0;background:white}
.player-error{background:#fff0f5;color:#962447;padding:13px 24px;font-size:12px;line-height:1.6}
.player-dialog{width:96vw;max-width:none;height:94dvh;max-height:none;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.player-dialog .player-shell{height:100%}
dialog::backdrop{background:#15224bbb;backdrop-filter:blur(4px)}
.modal-open{overflow:hidden}
.edit-dialog{border:1px solid var(--line);border-radius:12px;padding:30px;background:var(--paper);width:min(450px,90vw)}
.edit-dialog h2{margin:12px 0 24px}
.edit-dialog label{font-size:12px}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}
.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:10000;background:var(--ink);color:white;max-width:90vw;padding:13px 20px;font-size:12px;border-radius:7px;box-shadow:0 5px 20px #0002;transition:opacity .2s,transform .2s}
.toast.visible{opacity:1;transform:translate(-50%,0)}
.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--ink);color:white;z-index:1000}
.skip:focus{top:10px}

@media(min-width:1450px){.hero{padding-top:105px;padding-bottom:100px}
.hero h1{font-size:94px}
.upload-card{padding:32px 35px}
.dropzone{min-height:250px}
}

@media(max-width:1100px){.hero{gap:40px;padding:65px 40px}
.hero h1{font-size:70px;letter-spacing:-4px}
.how-section,.recent-section{margin-left:40px;margin-right:40px}
.header-note{display:none}
.site-header{padding:25px 40px}
.upload-card{padding:25px}
.steps{gap:25px}
.learner-page{gap:40px}
.learner-intro h1{font-size:45px}
.workspace{padding-left:35px;padding-right:35px}
.management-grid{grid-template-columns:1.4fr 1fr}
.share-card,.preview-card{padding:24px}
.private-notice .text-button{white-space:normal;min-width:90px}
}

@media(max-width:760px){.site-header{padding:22px 23px}
.brand{font-size:22px}
.header-link{font-size:11px}
.hero{grid-template-columns:1fr;padding:48px 24px 55px;gap:40px;max-width:550px}
.hero h1{font-size:68px;letter-spacing:-4px;margin:24px 0}
.hero-description{font-size:16px}
.hand-note{display:none}
.hero-chips{font-size:11px;gap:20px}
.upload-card{transform:none;padding:25px}
.dropzone{min-height:215px}
.how-section,.recent-section{margin:0 24px;padding-top:30px}
.section-heading h2{font-size:26px}
.steps{grid-template-columns:1fr;gap:27px;margin-top:28px}
.steps article{padding-left:42px}
.steps p{max-width:100%;font-size:13px}
.steps h3{font-size:18px}
.site-footer{flex-direction:column;padding:24px;gap:12px;margin-top:10px}
.horizontal{align-items:flex-start;flex-wrap:wrap;gap:15px}
.workspace{padding:26px 20px 0}
.course-title{font-size:32px}
.course-heading{align-items:flex-start}
.course-heading>.button{font-size:10px;padding:10px;min-height:35px;margin-top:25px}
.course-meta{font-size:10px}
.private-notice{flex-wrap:wrap;padding:15px;gap:10px}
.private-notice>div{flex:1;min-width:190px}
.private-notice .text-button{margin-left:32px;padding-top:0}
.management-grid{grid-template-columns:1fr}
.share-card,.preview-card{padding:23px}
.preview-art{height:120px}
.results-section{margin-top:32px}
.results-actions{margin-left:auto;gap:16px}
.results-section .section-heading h2{font-size:25px}
.stat-grid{padding:20px 0}
.stat-grid>div{padding:0 13px}
.stat-grid strong{font-size:27px}
.stat-grid span{font-size:9px}
.results-note{line-height:1.6}
.copy-field{gap:6px}
.copy-field .button{font-size:11px;padding:10px 12px}
.copy-field input{font-size:11px;padding:12px 10px}
.two-fields{grid-template-columns:1fr}
.learner-page{grid-template-columns:1fr;max-width:550px;padding:40px 24px;gap:32px;min-height:auto}
.learner-intro h1{font-size:41px;margin:22px 0}
.learner-intro p{font-size:15px}
.course-format{margin-top:18px}
.learner-card{padding:26px}
.player-toolbar{padding:12px;flex-wrap:wrap;gap:12px}
.player-toolbar strong{max-width:88vw;font-size:13px}
.player-actions{width:100%;gap:10px}
.player-actions #save-status{margin-right:auto;font-size:9px}
.player-actions .button{font-size:10px}
.player-dialog{height:100dvh;width:100vw;border-radius:0;border:0;margin:0}
.recent-course{gap:11px}
.recent-course>span:last-child{font-size:10px}
.recent-course strong{font-size:13px}
.error-page,.finished-page{padding:70px 24px}
.error-page h1,.finished-page h1{font-size:37px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
.spinner{animation-duration:2s}
}


/* SCORMBox: cobalt ink, ice paper, lime stamps. */
:root{--blue:var(--accent);--lime:#dcf77b;--ice:#e3edff}
h1,h2,h3{font-weight:850}h1,h2{letter-spacing:-.045em}h3{letter-spacing:-.025em}
input{font-size:15px;border-width:1.5px;border-radius:9px}label{font-weight:750}label input{font-weight:500}input:focus{border-color:var(--blue);outline-color:#2546e820}
.site-header{max-width:1320px;padding:26px 48px;justify-content:flex-start;border-bottom-width:1.5px;gap:30px}
.brand{font-size:29px;font-weight:900;letter-spacing:-1.3px;color:var(--blue);gap:10px}.brand-light{font-weight:650}
.brand-box{display:block;width:37px;height:37px;fill:var(--blue);background:transparent;border-radius:0;transform:none;margin:0}
.brand-box path{fill:none;stroke:var(--lime);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.header-note{margin-left:30px;font:650 13px 'Nunito',sans-serif}.header-link{margin-left:auto;font-weight:800}.header-link span{font-size:21px;color:var(--blue)}
.eyebrow{color:var(--blue);font-size:11px;font-weight:850;letter-spacing:1.5px}
.home-intro{max-width:1240px;margin:auto;padding:47px 48px 36px}
.intro-topline,.intro-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}
.edition{font-size:11px;letter-spacing:1px;font-weight:750;color:var(--muted)}
.headline-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:27px 0}
.home-intro h1{font-size:clamp(56px,6.3vw,86px);line-height:1.04;letter-spacing:-.065em;font-weight:900}
.headline-last{color:var(--blue)}.boxed-word{position:relative;display:inline-block;padding:0 .16em .04em;margin:0 .03em}
.boxed-word svg{position:absolute;width:112%;height:116%;top:-2%;left:-5%;overflow:visible;pointer-events:none}.boxed-word path{fill:none;stroke:var(--blue);stroke-width:2;stroke-linejoin:round}.headline-period{margin-left:.04em}
.intro-stamp{flex-shrink:0;width:132px;height:132px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:var(--lime);border:1.5px solid var(--ink);border-radius:50%;transform:rotate(12deg);margin:15px 12px 0 0;box-shadow:5px 5px 0 var(--ink)}
.intro-stamp span{font-size:9px;letter-spacing:1px;font-weight:900}.intro-stamp svg{width:61px;height:44px;fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.intro-bottom p{font-size:19px;line-height:1.5;color:var(--muted);font-weight:550}
.no-account-note{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;font-size:13px;line-height:1.5;font-weight:750}.no-account-note>span{color:var(--blue);font-size:45px;line-height:1}
.upload-station{max-width:1144px;margin:6px auto 0;display:grid;grid-template-columns:62px 1fr;border:2px solid var(--blue);border-radius:18px;overflow:hidden;box-shadow:0 7px 0 #2546e81a}
.upload-spine{background:var(--blue);color:white;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 0}.upload-spine>span:first-child{writing-mode:vertical-rl;font-size:11px;font-weight:850;letter-spacing:3px}.upload-spine>span:last-child{font-size:30px;color:var(--lime)}
.upload-card{background:white;padding:28px 32px 21px;border:0;border-radius:0;box-shadow:none;transform:none;min-width:0}
.upload-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.upload-heading .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:7px}.upload-heading h2{font-size:27px}.format-note{color:var(--muted);font-size:9px;letter-spacing:1.2px;font-weight:800}
.dropzone{position:relative;display:flex;flex-direction:row;justify-content:flex-start;gap:35px;align-items:center;padding:27px 35px;margin-top:22px;min-height:156px;border:1.5px dashed #7e95d6;background:var(--ice);border-radius:10px;transition:background .18s,border-color .18s}
.dropzone:hover,.dropzone.dragging{background:#d5e3ff;border-color:var(--blue)}.dropzone:focus-within{outline-color:var(--blue)}.dropzone input{z-index:2}
.zip-icon{position:relative;flex-shrink:0;width:68px;height:82px;border:2px solid var(--blue);border-radius:6px 17px 6px 6px;background:white;display:grid;place-items:center;transform:rotate(-8deg);color:var(--blue);font-weight:900;font-size:23px;letter-spacing:-1px;box-shadow:4px 4px 0 #bcccf2;transition:transform .2s;margin:0}
.zip-icon:after{width:19px;height:19px;right:-2px;top:-2px;border:2px solid var(--blue);border-radius:0 15px 0 4px;background:var(--ice)}
.zip-icon i{right:-13px;bottom:-8px;width:30px;height:30px;background:var(--lime);color:var(--blue);border:1.5px solid var(--blue);font:850 23px 'Nunito',sans-serif;line-height:1}
.dropzone:hover .zip-icon,.dropzone.dragging .zip-icon{transform:rotate(0deg) translateY(-3px)}
.dropzone .drop-copy{display:flex;flex-direction:column;font-weight:500;gap:4px;color:var(--ink)}.drop-copy strong{font-size:23px;font-weight:850;letter-spacing:-.6px;margin:0}.drop-copy>span{font-size:14px;color:var(--muted)}.drop-copy u{color:var(--blue);text-underline-offset:3px;font-weight:800}.drop-copy small{font-size:11px;color:var(--muted);margin-top:9px}
.dropzone .drop-arrow{margin-left:auto;color:var(--blue);font-size:43px;line-height:1}
.upload-foot{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;font-weight:650;margin-top:19px;text-align:left;line-height:1.5}.upload-foot>span:last-child{padding:0}.upload-foot>span>span{color:var(--blue);margin-right:6px;font-size:17px}
.progress-heading{font-size:14px}progress{height:9px}.upload-progress p{font-size:13px}
.how-section,.recent-section{max-width:1144px;margin:56px auto 0;padding:0;border:0}.section-heading h2{font-size:31px;margin-top:9px;font-weight:850}
.steps{grid-template-columns:repeat(3,1fr);gap:0;border:1.5px solid var(--line);border-radius:12px;margin-top:24px;overflow:hidden}.steps article{display:flex;gap:16px;padding:28px 25px 32px;background:white;border-right:1.5px dashed var(--line)}.steps article:last-child{border:0}
.step-number{position:static;color:var(--blue);font:900 12px 'Nunito',sans-serif;padding-top:5px}.steps h3{font-size:22px}.steps p{font-size:13px;max-width:none;margin-top:8px}.step-arrow{position:absolute;right:16px;top:13px;color:#a8b5d5;font-size:22px}
.recent-course strong{font-size:16px;font-weight:750}.recent-course>span:last-child{color:var(--blue);font-weight:750}.file-mark{background:var(--ice);color:var(--blue);border-radius:8px}
.site-footer{max-width:1240px;padding:30px 48px;margin:60px auto 0;align-items:center;justify-content:flex-start;gap:25px;font-size:12px}.footer-brand{font-size:20px;font-weight:900;color:var(--blue);letter-spacing:-.8px}.footer-brand>span{margin-left:8px}.footer-end{margin-left:auto;font-size:9px;letter-spacing:1px;font-weight:850}

/* Course workspace and learner entry. */
.workspace{max-width:1240px;padding:32px 48px 0}.back-link{font-size:13px;font-weight:700}.course-heading>div{min-width:0}.course-title{font-size:46px;font-weight:850;line-height:1.12}.course-meta{font-size:12px;overflow-wrap:anywhere}
.private-notice{background:var(--ice);border:0;border-left:4px solid var(--blue);border-radius:0 10px 10px 0;padding:19px 22px;font-size:12px}.private-notice>span{color:var(--blue);font-size:29px}.private-notice strong{font-weight:850;font-size:13px}.private-notice .text-button{color:var(--blue)}
.button{border-width:1.5px;min-height:45px;border-radius:8px;font-size:13px;font-weight:850}.primary:hover{box-shadow:0 3px 0 #132a9c;transform:translateY(-1px)}.secondary{background:white}.secondary:hover{background:var(--ice);border-color:#a8bae6}.dark{color:var(--ink);background:var(--lime);border-color:var(--ink)}.dark:hover{background:#c9ec59}.compact{min-height:37px;font-size:12px}.text-button{color:var(--blue);font-size:12px;font-weight:800}.text-button:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.danger{color:#ad2953}
.card-kicker{font-size:10px;font-weight:850;letter-spacing:1.2px}.management-grid{grid-template-columns:1.5fr 1fr;gap:23px}.share-card,.preview-card{min-width:0;border-width:1.5px;border-radius:13px}.share-card{border-top:5px solid var(--blue)}.share-card>p,.preview-card>p{font-size:14px}.field-label{font-size:12px;font-weight:750;color:var(--ink)}.copy-field input{background:var(--paper)}.personalized{border-top:1.5px dashed var(--line)}.personalized summary{font-size:13px;font-weight:800}.personalized summary span{font-size:20px;color:var(--blue)}.two-fields label{font-size:12px}.two-fields input{font-size:14px}
.preview-card{background:var(--blue);border-color:var(--blue);color:white}.preview-card .card-kicker,.preview-card>p{color:#e0e7ff}.preview-art{height:155px;background:#3858f0;border:1px solid #6b81f4;border-radius:8px}.mini-window{border:1.5px solid var(--ink);border-radius:7px;box-shadow:7px 7px 0 #162bb0}.window-dots{color:var(--blue)}.play-disc{background:var(--lime);color:var(--ink);border:1px solid var(--ink)}.preview-tag{background:var(--lime);color:var(--ink);border:1px solid var(--ink);font-weight:900;font-size:9px}.preview-card h2{font-size:27px}
.stat-grid{border-width:1.5px;border-radius:12px}.stat-grid>div{border-right:1.5px dashed var(--line)}.stat-grid strong{font-size:38px;font-weight:900;color:var(--blue);font-variant-numeric:tabular-nums}.stat-grid span{font-size:12px}.table-wrap{border-width:1.5px;border-radius:10px}th{font-size:10px;font-weight:850}td{font-size:13px}td strong{font-size:14px;font-weight:800}.learner-email{font-size:12px}.badge{font-size:11px;font-weight:750}.empty-results{border:1.5px dashed #a5b6db}.empty-results>span{color:var(--blue)}.empty-results h3{font-size:19px;font-weight:850}.empty-results p{font-size:14px}.results-note,.danger-zone{font-size:12px}
.processing-panel{border-width:1.5px;border-radius:14px}.processing-panel p{font-size:15px}.processing-icon{font:900 45px 'Nunito',sans-serif;color:#ad2953}
.learner-page{max-width:1240px;gap:72px;padding:70px 48px}.learner-intro{border-left:5px solid var(--blue);padding:8px 0 8px 28px}.learner-intro h1{font-size:57px;font-weight:850}.course-format{font-size:12px}.learner-card{border:1.5px solid var(--blue);border-top:8px solid var(--blue);border-radius:13px;padding:34px;box-shadow:7px 7px 0 var(--ice)}.learner-card h2{font-size:31px}.learner-card>p{font-size:14px}.learner-card label{font-size:13px}.learner-card input{font-size:16px}.identity-note{font-size:12px!important;line-height:1.6!important}
.error-message{font-size:13px}.error-page h1,.finished-page h1{font-weight:850}.finish-mark{width:74px;height:74px;border-radius:18px;transform:rotate(-8deg);border:1.5px solid var(--ink);font-size:28px;color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
.player-toolbar strong{font-size:15px;font-weight:800}.player-label{font-size:9px;color:var(--blue);font-weight:850}#save-status{font-size:12px}.player-error{font-size:13px}.player-dialog{border:2px solid var(--ink);border-radius:12px}.edit-dialog{border-color:var(--blue)}.toast{font-size:14px;font-weight:700}

@media(max-width:1240px){
.upload-station,.how-section,.recent-section{margin-left:48px;margin-right:48px}.intro-stamp{width:112px;height:112px}.intro-stamp span{font-size:8px}.learner-page{gap:42px}.learner-intro h1{font-size:48px}
}
@media(max-width:1000px){
.home-intro h1{font-size:clamp(53px,6.5vw,68px)}.intro-stamp{width:96px;height:96px;margin-right:0;box-shadow:3px 3px 0 var(--ink);gap:3px}.intro-stamp svg{width:48px;height:35px}.header-note{margin-left:0}.format-note{display:none}.drop-copy strong{font-size:21px}.dropzone{padding:25px;gap:28px}.steps article{padding:24px 18px;gap:10px}.steps h3{font-size:20px}.management-grid{grid-template-columns:1.3fr 1fr}.learner-page{gap:30px}.learner-intro{padding-left:20px}.learner-intro h1{font-size:40px}.learner-card{padding:27px}
}
@media(max-width:760px){
.site-header{padding:19px 24px;gap:18px}.brand{font-size:26px;gap:8px}.brand-box{width:32px;height:32px}.header-note{display:none}.header-link{font-size:12px}.header-link span{margin-left:5px}.home-intro{padding:34px 24px 27px}.intro-topline{gap:12px}.intro-topline .eyebrow{font-size:9px;letter-spacing:1px}.edition{display:none}.headline-row{margin:24px 0}.home-intro h1{font-size:clamp(42px,8.4vw,63px);letter-spacing:-.065em}.intro-stamp{display:none}.intro-bottom{align-items:flex-start;gap:15px}.intro-bottom p{font-size:16px}.no-account-note{font-size:11px;gap:8px}.no-account-note>span{font-size:32px}
.upload-station{margin:3px 24px 0;grid-template-columns:36px 1fr;border-radius:12px}.upload-spine{padding:24px 0}.upload-spine>span:first-child{font-size:9px;letter-spacing:2px}.upload-spine>span:last-child{font-size:22px}.upload-card{padding:22px 20px 18px}.upload-heading h2{font-size:24px}.upload-heading .eyebrow{font-size:9px}.dropzone{flex-direction:column;gap:21px;padding:25px 16px;text-align:center;min-height:230px;justify-content:center}.zip-icon{width:52px;height:64px;font-size:21px}.drop-copy strong{font-size:19px;line-height:1.25}.drop-copy>span{font-size:12px}.drop-copy small{font-size:10px}.drop-arrow{display:none}.upload-foot{flex-direction:column;align-items:center;gap:2px;font-size:11px}
.how-section,.recent-section{margin:40px 24px 0}.section-heading h2{font-size:27px}.steps{grid-template-columns:1fr}.steps article{padding:24px;gap:18px;border-right:0;border-bottom:1.5px dashed var(--line)}.steps article:last-child{border-bottom:0}.step-arrow{right:20px;top:20px}.steps h3{font-size:22px}.steps p{max-width:90%;font-size:14px}.site-footer{flex-direction:row;flex-wrap:wrap;gap:10px 20px;padding:24px;margin-top:40px}.footer-end{margin-left:0;width:100%;font-size:9px}
.workspace{padding:25px 24px 0}.back-link{margin-bottom:25px}.course-title{font-size:34px}.course-heading{gap:15px}.course-heading>.button{font-size:11px;padding:9px 11px;min-height:37px;margin-top:23px}.course-meta{font-size:11px}.course-heading .eyebrow{font-size:9px;letter-spacing:1px}.private-notice{padding:16px;gap:10px}.private-notice>div{min-width:170px}.private-notice .text-button{margin-left:39px}.management-grid{grid-template-columns:1fr;gap:20px}.share-card,.preview-card{padding:23px}.preview-art{height:135px}.results-section .section-heading h2{font-size:28px}.stat-grid{padding:18px 0}.stat-grid>div{padding:0 12px}.stat-grid strong{font-size:29px}.stat-grid span{font-size:10px}.results-note{font-size:11px;line-height:1.6}.copy-field .button{font-size:12px}.copy-field input{font-size:12px}
.learner-page{grid-template-columns:1fr;max-width:550px;padding:40px 24px;gap:32px;min-height:auto}.learner-intro h1{font-size:41px;margin:22px 0}.learner-intro p{font-size:15px}.learner-card{padding:26px}.player-toolbar strong{font-size:14px}.player-actions #save-status{font-size:10px}.player-actions .button{font-size:11px;padding:9px 12px}.player-dialog{border:0;border-radius:0}.recent-course strong{font-size:14px}.error-page h1,.finished-page h1{font-size:39px}
}
@media(max-width:440px){
.intro-bottom{flex-direction:column;gap:18px}.no-account-note{font-size:12px;grid-template-columns:25px 1fr}.no-account-note>span{font-size:28px}.upload-card{padding:20px 15px 16px}.upload-heading h2{font-size:22px}.dropzone{padding-left:12px;padding-right:12px}.drop-copy strong{font-size:18px}.share-card,.preview-card{padding:20px}.stat-grid{grid-template-columns:1fr 1fr;gap:20px 0}.stat-grid>div:nth-child(2){border:0}.stat-grid>div{padding:0 20px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.spinner{animation-duration:2s}}
.home-intro h1{font-weight:850;letter-spacing:-.05em}
.drop-copy strong{color:var(--ink)}
.dropzone>.drop-arrow:not(.zip-icon){color:var(--blue);font-size:43px}
.site-footer .footer-brand{text-decoration:none}
.preview-card .button:focus-visible{outline-color:var(--lime)}
