:root{--color-bg:#f8f9fc;--color-surface:#fff;--color-text:#1a1a2e;--color-text-secondary:#5a5f7a;--color-text-muted:#8b90a8;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-light:#eef2ff;--color-primary-subtle:#e0e7ff;--color-border:#e2e4ec;--color-border-light:#eef0f6;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-success:#059669;--color-success-bg:#ecfdf5;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-accent-blue:#3b82f6;--color-accent-purple:#8b5cf6;--color-accent-emerald:#10b981;--color-accent-amber:#f59e0b;--color-accent-rose:#f43f5e;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--shadow-xs:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 8px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #00000014, 0 4px 8px #0000000a;--shadow-glow:0 0 0 3px #4f46e526;--font-size-base:16px;--transition:.2s ease}@media (prefers-color-scheme:dark){:root{--color-bg:#0f1117;--color-surface:#1a1d27;--color-text:#e4e5eb;--color-text-secondary:#a0a3b5;--color-text-muted:#6b6f85;--color-primary:#818cf8;--color-primary-hover:#6366f1;--color-primary-light:#1e1b4b;--color-primary-subtle:#312e81;--color-border:#2d3044;--color-border-light:#22253a;--color-error:#f87171;--color-error-bg:#451a1a;--color-success:#34d399;--color-success-bg:#132a1e;--color-warning:#fbbf24;--color-warning-bg:#422006;--color-accent-blue:#60a5fa;--color-accent-purple:#a78bfa;--color-accent-emerald:#34d399;--color-accent-amber:#fbbf24;--color-accent-rose:#fb7185;--shadow-xs:0 1px 2px #0003;--shadow:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 8px #0000004d, 0 2px 4px #0003;--shadow-lg:0 8px 24px #0006, 0 4px 8px #0000004d;--shadow-glow:0 0 0 3px #818cf840}.auth-page{background:linear-gradient(135deg,#1e1b4b 0%,#0f1117 50%,#132a1e 100%)}.auth-card button[type=submit]:hover:not(:disabled){box-shadow:0 4px 12px #818cf84d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #818cf840}.dashboard-header:after{opacity:.4}.skeleton{background:linear-gradient(90deg, var(--color-bg) 25%, var(--color-border) 50%, var(--color-bg) 75%);background-size:200% 100%}.confidence-btn:first-child.active{background:#451a1a;border-color:#f87171}.confidence-btn:first-child.active .confidence-num{color:#f87171}.confidence-btn:nth-child(2).active{background:#431407;border-color:#fb923c}.confidence-btn:nth-child(2).active .confidence-num{color:#fb923c}.confidence-btn:nth-child(3).active{background:#422006;border-color:#facc15}.confidence-btn:nth-child(3).active .confidence-num{color:#facc15}.confidence-btn:nth-child(4).active{background:#14532d;border-color:#4ade80}.confidence-btn:nth-child(4).active .confidence-num{color:#4ade80}.confidence-btn:nth-child(5).active{background:#132a1e;border-color:#34d399}.confidence-btn:nth-child(5).active .confidence-num{color:#34d399}}[data-font-size=small]{--font-size-base:14px}[data-font-size=medium]{--font-size-base:16px}[data-font-size=large]{--font-size-base:20px}*,:before,:after{box-sizing:border-box}html{font-size:var(--font-size-base);scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}::selection{background:var(--color-primary-subtle);color:var(--color-text)}a{text-underline-offset:.2em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.loading-brand{font-size:2.5rem;animation:2s ease-in-out infinite floatBrand}@keyframes floatBrand{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.loading-spinner{border:3px solid var(--color-primary-subtle);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--color-text-muted);letter-spacing:.02em;font-size:.8125rem;font-weight:500}.autosave-indicator{color:var(--color-text-muted);align-items:center;gap:.375rem;font-size:.6875rem;display:flex}.autosave-dot{background:var(--color-success);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite fadePulse}@keyframes fadePulse{0%,to{opacity:.4}50%{opacity:1}}.success-message{background:var(--color-success-bg);color:#065f46;border-radius:var(--radius);border:1px solid #a7f3d0;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;animation:.2s slideDown;display:flex}.success-message:before{content:"✓";background:var(--color-success);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6875rem;font-weight:700;display:flex}.field-error input,.field-error textarea,.field-error select{box-shadow:0 0 0 3px #dc26261a;border-color:var(--color-error)!important}.auth-page{background:linear-gradient(135deg,#eef2ff 0%,#f8f9fc 50%,#ecfdf5 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-brand-icon{margin-bottom:.5rem;font-size:2rem;line-height:1}.auth-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);border-top:3px solid var(--color-primary);width:100%;max-width:420px;padding:2.5rem}.skeleton{background:linear-gradient(90deg, var(--color-bg) 25%, var(--color-border-light) 50%, var(--color-bg) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-line{height:1rem;margin-bottom:.75rem}.skeleton-line:last-child{width:60%}.skeleton-card{height:80px;margin-bottom:.75rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-card h1{color:var(--color-primary);letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--color-text-secondary);margin:0 0 2rem;font-size:.9375rem}.auth-card label{color:var(--color-text);letter-spacing:.01em;margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.auth-card input,.auth-card select{border:1.5px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition), box-shadow var(--transition);margin-bottom:1.125rem;padding:.6875rem .875rem;font-size:1rem;display:block}.auth-card input:hover,.auth-card select:hover{border-color:var(--color-text-muted)}.auth-card input:focus,.auth-card select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow);outline:none}.auth-card input::placeholder{color:var(--color-text-muted)}.auth-card small{color:var(--color-text-muted);margin-top:-.75rem;margin-bottom:1rem;font-size:.75rem;display:block}.auth-card button[type=submit]{background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;width:100%;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);letter-spacing:.01em;border:none;margin-top:.75rem;padding:.8125rem;font-size:1rem;font-weight:600}.auth-card button[type=submit]:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.auth-card button[type=submit]:active:not(:disabled){transform:translateY(0)}.auth-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;color:var(--color-text-secondary);margin-top:1.25rem;font-size:.875rem}.auth-link a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.try-tutorial-card{background:var(--color-primary-light);border:2px dashed var(--color-primary);border-radius:var(--radius-lg,12px);text-align:center;cursor:pointer;max-width:420px;margin:1.5rem auto 0;padding:1.5rem;transition:transform .15s,box-shadow .15s}.try-tutorial-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #4f46e526}.try-tutorial-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.try-tutorial-icon{margin-bottom:.5rem;font-size:2.5rem}.try-tutorial-card h3{color:var(--color-text);margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.try-tutorial-card p{color:var(--color-text-secondary);margin:0 0 .75rem;font-size:.9rem;line-height:1.5}.try-tutorial-cta{color:var(--color-primary);font-size:.95rem;font-weight:600;display:inline-block}.try-cards-row{gap:1rem;max-width:680px;margin:1.5rem auto 0;display:flex}.try-cards-row .try-tutorial-card{flex:1;margin:0}.free-prompt-section{margin-top:1.5rem}.free-prompt-card{background:var(--color-primary-light)!important;border:2px dashed var(--color-primary)!important}.free-prompt-card:hover{border-style:solid!important}@media (width<=600px){.try-cards-row{flex-direction:column}}.guest-badge{background:var(--color-primary-light);color:var(--color-primary);border-radius:999px;margin-right:.5rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.error-message{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius);border:1px solid #fecaca;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;animation:.2s slideDown;display:flex}.error-message:before{content:"⚠";flex-shrink:0;font-size:1rem;line-height:1.3}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);z-index:100;justify-content:space-between;align-items:center;padding:.875rem 2rem;display:flex;position:sticky;top:0}.dashboard-header:after{content:"";background:linear-gradient(90deg, var(--color-accent-blue), var(--color-accent-purple), var(--color-accent-emerald));opacity:.6;height:2px;position:absolute;bottom:-1px;left:0;right:0}.dashboard-header h1{color:var(--color-primary);letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:700}.header-back-group{align-items:center;gap:.75rem;display:flex}.header-back-group .btn-link{border-radius:var(--radius-sm);min-height:auto;color:var(--color-text-secondary);padding:.375rem .5rem;font-size:.8125rem}.header-back-group .btn-link:hover{background:var(--color-bg);color:var(--color-primary);text-decoration:none}.header-back-group h1{border-left:1.5px solid var(--color-border);color:var(--color-text);padding-left:.75rem}.dashboard-header nav{align-items:center;gap:.75rem;display:flex}.user-name{color:var(--color-text);font-size:.875rem;font-weight:600}.user-role-badge{background:var(--color-primary-light);color:var(--color-primary);letter-spacing:.02em;text-transform:uppercase;border-radius:100px;padding:.1875rem .625rem;font-size:.6875rem;font-weight:600}.btn-link{color:var(--color-primary);cursor:pointer;min-height:44px;transition:opacity var(--transition);background:0 0;border:none;align-items:center;padding:.5rem .25rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn-link:hover{text-decoration:underline}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);letter-spacing:.01em;border:none;padding:.625rem 1.5rem;font-size:.875rem;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e540}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary.submitting{pointer-events:none;opacity:.7;animation:1s ease-in-out infinite submitPulse}@keyframes submitPulse{0%,to{opacity:.7}50%{opacity:.5}}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-full{justify-content:center;width:100%}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);padding:.625rem 1.5rem;font-size:.875rem;font-weight:600}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary-subtle);background:var(--color-primary-light);color:var(--color-primary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.dashboard-content{max-width:1200px;margin:0 auto;padding:2rem 2rem 3rem}.dashboard-content h2{letter-spacing:-.015em;margin:0 0 1.5rem;font-size:1.375rem;font-weight:700;line-height:1.3}.tutorial-prompt{background:var(--color-primary-light);border:1px solid var(--color-primary-subtle);border-radius:var(--radius-lg);border-left:4px solid var(--color-primary);margin-bottom:2rem;padding:1.5rem;position:relative}.tutorial-prompt:before{content:"🎓";background:var(--color-primary-light);padding:0 4px;font-size:1.25rem;position:absolute;top:-8px;left:12px}.tutorial-prompt p{margin:0 0 1rem;line-height:1.5}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.dash-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow);transition:all var(--transition);padding:1.5rem;position:relative}.dash-card:hover,.dash-card:focus-visible{border-color:var(--color-primary-subtle);box-shadow:var(--shadow-md);transform:translateY(-2px)}.dash-card.accent-blue{border-top:3px solid var(--color-accent-blue)}.dash-card.accent-purple{border-top:3px solid var(--color-accent-purple)}.dash-card.accent-emerald{border-top:3px solid var(--color-accent-emerald)}.dash-card.accent-amber{border-top:3px solid var(--color-accent-amber)}.dash-card.accent-rose{border-top:3px solid var(--color-accent-rose)}.dash-card-icon{margin-bottom:.5rem;font-size:1.5rem;line-height:1;display:block}.dash-card h3{margin:0 0 .5rem;font-size:1rem;font-weight:600}.dash-card p{color:var(--color-text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.class-card{justify-content:space-between;align-items:center;display:flex}.class-card-content{flex:1;min-width:0}.class-card-arrow{color:var(--color-text-muted);transition:transform var(--transition), color var(--transition);flex-shrink:0;margin-left:1rem;font-size:1.25rem}.class-card:hover .class-card-arrow{color:var(--color-primary);transform:translate(4px)}.card-area{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center;color:var(--color-text-secondary);padding:3rem 2rem}.card-area:before{content:"📋";margin-bottom:.75rem;font-size:2rem;display:block}.card-area p{margin:0;font-size:.9375rem;line-height:1.5}.font-size-selector{border:none;gap:.25rem;margin:0;padding:0;display:flex}.font-size-btn{border:1.5px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text);transition:all var(--transition);padding:.25rem .5rem;line-height:1}.font-size-small{font-size:.75rem}.font-size-medium{font-size:1rem}.font-size-large{font-size:1.25rem}.font-size-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.voice-input-btn{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);color:var(--color-text-secondary);align-items:center;gap:.375rem;margin-top:.5rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1;display:inline-flex}.voice-input-btn:hover{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.voice-input-btn.listening{background:var(--color-error-bg);border-color:var(--color-error);animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.card-flow{max-width:860px;margin:0 auto;padding:1.5rem 2rem 3rem}@media (width>=1200px){.card-flow{max-width:940px}}.card-flow-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.panel-indicator{align-items:center;gap:.375rem;display:flex}.panel-dot{background:var(--color-bg);color:var(--color-text-muted);border:1.5px solid var(--color-border);letter-spacing:.01em;border-radius:100px;padding:.3125rem .875rem;font-size:.75rem;font-weight:600;transition:all .3s}.panel-dot.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 2px 8px #4f46e54d}.panel-dot.completed{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.panel-dot.clickable{cursor:pointer}.panel-dot.clickable:hover{filter:brightness(.9);transform:scale(1.05)}.ai-response-display{background:var(--color-primary-light);border:1.5px solid var(--color-primary-subtle);border-radius:var(--radius);color:var(--color-text);white-space:pre-wrap;margin-bottom:1.5rem;padding:1.25rem;font-size:1rem;line-height:1.7}.ai-response-comparison{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.ai-response-comparison h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.prediction-recall{color:var(--color-text);white-space:pre-wrap;font-size:.95rem;line-height:1.6}.reference-instructions{background:var(--color-warning-bg);border:1.5px solid var(--color-warning);border-radius:var(--radius);color:var(--color-text);margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;line-height:1.4}.free-prompt-suggestions{margin-top:1rem}.suggestions-label{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:500}.suggestion-chips{flex-wrap:wrap;gap:.5rem;display:flex}.suggestion-chip{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;border-radius:100px;padding:.4rem .875rem;font-size:.825rem;line-height:1.4;transition:all .15s}.suggestion-chip:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);min-height:300px;padding:2rem;animation:.3s fadeIn}.panel-prompt{border-top:3px solid var(--color-accent-blue)}.panel-prediction{border-top:3px solid var(--color-accent-purple)}.panel-ai-response{border-top:3px solid var(--color-accent-amber)}.panel-analysis{border-top:3px solid var(--color-accent-emerald)}.panel-results{border-top:3px solid var(--color-success)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dashboard-content{animation:.25s fadeIn}.panel h2{letter-spacing:-.015em;color:var(--color-text);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.panel-prompt h2:before{content:"📖 "}.panel-prediction h2:before{content:"🤔 "}.panel-analysis h2:before{content:"🔍 "}.panel-results h2:before{content:""}.panel-instruction{color:var(--color-text-secondary);max-width:600px;margin:0 0 1.5rem;font-size:.9375rem;line-height:1.6}.prompt-text{color:var(--color-text);background:var(--color-bg);border-radius:var(--radius);border-left:4px solid var(--color-accent-blue);margin:0 0 1rem;padding:1rem 1.25rem;font-size:1.1875rem;font-weight:500;line-height:1.8}.source-material{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;max-height:300px;margin-top:1rem;padding:1.25rem;overflow-y:auto}.source-material h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.8125rem;font-weight:600}.source-text{white-space:pre-wrap;font-size:.9rem;line-height:1.6}.card-meta{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;background:var(--color-bg);border-radius:100px;padding:.1875rem .625rem;font-size:.6875rem;font-weight:600;display:inline-block}.panel-actions{border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;display:flex}.panel-actions:has(:only-child){justify-content:center}.prediction-prompt-reminder{background:var(--color-primary-light);border-radius:var(--radius);border-left:3px solid var(--color-primary);margin-bottom:1.25rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5}.prediction-input-area{border-radius:var(--radius);transition:background var(--transition);padding:.75rem;position:relative}.prediction-input-area:focus-within{background:var(--color-primary-light)}.prediction-input-area textarea,.analysis-writing textarea{border:1.5px solid var(--color-border);border-radius:var(--radius);resize:vertical;color:#000;width:100%;transition:border-color var(--transition), box-shadow var(--transition);min-height:120px;padding:.875rem;font-family:inherit;font-size:1rem;line-height:1.6}.prediction-input-area textarea:hover,.analysis-writing textarea:hover{border-color:var(--color-text-muted)}.prediction-input-area textarea:focus,.analysis-writing textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow);outline:none}.prediction-input-area textarea::placeholder,.analysis-writing textarea::placeholder{color:var(--color-text-muted)}.word-count{color:var(--color-text-muted);text-align:right;margin-top:.375rem;font-size:.6875rem}select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25em 1.25em;padding-right:2rem}.confidence-rating{border:none;margin:1.25rem 0;padding:0}.confidence-rating legend{color:var(--color-text);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9375rem;font-weight:700;display:flex}.confidence-rating legend:before{content:"🎯";font-size:1.125rem}.confidence-options{gap:.5rem;display:flex}.confidence-btn{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:center;transition:all var(--transition);flex-direction:column;flex:1;gap:.25rem;min-height:52px;padding:.625rem .5rem;display:flex}.confidence-btn:hover{border-color:var(--color-primary-subtle);background:var(--color-primary-light)}.confidence-btn.active{border-color:var(--color-primary);background:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 0 0 2px #4f46e526}.confidence-num{color:var(--color-text);font-size:1.25rem;font-weight:700}.confidence-btn.active .confidence-num{color:var(--color-primary)}.confidence-btn:first-child.active{background:#fef2f2;border-color:#ef4444}.confidence-btn:first-child.active .confidence-num{color:#ef4444}.confidence-btn:nth-child(2).active{background:#fff7ed;border-color:#f97316}.confidence-btn:nth-child(2).active .confidence-num{color:#f97316}.confidence-btn:nth-child(3).active{background:#fefce8;border-color:#eab308}.confidence-btn:nth-child(3).active .confidence-num{color:#b45309}.confidence-btn:nth-child(4).active{background:#f0fdf4;border-color:#22c55e}.confidence-btn:nth-child(4).active .confidence-num{color:#16a34a}.confidence-btn:nth-child(5).active{background:#ecfdf5;border-color:#10b981}.confidence-btn:nth-child(5).active .confidence-num{color:#059669}.confidence-label{color:var(--color-text-muted);font-size:.625rem;font-weight:500}.confidence-desc{color:var(--color-text-secondary);margin:.5rem 0 0;font-size:.8rem;font-style:italic}.panel-ai-response{text-align:center;padding:3rem 2rem}.panel-ai-response .panel-instruction{max-width:400px;margin-left:auto;margin-right:auto;font-size:1rem}.btn-reveal{border-radius:var(--radius-xl);align-items:center;gap:.5rem;margin:2rem auto;padding:1rem 2.5rem;font-size:1.125rem;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #4f46e54d}.btn-reveal:hover:not(:disabled){transform:translateY(-2px)scale(1.02);box-shadow:0 8px 24px #4f46e566}.btn-reveal:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 0%,#ffffff26 100%);position:absolute;inset:0}.analysis-layout{gap:1.5rem;display:flex}.analysis-writing{flex:0 0 60%;min-width:0}.analysis-writing textarea{min-height:200px}.analysis-reference{flex:0 0 38%;min-width:0}.results-header{text-align:center;margin-bottom:.5rem}.results-icon{margin-bottom:.25rem;font-size:2.5rem;display:block}.results-header h2{text-align:center}.done-message{color:var(--color-text-secondary);max-width:400px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:.9375rem;line-height:1.6}.done-icon{margin-bottom:.75rem;font-size:3rem}.card-flow-done .btn-primary{margin-top:.5rem;padding:.75rem 2rem;font-size:1rem}.reference-tabs{border-bottom:2px solid var(--color-border);margin-bottom:.75rem;display:flex}.reference-tabs button{cursor:pointer;color:var(--color-text-muted);transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;min-height:44px;margin-bottom:-2px;padding:.625rem .5rem;font-size:.8125rem;font-weight:500}.reference-tabs button:hover{color:var(--color-text-secondary)}.reference-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.reference-content{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;max-height:300px;padding:1rem;overflow-y:auto}.reference-content::-webkit-scrollbar{width:6px}.reference-content::-webkit-scrollbar-track{background:0 0}.reference-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.reference-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.reference-text{white-space:pre-wrap;font-size:.875rem;line-height:1.6}.sentence-starters{margin-bottom:1rem}.starters-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.75rem;font-weight:600}.starters-list{flex-wrap:wrap;gap:.375rem;display:flex}.starter-btn{border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition);border-radius:100px;padding:.375rem .75rem;font-size:.75rem;font-weight:500}.starter-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.sentence-starters.faded summary{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.375rem;font-size:.8rem;list-style:none;display:flex}.sentence-starters.faded summary::-webkit-details-marker{display:none}.sentence-starters.faded summary:before{content:"▸";transition:transform var(--transition);font-size:.75rem}.sentence-starters.faded[open] summary:before{transform:rotate(90deg)}.results-grid{gap:1rem;margin:2rem 0;display:flex}.result-item{background:var(--color-bg);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--color-border-light);flex:1;padding:1.5rem;transition:transform .3s;animation:.4s backwards popIn}.result-item:first-child{animation-delay:.1s}.result-item:nth-child(2){animation-delay:.2s}.result-item:nth-child(3){animation-delay:.3s}@keyframes popIn{0%{opacity:0;transform:scale(.9)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.result-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem;font-size:.6875rem;font-weight:600;display:block}.result-value{color:var(--color-primary);letter-spacing:-.02em;font-size:2.25rem;font-weight:800;line-height:1.1;display:block}.result-item:hover{transform:translateY(-2px)}.result-xp .result-value{color:var(--color-success)}.results-actions{border-top:none;justify-content:center}.results-breakdown{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.25rem}.results-breakdown h3{color:var(--color-text);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem;font-size:.85rem;font-weight:700}.results-summary-text{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light);margin:0 0 1rem;padding-bottom:.75rem;font-size:.9rem;line-height:1.5}.coaching-summary{background:var(--color-primary-light);border-left:3px solid var(--color-primary);border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem}.coaching-summary p{color:var(--color-text);margin:0;font-size:.9rem;line-height:1.5}.criteria-list{flex-direction:column;gap:.75rem;display:flex}.criteria-row{flex-direction:column;gap:.25rem;display:flex}.criteria-top{justify-content:space-between;align-items:baseline;display:flex}.criteria-label{color:var(--color-text);font-size:.825rem;font-weight:600}.criteria-score{color:var(--color-primary);font-size:.8rem;font-weight:700}.criteria-pct{color:var(--color-primary);text-align:right;min-width:36px;font-size:.8rem;font-weight:700}.criteria-bar-track{background:var(--color-border-light);border-radius:3px;height:6px;overflow:hidden}.criteria-bar-fill{background:var(--color-primary);border-radius:3px;height:100%;transition:width .6s}.criteria-justification{color:var(--color-text-secondary);margin:.125rem 0 0;font-size:.825rem;font-style:italic;line-height:1.45}.results-feedback{text-align:center;color:var(--color-text-secondary);max-width:500px;margin:0 auto 1rem;font-size:.9375rem;font-style:italic;line-height:1.5}.card-flow-done{text-align:center;background:linear-gradient(180deg, var(--color-success-bg) 0%, var(--color-surface) 40%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);max-width:500px;margin:2rem auto;padding:4rem 2rem;animation:.4s fadeIn}.card-flow-done h2{color:var(--color-success);margin-bottom:.5rem;font-size:1.75rem}.pattern-prompt{background:var(--color-warning-bg);border-radius:var(--radius);border:1px solid #fbbf24;border-left:3px solid var(--color-warning);margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem}.pattern-prompt summary{cursor:pointer;color:var(--color-warning);font-weight:600}.pattern-prompt summary:before{content:"💡 "}.pattern-prompt p{margin:.5rem 0 0;font-style:italic}.highlight-hint{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.75rem;font-style:italic}.insert-quote-btn{background:var(--color-primary);color:#fff;cursor:pointer;transition:all var(--transition);border:none;border-radius:100px;margin-top:.5rem;padding:.3125rem .875rem;font-size:.75rem;font-weight:500}.insert-quote-btn:hover{background:var(--color-primary-hover)}.master-detail{gap:2rem;display:flex}.master-sidebar{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex:0 0 280px;min-width:0;max-height:calc(100vh - 120px);overflow-y:auto}.master-sidebar::-webkit-scrollbar{width:4px}.master-sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.master-main{flex:1;min-width:0}.master-sidebar-empty{text-align:center;color:var(--color-text-muted);padding:2rem 1rem;font-size:.875rem}.master-sidebar-empty:before{content:"📂";margin-bottom:.5rem;font-size:1.5rem;display:block}.master-main-empty:before{content:"👈";margin-bottom:.5rem;font-size:1.5rem;display:block}.master-main-empty{color:var(--color-text-muted);text-align:center;margin-top:4rem;font-size:.9375rem}.master-main-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.master-main-header h2{margin:0;font-size:1.25rem}.sidebar-item{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);cursor:pointer;margin-bottom:.5rem;padding:.875rem 1rem;transition:all .15s;position:relative}.sidebar-item:hover{border-color:var(--color-primary-subtle);background:var(--color-primary-light)}.sidebar-item.active{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:inset 3px 0 0 var(--color-primary)}.sidebar-item h3{margin:0;font-size:.875rem;font-weight:600}.sidebar-item p{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.75rem}.inline-form{background:var(--color-surface);border:1.5px solid var(--color-primary-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition);margin-bottom:1rem;padding:1.25rem;animation:.2s slideDown}.inline-form:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow)}.inline-form label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.375rem;font-size:.75rem;font-weight:600;display:block}.inline-form input,.inline-form select,.inline-form textarea{border:1.5px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition), box-shadow var(--transition);margin-bottom:.75rem;padding:.5625rem .75rem;font-family:inherit;font-size:.875rem}.inline-form input:hover,.inline-form select:hover,.inline-form textarea:hover{border-color:var(--color-text-muted)}.inline-form input:focus,.inline-form select:focus,.inline-form textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow);outline:none}.inline-form input::placeholder,.inline-form textarea::placeholder{color:var(--color-text-muted)}.form-row{gap:.5rem;margin-bottom:.75rem;display:flex}.form-row>*{flex:1}.form-actions{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.form-actions .btn-primary{font-size:.8125rem}.advanced-panel{background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border-light);margin-bottom:.75rem;padding:.875rem}.advanced-toggle{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;margin-bottom:.5rem;padding:0;font-size:.75rem;font-weight:500}.advanced-toggle:hover{color:var(--color-primary)}.content-card-item{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);transition:all var(--transition);border-left:3px solid var(--color-border);margin-bottom:.5rem;padding:1rem 1.25rem}.content-card-item:hover{border-color:var(--color-primary-subtle);border-left-color:var(--color-primary);box-shadow:var(--shadow)}.content-card-item .card-meta{text-transform:capitalize}.content-card-item p{color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.375rem 0 0;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.join-code-display{letter-spacing:.2em;color:var(--color-primary);margin:0;font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:2.25rem;font-weight:800;line-height:1.2}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table thead tr{border-bottom:2px solid var(--color-border)}.data-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;padding:.625rem .5rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border-light);padding:.625rem .5rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--color-bg)}.data-table .secondary{color:var(--color-text-secondary)}.detail-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:1rem;padding:1.25rem 1.5rem}.detail-card h3{color:var(--color-text);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.hint{color:var(--color-text-muted);margin:.375rem 0 0;font-size:.75rem;line-height:1.4}.detail-card .hint{color:var(--color-text-muted);margin:.375rem 0 0;font-size:.75rem}.detail-settings{color:var(--color-text-secondary);margin:0;font-size:.8125rem}.join-class-section{border-top:1px solid var(--color-border-light);margin-top:2.5rem;padding-top:2rem}.join-class-section h3{margin:0 0 .75rem;font-size:1rem;font-weight:600}.join-form{gap:.5rem;max-width:400px;display:flex}.join-form input{border:1.5px solid var(--color-border);border-radius:var(--radius);letter-spacing:.1em;text-transform:uppercase;transition:border-color var(--transition), box-shadow var(--transition);flex:1;padding:.5625rem .875rem;font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:1rem}.join-form input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow);outline:none}.join-form input::placeholder{letter-spacing:normal;text-transform:none;color:var(--color-text-muted);font-family:inherit}.join-error{color:var(--color-error);margin-top:.5rem;font-size:.8125rem;font-weight:500}.starter-en{font-size:.75rem;display:block}.starter-translated{color:var(--color-text-muted);font-size:.7rem;font-style:italic;display:block}.reduced-writing{animation:.3s fadeIn}.reduced-writing label{color:var(--color-text);margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.reduced-writing input[type=text]{border:1.5px solid var(--color-border);border-radius:var(--radius);width:100%;transition:border-color var(--transition), box-shadow var(--transition);margin-bottom:.75rem;padding:.625rem .875rem;font-size:.9375rem}.reduced-writing input[type=text]:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow);outline:none}.reduced-submit{margin-top:.75rem}.reduced-fieldset{border:none;margin:1rem 0;padding:0}.reduced-fieldset legend{margin-bottom:.75rem;font-size:.9375rem;font-weight:600}.choice-options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.choice-option{border:1.5px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.choice-option:hover{border-color:var(--color-primary-subtle);background:var(--color-primary-light)}.choice-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.choice-option input[type=radio]{accent-color:var(--color-primary)}.check-item{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;display:flex}.check-item input[type=checkbox]{accent-color:var(--color-primary);width:1rem;height:1rem}.wizard-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);width:100%;max-width:480px;padding:2.5rem}.wizard-progress{gap:.375rem;margin-bottom:1.5rem;display:flex}.wizard-progress-bar{background:var(--color-border);border-radius:2px;flex:1;height:4px;transition:background .3s}.wizard-progress-bar.filled{background:var(--color-primary)}.wizard-step-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;font-size:.6875rem;font-weight:600}.wizard-step{animation:.3s fadeIn}.wizard-icon{margin-bottom:.75rem;font-size:2.5rem}.wizard-title{letter-spacing:-.01em;color:var(--color-text);margin:0 0 .375rem;font-size:1.375rem;font-weight:700}.wizard-subtitle{color:var(--color-text-secondary);margin:0 0 1.5rem;font-size:.9375rem;line-height:1.5}.wizard-hint{color:var(--color-text-muted);border-left:2px solid var(--color-border);margin:-.75rem 0 1.25rem;padding-left:.75rem;font-size:.8125rem;font-style:italic}.wizard-form label{color:var(--color-text);margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.wizard-form input,.wizard-form textarea{border:1.5px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition), box-shadow var(--transition);margin-bottom:1rem;padding:.6875rem .875rem;font-family:inherit;font-size:1rem;display:block}.wizard-form input:focus,.wizard-form textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow);outline:none}.wizard-form input::placeholder,.wizard-form textarea::placeholder{color:var(--color-text-muted)}.wizard-actions-stack{flex-direction:column;align-items:center;gap:.75rem;display:flex}.wizard-join-code{text-align:center;background:var(--color-primary-light);border-radius:var(--radius-lg);border:1px solid var(--color-primary-subtle);margin:1.5rem 0;padding:1.5rem}.guide-page{background:var(--color-bg);min-height:100vh}.guide-content{flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;padding:1.5rem;display:flex}.guide-section{min-height:auto}.guide-section h2{color:var(--color-text);margin:0 0 1rem;font-size:1.25rem;font-weight:700}.guide-section h3{color:var(--color-text);margin:1.25rem 0 .5rem;font-size:1rem;font-weight:600}.guide-section p{color:var(--color-text-secondary);margin:0 0 .75rem;line-height:1.65}.guide-list{flex-direction:column;gap:.75rem;margin:0 0 .75rem;padding-left:1.25rem;display:flex}.guide-list li{color:var(--color-text-secondary);line-height:1.6}.guide-list li strong{color:var(--color-text)}.guide-tip-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:.5rem;display:grid}.guide-tip{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius);padding:1.25rem}.guide-tip h4{color:var(--color-text);margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.guide-tip p{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.6}.guide-examples{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.guide-example{border-radius:var(--radius);border-left:4px solid var(--color-border);padding:1rem 1.25rem}.guide-example-good{border-left-color:var(--color-success);background:var(--color-success-bg)}.guide-example-weak{border-left-color:var(--color-warning);background:var(--color-warning-bg)}.guide-example-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:inline-block}.guide-example p{color:var(--color-text);margin:.25rem 0 .5rem;font-style:italic;font-weight:500}.guide-example-why{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.guide-criteria-list{flex-direction:column;gap:.625rem;margin:.5rem 0 1rem;display:flex}.guide-criterion{background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.guide-criterion strong{color:var(--color-text);font-size:.9375rem}.guide-criterion span{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.guide-scale{flex-direction:column;gap:.5rem;margin:.5rem 0 1rem;display:flex}.guide-scale-item{align-items:baseline;gap:.75rem;padding:.5rem 0;display:flex}.guide-scale-score{color:var(--color-primary);flex-shrink:0;min-width:2.5rem;font-size:.9375rem;font-weight:700}.guide-scale-item span:last-child{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.guide-note{background:var(--color-primary-light);border:1px solid var(--color-primary-subtle);border-radius:var(--radius);color:var(--color-text);padding:1rem 1.25rem;font-size:.9375rem;font-weight:500;line-height:1.6}.guide-prompt-card{margin-top:.75rem;background:var(--color-surface)!important;border:1.5px solid var(--color-border)!important;border-left:4px solid var(--color-accent-rose)!important}.guide-prompt-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-subtle)!important}@media (width<=768px){.dashboard-header{padding:.75rem 1rem}.dashboard-header h1{font-size:1rem}.dashboard-header nav{gap:.5rem}.user-role-badge{display:none}.dashboard-content{padding:1.25rem}.master-detail{flex-direction:column}.master-sidebar{flex:none}.header-back-group h1{font-size:.9375rem}.wizard-card{padding:1.75rem}.wizard-icon{font-size:2rem}.wizard-title{font-size:1.125rem}.join-form{flex-direction:column}.join-form input{width:100%}.guide-content{padding:1rem}.guide-tip-grid{grid-template-columns:1fr}.card-flow-header .btn-link{padding:.5rem;font-size:0}.card-flow-header .btn-link:before{content:"←";font-size:1rem}.auth-card{padding:1.75rem}.card-flow{padding:1rem}.card-flow-header{flex-direction:column;align-items:flex-start;gap:.75rem}.panel{padding:1.5rem}.panel-indicator{flex-wrap:wrap}.analysis-layout{flex-direction:column}.confidence-options{flex-wrap:wrap}.confidence-btn{flex:0 0 calc(50% - .25rem)}.results-grid{flex-direction:column}.panel-actions{text-align:center;flex-direction:column;align-items:stretch;gap:.75rem}}.splash-page{background:linear-gradient(135deg,#eef2ff 0%,#f8f9fc 50%,#ecfdf5 100%);min-height:100vh;overflow-x:hidden}@media (prefers-color-scheme:dark){.splash-page{background:linear-gradient(135deg,#1e1b4b 0%,#0f1117 50%,#132a1e 100%)}}.splash-hero{text-align:center;padding:4rem 1.5rem 3rem;animation:.4s fadeIn}.splash-hero-icon{margin-bottom:1rem;font-size:3rem;line-height:1;animation:3s ease-in-out infinite floatBrand}.splash-headline{letter-spacing:-.03em;background:linear-gradient(135deg, var(--color-primary), var(--color-accent-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;font-size:clamp(2rem,5vw,3rem);font-weight:800}.splash-subhead{max-width:580px;color:var(--color-text-secondary);margin:0 auto 2rem;font-size:1.125rem;line-height:1.7}.splash-subhead em{color:var(--color-text);font-style:italic;font-weight:600}.splash-cta-row{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.splash-cta{border-radius:var(--radius);transition:background var(--transition), transform var(--transition), box-shadow var(--transition);padding:.75rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none}.splash-cta.btn-primary{background:var(--color-primary);color:#fff;border:none}.splash-cta.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e540}.splash-cta.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1.5px solid var(--color-border)}.splash-cta.btn-secondary:hover{border-color:var(--color-primary-subtle);box-shadow:var(--shadow-md);transform:translateY(-1px)}.splash-section{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.splash-section-title{text-align:center;color:var(--color-text);letter-spacing:-.02em;margin:0 0 2rem;font-size:1.5rem;font-weight:700}.splash-steps{justify-content:center;align-items:flex-start;gap:.5rem;display:flex}.splash-step{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;max-width:200px;box-shadow:var(--shadow);transition:transform var(--transition), box-shadow var(--transition);flex:1;padding:1.25rem 1rem;position:relative}.splash-step:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.splash-step-number{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-.75rem;left:50%;transform:translate(-50%)}.splash-step-icon{margin-bottom:.5rem;font-size:1.75rem;line-height:1}.splash-step h3{color:var(--color-text);margin:0 0 .375rem;font-size:.9375rem;font-weight:600}.splash-step p{color:var(--color-text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.splash-step-arrow{color:var(--color-primary);flex-shrink:0;padding-top:2.5rem;font-size:1.25rem;font-weight:700}.splash-values{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.splash-value-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.75rem}.splash-value-teacher{border-top:3px solid var(--color-accent-blue)}.splash-value-student{border-top:3px solid var(--color-accent-purple)}.splash-value-icon{margin-bottom:.5rem;font-size:2rem;line-height:1}.splash-value-card h3{color:var(--color-text);margin:0 0 .375rem;font-size:1.125rem;font-weight:700}.splash-value-tagline{color:var(--color-primary);margin:0 0 .75rem;font-size:1rem;font-weight:600;line-height:1.4}.splash-value-card p:last-child{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.6}.splash-bottom-cta{text-align:center;padding-bottom:4rem}@media (width<=600px){.splash-hero{padding:2.5rem 1rem 2rem}.splash-subhead{font-size:1rem}.splash-cta-row{flex-direction:column;align-items:center}.splash-cta{text-align:center;width:100%;max-width:280px}.splash-steps{flex-direction:column;align-items:center;gap:1rem}.splash-step{width:100%;max-width:100%}.splash-step-arrow{display:none}.splash-values{grid-template-columns:1fr}.splash-section{padding:1.5rem 1rem}}@media (prefers-contrast:high){:root{--color-border:#999;--color-border-light:#bbb;--shadow:none;--shadow-md:none;--shadow-lg:0 0 0 2px var(--color-border)}.panel,.dash-card,.sidebar-item,.detail-card,.auth-card,.wizard-card{border-width:2px}.btn-primary{border:2px solid #0000}.btn-primary:focus-visible{border-color:#fff}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.dashboard-header,.card-flow-header,.panel-actions,.voice-input-btn,.btn-link,.btn-primary{display:none!important}.panel{box-shadow:none;break-inside:avoid;border:1px solid #ccc}body{background:#fff}}@media (width<=480px){.dashboard-grid{grid-template-columns:1fr}.panel-dot{padding:.25rem .5rem;font-size:.6875rem}.auth-card h1{font-size:1.5rem}.wizard-card{border-radius:var(--radius-lg);padding:1.5rem}.wizard-title{font-size:1.125rem}.wizard-subtitle{font-size:.875rem}.detail-card{padding:1rem 1.125rem}.join-code-display{letter-spacing:.15em;font-size:1.75rem}.results-grid{gap:.75rem}.result-value{font-size:1.75rem}.confidence-options{gap:.375rem}}.walkthrough-backdrop{z-index:9000;background:#00000073;justify-content:center;align-items:flex-start;padding-top:8rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.walkthrough-tooltip{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border-top:3px solid var(--color-primary);width:calc(100% - 2rem);max-width:440px;padding:1.75rem 2rem 1.5rem;animation:.3s fadeIn}.walkthrough-title{color:var(--color-text);margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.walkthrough-message{color:var(--color-text-secondary);margin:0 0 1.25rem;font-size:.95rem;line-height:1.55}.walkthrough-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.walkthrough-step-counter{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.walkthrough-actions{align-items:center;gap:1rem;display:flex}.walkthrough-skip{color:var(--color-text-muted);cursor:pointer;text-underline-offset:2px;white-space:nowrap;background:0 0;border:none;padding:.25rem 0;font-size:.8rem;text-decoration:underline}.walkthrough-skip:hover{color:var(--color-text-secondary)}.walkthrough-next{padding:.5rem 1.25rem;font-size:.9rem}@media (width<=600px){.walkthrough-backdrop{padding-top:5rem}.walkthrough-tooltip{max-width:calc(100% - 1.5rem);padding:1.25rem 1.25rem 1rem}.walkthrough-title{font-size:1.05rem}.walkthrough-message{font-size:.9rem}.walkthrough-footer{flex-direction:column;align-items:stretch;gap:.75rem}.walkthrough-step-counter{text-align:center}.walkthrough-actions{justify-content:space-between}}
