:root{color-scheme:dark;--bg:#080c14;--panel:#101a29;--line:#34435d;--text:#f3f7ff;--muted:#b2bfd4;--cyan:#61f4ff;--blue:#3349d4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#111d38,transparent 48%),var(--bg);color:var(--text);font:16px/1.7 Tahoma,Arial,sans-serif;min-height:100vh}header{padding:24px 5%;border-bottom:3px solid var(--blue);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:var(--bg)}.brand{font:italic bold 28px Arial;letter-spacing:-1px}.brand:before{content:'//';color:var(--cyan);margin-right:14px}.brand span{color:var(--cyan)}main{max-width:1100px;margin:auto;padding:28px}h1{font-size:clamp(28px,5vw,40px);line-height:1.45}h2{font-size:21px}p{color:var(--muted)}button,input,textarea{font:inherit}button{cursor:pointer;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:10px 18px;min-height:44px}button:hover{border-color:var(--cyan)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);border-bottom:3px solid var(--cyan)}input,textarea{display:block;width:100%;background:var(--bg);color:var(--text);border:1px solid #63718a;border-radius:5px;padding:12px;font-size:16px}textarea{resize:vertical}label{display:block;margin:16px 0 6px}.narrow{max-width:480px;margin:36px auto}.panel{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--blue);padding:24px;margin:20px 0;border-radius:6px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.actions,.toolbar,nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.actions{margin-top:24px}.toolbar{justify-content:space-between}nav{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}nav button[aria-current=page]{background:#1b2952;border-color:var(--cyan)}.quota{padding:12px 16px;background:#1b2952;border-left:3px solid var(--cyan)}.full{width:100%}.error{color:#ffb4b4}.success{color:var(--cyan)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:16px 12px;border-bottom:1px solid var(--line);font-size:14px}td small{display:block;color:var(--muted)}th{color:var(--muted);font-weight:400}.message{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px 0;border-bottom:1px solid var(--line)}.message.user{background:#1b2952;margin-left:15%;padding:16px;border-radius:8px}.message strong{display:block;color:var(--cyan);font-size:13px;margin-bottom:10px}.welcome{padding:50px 0}.welcome p:first-child{color:var(--cyan);letter-spacing:2px}.chat{max-width:760px;margin:auto}.composer{display:flex;gap:12px;align-items:flex-end}.composer textarea{flex:1}.composer button{flex:none}.google{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:bold}.google:before{content:'G';display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#4285f4}[hidden]{display:none!important}@media(max-width:640px){main{padding:18px}.grid{grid-template-columns:1fr}header{padding:20px}.panel{padding:18px}.toolbar{align-items:flex-start}.message.user{margin-left:8%}}

select{display:block;width:100%;background:var(--bg);color:var(--text);border:1px solid #63718a;padding:12px;font:inherit;font-size:16px}
.eyebrow{color:var(--cyan);letter-spacing:2px;font-size:12px;margin:0}
.status{display:inline-block;padding:4px 10px;border-radius:999px;white-space:nowrap}
.status.published{background:#123b35;color:#7fffd2}
.status.draft{background:#3d3520;color:#ffe18a}
.empty{text-align:center;padding:44px 20px}
.inline-field{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.url-import small,.source{color:var(--muted)}
.knowledge-form{border-top-color:var(--cyan)}
.knowledge-form textarea{min-height:260px}
.account-bar{margin-bottom:18px}
.admin-page .panel,.admin-page button,.admin-page input,.admin-page textarea,.admin-page select{border-radius:12px}
.admin-page .panel{border-top-width:1px}
.admin-page nav button{border-color:transparent}
.admin-page nav button[aria-current=page]{border-color:var(--cyan)}
.admin-page td{vertical-align:top}
.admin-page td small{max-width:440px}
@media(max-width:640px){.inline-field{grid-template-columns:1fr}.inline-field button{width:100%}}

.customer-app{max-width:960px;margin:auto}
.account-bar{border-bottom:1px solid var(--line);padding-bottom:14px}
.account-bar nav{border:0;margin:0;padding:0}
.account-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.training-shell{max-width:960px;margin:auto}
.training-hero{padding:34px 0 22px}
.training-hero h1{margin:4px 0 8px;font-size:clamp(34px,7vw,60px);line-height:1.2;text-transform:uppercase}
.training-hero p:last-child{max-width:660px}
.training-onboarding{max-width:700px}
.profile-form{padding:28px}
.profile-form select{border-radius:6px}
.form-actions{margin-top:24px}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.category-card{display:flex;flex-direction:column;background:linear-gradient(145deg,#111c2d,#0c1422);border:1px solid var(--line);border-top:3px solid var(--blue);padding:22px;border-radius:8px;min-height:330px}
.category-card h2{margin:0 0 6px}
.category-card>p:nth-of-type(2){flex:1}
.category-number{font-size:13px;letter-spacing:2px;color:var(--cyan);margin:0}
.progress-copy{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin:16px 0 7px}
.progress-copy strong{color:var(--cyan)}
.progress-track{height:7px;background:#263249;border-radius:999px;overflow:hidden;margin-bottom:18px}
.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.resume-card{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--cyan);background:#111f31;padding:20px 24px;border-radius:8px;margin:18px 0}
.resume-card h2,.resume-card p{margin:4px 0}
.back-button{margin:22px 0 8px}
.category-heading{max-width:700px;margin-bottom:26px}
.category-heading h1{margin:4px 0}
.mission-list{display:grid;gap:12px}
.mission-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}
.mission-card.selected{border-color:var(--cyan)}
.mission-card.completed{border-color:#326858}
.mission-card.locked{border-style:dashed}
.mission-summary{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;width:100%;text-align:left;border:0;border-radius:0;padding:18px;background:transparent}
.mission-summary:disabled{cursor:not-allowed;opacity:1}
.mission-summary strong,.mission-summary small{display:block}
.mission-summary small{color:var(--muted);margin-top:3px}
.mission-sequence{font:italic bold 25px Arial;color:var(--cyan)}
.mission-state{display:inline-block;width:max-content;padding:4px 10px;border-radius:999px;font-size:12px;white-space:nowrap;background:#29364d;color:var(--muted)}
.mission-state.available{background:#193551;color:var(--cyan)}
.mission-state.in_progress{background:#473b1d;color:#ffe18a}
.mission-state.completed{background:#123b35;color:#7fffd2}
.mission-detail{padding:0 24px 24px 84px;border-top:1px solid var(--line)}
.mission-detail h3{margin:20px 0 5px}
.steps{padding-left:24px;color:var(--text)}
.steps li{padding:7px 0;color:var(--muted)}
.steps li::marker{color:var(--cyan);font-weight:bold}
.safety-note{background:#302719;border-left:3px solid #ffd267;color:#ffe7af;padding:14px 16px;margin:20px 0;border-radius:4px}
.mission-actions{display:flex;gap:12px;align-items:center;margin-top:22px;flex-wrap:wrap}
.completion-mark{color:#7fffd2;font-weight:bold}
.mission-hint{text-align:center;padding:20px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}
.section-heading h2{margin:3px 0}
.section-heading>span{color:var(--muted);font-size:13px}
.training-history{margin:42px 0 20px}
.history-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.history-list article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:15px 18px;background:var(--panel);border-bottom:1px solid var(--line)}
.history-list article:last-child{border-bottom:0}
.history-list strong,.history-list small{display:block}
.history-list small{color:var(--muted);margin-top:2px}
.history-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#473b1d;color:#ffe18a}
.history-icon.completed{background:#123b35;color:#7fffd2}
.empty-history{text-align:center;border:1px dashed var(--line);border-radius:8px;padding:24px}
@media(max-width:780px){.category-grid{grid-template-columns:1fr}.category-card{min-height:0}.resume-card{align-items:flex-start}.mission-summary{grid-template-columns:40px 1fr}.mission-summary .mission-state{grid-column:2}.mission-detail{padding:0 18px 20px}.account-bar{align-items:flex-start}.account-actions{width:100%;justify-content:space-between}.quota{font-size:13px}}
@media(max-width:520px){.history-list article{grid-template-columns:36px 1fr}.history-list article>.mission-state{grid-column:2}.form-actions{display:grid;grid-template-columns:1fr}.form-actions button{width:100%}}
.local-login{margin-top:12px;border-color:var(--cyan)}
.local-note{text-align:center;font-size:13px;margin-top:4px}
.level-tabs { flex-wrap: wrap; margin: 20px 0; }
.lesson-cards details { border: 1px solid #46505b; border-radius: 10px; margin: 8px 0; padding: 12px; }
.lesson-cards summary { cursor: pointer; font-weight: 600; }
.lesson-body { white-space: pre-wrap; line-height: 1.7; }
.workout-blocks { padding-left: 24px; }
.workout-blocks li { padding: 12px; margin-bottom: 10px; border: 1px solid #46505b; border-radius: 10px; }
.workout-blocks p { margin: 6px 0; }
.completion-confirm { display: flex; align-items: flex-start; gap: 10px; max-width: 680px; }
.completion-confirm input { width: auto; flex-shrink: 0; margin-top: 6px; }
.mission-detail select { max-width: 100%; margin-bottom: 16px; }
