:root{
  --bg:#f5f7fb;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --surface-3:#eef2f7;
  --text:#071a47;
  --text-2:#30456f;
  --muted:#74819a;
  --line:#dce4f0;
  --line-strong:#c4d0e2;
  --primary:#125fff;
  --primary-hover:#0a50e8;
  --primary-soft:#edf4ff;
  --brand-gradient:linear-gradient(115deg,#071d5d 0%,#155bff 62%,#10b8ef 100%);
  --success:#159a63;
  --success-soft:#eaf7f1;
  --danger:#d14358;
  --danger-soft:#fff0f2;
  --warning:#b97812;
  --warning-soft:#fff7e8;
  --radius:10px;
  --radius-sm:8px;
  --radius-xs:6px;
  --safe-bottom:env(safe-area-inset-bottom, 0px);
  --content-pad:18px;
}

*{box-sizing:border-box}
img{max-width:100%;height:auto}
html{background:var(--bg)}
html,body{margin:0;min-height:100%;font-family:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{display:flex;justify-content:center;background:var(--bg)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(18,95,255,.28);outline-offset:2px}
a{text-decoration:none;color:inherit}
::selection{background:#dfe6ff;color:var(--text)}

.app-shell{width:100%;max-width:500px;min-height:100vh;background:var(--surface);position:relative;overflow-x:hidden}
.app-view{min-height:100vh;padding-bottom:82px;background:var(--surface)}
.hidden{display:none!important}

/* Layout */
.page{padding:var(--content-pad)}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;align-items:center;gap:12px}
.row.between{justify-content:space-between}
.grow{flex:1;min-width:0}
.muted{color:var(--muted)}
.small{font-size:12px}
.tiny{font-size:10.5px}
.title-lg{margin:0;font-size:28px;line-height:1.12;font-weight:800;letter-spacing:-.045em}
.title-md{margin:0;font-size:18px;line-height:1.25;font-weight:750;letter-spacing:-.025em}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 0}
.section-title h3{margin:0;font-size:15px;font-weight:750;letter-spacing:-.015em}
.link-btn{border:0;background:transparent;color:var(--primary);font-weight:700;font-size:12px;padding:5px 0}

/* Header */
.topbar{position:sticky;top:0;z-index:25;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--content-pad);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:saturate(120%) blur(8px)}
.topbar-title{font-size:17px;font-weight:800;letter-spacing:-.03em}
.topbar-wordmark{display:block;width:112px;max-width:36vw;height:auto;object-fit:contain}
.topbar-sub{font-size:10.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-btn{width:40px;height:40px;flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);display:grid;place-items:center;color:var(--text-2);transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}
.icon-btn:active{transform:translateY(1px)}
.icon-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.icon-btn.flat{border-color:transparent;background:transparent}

