:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1020;--bg-elevated:#121a2f;--bg-card:#151f38;--bg-card-hover:#1a2644;--border:#94a3b829;--text:#e8eefc;--muted:#9aa8c7;--primary:#3b82f6;--primary-2:#60a5fa;--success:#22c55e;--success-bg:#22c55e1f;--danger:#f87171;--danger-bg:#f871711f;--warn:#fbbf24;--warn-bg:#fbbf241f;--accent:#e85d04;--shadow:0 18px 50px #00000059;--radius:16px;--font:"DM Sans", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;font-family:var(--font);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #3b82f62e, transparent 55%), radial-gradient(900px 500px at 90% 0%, #e85d0424, transparent 50%), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.2}p{margin:0 0 .75rem}ul{margin:0 0 1rem;padding-left:1.2rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#0b1020bf;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;display:flex}.brand-mark{background:linear-gradient(135deg, var(--primary), #8b5cf6);border-radius:12px;place-items:center;width:40px;height:40px;font-weight:700;display:grid;box-shadow:0 8px 24px #3b82f659}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text small{color:var(--muted);font-size:.78rem}.topnav{align-items:center;gap:.75rem;display:flex}.topnav a{color:var(--muted);border-radius:999px;padding:.4rem .75rem}.topnav a.active,.topnav a:hover{color:var(--text);background:#ffffff0f}.nav-hint{color:var(--muted);border:1px dashed var(--border);border-radius:999px;padding:.4rem .75rem;font-size:.9rem}.source-priority{padding:1.2rem 1.3rem}.priority-list{color:var(--muted);gap:.45rem;margin:.5rem 0 0;padding-left:1.2rem;display:grid}.priority-list strong{color:var(--text)}.learner-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);max-width:12rem;color:var(--text);background:#ffffff0f;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.9rem;text-decoration:none;display:inline-flex;overflow:hidden}.learner-chip:hover{color:var(--text);border-color:#93c5fd73}.learner-chip.ghost-chip{color:var(--muted)}.learner-chip.admin-nav-btn{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf873;font-weight:600}.learner-chip.admin-nav-btn:hover{color:#bae6fd;background:#38bdf82e;border-color:#38bdf8bf}.main{flex:1;width:min(1100px,100% - 2rem);margin:0 auto;padding:1.75rem 0 3rem}.footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:1.25rem 1.5rem 2rem;font-size:.85rem}.page{animation:.25s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--primary-2);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.grad{background:linear-gradient(90deg,#93c5fd,#fdba74);color:#0000;-webkit-background-clip:text;background-clip:text}.lede{color:var(--muted);max-width:52ch;font-size:1.08rem}.muted{color:var(--muted)}.small{font-size:.88rem}.ok-text{color:var(--success);margin-top:.75rem}.hero{grid-template-columns:1.4fr .9fr;gap:1.5rem;margin-bottom:2.5rem;display:grid}.hero-copy h1{margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem)}.hero-points{color:var(--muted);gap:.35rem;padding-left:1.1rem;display:grid}.hero-card,.content-card,.course-card,.module-block,.question-card,.cooldown-panel,.course-hero{background:linear-gradient(180deg, #ffffff08, transparent), var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{align-self:start;padding:1.25rem}.hero-card h2{margin-bottom:.25rem}.name-form{gap:.5rem;margin-top:1rem;display:grid}.name-form label{color:var(--muted);font-size:.9rem}.name-form input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:12px;padding:.75rem .9rem}.name-form input:focus{border-color:#0000;outline:2px solid #3b82f673}.profile-card .profile-notice{background:#0ea5e914;border:1px solid #38bdf840;border-radius:10px;margin-top:.65rem;padding:.55rem .7rem}.resume-stack{gap:.5rem;margin-top:.9rem;display:grid}.resume-btn{text-align:left;white-space:normal;line-height:1.35}.saved-profiles{border-top:1px solid var(--border);margin-top:1.1rem;padding-top:.85rem}.profile-list{gap:.45rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.profile-list li{border:1px solid var(--border);background:#0000002e;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .6rem;display:flex}.profile-list li.active{border-color:#86efac59}.profile-list li>div{gap:.1rem;min-width:0;display:grid}.small-btn{flex-shrink:0;min-height:0;padding:.3rem .65rem;font-size:.82rem}.section{margin-top:1rem}.section-head{margin-bottom:1rem}.course-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.course-card{flex-direction:column;gap:.55rem;padding:1.25rem;transition:transform .15s,border-color .15s;display:flex}.course-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translateY(-2px)}.course-card.coming-soon{opacity:.75}.course-card-top{justify-content:space-between;align-items:center;display:flex}.course-emoji{font-size:1.6rem}.course-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.course-icon-img{border:1px solid var(--border);background:#ffffff0f;border-radius:.65rem;width:2.5rem;height:2.5rem;overflow:hidden}.course-icon-img img{object-fit:cover;width:100%;height:100%;display:block}.course-icon-sm.course-icon-img{border-radius:.4rem;width:1.75rem;height:1.75rem}.course-icon-lg.course-icon-img{vertical-align:middle;border-radius:.75rem;width:3rem;height:3rem}.course-icon-lg.course-emoji{vertical-align:middle;font-size:2rem}.level-pill,.badge{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.badge.success{color:var(--success);background:var(--success-bg);border-color:#22c55e4d}.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:#fbbf244d}.course-desc{color:var(--muted);flex:1;font-size:.95rem}.meta-row{color:var(--muted);flex-wrap:wrap;gap:.75rem;font-size:.88rem;display:flex}.progress-track{background:#ffffff0f;border-radius:999px;height:8px;overflow:hidden}.progress-track.large{height:10px;margin:.85rem 0 0}.progress-fill{background:linear-gradient(90deg, var(--accent,var(--primary)), var(--primary-2));border-radius:inherit;height:100%;transition:width .3s}.btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1rem;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){background:#ffffff17}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg, var(--primary), #6366f1);border-color:#0000;font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:linear-gradient(135deg, var(--primary), #6366f1)}.btn.ghost{background:0 0}.btn.block{width:100%;margin-top:.35rem}.btn.small{border-radius:10px;padding:.45rem .75rem;font-size:.88rem}.back-link{color:var(--muted);margin-bottom:1rem;display:inline-block}.back-link:hover{color:var(--text)}.course-hero{border-top:3px solid var(--accent);grid-template-columns:1.5fr auto;gap:1.25rem;margin-bottom:2rem;padding:1.5rem;display:grid}.course-hero-actions{flex-direction:column;justify-content:center;gap:.6rem;display:flex}.complete-banner{background:var(--success-bg);color:#bbf7d0;border:1px solid #22c55e4d;border-radius:12px;margin-top:1rem;padding:.85rem 1rem}.module-list{gap:1rem;display:grid}.module-block{padding:1.1rem 1.1rem .4rem}.module-index{letter-spacing:.06em;text-transform:uppercase;color:var(--primary-2);font-size:.78rem;font-weight:700}.lesson-list{margin:.75rem 0 0;padding:0;list-style:none}.lesson-list li{border-top:1px solid var(--border)}.lesson-list li.locked{opacity:.65}.lesson-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.9rem .15rem;display:grid}.lesson-info{gap:.15rem;display:grid}.lesson-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lesson-progress-label{color:var(--muted);font-size:.9rem;font-family:var(--mono)}.lesson-header{margin:.5rem 0 1.25rem}.phase-tabs{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;gap:.4rem;margin-top:1rem;padding:.3rem;display:inline-flex}.phase-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.5rem .95rem}.phase-tabs button.active{color:var(--text);background:#3b82f633;font-weight:600}.learn-panel{gap:1rem;display:grid}.content-card{padding:1.2rem 1.3rem}.content-card h2{margin-bottom:.6rem;font-size:1.15rem}.callout{border:1px solid var(--border);border-radius:12px;margin-top:.9rem;padding:.85rem 1rem}.callout p{color:var(--muted);margin:.25rem 0 0}.callout.tip{background:#3b82f61a;border-color:#3b82f647}.callout.warning{background:var(--warn-bg);border-color:#fbbf2447}.callout .rich-text{color:var(--muted);margin-top:.25rem}.lesson-body.rich-text{color:var(--text);margin:.35rem 0 .75rem;line-height:1.55}.rich-text p{margin:0 0 .65rem}.rich-text p:last-child{margin-bottom:0}.rich-text ul,.rich-text ol{margin:.4rem 0 .75rem 1.1rem}.rich-editor{gap:.4rem;display:grid}.rich-editor-label,.admin-field-label{color:var(--muted);margin-bottom:.25rem;font-size:.85rem;display:block}.rich-toolbar{border:1px solid var(--border);background:#ffffff0a;border-radius:10px 10px 0 0;flex-wrap:wrap;align-items:center;gap:.3rem;padding:.4rem .5rem;display:flex}.rich-tool{border:1px solid var(--border);min-width:1.85rem;height:1.85rem;color:var(--text);cursor:pointer;background:#0003;border-radius:6px;padding:0 .4rem;font-size:.78rem;line-height:1}.rich-tool:hover{color:#bae6fd;border-color:#38bdf880}.rich-tool-sep{background:var(--border);width:1px;height:1.25rem;margin:0 .15rem}.rich-color-row{flex-wrap:wrap;align-items:center;gap:.25rem;display:inline-flex}.rich-swatch{cursor:pointer;border:1px solid #ffffff40;border-radius:999px;width:1.15rem;height:1.15rem;padding:0}.rich-swatch-clear{color:var(--muted);background:0 0;font-size:.7rem;line-height:1}.rich-editor-surface{border:1px solid var(--border);color:var(--text);background:#00000038;border-top:none;border-radius:0 0 10px 10px;outline:none;max-height:22rem;padding:.75rem .85rem;line-height:1.5;overflow-y:auto}.rich-editor-surface:focus{border-color:#38bdf873;box-shadow:0 0 0 1px #38bdf833}.rich-editor-surface:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-editor-hint{margin:0}.admin-callout-fields{gap:.85rem;margin:.75rem 0 1rem;display:grid}.admin-callout-tip,.admin-callout-warning{border:1px solid var(--border);border-radius:12px;padding:.65rem .75rem}.admin-callout-tip{background:#3b82f614;border-color:#3b82f647}.admin-callout-warning{background:#fbbf2414;border-color:#fbbf2447}.lesson-nav,.quiz-actions,.lesson-bottom-nav,.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.rules-list{color:var(--muted);gap:.55rem;padding-left:1.1rem;display:grid}.rules-list li{padding:.35rem 0}.phone-grid,.flow-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.phone-card .phone-link{font-family:var(--mono);color:var(--primary-2);margin:.35rem 0 .5rem;font-size:1.15rem;font-weight:600;display:inline-block}.phone-card .phone-link:hover{text-decoration:underline}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);overflow-x:auto}.lid-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.9rem}.lid-table th,.lid-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem .85rem}.lid-table th{color:var(--primary-2);text-transform:uppercase;letter-spacing:.04em;background:#ffffff0a;font-size:.78rem}.lid-table tr:last-child td{border-bottom:0}.lid-table tbody tr:hover td{background:#ffffff08}.how-search{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);border-radius:14px;margin-bottom:.85rem;padding:.9rem 1rem}.how-search:focus{border-color:#0000;outline:2px solid #3b82f673}.cat-chips{flex-wrap:wrap;gap:.45rem;display:flex}.cat-chips button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:.4rem .8rem}.cat-chips button.active,.cat-chips button:hover{color:var(--text);background:#3b82f62e;border-color:#3b82f659}.how-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.how-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow);flex-direction:column;gap:.5rem;padding:1.15rem;transition:transform .15s,border-color .15s;display:flex}.how-card:hover{border-color:#3b82f666;transform:translateY(-2px)}.how-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.how-card h3{font-size:1.05rem}.how-step .step-num{font-family:var(--mono);color:var(--primary-2);margin-bottom:.25rem;font-size:.78rem}.ref-gallery{margin-top:1rem}.ref-images{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.ref-figure{border:1px solid var(--border);background:#0003;border-radius:12px;margin:0;padding:.5rem}.ref-figure img{object-fit:contain;background:#fff;border-radius:8px;width:100%;height:auto;max-height:420px;display:block}.ref-figure figcaption{word-break:break-all;margin-top:.4rem}.related-row{flex-wrap:wrap;gap:.5rem;display:flex}.tip-inline{background:#3b82f61a;border:1px solid #3b82f647;border-radius:10px;margin-top:.75rem;padding:.75rem .9rem}.study-retry-stack{gap:.85rem;margin-bottom:1.25rem;display:grid}.study-fail-banner{z-index:auto;position:relative}.study-focus-card h2{margin-bottom:.35rem}.study-missed-list{gap:.55rem;margin:.75rem 0 0;padding-left:0;list-style:none;display:grid}.study-missed-list li{border:1px solid var(--border);background:#f871710f;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;padding:.7rem .85rem;display:grid}.phase-tabs button:disabled{opacity:.45;cursor:not-allowed}.lesson-videos{gap:1rem;margin:.9rem 0 .5rem;display:grid}.lesson-video-figure{border:1px solid var(--border);background:#00000047;border-radius:12px;margin:0;padding:.65rem}.lesson-video-shell{background:#000;border-radius:10px;overflow:hidden}.lesson-video{background:#000;border-radius:0;width:100%;max-height:min(70vh,520px);display:block}.lesson-video-controls{background:linear-gradient(#0f172aeb,#020617fa);border-top:1px solid #94a3b833;padding:.55rem .65rem .65rem}.lesson-video-progress{pointer-events:none;background:#94a3b840;border-radius:999px;height:6px;margin-bottom:.55rem;position:relative;overflow:hidden}.lesson-video-progress-watched{background:#38bdf859;position:absolute;inset:0 auto 0 0}.lesson-video-progress-playhead{background:var(--primary,#38bdf8);position:absolute;inset:0 auto 0 0}.lesson-video-control-row{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;display:flex}.lesson-video-btn{min-height:0;padding:.35rem .7rem;font-size:.85rem}.lesson-video-time{font-variant-numeric:tabular-nums}.lesson-video-status{margin-left:auto}.lesson-video-status.done{color:#86efac;font-weight:600}.video-gate-hint{max-width:42rem;margin:.55rem 0 0}.lesson-video-figure .eyebrow{margin-bottom:.45rem}.lesson-video-figure figcaption{margin-top:.45rem}.video-error{color:#fecaca;margin-top:.5rem;display:none}.video-error.show{display:block}.port-error-list{gap:.75rem;display:grid}.port-error-card header.port-error-head{flex-wrap:wrap;align-items:flex-start;gap:.55rem;display:flex}.port-error-card header.port-error-head strong{flex:1;min-width:12rem;font-size:.98rem}.sim-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;display:grid}.sim-card{border:1px solid var(--border);background:var(--bg-card);text-align:center;border-radius:14px;margin:0;padding:0}.sim-card-btn{cursor:pointer;width:100%;min-height:180px;color:inherit;font:inherit;z-index:1;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:stretch;padding:.85rem .75rem .7rem;transition:border-color .15s,transform .12s,box-shadow .15s,background .15s;display:flex;position:relative}.sim-card-btn:hover{border-color:var(--sim-accent,var(--primary));transform:translateY(-2px);box-shadow:0 10px 28px #00000047}.sim-card-btn:focus-visible{outline:2px solid var(--sim-accent,var(--primary));outline-offset:2px}.sim-card-btn.active{border-color:var(--sim-accent,var(--primary));box-shadow:0 0 0 2px var(--sim-accent,var(--primary));background:#ffffff0f}.sim-card-logo-wrap{background:#fff;border:1px solid #ffffff14;border-radius:10px;flex:1;place-items:center;min-height:100px;padding:.75rem;display:grid}.sim-card-logo-wrap img{object-fit:contain;pointer-events:none;width:auto;max-width:96px;height:auto;max-height:96px;display:block}.sim-card-label{color:var(--text);margin-top:.65rem;font-size:.95rem;font-weight:700;display:block}.sim-card-hint{color:var(--muted);margin-top:.25rem;font-size:.78rem;display:block}.sim-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020617b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sim-modal{width:min(560px,100%);max-height:min(85vh,720px);margin:0;overflow:auto;box-shadow:0 24px 60px #00000073}.sim-detail{border-top:3px solid var(--sim-accent,var(--primary))}.sim-detail-head{grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;margin-bottom:.65rem;display:grid}.sim-detail-logo{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:10px;width:64px;height:64px;padding:.35rem}.sim-detail-sub{color:var(--primary-2);margin:.75rem 0 .25rem;font-size:.9rem}.sim-sku{font-family:var(--mono);color:var(--text);font-size:.82rem}.sim-detail-actions{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}@media (width<=560px){.sim-detail-head{grid-template-columns:auto 1fr}.sim-detail-head .btn{grid-column:1/-1;justify-self:start}}.check-list{color:var(--muted);margin:.35rem 0 .75rem;padding-left:1.15rem}.check-list li{margin:.28rem 0}.walk-list{color:var(--muted);margin:.35rem 0 1rem;padding-left:1.25rem}.walk-list li{margin:.22rem 0}.script-block{white-space:pre-wrap;font-family:var(--font);color:var(--muted);border:1px solid var(--border);background:#00000040;border-radius:12px;margin:.5rem 0 0;padding:1rem;font-size:.9rem;line-height:1.45;overflow-x:auto}.fg-shell .fg-hero{margin-bottom:1rem}.fg-topic-rail{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.fg-topic-chip{text-align:left;border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff08;border-radius:14px;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;transition:border-color .15s,background .15s;display:flex}.fg-topic-chip:hover{border-color:color-mix(in srgb, var(--topic-accent,#38bdf8) 55%, var(--border))}.fg-topic-chip.active{border-color:var(--topic-accent,#38bdf8);background:color-mix(in srgb, var(--topic-accent,#38bdf8) 14%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--topic-accent,#38bdf8) 35%, transparent)}.fg-topic-emoji{font-size:1.45rem;line-height:1}.fg-topic-chip strong{font-size:.95rem;display:block}.fg-topic-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.15rem;display:-webkit-box;overflow:hidden}.fg-layout{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1rem;display:grid}.fg-sidebar{max-height:calc(100vh - 2rem);padding:.9rem .85rem;position:sticky;top:.75rem;overflow:auto}.fg-sidebar-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:.65rem;margin-bottom:.75rem;padding-bottom:.65rem;display:flex}.fg-sidebar-head h2{margin:0;font-size:1.05rem}.fg-sidebar-emoji{font-size:1.6rem;line-height:1}.fg-tree{margin:0;padding:0;list-style:none}.fg-tree .fg-tree{border-left:1px solid var(--border);margin-left:.55rem;padding-left:.45rem}.fg-tree-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.55rem .35rem .2rem;font-size:.72rem;font-weight:600;display:block}.fg-tree-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.4rem .5rem;font-size:.9rem;line-height:1.3}.fg-tree-item:hover{background:#ffffff0d}.fg-tree-item.active{color:#bae6fd;background:#38bdf824;font-weight:600}.fg-section-head{margin-bottom:.75rem}.fg-section-head h2{margin:.15rem 0}.fg-block+.fg-block{border-top:1px dashed var(--border);margin-top:1rem;padding-top:.75rem}.fg-link-stack{gap:.5rem;display:grid}.how-tree-search{margin-bottom:.75rem;position:relative}.how-search-results{z-index:12;max-height:16rem;margin:.5rem 0 0;padding:.35rem;list-style:none;position:absolute;left:0;right:0;overflow:auto}.how-search-results li{margin:0}.how-search-hit{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;gap:.2rem;padding:.55rem .65rem;display:grid}.how-search-hit:hover{background:#38bdf81a}.how-search-hit strong{font-size:.92rem}.how-tree-item-title{text-align:left;display:block}.fg-tree-item .how-tree-badge{text-transform:none;margin-top:.25rem;font-size:.68rem;display:inline-block}.how-guide-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.how-guide-body .lesson-header h1{margin:.25rem 0;font-size:1.45rem}.how-guide-body .lede{margin-top:.35rem}.admin-folder-list{gap:.4rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.admin-folder-list li{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.admin-folder-list input{flex:1;min-width:8rem}.topic-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.topic-icon-emoji,.fg-topic-emoji.topic-icon-emoji{font-size:1.45rem;line-height:1}.topic-icon-img{border:1px solid var(--border);background:#ffffff0f;border-radius:.55rem;width:2.1rem;height:2.1rem;overflow:hidden}.topic-icon-img img{object-fit:cover;width:100%;height:100%;display:block}.fg-sidebar-emoji.topic-icon-img{width:2.4rem;height:2.4rem}.icon-crop-field{margin-top:.5rem}.icon-crop-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.icon-crop-preview-chip{border:1px solid var(--border);background:#ffffff0d;border-radius:.7rem;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;display:inline-flex;overflow:hidden}.icon-crop-preview-chip.has-photo{border-radius:50%}.icon-crop-preview-chip img{object-fit:cover;width:100%;height:100%}.icon-crop-shape-toggle{border:1px solid var(--border);background:#00000040;border-radius:999px;gap:.25rem;margin:.5rem 0 .75rem;padding:.2rem;display:inline-flex}.icon-crop-modal-backdrop{z-index:80;background:#020617b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.icon-crop-modal{width:min(420px,100%);max-height:min(90vh,720px);padding:1.1rem 1.2rem;overflow:auto}.icon-crop-drop{text-align:center;border:1px dashed var(--border);border-radius:12px;padding:2rem 1rem}.icon-crop-stage{border:1px solid var(--border);touch-action:none;cursor:grab;background:#020617;border-radius:12px;margin:.75rem auto 0;position:relative;overflow:hidden}.icon-crop-stage.dragging{cursor:grabbing}.icon-crop-frame{pointer-events:none;border:2px solid #38bdf8d9;border-radius:12px;position:absolute;inset:0;box-shadow:0 0 0 999px #00000073}.icon-crop-stage.shape-circle,.icon-crop-stage.shape-circle .icon-crop-frame,.topic-icon-img{border-radius:50%}.fg-admin-topic-tabs{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}@media (width<=820px){.fg-layout{grid-template-columns:1fr}.fg-sidebar{max-height:none;position:static}.fg-topic-desc{display:none}}.field-step h2{margin-bottom:.65rem}.field-step h3{color:var(--primary-2);margin:.85rem 0 .35rem;font-size:1rem}.content-card .callout{margin:.5rem 0 .85rem}.content-card a{color:var(--primary-2)}.certificate-panel{border-top:3px solid #6b7280;margin:1.5rem 0 2rem;padding:1.35rem 1.4rem 1.5rem}.certificate-panel-head{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.certificate-logo-preview{object-fit:contain;background:#fff;border:1px solid #d1d5db;border-radius:12px;width:min(220px,100%);height:auto;padding:.55rem .75rem}.certificate-preview-logo-plate{background:#fff;border-radius:8px;margin:0 auto .65rem;padding:.35rem .5rem;display:inline-block}.certificate-preview{background:linear-gradient(#fff 0%,#f3f4f6 100%);border:3px solid #1a1a1a;border-radius:14px;margin:.5rem 0 1.1rem;padding:14px;box-shadow:inset 0 0 0 6px #4a4a4a,inset 0 0 0 10px #8a8a8a,inset 0 0 0 12px silver}.certificate-preview-inner{text-align:center;background:#fafafa;border-radius:4px;padding:1.1rem .75rem 1.35rem}.certificate-preview-via{background:#fff;width:min(200px,72vw);height:auto;margin:0 auto;display:block}.certificate-preview-label{text-transform:uppercase;letter-spacing:.12em;color:#555;margin-bottom:.5rem;font-size:.78rem}.certificate-preview-name{color:#111;margin:.25rem 0 .65rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.4rem,3vw,2rem)}.certificate-preview-course{color:#1a1a1a;margin:0;font-weight:600}.certificate-form{gap:.5rem;max-width:420px;display:grid}.certificate-form label{color:var(--muted);font-size:.9rem}.certificate-form input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:12px;padding:.75rem .9rem}.certificate-form input:focus{border-color:#0000;outline:2px solid #fbbf2473}.certificate-actions{margin-top:.35rem}.cert-error{color:#fecaca;margin:.35rem 0 0}.cert-lock-note{margin:.15rem 0 .25rem}.certificate-form input:disabled,.certificate-form input[readonly]{opacity:.9;cursor:not-allowed;color:#fbbf24;background:#ffffff0f;border-color:#fbbf2459}.lesson-video-figure a{color:var(--primary-2);text-decoration:underline}.lesson-images{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin:.9rem 0 .25rem;display:grid}.lesson-figure{border:1px solid var(--border);background:#00000038;border-radius:12px;margin:0;padding:.5rem}.lesson-figure img{object-fit:contain;background:#0f172a;border-radius:8px;width:100%;height:auto;max-height:380px;display:block}.lesson-figure figcaption{margin-top:.4rem}.lesson-bottom-nav{border-top:1px solid var(--border);justify-content:space-between;margin-top:2rem;padding-top:1rem}.quiz-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.question-list{gap:1rem;display:grid}.question-card{padding:1rem 1.1rem}.question-card header{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.q-num{font-family:var(--mono);color:var(--primary-2);font-size:.82rem}.q-type{color:var(--muted);font-size:.78rem}.q-prompt{margin-bottom:.75rem;font-weight:600}.options{gap:.45rem;display:grid}.option{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:#ffffff08;border-radius:12px;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;display:flex}.option:hover:not(:disabled){background:var(--bg-card-hover)}.option.selected{background:#3b82f61f;border-color:#3b82f68c}.option.reveal-correct{background:var(--success-bg);border-color:#22c55e8c}.option.reveal-wrong{background:var(--danger-bg);border-color:#f871718c}.option:disabled{cursor:default}.option-marker{opacity:.85;min-width:1.1rem}.explanation{border-radius:10px;margin:.8rem 0 0;padding:.75rem .85rem;font-size:.95rem}.explanation.ok{background:var(--success-bg);color:#bbf7d0}.explanation.bad{background:var(--danger-bg);color:#fecaca}.result-banner{border-radius:var(--radius);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex}.result-banner.pass{background:var(--success-bg);border-color:#22c55e59}.result-banner.fail{background:var(--danger-bg);border-color:#f8717159}.result-banner p{color:var(--muted);margin:.25rem 0 0}.quiz-pass-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.practice-note{background:#fbbf241a;border:1px solid #fbbf2447;border-radius:8px;margin-top:.35rem;padding:.45rem .6rem}.lp-content-tabs{flex-shrink:0;gap:.25rem;padding:.35rem .5rem .55rem;display:flex}.lp-content-tabs button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#0f172a73;border-radius:8px;flex:1;padding:.35rem .5rem;font-size:.78rem;font-weight:600}.lp-content-tabs button.active{color:var(--text);background:#3b82f633;border-color:#3b82f680}.lp-content-tabs button:disabled{opacity:.45;cursor:not-allowed}.lp-content-tabs-pop{flex:0 auto;max-width:280px}.lp-quiz-preview .question-list{margin-top:.5rem}.lp-q-card{margin-bottom:.65rem}.lp-check-teaser{opacity:.95}.cooldown-panel{background:linear-gradient(180deg, #fbbf2414, var(--bg-card));border-color:#fbbf2459;gap:1rem;margin-bottom:1rem;padding:1.2rem;display:flex}.cooldown-icon{font-size:2rem;line-height:1}.cooldown-clock{font-family:var(--mono);color:var(--warn);margin:.35rem 0;font-size:2rem;font-weight:600}.cooldown-bar{background:#ffffff14;border-radius:999px;height:8px;margin-bottom:.5rem;overflow:hidden}.cooldown-bar-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24);height:100%;transition:width .25s linear}@media (width<=820px){.hero,.course-hero{grid-template-columns:1fr}.course-hero-actions{flex-flow:wrap}.lesson-row{grid-template-columns:auto 1fr}.lesson-row .btn{grid-column:2;justify-self:start}.result-banner{flex-direction:column;align-items:flex-start}}.admin-shell{background:var(--bg);min-height:100vh;color:var(--text)}.admin-topbar{border-bottom:1px solid var(--border);z-index:20;background:#0f172aeb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex;position:sticky;top:0}.admin-brand{align-items:baseline;gap:.5rem;font-weight:700;display:flex}.admin-brand a{color:var(--text);text-decoration:none}.admin-nav{flex-wrap:wrap;align-items:center;gap:.65rem .9rem;display:flex}.admin-nav a{color:var(--muted);font-size:.92rem;text-decoration:none}.admin-nav a.active,.admin-nav a:hover{color:var(--primary-2)}.admin-user{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.admin-main{width:min(1200px,100% - 2rem);margin:0 auto;padding:1.25rem 0 3rem}.admin-main:has(.admin-with-preview){width:min(1680px,100% - 1rem)}.admin-with-preview{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:1rem;display:grid}:is(.admin-with-preview:has(.lp-dock.collapsed),.admin-with-preview:has(.lp-dock.popped-out)){grid-template-columns:minmax(0,1fr);gap:0}.admin-with-preview>.admin-page{min-width:0}.admin-section-focused{outline:1px solid #38bdf873;box-shadow:0 0 0 3px #38bdf81f}.lp-dock{border:1px solid var(--border);z-index:15;background:#0f172aeb;border-radius:16px;flex-direction:column;align-self:start;max-height:calc(100vh - 5rem);display:flex;position:sticky;top:4.25rem;overflow:hidden}.lp-dock.collapsed,.lp-dock.popped-out{z-index:50;width:auto;max-width:min(16rem,100vw - 1.5rem);max-height:none;position:fixed;top:auto;bottom:.85rem;right:.85rem;box-shadow:0 10px 32px #00000073}.lp-dock.collapsed .lp-dock-bar,.lp-dock.popped-out .lp-dock-bar{border-bottom:none;flex-flow:wrap;align-items:center;gap:.35rem}.lp-dock.popped-out{background:#0f172af5;border-color:#38bdf873}.lp-dock-popped-label{color:#7dd3fc;white-space:nowrap;font-size:.78rem;font-weight:600;line-height:1.3}.lp-dock-bar{border-bottom:1px solid var(--border);background:#00000040;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;padding:.45rem .55rem;display:flex}.lp-dock-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.25rem .35rem;font-size:.9rem;font-weight:600;display:inline-flex}.lp-dock-stamp{font-weight:400}.lp-dock-actions{flex-wrap:wrap;gap:.35rem;display:flex}.lp-dock-body{flex:1;min-height:0;padding:.65rem;overflow:auto}.lp-view-toggle{border:1px solid var(--border);background:#00000040;border-radius:999px;align-items:center;gap:.2rem;padding:.15rem;display:inline-flex}.lp-view-toggle.compact .lp-view-btn{padding:.2rem .4rem;font-size:.85rem}.lp-view-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.82rem;font-weight:600;line-height:1.2;display:inline-flex}.lp-view-btn:hover{color:var(--text)}.lp-view-btn.active{color:#bae6fd;background:#38bdf82e}.lp-device-frame{background:linear-gradient(#0b1220,#0f172a 40%);border:2px solid #94a3b859;border-radius:22px;padding:.55rem .55rem .85rem;box-shadow:0 12px 40px #00000059}.lp-device-notch{background:#ffffff1f;border-radius:999px;width:28%;height:.35rem;margin:.15rem auto .45rem}.lp-device-screen{background:var(--bg);border:1px solid var(--border);border-radius:14px;max-height:calc(100vh - 12rem);padding:.75rem .8rem 1rem;overflow:auto}.lp-device-label{text-transform:uppercase;letter-spacing:.04em;margin:0 0 .55rem;font-size:.68rem}.lp-desktop-frame{background:#1e293b;border:1px solid #94a3b866;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 12px 40px #00000059}.lp-desktop-chrome{background:#0f172a;border-bottom:1px solid #94a3b840;align-items:center;gap:.65rem;padding:.45rem .65rem;display:flex}.lp-desktop-dots{gap:.3rem;display:inline-flex}.lp-desktop-dots i{background:#64748b;border-radius:999px;width:.55rem;height:.55rem;display:block}.lp-desktop-dots i:first-child{background:#f87171}.lp-desktop-dots i:nth-child(2){background:#fbbf24}.lp-desktop-dots i:nth-child(3){background:#4ade80}.lp-desktop-url{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0f;border-radius:6px;flex:1;padding:.2rem .55rem;font-size:.72rem;overflow:hidden}.lp-desktop-screen{background:var(--bg);max-height:calc(100vh - 12rem);padding:1rem 1.15rem 1.25rem;overflow:auto}.lp-dock-desktop .lp-desktop-screen{max-height:calc(100vh - 14rem)}.lp-header{margin-bottom:.75rem}.lp-header h1{margin:.15rem 0;font-size:1.2rem;line-height:1.25}.lp-card{margin-bottom:.75rem;padding:.85rem .9rem}.lp-card h2{margin:0 0 .45rem;font-size:1.02rem}.lp-video-placeholder{border:1px dashed var(--border);background:#ffffff08;border-radius:10px;margin:.5rem 0;padding:.55rem .65rem}.lp-idle{text-align:center;padding:1rem .25rem}.lp-idle h2{margin:.35rem 0;font-size:1.1rem}.lp-popout-page{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.lp-popout-top{border-bottom:1px solid var(--border);z-index:5;background:#0f172af2;flex-wrap:wrap;align-items:center;gap:.65rem .85rem;padding:.65rem 1rem;display:flex;position:sticky;top:0}.lp-popout-brand{flex:1;min-width:8rem}.lp-popout-logo{object-fit:contain;width:28px;height:28px}.lp-popout-main{flex:1;justify-content:center;align-items:flex-start;padding:1rem;display:flex}.lp-popout-main-desktop{padding:1rem 1.25rem 1.5rem}.lp-device-frame-pop{width:min(420px,100%)}.lp-device-frame-pop .lp-device-screen{max-height:none}.lp-popout-page.lp-view-desktop .lp-desktop-frame{width:min(1040px,100%)}.lp-popout-page.lp-view-desktop .lp-desktop-screen{min-height:60vh;max-height:none}.lp-popout-page.lp-view-desktop .lp-header h1{font-size:1.55rem}.lp-popout-page.lp-view-desktop .lp-card h2{font-size:1.15rem}@media (width<=1100px){.admin-with-preview{grid-template-columns:1fr}.lp-dock{order:-1;max-height:none;position:relative;top:0}.lp-device-screen{max-height:50vh}}.admin-login-page{place-items:center;padding:2rem 1rem;display:grid}.admin-login-card{width:min(420px,100%);padding:1.5rem}.admin-error{color:var(--danger);background:var(--danger-bg);border:1px solid #f8717159;border-radius:10px;margin:.5rem 0;padding:.55rem .75rem}.admin-page-head{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.admin-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.admin-doc-table{gap:.45rem;display:grid}.admin-doc-row{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;grid-template-columns:2fr 1fr .8fr .5fr auto;align-items:center;gap:.75rem;padding:.7rem .85rem;display:grid}.admin-doc-row.admin-doc-row-course{grid-template-columns:2.2fr .9fr .8fr .9fr .45fr auto}.admin-doc-row.head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:0 0;border-style:dashed;font-size:.8rem}.admin-doc-title-cell{align-items:center;gap:.65rem;min-width:0;display:flex}.admin-doc-icon{border:1px solid var(--border);background:#ffffff0f;border-radius:.55rem;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.15rem;display:inline-flex;overflow:hidden}.admin-doc-icon img{object-fit:cover;width:100%;height:100%}.admin-active-toggle{border:1px solid var(--border);cursor:pointer;background:#ffffff08;border-radius:12px;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;display:flex}.admin-active-toggle input{accent-color:#38bdf8;width:1.1rem;height:1.1rem;margin-top:.2rem}.admin-emoji-row{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.admin-emoji-btn{border:1px solid var(--border);cursor:pointer;background:#ffffff0a;border-radius:.5rem;width:2.25rem;height:2.25rem;font-size:1.15rem;line-height:1}.admin-emoji-btn:hover,.admin-emoji-btn.selected{background:#38bdf81f;border-color:#38bdf8a6}.admin-icon-preview{align-items:center;gap:.75rem;margin-top:.65rem;display:flex}.admin-icon-preview img{object-fit:cover;border:1px solid var(--border);border-radius:.65rem;width:3rem;height:3rem}.admin-icon-media-strip{margin-top:.75rem}.admin-icon-thumbs{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.admin-icon-thumb{cursor:pointer;background:#ffffff0a;border:2px solid #0000;border-radius:.5rem;width:2.75rem;height:2.75rem;padding:0;overflow:hidden}.admin-icon-thumb img{object-fit:cover;width:100%;height:100%;display:block}.admin-icon-thumb.selected{border-color:#38bdf8}.admin-badge{text-transform:uppercase;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;display:inline-block}.admin-badge.published{background:var(--success-bg);color:#86efac}.admin-badge.draft{background:var(--warn-bg);color:#fde68a}.admin-course-grid{grid-template-columns:minmax(200px,260px) 1fr;align-items:start;gap:1rem;display:grid}.admin-tree{max-height:calc(100vh - 5.5rem);padding:1rem;position:sticky;top:4.5rem;overflow:auto}.admin-tree h2{margin:0 0 .75rem;font-size:1rem}.admin-tree-mod{margin-bottom:.75rem}.admin-tree-mod>button,.admin-tree-mod li button{text-align:left;width:100%;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;padding:.35rem .4rem;display:block}.admin-tree-mod>button.active,.admin-tree-mod li button.active{color:var(--text);background:#3b82f626}.admin-tree-mod ul{margin:.2rem 0 0;padding:0 0 0 .5rem;list-style:none}.admin-lesson-edit{padding:1.1rem 1.25rem 1.5rem}.admin-field{color:var(--muted);gap:.3rem;margin:.65rem 0;font-size:.88rem;display:grid}.admin-field input,.admin-field textarea,.admin-field select,.admin-q-head select,.admin-json{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:.55rem .7rem}.admin-json{min-height:60vh;font-family:var(--mono);font-size:.82rem;line-height:1.4}.admin-section-card,.admin-question-card{border:1px solid var(--border);background:#0000002e;border-radius:12px;margin:.75rem 0;padding:.75rem}.admin-q-head{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.admin-quiz-meta{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=900px){.admin-course-grid{grid-template-columns:1fr}.admin-tree{max-height:none;position:static}.admin-doc-row{grid-template-columns:1fr}.admin-doc-row.head{display:none}.admin-quiz-meta{grid-template-columns:1fr}}.admin-create-card{margin-bottom:1.25rem;padding:1.1rem 1.25rem}.admin-create-card h2{margin-top:0}.admin-media-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.admin-media-filters input,.admin-media-filters select,.admin-filter-input{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:10px;padding:.5rem .7rem}.admin-filter-input{width:min(420px,100%);margin-bottom:.85rem}.admin-media-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;display:grid}.admin-media-card{gap:.35rem;padding:.75rem;display:grid}.admin-media-preview{aspect-ratio:16/10;background:#000;border-radius:10px;place-items:center;display:grid;overflow:hidden}.admin-media-preview video,.admin-media-preview img{object-fit:contain;width:100%;height:100%}.admin-media-name{word-break:break-word;font-size:.9rem}.admin-media-path{color:var(--muted);word-break:break-all;font-size:.72rem}.admin-video-block{border-top:1px dashed var(--border);margin-top:.5rem;padding-top:.5rem}.admin-video-row{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;display:flex}.admin-media-picker{border:1px solid var(--border);background:#0003;border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin-top:.55rem;padding:.55rem;display:grid}.admin-media-pick-item{text-align:left;background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;gap:.25rem;padding:.35rem;font-size:.78rem;display:grid}.admin-media-pick-item video{object-fit:cover;background:#000;border-radius:6px;width:100%;height:72px}.admin-port-row-grid{grid-template-columns:1fr 1fr 1fr;gap:.5rem;display:grid}.admin-port-list{gap:.65rem;display:grid}@media (width<=700px){.admin-port-row-grid{grid-template-columns:1fr}}.q-prompt-image{border:1px solid var(--border);border-radius:10px;max-width:520px;margin:.5rem 0 .75rem;overflow:hidden}.q-prompt-image img{width:100%;height:auto;display:block}.option-with-image{align-items:flex-start}.option-thumb{object-fit:cover;background:#0f172a;border-radius:8px;flex-shrink:0;width:72px;height:54px}.reorder-list{gap:.45rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.reorder-item{border:1px solid var(--border);background:#0000002e;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.5rem .65rem;display:grid}.reorder-num{background:#3b82f633;border-radius:999px;place-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;font-weight:700;display:grid}.reorder-body{align-items:center;gap:.5rem;min-width:0;display:flex}.reorder-btns{flex-direction:column;gap:.2rem;display:flex}.hotspot-wrap{margin-top:.5rem}.hotspot-stage{border:1px solid var(--border);cursor:crosshair;background:#000;border-radius:12px;max-width:100%;line-height:0;display:inline-block;position:relative;overflow:hidden}.hotspot-stage img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;max-width:min(100%,640px);height:auto;display:block}.hotspot-zone{box-sizing:border-box;pointer-events:none;background:#38bdf82e;border:2px solid #38bdf8d9;border-radius:6px;position:absolute}.hotspot-zone.hidden-outline{background:0 0;border-color:#0000}.hotspot-zone.selected{background:#fbbf2447;border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2459}.hotspot-zone.reveal-correct{background:#4ade8040;border-color:#4ade80}.hotspot-zone.reveal-wrong{background:#f8717140;border-color:#f87171}.hotspot-stage.admin{cursor:crosshair;max-width:100%}.image-flow-player{margin-top:.5rem}.image-flow-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem;display:flex}.image-flow-stage{cursor:pointer;max-width:100%}.image-flow-stage.locked{cursor:default;opacity:.95}.image-flow-missing{background:#111;justify-content:center;align-items:center;width:100%;min-height:160px;padding:1.5rem;display:flex}.image-flow-tip{margin-top:.65rem}.admin-image-flow-editor{border:1px dashed var(--border);border-radius:10px;margin:.5rem 0 .75rem;padding:.65rem .75rem}.admin-map-frame-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem;margin-top:.75rem;display:flex}html.tech-phone-html,html.tech-phone-html body.tech-phone-body{background:#000;height:100%;min-height:100%;margin:0;padding:0;overflow:hidden}html.tech-phone-html body.tech-phone-body #root{height:100%;min-height:100%}.tech-phone-page{color:#fff;background:#000;min-height:100dvh}.tech-phone-page-solo{flex-direction:column;max-width:none;height:100dvh;margin:0;padding:0;display:flex;overflow:hidden}.tech-phone-solo-msg{text-align:center;color:#cbd5e1;margin:auto;padding:1.5rem;font-family:system-ui,sans-serif}.tech-phone-stage-solo{background:#000;flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;position:relative}.tech-phone-stage-solo .phone-stage-bare{border:none;border-radius:0;flex-direction:column;flex:1;width:100%;max-width:none;height:100%;min-height:0;margin:0;display:flex}.tech-phone-stage-solo .phone-glass{border-radius:0;flex:auto;width:100%;height:100%;max-height:none;aspect-ratio:auto!important}.tech-phone-stage-solo .phone-glass-fixed{height:100%;aspect-ratio:auto!important}.tech-phone-stage-solo .phone-glass-scroll,.tech-phone-stage-solo .phone-glass-scroll-body,.tech-phone-stage-solo .phone-glass-with-sticky{height:100%;max-height:none!important}.tech-phone-stage-solo .phone-glass-content{min-height:100%}.tech-phone-back-fab{top:max(.45rem, env(safe-area-inset-top));z-index:20;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border:none;border-radius:999px;width:2.1rem;height:2.1rem;padding:0 0 .15rem;font-size:1.6rem;line-height:1;position:absolute;left:.4rem}.tech-phone-tip-float{left:50%;bottom:max(4.5rem, calc(env(safe-area-inset-bottom) + 4rem));z-index:20;color:#e2e8f0;text-align:center;pointer-events:none;background:#0f172ae0;border-radius:10px;max-width:88%;padding:.45rem .75rem;font-size:.85rem;position:absolute;transform:translate(-50%)}.tech-phone-code-float{left:50%;bottom:max(.75rem, env(safe-area-inset-bottom));z-index:25;color:#fff;cursor:pointer;background:#062814eb;border:1px solid #4ade808c;border-radius:14px;flex-direction:column;align-items:center;gap:.1rem;min-width:9rem;padding:.55rem 1.1rem .45rem;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 8px 28px #00000073}.tech-phone-code-float-k{text-transform:uppercase;letter-spacing:.08em;color:#86efac;font-size:.65rem}.tech-phone-code-float-v{letter-spacing:.14em;color:#4ade80;font-family:ui-monospace,monospace;font-size:1.75rem;font-weight:700;line-height:1.15}.tech-phone-code-float-h{color:#94a3b8;font-size:.65rem}.tech-phone-fs-gate{z-index:40;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;font:inherit;background:#000000b8;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;margin:0;padding:1.5rem;display:flex;position:absolute;inset:0}.tech-phone-fs-gate-title{letter-spacing:.02em;font-size:1.25rem;font-weight:600}.tech-phone-fs-gate-sub{color:#94a3b8;text-align:center;max-width:16rem;font-size:.85rem;line-height:1.35}:-webkit-any(html.tech-phone-html:fullscreen,html.tech-phone-html:-webkit-full-screen){background:#000}:is(html.tech-phone-html:fullscreen,html.tech-phone-html:fullscreen){background:#000}:-webkit-any(.tech-phone-page-solo:fullscreen,.tech-phone-page-solo:-webkit-full-screen){background:#000;width:100%;height:100%}:is(.tech-phone-page-solo:fullscreen,.tech-phone-page-solo:fullscreen){background:#000;width:100%;height:100%}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.action-code-question{margin-top:.5rem}.action-code-qr-block{background:linear-gradient(145deg,#0ea5e914,#0f172a73);border:1px solid #38bdf859;border-radius:14px;flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:.85rem;padding:.9rem 1rem;display:flex}.action-code-qr-col{text-align:center;flex:none}.action-code-qr-title{letter-spacing:.04em;text-transform:uppercase;color:#7dd3fc;margin:0 0 .45rem;font-size:.8rem;font-weight:700}.action-code-qr{background:#fff;border-radius:12px;flex:none;padding:8px;line-height:0;box-shadow:0 8px 24px #00000040}.action-code-qr img{border-radius:4px;width:220px;height:220px;display:block}.action-code-qr-missing{box-sizing:border-box;text-align:center;justify-content:center;align-items:center;width:220px;height:220px;padding:.75rem;display:flex}.action-code-qr-meta{flex:1;min-width:180px}.action-code-qr-lead{margin:0 0 .65rem;font-size:.95rem;line-height:1.45}.action-code-deep-link{word-break:break-all;opacity:.75;margin:.5rem 0 0;font-size:.75rem}.action-code-input-label input{font-size:1.25rem;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase}.action-code-input-label input.action-code-ok{border-color:#4ade80}.action-code-input-label input.action-code-bad{border-color:#f87171}.admin-tech-phone-code-card{border:1px dashed var(--border);background:#38bdf80d;border-radius:12px;margin:.85rem 0;padding:.75rem .85rem}.admin-tech-phone-link-row{flex-wrap:wrap;align-items:flex-start;gap:.85rem;margin-top:.65rem;display:flex}.admin-tech-phone-qr{background:#fff;border-radius:10px;padding:6px}.admin-map-editor .admin-course-grid{align-items:start}.admin-map-screens-panel{min-width:0}.admin-map-zone-workspace{grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:start;gap:1rem;margin-top:.5rem;display:grid}.admin-map-zone-list{min-width:0;max-height:min(70vh,900px);padding-right:.25rem;overflow-y:auto}.admin-map-zone-card{cursor:pointer;transition:border-color .12s,box-shadow .12s}.admin-map-zone-card.selected{border-color:#fbbf24bf;box-shadow:0 0 0 1px #fbbf2459}.admin-map-nudge-group{gap:.15rem;display:inline-flex}.admin-map-stage-dock{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow);border-radius:14px;align-self:start;max-height:calc(100vh - 5rem);padding:.75rem;position:sticky;top:4.5rem;overflow:auto}.admin-map-stage-dock.popped-out{min-height:120px}.admin-map-stage-dock-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.admin-map-stage-popped-note{background:#38bdf814;border-radius:10px;margin:0;padding:.65rem}.map-stage-view{width:100%}.map-stage-view .phone-frame,.map-stage-view .phone-stage-bare{max-width:100%}.map-stage-view.large .phone-frame,.map-stage-view.large .phone-stage-bare{max-width:min(100%,380px);margin:0 auto}.map-stage-zone{pointer-events:none;justify-content:flex-start;align-items:flex-start;display:flex}.map-stage-zone.selected{z-index:3;box-shadow:0 0 0 2px #fbbf2466;background:#fbbf2447!important;border-color:#fbbf24!important}.map-stage-zone-label{color:#fff;text-shadow:0 1px 2px #000;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:1px 3px;font-size:9px;line-height:1.1;overflow:hidden}.map-stage-popout{background:var(--bg);min-height:100vh;color:var(--text);padding:1rem 1.1rem 2rem}.map-stage-popout-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;max-width:420px;margin-bottom:1rem;margin-left:auto;margin-right:auto;display:flex}.map-stage-popout-head h1{margin:.15rem 0;font-size:1.25rem}.map-stage-popout-body{justify-content:center;padding-bottom:2rem;display:flex}@media (width<=1100px){.admin-map-zone-workspace{grid-template-columns:1fr}.admin-map-stage-dock{order:-1;max-height:none;position:relative;top:0}}.admin-map-mass-drop{border:1.5px dashed var(--border);text-align:center;background:#0f172a59;border-radius:12px;margin-bottom:.75rem;padding:.75rem .85rem;transition:border-color .15s,background .15s}.admin-map-mass-drop.active{background:#38bdf81a;border-color:#38bdf8d9}.admin-map-mass-drop.busy{opacity:.85;pointer-events:none}.admin-map-mass-drop-label{margin:0 0 .25rem;font-size:.9rem}.admin-map-mass-drop .btn-link{color:var(--primary-2);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.admin-map-screen-list{flex-direction:column;gap:.3rem;max-height:min(58vh,640px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.admin-map-screen-row{cursor:grab;background:#ffffff08;border:1px solid #0000;border-radius:10px;align-items:stretch;gap:.2rem;display:flex}.admin-map-screen-row:active{cursor:grabbing}.admin-map-screen-row.active{background:#38bdf81a;border-color:#38bdf88c}.admin-map-screen-row.dragging{opacity:.45}.admin-map-screen-row.drag-over{border-color:#fbbf24bf;box-shadow:0 0 0 1px #fbbf2459}.admin-map-screen-handle{color:var(--muted);letter-spacing:-.12em;-webkit-user-select:none;user-select:none;align-items:center;padding:0 .25rem 0 .4rem;font-size:.75rem;display:flex}.admin-map-screen-select{color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;flex:1;align-items:center;gap:.45rem;min-width:0;padding:.35rem .45rem .35rem 0;display:flex}.admin-map-screen-num{width:1.4rem;height:1.4rem;color:var(--muted);background:#94a3b826;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:.72rem;font-weight:600;display:inline-flex}.admin-map-screen-row.active .admin-map-screen-num{color:var(--text);background:#38bdf840}.admin-map-screen-meta{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.admin-map-screen-meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.admin-map-screen-thumb{object-fit:cover;border:1px solid var(--border);background:#0a0a0a;border-radius:6px;flex:none;width:36px;height:48px}.admin-map-screen-thumb.empty{background:#94a3b81f;display:block}.phone-frame{width:100%;max-width:min(100%,340px);margin:0 auto;display:block}.phone-frame-bezel{background:linear-gradient(160deg,#3a3a3e 0%,#1a1a1c 40%,#0d0d0f 100%);border-radius:2.35rem;padding:.62rem .5rem .72rem;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 14px 40px #00000080,inset 0 2px #ffffff0f}.phone-frame--generic .phone-frame-bezel{background:#0a0a0a;border-radius:1.75rem;padding:.45rem}.phone-frame-speaker{background:#050505;border-radius:99px;width:26%;height:5px;margin:.1rem auto .4rem;box-shadow:0 0 0 1px #ffffff0d}.phone-frame--generic .phone-frame-speaker{display:none}.phone-frame-camera{z-index:2;pointer-events:none;background:radial-gradient(circle at 35% 35%,#4a6a8a,#0a1520 70%);border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:.78rem;left:50%;box-shadow:0 0 0 2px #1a1a1c}.phone-frame--generic .phone-frame-camera{display:none}.phone-frame-home{background:#ffffff29;border-radius:99px;width:30%;height:4px;margin:.48rem auto .05rem}.phone-frame--generic .phone-frame-home{display:none}.phone-glass{cursor:pointer;isolation:isolate;background:#000;border-radius:1.25rem;width:100%;line-height:0;position:relative;overflow:hidden}.phone-frame--generic .phone-glass{border-radius:1.05rem}.phone-glass.locked{cursor:default}.phone-glass-fixed{aspect-ratio:9/19.5;width:100%;height:auto}.phone-glass-scroll,.phone-glass-scroll-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;overflow:hidden auto}.phone-glass-scroll::-webkit-scrollbar{width:5px}.phone-glass-scroll-body::-webkit-scrollbar{width:5px}.phone-glass-scroll::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:99px}.phone-glass-scroll-body::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:99px}.phone-glass-with-sticky{flex-direction:column;display:flex;overflow:hidden}.phone-glass-with-sticky .phone-glass-scroll-body{flex:auto;width:100%;min-height:0}.phone-sticky-banner{cursor:pointer;background:#000;box-shadow:0 1px #00000059}.phone-sticky-banner-fill{position:absolute;inset:0;overflow:hidden}.phone-glass-content{cursor:inherit}.phone-glass-scroll .phone-glass-content,.phone-glass-scroll-body .phone-glass-content{min-height:100%}.admin-sticky-banner-controls{border:1px dashed var(--border);background:#fbbf240f;border-radius:10px;margin:.5rem 0 .75rem;padding:.65rem .75rem}.admin-sticky-banner-controls input[type=range]{width:100%}.admin-sticky-header-preview{border:1px solid var(--border);background:#111;border-radius:8px;width:100%;max-width:320px;height:auto;margin-top:.5rem;display:block}.phone-sticky-banner-image{cursor:default}.phone-glass-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;display:block}.phone-frame.scrollable .phone-frame-home{opacity:.85}.map-stage-view.scrollable .phone-glass-scroll{max-height:min(70vh,640px)}.map-stage-view.large.scrollable .phone-glass-scroll{max-height:min(78vh,780px)}.tech-phone-stage-wrap .phone-glass-scroll{max-height:min(72vh,700px)}.phone-stage-bare{border:1px solid var(--border);background:#000;border-radius:14px;width:100%;max-width:min(100%,340px);margin:0 auto;line-height:0;display:block;overflow:hidden}.phone-stage-bare .phone-glass{cursor:inherit;border-radius:0}.phone-frame.locked .phone-glass{cursor:default}.phone-glass .hotspot-zone{z-index:2;pointer-events:none}.image-flow-player .hotspot-zone:not(.reveal-correct):not(.reveal-wrong):not(.selected){background:0 0;border-color:#0000}.admin-option-edit{border:1px dashed var(--border);border-radius:10px;margin:.45rem 0;padding:.55rem .65rem}.admin-q-preview{object-fit:contain;background:#0f172a;border-radius:8px;max-width:280px;max-height:160px;margin:.35rem 0 .5rem;display:block}.admin-q-preview.small{max-width:120px;max-height:80px}.admin-check-row{color:var(--text);align-items:center;gap:.45rem;margin:.45rem 0;font-size:.9rem;display:flex}.admin-hotspot-editor{margin:.5rem 0 .75rem}.brand-logo{border-radius:6px;width:auto;height:36px;display:block}.brand{color:var(--text);align-items:center;gap:.65rem;text-decoration:none;display:flex}.learner-chip{align-items:center;gap:.35rem;display:inline-flex}.chip-x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:1.1rem;line-height:1}.chip-x:hover{color:var(--danger)}.login-page{place-items:center;min-height:60vh;padding:2rem 1rem;display:grid}.login-card{width:min(420px,100%);padding:1.5rem}.login-logo{width:auto;height:48px;margin-bottom:.75rem}.lb-hero-brand{align-items:flex-start;gap:1rem;display:flex}.lb-logo{border-radius:8px;flex-shrink:0;width:auto;height:56px}.lb-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.lb-filters select{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:10px;margin-top:.25rem;padding:.5rem .7rem;display:block}.lb-rule{margin:0}.lb-table{padding:.5rem 0;overflow:hidden}.lb-row{border-bottom:1px solid var(--border);grid-template-columns:3rem 1.6fr 1fr .8fr .8fr;align-items:center;gap:.75rem;padding:.75rem 1rem;display:grid}.lb-row.head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom-width:2px;font-size:.75rem}.lb-row.mine{background:#22c55e14}.lb-rank{font-variant-numeric:tabular-nums;color:var(--primary-2);font-weight:800}.lb-points{font-variant-numeric:tabular-nums;font-weight:700}@media (width<=700px){.lb-row{grid-template-columns:2rem 1fr .7fr}.lb-row span:nth-child(4),.lb-row.head span:nth-child(4){display:none}.lb-hero-brand{flex-direction:column}}
