:root{--bg:#f4f6f8;--card:#fff;--ink:#1f2933;--muted:#687784;--line:#dce3e8;--blue:#173f5f;--blue-soft:#eef4f8;--gold:#c7a44a;--green:#2f7d5a;--green-soft:#edf8f2;--red:#a33a3a;--red-soft:#fff1f1;--yellow-soft:#fff8df}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}.page-shell{max-width:1160px;margin:0 auto;padding:48px 20px 64px}.hero-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:44px;box-shadow:0 16px 50px #122a3d0f}.eyebrow{color:var(--gold);letter-spacing:.14em;font-size:13px;font-weight:800}h1{color:var(--blue);margin:8px 0 12px;font-size:clamp(36px,6vw,64px);line-height:1}.lead{max-width:720px;color:var(--muted);margin:0;font-size:19px;line-height:1.55}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.topbar h1{margin-bottom:0}.auth-card{max-width:760px;margin:60px auto 0}.auth-form{gap:12px;max-width:520px;margin-top:28px;display:grid}.auth-form input{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:12px 14px}.registry-card{border:1px solid var(--line);background:#fbfcfd;border-radius:18px;margin-top:30px;padding:22px}.registry-card h2{margin:4px 0 0;font-size:25px}.registry-list{gap:10px;margin-top:18px;display:grid}.registry-row{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;display:flex}.registry-row>div:first-child{flex-direction:column;gap:5px;min-width:0;display:flex}.registry-row strong{color:var(--blue)}.registry-row span{color:var(--muted);font-size:12px}.registry-actions{flex-wrap:wrap;align-items:center;flex-direction:row!important;gap:8px!important;display:flex!important}.flow{flex-wrap:wrap;gap:8px;margin:30px 0;display:flex}.flow span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:8px 11px;font-size:13px}.flow span.flow-active{color:var(--blue);background:var(--blue-soft);border-color:#b9cbd8;font-weight:700}.upload-card,.review-card{border:1px solid var(--line);border-radius:18px;margin-top:34px;padding:28px}.upload-card{background:linear-gradient(180deg, #fff, var(--blue-soft))}.review-card{background:#fff}.upload-card h2,.review-card h2{margin:0 0 8px;font-size:26px}.upload-card p,.review-card>.section-heading p{color:var(--muted);margin:0;line-height:1.5}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.success-pill,.missing-pill{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.success-pill{background:var(--green-soft);color:var(--green)}.missing-pill{background:var(--yellow-soft);color:#755f20}.metadata-grid{grid-template-columns:140px 140px minmax(240px,1fr);gap:12px;margin-top:18px;display:grid}.metadata-grid label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.metadata-grid input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}.upload-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.primary,.secondary{cursor:pointer;border-radius:10px;padding:12px 16px}.primary{border:1px solid var(--blue);background:var(--blue);color:#fff;font-weight:700}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.primary:disabled,.secondary:disabled{opacity:.55;cursor:default}.selected-file{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:16px;display:flex}.selected-file div{flex-direction:column;gap:4px;display:flex}.selected-file span,.hint{color:var(--muted);font-size:13px}.error-box,.warning-box{border-radius:10px;margin-top:16px;padding:12px 14px;font-size:14px;line-height:1.45}.error-box{background:var(--red-soft);color:var(--red);border:1px solid #efc5c5}.warning-box{background:var(--yellow-soft);color:#755f20;border:1px solid #eedc98}.save-message{margin-top:12px}.block-list{gap:12px;margin-top:22px;display:grid}.lesson-block{border:1px solid var(--line);background:#fbfcfd;border-radius:14px;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px;display:grid}.block-number,.asset-index{background:var(--blue-soft);width:48px;height:38px;color:var(--blue);border-radius:9px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.block-main,.asset-body{min-width:0}.block-topline{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.block-topline h3{color:var(--blue);margin:0 0 4px;font-size:18px}.block-topline span{color:var(--muted);font-size:12px}.block-topline label{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.block-topline select,.asset-controls select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:7px 9px}.lesson-block p{color:#43515c;margin:13px 0 0;font-size:14px;line-height:1.55}.lesson-block p.empty-preview{color:var(--muted);font-style:italic}.next-step-bar{border:1px solid var(--line);background:var(--blue-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding:18px;display:flex}.next-step-bar div{flex-direction:column;gap:4px;display:flex}.next-step-bar span{color:var(--muted);font-size:13px}.asset-list{gap:12px;margin-top:22px;display:grid}.asset-item{border:1px solid var(--line);background:#fbfcfd;border-radius:14px;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px;display:grid}.asset-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-heading>div{flex-direction:column;gap:4px;display:flex}.asset-heading strong{color:var(--blue)}.asset-heading span{color:var(--muted);font-size:12px}.asset-body p{color:#43515c;font-size:14px;line-height:1.5}.asset-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.asset-body textarea,.interactive-panel textarea,.student-input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:11px 12px}.status-note{color:var(--muted);font-size:13px}.ready-chip,.missing-chip{text-transform:uppercase;border-radius:999px;padding:5px 8px;font-weight:800;font-size:11px!important}.ready-chip{background:var(--green-soft);color:var(--green)!important}.missing-chip{background:var(--yellow-soft);color:#755f20!important}.preview-shell{background:#f8fbfd;border:2px solid #b9cbd8;border-radius:18px;margin-top:34px;padding:28px}.preview-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.preview-header h2{color:var(--blue);margin:6px 0;font-size:30px}.preview-header p{color:var(--muted);margin:0}.preview-blocks{gap:14px;display:grid}.preview-block{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px}.preview-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.preview-title-row>div>span{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:11px;font-weight:800;display:inline-block}.preview-title-row h3{color:var(--blue);margin:0;font-size:20px}.preview-title-row small{color:var(--muted);white-space:nowrap}.preview-block>p{color:#43515c;line-height:1.6}.interactive-panel{background:var(--blue-soft);border:1px dashed #b9cbd8;border-radius:12px;justify-items:start;gap:10px;margin-top:16px;padding:14px;display:grid}.missing-placeholder{background:var(--yellow-soft);color:#755f20;border:1px solid #eedc98;border-radius:9px;width:100%;padding:10px 12px;font-size:13px}.ready-line{color:var(--green);font-size:13px;font-weight:700}.principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.principles article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}.principles h3{color:var(--blue);margin:0 0 8px}.principles p{color:var(--muted);margin:0;line-height:1.5}@media (max-width:760px){.page-shell{padding:18px 10px 40px}.hero-card{padding:24px 18px}.principles,.metadata-grid{grid-template-columns:1fr}.registry-row,.topbar,.selected-file,.next-step-bar,.block-topline,.preview-header,.preview-title-row,.asset-heading{flex-direction:column;align-items:flex-start}.lesson-block,.asset-item{grid-template-columns:1fr}.block-number,.asset-index{width:48px}.section-heading{flex-direction:column}}
