@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #08081a;--bg-surface: #0e0e24;--bg-card: #13132c;--bg-input: #0a0a1e;--bg-elevated: #1a1a38;--border: rgba(130,120,255,.12);--border-md: rgba(130,120,255,.22);--border-focus: #8b5cf6;--text-primary: #f0effe;--text-secondary: #9d9cc0;--text-muted: #504f72;--accent: #8b5cf6;--accent-2: #c084fc;--accent-3: #e879f9;--accent-dim: rgba(139,92,246,.15);--accent-glow: rgba(139,92,246,.25);--accent-line: rgba(139,92,246,.3);--success: #4ade80;--danger: #f87171;--danger-dim: rgba(248,113,113,.1);--gold: #fbbf24;--radius: 10px;--radius-sm: 7px;--radius-lg: 14px;--radius-pill: 999px;--font: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Mono", monospace}html,body,#root{height:100%;background:var(--bg-base);color:var(--text-primary);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 50% at 15% -5%,rgba(139,92,246,.18) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 85% 105%,rgba(192,132,252,.12) 0%,transparent 55%),radial-gradient(ellipse 60% 60% at 50% 50%,rgba(8,8,26,.6) 0%,transparent 80%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle at 1px 1px,rgba(130,120,255,.04) 1px,transparent 0);background-size:28px 28px}#root{position:relative;z-index:1}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;height:56px;background:#08081ae6;border-bottom:1px solid var(--border);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);flex-shrink:0;z-index:20}.header-brand{display:flex;align-items:center;gap:10px}.header-brand-icon{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#8b5cf6,#e879f9);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;letter-spacing:-.5px;box-shadow:0 2px 14px #8b5cf680;flex-shrink:0}.app-header h1{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.app-header h1 span{background:linear-gradient(90deg,var(--accent-2),var(--accent-3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-badge{font-size:10px;font-weight:600;color:var(--accent-2);background:var(--accent-dim);border:1px solid var(--accent-line);padding:2px 7px;border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase}.ops-bar{display:flex;align-items:center;gap:6px}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.form-panel{flex:1;min-width:0;overflow-y:auto;padding:20px 24px 32px;display:flex;flex-direction:column;gap:14px}.sidebar{width:380px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg-surface);overflow:hidden;position:relative}.sidebar-top-line{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-line) 40%,var(--accent-3) 60%,transparent)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-header-left{display:flex;align-items:center;gap:8px}.sidebar-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 8px #4ade80b3;animation:pulse-dot 2.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 8px #4ade80b3}50%{opacity:.5;box-shadow:0 0 3px #4ade804d}}.sidebar-label{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.sidebar-json{flex:1;overflow-y:auto;padding:16px}.sidebar-json pre{font-family:var(--font-mono);font-size:11.5px;line-height:1.8;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;transition:border-color .25s ease,box-shadow .25s ease}.card:hover{border-color:var(--border-md);box-shadow:0 0 0 1px #8b5cf60f,0 8px 40px #0000004d}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.card-icon{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#8b5cf640,#e879f926);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.card-title{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px;min-width:0}.field:last-child{margin-bottom:0}.field label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.field input,.field textarea{width:100%;min-width:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);font-size:13px;font-weight:400;padding:9px 12px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;resize:vertical;overflow:hidden;text-overflow:ellipsis}.field textarea{overflow:auto;min-height:74px}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted)}.field input:focus,.field textarea:focus{border-color:var(--border-focus);background:#8b5cf60d;box-shadow:0 0 0 3px #8b5cf62e;overflow:visible;text-overflow:unset}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.field-row .field{min-width:0}.chip-input-wrap{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;display:flex;flex-wrap:wrap;gap:6px;min-height:44px;cursor:text;transition:border-color .15s,box-shadow .15s}.chip-input-wrap:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #8b5cf62e}.chip{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#8b5cf638,#e879f924);border:1px solid rgba(139,92,246,.35);color:#d8b4fe;font-size:11.5px;font-weight:500;padding:2px 8px 2px 10px;border-radius:var(--radius-pill);white-space:nowrap}.chip button{background:none;border:none;color:#d8b4fe80;cursor:pointer;font-size:15px;line-height:1;padding:0;transition:color .12s}.chip button:hover{color:#fff}.chip-input{background:none;border:none;color:var(--text-primary);font-family:var(--font);font-size:13px;outline:none;min-width:80px;flex:1}.chip-input::placeholder{color:var(--text-muted)}.subject-list{display:flex;flex-direction:column;gap:12px}.subject-card{background:#0a0a1e99;border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;transition:border-color .2s}.subject-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;background:linear-gradient(180deg,var(--accent),var(--accent-3));border-radius:0 3px 3px 0;opacity:.7}.subject-card:hover{border-color:var(--border-md)}.subject-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.subject-label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2)}.subject-index{width:20px;height:20px;border-radius:50%;background:var(--accent-dim);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--accent-2);flex-shrink:0}button{cursor:pointer;font-family:var(--font)}.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;padding:8px 15px;transition:all .18s ease;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 14px #8b5cf666}.btn-primary:hover{background:#9d6fff;box-shadow:0 4px 22px #8b5cf699}.btn-ghost{background:#ffffff0a;border:1px solid var(--border);color:var(--text-secondary)}.btn-ghost:hover{background:#ffffff14;border-color:var(--border-md);color:var(--text-primary)}.btn-danger{background:var(--danger-dim);border:1px solid rgba(248,113,113,.2);color:var(--danger);padding:5px 11px;font-size:11.5px}.btn-danger:hover{background:#f871712e;border-color:var(--danger)}.btn-success{background:#4ade801a;border:1px solid rgba(74,222,128,.22);color:var(--success)}.btn-success:hover{background:#4ade802e;border-color:#4ade8066}.btn-randomize{background:linear-gradient(135deg,#7c3aed,#c026d3);color:#fff;border:none;font-weight:600;letter-spacing:.015em;box-shadow:0 2px 16px #8b5cf673;padding:8px 18px}.btn-randomize:hover{background:linear-gradient(135deg,#8b4cf7,#d946ef);box-shadow:0 4px 26px #8b5cf6a6;transform:translateY(-1px)}.btn-add{background:none;border:1px dashed rgba(139,92,246,.2);color:var(--text-muted);width:100%;padding:10px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:all .18s;margin-top:6px}.btn-add:hover{border-color:var(--accent-line);color:var(--accent-2);background:var(--accent-dim)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;display:flex;align-items:center;justify-content:center;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border:1px solid var(--border-md);border-radius:var(--radius-lg);padding:30px;width:560px;max-width:calc(100vw - 40px);display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 90px #000000b3,0 0 0 1px #ffffff0a;animation:modal-in .24s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-in{0%{opacity:0;transform:scale(.93) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal h2{font-size:17px;font-weight:700;color:var(--text-primary)}.modal p{font-size:13px;color:var(--text-secondary);line-height:1.6}.modal textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:13px;height:240px;resize:vertical;outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.modal textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #8b5cf62e}.modal-error{font-size:12px;font-weight:500;color:var(--danger);background:var(--danger-dim);border:1px solid rgba(248,113,113,.2);border-radius:var(--radius-sm);padding:9px 13px}.modal-footer{display:flex;justify-content:flex-end;gap:8px}.reveal-card{opacity:0;transform:translateY(16px)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8b5cf633;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8b5cf666}
