.teacher-hero{max-width:900px;margin:0 auto 22px}.teacher-hero .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;width:100%;margin-bottom:0}.teacher-hero .topbar>h1{flex:1;min-width:0;margin:0;font-size:clamp(1.5rem,2.5vw,1.9rem);font-weight:700;line-height:1.2}.teacher-hero .topbar__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.teacher-hero .topbar-sub{color:var(--text-muted);max-width:680px;margin-top:6px;line-height:1.6}.teacher-hero__lang{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.t-lang-label{font-size:.82rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.t-lang-switch{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.t-lang-btn{appearance:none;border:0;background:transparent;color:var(--text-muted);font:700 .85rem var(--font-body,inherit);padding:8px 14px;cursor:pointer;border-right:1px solid var(--border);transition:background 140ms ease,color 140ms ease}.t-lang-btn:last-child{border-right:0}.t-lang-btn:hover{color:var(--accent-mint)}.t-lang-btn.active{background:var(--accent-mint);color:#08221f}.teacher-auth-gate{max-width:900px;margin:0 auto 18px}.teacher-auth-gate[hidden]{display:none}.t-auth-card{text-align:center;padding:28px 24px;background:linear-gradient(135deg,rgba(94,224,207,.08),rgba(94,224,207,.02));border-color:rgba(94,224,207,.22)}.t-auth-icon{font-size:2.2rem;margin-bottom:10px}.t-auth-card h2{font-size:1.25rem;margin-bottom:10px}.t-auth-card p{font-size:.92rem;max-width:520px;margin:0 auto 12px}.t-auth-features{list-style:none;padding:0;margin:14px auto 18px;max-width:440px;text-align:left;display:grid;gap:8px}.t-auth-features li{font-size:.88rem;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:9px;padding:8px 12px}.teacher-usage-bar{max-width:900px;margin:0 auto 18px;display:grid;gap:12px}.teacher-usage-bar[hidden]{display:none}.t-usage-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:var(--bg-surface)}.t-usage-left{flex:1;display:grid;gap:6px}.t-usage-label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.t-usage-progress{height:8px;background:var(--bg-elevated);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.t-usage-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--accent-mint),var(--accent-amber));border-radius:999px;transform:scaleX(0);transform-origin:0 50%;transition:transform 300ms ease}.t-usage-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.t-usage-text{font:700 .9rem var(--font-mono);color:var(--text)}.t-limit-card{border-color:rgba(251,116,128,.35);background:rgba(251,116,128,.06)}.t-card.t-limit-card h3{color:var(--accent-red);margin-bottom:6px;font-size:1em}.t-limit-card p{font-size:.9rem}.teacher-input-card{max-width:900px;margin:0 auto 18px;border:1px solid var(--border);border-radius:var(--radius-lg,14px);background:var(--card);padding:18px;transition:box-shadow 400ms ease}.teacher-input-card.flash{box-shadow:0 0 0 2px var(--accent-mint)}.teacher-input-card.is-locked{opacity:.55;pointer-events:none;filter:blur(.3px)}.teacher-input-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.teacher-tab{appearance:none;border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:9px;padding:7px 13px;font:600 .85rem inherit;cursor:pointer}.teacher-tab.active,.teacher-tab:hover{color:var(--accent-mint);border-color:var(--accent-mint-dim,var(--accent-mint))}.teacher-examples{margin-left:auto}.teacher-examples select{background:var(--bg-elevated,var(--bg-surface));color:var(--text);border:1px solid var(--border);border-radius:9px;padding:7px 10px;font-size:.85rem}#teacher-editor{width:100%;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:#282a36}#teacher-editor .CodeMirror{height:clamp(260px,42vh,520px);font-family:var(--font-mono);font-size:.9rem}#teacher-editor .CodeMirror{background:#282a36;color:#f8f8f2}#teacher-editor .CodeMirror-gutters{background:#282a36}#teacher-editor .CodeMirror-linenumber{color:#6d8a88}#teacher-editor .CodeMirror-cursor{border-left:1px solid #f8f8f0}#teacher-editor .CodeMirror-selected{background:rgba(255,255,255,.10)}:root[data-theme='light'] #teacher-editor{background:#f9fbfd}:root[data-theme='light'] #teacher-editor .CodeMirror{background:#f9fbfd;color:#1d2b3d}:root[data-theme='light'] #teacher-editor .CodeMirror-gutters{background:#f0f4f8;border-color:#dbe3ee}:root[data-theme='light'] #teacher-editor .CodeMirror-linenumber{color:#566680}:root[data-theme='light'] #teacher-editor .CodeMirror-cursor{border-left:1px solid #1d2b3d}:root[data-theme='light'] #teacher-editor .CodeMirror-selected{background:rgba(24,100,171,.18)}#teacher-editor .cm-s-dracula .CodeMirror-linenumber{color:#8aa3a1}#teacher-editor .cm-s-dracula span.cm-comment{color:#8296d8}#teacher-editor .code-editor-loading:only-child{min-height:clamp(260px,42vh,520px);padding:18px;margin:0;background:#282a36;color:var(--text-muted);font:.88rem/1.55 var(--font-mono)}.teacher-fallback-editor{width:100%;min-height:300px;background:var(--bg-surface);color:var(--text);border:0;padding:12px;font-family:var(--font-mono);font-size:.9rem;resize:vertical;border-radius:10px}.back-link{display:inline-flex;align-items:center;gap:6px;padding:6px 4px;margin-bottom:18px;color:var(--text-muted);font-size:.88rem;transition:color 150ms ease,transform 150ms ease}.back-link svg{width:16px;height:16px}.back-link:hover{color:var(--accent-mint);transform:translateX(-2px)}.playground-panel{width:100%;max-width:900px;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-md);transition:box-shadow 180ms ease,border-color 180ms ease}.playground-panel:focus-within{border-color:rgba(94,224,207,.48);box-shadow:var(--shadow-lg),var(--ring)}.playground-panel__header{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;min-height:44px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem}.playground-panel__header .dots{display:flex;gap:6px}.playground-panel__header .dots span{display:inline-block;width:10px;height:10px;border-radius:50%}.dots span:nth-child(1){background:var(--accent-red)}.dots span:nth-child(2){background:var(--accent-amber)}.dots span:nth-child(3){background:var(--accent-green)}.status-with-spinner{height:20px;overflow:hidden}.teacher-drop{margin-top:12px;border:1.5px dashed var(--border);border-radius:10px;padding:16px;text-align:center;color:var(--text-muted);font-size:.88rem;cursor:pointer;transition:border-color 140ms ease,background 140ms ease}.teacher-drop:hover,.teacher-drop.drag{border-color:var(--accent-mint);background:rgba(94,224,207,.06);color:var(--text)}.teacher-drop strong{color:var(--accent-mint)}.teacher-file-label{display:block;margin-top:8px;font-size:.8rem;color:var(--accent-green);min-height:1.1em}.teacher-actions-row{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}#teacher-status{font-size:.85rem;color:var(--text-muted);min-height:1.2em}#teacher-status.spinning::before{content:'';display:inline-block;width:12px;height:12px;margin-right:7px;border:2px solid var(--accent-mint);border-top-color:transparent;border-radius:50%;vertical-align:-2px;animation:t-spin 700ms linear infinite}@keyframes t-spin{to { transform: rotate(360deg); }}.teacher-input-row,.playground-input-row{display:flex;align-items:center;gap:8px;margin-top:18px;padding:10px 14px;background:rgba(79,209,197,0.08);border:1px solid rgba(79,209,197,0.4);border-radius:var(--radius-md,10px);box-shadow:0 0 0 1px rgba(79,209,197,0.15),0 8px 24px rgba(0,0,0,0.28);text-align:left;animation:t-input-in 0.2s ease-out}.teacher-input-row[hidden]{display:none !important}@keyframes t-input-in{from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); }}.playground-input-row__prompt,#teacher-input-prompt{color:var(--accent-mint,#54d3c9);font-family:var(--font-mono,'JetBrains Mono',monospace);font-weight:700;font-size:0.92rem;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.playground-input-row__field,#teacher-input-field{flex:1;min-width:0;background:transparent;color:var(--text,#e8ebf2);border:none;outline:none;padding:6px 8px;font-family:var(--font-mono,'JetBrains Mono',monospace);font-size:0.92rem}.playground-input-row__field::placeholder,#teacher-input-field::placeholder{color:var(--text-muted,#8b93a7);opacity:0.85}.playground-input-row__send,#teacher-input-send{appearance:none;border:none;background:var(--accent-mint,#54d3c9);color:#071817;font-family:inherit;font-weight:700;font-size:0.84rem;padding:7px 16px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:opacity 0.15s ease,transform 0.1s ease;flex-shrink:0}.playground-input-row__send:hover,#teacher-input-send:hover{opacity:0.9}.playground-input-row__send:active,#teacher-input-send:active{transform:scale(0.96)}.teacher-loading{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(4,9,16,.72)}.teacher-loading[hidden]{display:none}.teacher-loading-box{width:min(100%,440px);padding:34px 26px 30px;text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,18px);box-shadow:0 24px 60px rgba(0,0,0,.35);animation:t-loading-in 240ms ease}.teacher-loading-spinner{width:52px;height:52px;margin:0 auto 18px;border:4px solid var(--accent-mint-dim,rgba(94,224,207,.25));border-top-color:var(--accent-mint);border-radius:50%;animation:t-spin 800ms linear infinite}.teacher-loading-title{margin-bottom:10px;font-size:1.15rem;color:var(--text)}.teacher-loading-step{min-height:1.5em;font-size:.92rem;color:var(--text-muted)}.teacher-loading-dots{display:flex;gap:6px;justify-content:center;margin-top:18px}.teacher-loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--accent-mint);opacity:.3;animation:t-dot 1.1s ease-in-out infinite}.teacher-loading-dots span:nth-child(2){animation-delay:.15s}.teacher-loading-dots span:nth-child(3){animation-delay:.3s}@keyframes t-loading-in{from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; }}@keyframes t-dot{0%, 100% { opacity: .25; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.15); }}.teacher-report{max-width:900px;margin:26px auto 0;display:grid;gap:18px}.teacher-report[hidden]{display:none}.t-card{border:1px solid var(--border);border-radius:var(--radius-lg,14px);background:var(--card);padding:20px 22px}.t-card h3{font-size:1.05rem;margin-bottom:12px}.t-muted{color:var(--text-muted);font-size:.9rem}.t-hi{color:var(--accent-mint)}.t-note-small{font-size:.82rem;color:var(--text-muted);margin-top:8px}.t-overview-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.t-lang-chip{background:rgba(94,224,207,.12);color:var(--accent-mint);border:1px solid var(--accent-mint-dim,var(--accent-mint));font:700 .8rem var(--font-mono);padding:4px 11px;border-radius:999px}.t-conf{font-size:.78rem;color:var(--text-muted)}.t-overview-text{font-size:.95rem}.t-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin-top:14px}.t-stat{border:1px solid var(--border);border-radius:10px;padding:8px 6px;text-align:center;background:var(--bg-surface)}.t-stat strong{display:block;font-size:1.05rem;color:var(--accent-amber)}.t-stat span{font-size:.72rem;color:var(--text-muted)}.t-output{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:var(--font-mono);font-size:.85rem;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}.t-run-ok{color:var(--accent-green);font-weight:700;font-size:.9rem}.t-timeout{color:var(--accent-amber);font-weight:700;font-size:.9rem}.t-traceback{border:1px solid var(--accent-red);border-radius:10px;padding:14px 16px;margin-top:12px;background:rgba(251,116,128,.06)}.t-traceback h4{color:var(--accent-red);font-family:var(--font-mono);margin-bottom:8px}.t-tb-line{color:var(--text-muted);font-weight:400}.t-tb-msg{font-family:var(--font-mono);font-size:.82rem;color:var(--text-muted);margin-bottom:10px;white-space:pre-wrap}.t-tb-why{margin-bottom:6px}.t-tb-fix{color:var(--accent-green)}.t-tb-suggest{color:var(--accent-amber);font-size:.88rem;margin-top:8px}.t-bug-summary{color:var(--text-muted);font-size:.85rem;margin-bottom:12px}.t-clean{color:var(--accent-green);font-weight:700}.t-bug-card{border:1px solid var(--border);border-left:3px solid var(--accent-amber);border-radius:10px;padding:14px 16px;margin-bottom:12px;background:var(--bg-surface)}.t-bug-card.t-sev-error{border-left-color:var(--accent-red)}.t-bug-card.t-sev-style{border-left-color:var(--text-muted)}.t-bug-head{display:flex;align-items:baseline;gap:9px;margin-bottom:10px;flex-wrap:wrap}.t-badge{font:700 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px}.t-badge-error{background:rgba(251,116,128,.15);color:var(--accent-red)}.t-badge-warn{background:rgba(241,198,106,.15);color:var(--accent-amber)}.t-badge-style{background:rgba(154,170,194,.15);color:var(--text-muted)}.t-badge-free{background:rgba(109,221,138,.13);color:var(--accent-green)}.t-badge-premium{background:rgba(241,198,106,.18);color:var(--accent-amber)}.t-badge-unlimited{background:rgba(94,224,207,.18);color:var(--accent-mint)}.t-code-line{font-family:var(--font-mono);font-size:.83rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:9px 12px;margin-bottom:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.t-code-num{color:var(--accent-amber);font-weight:700;margin-right:10px}.t-code-fix{margin-top:7px;color:var(--accent-green);display:flex;gap:8px}.t-code-fix span{font-weight:700}.bug-why,.t-bug-sec h5{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px}.t-bug-sec{margin-bottom:8px;font-size:.92rem}.t-bug-sec:last-child{margin-bottom:0}.t-steps{list-style:none;counter-reset:tstep;padding-left:0;display:grid;gap:9px}.t-step{counter-increment:tstep;position:relative;padding-left:34px;border-left:2px solid var(--border)}.t-step::before{content:counter(tstep);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--bg-elevated,var(--bg-surface));border:1px solid var(--border);color:var(--accent-mint);font:700 .7rem/20px var(--font-mono);text-align:center}.t-step-code{display:block;font-family:var(--font-mono);font-size:.8rem;color:var(--accent-amber);background:var(--bg-surface);border-radius:6px;padding:3px 8px;margin-bottom:3px;overflow-x:auto;white-space:pre}.t-step-text{display:block;font-size:.88rem;color:var(--text)}.t-concept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.t-concept-card{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--bg-surface)}.t-concept-card h4{font-size:.8rem;text-transform:capitalize;color:var(--accent-mint);margin-bottom:6px;font-family:var(--font-mono)}.t-concept-card p{font-size:.85rem}.t-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;justify-content:center}.t-auth-card .t-actions{margin-top:16px}.teacher-history-section{max-width:900px;margin:28px auto 0}.t-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.t-history-actions{display:flex;gap:8px}.t-history-list{display:grid;gap:10px;max-height:520px;overflow-y:auto;padding-right:4px}.t-history-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);cursor:pointer;transition:border-color 150ms ease,transform 150ms ease}.t-history-item:hover{border-color:rgba(94,224,207,.35);transform:translateY(-1px)}.t-history-main{min-width:0}.t-history-code{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.t-history-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:.75rem;color:var(--text-muted)}.t-history-meta .t-badge{font-size:.6rem}.t-history-time{font-size:.72rem;color:var(--text-muted)}.t-history-empty{text-align:center;padding:18px;color:var(--text-muted);border:1px dashed var(--border);border-radius:10px}@media (max-width: 600px){.teacher-input-card,.t-card{padding:14px}.t-lang-btn{padding:7px 10px;font-size:.8rem}.teacher-examples{margin-left:0;width:100%}.teacher-examples select{width:100%}.t-step{padding-left:28px}.t-usage-card{flex-direction:column;align-items:flex-start}.t-history-item{grid-template-columns:1fr}}.pdg-preload,.pdg-preload *,.pdg-preload *::before,.pdg-preload *::after{transition:none !important}@media (prefers-reduced-motion: reduce){#teacher-status.spinning::before{animation:none}.teacher-input-card{transition:none}.teacher-loading-box{animation:none}.teacher-loading-spinner,.teacher-loading-dots span{animation:none}}
