:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#152033;background:#f4f7fb;--ink: #152033;--muted: #64748b;--line: #dce5ef;--surface: #ffffff;--brand: #087f8c;--brand-dark: #075d68;--accent: #f2b705;--good: #21835b;--bad: #ba2d2d;--brand-gradient: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);--accent-gradient: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);--success-gradient: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);--error-gradient: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .1);--shadow-lg: 0 14px 34px rgba(15, 23, 42, .08);--shadow-xl: 0 24px 60px rgba(7, 93, 104, .22);--shadow-glow: 0 0 20px rgba(8, 127, 140, .3)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(8,127,140,.12),transparent 34rem),linear-gradient(180deg,#f7fbff,#eef3f8);min-height:100vh}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--brand)}button,.button,input,textarea,select{border-radius:8px;font:inherit;transition:all var(--transition-fast)}button,.button{align-items:center;background:var(--brand-gradient);border:1px solid var(--brand);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:42px;padding:10px 14px;position:relative;overflow:hidden;border-radius:12px;transition:all var(--transition-normal)}button:before,.button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-fast)}button:hover:before,.button:hover:before{opacity:1}button:hover,.button:hover{border-color:var(--brand-dark);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow)}button:active,.button:active{transform:translateY(0)}button:disabled{background:#e6edf4;border-color:#d7e0ea;box-shadow:none;color:#8a9aae;cursor:not-allowed;transform:none}button:disabled:before{display:none}.primary{background:var(--brand-gradient);border-color:var(--brand);color:#fff}.primary:hover{background:linear-gradient(135deg,#0999a8 0%,var(--brand) 100%);border-color:var(--brand-dark);box-shadow:var(--shadow-lg),var(--shadow-glow)}.danger{background:var(--error-gradient);border-color:#dc2626;color:#fff}.danger:hover{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#b91c1c;box-shadow:var(--shadow-lg)}.topbar{align-items:center;background:#fffffff2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;gap:18px;justify-content:space-between;min-height:68px;padding:0 28px;position:sticky;top:0;z-index:10;box-shadow:0 2px 20px #0f172a14}.topbar .brand{display:flex;align-items:center;gap:8px;transition:transform var(--transition-fast)}.topbar .brand:hover{transform:scale(1.02)}.topbar .brand-icon{width:36px;height:36px;background:var(--brand-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.topbar .brand:hover .brand-icon{transform:rotate(5deg);box-shadow:var(--shadow-lg),var(--shadow-glow)}.brand{color:var(--brand);font-size:1.35rem;font-weight:900}nav{align-items:center;display:flex;flex-wrap:wrap;gap:16px}nav a{color:var(--ink);font-weight:600;padding:10px 16px;border-radius:12px;transition:all var(--transition-fast);position:relative;overflow:hidden}nav a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--brand-gradient);transition:left var(--transition-normal);z-index:-1}nav a:hover:before{left:0}nav a:hover{color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}nav a.active{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-md)}.icon-button{min-height:36px;padding:8px}main{min-height:calc(100vh - 68px);animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.home,.page,.live-layout{margin:0 auto;max-width:1180px;padding:42px 24px}.hero{align-items:center;background:radial-gradient(circle at 20% 80%,rgba(8,127,140,.15),transparent 50%),radial-gradient(circle at 80% 20%,rgba(242,183,5,.1),transparent 50%),linear-gradient(135deg,#0a2431e0,#117a8b9e),url(https://images.unsplash.com/photo-1509062522246-3755977927d7?auto=format&fit=crop&w=1600&q=80);background-position:center;background-size:cover;border-radius:16px;color:#fff;display:flex;min-height:500px;padding:56px;box-shadow:var(--shadow-xl);position:relative;overflow:hidden;animation:heroFadeIn 1s ease-out}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(8,127,140,.15) 0%,transparent 60%);pointer-events:none}.hero:after{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 6s ease-in-out infinite;pointer-events:none}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.hero>div{max-width:720px;position:relative;z-index:1}.eyebrow{color:var(--brand-dark);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.hero .eyebrow{color:#b8f3ec}h1{font-size:clamp(2rem,6vw,4.6rem);line-height:1;margin:8px 0 16px}h2{align-items:center;display:flex;font-size:1.2rem;gap:8px;margin:0 0 12px}.lead{font-size:1.2rem;line-height:1.6;max-width:680px}.actions,.card-actions,.toolbar{display:flex;flex-wrap:wrap;gap:10px}.feature-row,.grid-list,.controller-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}.feature-row>div{display:flex;flex-direction:column;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:24px;transition:all var(--transition-slow);position:relative;overflow:hidden}.feature-row>div:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(8,127,140,.05) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-normal)}.feature-row>div:hover:before{opacity:1}.feature-row>div:hover,.panel:hover,.item-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0f172a26,var(--shadow-glow);border-color:#087f8c4d}.feature-row svg{color:var(--brand);width:32px;height:32px;margin-bottom:16px;transition:all var(--transition-normal)}.feature-row>div:hover svg{transform:scale(1.1);color:var(--brand-dark)}.feature-row>div p{color:var(--muted);line-height:1.6}.auth-panel,.join-panel{margin:42px auto;max-width:460px}.auth-panel h1,.join-panel h1{margin-bottom:24px;text-align:center}.auth-panel .eyebrow,.join-panel .eyebrow{text-align:center;display:block;margin-bottom:8px}label{color:#4b5d6f;display:grid;font-weight:700;gap:8px;margin-bottom:14px}label .required{color:var(--bad)}input,textarea,select{background:#fff;border:1px solid #cbd8e5;color:var(--ink);min-height:44px;padding:10px 12px;width:100%;transition:all var(--transition-fast)}input::placeholder,textarea::placeholder{color:#94a3b8}input:hover,textarea:hover,select:hover{border-color:#94a3b8}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #087f8c29;outline:none}input.error,textarea.error{border-color:var(--bad);box-shadow:0 0 0 3px #ba2d2d29}input.success,textarea.success{border-color:var(--good);box-shadow:0 0 0 3px #21835b29}textarea{resize:vertical;min-height:120px}.inline-form,.split{display:grid;gap:12px;grid-template-columns:1fr auto}.inline-form input{flex:1}.label-text{display:flex;align-items:center;gap:6px}.form-subtitle{color:var(--muted);margin:-16px 0 24px;text-align:center}.form-footer{text-align:center;color:var(--muted);margin-top:16px}.form-footer a{color:var(--brand);font-weight:700}.form-footer a:hover{text-decoration:underline}.full{width:100%;justify-content:center;margin-top:8px}.page-title{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title h1{margin:0}.item-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-md);padding:24px;transition:all var(--transition-normal);position:relative;overflow:hidden}.item-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--brand-gradient);opacity:0;transition:opacity var(--transition-fast)}.item-card:hover:before{opacity:1}.item-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-xl),var(--shadow-glow);border-color:#087f8c33}.item-card h2{display:block;font-size:1.5rem;margin:0 0 8px;color:var(--ink);transition:color var(--transition-fast)}.item-card:hover h2{color:var(--brand)}.item-card p{color:var(--muted);flex:1;margin:0 0 16px;line-height:1.6}.item-card .card-meta{display:flex;gap:16px;color:var(--muted);font-size:.875rem;margin-bottom:16px}.item-card .card-actions{display:flex;gap:12px;margin-top:auto}.item-card .card-actions .button{flex:1;min-height:40px;font-size:.9rem}.item-card .card-actions .button:only-child{flex:0}.item-icon{width:48px;height:48px;background:linear-gradient(135deg,#e0f7fa,#b2ebf2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--brand);margin-bottom:8px}.editor{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 68px)}.slide-rail{background:#fff;border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:16px}.rail-header{display:flex;align-items:center;gap:12px}.back-button{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px}.slide-rail h1{font-size:1.25rem;line-height:1.2;margin:0;flex:1}.slide-buttons{display:flex;flex-direction:column;gap:8px}.quiz-btn{background:var(--accent-gradient);border-color:#fcd34d;color:#92400e}.quiz-btn:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);border-color:#f59e0b;box-shadow:var(--shadow-lg)}.full{margin-bottom:10px;width:100%}.slide-list{display:grid;gap:8px;margin-top:8px;flex:1;overflow-y:auto}.slide-chip{align-items:flex-start;display:grid;grid-template-columns:auto 1fr auto;gap:12px;text-align:left;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:all var(--transition-normal);position:relative;overflow:hidden;cursor:pointer}.slide-chip:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--brand-gradient);opacity:0;transition:opacity var(--transition-fast)}.slide-chip:hover:before{opacity:.05}.slide-chip:hover{background:#087f8c05;border-color:#087f8c4d;transform:translate(4px);box-shadow:var(--shadow-md)}.slide-chip.active{background:linear-gradient(135deg,#087f8c1a,#087f8c0d);border-color:var(--brand);box-shadow:var(--shadow-md),var(--shadow-glow)}.slide-chip.active:before{opacity:.1}.slide-number{background:var(--brand);color:#fff;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.slide-chip.active .slide-number{background:var(--brand-dark)}.slide-title{font-weight:600;color:var(--ink)}.slide-chip small{color:#94a3b8;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.editor-form{margin:0 auto;max-width:850px;padding:32px 24px;width:100%}.builder{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 68px)}.builder-rail{background:#fff;border-right:1px solid var(--line);padding:18px}.builder-rail .back-button{width:100%;height:auto;justify-content:center;padding:10px 12px}.builder-rail h1{font-size:1.35rem;line-height:1.2;margin:16px 0}.builder-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:16px}.builder-workspace{padding:22px}.builder-topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.builder-topbar h2{display:block;font-size:1.8rem;line-height:1.2;margin:0}.builder-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(380px,1fr) 390px}.canvas-column{position:sticky;top:88px}.slide-canvas{align-items:center;aspect-ratio:16 / 9;border:2px solid var(--line);border-radius:16px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:48px;width:100%;background:var(--surface);position:relative;transition:all var(--transition-normal)}.slide-canvas:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(8,127,140,.02) 0%,transparent 50%);pointer-events:none}.slide-canvas:hover{border-color:#087f8c4d;box-shadow:var(--shadow-xl),var(--shadow-glow);transform:scale(1.01)}.slide-canvas h3{font-size:clamp(1.4rem,3vw,2.6rem);line-height:1.08;margin:0 0 20px;max-width:100%;overflow-wrap:anywhere}.slide-canvas p,.slide-canvas ul,.slide-canvas ol{line-height:1.25;margin:0;max-width:94%;overflow-wrap:anywhere;white-space:pre-wrap}.slide-canvas li{margin-bottom:.35em}.live-slide-canvas,.student-slide-canvas{box-shadow:none}.live-slide-canvas{margin:12px 0 18px;min-height:280px}.student-slide-canvas{min-height:320px}.settings-column{display:grid;gap:14px}.settings-section{background:#fffffff5;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:16px}.settings-section h3{align-items:center;display:flex;font-size:1rem;gap:8px;margin:0 0 14px}.segmented{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.segmented button{min-height:42px;padding:10px 12px;background:#fffc;border:1px solid var(--line);border-radius:10px;transition:all var(--transition-fast);font-weight:600}.segmented button:hover{background:#087f8c0d;border-color:#087f8c4d;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.segmented .active,.correct.active{background:var(--brand-gradient);border-color:var(--brand);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-1px)}.quiz-preview-strip{align-items:center;background:#fff8df;border:1px solid #f2d36b;border-radius:12px;display:grid;gap:4px;margin-top:16px;padding:14px}.option-editor{display:grid;gap:10px}.option-header,.option-edit-row{align-items:center;display:grid;gap:8px}.option-header{grid-template-columns:1fr auto}.option-edit-row{grid-template-columns:auto 1fr auto}.option-edit-row .correct{min-height:38px;padding:8px}.short-answer-box{display:grid;gap:12px}.quiz-box{background:#eef6f7;border-radius:8px;margin:18px 0;padding:18px}.option-row{align-items:center;grid-template-columns:28px 1fr}.option-row input[type=radio]{min-height:auto;width:auto}.session-hero{align-items:center;background:radial-gradient(circle at 30% 70%,rgba(8,127,140,.2),transparent 60%),linear-gradient(135deg,#087f8cf0,#152033f5),linear-gradient(90deg,var(--brand),#152033);border-radius:20px;color:#fff;display:flex;justify-content:space-between;gap:32px;padding:40px;box-shadow:var(--shadow-xl),var(--shadow-glow);position:relative;overflow:hidden;animation:sessionHeroSlideIn .8s ease-out}@keyframes sessionHeroSlideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.session-hero:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 8s ease-in-out infinite;pointer-events:none}.session-hero:after{content:"";position:absolute;bottom:-30%;left:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(242,183,5,.15) 0%,transparent 70%);animation:float 10s ease-in-out infinite reverse;pointer-events:none}.session-hero>div{position:relative;z-index:1}.session-code{display:block;font-size:clamp(3rem,9vw,7rem);line-height:1;font-weight:900;letter-spacing:.05em;text-shadow:0 4px 20px rgba(0,0,0,.3)}.join-url{overflow-wrap:anywhere;color:#fffc;font-size:.9rem;margin-top:8px}.qr{background:var(--surface);border-radius:16px;height:200px;padding:16px;width:200px;box-shadow:var(--shadow-xl),var(--shadow-glow);position:relative;transition:all var(--transition-normal);border:2px solid rgba(255,255,255,.1)}.qr:hover{transform:scale(1.05);box-shadow:0 24px 60px #075d684d}.question-preview{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:12px;margin:18px 0;padding:18px}.question-preview strong{display:block;font-size:1.1rem;color:#92400e;margin-bottom:12px}.question-preview div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.question-preview span{background:#fff;border:1px solid #fcd34d;border-radius:8px;padding:8px 12px;font-weight:600;color:#451a03}.status-line{background:linear-gradient(135deg,#087f8c1a,#087f8c0d);border:1px solid rgba(8,127,140,.2);border-left:4px solid var(--brand);border-radius:12px;color:var(--brand);font-weight:700;padding:14px 16px;margin-top:16px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.status-line:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--brand-gradient);opacity:0;transition:opacity var(--transition-normal)}.status-line:hover:before{opacity:.05}.status-line:after{content:"";width:8px;height:8px;background:var(--brand);border-radius:50%;animation:pulse 2s infinite;box-shadow:var(--shadow-glow)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.muted{color:var(--muted)}.controller-grid{grid-template-columns:2fr 1fr}.slide-preview{min-height:320px}.slide-preview h1{font-size:clamp(2rem,5vw,4rem)}.metric{color:#117a8b;font-size:1.2rem;font-weight:900}.participant-list{display:flex;flex-wrap:wrap;gap:8px}.participant-list span{background:#eef6f7;border-radius:8px;padding:8px 10px}.rank-row{align-items:center;border-top:1px solid #e1e8f0;display:flex;justify-content:space-between;padding:10px 0}.student-screen{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 68px);padding:22px;background:linear-gradient(180deg,#f7fbff,#eef3f8)}.student-card{max-width:760px;min-height:360px;width:100%;border-radius:16px}.student-card h1{font-size:clamp(2rem,10vw,4.2rem);line-height:1.2}.answer-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.answer-grid button{border-left:6px solid var(--brand);font-size:1.2rem;justify-content:flex-start;min-height:88px;padding:20px;background:var(--surface);transition:all var(--transition-normal);position:relative;overflow:hidden}.answer-grid button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--brand-gradient);opacity:0;transition:opacity var(--transition-fast)}.answer-grid button:hover:before{opacity:.05}.answer-grid button:hover{transform:scale(1.03);box-shadow:var(--shadow-lg),var(--shadow-glow);border-left-color:var(--brand-dark)}.answer-grid button:active{transform:scale(.98)}.answer-grid button:nth-child(2){border-left-color:#d97706}.answer-grid button:nth-child(3){border-left-color:#4f46e5}.answer-grid button:nth-child(4){border-left-color:#be185d}.answer-grid button.correct{background:var(--success-gradient);border-left-color:var(--good);color:#fff;box-shadow:var(--shadow-lg)}.answer-grid button.incorrect{background:var(--error-gradient);border-left-color:var(--bad);color:#fff;box-shadow:var(--shadow-lg)}.mini-board{margin-top:24px}.student-note{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:12px;left:18px;padding:12px 16px;position:fixed;right:18px;top:86px;font-weight:600;color:#92400e;box-shadow:var(--shadow-md);animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error{color:var(--bad);font-weight:700;padding:10px 14px;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:8px;border-left:4px solid var(--bad)}.success{color:var(--good);font-weight:900;padding:10px 14px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:8px;border-left:4px solid var(--good)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:12px}.toast{padding:16px 22px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-xl),var(--shadow-glow);display:flex;align-items:center;gap:14px;min-width:300px;animation:toastSlideIn .4s ease-out;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.toast.success{border-left:4px solid var(--good);background:var(--success-gradient)}.toast.error{border-left:4px solid var(--bad);background:var(--error-gradient)}.toast.info{border-left:4px solid var(--brand);background:var(--brand-gradient);color:#fff}.result-score{font-size:2rem;font-weight:900;color:var(--good);text-align:center;margin-top:24px}.slide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.slide-counter{background:linear-gradient(135deg,#e0f7fa,#b2ebf2);color:var(--brand);padding:4px 12px;border-radius:20px;font-weight:700;font-size:.875rem}.slide-body{color:var(--muted);line-height:1.6;margin-bottom:16px}.participant-badge{background:linear-gradient(135deg,#e0f7fa,#b2ebf2);border-radius:20px;padding:6px 12px;font-weight:600;color:var(--brand-dark);display:inline-block;margin:4px}.participant-count{color:var(--muted);font-size:.875rem;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.rank-first{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;padding:8px 12px;margin:4px 0}.rank-position{font-weight:900;color:var(--brand);margin-right:8px}.rank-name{flex:1}.rank-score{color:var(--good);font-size:1.1rem}.note-form textarea{min-height:100px;resize:vertical}.note-form button{margin-top:12px;width:100%;justify-content:center}.empty-state{align-self:center;color:var(--muted);padding:56px 40px;text-align:center;background:var(--surface);border-radius:16px;border:2px dashed var(--line);transition:all var(--transition-normal)}.empty-state:hover{border-color:#087f8c4d;box-shadow:var(--shadow-lg)}.empty-state svg{width:72px;height:72px;color:var(--line);margin-bottom:20px;transition:all var(--transition-normal)}.empty-state:hover svg{color:var(--brand);transform:scale(1.1)}.empty-state h3{font-size:1.4rem;margin:0 0 12px;color:var(--ink)}.empty-state p{margin:0 0 24px;color:var(--muted);max-width:300px}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:28px;width:60%;margin-bottom:16px}.skeleton-card{height:160px}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all var(--transition-normal)}.card-lift{transition:all var(--transition-normal)}.card-lift:hover{transform:translateY(-6px);box-shadow:0 24px 48px #0f172a26}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}html{scroll-behavior:smooth}::selection{background:#087f8c4d;color:var(--ink)}@media (max-width: 820px){.topbar,.session-hero,.page-title{align-items:flex-start;flex-direction:column}.topbar{padding:14px 18px;gap:12px}.brand{font-size:1.15rem}nav{gap:8px;width:100%;justify-content:flex-start}nav a{background:#eef6f7;border-radius:8px;padding:8px 12px;font-size:.9rem}.hero{min-height:420px;padding:28px;border-radius:12px}.hero h1{font-size:2.5rem}.hero .lead{font-size:1rem}.feature-row,.grid-list,.controller-grid,.answer-grid,.inline-form,.split,.editor,.builder,.builder-grid{grid-template-columns:1fr}.builder-rail{border-bottom:1px solid var(--line);border-right:0}.builder-topbar{align-items:stretch;flex-direction:column}.builder-workspace{padding:16px}.canvas-column{position:static}.settings-column{order:-1}.slide-canvas{padding:22px}.feature-row{gap:14px}.slide-rail{border-bottom:1px solid #e1e8f0;border-right:0;padding:16px}.qr{height:160px;width:160px}.session-hero{padding:24px}.session-code{font-size:3.5rem}.student-screen{align-items:stretch;padding:14px}.join-panel,.student-card{margin:0;max-width:none;width:100%}.student-card h1,.join-panel h1{font-size:2rem;line-height:1.08}.answer-grid button{min-height:72px;font-size:1rem}.auth-panel,.join-panel{margin:24px auto;padding:24px}.page,.home{padding:24px 16px}.actions{flex-direction:column}.actions .button{width:100%;justify-content:center}.toolbar{flex-direction:column}.toolbar button{width:100%;justify-content:center}}@media (max-width: 480px){:root{font-size:14px}.hero{min-height:350px;padding:20px}.hero h1{font-size:2rem}.session-hero{padding:18px}.session-code{font-size:2.5rem}.qr{height:140px;width:140px}.item-card h2{font-size:1.2rem}.panel,.item-card{padding:16px}}.builder{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 68px);background:var(--surface)}.builder-rail{background:#fffffffa;border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.builder-rail h1{font-size:1.4rem;line-height:1.2;margin:0;color:var(--ink)}.builder-actions{display:flex;flex-direction:column;gap:8px}.template-selector{background:#087f8c0d;border:1px solid rgba(8,127,140,.1);border-radius:12px;padding:16px}.template-selector h3{margin:0 0 12px;font-size:1rem;color:var(--ink)}.template-grid{display:grid;gap:8px}.template-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;transition:all var(--transition-fast);cursor:pointer;text-align:left}.template-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.template-card.quiz-template{flex-direction:column;align-items:flex-start;gap:8px}.template-card.quiz-template small{color:var(--muted);font-size:.8rem}.template-icon{width:40px;height:40px;background:var(--brand-gradient);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.slide-list h3{margin:0 0 12px;font-size:1rem;color:var(--ink)}.slide-item{align-items:stretch;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;margin-bottom:6px}.slide-item.dragging{opacity:.55}.slide-drag-handle{align-items:center;align-self:stretch;color:#94a3b8;cursor:grab;display:flex;justify-content:center;width:22px}.slide-drag-handle:active{cursor:grabbing}.slide-delete-button{align-self:center;background:#fff;border:1px solid #fecdd3;box-shadow:none;color:var(--bad);min-height:32px;opacity:0;padding:6px;transition:opacity var(--transition-fast);width:32px}.slide-item:hover .slide-delete-button,.slide-delete-button:focus-visible{opacity:1}.slide-delete-button:hover{background:#fee2e2;border-color:var(--bad);box-shadow:none;color:var(--bad);transform:none}.builder-workspace{padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.builder-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.builder-topbar h2{margin:0;font-size:1.5rem}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar button{min-height:36px;padding:8px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.9rem}.canvas-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.canvas-header h3{margin:0;font-size:1.1rem;color:var(--ink)}.canvas-controls{display:flex;align-items:center;gap:8px}.canvas-controls button{padding:6px 12px;font-size:.9rem}.canvas-controls span{font-size:.9rem;color:var(--muted);min-width:80px;text-align:center}.slide-preview-container{position:relative}.slide-preview-container.preview-mode{background:#000;padding:20px;border-radius:12px}.quiz-preview-strip{background:var(--accent-gradient);border:1px solid #fcd34d;border-radius:12px;margin-top:16px;padding:16px;display:flex;flex-direction:column;gap:8px}.quiz-preview-strip strong{color:#92400e;font-size:1.1rem}.quiz-preview-strip span{color:#92400e}.quiz-meta{display:flex;gap:16px;font-size:.9rem;color:#92400e}.settings-column{display:flex;flex-direction:column;gap:20px;min-width:320px}.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.settings-section h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:1.1rem;color:var(--ink)}.settings-section h4{margin:0 0 12px;font-size:1rem;color:var(--ink)}.formatting-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.color-presets{margin-top:16px}.color-presets span{display:block;font-size:.9rem;color:var(--muted);margin-bottom:8px}.color-buttons{display:flex;gap:8px}.color-btn{padding:8px 12px;border-radius:6px;border:1px solid var(--line);font-size:.8rem;font-weight:600;transition:all var(--transition-fast)}.color-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-sm)}.quiz-type-selector{margin-bottom:20px}.quiz-type-grid{display:grid;gap:8px;margin-top:8px}.quiz-type-option{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;transition:all var(--transition-fast);cursor:pointer;text-align:left}.quiz-type-option:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.quiz-type-option.active{background:var(--brand-gradient);border-color:var(--brand);color:#fff}.quiz-type-icon{width:36px;height:36px;background:#fff3;border-radius:6px;display:flex;align-items:center;justify-content:center}.quiz-type-option.active .quiz-type-icon{background:#ffffff4d}.quiz-type-info strong{display:block;font-size:.95rem}.quiz-type-info small{font-size:.8rem;opacity:.8}.quiz-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.option-editor{margin-top:16px}.option-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.options-list{display:flex;flex-direction:column;gap:8px}.option-item{display:flex;align-items:center;gap:8px}.correct-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--muted);transition:all var(--transition-fast)}.correct-btn.active{background:var(--good);border-color:var(--good);color:#fff}.correct-btn:hover{border-color:var(--good);color:var(--good)}.option-input{flex:1;padding:8px 12px;border:1px solid var(--line);border-radius:6px;transition:border-color var(--transition-fast)}.option-input:focus{border-color:var(--brand);outline:none}.remove-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--bad);transition:all var(--transition-fast)}.remove-btn:hover{background:var(--bad);color:#fff}.quiz-hint{display:flex;align-items:center;gap:8px;padding:12px;background:#f2b7051a;border:1px solid rgba(242,183,5,.3);border-radius:8px;color:#92400e;font-size:.9rem;margin-top:12px}.quiz-hint svg{color:#f59e0b}.rich-text-editor{position:relative}.rich-text-input{width:100%;min-height:120px;padding:12px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14px;line-height:1.4;resize:vertical;transition:border-color var(--transition-fast)}.rich-text-input:focus{border-color:var(--brand);outline:none}.rich-text-preview{position:absolute;top:12px;left:12px;right:12px;bottom:12px;pointer-events:none;color:transparent;font-family:inherit;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;overflow:hidden;z-index:1}.rich-text-input:focus+.rich-text-preview{display:none}@media (max-width: 1024px){.builder{grid-template-columns:280px 1fr}.settings-column{min-width:280px}}@media (max-width: 768px){.builder{grid-template-columns:1fr;gap:20px}.builder-rail{position:sticky;top:0;z-index:10;border-right:none;border-bottom:1px solid var(--line);padding:16px;max-height:200px;overflow-y:auto}.builder-workspace{padding:16px}.builder-topbar{flex-direction:column;align-items:stretch;gap:12px}.toolbar{justify-content:center;flex-wrap:wrap}.builder-grid{display:flex;flex-direction:column;gap:20px}.settings-column{min-width:unset;order:-1}.canvas-column{order:1}.formatting-toolbar{gap:8px}.segmented{flex-wrap:wrap}.segmented button{min-width:80px;padding:6px 8px;font-size:.8rem}.split{grid-template-columns:1fr;gap:8px}.rich-text-input{min-height:100px}}@media (max-width: 480px){.builder-rail,.builder-workspace{padding:12px}.settings-section{padding:16px}.template-card{padding:8px;gap:8px}.template-icon{width:32px;height:32px}.toolbar button{padding:6px;min-height:32px;font-size:.8rem}.canvas-controls{gap:4px}.canvas-controls button{padding:4px 8px;font-size:.8rem}.segmented button{min-width:70px;padding:5px 6px}}@media (hover: none) and (pointer: coarse){.segmented button{min-height:44px}.toolbar button{min-height:44px;padding:10px}.template-card{min-height:48px}.slide-delete-button{opacity:1;width:32px;height:32px}}.slide-save-section{padding:20px;background:var(--surface);border-top:1px solid var(--line);position:sticky;bottom:0;z-index:5}.slide-save-section button{min-height:44px;font-weight:600;box-shadow:var(--shadow-md)}.builder{background:#eef2f6;grid-template-columns:300px minmax(0,1fr);height:calc(100dvh - 68px);min-height:0;overflow:hidden}.builder-rail{background:#fbfcfe;border-right:1px solid #d9e2ec;display:flex;flex-direction:column;height:calc(100dvh - 68px);min-height:0;overflow-y:auto}.builder-rail .slide-list{flex:1 1 auto;min-height:180px;overflow-y:scroll;padding-right:4px}.builder-rail .back-button,.builder-actions button,.toolbar button,.canvas-controls button,.segmented button,.correct-btn,.remove-btn{border-radius:8px}.builder-workspace{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;height:calc(100dvh - 68px);min-height:0;overflow:hidden;padding:16px 18px 0}.builder-workspace>.builder-topbar{grid-row:1}.builder-workspace>.success,.builder-workspace>.error{grid-row:2;margin:0}.builder-workspace>.builder-grid{grid-row:3}.builder-topbar{background:#ffffffeb;border:1px solid #dce5ef;border-radius:8px;box-shadow:0 8px 20px #0f172a0f;margin:0;padding:12px 14px}.builder-topbar h2{font-size:1.35rem;line-height:1.2}.builder-topbar .eyebrow{margin:0 0 4px}.toolbar button,.canvas-controls button{background:#fff;border-color:#cbd8e5;box-shadow:none;color:var(--ink);min-height:36px}.toolbar button:hover,.canvas-controls button:hover,.toolbar button.active,.canvas-controls button.active{background:#eaf7f8;border-color:var(--brand);box-shadow:0 2px 8px #087f8c1f;color:var(--brand-dark);transform:none}.toolbar .danger{background:#fff1f2;border-color:#fecdd3;color:var(--bad)}.toolbar .danger:hover{background:#fee2e2;border-color:var(--bad);color:var(--bad)}.builder-grid{display:grid;grid-template-columns:minmax(520px,1fr) 360px;gap:16px;height:100%;min-height:0;overflow:hidden}.canvas-column{align-content:center;background:#dfe6ee;border:1px solid #ccd6e0;border-radius:8px;display:grid;grid-template-rows:minmax(0,1fr);min-height:0;overflow:auto;padding:12px;position:static}.canvas-header{align-items:center;background:#f8fafc;border:1px solid #dce5ef;border-radius:8px;margin:0 0 14px;padding:8px 10px}.canvas-header h3{font-size:.96rem}.slide-preview-container{align-items:center;background:linear-gradient(90deg,rgba(15,23,42,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(15,23,42,.04) 1px,transparent 1px),#cfd8e3;background-size:24px 24px;border-radius:8px;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:0;overflow:auto;padding:12px}.slide-preview-container.preview-mode{background:#111827;padding:24px}.slide-canvas{aspect-ratio:16 / 9;border:1px solid rgba(15,23,42,.16);border-radius:4px;box-shadow:0 18px 44px #0f172a33;display:block;height:auto;max-height:none;max-width:100%;overflow:hidden;padding:clamp(22px,4.8vw,58px);position:relative;transform:none;flex:0 0 auto;width:min(100%,calc((100dvh - 176px) * 16 / 9))}.editable-slide-canvas{cursor:default}.slide-canvas:hover{border-color:#0f172a33;box-shadow:0 18px 44px #0f172a33;transform:none}.slide-canvas h3{color:inherit;flex:0 0 auto;font-size:clamp(1.4rem,4.5vw,var(--slide-title-size, 48px));line-height:1.08;margin:0 0 .38em;max-width:100%;overflow-wrap:anywhere;position:relative;z-index:1}.slide-body-text{color:inherit;font-size:clamp(1rem,3.1vw,var(--slide-body-size, 34px));line-height:1.25;margin:0;max-height:100%;max-width:100%;overflow:hidden;overflow-wrap:anywhere;position:relative;white-space:pre-wrap;z-index:1}ul.slide-body-text,ol.slide-body-text{padding-left:1.25em;text-align:left;white-space:normal}.slide-body-text li{margin-bottom:.28em;padding-left:.1em}.slide-text-box{border:1px solid transparent;border-radius:3px;line-height:1.15;max-height:100%;min-width:12%;overflow:visible;padding:.18em .24em;position:absolute;white-space:pre-wrap;z-index:2}.slide-text-box-display,.slide-text-box-editor{display:block;height:100%;max-height:100%;min-height:inherit;overflow:hidden;width:100%}.slide-text-box-editor{background:transparent;border:0;box-shadow:none;color:inherit;font:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;min-height:inherit;outline:none;padding:0;resize:none;text-align:inherit;text-decoration:inherit;white-space:pre-wrap}.slide-text-box-editor:focus,.slide-text-box-editor:hover{border:0;box-shadow:none;outline:none}.slide-text-box.role-title{line-height:1.05}.slide-text-box ul,.slide-text-box ol{margin:0;padding-left:1.25em}.slide-text-box li{margin-bottom:.22em}.slide-text-box.editable{cursor:text}.slide-text-box.editable:hover,.slide-text-box.selected{background:#ffffff14;border-color:#087f8cd1;box-shadow:0 0 0 1px #087f8c33;outline:none}.slide-text-box:focus{border-color:var(--brand);box-shadow:0 0 0 2px #087f8c33;outline:none}.slide-text-box-edge,.slide-text-box-corner{background:var(--brand);position:absolute;touch-action:none}.slide-text-box-edge{opacity:0}.edge-top,.edge-bottom{cursor:move;height:10px;left:10px;right:10px}.edge-top{top:-5px}.edge-bottom{bottom:-5px}.edge-left,.edge-right{bottom:10px;cursor:move;top:10px;width:10px}.edge-left{left:-5px}.edge-right{right:-5px}.slide-text-box-corner{border:2px solid #ffffff;border-radius:50%;box-shadow:0 2px 8px #0f172a33;height:12px;width:12px}.corner-nw{cursor:nwse-resize;left:-6px;top:-6px}.corner-ne{cursor:nesw-resize;right:-6px;top:-6px}.corner-sw{bottom:-6px;cursor:nesw-resize;left:-6px}.corner-se{bottom:-6px;cursor:nwse-resize;right:-6px}.slide-text-box-delete{background:#fff;border:1px solid #fecdd3;border-radius:999px;box-shadow:0 4px 10px #0f172a29;color:var(--bad);font-size:15px;font-weight:900;height:22px;line-height:1;min-height:0;padding:0;position:absolute;right:-11px;top:-26px;width:22px;z-index:3}.slide-text-box-delete:hover{background:#fee2e2;border-color:var(--bad);box-shadow:0 4px 10px #0f172a29;color:var(--bad);transform:none}.text-box-tools .full{margin:0 0 12px}.text-box-tools textarea{min-height:82px;resize:vertical}.quiz-preview-strip{border-radius:8px;flex:0 0 auto;margin:12px auto 0;max-width:min(100%,calc((100dvh - 176px) * 16 / 9));padding:12px 14px;width:min(100%,calc((100dvh - 176px) * 16 / 9))}.settings-column{display:flex;flex-direction:column;gap:12px;height:100%;max-height:100%;min-height:0;min-width:0;overflow-y:scroll;padding-bottom:18px;padding-right:6px}.builder-rail::-webkit-scrollbar,.builder-rail .slide-list::-webkit-scrollbar,.settings-column::-webkit-scrollbar{width:10px}.builder-rail::-webkit-scrollbar-thumb,.builder-rail .slide-list::-webkit-scrollbar-thumb,.settings-column::-webkit-scrollbar-thumb{background:#b8c6d6;border:2px solid #f8fafc;border-radius:999px}.settings-section{border-radius:8px;box-shadow:0 6px 16px #0f172a0f;padding:16px}.settings-section h3{font-size:1rem;margin-bottom:12px}.segmented{display:grid;gap:6px}.segmented button{background:#fff;border-color:#cbd8e5;box-shadow:none;color:var(--ink);min-width:0}.segmented button:hover,.segmented .active{background:#eaf7f8;border-color:var(--brand);box-shadow:none;color:var(--brand-dark);transform:none}.rich-text-input{min-height:150px;resize:none}@media (max-width: 1100px){.builder{grid-template-columns:260px minmax(0,1fr)}.builder-grid{grid-template-columns:minmax(360px,1fr) 320px}}@media (max-width: 900px){.builder{height:auto;min-height:calc(100vh - 68px);overflow:visible}.builder-rail{height:auto;max-height:38vh;overflow-y:auto}.builder-workspace{height:auto;min-height:0;overflow:visible;padding:12px}.builder-workspace,.builder-grid,.settings-column{overflow:visible}.builder-grid{grid-template-columns:1fr}.canvas-column{order:0;min-height:auto;overflow:auto;padding:10px}.settings-column{max-height:none;order:1;overflow:visible;padding-right:0}.slide-preview-container{min-height:0;overflow:auto;padding:10px}.slide-canvas,.quiz-preview-strip{max-height:none;width:max(720px,100%)}.builder-topbar{align-items:stretch;flex-direction:column}.toolbar,.canvas-controls{justify-content:flex-start}}@media (max-width: 520px){.builder{grid-template-columns:1fr}.builder-rail{max-height:42vh;padding:12px}.builder-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.builder-actions button{font-size:.82rem;gap:4px;min-height:38px;padding:8px 6px}.canvas-header{align-items:stretch;flex-direction:column;gap:8px}.canvas-controls{flex-wrap:wrap}.slide-canvas{padding:14px;width:max(620px,100%)}}
