@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-deep:#f3f4f6;--bg-surface:#fff;--bg-surface-glass:#ffffffe6;--bg-surface-glass-hover:#fffffffa;--border-color:#e5e7eb;--border-color-glow:#f9731640;--text-primary:#1f2937;--text-secondary:#4b5563;--text-muted:#9ca3af;--color-orange:#ff6b00;--color-orange-hover:#ea580c;--color-orange-glow:#f9731626;--color-ielts:#ff6b00;--color-ielts-hover:#ea580c;--color-ielts-glow:#f9731626;--color-pte:#4b5563;--color-pte-hover:#374151;--color-pte-glow:#4b556326;--color-success:#10b981;--color-success-glow:#10b9811a;--color-danger:#ef4444;--color-danger-glow:#ef44441a;--color-warning:#f59e0b;--color-warning-glow:#f59e0b1a;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 20px -2px #00000014;--shadow-lg:0 10px 30px -4px #0000001f;--transition:all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}button,input,textarea,select{color:inherit;font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.glass-panel{background:var(--bg-surface-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition)}.glass-panel-hover:hover{background:var(--bg-surface-glass-hover);box-shadow:var(--shadow-md);border-color:#f973164d;transform:translateY(-1px)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--text-primary);font-weight:700;line-height:1.25}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary-ielts{background-color:var(--color-orange);color:#fff}.btn-primary-ielts:hover{background-color:var(--color-orange-hover);box-shadow:0 4px 14px var(--color-orange-glow)}.btn-primary-pte{background-color:var(--color-pte);color:#fff}.btn-primary-pte:hover{background-color:var(--color-pte-hover);box-shadow:0 4px 14px var(--color-pte-glow)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background-color:#f9fafb}.btn-secondary:hover{background-color:#f3f4f6;border-color:#d1d5db}.btn-outline-ielts{border:1px solid var(--color-orange);color:var(--color-orange);background:0 0}.btn-outline-ielts:hover{background:var(--color-orange-glow)}.btn-outline-pte{border:1px solid var(--color-pte);color:var(--color-pte);background:0 0}.btn-outline-pte:hover{background:var(--color-pte-glow)}.split-pane{grid-template-columns:1fr 1fr;gap:20px;height:calc(100vh - 180px);margin-top:15px;display:grid}@media (width<=900px){.split-pane{grid-template-columns:1fr;height:auto}}.pane-left,.pane-right{height:100%;padding:24px;overflow-y:auto}.pane-left{border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-secondary);background:#fdfdfd;font-size:16px;line-height:1.7}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,to{border-color:var(--color-danger)}50%{border-color:#0000}}.timer-blink{animation:1s infinite blink;color:var(--color-danger)!important}@keyframes wave{0%,to{height:8px}50%{height:35px}}.voice-wave-bar{background-color:var(--color-orange);border-radius:2px;width:4px;height:10px}.voice-wave-bar.active{animation:1.2s ease-in-out infinite wave}.text-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;height:45px;color:var(--text-primary);transition:var(--transition);box-sizing:border-box;background:#fff;padding:10px 12px;font-size:14px}textarea.text-input{height:auto}select.text-input{appearance:none;box-sizing:border-box;background-image:url("data:image/svg+xml;utf8,<svg fill='%2364748b' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px!important}.text-input[style*="height: 32px"],.text-input[style*=height\:32px]{height:32px!important;padding:0 10px!important;font-size:12px!important}select.text-input[style*="height: 32px"],select.text-input[style*=height\:32px]{background-position:right 6px center;background-size:14px}.text-input:focus{border-color:var(--color-orange);box-shadow:0 0 0 3px var(--color-orange-glow);outline:none}.pte-focus:focus{border-color:var(--color-pte);box-shadow:0 0 0 3px var(--color-pte-glow)}.drag-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;transition:var(--transition);background:#fff;align-items:center;gap:12px;margin-bottom:12px;padding:16px;display:flex}.drag-item:hover{background:#f9fafb;border-color:#cbd5e1}.drag-item:active{cursor:grabbing;transform:scale(.99)}.fib-select{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:var(--transition);background:#fff;border-radius:4px;outline:none;margin:0 4px;padding:4px 8px;font-weight:600}.fib-select:focus{border-color:var(--color-orange);box-shadow:0 0 0 2px var(--color-orange-glow)}.fib-select option{color:var(--text-primary);background:#fff}.incorrect-highlight-word{cursor:pointer;border-radius:4px;margin:0 2px;padding:2px 6px;font-weight:500;transition:background-color .2s;display:inline-block}.incorrect-highlight-word:hover{background-color:#f3f4f6}.incorrect-highlight-word.selected{background-color:var(--color-warning-glow);border:1px dashed var(--color-warning);color:#b45309}@media (width<=768px){.mobile-stack{flex-direction:column!important;grid-template-columns:1fr!important}}.event-ticket-card{border:1px solid var(--border-color);background:#fff;border-radius:16px;flex-direction:row;align-items:center;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px -5px #00000008}.perforation-line{border-left:2px dashed var(--border-color);opacity:.6;align-self:stretch;margin:0 20px}@media (width<=600px){.event-ticket-card{flex-direction:column;align-items:flex-start;gap:15px}.perforation-line{border-left:none;border-top:2px dashed var(--border-color);align-self:auto;width:100%;height:1px;margin:10px 0}}