/* Surfaces */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px;box-shadow:none}
.card.pressable{transition:border-color .12s ease,background .12s ease,transform .12s ease}
.card.pressable:active{transform:translateY(1px);border-color:var(--line-strong);background:var(--surface-2)}
.soft-card{background:var(--primary-soft);border:1px solid #dce4ff;border-radius:var(--radius);padding:15px}

/* Brand + avatar */
.avatar{width:46px;height:46px;border-radius:9px;background:var(--surface-3);border:1px solid var(--line);display:grid;place-items:center;color:var(--text-2);font-size:13px;font-weight:800;letter-spacing:-.03em;flex:0 0 auto;overflow:hidden}
.avatar.sm{width:36px;height:36px;border-radius:8px;font-size:11px}
.avatar.lg{width:76px;height:76px;border-radius:12px;font-size:22px}
.avatar.teacher{background:#edf2ff;color:#274ccf;border-color:#d9e2ff}
.avatar.student{background:#f1f4f8;color:#44556c}

/* Status */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);color:#5e6d82;font-size:10.5px;font-weight:700;line-height:1}
.badge.primary{border-color:#dce4ff;background:var(--primary-soft);color:var(--primary)}
.badge.success{border-color:#cfeada;background:var(--success-soft);color:var(--success)}
.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--success)}
.status-dot.draft{background:var(--warning)}

/* Buttons */
.btn{min-height:46px;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 15px;font-weight:750;font-size:13px;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--brand-gradient);border-color:transparent;color:#fff}
.btn.primary:hover{filter:brightness(.96);border-color:transparent}
.btn.secondary{background:var(--surface);border-color:var(--line);color:var(--text)}
.btn.secondary:hover{background:var(--surface-2);border-color:var(--line-strong)}
.btn.outline{background:var(--surface);color:var(--primary);border-color:#bfcdfd}
.btn.danger{background:var(--danger-soft);border-color:#f2ccd3;color:var(--danger)}
.btn.full{width:100%}
.btn.small{min-height:36px;padding:0 11px;font-size:11.5px}
.btn[disabled],button[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* Forms */
.form-group{display:flex;flex-direction:column}
.label{display:block;font-size:11px;color:#53637a;font-weight:750;margin-bottom:7px}
.input,.textarea,.select{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:12px 13px;outline:none;color:var(--text);font-size:13px;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}
.input{height:48px}
.input::placeholder,.textarea::placeholder{color:#9aa6b5}
.input:focus,.textarea:focus,.select:focus{border-color:#8ba3ff;box-shadow:0 0 0 3px rgba(18,95,255,.08);background:#fff}
.textarea{min-height:96px;resize:vertical;line-height:1.5}

/* Authentication */
.auth-screen{min-height:100vh;width:100%;max-width:100%;padding:20px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface);overflow-x:hidden}
.auth-screen>*{width:100%;max-width:400px;margin-inline:auto}
.auth-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;margin:0}
.auth-wordmark{display:block;width:218px;max-width:70%;height:auto;object-fit:contain;margin:0 auto}
.auth-brand>p{margin:0;color:#72809a;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1.35;max-width:240px}
.auth-box{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:none;gap:12px;align-items:stretch}
.auth-box-head{padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}
.auth-box-head h1{margin:0;width:100%;text-align:center;font-size:17px;line-height:1.2;font-weight:800;letter-spacing:-.04em}
.auth-box-head p{margin:0 auto;color:var(--muted);font-size:11px;line-height:1.4;max-width:280px;text-align:center}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:3px;margin:0}
.auth-tab{position:relative;border:0;background:transparent;min-height:38px;padding:0 9px;border-radius:7px;color:#8995a5;font-size:11.5px;font-weight:750;display:flex;align-items:center;justify-content:center;text-align:center}
.auth-tab:after{display:none}
.auth-tab.active{color:var(--text);background:#fff;border:1px solid var(--line);box-shadow:none}
.auth-role>.label{margin-bottom:6px}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.role-card{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-content:center;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:10px;text-align:left;min-height:76px;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}
.role-card.active{border-color:#8ea5ff;background:#f8faff;box-shadow:0 0 0 1px rgba(18,95,255,.05)}
.role-icon{grid-row:1 / 3;width:32px;height:32px;border-radius:7px;background:var(--primary-soft);border:1px solid #dce4ff;display:grid;place-items:center;color:var(--primary);margin:0}
.role-card strong{display:block;align-self:end;font-size:12px;line-height:1.25;margin:0 0 2px}
.role-card span{display:block;align-self:start;font-size:9.5px;color:var(--muted);line-height:1.3}
.auth-box .form-group .label{margin-bottom:5px}
.auth-box .input{height:44px;padding:10px 12px}
.auth-submit{min-height:44px;margin-top:0}
.auth-forgot{text-align:center!important;padding:1px 0 0}
.auth-security{display:flex;align-items:center;justify-content:center;gap:5px;color:#8793a3;font-size:9.5px;font-weight:600;padding-top:0}
.auth-security i{font-size:10px}
.auth-recovery-box{max-width:380px}
.auth-recovery-icon{width:40px;height:40px;display:grid;place-items:center;margin:0 auto 3px;border:1px solid #dce4ff;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:16px}
.auth-recovery-email{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text-2);font-size:11px;font-weight:650;overflow-wrap:anywhere}
.auth-recovery-email i{color:var(--primary);font-size:10px}
/* Hero */
.hero{background:#071a47;color:#fff;border:1px solid #071a47;border-radius:var(--radius);padding:18px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:16px;top:16px;width:40px;height:4px;background:var(--primary);border-radius:2px;opacity:.95}
.hero h2{margin:0 0 7px;padding-right:42px;font-size:19px;line-height:1.3;font-weight:750;letter-spacing:-.03em}
.hero p{margin:0;color:#bec9d8;font-size:12px;line-height:1.55;max-width:330px}
.hero .btn{margin-top:15px;background:#fff;border-color:#fff;color:#071a47;position:relative;z-index:2}

/* Stories / teachers */
.story-row{display:flex;gap:10px;overflow:auto;padding:2px 0 4px;scrollbar-width:none}
.story-row::-webkit-scrollbar{display:none}
.story{min-width:66px;text-align:center}
.story-ring{width:56px;height:56px;margin:auto;border-radius:11px;padding:3px;border:1px solid #aebfff;background:#f8faff}
.story-ring .avatar{width:48px;height:48px;border-radius:8px;border:0}
.story span{font-size:10.5px;display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2)}
.teacher-card{display:flex;gap:12px;align-items:center}
.teacher-card h4{margin:0 0 3px;font-size:13px;font-weight:750}
.teacher-card p{margin:0;font-size:11px;color:var(--muted)}
.teacher-stats{display:flex;align-items:center;gap:10px;margin-top:7px;font-size:10px;color:#6e7c90}

/* Search and tabs */
.searchbar{position:relative}
.searchbar i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8d99aa;font-size:13px}
.searchbar .input{padding-left:38px;background:var(--surface-2)}
.chips{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;color:#667489;border-radius:7px;padding:8px 10px;font-size:11px;font-weight:700}
.chip.active{background:var(--text);color:#fff;border-color:var(--text)}
.tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--surface-3);border:1px solid #e7ecf2;padding:3px;border-radius:9px;margin-top:14px}
.tab{border:0;background:transparent;min-height:38px;border-radius:7px;color:#718095;font-size:11.5px;font-weight:750}
.tab.active{background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(25,40,62,.08)}

/* Profile */
.profile-cover{height:88px;background:#eaf0ff;border:1px solid #d9e2ff;border-radius:var(--radius);margin:0}
.profile-head{margin-top:-34px;padding:0 14px}
.profile-head .avatar{border:4px solid var(--surface)}
.profile-name{margin:10px 0 3px;font-size:20px;font-weight:800;letter-spacing:-.035em}
.profile-bio{font-size:12px;color:var(--muted);line-height:1.55;margin:0}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.stat{min-width:0;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 7px}
.stat strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:800;letter-spacing:-.025em}
.stat span{display:block;margin-top:2px;font-size:9.5px;color:var(--muted)}
.teacher-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.teacher-summary .stat{text-align:left;padding:12px}

/* Feed */
.feed-card .meta{font-size:10px;color:var(--muted);margin-top:2px}
.feed-card p{line-height:1.55;font-size:13px;margin:12px 0}
.feed-actions{border-top:1px solid var(--line);margin:12px -15px -15px;padding:7px;display:grid;grid-template-columns:repeat(3,1fr)}
.feed-actions button{border:0;background:none;min-height:38px;color:#657389;font-weight:700;font-size:11px;border-radius:7px}
.feed-actions button:active{background:var(--surface-2)}

/* Test list */
.test-card{display:flex;gap:12px;align-items:flex-start}
.test-icon{width:40px;height:40px;border-radius:8px;background:var(--primary-soft);border:1px solid #dce4ff;display:grid;place-items:center;color:var(--primary);flex:0 0 auto}
.test-meta-line{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.progress{height:5px;border-radius:3px;background:#edf0f4;overflow:hidden;margin-top:9px}
.progress span{display:block;height:100%;background:var(--primary)}

/* Test creator */
.creator-meta{display:grid;grid-template-columns:1fr 104px;gap:10px}
.creator-tools{display:flex;gap:6px;flex-wrap:wrap}
.tool-btn{border:1px solid var(--line);background:#fff;min-width:36px;height:34px;border-radius:6px;font-size:11px;font-weight:800;color:#506078}
.answer-row{display:flex;align-items:center;gap:8px}
.answer-row input[type="radio"]{accent-color:var(--primary);width:16px;height:16px}
.answer-row .input{flex:1}
.question-block{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:14px}
.question-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.question-number{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.danger-link{border:0;background:none;color:var(--danger);font-weight:750;font-size:10.5px}

/* Result */
.result-score{width:110px;height:110px;margin:12px auto 18px;border-radius:50%;border:8px solid #dfe6ff;display:grid;place-items:center;text-align:center;background:#fbfcff}
.result-score strong{font-size:27px;display:block;letter-spacing:-.04em}
.result-score span{font-size:9.5px;color:var(--muted)}
.result-pending{padding:22px;text-align:center}

/* Messaging */
.chat-list-item{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}
.chat-list-item:last-child{border-bottom:0}
.chat-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--muted);margin-top:3px}
.unread{min-width:20px;height:20px;padding:0 6px;border-radius:6px;background:var(--primary);color:#fff;font-size:9px;font-weight:800;display:grid;place-items:center}
.chat-page{height:100vh;display:flex;flex-direction:column;padding-bottom:0;background:#f5f7fa}
.chat-page .topbar{flex:0 0 auto}
.chat-messages{flex:1;overflow:auto;padding:16px 14px 86px;display:flex;flex-direction:column;gap:7px}
.bubble{max-width:82%;padding:10px 12px;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:12px;line-height:1.5;box-shadow:0 1px 1px rgba(31,45,66,.02)}
.bubble.me{align-self:flex-end;background:#eaf0ff;border-color:#d7e0ff;border-bottom-right-radius:4px}
.bubble.them{align-self:flex-start;border-bottom-left-radius:4px}
.bubble-time{display:block;text-align:right;font-size:8.5px;color:#8a96a6;margin-top:5px}
.chat-date{align-self:center;font-size:9px;color:var(--muted);padding:4px 8px}
.chat-composer{position:absolute;left:0;right:0;bottom:0;padding:9px 10px calc(9px + var(--safe-bottom));background:rgba(255,255,255,.98);border-top:1px solid var(--line);display:flex;gap:8px;align-items:end}
.chat-composer textarea{min-height:42px;max-height:100px;resize:none}

/* Bottom navigation */
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:40;width:min(500px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:5px 6px calc(5px + var(--safe-bottom));backdrop-filter:saturate(120%) blur(8px)}
.nav-item{position:relative;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;color:#8a96a5;font-size:9.5px;font-weight:700;border-radius:6px}
.nav-item i{font-size:16px}
.nav-item.active{color:var(--primary)}
.nav-item.active:before{content:"";position:absolute;top:0;width:22px;height:2px;background:var(--primary);border-radius:0 0 2px 2px}
.nav-item.create{width:42px;height:42px;min-height:42px;border-radius:9px;background:var(--primary);color:#fff;margin:5px auto 0}
.nav-item.create:before{display:none}
.nav-item.create span{display:none}

/* Action sheet */
.sheet-backdrop{position:fixed;inset:0;background:rgba(10,20,34,.34);z-index:80}
.action-sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:90;width:min(500px,100%);background:#fff;border-radius:12px 12px 0 0;padding:12px 14px calc(16px + var(--safe-bottom));box-shadow:0 -14px 34px rgba(22,34,50,.12)}
.sheet-handle{width:36px;height:3px;background:#d6dde6;border-radius:2px;margin:0 auto 12px}
.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.action-tile{border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:13px 8px;text-align:center}
.action-tile i{width:36px;height:36px;border-radius:7px;background:var(--primary-soft);border:1px solid #dce4ff;color:var(--primary);display:grid;place-items:center;margin:0 auto 8px}
.action-tile strong{display:block;font-size:11.5px}
.action-tile span{display:block;color:var(--muted);font-size:9.5px;margin-top:3px}

/* Feedback / setup */
.empty,.empty-state{padding:34px 16px;text-align:center;color:var(--muted)}
.empty i,.empty-state i{font-size:27px;color:#adb7c5;margin-bottom:11px}
.empty h4{margin:0 0 5px;color:var(--text)}
.empty-state strong{display:block;color:var(--text);margin-bottom:5px;font-size:13px}
.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted);padding:28px;text-align:center}
.boot-icon{width:84px;height:84px;border-radius:22px;filter:drop-shadow(0 8px 20px rgba(18,95,255,.12))}
.boot-wordmark{width:250px;max-width:76vw;height:auto;object-fit:contain}
.boot-screen span{font-size:15px;font-weight:600;color:var(--muted);letter-spacing:-.01em}
@media (max-width: 420px){
  .boot-screen{gap:14px;padding:24px}
  .boot-icon{width:72px;height:72px;border-radius:20px}
  .boot-wordmark{width:220px;max-width:78vw}
  .boot-screen span{font-size:14px}
}
.setup-wordmark{display:block;width:170px;max-width:58vw;height:auto;margin:0 auto 8px;object-fit:contain}
.firebase-setup{min-height:100vh;padding:22px 16px;display:flex;flex-direction:column;justify-content:center;background:var(--surface)}
.setup-code{background:#101828;color:#e4e9f0;border-radius:8px;padding:13px;overflow:auto;font:10.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}
.inline-error{border:1px solid #f2cbd2;background:var(--danger-soft);color:#a52e43;border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.45}
.inline-info{border:1px solid #d7e1ff;background:#f6f8ff;color:#3656b4;border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.5}
.toast{position:fixed;left:50%;bottom:82px;transform:translateX(-50%);z-index:120;width:min(calc(100% - 28px),466px);background:#10213a;color:#fff;border-radius:8px;padding:11px 13px;font-size:11px;font-weight:700;box-shadow:0 10px 28px rgba(12,25,44,.18)}
.toast.error{background:#a82d41}.toast.success{background:#15734e}
.spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.firebase-badge{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;color:var(--success);font-weight:800}
.firebase-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success)}
.profile-form .form-group{gap:0}

@media (max-width:360px){
  :root{--content-pad:15px}
  .title-lg{font-size:25px}
  .auth-screen{padding-left:12px;padding-right:12px}
  .auth-box{padding:15px}
  .role-grid{gap:6px}
  .role-card{grid-template-columns:28px minmax(0,1fr);column-gap:7px;padding:8px;min-height:74px}
  .role-icon{width:28px;height:28px}
  .role-card span{font-size:9px}
  .creator-meta{grid-template-columns:1fr}
}

@media (min-width:720px){
  body{padding:22px 0;background:#e9edf2}
  .app-shell{min-height:calc(100vh - 44px);height:calc(100vh - 44px);border:1px solid #d8dee7;border-radius:18px;overflow:hidden;box-shadow:0 18px 48px rgba(32,46,64,.14)}
  .app-view{min-height:100%;height:100%;overflow:auto}
  .bottom-nav{bottom:22px;border-radius:0 0 17px 17px}
  .action-sheet{bottom:22px;border-radius:12px}
  .auth-screen{min-height:100%}
}

/* Math Test Creator v0.4 */
.creator-page{padding-bottom:112px}
.math-mode-banner{display:flex;align-items:center;gap:12px;border:1px solid #cddcff;background:#f7f9ff;border-radius:10px;padding:12px 14px}
.math-mode-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#eaf0ff;color:var(--primary);font-size:17px;flex:0 0 auto}
.math-mode-banner strong{display:block;font-size:12.5px}
.math-mode-banner span{display:block;margin-top:2px;font-size:10.5px;line-height:1.45;color:var(--muted)}
.creator-settings{gap:12px}
.creator-more{border-top:1px solid var(--line);padding-top:10px}
.creator-more summary{cursor:pointer;color:var(--text-2);font-size:11px;font-weight:750;list-style:none}
.creator-more summary::-webkit-details-marker{display:none}
.creator-more summary:after{content:"+";float:right;color:var(--primary);font-size:15px;line-height:1}
.creator-more[open] summary:after{content:"–"}
.creator-more .form-group{margin-top:12px}
.math-question{padding:16px;display:flex;flex-direction:column;gap:14px}
.question-hint{margin-top:3px;font-size:9.5px;color:var(--muted);font-weight:550;text-transform:none;letter-spacing:0}
.optional{color:#98a5b7;font-weight:500;margin-left:4px}
.form-group.compact{gap:0}
.math-prompt{min-height:66px}
.math-entry-wrap{border:1px solid #d7e0ee;background:#fbfcff;border-radius:9px;padding:10px}
.math-entry-head .label{margin:0}
math-field.math-input{display:block;width:100%;min-width:0;border:1px solid #d8e1ee;background:#fff;border-radius:8px;padding:10px 12px;font-size:20px;line-height:1.35;--caret-color:var(--primary);--selection-background-color:#dce6ff;--contains-highlight-background-color:#eef3ff;--primary:var(--primary);--smart-fence-color:#4967b6;box-shadow:none}
math-field.math-input:focus-within{border-color:#88a5ff;box-shadow:0 0 0 3px rgba(23,105,255,.08)}
math-field.question-math{min-height:66px;font-size:23px;margin-top:7px}
math-field.answer-math{min-height:48px;font-size:18px;padding:8px 10px}
math-field::part(menu-toggle){display:none}
.math-quickbar{display:flex;gap:6px;overflow-x:auto;padding-top:8px;scrollbar-width:none}
.math-quickbar::-webkit-scrollbar{display:none}
.math-chip{flex:0 0 auto;height:31px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#43536b;font-size:10.5px;font-weight:750}
.math-chip:active{background:var(--primary-soft);border-color:#b8c9ff;color:var(--primary)}
.diagram-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}
.mini-action{height:31px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#516177;padding:0 8px;font-size:10px;font-weight:750;display:inline-flex;align-items:center;gap:5px}
.mini-action:active{border-color:#aebfff;color:var(--primary);background:#f7f9ff}
.diagram-empty{margin-top:9px;border:1px dashed #d9e1eb;border-radius:8px;padding:11px;text-align:center;color:#8a97a8;font-size:9.5px;line-height:1.45;background:#fcfdff}
.diagram-preview{position:relative;margin-top:10px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.diagram-preview img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;background:#fff}
.diagram-remove{position:absolute;top:7px;right:7px;width:28px;height:28px;border:1px solid #e2e7ee;border-radius:6px;background:rgba(255,255,255,.95);color:var(--danger)}
.answer-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.answer-title strong{font-size:12px}
.answer-title span{font-size:9.5px;color:var(--muted);text-align:right}
.math-answers{display:flex;flex-direction:column;gap:8px}
.math-answer-row{display:grid;grid-template-columns:18px 24px minmax(0,1fr);align-items:center;gap:8px}
.math-answer-row input[type="radio"]{width:17px;height:17px;accent-color:var(--primary)}
.answer-letter{font-size:10.5px;font-weight:800;color:#6f7e92;text-align:center}
.add-question-btn{border-style:dashed;min-height:50px}
.creator-savebar{position:sticky;bottom:0;z-index:20;display:flex;gap:8px;padding:9px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:10px;backdrop-filter:blur(8px)}
.math-render{display:inline-block;border:0;background:transparent;padding:0;pointer-events:none;min-width:0;color:inherit;--primary:var(--primary)}
.math-render::part(menu-toggle),.math-render::part(virtual-keyboard-toggle){display:none}
.math-option{display:grid;grid-template-columns:18px 24px minmax(0,1fr);align-items:center}
.result-math{display:block;margin-top:4px;font-size:14px}

/* Geometry sheet */
.action-sheet.diagram-sheet{max-height:min(720px,92vh);overflow:auto;padding-bottom:calc(16px + var(--safe-bottom))}
.diagram-tools{display:flex;gap:6px;overflow-x:auto;padding:8px 0 10px;scrollbar-width:none}
.diagram-tools::-webkit-scrollbar{display:none}
.diagram-tool{flex:0 0 auto;height:34px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:0 10px;font-size:10px;font-weight:750;color:#536177}
.diagram-tool.active{background:var(--primary);border-color:var(--primary);color:#fff}
.diagram-canvas-wrap{border:1px solid var(--line);border-radius:9px;background:#f5f7fa;overflow:hidden;margin-bottom:10px;touch-action:none}
.diagram-canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;background:#fff;touch-action:none}

@media(max-width:390px){
  .math-question{padding:13px}
  .math-mode-banner{padding:10px 11px}
  .diagram-section>.row{align-items:flex-start;flex-direction:column}
  .diagram-section>.row>.row{width:100%;overflow-x:auto;justify-content:flex-start}
  .math-answer-row{grid-template-columns:18px 20px minmax(0,1fr);gap:6px}
  math-field.question-math{font-size:21px}
  math-field.answer-math{font-size:17px}
}

/* Responsive desktop workspace v0.4.1 */
.desktop-nav-brand{display:none}
.creator-page{display:flex;flex-direction:column;gap:14px}
.creator-side,.creator-main{min-width:0}

@media (min-width:900px){
  :root{--content-pad:28px}
  html,body{background:#f3f6fa}
  body{display:block;padding:0}
  .app-shell{width:100%;max-width:none;min-height:100vh;height:auto;border:0;border-radius:0;box-shadow:none;overflow:visible;background:#f7f9fc}
  .app-view{min-height:100vh;height:auto;margin-left:220px;padding-bottom:0;overflow:visible;background:#f7f9fc}

  .topbar{min-height:72px;padding:12px 30px;background:rgba(255,255,255,.98)}
  .topbar-title{font-size:18px}
  .topbar-sub{font-size:11px}
  .page{width:100%;max-width:1120px;margin:0 auto;padding:26px 30px 52px}

  .bottom-nav{left:0;top:0;bottom:0;transform:none;width:220px;height:100vh;display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:22px 14px;background:#fff;border-top:0;border-right:1px solid var(--line);backdrop-filter:none}
  .desktop-nav-brand{display:flex;height:54px;align-items:center;padding:0 10px 14px;margin-bottom:8px;border-bottom:1px solid var(--line)}
  .desktop-nav-brand img{display:block;width:142px;max-height:34px;object-fit:contain;object-position:left center}
  .nav-item{width:100%;min-height:48px;display:flex;flex-direction:row;justify-content:flex-start;gap:12px;padding:0 14px;border-radius:8px;font-size:12px;text-align:left}
  .nav-item i{width:20px;font-size:15px;text-align:center}
  .nav-item span{display:block}
  .nav-item.active{background:var(--primary-soft);color:var(--primary)}
  .nav-item.active:before{display:none}
  .nav-item.create{width:100%;height:48px;min-height:48px;margin:4px 0;background:linear-gradient(135deg,#0b3ba7,#1269ff 58%,#10b9e8);border-radius:8px;justify-content:flex-start;padding:0 14px}
  .nav-item.create span{display:block}

  .auth-screen{min-height:100vh;padding:26px 24px}
  .auth-screen>*{max-width:420px}
  .auth-box{padding:20px}

  .card{padding:18px}
  .hero{padding:22px}
  .profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .teacher-summary{grid-template-columns:repeat(2,minmax(0,1fr))}

  .creator-page{max-width:1320px;display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-areas:"side main" "save main";gap:18px 22px;align-items:start;padding-bottom:54px}
  .creator-side{grid-area:side;position:sticky;top:92px}
  .creator-main{grid-area:main}
  .creator-savebar{grid-area:save;position:sticky;top:calc(92px + 360px);bottom:auto;display:grid;grid-template-columns:1fr 1fr;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none}
  .creator-settings{padding:17px}
  .creator-meta{grid-template-columns:minmax(0,1fr) 90px}
  .math-question{padding:20px}
  .math-prompt{min-height:74px}
  math-field.question-math{min-height:76px;font-size:26px}
  math-field.answer-math{min-height:52px;font-size:19px}
  .math-quickbar{flex-wrap:wrap;overflow:visible}
  .math-chip{height:33px}
  .diagram-preview img{max-height:460px}

  .chat-page{height:100vh;max-width:920px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);background:#f5f7fa}
  .chat-messages{padding:22px 24px 88px}
  .bubble{max-width:68%;font-size:13px}
  .chat-composer{padding-left:18px;padding-right:18px}

  .action-sheet{left:calc(50% + 110px);bottom:24px;width:min(640px,calc(100vw - 280px));border-radius:14px}
  .action-sheet.diagram-sheet{width:min(820px,calc(100vw - 280px));max-height:88vh}
  .diagram-canvas{max-height:560px}
  .toast{left:calc(50% + 110px);bottom:24px;width:min(520px,calc(100vw - 280px))}

  .story-row{padding-bottom:8px}
  .searchbar .input{height:50px}
  .tabs{max-width:560px}
}

@media (min-width:1280px){
  .app-view{margin-left:236px}
  .bottom-nav{width:236px;padding-left:18px;padding-right:18px}
  .page{max-width:1240px}
  .creator-page{max-width:1400px;grid-template-columns:340px minmax(0,1fr);gap:24px}
}

@media (min-width:900px) and (max-height:720px){
  .creator-side{position:static}
  .creator-savebar{position:static}
}

@media (min-width:900px){
  .app-shell:has(.bottom-nav.hidden) .app-view{margin-left:0}
}


/* Avatar + private admin workspace v0.4.2 */
.avatar{position:relative}
.avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.profile-avatar-center{display:flex;justify-content:center}
.avatar-editor{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;padding-bottom:4px}
.avatar-edit-preview{width:96px;height:96px;border-radius:16px;font-size:24px;background:var(--surface-3)}
.avatar-editor-actions{display:flex;flex-direction:column;gap:7px;min-width:0}
.avatar-editor-buttons{margin-top:4px;flex-wrap:wrap}
.admin-entry{background:#0d1b3e;border-color:#0d1b3e;color:#fff}
.admin-entry:hover{background:#132653;border-color:#132653}
.admin-nav-item{display:none}
.admin-page{max-width:1240px}
.admin-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.admin-title .title-lg{margin-top:10px}
.admin-title p{margin:6px 0 0}
.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.admin-stats .stat{background:#fff}
.admin-section-head{align-items:flex-end}
.admin-search{width:min(360px,48%)}
.admin-user-list{display:flex;flex-direction:column}
.admin-user-row,.admin-test-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.admin-user-row:last-child,.admin-test-row:last-child{border-bottom:0}
.admin-uid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:440px}

@media(max-width:899px){
  .avatar-editor{grid-template-columns:76px minmax(0,1fr);gap:14px}
  .avatar-edit-preview{width:76px;height:76px;border-radius:14px;font-size:20px}
  .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-title{align-items:flex-start;flex-direction:column}
  .admin-section-head{align-items:stretch;flex-direction:column}
  .admin-search{width:100%}
}

@media(min-width:900px){
  .admin-nav-item{display:flex}
  .admin-page{max-width:1280px}
  .admin-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
}


/* ONE official assistant + profile v0.4.3 */
.one-assistant-root{position:relative;z-index:90}
.one-mascot{width:54px;height:54px;flex:0 0 auto;filter:drop-shadow(0 7px 14px rgba(18,79,210,.16));animation:oneFloat 3.8s ease-in-out infinite;will-change:transform}
.one-mascot.sm{width:42px;height:42px}
.one-mascot.fab{width:44px;height:44px}
.one-mascot.xl{width:124px;height:124px}
.one-mascot svg{display:block;width:100%;height:100%;overflow:visible}
.one-shell{fill:#071a46}
.one-u{fill:none;stroke:#fff;stroke-width:7.5;stroke-linecap:round;stroke-linejoin:round}
.one-accent{fill:#176cff}
.one-face{fill:#061333;opacity:.98}
.one-eye{fill:#66eeff;filter:drop-shadow(0 0 3px rgba(102,238,255,.85));animation:oneBlink 5.2s ease-in-out infinite;transform-origin:center}
.one-eye-right{animation-delay:.05s}
.one-smile{fill:none;stroke:#73efff;stroke-width:1.7;stroke-linecap:round;opacity:.92}
.one-verified{color:#176cff;font-size:.9em}

.one-fab{position:fixed;right:18px;bottom:calc(86px + var(--safe-bottom));z-index:92;display:flex;align-items:center;gap:8px;height:56px;padding:6px 12px 6px 6px;border:1px solid #cddafd;border-radius:16px;background:#fff;color:#0b204e;font-weight:800;box-shadow:0 12px 30px rgba(15,43,103,.16)}
.one-fab:active{transform:translateY(1px)}
.one-fab span{font-size:12px;letter-spacing:.04em}
.one-panel{position:fixed;right:18px;bottom:calc(150px + var(--safe-bottom));z-index:91;width:min(360px,calc(100vw - 28px));max-height:min(610px,72vh);display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px rgba(8,31,78,.2);overflow:hidden}
.one-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px;border-bottom:1px solid var(--line)}
.one-profile-link{border:0;background:transparent;padding:0;display:flex;align-items:center;gap:9px;text-align:left;min-width:0}
.one-profile-link span{display:flex;flex-direction:column;min-width:0}
.one-profile-link strong{font-size:13px;white-space:nowrap}
.one-profile-link small{font-size:9.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.one-chat-log{min-height:126px;max-height:220px;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#f8faff}
.one-bubble{max-width:90%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;font-size:11.5px;line-height:1.55;overflow-wrap:anywhere}
.one-bubble.assistant{align-self:flex-start;background:#fff;color:var(--text)}
.one-bubble.user{align-self:flex-end;background:#0d48ca;border-color:#0d48ca;color:#fff}
.one-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border-top:1px solid var(--line)}
.one-quick{min-height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text-2);display:flex;align-items:center;gap:8px;padding:0 10px;text-align:left;font-size:10.5px;font-weight:700}
.one-quick i{width:16px;color:var(--primary);text-align:center}
.one-input-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--line);background:#fff}
.one-input-row .input{height:42px}
.one-ask-textarea{min-height:42px!important;max-height:108px!important;resize:none;line-height:1.4;padding-top:11px!important;padding-bottom:9px!important}
.one-bubble-content{min-width:0}
.one-bubble-content strong{font-weight:800}
.one-math{--caret-color:transparent;pointer-events:none;border:0;background:transparent;padding:0;margin:0;color:inherit;font-size:1.05em}
.one-math.inline{display:inline-block;vertical-align:-.1em;min-width:0}
.one-math.block{display:block;width:100%;margin:7px 0;padding:7px 8px;border:1px solid rgba(111,135,180,.18);border-radius:8px;background:rgba(245,248,253,.72);overflow-x:auto}
.one-bubble.user .one-math.block{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}
.one-bubble.thinking{display:flex;align-items:center;gap:5px;min-width:54px;width:max-content;padding:12px}
.one-bubble.thinking span{width:6px;height:6px;border-radius:50%;background:#718096;animation:oneThinking 1.1s infinite ease-in-out}
.one-bubble.thinking span:nth-child(2){animation-delay:.14s}
.one-bubble.thinking span:nth-child(3){animation-delay:.28s}
@keyframes oneThinking{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.one-send{width:40px;height:40px;border:0;border-radius:9px;background:var(--primary);color:#fff;display:grid;place-items:center}

.one-home-card{width:100%;border:1px solid #d9e4ff;background:#f8faff;border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:11px;text-align:left;color:var(--text)}
.one-home-card strong{display:block;font-size:12.5px}
.one-home-card small{display:block;margin-top:2px;color:var(--muted);font-size:10.5px}
.one-home-card>.fa-chevron-right{color:#8c9ab0;font-size:10px}

.one-profile-page{max-width:1000px}
.one-profile-hero{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center;padding:26px}
.one-profile-hero>.one-mascot{justify-self:center}
.one-name-line{display:flex;align-items:center;gap:8px}
.one-name-line h1{margin:0;font-size:30px;letter-spacing:-.05em}
.one-name-line .one-verified{font-size:17px}
.one-handle{margin-top:4px;color:var(--muted);font-size:11.5px}
.one-profile-copy p{max-width:660px;margin:12px 0 0;color:var(--text-2);font-size:13px;line-height:1.65}
.one-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.one-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.one-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.one-capability-grid .card{display:flex;flex-direction:column;gap:7px}
.one-capability-grid i{font-size:18px;color:var(--primary)}
.one-capability-grid strong{font-size:12.5px}
.one-capability-grid span{font-size:10.5px;color:var(--muted);line-height:1.5}

.admin-one-editor{border-color:#d8e3ff;background:#fbfcff}
.admin-one-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-one-wide{grid-column:1/-1}
.one-admin-toggle{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:#fff}
.one-admin-toggle input{margin-top:2px;accent-color:var(--primary)}
.one-admin-toggle span{display:flex;flex-direction:column;gap:2px}
.one-admin-toggle strong{font-size:11.5px}
.one-admin-toggle small{font-size:9.5px;color:var(--muted);line-height:1.45}

@keyframes oneFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes oneBlink{0%,46%,50%,100%{transform:scaleY(1);opacity:1}48%{transform:scaleY(.1);opacity:.8}}

@media(max-width:899px){
  .one-fab{right:12px;bottom:calc(78px + var(--safe-bottom));height:52px;border-radius:15px;padding:4px}
  .one-fab span{display:none}
  .one-mascot.fab{width:44px;height:44px}
  .one-panel{left:10px;right:10px;bottom:calc(138px + var(--safe-bottom));width:auto;max-height:64vh;border-radius:14px}
  .one-profile-hero{grid-template-columns:1fr;text-align:center;padding:20px}
  .one-name-line{justify-content:center}
  .one-profile-copy p{margin-left:auto;margin-right:auto}
  .one-profile-actions{justify-content:center}
  .one-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .one-capability-grid{grid-template-columns:1fr 1fr}
  .admin-one-grid{grid-template-columns:1fr}
  .admin-one-wide{grid-column:auto}
}

@media(min-width:900px){
  .one-fab{right:24px;bottom:24px}
  .one-panel{right:24px;bottom:92px}
}

@media(prefers-reduced-motion:reduce){
  .one-mascot,.one-eye{animation:none!important}
}

/* UstozOne official publisher profile v0.4.8 */
.official-verified{color:#176cff;font-size:.92em;vertical-align:baseline}
.official-avatar{background:#071a46;border-color:#d3def7;overflow:visible}
.official-avatar img{border-radius:inherit}
.official-avatar-check{position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#176cff;color:#fff;border:3px solid #fff;font-size:7px;box-sizing:border-box}
.official-avatar.xl{width:92px;height:92px;border-radius:20px}
.official-avatar.xl .official-avatar-check{width:24px;height:24px;font-size:9px;right:-4px;bottom:-4px}
.official-home-card{width:100%;border:1px solid #cfdcff;background:#fff;border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:11px;text-align:left;color:var(--text)}
.official-home-card strong{display:block;font-size:12.5px}
.official-home-card small{display:block;margin-top:2px;color:var(--muted);font-size:10.5px}
.official-home-card>.fa-chevron-right{color:#8c9ab0;font-size:10px}
.official-live-dot{font-size:9px;font-weight:800;color:#0d4ccb;background:#edf3ff;border:1px solid #d5e1ff;padding:4px 6px;border-radius:6px;white-space:nowrap}
.official-teacher-card{border-color:#cfdcff;background:#fbfdff}
.official-teacher-card h4{display:flex;align-items:center;gap:5px}

.official-profile-page{max-width:1040px}
.official-profile-hero{padding:0;overflow:hidden;border-color:#cfdcff}
.official-cover{height:116px;background:#071a46;display:flex;align-items:flex-end;padding:16px 20px;color:#9ab7ff;font-size:9px;font-weight:800;letter-spacing:.12em}
.official-profile-main{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:end;padding:0 22px;margin-top:-48px}
.official-profile-main>.official-avatar{align-self:start}
.official-profile-copy{padding-top:54px;min-width:0}
.official-title-row{display:flex;align-items:center;gap:8px}
.official-title-row h1{font-size:28px;line-height:1;margin:0;letter-spacing:-.045em}
.official-title-row .official-verified{font-size:18px}
.official-handle{font-size:11px;color:var(--muted);margin-top:5px}
.official-profile-copy p{margin:11px 0 0;max-width:720px;color:var(--text-2);font-size:12px;line-height:1.65}
.official-actions{display:flex;gap:8px;padding:18px 22px 0;flex-wrap:wrap}
.official-actions .btn{min-width:140px}
.official-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:18px;border-top:1px solid var(--line)}
.official-stats .stat{border:0;border-right:1px solid var(--line);border-radius:0;background:#fff;padding:13px 8px}
.official-stats .stat:last-child{border-right:0}
.official-stats .stat strong i{color:#176cff}
.official-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:4px}
.eyebrow{display:block;color:#176cff;font-size:8.5px;font-weight:800;letter-spacing:.12em;margin-bottom:5px}
.official-feed{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}
.official-post{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:#fff}
.official-post:last-child{border-bottom:0}
.official-post.pinned{background:#fbfdff}
.official-post-icon{width:42px;height:42px;border-radius:9px;background:#eef3ff;color:#145cff;display:grid;place-items:center;font-size:15px}
.official-post-meta{display:flex;align-items:center;gap:9px;color:#7a8798;font-size:8.5px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.official-post h3{margin:5px 0 0;font-size:13px;line-height:1.35}
.official-post p{margin:6px 0 0;font-size:11px;color:var(--text-2);line-height:1.6;white-space:pre-line}
.official-post-link{margin-top:8px;font-size:10px}
.official-post-delete{align-self:start}
.official-composer{border-color:#cad9ff;background:#fbfdff}
.composer-mark{font-size:20px;color:#176cff}
.official-composer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.official-composer-wide{grid-column:1/-1}
.official-publish-row{gap:12px;align-items:center}
.official-pin-toggle{display:flex;align-items:center;gap:9px;cursor:pointer}
.official-pin-toggle input{accent-color:var(--primary)}
.official-pin-toggle span{display:flex;flex-direction:column;gap:1px}
.official-pin-toggle strong{font-size:10.5px}
.official-pin-toggle small{font-size:8.5px;color:var(--muted)}
.admin-official-card{border-color:#cad9ff;background:#fbfdff}
.admin-official-card>.row{gap:12px}
.admin-official-card .title-md{margin:0}
.admin-official-logo{display:flex}
.official-account-card>.row{gap:10px;flex-wrap:wrap}
.official-account-card>.row>i{color:#0d1b3e}

@media(max-width:899px){
  .official-profile-main{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:0 16px;margin-top:-38px}
  .official-avatar.xl{width:76px;height:76px;border-radius:17px}
  .official-profile-copy{padding-top:42px}
  .official-title-row h1{font-size:23px}
  .official-profile-copy p{font-size:11px}
  .official-actions{padding:15px 16px 0}
  .official-actions .btn{min-width:0}
  .official-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .official-stats .stat:nth-child(2){border-right:0}
  .official-stats .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .official-post{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:13px}
  .official-post-icon{width:36px;height:36px;font-size:13px}
  .official-composer-grid{grid-template-columns:1fr}
  .official-composer-wide{grid-column:auto}
  .official-publish-row{align-items:stretch;flex-direction:column}
  .official-publish-row .btn{width:100%}
  .admin-official-card>.row{align-items:flex-start;flex-wrap:wrap}
  .admin-official-card .btn{width:100%}
  .official-account-card .btn{flex:1}
}

/* v0.4.8 — strict separation: public official profile vs private admin panel */
.admin-official-manager{overflow:hidden}
.admin-official-manager .official-feed{margin-top:2px}
.admin-official-feed-head{padding-top:14px;border-top:1px solid var(--border,#e7e9ef)}
.admin-account-card .row{align-items:center;flex-wrap:wrap}
.admin-account-icon{width:42px;height:42px;border:1px solid var(--border,#e7e9ef);border-radius:10px;display:grid;place-items:center;flex:0 0 auto}
@media (max-width:640px){
  .admin-official-manager .official-publish-row{align-items:stretch;gap:10px}
  .admin-official-manager .official-publish-row .btn{width:100%}
  .admin-account-card .row{align-items:flex-start}
  .admin-account-card .btn{flex:1 1 140px}
}

/* v0.5.2 — AI document import + open/closed math tests */
.ai-import-card{border:1px solid #cbd8f7;background:#fff;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}
.ai-import-head{display:flex;align-items:flex-start;gap:10px}
.ai-import-head strong{display:block;font-size:13px}
.ai-import-head span{display:block;font-size:10px;line-height:1.45;color:var(--muted);margin-top:3px}
.ai-import-icon{width:38px;height:38px;border:1px solid #cbd8f7;border-radius:9px;display:grid;place-items:center;color:#145cff;background:#f8faff;flex:0 0 auto}
.ai-sol-badge{font-size:8px!important;line-height:1!important;font-weight:800!important;color:#fff!important;background:#071a46!important;border-radius:5px;padding:5px 6px;margin:0!important;letter-spacing:.08em}
.ai-file-drop{border:1px dashed #aebfe9;background:#f8faff;border-radius:10px;min-height:90px;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer}
.ai-file-drop input{display:none}
.ai-file-drop>i{font-size:20px;color:#145cff;margin-bottom:7px}
.ai-file-drop>span{font-size:11px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-file-drop>small{font-size:9px;color:var(--muted);margin-top:4px}
.ai-import-options{display:grid;grid-template-columns:1fr 110px;gap:8px}
.ai-primary{background:#071a46;color:#fff;border-color:#071a46}
.ai-primary:hover{background:#0d2b6f}
.ai-cost-note{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:9px;line-height:1.45}
.ai-cost-note i{color:#145cff;margin-top:2px}
.ai-warnings{border-top:1px solid var(--line);padding-top:10px}
.ai-warnings summary{font-size:10px;font-weight:750;color:#7a4f00;cursor:pointer}
.ai-warnings p{font-size:9px;line-height:1.45;color:var(--muted);margin:7px 0 0}
.question-action-right{display:flex;align-items:center;gap:8px}
.question-type-switch{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#f6f8fb}
.qtype-btn{border:0;border-right:1px solid var(--line);background:transparent;padding:6px 9px;font:inherit;font-size:9px;font-weight:750;color:var(--muted);cursor:pointer}
.qtype-btn:last-child{border-right:0}
.qtype-btn.active{background:#071a46;color:#fff}
.open-answer-editor{border-top:1px solid var(--line);padding-top:14px}
.open-answer-more{margin-top:9px}
.open-answer-more summary{font-size:9px;color:var(--muted);cursor:pointer}
.open-answer-more .textarea{margin-top:8px;min-height:76px}
.manual-review-note{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:9px 10px;border:1px solid #d7e2fb;border-radius:8px;background:#f8faff;font-size:9px;line-height:1.45;color:var(--text-2)}
.manual-review-note i{color:#145cff;margin-top:1px}
.open-badge{background:#f3f6ff!important;border-color:#cbd8f7!important;color:#17458e!important}
.ai-variant-badge{background:#f8faff!important;border-color:#cbd8f7!important;color:#17458e!important}
.ai-variant-btn{color:#145cff}
.variant-origin{display:flex;gap:8px;align-items:flex-start;border-top:1px solid var(--line);padding-top:10px;font-size:9px;color:var(--muted)}
.variant-origin i{color:#145cff}
.pending-review-card{text-align:center;padding-top:28px;padding-bottom:24px}
.pending-review-icon{width:58px;height:58px;border:1px solid #cbd8f7;border-radius:14px;display:grid;place-items:center;margin:0 auto 12px;background:#f8faff;color:#145cff;font-size:20px}
.test-card-actions{flex-wrap:wrap}

@media(max-width:640px){
  .ai-import-options{grid-template-columns:1fr}
  .question-actions{align-items:flex-start}
  .question-action-right{flex-direction:column;align-items:flex-end}
  .qtype-btn{padding:6px 8px}
}


/* v0.5.2 — per-test AI cost tracking + admin cost dashboard */
.ai-live-cost{border:1px solid #cbd8f7;background:#f8faff;border-radius:9px;padding:10px 11px}
.ai-live-cost>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ai-live-cost span{font-size:9px;color:var(--muted);font-weight:700}
.ai-live-cost strong{font-size:13px;color:#071a46}
.ai-live-cost small{display:block;margin-top:4px;font-size:8px;color:var(--muted)}
.ai-cost-badge{background:#f8faff!important;border-color:#cbd8f7!important;color:#17458e!important}
.admin-ai-cost-card{overflow:hidden}
.admin-ai-cost-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ai-cost-stat{border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff;min-width:0}
.ai-cost-stat>i{color:#145cff;font-size:12px;margin-bottom:8px}
.ai-cost-stat>span,.ai-cost-stat>small{display:block;color:var(--muted);font-size:9px}
.ai-cost-stat>strong{display:block;font-size:16px;margin:3px 0;color:#071a46;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-ai-operation-split{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.admin-ai-operation-split>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f9fafc}
.admin-ai-operation-split span{font-size:9px;color:var(--muted)}
.admin-ai-operation-split strong{font-size:11px;color:var(--text)}
.admin-ai-expensive-head{padding-top:2px}
.admin-ai-test-list{display:flex;flex-direction:column}
.admin-ai-test-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.admin-ai-test-row:last-child{border-bottom:0}
.admin-ai-test-row strong{font-size:11px}
.admin-ai-test-money{text-align:right;flex:0 0 auto}
.admin-ai-test-money strong{display:block;color:#071a46;font-size:11px}
.admin-ai-test-money small{display:block;color:var(--muted);font-size:8px;margin-top:2px}
.admin-test-ai-cost{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;margin-left:auto}
.admin-test-ai-cost strong{font-size:10px;color:#071a46;white-space:nowrap}
.admin-test-ai-cost small{font-size:8px;color:var(--muted);margin-top:2px}
@media(max-width:699px){
  .admin-ai-cost-stats{grid-template-columns:1fr}
  .admin-ai-operation-split{grid-template-columns:1fr}
  .admin-ai-test-row{align-items:flex-start}
  .admin-test-row{flex-wrap:wrap}
  .admin-test-ai-cost{order:4;width:100%;align-items:flex-start;margin-left:54px}
}

/* v0.5.4 — document-import editor helpers retained; legacy player CSS removed in v0.5.6; server-centric data layer in v0.5.7; compact two-ENV admin credential in v0.5.8; hard cache migration in v0.5.9; minimal Firebase public ENV in v0.5.10 */
.source-visual-card{margin:10px 0 14px;padding:11px;border:1px solid #dbe3ee;border-radius:8px;background:#f9fbfd}
.source-visual-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.source-visual-head strong{font-size:10.5px;color:#1b315a}
.source-visual-head strong i{margin-right:5px;color:#145cff}
.source-visual-head span{font-size:9px;color:var(--muted)}
.source-visual-card .question-table-wrap{margin:0}
.open-answer-text{min-height:105px;margin-top:8px;font-family:inherit;font-size:13px;line-height:1.55}

/* v0.5.6 — rebuilt exam runner: clean mobile sheet, native table fit, UstozOne design */
.test-player{
  --exam-navy:#002050;
  --exam-orange:#f86000;
  --exam-line:#dbe3ee;
  --exam-muted:#6e7f97;
  background:#f3f6fa;
  color:var(--exam-navy);
  padding-bottom:14px;
}
.exam-header{
  position:sticky;
  top:0;
  z-index:40;
  background:#fff;
  border-bottom:1px solid var(--exam-line);
}
.exam-header-row{
  min-height:58px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:8px 14px 7px;
}
.exam-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:var(--exam-navy);
  display:grid;
  place-items:center;
  cursor:pointer;
}
.exam-close:active{background:#f1f4f8}
.exam-title-wrap{min-width:0;display:flex;flex-direction:column;gap:2px}
.exam-title{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  line-height:1.2;
  letter-spacing:-.015em;
  color:var(--exam-navy);
}
.exam-subtitle{font-size:9px;line-height:1.2;color:var(--exam-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exam-timer{
  min-width:47px;
  height:28px;
  padding:0 7px;
  display:grid;
  place-items:center;
  border:1px solid #f1c7ad;
  border-radius:5px;
  background:#fff8f3;
  color:#d34800;
  font-size:10.5px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.exam-progress-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:0 16px 9px;
  color:#728198;
  font-size:8.5px;
  font-weight:750;
}
.exam-progress-track{height:3px;background:#e7edf5;overflow:hidden}
.exam-progress-track i{display:block;height:100%;background:var(--exam-orange)}
.exam-main{padding:12px 10px 18px}
.exam-question{
  max-width:760px;
  margin:0 auto;
  padding:18px 15px 20px;
  background:#fff;
  border:1px solid var(--exam-line);
  border-radius:8px;
}
.exam-question-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.exam-question-label{
  color:var(--exam-orange);
  font-size:9px;
  line-height:1;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.exam-points{color:#73839a;font-size:9px;font-weight:750}
.exam-question-text{
  white-space:pre-line;
  color:#071d42;
  font-size:16px;
  line-height:1.52;
  font-weight:700;
  letter-spacing:-.016em;
}
.exam-question-math{
  display:block;
  width:100%;
  margin:13px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#081e45;
  text-align:left;
  font-size:21px;
}
.question-table-wrap{margin:16px 0 0}
.question-table-wrap figcaption{margin:0 0 6px;font-size:9px;font-weight:750;color:var(--exam-muted)}
.question-table-scroll{
  width:100%;
  overflow-x:auto;
  border:1px solid #d9e2ee;
  border-radius:5px;
  background:#fff;
  scrollbar-width:thin;
}
.question-table{border-collapse:collapse;width:max-content;min-width:100%;font-variant-numeric:tabular-nums}
.question-table td{
  min-width:42px;
  padding:8px 7px;
  border-right:1px solid #e5eaf1;
  border-bottom:1px solid #e5eaf1;
  color:#0a2149;
  text-align:center;
  white-space:nowrap;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14px;
  line-height:1.15;
  font-weight:600;
}
.question-table tr:last-child td{border-bottom:0}
.question-table td:last-child{border-right:0}
.question-table-scroll.fit-mobile{overflow-x:hidden}
.question-table-scroll.fit-mobile .question-table{width:100%;min-width:0;table-layout:fixed}
.question-table-scroll.fit-mobile .question-table td{min-width:0;padding:7px 1px;font-size:13px}
.exam-diagram{margin:16px 0 0}
.exam-diagram img{display:block;width:100%;max-height:360px;object-fit:contain;border:1px solid #dce4ee;background:#fff}
.exam-answer{
  margin-top:20px;
  padding-top:15px;
  border-top:1px solid #e2e8f0;
}
.exam-answer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.exam-answer-head strong{font-size:11px;color:var(--exam-navy)}
.exam-answer-head span{font-size:8.5px;color:var(--exam-muted);font-weight:650}
.exam-answer-text{
  width:100%;
  min-height:108px;
  max-height:260px;
  resize:vertical;
  padding:11px 12px;
  border:1px solid #cfd9e7;
  border-radius:6px;
  outline:none;
  background:#fff;
  color:#0a2149;
  font:500 13px/1.55 'Space Grotesk',sans-serif;
}
.exam-answer-text:focus{border-color:#6e8fc2;box-shadow:0 0 0 2px rgba(0,32,80,.05)}
math-field.exam-answer-math{
  display:block;
  width:100%;
  min-height:52px;
  padding:8px 10px;
  border:1px solid #cfd9e7;
  border-radius:6px;
  background:#fff;
  font-size:18px;
}
.exam-answer-note{display:flex;align-items:center;gap:6px;margin-top:6px;color:#8290a4;font-size:8.5px;line-height:1.35}
.exam-answer-note i{font-size:9px;color:#6f819b}
.exam-options{display:grid;gap:8px;margin-top:18px}
.exam-option{
  width:100%;
  min-height:50px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 20px;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border:1px solid #d7e0ec;
  border-radius:6px;
  background:#fff;
  color:#0b244d;
  text-align:left;
  cursor:pointer;
}
.exam-option-letter{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid #d5deea;
  border-radius:4px;
  color:#50627c;
  font-size:10px;
  font-weight:850;
}
.exam-option-content{font-size:13px;line-height:1.4;font-weight:600}
.exam-option-check{opacity:0;color:#fff;font-size:9px}
.exam-option.selected{border-color:var(--exam-navy);background:#f5f8fc}
.exam-option.selected .exam-option-letter{background:var(--exam-navy);border-color:var(--exam-navy);color:#fff}
.exam-option.selected .exam-option-check{opacity:1;color:var(--exam-navy)}
.exam-option-math{display:block;font-size:18px}
.exam-dock{
  position:sticky;
  left:auto;
  right:auto;
  bottom:0;
  z-index:45;
  width:100%;
  background:#fff;
  border-top:1px solid var(--exam-line);
  padding:7px 10px calc(8px + var(--safe-bottom));
}
.exam-dock-top{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.exam-question-strip{
  min-width:0;
  flex:1;
  display:flex;
  gap:5px;
  overflow-x:auto;
  scrollbar-width:none;
}
.exam-question-strip::-webkit-scrollbar{display:none}
.exam-qnum{
  flex:0 0 28px;
  width:28px;
  height:28px;
  padding:0;
  border:1px solid #d6dfeb;
  border-radius:5px;
  background:#fff;
  color:#62728a;
  font-size:9.5px;
  font-weight:800;
  cursor:pointer;
}
.exam-qnum.active{background:var(--exam-navy);border-color:var(--exam-navy);color:#fff}
.exam-qnum.answered:not(.active){border-color:#c9e4d6;background:#f3faf6;color:#18744a}
.exam-answered{flex:0 0 auto;color:#8492a6;font-size:8.5px;font-weight:750}
.exam-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.exam-prev,.exam-next{
  min-width:0;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #ccd7e5;
  border-radius:6px;
  background:#fff;
  color:var(--exam-navy);
  font-family:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.exam-prev:disabled{opacity:.35;cursor:default}
.exam-next{
  border-color:var(--exam-navy);
  background:var(--exam-navy);
  color:#fff;
}
.exam-next.finish{background:var(--exam-orange);border-color:var(--exam-orange)}

@media(max-width:360px){
  .exam-main{padding-left:7px;padding-right:7px}
  .exam-question{padding-left:12px;padding-right:12px}
  .exam-question-text{font-size:15.5px}
  .question-table-scroll.fit-mobile .question-table td{font-size:12px}
}

@media(min-width:700px){
  .test-player{padding-bottom:18px}
  .exam-header{max-width:760px;margin:18px auto 0;border:1px solid var(--exam-line);border-radius:8px}
  .exam-main{padding:12px 0 8px}
  .exam-question{padding:24px 26px 28px}
  .exam-question-text{font-size:18px}
  .question-table-scroll.fit-mobile{width:fit-content;max-width:100%;margin-right:auto}
  .question-table-scroll.fit-mobile .question-table{width:auto;min-width:520px;table-layout:auto}
  .question-table-scroll.fit-mobile .question-table td{min-width:50px;padding:8px 10px;font-size:14px}
  .exam-dock{position:static;width:760px;margin:0 auto 18px;border:1px solid var(--exam-line);border-radius:8px;padding:8px 10px;transform:none}
}

@media(min-width:900px){
  .test-player{width:min(920px,calc(100vw - 260px));margin:0 auto}
  .exam-header{max-width:none;margin-top:20px}
  .exam-question{max-width:none}
  .exam-dock{width:100%;max-width:none}
}


/* v0.6.4 — Zero Mathematical Corruption / Fidelity Mode */
.fidelity-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:750;padding:4px 7px;border:1px solid #cfd9e6;border-radius:4px;background:#fff;color:#50627c;white-space:nowrap}
.fidelity-badge.verified{border-color:#b9dfcb;background:#f4fbf7;color:#146c43}
.fidelity-badge.blocked{border-color:#f0c0c4;background:#fff6f6;color:#a82c3c}
.fidelity-badge.manual{border-color:#d6c9a5;background:#fffaf0;color:#805c12}
.fidelity-source-card{border:1px solid #d8e2ee;background:#fbfcfe;padding:14px;border-radius:6px}
.fidelity-source-card.blocked{border-color:#efbdc4;background:#fffafa}
.fidelity-source-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e4eaf2;margin-bottom:10px}
.fidelity-source-head>div{display:grid;gap:2px}.fidelity-source-head strong{font-size:12px;color:#002050}.fidelity-source-head strong i{margin-right:6px}.fidelity-source-head span{font-size:9px;color:#7b899c}
.fidelity-hash{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:8px!important;color:#8a96a7!important;word-break:break-all;text-align:right}
.source-fidelity-content{color:#071b3d;font-size:15px;line-height:1.65;white-space:normal}
.source-fidelity-content .source-part-text{white-space:pre-wrap}
.source-part-math.inline{display:inline-flex;vertical-align:middle;margin:0 3px}
.source-part-math.block{display:block;margin:12px 0;text-align:center;overflow-x:auto}
math-field.source-math-inline{display:inline-block;border:0;background:transparent;padding:0;font-size:1.08em;pointer-events:none}
math-field.source-math-block{display:inline-block;border:0;background:transparent;padding:2px 4px;font-size:1.28em;pointer-events:none;max-width:100%}
.fidelity-issues{display:grid;gap:6px;margin-top:12px;padding:10px;border:1px solid #f0c3c8;background:#fff4f5;color:#9d2636;font-size:10px;line-height:1.45}.fidelity-issues div{display:flex;gap:7px}.fidelity-issues i{margin-top:2px}
.fidelity-source-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #e4eaf2;font-size:9px;color:#64748a}.fidelity-source-foot>span{display:flex;align-items:center;gap:6px}
.fidelity-manual-check{display:flex;align-items:flex-start;gap:7px;color:#8d2634;font-weight:650;cursor:pointer;max-width:420px}.fidelity-manual-check input{margin-top:1px}
.sale-review-confirm{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d5deeb;background:#f8fafc;border-radius:6px;cursor:pointer}.sale-review-confirm input{margin-top:3px;accent-color:#002050}.sale-review-confirm span{display:grid;gap:3px}.sale-review-confirm strong{font-size:11px;color:#002050}.sale-review-confirm small{font-size:9px;line-height:1.45;color:#738197}
.creator-source-preview{font-size:14px;line-height:1.65}.creator-source-preview .question-table-wrap{margin:12px 0}
.exam-source-content{font-size:17px;line-height:1.7;font-weight:600;color:#061b3e}.exam-source-content .source-part-math.block{margin:14px 0}.exam-source-content math-field.source-math-inline{font-size:1.08em}.exam-source-content math-field.source-math-block{font-size:1.35em}
@media(max-width:600px){.fidelity-source-head{display:grid}.fidelity-hash{text-align:left}.fidelity-source-foot{display:grid}.exam-source-content{font-size:15.5px;line-height:1.65}.source-part-math.block{text-align:left}.exam-source-content math-field.source-math-block{font-size:1.2em}.question-action-right{flex-wrap:wrap;justify-content:flex-end}}
.work-type-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;margin:8px 0 10px;border:1px solid #dbe3ee;background:#f8fafc;border-radius:5px}.work-type-picker span{font-size:9px;font-weight:750;color:#66758a}.work-type-picker select{height:32px;border:1px solid #cfd9e7;border-radius:4px;background:#fff;color:#0b244d;font:650 10px 'Space Grotesk',sans-serif;padding:0 8px}
.student-drawing-wrap{display:grid;gap:8px}.student-drawing-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-drawing-head span{font-size:10px;font-weight:750;color:#002050}.student-drawing-head button{border:1px solid #d5deea;background:#fff;color:#5e6d82;border-radius:4px;padding:6px 8px;font:650 9px 'Space Grotesk',sans-serif;cursor:pointer}.student-drawing-pad{display:block;width:100%;aspect-ratio:5/3;max-height:420px;border:1px solid #cfd9e7;background:#fff;touch-action:none;cursor:crosshair}.student-grid line{stroke:#edf1f6;stroke-width:1}.student-axis{stroke:#8da0b7;stroke-width:1.5}.student-axis-arrow{fill:#8da0b7}.student-drawing-pad #studentStrokes path{fill:none;stroke:#002050;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.student-drawing-note{font-size:8.5px;color:#7f8da0;line-height:1.4}.mixed-drawing-text{margin-top:4px}
.sale-quality-gate{border:1px solid #d5dfeb;background:#fff;padding:12px;border-radius:6px}.sale-quality-title{display:flex;align-items:center;gap:7px;color:#002050;font-size:11px}.sale-quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0 8px}.sale-quality-grid span{display:grid;place-items:center;gap:1px;padding:7px 4px;border:1px solid #dfe6ef;background:#f8fafc;color:#66758a;font-size:8px;text-align:center}.sale-quality-grid b{font-size:14px;color:#17315a}.sale-quality-grid span.bad{border-color:#efc1c6;background:#fff6f6;color:#9f2b3a}.sale-quality-grid span.bad b{color:#a72f3e}.sale-quality-grid span.warn{border-color:#ead8a8;background:#fffaf0;color:#7c641f}.sale-quality-gate small{display:block;color:#7a889b;font-size:8.5px;line-height:1.45}

/* v0.6.4 — anchored source visual layout + strict question boundaries */
.source-fidelity-layout{display:block}
.source-fidelity-copy{min-width:0}
.source-fidelity-visuals{min-width:0}
.exam-source-content.has-source-visual .source-fidelity-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(220px,.65fr);
  align-items:start;
  gap:24px;
}
.exam-source-content.has-source-visual .source-fidelity-visuals{
  display:grid;
  gap:10px;
  align-self:start;
}
.exam-source-content.has-source-visual .source-original-asset{margin:0}
.exam-source-content.has-source-visual .source-original-asset img{width:100%;max-height:330px}
@media(max-width:699px){
  .exam-source-content.has-source-visual .source-fidelity-layout{grid-template-columns:1fr;gap:14px}
  .exam-source-content.has-source-visual .source-fidelity-visuals{order:2}
  .exam-source-content.has-source-visual .source-original-asset img{width:auto;max-width:100%;max-height:300px}
}

/* v0.6.4 — Hybrid Fidelity / Smart Crop */
.source-original-asset{
  margin:14px 0;
  padding:10px;
  border:1px solid #d8e1ee;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.source-original-asset img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:520px;
  margin:0 auto;
  object-fit:contain;
  image-rendering:auto;
}
.source-original-asset figcaption{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-top:7px;
  color:#66758d;
  font-size:11px;
  font-weight:600;
}
.exam-source-content .source-original-asset{
  margin:10px 0 14px;
  padding:6px;
  border-color:#e1e7f0;
  background:#fff;
}
.exam-source-content .source-original-asset figcaption{display:none}
@media(max-width:640px){
  .source-original-asset{margin:10px 0;padding:6px;border-radius:6px}
  .source-original-asset img{max-height:360px}
}

/* v0.6.8 — Hybrid open-answer grading + exam resume */
.exam-part-grid{display:grid;gap:10px}
.exam-part-answer{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px}
.exam-part-answer>span{display:grid;gap:2px;color:#002050}.exam-part-answer>span strong{font-size:14px}.exam-part-answer>span small{font-size:9px;color:#7a8798;font-weight:600}
.exam-part-math,.exam-part-text{width:100%;min-height:54px;border:1px solid #ccd8e8;border-radius:6px;background:#fff;padding:10px 12px;font-size:18px;color:#061b3e}
.exam-part-text{font:500 14px/1.5 'Space Grotesk',sans-serif;resize:vertical}
.hybrid-result-card{text-align:center}.hybrid-result-icon{width:46px;height:46px;margin:0 auto 8px;display:grid;place-items:center;border:1px solid #d7e0ec;border-radius:50%;color:#002050;background:#f8fafc;font-size:18px}.hybrid-score{display:grid;gap:2px;margin:14px 0}.hybrid-score strong{font-size:30px;color:#002050}.hybrid-score span{font-size:10px;color:#738197}
.grading-detail-list{display:grid;gap:0;margin-top:12px}.grading-detail-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #e5ebf2}.grading-detail-row:first-child{border-top:0}.grading-qnum{width:28px;height:28px;display:grid;place-items:center;border:1px solid #d5deea;border-radius:5px;font-size:10px;font-weight:750;color:#002050}.grading-detail-row strong{font-size:11px;color:#10264d}.grading-detail-row small{display:block;margin-top:2px;font-size:9px;color:#7b899c}.grading-detail-row.correct>i{color:#1d8c55}.grading-detail-row.incorrect>i{color:#c43d4e}.grading-detail-row.review>i{color:#a77908}.grading-detail-row.partial>i,.grading-detail-row.teacher>i{color:#1769ff}.grading-parts{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.grading-part{padding:3px 6px;border:1px solid #dce4ef;border-radius:4px;font-size:8.5px;color:#607088}.grading-part.correct{border-color:#b9dec9;color:#25734a;background:#f4fbf7}.grading-part.review{border-color:#ead8a8;color:#856a17;background:#fffaf0}
.result-list-card.review-clickable{cursor:pointer}.result-list-card.review-clickable:hover{border-color:#9fb7dc}
.review-page{max-width:980px;margin:0 auto}.review-summary .row{align-items:flex-start}.review-score{display:grid;text-align:right}.review-score strong{font-size:22px;color:#002050}.review-score span{font-size:9px;color:#76849a}.review-item{display:grid;gap:14px}.review-question{padding:12px 0;border-top:1px solid #e5ebf2;border-bottom:1px solid #e5ebf2;color:#081f45;font-size:14px;line-height:1.65}.review-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-compare>div>span{display:block;margin-bottom:5px;font-size:9px;font-weight:750;color:#738197}.review-answer{min-height:64px;padding:10px;border:1px solid #dbe3ee;border-radius:6px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.review-answer.student{background:#fff}.review-answer.key{background:#f7fbf8;border-color:#cfe5d7}.review-part-line{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:4px 0}.review-part-line strong{color:#002050}.review-points{display:grid;grid-template-columns:auto 110px auto;align-items:center;gap:8px;justify-content:end}.review-points span,.review-points small{font-size:10px;color:#637188}.review-points-input{height:38px;text-align:center}
@media(max-width:640px){.exam-part-answer{grid-template-columns:42px minmax(0,1fr)}.exam-part-math,.exam-part-text{min-height:50px;font-size:16px}.review-compare{grid-template-columns:1fr}.review-summary .row{display:grid;gap:12px}.review-score{text-align:left}.review-points{grid-template-columns:auto 92px auto}}
.review-drawing-static{display:grid;gap:8px}.review-drawing-static svg{width:100%;max-height:280px;aspect-ratio:5/3;border:1px solid #dbe3ee;background:#fff}.review-strokes path{fill:none;stroke:#002050;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.review-drawing-text{padding:8px;border:1px solid #e2e8f0;background:#fff;font-size:12px;white-space:pre-wrap}
.grading-policy-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;margin:-4px 0 10px;border:1px solid #dbe3ee;background:#fff;border-radius:5px}.grading-policy-picker span{font-size:9px;font-weight:750;color:#66758a}.grading-policy-picker select{height:32px;max-width:280px;border:1px solid #cfd9e7;border-radius:4px;background:#fff;color:#0b244d;font:650 10px 'Space Grotesk',sans-serif;padding:0 8px}@media(max-width:640px){.grading-policy-picker{grid-template-columns:1fr}.grading-policy-picker select{max-width:none;width:100%}}
math-field.review-answer-math{border:0;background:transparent;padding:0;font-size:18px;pointer-events:none;max-width:100%}

/* v0.7.1 — Bigger boot screen */
.wallet-home-card{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1px solid #d7e0ec;border-radius:6px;background:#fff;color:#002050;text-align:left;cursor:pointer}.wallet-home-card:hover{border-color:#aebed4}.wallet-home-icon,.wallet-big-icon,.wallet-tx-icon,.purchase-sheet-icon{display:grid;place-items:center;flex:0 0 auto;background:#f4f7fb;border:1px solid #d8e1ec;color:#002050}.wallet-home-icon{width:38px;height:38px;border-radius:5px}.wallet-home-card small{display:block;font-size:9px;color:#758399}.wallet-home-card strong{display:block;margin-top:1px;font-size:18px}.wallet-home-card em{display:block;margin-top:2px;font-style:normal;font-size:9px;color:#7d899b}.wallet-page{max-width:980px;margin:0 auto}.wallet-balance-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid #cfd9e6;border-radius:7px;background:#002050;color:#fff}.wallet-balance-card span{font-size:10px;opacity:.75}.wallet-balance-card strong{display:block;margin:5px 0 2px;font-size:32px;letter-spacing:-.02em}.wallet-balance-card small{font-size:9px;opacity:.72}.wallet-big-icon{width:52px;height:52px;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:6px;font-size:20px}.wallet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wallet-note{display:flex;gap:10px;padding:12px;border:1px solid #dce4ef;border-radius:6px;background:#fff}.wallet-note>i{margin-top:2px;color:#002050}.wallet-note div{display:grid;gap:2px}.wallet-note strong{font-size:10px;color:#10284e}.wallet-note span{font-size:9px;line-height:1.5;color:#728096}.seller-wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.wallet-stat-value{display:block;margin:5px 0;font-size:22px;color:#002050}.wallet-tx-row,.wallet-purchase-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #e6ebf2}.wallet-tx-row:first-child,.wallet-purchase-row:first-child{border-top:0}.wallet-tx-icon,.purchase-sheet-icon{width:34px;height:34px;border-radius:5px}.wallet-tx-row strong,.wallet-purchase-row strong{font-size:10.5px;color:#10264d}.wallet-tx-row small,.wallet-purchase-row small{display:block;margin-top:2px;font-size:8.5px;color:#7b889a}.wallet-tx-row>b{font-size:11px}.money-in{color:#16784a!important}.money-out{color:#b73746!important}.paid-test-badge{border-color:#f0c7a8!important;background:#fff8f2!important;color:#a54b12!important}.free-test-badge{border-color:#cfe3d7!important;background:#f6fbf8!important;color:#23734b!important}.test-sale-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid #dce4ee;border-radius:6px;background:#fafbfd}.sale-fee-preview{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding-top:8px;border-top:1px solid #e4eaf2}.sale-fee-preview span{font-size:9px;color:#6f7d91}.sale-fee-preview strong{font-size:11px;color:#002050}.sale-fee-preview small{grid-column:1/-1;font-size:8.5px;color:#8490a0}.sale-fee-preview.free strong{color:#23734b}.purchase-sheet-test{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dce4ef;border-radius:6px;background:#fff}.purchase-sheet-test strong{display:block;color:#10264d}.purchase-sheet-test small{display:block;margin-top:2px;color:#7c899b;font-size:9px}.purchase-price-row{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-bottom:1px solid #e6ebf2}.purchase-price-row span{font-size:10px;color:#6f7d90}.purchase-price-row strong{font-size:16px;color:#002050}.purchase-safe-note{display:flex;gap:8px;padding:10px;border:1px solid #cfe2d7;background:#f7fbf8;color:#276b49;border-radius:5px;font-size:9px;line-height:1.45}.purchase-safe-note.warn{border-color:#ecd5b2;background:#fffaf3;color:#805c1c}.topup-provider-placeholder{display:grid;justify-items:center;text-align:center;gap:8px;padding:24px 14px;border:1px dashed #cfd9e7;background:#fafbfd}.topup-provider-placeholder i{font-size:24px;color:#002050}.topup-provider-placeholder strong{color:#10264d}.topup-provider-placeholder span{max-width:460px;font-size:9px;line-height:1.55;color:#7a8798}.admin-user-money{display:grid;text-align:right;min-width:95px}.admin-user-money strong{font-size:10px;color:#002050}.admin-user-money small{font-size:8px;color:#8390a1}.admin-finance-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.admin-finance-stats>div{padding:10px;border:1px solid #dce4ee;background:#fafbfd}.admin-finance-stats span{display:block;font-size:8.5px;color:#758297}.admin-finance-stats strong{display:block;margin-top:4px;font-size:14px;color:#002050}.finance-settings-grid{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:end;gap:8px;padding-top:10px;border-top:1px solid #e5eaf1}.admin-finance-list-head{padding-top:10px;border-top:1px solid #e5eaf1}.admin-purchase-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #e8edf3}.admin-purchase-row:first-child{border-top:0}.admin-purchase-row strong{font-size:10px;color:#10264d}.admin-purchase-row small{display:block;margin-top:2px;font-size:8px;color:#7d8999}.admin-wallet-target,.refund-summary{display:grid;gap:3px;padding:12px;border:1px solid #dce4ef;background:#fafbfd;border-radius:6px}.admin-wallet-target strong,.refund-summary strong{color:#10264d}.admin-wallet-target small,.refund-summary small{font-size:8.5px;color:#7b8899}.admin-wallet-target span,.refund-summary span{font-size:10px;color:#002050}
@media(max-width:760px){.seller-wallet-grid{grid-template-columns:1fr}.wallet-actions{grid-template-columns:1fr 1fr}.admin-finance-stats{grid-template-columns:1fr 1fr}.finance-settings-grid{grid-template-columns:1fr 1fr}.finance-settings-grid .btn{grid-column:1/-1}.admin-user-row{flex-wrap:wrap}.admin-user-money{margin-left:auto}.test-sale-settings{grid-template-columns:1fr}.wallet-balance-card{padding:18px}.wallet-balance-card strong{font-size:27px}}
@media(max-width:480px){.wallet-actions{grid-template-columns:1fr}.admin-finance-stats{grid-template-columns:1fr}.finance-settings-grid{grid-template-columns:1fr}.admin-user-money{min-width:auto}.wallet-big-icon{display:none}}


/* v0.7.2 — paid/free + visibility/access scheduling */
.test-schedule-card{border:1px solid var(--line);border-radius:var(--radius);padding:13px;background:var(--surface-2)}
.test-schedule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}
.test-schedule-head strong{font-size:12px;color:var(--text);display:flex;align-items:center;gap:7px}
.test-schedule-head small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}
.test-schedule-grid,.test-settings-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.test-schedule-grid .input,.test-settings-sheet-grid .input{min-width:0}
.schedule-note{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.45}
.schedule-note i{color:var(--primary);margin-top:2px}
.schedule-badge{border-color:#d9e2ff;background:#f7f9ff;color:#46608e}
.schedule-closed{border-color:#f2ccd3;background:var(--danger-soft);color:var(--danger)}
@media(max-width:520px){.test-schedule-grid,.test-settings-sheet-grid{grid-template-columns:1fr}}

/* v0.7.4 — Shared Click gateway + wallet topup */
.teacher-plan-wallet-card{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:14px 15px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--text)}
.teacher-plan-wallet-card span{display:flex;flex-direction:column;gap:2px;min-width:0}.teacher-plan-wallet-card small{color:var(--muted);font-size:10.5px}.teacher-plan-wallet-card strong{font-size:16px}.teacher-plan-wallet-card em{font-style:normal;font-size:10.5px;color:var(--text-2)}
.teacher-plan-current{background:#071a47;color:#fff;border-radius:var(--radius);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.teacher-plan-current>div{display:flex;flex-direction:column;gap:4px}.teacher-plan-current span{font-size:11px;color:#b9c4d7}.teacher-plan-current strong{font-size:24px}.teacher-plan-current small{font-size:11px;color:#ced6e4}.teacher-plan-badge{border:1px solid rgba(255,255,255,.25);padding:8px 10px;border-radius:7px;color:#fff!important;font-weight:800!important}
.ai-price-policy{display:flex;gap:12px;align-items:flex-start;border:1px solid #dce4ff;background:var(--primary-soft);border-radius:var(--radius);padding:14px}.ai-price-policy>i{color:var(--primary);margin-top:2px}.ai-price-policy div{display:flex;flex-direction:column;gap:4px}.ai-price-policy strong{font-size:13px}.ai-price-policy span{font-size:11px;color:var(--text-2);line-height:1.5}
.teacher-plan-grid{display:grid;gap:12px}.teacher-plan-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff;display:flex;flex-direction:column;gap:12px}.teacher-plan-card.featured{border-color:#9db1ff;background:#fbfcff}.teacher-plan-card.current{box-shadow:inset 3px 0 0 var(--primary)}.teacher-plan-card h3{margin:6px 0 0;font-size:20px}.teacher-plan-price{display:flex;align-items:baseline;gap:5px}.teacher-plan-price strong{font-size:24px}.teacher-plan-price span{font-size:11px;color:var(--muted)}.teacher-plan-features{display:grid;gap:8px}.teacher-plan-features span{display:flex;gap:8px;align-items:center;font-size:11.5px;color:var(--text-2)}.teacher-plan-features i{width:16px;color:var(--primary)}
.creator-plan-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:9px 10px;font-size:10.5px;color:var(--text-2)}.creator-plan-strip button{margin-left:auto;border:0;background:none;color:var(--primary);font-weight:800;font-size:10.5px;padding:4px}
.admin-plans-card{overflow:hidden}.ai-markup-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dce4ff;background:var(--primary-soft);border-radius:9px;padding:13px}.ai-markup-setting>div:first-child{display:flex;flex-direction:column;gap:3px}.ai-markup-setting strong{font-size:13px}.ai-markup-setting span{font-size:10.5px;color:var(--text-2)}.ai-markup-input{display:flex;align-items:center;gap:6px;min-width:100px}.ai-markup-input .input{width:80px;height:40px}.ai-markup-input b{font-size:14px}
.admin-plan-builder{display:grid;gap:12px}.admin-plan-editor{border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:var(--surface-2)}.plan-editor-title{display:flex;align-items:center;gap:8px}.admin-plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:12px}.admin-plan-grid .input{height:42px;padding:9px 10px}.plan-toggle-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.plan-toggle-row label{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:var(--text-2)}.plan-toggle-row input{accent-color:var(--primary)}.plan-price-preview{display:flex;gap:14px;margin-top:10px;font-size:10.5px;color:var(--muted)}.plan-builder-note{display:flex;gap:8px;align-items:flex-start;background:#fff8ea;border:1px solid #f0dfb9;border-radius:8px;padding:11px;font-size:10.5px;color:#715421;line-height:1.5}
.plan-purchase-summary{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:12px;border-radius:8px}.plan-purchase-summary span{font-size:11px;color:var(--muted)}.plan-purchase-summary strong{font-size:18px}
@media(max-width:900px){.admin-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.teacher-plan-current{padding:15px}.teacher-plan-current strong{font-size:21px}.admin-plan-grid{grid-template-columns:1fr}.ai-markup-setting{align-items:flex-start;flex-direction:column}.ai-markup-input{width:100%}.ai-markup-input .input{flex:1}.plan-toggle-row{gap:10px}.creator-plan-strip button{margin-left:0}}
.plan-lab{border:1px solid var(--line);border-radius:var(--radius);padding:13px;background:#fff;display:grid;gap:11px}.plan-lab>div:first-child{display:flex;flex-direction:column;gap:3px}.plan-lab>div:first-child strong{font-size:13px}.plan-lab>div:first-child span{font-size:10.5px;color:var(--muted);line-height:1.5}.plan-lab-input{display:flex;align-items:center;gap:8px}.plan-lab-input .input{max-width:180px;height:42px}.plan-lab-input span{font-size:10.5px;color:var(--muted)}.plan-lab-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.plan-lab-results>div{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:2px}.plan-lab-results span{font-size:10px;color:var(--muted)}.plan-lab-results strong{font-size:14px}.plan-lab-results small{font-size:9.5px;color:var(--text-2)}
@media(max-width:700px){.plan-lab-results{grid-template-columns:1fr}.plan-lab-input{align-items:flex-start;flex-direction:column}.plan-lab-input .input{max-width:none;width:100%}}


/* v0.7.4 — Click wallet top-up */
.click-topup-head{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);margin-bottom:14px}
.click-topup-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.click-topup-head strong{font-size:13px}.click-topup-head small{font-size:10.5px;color:var(--muted)}
.click-mark{display:grid;place-items:center;min-width:62px;height:36px;padding:0 10px;border-radius:7px;background:#071a47;color:#fff;font-size:12px;font-weight:850;letter-spacing:.04em}
.topup-quick-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0 12px}.topup-quick{min-height:38px;border:1px solid var(--line);background:#fff;border-radius:7px;color:var(--text-2);font-size:10.5px;font-weight:750;padding:5px}.topup-quick:active{background:var(--surface-2)}
.click-admin-status{border:1px solid var(--line);border-radius:var(--radius);padding:13px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px}.click-admin-status.ready{border-color:#cfeada;background:var(--success-soft)}.click-admin-status.missing{border-color:#f2dcae;background:var(--warning-soft)}
.click-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.click-admin-grid>div{min-width:0;background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px}.click-admin-grid small{display:block;color:var(--muted);font-size:9.5px;margin-bottom:5px}.click-admin-grid code{display:block;font-size:9.5px;line-height:1.45;overflow-wrap:anywhere;white-space:normal;color:var(--text-2)}.click-admin-status p{margin:0;font-size:10.5px;line-height:1.5;color:var(--text-2)}
@media(max-width:420px){.topup-quick-row{grid-template-columns:repeat(2,minmax(0,1fr))}.click-admin-grid{grid-template-columns:1fr}}

/* v0.8.8 — Alternative Variant progress + AI budget guard */
.variant-quality-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:9px}
.variant-quality-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.variant-quality-card strong{font-size:12.5px;color:var(--text)}
.variant-quality-card span{font-size:10.5px;color:var(--muted)}
.variant-quality-card.good{border-color:#cfeada;background:var(--success-soft)}
.variant-quality-card.good strong,.variant-quality-card.good>div:first-child>span{color:var(--success)}
.variant-quality-card.bad{border-color:#f2ccd3;background:var(--danger-soft)}
.variant-quality-card.bad strong,.variant-quality-card.bad>div:first-child>span{color:var(--danger)}
.variant-quality-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.variant-quality-metrics span{background:#fff;border:1px solid rgba(120,140,170,.22);border-radius:6px;padding:7px;text-align:center;min-width:0}
.variant-quality-metrics b{display:block;margin-top:2px;font-size:12px;color:var(--text)}
@media(max-width:420px){.variant-quality-metrics{grid-template-columns:1fr}.variant-quality-metrics span{display:flex;justify-content:space-between;align-items:center}.variant-quality-metrics b{display:inline;margin:0}}


.ai-budget-strip{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:13px;color:var(--ink);flex-wrap:wrap}.ai-budget-strip small{color:var(--muted)}.ai-budget-strip.ok{border-color:#cfe7d5;background:#f7fcf8}.ai-budget-strip.low{border-color:#f1d3d3;background:#fff8f7}.ai-budget-strip.admin{border-color:#d9e4ff;background:#f7faff}.ai-progress-card{padding:16px;border-radius:18px;border:1px solid var(--line);background:#fff;display:grid;gap:12px}.ai-progress-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ai-progress-head h3{margin:8px 0 4px;font-size:20px;line-height:1.2}.ai-progress-head p{margin:0;color:var(--muted);font-size:13px}.ai-progress-counter{min-width:54px;height:54px;border-radius:16px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.ai-progress-inline{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.ai-progress-status{padding:12px 14px;border-radius:14px;background:#f7faff;border:1px solid #dce8ff;font-weight:600;color:var(--ink)}.ai-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.ai-progress-step{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fcfdff}.ai-progress-step.active{border-color:#8cb3ff;background:#f7faff}.ai-progress-step.done{border-color:#cfe7d5;background:#f7fcf8}.ai-progress-dot{width:28px;height:28px;border-radius:999px;background:#eef3ff;color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none}.ai-progress-step.done .ai-progress-dot{background:#dff5e6;color:#1d6b39}.ai-progress-step small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}.ai-progress-foot{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.icon-btn[disabled]{opacity:.55;cursor:not-allowed}

/* v0.8.8 — Creator clarity + actionable Variant Quality Gate */
.badge.warn{border-color:#ead8ae;background:#fffaf0;color:#8a641d}
.badge.danger{border-color:#efc7cf;background:#fff3f5;color:var(--danger)}

.ai-progress-card{padding:14px;border-radius:10px;gap:10px;box-shadow:none}
.ai-progress-card.warning{border-color:#ead8ae;background:#fffdf8}
.ai-progress-card.error{border-color:#efc7cf;background:#fff8f9}
.ai-progress-card.success{border-color:#cfe7d5;background:#f8fcf9}
.ai-progress-head h3{font-size:18px;margin:7px 0 3px}
.ai-progress-counter{min-width:48px;height:42px;border-radius:7px;background:var(--text);font-size:13px}
.ai-progress-status{padding:10px 11px;border-radius:7px;background:var(--surface-2);border-color:var(--line);font-size:11.5px;line-height:1.45}
.ai-progress-grid{grid-template-columns:1fr;gap:7px}
.ai-progress-step{min-height:48px;padding:9px 10px;border-radius:7px}
.ai-progress-step.warning{border-color:#ead8ae;background:#fffaf0}
.ai-progress-step.error{border-color:#efc7cf;background:#fff3f5}
.ai-progress-step.warning .ai-progress-dot{background:#fff0c8;color:#8a641d}
.ai-progress-step.error .ai-progress-dot{background:#ffe2e7;color:var(--danger)}
.ai-progress-mini-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.ai-progress-mini-steps .ai-progress-step{min-height:0;padding:7px;display:grid;grid-template-columns:20px minmax(0,1fr);gap:6px;align-items:center}
.ai-progress-mini-steps .ai-progress-dot{width:20px;height:20px;font-size:9px}
.ai-progress-mini-steps .ai-progress-step strong{display:none}
.ai-progress-mini-steps .ai-progress-step small{margin:0;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-progress-card.completed .ai-progress-foot{padding-top:2px}

.variant-quality-card{border-radius:8px;padding:11px;gap:9px}
.variant-quality-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.variant-quality-head>div{min-width:0}
.variant-quality-head strong{display:block}
.variant-quality-head span{display:block;margin-top:3px;line-height:1.35}
.variant-failure-list{display:grid;gap:6px}
.variant-failure-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #efc7cf;background:#fff;color:var(--text);border-radius:6px;padding:9px 10px;text-align:left}
.variant-failure-row span{min-width:0}
.variant-failure-row b{display:block;color:var(--danger);font-size:10.5px}
.variant-failure-row small{display:block;margin-top:2px;color:#7a4b55;font-size:9px;line-height:1.35}
.variant-failure-row i{color:var(--danger);font-size:10px;flex:0 0 auto}
.variant-repair-btn{min-height:38px;font-size:10.5px;border-color:#e3b9c1;color:#a93246}

.question-block.variant-failed{border-color:#e8a9b5;background:#fffdfd;box-shadow:inset 3px 0 0 #d14358}
.variant-question-alert{display:grid;gap:5px;border:1px solid #efc7cf;background:#fff4f6;border-radius:7px;padding:10px 11px}
.variant-question-alert>div{display:flex;align-items:center;gap:7px;color:var(--danger)}
.variant-question-alert strong{font-size:11.5px}
.variant-question-alert p{margin:0;padding-left:22px;font-size:9.5px;line-height:1.45;color:#80515b}
.question-block.quality-focus{outline:3px solid rgba(209,67,88,.16);outline-offset:3px}

@media (min-width:900px){
  .creator-page{max-width:1460px;grid-template-columns:286px minmax(0,1fr);grid-template-areas:"side main" ". save";gap:16px 20px;padding-left:24px;padding-right:24px}
  .creator-side{position:sticky;top:86px;max-height:calc(100vh - 100px);overflow:auto;padding-right:4px;scrollbar-width:thin}
  .creator-main{min-width:0}
  .creator-savebar{grid-area:save;position:sticky;bottom:12px;top:auto;z-index:24;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.97);backdrop-filter:blur(8px)}
  .creator-side .test-schedule-grid{grid-template-columns:1fr}
  .creator-side .test-sale-settings{grid-template-columns:1fr}
  .creator-side .creator-meta{grid-template-columns:1fr 82px}
  .creator-settings{padding:13px}
  .math-question{padding:17px}
  math-field.question-math{min-height:68px;font-size:24px}
  .ai-budget-strip{padding:9px 10px;border-radius:7px;font-size:10.5px}
  .ai-budget-strip small{font-size:9px;line-height:1.4}
}
@media (min-width:1280px){
  .creator-page{max-width:1500px;grid-template-columns:300px minmax(0,1fr);gap:18px 22px}
}
@media (max-width:760px){
  .ai-progress-mini-steps{grid-template-columns:1fr}
  .ai-progress-mini-steps .ai-progress-step small{white-space:normal}
  .variant-quality-metrics{grid-template-columns:1fr 1fr 1fr}
}


/* v0.8.8 — real draft editor */
.draft-edit-main{font-weight:800;border-color:#cbd8ee;background:#f8fbff;color:#10285f}.draft-edit-main:hover{background:#eef5ff;border-color:#a9c2ee}.variant-quality-card.stale{border-color:#efcf8e;background:#fffaf0}.variant-stale-note{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px 11px;border:1px solid #f1dbad;border-radius:8px;background:#fffdf7;color:#76510d;font-size:11.5px;line-height:1.45}.badge.warn{border-color:#efd39a;background:#fff8e8;color:#8a5a08}

.variant-repair-actions{display:grid;gap:8px;margin-top:10px}.variant-repair-actions .btn.ghost{border:1px solid var(--line);background:#fff;color:var(--muted)}
.admin-ai-billing-card{padding:14px;border:1px solid #d8e6dc;border-radius:14px;background:#fbfefc;display:grid;gap:12px}.admin-ai-billing-card small{display:block;color:var(--muted);margin-top:3px}.admin-finance-stats.ai{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-ai-session-details summary{cursor:pointer;font-weight:700;color:var(--ink)}

/* v0.8.8 — launch-free teacher monetization + public Wallet ID */
.wallet-id-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.wallet-id-card>div{display:grid;gap:3px}.wallet-id-card small,.wallet-id-card span{color:var(--muted);font-size:12px}.wallet-id-card strong{font-size:18px;letter-spacing:.04em;color:var(--ink)}
.launch-free-hero{border:1px solid #cfe8d6;background:#f7fcf8;border-radius:18px;padding:22px;display:grid;gap:12px}.launch-free-hero h2{margin:0;font-size:24px;color:var(--ink)}.launch-free-hero p{margin:0;color:var(--muted);max-width:760px;line-height:1.55}.launch-free-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}.launch-free-grid>div{border:1px solid #dceae0;background:#fff;border-radius:12px;padding:14px;display:grid;gap:4px}.launch-free-grid strong{font-size:18px}.launch-free-grid span{font-size:12px;color:var(--muted)}
.plan-mode-card,.launch-plan-settings,.admin-wallet-id-credit{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;display:grid;gap:12px}.plan-mode-card{grid-template-columns:minmax(0,1fr) minmax(230px,320px);align-items:center}.plan-mode-card>div,.admin-wallet-id-credit>div:first-child{display:grid;gap:4px}.plan-mode-card span,.admin-wallet-id-credit span{font-size:12px;color:var(--muted)}.launch-plan-settings{background:#f8fbff}.plan-inline-check{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}.plan-empty-state{min-height:150px;border:1px dashed #cbd8ea;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:20px;color:var(--muted)}.plan-empty-state i{font-size:24px;color:var(--navy)}.plan-empty-state strong{color:var(--ink)}
.admin-wallet-id-credit{background:#f8fbff}.admin-wallet-credit-grid{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(120px,.7fr) minmax(180px,1fr) auto;gap:10px;align-items:center}.admin-wallet-credit-grid .btn{min-height:42px;white-space:nowrap}
@media(max-width:760px){.launch-free-grid{grid-template-columns:1fr}.plan-mode-card{grid-template-columns:1fr}.admin-wallet-credit-grid{grid-template-columns:1fr}.wallet-id-card strong{font-size:16px}}


/* v0.10.1 — Hybrid Analytic Constraint Geometry Engine */
.admin-chipbar{display:flex;align-items:center;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding:2px 0 4px;position:sticky;top:64px;z-index:12;background:var(--bg,#f5f7fb)}
.admin-chipbar::-webkit-scrollbar{display:none}
.admin-chip{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;padding:0 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text-2);font:inherit;font-size:10.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease}
.admin-chip i{font-size:11px;color:var(--muted)}
.admin-chip.active{border-color:#002050;background:#002050;color:#fff}
.admin-chip.active i{color:#fff}
.admin-chip:focus-visible{outline:2px solid #f86000;outline-offset:2px}
.admin-active-panel{min-width:0}
.admin-panel-window{min-width:0}
.admin-panel-window>.card:first-child,.admin-panel-window.card{margin-top:0}
.admin-window-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-window-head .title-md{margin:8px 0 3px}
.admin-window-head p{margin:0}
.admin-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-overview-card{min-width:0;min-height:76px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);text-align:left;cursor:pointer}
.admin-overview-card>i:first-child{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d9e2ee;border-radius:6px;background:#f5f8fc;color:#002050}
.admin-overview-card>span{min-width:0;display:grid;gap:3px}
.admin-overview-card strong{font-size:11px}
.admin-overview-card small{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-overview-card>i:last-child{font-size:10px;color:var(--muted)}
.admin-overview-card:hover{border-color:#afbed2}
.admin-users-card,.admin-tests-card{min-width:0}
@media(min-width:900px){.admin-chipbar{top:72px}}
@media(max-width:700px){
  .admin-page{gap:12px}
  .admin-chipbar{margin-left:-14px;margin-right:-14px;padding:2px 14px 5px}
  .admin-chip{min-height:40px;padding:0 11px;font-size:10px}
  .admin-overview-grid{grid-template-columns:1fr}
  .admin-panel-window .card{padding:14px}
  .admin-window-head{flex-direction:column}
}
@media(max-width:420px){
  .admin-chip{min-height:38px;padding:0 10px}
  .admin-chip i{font-size:10px}
}

/* v0.10.3 — common-tangent semantic repair; no visual redesign */

/* v0.10.8 — Compact AI Output + Economy Visual Preflight */
.geometry-stress-card{min-width:0}
.geometry-stress-controls{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,260px) auto auto;gap:10px;align-items:end}
.geometry-stress-presets{display:flex;gap:7px;flex-wrap:wrap;align-items:center;min-height:42px}
.geometry-stress-preset{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text-2);font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.geometry-stress-preset.active{border-color:#002050;background:#eef4ff;color:#002050}
.geometry-stress-preset:disabled{opacity:.55;cursor:not-allowed}
.geometry-stress-seed{margin:0}
.geometry-stress-progress-wrap{display:grid;gap:7px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#f8fbff}
.geometry-stress-progress-wrap strong,.geometry-stress-progress-wrap span{font-size:11px}
.geometry-stress-progress-wrap small{font-size:9px;color:var(--muted)}
.geometry-stress-progress{height:8px;border-radius:3px;background:#e6edf7;overflow:hidden}
.geometry-stress-progress>i{display:block;height:100%;background:#002050;transition:width .18s ease}
.geometry-stress-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.geometry-stress-metric{min-width:0;padding:11px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;gap:3px}
.geometry-stress-metric>span{font-size:9px;color:var(--muted);font-weight:700}
.geometry-stress-metric>strong{font-size:17px;color:var(--ink);line-height:1.1}
.geometry-stress-metric>small{font-size:8px;color:var(--muted);line-height:1.35}
.geometry-stress-metric.success{border-color:#bee2ca;background:#f8fcf9}
.geometry-stress-metric.success>strong{color:#16733b}
.geometry-stress-metric.danger{border-color:#efb8c1;background:#fff8f9}
.geometry-stress-metric.danger>strong{color:#c52f49}
.geometry-stress-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12px;align-items:start}
.geometry-stress-grid>section{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.geometry-stress-subhead{padding:11px 12px;border-bottom:1px solid var(--line);background:#fafbfd}
.geometry-stress-subhead strong{font-size:11px}
.geometry-stress-family-list{display:grid}
.geometry-stress-family-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 74px;gap:8px;align-items:center;padding:9px 12px;border-bottom:1px solid #edf1f6}
.geometry-stress-family-row:last-child{border-bottom:0}
.geometry-stress-family-row>div{display:grid;gap:2px;min-width:0}
.geometry-stress-family-row strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.geometry-stress-family-row small{font-size:8px;color:var(--muted)}
.geometry-stress-family-row>span{font-size:9px;text-align:right;color:var(--muted)}
.geometry-stress-family-row>b{font-size:9px;text-align:right;color:#16733b}
.geometry-stress-family-row.failed{background:#fff8f9}
.geometry-stress-family-row.failed>b{color:#c52f49}
.geometry-stress-empty{min-height:230px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;color:var(--muted)}
.geometry-stress-empty i{font-size:25px;color:#002050}
.geometry-stress-empty strong{font-size:11px;color:var(--ink)}
.geometry-stress-empty span{max-width:420px;font-size:9px;line-height:1.5}
.geometry-stress-no-fail{min-height:92px;padding:18px;display:flex;align-items:center;justify-content:center;gap:8px;color:#16733b;font-size:10px;font-weight:700}
.geometry-stress-failure{border-bottom:1px solid #edf1f6}
.geometry-stress-failure:last-child{border-bottom:0}
.geometry-stress-failure summary{cursor:pointer;display:flex;justify-content:space-between;gap:8px;padding:10px 12px;font-size:9px;font-weight:700;color:#9b2438}
.geometry-stress-failure summary b{font-size:8px;color:var(--muted)}
.geometry-stress-failure-body{padding:0 12px 12px;display:grid;gap:7px}
.geometry-stress-failure-body p,.geometry-stress-failure-body li{font-size:9px;line-height:1.45;color:#7c2635}
.geometry-stress-failure-body p{margin:0}
.geometry-stress-failure-body ul{margin:0;padding-left:18px}
.geometry-stress-failure-body pre{max-height:260px;overflow:auto;margin:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:#334155;font:9px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}
.geometry-stress-note{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #d9e2ee;border-radius:8px;background:#fbfcfe;color:var(--text-2)}
.geometry-stress-note>i{margin-top:2px;color:#002050}
.geometry-stress-note>div{display:grid;gap:3px}
.geometry-stress-note strong{font-size:10px;color:var(--ink)}
.geometry-stress-note span{font-size:9px;line-height:1.5;color:var(--muted)}
@media(max-width:1100px){.geometry-stress-controls{grid-template-columns:1fr 1fr}.geometry-stress-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.geometry-stress-controls{grid-template-columns:1fr}.geometry-stress-presets{display:grid;grid-template-columns:repeat(4,1fr)}.geometry-stress-preset{padding:0 6px}.geometry-stress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.geometry-stress-grid{grid-template-columns:1fr}.geometry-stress-family-row{grid-template-columns:minmax(0,1fr) 52px 64px}}

/* v0.14.0 — Server Attempt Engine + Classroom */
.bottom-nav{grid-template-columns:repeat(6,1fr)}
.bottom-nav .nav-item{min-width:0}
.test-card-subline{margin-top:4px}
.field-help{display:block;margin-top:4px;font-size:8px;color:var(--muted)}
.attempt-policy-grid{display:grid;grid-template-columns:minmax(130px,.7fr) 1fr 1fr;gap:9px;padding:10px;border:1px solid #dce4ee;border-radius:7px;background:#fafbfd}
.attempt-policy-grid.compact{margin:12px 0}
.policy-toggle{display:flex;align-items:center;gap:9px;min-height:58px;padding:9px;border:1px solid #dce4ee;border-radius:6px;background:#fff;cursor:pointer}
.policy-toggle input{width:17px;height:17px;accent-color:#002050}
.policy-toggle span{display:grid;gap:2px}.policy-toggle strong{font-size:9.5px;color:#10264d}.policy-toggle small{font-size:8px;color:var(--muted)}
.classroom-page,.classroom-detail-page{max-width:1050px;margin:0 auto}.classroom-hero{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #cbd8e8;border-radius:8px;background:#002050;color:#fff}.classroom-hero-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:7px;background:rgba(255,255,255,.08);font-size:18px}.classroom-hero strong,.classroom-hero span{display:block}.classroom-hero strong{font-size:15px}.classroom-hero span{margin-top:3px;font-size:9px;line-height:1.45;opacity:.76}
.classroom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.classroom-card{display:flex;align-items:center;gap:11px;width:100%;min-width:0;padding:14px;border:1px solid #d8e1ec;border-radius:7px;background:#fff;color:#10264d;text-align:left;cursor:pointer}.classroom-card:hover{border-color:#9eb2cb}.classroom-card-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d2dfed;border-radius:6px;background:#f5f8fc;color:#002050}.classroom-card strong,.classroom-card small{display:block}.classroom-card strong{font-size:11px}.classroom-card small{margin-top:2px;font-size:8.5px;color:var(--muted)}.classroom-card>i:last-child{font-size:10px;color:#8b98a9}.classroom-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.classroom-card-meta em{padding:3px 5px;border:1px solid #dfe6ef;border-radius:4px;background:#fafbfd;color:#637187;font-size:7.5px;font-style:normal}
.classroom-summary{display:flex;align-items:stretch;justify-content:space-between;gap:16px;padding:18px;border:1px solid #d5deea;border-radius:8px;background:#fff}.classroom-summary h2{margin:4px 0 3px;font-size:22px;color:#002050}.classroom-summary p{font-size:9px;color:var(--muted)}.join-code{display:grid;align-content:center;min-width:150px;padding:10px 16px;border:1px dashed #9bb1cb;border-radius:7px;background:#f7faff;color:#002050;cursor:pointer}.join-code small,.join-code span{font-size:8px}.join-code strong{margin:2px 0;font-size:22px;letter-spacing:.16em}.join-code span{color:#65758a}
.classroom-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #d8e1ec;border-radius:7px;background:#fff;overflow:hidden}.classroom-stats>div{padding:12px;text-align:center;border-left:1px solid #e3e9f1}.classroom-stats>div:first-child{border-left:0}.classroom-stats strong,.classroom-stats span{display:block}.classroom-stats strong{font-size:18px;color:#002050}.classroom-stats span{font-size:8px;color:var(--muted)}
.assignment-card{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #dbe3ed;border-radius:7px;background:#fff}.assignment-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d4dfeb;border-radius:6px;background:#f5f8fc;color:#002050}.assignment-card strong,.assignment-card small{display:block}.assignment-card strong{font-size:10.5px;color:#10264d}.assignment-card small{margin-top:2px;font-size:8px;color:var(--muted)}.assignment-state,.assignment-result{display:inline-block;margin:6px 5px 0 0;padding:3px 5px;border:1px solid #cfe0d5;border-radius:4px;background:#f7fbf8;color:#28704c;font-size:7.5px}.assignment-state.waiting{border-color:#e4d8ba;background:#fffaf1;color:#80621d}.assignment-state.closed{border-color:#ead2d7;background:#fff8f9;color:#9f3447}.assignment-result{border-color:#cddbef;background:#f6f9fd;color:#294f82}.assignment-lock{width:34px;height:34px;display:grid;place-items:center;color:#8996a7}
.gradebook-scroll{overflow:auto;border:1px solid #d8e1ec;border-radius:7px;background:#fff}.gradebook{width:100%;min-width:580px;border-collapse:collapse}.gradebook th,.gradebook td{padding:10px;border-right:1px solid #e3e9f1;border-bottom:1px solid #e3e9f1;text-align:center}.gradebook tr:last-child th,.gradebook tr:last-child td{border-bottom:0}.gradebook th:last-child,.gradebook td:last-child{border-right:0}.gradebook thead th{max-width:150px;background:#f5f8fc;color:#3e526d;font-size:8px}.gradebook tbody th{position:sticky;left:0;z-index:1;min-width:150px;background:#fff;text-align:left;font-size:9px;color:#10264d}.gradebook td strong,.gradebook td small{display:block}.gradebook td strong{font-size:10px}.gradebook td small{font-size:7px;color:var(--muted)}.grade-good{background:#f7fbf8;color:#237149}.grade-low{background:#fff8f9;color:#a4384b}.grade-empty{color:#9aa5b2}
.member-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.member-list>div{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #dce4ee;border-radius:6px;background:#fff}.member-avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d5e0ec;border-radius:5px;background:#f5f8fc;color:#002050}.member-list strong,.member-list small{display:block}.member-list strong{font-size:9.5px}.member-list small{font-size:7.5px;color:var(--muted)}
.join-code-entry{display:flex;align-items:center;gap:10px}.join-code-entry>i{width:40px;height:40px;display:grid;place-items:center;border:1px solid #d7e1ec;border-radius:6px;background:#f5f8fc;color:#002050}.join-code-entry input{text-transform:uppercase;font-size:20px;font-weight:800;letter-spacing:.18em;text-align:center}
@media(max-width:760px){.classroom-grid,.member-list{grid-template-columns:1fr}.classroom-summary{flex-direction:column}.join-code{width:100%}.attempt-policy-grid{grid-template-columns:1fr}.assignment-card{align-items:flex-start;flex-wrap:wrap}.assignment-card .btn{margin-left:auto}.bottom-nav{padding-left:2px;padding-right:2px}.nav-item{font-size:8px}.nav-item i{font-size:15px}}

/* v0.15.0 — Marketplace & Analytics */
.analytics-home-card,.marketplace-home-card{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1px solid #d6dfeb;border-radius:7px;background:#fff;color:#10264d;text-align:left}
.analytics-home-card:hover,.marketplace-home-card:hover{border-color:#9db2cc}
.analytics-home-icon,.marketplace-home-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cbd9e9;border-radius:6px;background:#f4f8fc;color:#002050}
.analytics-home-card strong,.analytics-home-card small,.marketplace-home-card strong,.marketplace-home-card small{display:block}
.analytics-home-card strong,.marketplace-home-card strong{font-size:11px}.analytics-home-card small,.marketplace-home-card small{margin-top:2px;font-size:8.5px;color:var(--muted)}
.home-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.marketplace-page,.market-detail-page,.analytics-page{max-width:1100px;margin:0 auto}
.marketplace-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px;border:1px solid #cbd7e7;border-radius:8px;background:#002050;color:#fff}
.marketplace-hero h2{margin:5px 0;font-size:22px}.marketplace-hero p{max-width:580px;margin:0;font-size:10px;line-height:1.55;opacity:.76}.marketplace-hero .eyebrow{color:#c9d8f1}.marketplace-hero-icon{width:62px;height:62px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.25);border-radius:8px;font-size:24px}
.market-filter-panel{display:grid;gap:9px;padding:12px;border:1px solid #d7e0eb;border-radius:8px;background:#f8fafc}.market-filter-grid{display:grid;grid-template-columns:1fr .8fr 1fr;gap:8px}
.marketplace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.market-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:15px;border:1px solid #d9e2ed;border-radius:8px;background:#fff}
.market-card:hover{border-color:#9db2cc}.market-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.market-subject,.market-verified{display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid #dbe4ef;border-radius:5px;background:#f8fafc;color:#4d6078;font-size:7.5px;font-weight:750}.market-verified{border-color:#cbe2d4;background:#f6fbf8;color:#1c7047}
.market-card-icon{width:42px;height:42px;display:grid;place-items:center;margin:13px 0 10px;border:1px solid #cfdbeb;border-radius:7px;background:#f3f7fc;color:#002050;font-size:17px}.market-card h3{margin:0;font-size:14px;line-height:1.35;color:#0d2348}.market-card>p{display:-webkit-box;min-height:35px;margin:5px 0 9px;overflow:hidden;color:#718096;font-size:9px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.market-teacher{display:flex;align-items:center;gap:6px;color:#4f6178;font-size:8.5px}.market-teacher i{color:#002050}
.market-rating{display:flex;align-items:center;gap:3px;margin-top:9px;color:#c88713;font-size:9px}.market-rating b{margin-left:3px;color:#2d405c;font-size:9px}.market-rating small{color:#8692a3}.market-metrics{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.market-metrics span{padding:4px 5px;border:1px solid #e0e6ee;border-radius:4px;background:#fafbfd;color:#65748a;font-size:7.5px}
.market-card-footer{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px}.market-card-footer .btn{min-height:38px;padding:0 11px;font-size:9px}.market-price{display:grid;gap:1px}.market-price small{font-size:7.5px;color:var(--muted)}.market-price strong{font-size:13px;color:#002050}.market-price.free strong{color:#167149}.market-status{display:flex;align-items:center;gap:5px;margin-top:9px;padding:6px 7px;border:1px solid #e7d7b4;border-radius:5px;background:#fffaf1;color:#83641d;font-size:8px}.market-status.closed{border-color:#ead0d6;background:#fff8f9;color:#a13749}
.market-detail-hero{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid #d7e0eb;border-radius:8px;background:#fff}.market-detail-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #ccdaeb;border-radius:7px;background:#f3f7fc;color:#002050;font-size:20px}.market-detail-hero h2{margin:4px 0;font-size:21px}.market-detail-hero p{margin:0 0 8px;color:#66778d;font-size:9px;line-height:1.55}
.market-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d8e1ec;border-radius:7px;overflow:hidden;background:#fff}.market-detail-stats>div{padding:11px;text-align:center;border-left:1px solid #e3e9f1}.market-detail-stats>div:first-child{border-left:0}.market-detail-stats strong,.market-detail-stats span{display:block}.market-detail-stats strong{font-size:17px;color:#002050}.market-detail-stats span{font-size:7.5px;color:var(--muted)}
.market-detail-rating{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #dce4ee;border-radius:7px;background:#fafbfd}.market-detail-rating>div:first-child>small{display:block;margin-top:3px;font-size:7.5px;color:var(--muted)}.market-detail-rating .market-price{text-align:right}
.market-review-list{display:grid;gap:8px}.market-review{padding:12px;border:1px solid #dce4ee;border-radius:7px;background:#fff}.market-review strong{font-size:9.5px}.market-review .market-rating{margin:0}.market-review p{margin:8px 0;color:#43546b;font-size:9px;line-height:1.55}.market-review>small{font-size:7px;color:var(--muted)}.review-editor-grid{display:grid;grid-template-columns:150px 1fr;gap:8px;align-items:start}
.analytics-periods{display:flex;gap:6px;overflow:auto}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.analytics-kpi-grid>div{display:grid;gap:4px;min-width:0;padding:13px;border:1px solid #d8e1ec;border-radius:7px;background:#fff}.analytics-kpi-grid span{color:#5b6c82;font-size:8px}.analytics-kpi-grid span i{margin-right:4px;color:#002050}.analytics-kpi-grid strong{overflow:hidden;color:#0c244e;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.analytics-kpi-grid small{font-size:7.5px;color:var(--muted)}
.analytics-panel{padding:14px;border:1px solid #d8e1ec;border-radius:8px;background:#fff}.analytics-trend{display:flex;align-items:end;gap:3px;height:150px;padding-top:16px;border-bottom:1px solid #cfd9e7}.analytics-trend>div{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:4px}.analytics-trend span{width:100%;max-width:18px;min-height:4px;background:#125fff;border-radius:2px 2px 0 0}.analytics-trend small{height:16px;padding-top:4px;color:#8290a3;font-size:6px}
.distribution-list{display:grid;gap:9px}.distribution-list>div{display:grid;grid-template-columns:52px 1fr 28px;align-items:center;gap:8px}.distribution-list span,.distribution-list strong{font-size:8px}.distribution-list>div>div{height:8px;overflow:hidden;border-radius:3px;background:#edf1f6}.distribution-list i{display:block;height:100%;background:#002050}
.analytics-test-list,.weak-question-list{display:grid;gap:7px}.analytics-test-list>div{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #dce4ee;border-radius:7px;background:#fff}.analytics-test-rank{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d3dfec;border-radius:5px;background:#f4f8fc;color:#002050}.analytics-test-list strong,.analytics-test-list small,.analytics-test-list em{display:block}.analytics-test-list strong{font-size:9.5px}.analytics-test-list small{margin-top:2px;font-size:7.5px;color:var(--muted)}.analytics-test-list em{margin-top:4px;color:#4d6481;font-size:7px;font-style:normal}.analytics-test-list>div>b{font-size:8.5px;color:#176f49;white-space:nowrap}
.weak-question-list>div{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e3d7c1;border-radius:7px;background:#fffbf5}.weak-rate{width:40px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:5px;background:#fff1d9;color:#8a5d13;font-size:10px;font-weight:800}.weak-question-list strong,.weak-question-list small{display:block}.weak-question-list strong{font-size:9px}.weak-question-list small{margin-top:2px;font-size:7px;color:var(--muted)}
.analytics-recommendations{padding:14px;border:1px solid #cfdcec;border-radius:8px;background:#f7faff}.analytics-recommendations h3{margin:0 0 8px;font-size:12px}.analytics-recommendations h3 i{margin-right:6px;color:#b57913}.analytics-recommendations p{margin:5px 0;padding-left:14px;position:relative;color:#4e6077;font-size:8.5px;line-height:1.5}.analytics-recommendations p:before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;border-radius:1px;background:#125fff}
.analytics-upgrade{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #d4deeb;border-radius:8px;background:#f8fafc}.analytics-upgrade>i{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cfdaea;border-radius:6px;background:#fff;color:#002050}.analytics-upgrade>div{display:grid;gap:2px;flex:1}.analytics-upgrade strong{font-size:9.5px}.analytics-upgrade span{font-size:7.5px;line-height:1.45;color:var(--muted)}
@media(max-width:760px){.marketplace-grid{grid-template-columns:1fr}.market-filter-grid{grid-template-columns:1fr}.marketplace-hero{padding:16px}.marketplace-hero-icon{width:48px;height:48px;font-size:19px}.market-detail-stats,.analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}.market-detail-stats>div:nth-child(3){border-left:0;border-top:1px solid #e3e9f1}.market-detail-stats>div:nth-child(4){border-top:1px solid #e3e9f1}.review-editor-grid{grid-template-columns:1fr}.home-action-grid{grid-template-columns:1fr}.analytics-trend{height:120px}}

/* v0.16.4 — Learning Platform */
.learning-home-card{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1px solid #cbd9e9;border-radius:7px;background:#f8fbff;color:#10264d;text-align:left}.learning-home-card:hover{border-color:#95abc5}.learning-home-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #c9d9eb;border-radius:6px;background:#fff;color:#002050}.learning-home-card strong,.learning-home-card small{display:block}.learning-home-card strong{font-size:11px}.learning-home-card small{margin-top:2px;font-size:8.5px;color:var(--muted)}.learning-home-count{display:grid;place-items:center;min-width:27px;height:27px;border-radius:5px;background:#002050;color:#fff;font-size:10px;font-weight:800}
.learning-page,.course-detail-page,.course-builder-page,.lesson-page{max-width:1100px;margin:0 auto}.learning-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid #cbd7e7;border-radius:8px;background:#002050;color:#fff}.learning-hero h2{max-width:620px;margin:5px 0;font-size:22px}.learning-hero p{max-width:650px;margin:0;font-size:10px;line-height:1.55;opacity:.78}.learning-hero>.fa-graduation-cap{width:66px;height:66px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:8px;font-size:27px}.learning-hero .eyebrow{color:#c8d8ef}
.learning-classroom-link{display:flex;align-items:center;gap:11px;width:100%;padding:12px 13px;border:1px solid #d8e1ec;border-radius:7px;background:#fff;color:#10264d;text-align:left}.learning-classroom-link>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d2dfed;border-radius:6px;background:#f5f8fc;color:#002050}.learning-classroom-link strong,.learning-classroom-link small{display:block}.learning-classroom-link strong{font-size:10.5px}.learning-classroom-link small{margin-top:2px;font-size:8px;color:var(--muted)}.learning-classroom-link>b{display:grid;place-items:center;min-width:26px;height:26px;border-radius:5px;background:#002050;color:#fff;font-size:9px}.learning-classroom-link>i{font-size:9px;color:var(--muted)}
.course-discover-wrap{display:grid;gap:10px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.course-card{min-width:0;overflow:hidden;border:1px solid #d8e1ec;border-radius:8px;background:#fff}.course-card:hover{border-color:#9eb3cd}.course-card-cover{position:relative;display:flex;align-items:center;gap:8px;min-height:78px;padding:14px;background:#f3f7fc;border-bottom:1px solid #dce4ee}.course-card-cover>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #cad9ea;border-radius:7px;background:#fff;color:#002050;font-size:17px}.course-card-cover>em{padding:4px 6px;border:1px solid #d3deeb;border-radius:5px;background:#fff;color:#4b617d;font-size:8px;font-style:normal;font-weight:750}.course-card-cover>b{position:absolute;right:10px;top:10px;font-size:7px;color:#7a5d1c}.course-card-body{display:grid;gap:9px;padding:14px}.course-card h3{margin:0;font-size:14px;color:#0d2348}.course-card p{display:-webkit-box;min-height:34px;margin:0;overflow:hidden;color:#6c7c91;font-size:8.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-card-meta{display:flex;gap:5px;flex-wrap:wrap}.course-card-meta span{padding:4px 5px;border:1px solid #e0e6ee;border-radius:4px;background:#fafbfd;color:#607087;font-size:7px}.course-card .btn{min-height:39px;font-size:9px}
.course-progress{display:grid;grid-template-columns:1fr 34px;align-items:center;gap:7px}.course-progress>div{height:7px;overflow:hidden;border-radius:3px;background:#e7edf5}.course-progress>div>i{display:block;height:100%;background:#1769ff}.course-progress>span{color:#506279;font-size:8px;font-weight:800;text-align:right}
.course-detail-hero{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid #d6e0eb;border-radius:8px;background:#fff}.course-detail-hero>span,.lesson-header>span{width:54px;height:54px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cadaeb;border-radius:7px;background:#f3f7fc;color:#002050;font-size:20px}.course-detail-hero h2{margin:7px 0 4px;font-size:22px}.course-detail-hero p{margin:0 0 8px;color:#66778d;font-size:9px;line-height:1.55}.course-detail-hero small{color:#50627a;font-size:8px}.course-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid #d8e1ec;border-radius:7px;background:#fff}.course-detail-stats>div{padding:12px;text-align:center;border-left:1px solid #e3e9f1}.course-detail-stats>div:first-child{border-left:0}.course-detail-stats strong,.course-detail-stats span{display:block}.course-detail-stats strong{font-size:18px;color:#002050}.course-detail-stats span{font-size:7.5px;color:var(--muted)}.course-progress-panel{display:grid;gap:8px;padding:13px;border:1px solid #cfe0d5;border-radius:7px;background:#f7fbf8}.course-progress-panel strong,.course-progress-panel b{font-size:10px;color:#176f49}
.course-outline{display:grid;gap:10px}.course-module{overflow:hidden;border:1px solid #d8e1ec;border-radius:8px;background:#fff}.course-module-head{display:flex;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.course-module-head>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:5px;background:#002050;color:#fff;font-size:9px;font-weight:800}.course-module-head strong,.course-module-head small{display:block}.course-module-head strong{font-size:10.5px}.course-module-head small{margin-top:2px;font-size:7.5px;color:var(--muted)}.course-module-head>b{font-size:9px;color:#52657d}.course-lesson-list{display:grid}.course-lesson-row{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:11px 13px;border:0;border-bottom:1px solid #edf1f5;background:#fff;color:#182d50;text-align:left}.course-lesson-row:last-child{border-bottom:0}.course-lesson-row:not([disabled]):hover{background:#f8fbff}.course-lesson-row>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d7e1ec;border-radius:5px;background:#f6f9fc;color:#002050}.course-lesson-row.completed>span{border-color:#c9e2d2;background:#f3faf6;color:#167149}.course-lesson-row strong,.course-lesson-row small{display:block}.course-lesson-row strong{font-size:9.5px}.course-lesson-row small{margin-top:2px;font-size:7.5px;color:var(--muted)}.course-lesson-row>i{font-size:8px;color:#8794a6}.course-lesson-row.draft{background:#fffcf6}.course-lesson-main{display:flex;align-items:center;gap:10px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left}.course-lesson-main>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d7e1ec;border-radius:5px;background:#f6f9fc;color:#002050}.lesson-delete-button{width:32px;height:32px}.add-course-lesson{min-height:40px;border:0;background:#f8fbff;color:#125fff;font-size:9px;font-weight:750}.add-course-lesson:hover{background:#eef5ff}
.course-builder-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;border:1px solid #d6e0eb;border-radius:8px;background:#fff}.course-builder-status h2{margin:7px 0 3px;font-size:19px}.course-builder-status p{margin:0;color:var(--muted);font-size:8.5px}.course-builder-status .btn{flex:0 0 auto}.course-code-card{display:flex;align-items:center;gap:11px;padding:12px;border:1px dashed #9db2cc;border-radius:7px;background:#f7faff}.course-code-card>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d0deed;border-radius:6px;background:#fff;color:#002050}.course-code-card small,.course-code-card strong{display:block}.course-code-card small{font-size:7.5px;color:var(--muted)}.course-code-card strong{margin-top:2px;font-size:17px;letter-spacing:.12em;color:#002050}.course-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.lesson-content-editor{min-height:210px;line-height:1.55}
.lesson-header{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid #d6e0eb;border-radius:8px;background:#fff}.lesson-header h2{margin:4px 0;font-size:21px}.lesson-header p{margin:0;color:#68798e;font-size:9px;line-height:1.55}.lesson-content{padding:20px;border:1px solid #d8e1ec;border-radius:8px;background:#fff;color:#263b5d;font-size:11px;line-height:1.8}.lesson-resource,.lesson-quiz{display:flex;align-items:center;gap:11px;width:100%;padding:13px;border:1px solid #d6e1ec;border-radius:7px;background:#f8fbff;color:#10264d;text-align:left}.lesson-resource.video{border-color:#cfd9e8;background:#002050;color:#fff}.lesson-resource>i:first-child,.lesson-quiz>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cbd9e8;border-radius:6px;background:#fff;color:#002050}.lesson-resource strong,.lesson-resource small,.lesson-quiz strong,.lesson-quiz small{display:block}.lesson-resource strong,.lesson-quiz strong{font-size:10px}.lesson-resource small,.lesson-quiz small{margin-top:2px;font-size:7.5px;color:var(--muted)}.lesson-resource.video small{color:#c7d4e8}.lesson-resource>i:last-child,.lesson-quiz>i{margin-left:auto;font-size:9px}.lesson-navigation{display:grid;grid-template-columns:1fr 1fr;gap:8px}.analytics-course-list,.admin-learning-list{display:grid;gap:7px}.analytics-course-list>div,.admin-learning-list>div{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #dce4ee;border-radius:7px;background:#fff}.analytics-course-list>div>span,.admin-learning-list>div>span{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d3dfec;border-radius:5px;background:#f4f8fc;color:#002050}.analytics-course-list strong,.analytics-course-list small,.admin-learning-list strong,.admin-learning-list small{display:block}.analytics-course-list strong,.admin-learning-list strong{font-size:9.5px}.analytics-course-list small,.admin-learning-list small{margin:2px 0 5px;font-size:7.5px;color:var(--muted)}.analytics-course-list>div>b,.admin-learning-list>div>b{font-size:8.5px;color:#176f49;white-space:nowrap}
@media(max-width:760px){.course-grid{grid-template-columns:1fr}.learning-hero{padding:17px}.learning-hero>.fa-graduation-cap{width:48px;height:48px;font-size:19px}.course-detail-stats{grid-template-columns:repeat(2,1fr)}.course-detail-stats>div:nth-child(3){border-left:0;border-top:1px solid #e3e9f1}.course-detail-stats>div:nth-child(4){border-top:1px solid #e3e9f1}.course-builder-status{align-items:stretch;flex-direction:column}.course-form-grid{grid-template-columns:1fr}.lesson-content{padding:15px}.analytics-course-list>div,.admin-learning-list>div{align-items:flex-start;flex-wrap:wrap}.analytics-course-list>div>b,.admin-learning-list>div>b{margin-left:42px}}
