:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #dbeafe;--color-primary-lighter: #eff6ff;--color-primary-lightest: #f0f9ff;--color-primary-shadow: rgba(59, 130, 246, .1);--color-primary-shadow-medium: rgba(59, 130, 246, .2);--color-primary-shadow-strong: rgba(59, 130, 246, .3);--color-accent-orange: #f97316;--color-accent-orange-light: #ffedd5;--color-accent-teal: #14b8a6;--color-accent-teal-light: #ccfbf1;--color-accent-pink: #ec4899;--color-accent-pink-light: #fce7f3;--color-accent-amber: #f59e0b;--color-accent-amber-light: #fef3c7;--color-accent-cyan: #06b6d4;--color-accent-cyan-light: #cffafe;--color-accent-violet: #8b5cf6;--color-accent-violet-light: #ede9fe;--color-success: #059669;--color-success-dark: #047857;--color-success-light: #d1fae5;--color-success-lighter: #ecfdf5;--color-error: #dc2626;--color-error-dark: #b91c1c;--color-error-medium: #dc2626;--color-error-light: #fee2e2;--color-error-lighter: #fef2f2;--color-error-border: #fecaca;--color-black: #0a0a0a;--color-white: #ffffff;--color-text-primary: #0f172a;--color-text-secondary: #1e293b;--color-text-tertiary: #475569;--color-text-quaternary: #64748b;--color-text-muted: #94a3b8;--color-text-disabled: #cbd5e1;--color-border-light: #e2e8f0;--color-border: #cbd5e1;--color-border-medium: #e2e8f0;--color-bg-white: #ffffff;--color-bg-light: #f8fafc;--color-bg-lighter: #f1f5f9;--color-bg-lightest: #f8fafc;--color-bg-gradient-start: #ffffff;--color-bg-gradient-end: #f8fafc;--shadow-sm: rgba(15, 23, 42, .08);--shadow-md: rgba(15, 23, 42, .12);--shadow-lg: rgba(15, 23, 42, .16);--shadow-xl: rgba(15, 23, 42, .24);--shadow-2xl: rgba(15, 23, 42, .32)}:root.dark{--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-primary-light: #1e3a8a;--color-primary-lighter: #1e40af;--color-primary-lightest: #1e3a8a;--color-primary-shadow: rgba(96, 165, 250, .15);--color-primary-shadow-medium: rgba(96, 165, 250, .25);--color-primary-shadow-strong: rgba(96, 165, 250, .35);--color-accent-orange: #fb923c;--color-accent-orange-light: #7c2d12;--color-accent-teal: #2dd4bf;--color-accent-teal-light: #134e4a;--color-accent-pink: #f472b6;--color-accent-pink-light: #831843;--color-accent-amber: #fbbf24;--color-accent-amber-light: #78350f;--color-accent-cyan: #22d3ee;--color-accent-cyan-light: #164e63;--color-accent-violet: #a78bfa;--color-accent-violet-light: #5b21b6;--color-success: #10b981;--color-success-dark: #059669;--color-success-light: #064e3b;--color-success-lighter: #065f46;--color-error: #ef4444;--color-error-dark: #dc2626;--color-error-medium: #ef4444;--color-error-light: #7f1d1d;--color-error-lighter: #991b1b;--color-error-border: #991b1b;--color-text-primary: #f1f5f9;--color-text-secondary: #e2e8f0;--color-text-tertiary: #cbd5e1;--color-text-quaternary: #94a3b8;--color-text-muted: #64748b;--color-text-disabled: #475569;--color-border-light: #334155;--color-border: #475569;--color-border-medium: #334155;--color-bg-white: #1e293b;--color-bg-light: #0f172a;--color-bg-lighter: #1e293b;--color-bg-lightest: #334155;--color-bg-gradient-start: #0f172a;--color-bg-gradient-end: #1e293b;--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .4);--shadow-lg: rgba(0, 0, 0, .5);--shadow-xl: rgba(0, 0, 0, .6);--shadow-2xl: rgba(0, 0, 0, .7)}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg-light);color:var(--color-text-primary)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:var(--color-text-primary);background-color:var(--color-bg-white)}a:hover{color:var(--color-primary)}button{background-color:var(--color-bg-light)}}.app-container{width:100%;margin:0 auto;padding:2rem;min-height:100vh;display:flex;justify-content:center;align-items:flex-start}.main-content{max-width:1200px;width:100%;display:flex;flex-direction:column;align-items:stretch;margin:0 auto}.error-message{background-color:var(--color-error-lighter);color:var(--color-error-medium);padding:1rem;border-radius:8px;margin-bottom:2rem;border:1px solid var(--color-error-border);text-align:center;width:100%;box-sizing:border-box}.loading{text-align:center;padding:3rem;color:var(--color-text-quaternary);font-size:1.125rem;width:100%}.auth-profile-container{position:relative}.auth-profile-button{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.auth-profile-button:hover{opacity:.8}.auth-profile-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.auth-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--color-border-light);object-fit:cover;display:block}.auth-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:8px;box-shadow:0 4px 12px var(--shadow-md);min-width:160px;z-index:1000;overflow:hidden}.auth-dropdown-item{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;color:var(--color-text-primary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;text-decoration:none}.auth-dropdown-item:hover{background:var(--color-bg-light)}.auth-dropdown-item:first-child{border-bottom:1px solid var(--color-border-light)}.auth-button{padding:.5rem 1rem;font-size:.9375rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.auth-button.login{background:var(--color-primary);color:var(--color-white);border:1px solid var(--color-primary)}.auth-button.login:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px var(--color-primary-shadow-medium)}.auth-button.logout{background:var(--color-bg-white);color:var(--color-text-secondary);border:1px solid var(--color-border)}.auth-button.logout:hover{background:var(--color-bg-light);border-color:var(--color-border-medium);color:var(--color-text-primary)}.auth-button.loading{background:transparent;color:var(--color-text-secondary);cursor:default}.google-icon{flex-shrink:0}@media(max-width:768px){.auth-email{display:none}.auth-button{padding:.5rem .75rem;font-size:.875rem}}.theme-toggle{padding:.5rem;background:transparent;border:2px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0}.theme-toggle:hover{background:var(--color-bg-lighter);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.theme-toggle svg{width:20px;height:20px}.navbar{background:var(--color-bg-white);border-bottom:1px solid var(--color-border-light);box-shadow:0 1px 3px var(--shadow-sm);position:sticky;top:0;z-index:1000;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .3s ease,border-color .3s ease}:root:not(.dark) .navbar{background-color:#fffffff2}:root.dark .navbar{background-color:#1e293bf2}.navbar-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.navbar-logo{font-size:1.5rem;font-weight:700;color:var(--color-primary);text-decoration:none;transition:color .2s;letter-spacing:-.02em;display:flex;align-items:center;gap:.75rem}.navbar-logo:hover{color:var(--color-primary-hover)}.navbar-logo-image{height:2.5rem;width:auto;object-fit:contain}.navbar-logo-text{display:inline-block}.navbar-links{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;flex:1;justify-content:flex-end}.navbar-auth{display:flex;align-items:center}.navbar-link{font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:all .2s ease;position:relative}.navbar-link:hover{color:var(--color-primary);background-color:var(--color-primary-lighter)}.navbar-link.active{color:var(--color-primary);background-color:var(--color-primary-light);font-weight:600}.navbar-link.active:after{display:none}@media(max-width:768px){.navbar-container{padding:.875rem 1rem;flex-wrap:wrap}.navbar-logo{font-size:1.25rem}.navbar-logo-image{height:2rem}.navbar-links{gap:.25rem;width:100%;justify-content:flex-start;margin-top:.5rem}.navbar-link{font-size:.875rem;padding:.375rem .75rem}.navbar-auth{margin-left:auto}}.footer{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-violet) 100%);color:var(--color-white);margin-top:4rem;border-top:2px solid var(--color-accent-cyan);transition:background .3s ease,border-color .3s ease}:root.dark .footer{background:linear-gradient(135deg,#1e293b,#334155);border-top-color:var(--color-border)}.footer-container{max-width:1200px;margin:0 auto;padding:3rem 2rem 1.5rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.5rem;margin-bottom:2rem}.footer-section{display:flex;flex-direction:column}.footer-title{font-size:1.5rem;font-weight:700;margin:0 0 1rem;background:linear-gradient(135deg,var(--color-accent-cyan) 0%,var(--color-white) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:root.dark .footer-title{background:linear-gradient(135deg,var(--color-accent-cyan) 0%,var(--color-accent-cyan-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-description{font-size:.875rem;line-height:1.6;color:#ffffffb3;margin:0}:root.dark .footer-description{color:var(--color-text-tertiary)}.footer-heading{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--color-white)}:root.dark .footer-heading{color:var(--color-text-secondary)}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.footer-links li{margin:0}.footer-links a{color:#ffffffb3;text-decoration:none;font-size:.875rem;transition:all .2s ease;display:inline-block}:root.dark .footer-links a{color:var(--color-text-tertiary)}.footer-links a:hover{color:var(--color-accent-cyan);transform:translate(4px)}:root.dark .footer-links a:hover{color:var(--color-accent-cyan)}.footer-social{display:flex;flex-direction:column;gap:.75rem}.social-link{display:flex;align-items:center;gap:.75rem;color:#ffffffb3;text-decoration:none;font-size:.875rem;padding:.5rem 0;transition:all .2s ease;border-radius:6px}:root.dark .social-link{color:var(--color-text-tertiary)}.social-link:hover{color:var(--color-white);transform:translate(4px)}.social-link svg{width:20px;height:20px;transition:transform .2s ease}.social-link:hover svg{transform:scale(1.1)}.social-link.discord:hover{color:#5865f2}.social-link.github:hover{color:var(--color-white)}.social-link.twitter:hover{color:#1da1f2}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;text-align:center}:root.dark .footer-bottom{border-top-color:var(--color-border)}.footer-copyright{font-size:.875rem;color:#fff9;margin:0}:root.dark .footer-copyright{color:var(--color-text-quaternary)}@media(max-width:768px){.footer-container{padding:2rem 1.5rem 1rem}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-social{flex-direction:row;flex-wrap:wrap}}.setlist-form{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:12px;padding:2rem;box-shadow:0 2px 8px var(--shadow-sm)}.setlist-form-error{background:var(--color-error-lighter);border:2px solid var(--color-error);border-radius:8px;padding:1rem;color:var(--color-error);margin-bottom:1.5rem;font-size:.9375rem}.setlist-form-field{margin-bottom:1.5rem}.setlist-form-label{display:block;font-size:.9375rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.required{color:var(--color-error)}.setlist-form-input,.setlist-form-textarea{width:100%;padding:.75rem;border:2px solid var(--color-border-light);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--color-bg-white);color:var(--color-text-primary);transition:all .2s ease;box-sizing:border-box}.setlist-form-input:focus,.setlist-form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-shadow)}.setlist-form-input:disabled,.setlist-form-textarea:disabled{opacity:.6;cursor:not-allowed}.setlist-form-textarea{resize:vertical;min-height:80px}.setlist-form-char-count{display:block;text-align:right;font-size:.8125rem;color:var(--color-text-tertiary);margin-top:.25rem}.setlist-form-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.9375rem;color:var(--color-text-primary)}.setlist-form-checkbox{margin-top:.125rem;width:18px;height:18px;cursor:pointer;flex-shrink:0}.setlist-form-checkbox:disabled{cursor:not-allowed}.setlist-form-help-text{display:block;font-size:.8125rem;color:var(--color-text-tertiary);margin-top:.25rem;line-height:1.4}.setlist-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border-light)}.setlist-form-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;font-family:inherit}.setlist-form-button.primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:var(--color-white);box-shadow:0 2px 8px var(--color-primary-shadow)}.setlist-form-button.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary) 100%);box-shadow:0 4px 12px var(--color-primary-shadow-medium);transform:translateY(-1px)}.setlist-form-button.primary:disabled{opacity:.6;cursor:not-allowed}.setlist-form-button.secondary{background:var(--color-bg-white);color:var(--color-primary);border:2px solid var(--color-primary)}.setlist-form-button.secondary:hover:not(:disabled){background:var(--color-primary-light)}.setlist-form-button.secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.setlist-form{padding:1.5rem}.setlist-form-actions{flex-direction:column-reverse}.setlist-form-button{width:100%}}.setlist-selector{position:relative;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:12px;box-shadow:0 4px 20px var(--shadow-md);min-width:320px;max-width:400px;max-height:500px;display:flex;flex-direction:column}.setlist-selector-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-light)}.setlist-selector-header h3{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0}.setlist-selector-close{background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.setlist-selector-close:hover{background:var(--color-bg-light);color:var(--color-text-primary)}.setlist-selector-list{flex:1;overflow-y:auto;padding:.5rem 0;max-height:350px}.setlist-selector-item{width:100%;padding:.75rem 1.5rem;background:transparent;border:none;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem}.setlist-selector-item:hover:not(:disabled){background:var(--color-primary-lightest)}.setlist-selector-item:disabled{opacity:.6;cursor:not-allowed}.setlist-selector-item.active{background:var(--color-primary-lightest)}.setlist-selector-item-checkbox{flex-shrink:0;width:20px;height:20px;border:2px solid var(--color-border);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:var(--color-bg-white)}.setlist-selector-item.active .setlist-selector-item-checkbox{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.setlist-selector-item-content{flex:1;min-width:0}.setlist-selector-item-name{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem;display:flex;align-items:center}.setlist-selector-item-meta{font-size:.8125rem;color:var(--color-text-tertiary)}.setlist-selector-item-loading{font-size:.8125rem;color:var(--color-text-tertiary);font-style:italic;flex-shrink:0}.setlist-selector-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border-light)}.setlist-selector-create-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:var(--color-bg-white);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.setlist-selector-create-button:hover{background:var(--color-primary);color:var(--color-white)}.setlist-selector-create-form{padding:1rem 1.5rem;max-height:450px;overflow-y:auto}.setlist-selector-create-form-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.setlist-selector-back{background:transparent;border:none;color:var(--color-primary);font-size:.9375rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease}.setlist-selector-back:hover{background:var(--color-primary-lightest)}.setlist-selector-create-form-header h4{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0}.setlist-selector-loading,.setlist-selector-empty{padding:2rem 1.5rem;text-align:center;color:var(--color-text-tertiary);font-size:.9375rem}.setlist-selector-empty p{margin:0}@media(max-width:768px){.setlist-selector{min-width:280px;max-width:calc(100vw - 2rem);right:auto;left:0}}.spr-input-container{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;margin:0}.spr-label{font-weight:500;color:var(--color-text-primary, #333);font-size:1rem}.spr-input{width:100%;max-width:300px;padding:.75rem 1rem;font-size:1.125rem;border:2px solid var(--color-border, #ddd);border-radius:8px;background-color:var(--color-background, #fff);color:var(--color-text-primary, #333);transition:border-color .2s,box-shadow .2s;font-family:inherit}.spr-input:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 3px #007bff1a}.spr-input:disabled{background-color:var(--color-background-secondary, #f5f5f5);cursor:not-allowed;opacity:.7}.spr-input.correct{border-color:var(--color-success, #28a745);background-color:#28a7450d}.spr-input.incorrect{border-color:var(--color-error, #dc3545);background-color:#dc35450d}.spr-feedback{padding:.75rem 1rem;border-radius:6px;font-size:.95rem}.spr-feedback.correct{background-color:#28a7451a;color:var(--color-success-dark, #155724)}.spr-feedback.incorrect{background-color:#dc35451a;color:var(--color-error-dark, #721c24)}.feedback-text{display:flex;align-items:center;gap:.5rem}.feedback-text.correct{color:var(--color-success-dark, #155724);font-weight:500}.feedback-text.incorrect{color:var(--color-error-dark, #721c24)}@media(prefers-color-scheme:dark){.spr-input{border-color:var(--color-border-dark, #444);background-color:var(--color-background-dark, #1a1a1a);color:var(--color-text-primary-dark, #fff)}.spr-input:focus{border-color:var(--color-primary-dark, #4da3ff)}.spr-input.correct{border-color:var(--color-success-dark, #4caf50)}.spr-input.incorrect{border-color:var(--color-error-dark, #f44336)}}.question-container{background-color:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:16px;padding:0;margin:0;text-align:left;width:100%;box-sizing:border-box;box-shadow:0 1px 3px var(--shadow-sm),0 4px 12px var(--shadow-md);overflow:hidden}.question-header{background:var(--color-primary);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:none;font-size:.875rem;box-shadow:0 2px 8px var(--color-primary-shadow)}.question-header-right{display:flex;align-items:center;gap:.5rem}.question-header-left{display:flex;flex-direction:column;gap:.25rem}.question-id{font-weight:700;color:var(--color-white);font-size:.9375rem;letter-spacing:.025em}.question-meta{color:var(--color-white);opacity:.95;font-weight:500;display:flex;gap:.5rem;align-items:center}.question-link-button{background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s ease,opacity .2s ease;color:var(--color-white);opacity:.8;display:flex;align-items:center;justify-content:center;width:24px;height:24px;text-decoration:none}.question-link-button svg{width:100%;height:100%}.question-link-button:hover{transform:scale(1.2);opacity:1}.favorite-button{background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s ease,opacity .2s ease;color:var(--color-white);opacity:.8;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.favorite-button svg{width:100%;height:100%}.favorite-button:hover{transform:scale(1.2);opacity:1}.favorite-button.active{opacity:1}.question-content-wrapper{display:flex;gap:0;min-height:400px}.passage-column{flex:1;border-right:1px solid var(--color-border);overflow-y:auto}.passage{padding:1.5rem;line-height:1.7;color:var(--color-text-secondary);font-size:1rem;height:100%}.passage-placeholder{color:var(--color-text-tertiary);font-style:italic;opacity:.6}.passage p{margin:0 0 1rem}.passage p:last-child{margin-bottom:0}.passage em{font-style:italic}.parsed-html .sr-only{display:none}.parsed-html table{margin:0 auto;border-collapse:collapse;text-align:center}.parsed-html th,.parsed-html td{border-collapse:collapse;border:2px solid var(--color-border);margin-bottom:1rem;padding:.5rem;text-align:center}.parsed-html svg{display:block;margin:0 auto;background-color:#fff}.question-column{flex:1;display:flex;flex-direction:column;min-width:0}.question-prompt{padding:1.5rem;font-weight:600;font-size:1.125rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.question-prompt p{margin:0}.answer-choices{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.answer-choice-wrapper{display:flex;align-items:center;gap:.5rem;width:100%}.answer-choice{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border:2px solid var(--color-border-light);border-radius:12px;background-color:var(--color-bg-white);cursor:pointer;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1rem;flex:1;box-shadow:0 1px 2px var(--shadow-sm)}.answer-choice:hover:not(:disabled){border-color:var(--color-accent-cyan);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-accent-cyan-light) 100%);box-shadow:0 2px 8px var(--color-primary-shadow);transform:translateY(-1px)}.answer-choice.selected{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-lighter) 0%,var(--color-accent-violet-light) 100%);box-shadow:0 2px 8px var(--color-primary-shadow-medium)}.answer-choice.correct{border-color:var(--color-success);background:linear-gradient(135deg,var(--color-success-light) 0%,var(--color-accent-teal-light) 100%)}.answer-choice.incorrect{border-color:var(--color-error);background:linear-gradient(135deg,var(--color-error-light) 0%,var(--color-accent-pink-light) 100%)}.answer-choice.eliminated{opacity:.5;text-decoration:line-through;background-color:var(--color-bg-lighter);border-color:var(--color-border);cursor:not-allowed;color:var(--color-text-tertiary)}.answer-choice.eliminated .choice-letter,.answer-choice.eliminated .choice-text{color:var(--color-text-tertiary);text-decoration:line-through}.answer-choice.eliminated:hover{transform:none;border-color:var(--color-border);background-color:var(--color-bg-lighter);box-shadow:0 1px 2px var(--shadow-sm)}.answer-choice:disabled{cursor:not-allowed}.eliminate-button{padding:.5rem .75rem;background-color:var(--color-error-light);color:var(--color-error);border:2px solid var(--color-error);border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;min-width:36px;height:fit-content;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px var(--shadow-sm)}.eliminate-button:hover{background-color:var(--color-error);color:var(--color-white);box-shadow:0 2px 8px var(--color-primary-shadow);transform:translateY(-1px)}.eliminate-button:active{transform:translateY(0)}.undo-button{padding:.5rem .75rem;background-color:var(--color-success-light);color:var(--color-success);border:2px solid var(--color-success);border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;min-width:36px;height:fit-content;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px var(--shadow-sm)}.undo-button:hover{background-color:var(--color-success);color:var(--color-white);box-shadow:0 2px 8px var(--color-primary-shadow);transform:translateY(-1px)}.undo-button:active{transform:translateY(0)}.choice-letter{font-weight:600;min-width:24px;color:var(--color-text-secondary)}.answer-choice.correct .choice-letter,.answer-choice.incorrect .choice-letter{font-weight:700}.choice-text{flex:1;color:var(--color-text-secondary);line-height:1.6}.choice-text p{margin:0}.choice-text em{font-style:italic}.submit-button{margin:0 1.5rem 1.5rem;padding:.75rem 2rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:var(--color-white);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);align-self:flex-start;box-shadow:0 4px 12px var(--color-primary-shadow-medium)}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary) 100%);box-shadow:0 6px 16px var(--color-primary-shadow-strong);transform:translateY(-2px)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.results-section{border-top:1px solid var(--color-border);padding:1.5rem;background-color:var(--color-bg-lighter);width:100%;box-sizing:border-box}.results{padding:0;background-color:transparent}.result-message{font-size:1.25rem;font-weight:700;margin-bottom:1rem;margin-top:0;padding:.75rem;border-radius:4px;text-align:center}.result-message.correct{color:var(--color-success-dark);background-color:var(--color-success-light)}.result-message.incorrect{color:var(--color-error-dark);background-color:var(--color-error-light)}.result-time{font-weight:600;opacity:.85;margin-left:.5rem}.rationale{margin:1.5rem 0;padding:1.25rem;background-color:var(--color-bg-white);border-radius:4px;border-left:4px solid var(--color-primary)}.rationale strong{display:block;margin-bottom:.75rem;color:var(--color-text-secondary);font-size:1.125rem}.rationale div{line-height:1.7;color:var(--color-text-tertiary)}.rationale p{margin:0 0 1rem;line-height:1.7;color:var(--color-text-tertiary)}.rationale p:last-child{margin-bottom:0}.rationale em{font-style:italic}.new-question-button{margin-bottom:1.5rem;padding:.875rem 2.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);color:var(--color-white);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;box-shadow:0 4px 12px var(--color-primary-shadow-medium),0 2px 4px var(--color-primary-shadow);display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap}.new-question-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-cyan) 0%,var(--color-primary) 100%);box-shadow:0 6px 16px var(--color-primary-shadow-strong),0 2px 6px var(--color-primary-shadow-medium);transform:translateY(-2px)}.new-question-button:active:not(:disabled){transform:translateY(0)}.new-question-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.results-section .rationale{margin:1.5rem 0 0}@media(max-width:768px){.question-content-wrapper{flex-direction:column;min-height:auto}.passage-column{border-right:none;border-bottom:1px solid var(--color-border);max-height:none}}.question-of-the-day-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:20px;box-shadow:0 4px 16px var(--shadow-md),0 2px 8px var(--shadow-sm);margin-bottom:2rem}.question-of-the-day-header{text-align:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--color-border-light)}.question-of-the-day-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-violet) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;padding:0}.question-of-the-day-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.reset-button{background:var(--color-bg-white);color:var(--color-primary);border:2px solid var(--color-primary);padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.reset-button:hover{background:var(--color-primary-light);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px var(--color-primary-shadow)}.error-message{background-color:var(--color-error-lighter);color:var(--color-error-medium);padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--color-error-border);text-align:center}.loading{text-align:center;padding:2rem;color:var(--color-text-quaternary);font-size:1.125rem}@media(max-width:768px){.question-of-the-day-container{padding:1.5rem;margin-top:2rem;border-radius:16px}.question-of-the-day-header{margin-bottom:1.5rem;padding-bottom:1rem}.question-of-the-day-controls{justify-content:center}.reset-button{width:100%;max-width:300px}}.home-container{width:100%;min-height:calc(100vh - 80px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:linear-gradient(135deg,var(--color-bg-gradient-start) 0%,var(--color-bg-white) 100%)}.home-hero{text-align:center;max-width:900px;margin-bottom:2rem}.home-title{font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:1.1;margin:0 0 1.5rem;color:var(--color-text-primary);letter-spacing:-.02em}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-violet) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.home-subtitle{font-size:clamp(1.125rem,2.5vw,1.5rem);color:var(--color-text-tertiary);line-height:1.6;margin:0 0 2rem;font-weight:400}.home-subtitle strong{color:var(--color-primary);font-weight:600}.home-stats{display:flex;justify-content:center;gap:3rem;margin:2rem 0 3rem;flex-wrap:wrap}.stat-item{text-align:center}.stat-number{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.2;margin-bottom:.5rem}.stat-item:nth-child(1) .stat-number{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-item:nth-child(2) .stat-number{background:linear-gradient(135deg,var(--color-accent-teal) 0%,var(--color-success) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-item:nth-child(3) .stat-number{background:linear-gradient(135deg,var(--color-accent-orange) 0%,var(--color-accent-amber) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.875rem;color:var(--color-text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.home-cta{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.cta-button{padding:1rem 2.5rem;font-size:1.125rem;font-weight:600;border-radius:12px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.home-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1200px;width:100%;margin-top:2rem}.feature-card{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:20px;padding:2.5rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px var(--shadow-sm),0 4px 12px var(--shadow-md);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent-pink) 50%,var(--color-accent-orange) 100%);transform:scaleX(0);transition:transform .3s ease}.feature-card:hover:before{transform:scaleX(1)}.feature-card:nth-child(1){border-top:4px solid var(--color-primary)}.feature-card:nth-child(2){border-top:4px solid var(--color-accent-teal)}.feature-card:nth-child(3){border-top:4px solid var(--color-accent-orange)}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px var(--shadow-lg),0 8px 24px var(--shadow-xl);border-color:var(--color-primary-light)}.feature-icon{font-size:3.5rem;margin-bottom:1.5rem;display:block;filter:grayscale(.2);transition:transform .3s ease}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.feature-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.feature-description{font-size:1rem;line-height:1.7;color:var(--color-text-tertiary);margin:0}.home-value-prop{max-width:1200px;width:100%;margin-top:6rem;text-align:center}.value-prop-title{font-size:clamp(2rem,5vw,2.5rem);font-weight:700;color:var(--color-text-primary);margin:0 0 3rem}.value-prop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.value-item{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:16px;padding:2rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px var(--shadow-sm);position:relative}.value-item:nth-child(1){border-left:4px solid var(--color-success);background:linear-gradient(135deg,var(--color-success-lighter) 0%,var(--color-bg-white) 100%)}.value-item:nth-child(2){border-left:4px solid var(--color-accent-cyan);background:linear-gradient(135deg,var(--color-accent-cyan-light) 0%,var(--color-bg-white) 100%)}.value-item:nth-child(3){border-left:4px solid var(--color-accent-amber);background:linear-gradient(135deg,var(--color-accent-amber-light) 0%,var(--color-bg-white) 100%)}.value-item:nth-child(4){border-left:4px solid var(--color-accent-violet);background:linear-gradient(135deg,var(--color-accent-violet-light) 0%,var(--color-bg-white) 100%)}.value-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-md);border-color:var(--color-primary-light)}.value-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.value-item h4{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .75rem}.value-item p{font-size:.9375rem;line-height:1.6;color:var(--color-text-tertiary);margin:0}.feature-description strong{color:var(--color-primary);font-weight:600}@media(max-width:768px){.home-container{padding:2rem 1rem}.home-hero{margin-bottom:4rem}.home-stats{gap:2rem}.home-cta{flex-direction:column;width:100%}.cta-button{width:100%}.home-features,.value-prop-grid{grid-template-columns:1fr;gap:1.5rem}.home-value-prop{margin-top:4rem}}.multiselect-wrapper{position:relative;width:100%}.multiselect-label{display:block;font-size:.8125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem;text-align:center;letter-spacing:.025em}.multiselect{position:relative;display:flex;align-items:center;justify-content:space-between;padding:.375rem 2rem .375rem .75rem;border:2px solid var(--color-border-medium);border-radius:6px;font-size:.8125rem;background-color:var(--color-bg-white);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:32px;box-shadow:0 1px 2px var(--shadow-sm)}.multiselect:hover{border-color:var(--color-primary);box-shadow:0 4px 6px var(--color-primary-shadow);transform:translateY(-1px)}.multiselect.open{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-shadow),0 4px 12px var(--shadow-2xl);transform:translateY(0)}.multiselect-display{flex:1;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-weight:500;line-height:1.5}.multiselect-arrow{position:absolute;right:.625rem;font-size:.625rem;color:var(--color-text-muted);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px}.multiselect.open .multiselect-arrow{transform:rotate(180deg);color:var(--color-primary)}.multiselect-dropdown{position:absolute;top:calc(100% + .375rem);left:0;right:0;background-color:var(--color-bg-white);border:2px solid var(--color-border-medium);border-radius:6px;box-shadow:0 10px 25px var(--shadow-2xl),0 4px 6px var(--shadow-xl);z-index:1000;max-height:200px;overflow-y:auto;overflow-x:hidden;animation:slideDown .2s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.multiselect-dropdown::-webkit-scrollbar{width:6px}.multiselect-dropdown::-webkit-scrollbar-track{background:var(--color-bg-lighter);border-radius:8px}.multiselect-dropdown::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:8px}.multiselect-dropdown::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled)}.multiselect-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-bg-light)}.multiselect-option:last-child{border-bottom:none}.multiselect-option:hover{background:linear-gradient(90deg,var(--color-primary-lighter) 0%,var(--color-primary-lightest) 100%);padding-left:1rem}.multiselect-option input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0;border-radius:4px;transition:all .2s ease}.multiselect-option input[type=checkbox]:checked{box-shadow:0 0 0 2px var(--color-primary-shadow-medium)}.multiselect-option span{font-size:.8125rem;color:var(--color-text-primary);font-weight:500;flex:1}.filter-bar{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:linear-gradient(135deg,var(--color-bg-white) 0%,var(--color-primary-light) 100%);border:2px solid var(--color-primary-light);border-radius:12px;box-shadow:0 1px 3px var(--shadow-sm),0 4px 12px var(--shadow-md);margin-bottom:1rem;width:100%;box-sizing:border-box;transition:all .3s ease}.filter-bar.minimized{padding:.5rem .75rem;gap:0}.filter-bar-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.filter-toggle-button{display:flex;align-items:center;gap:.375rem;background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.filter-toggle-button:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.filter-toggle-button svg{width:14px;height:14px;transition:transform .2s ease}.filter-summary{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1}.filter-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:4px;font-size:.75rem;font-weight:500}.filter-count{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);margin-left:auto}.filter-fetch-button-minimized{background:var(--color-primary);color:var(--color-white);font-size:.8125rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:.375rem}.filter-fetch-button-minimized:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px var(--color-primary-shadow)}.filter-fetch-button-minimized:disabled{opacity:.6;cursor:not-allowed}.filter-selects-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;align-items:flex-end}.filter-options-row{display:flex;justify-content:center;align-items:center;gap:1rem;width:100%;flex-wrap:wrap}.filter-checkbox-group{display:flex;align-items:center}.filter-checkbox-label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.filter-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.filter-checkbox-label:hover{color:var(--color-text-primary)}.filter-button-group{display:flex;align-items:center;justify-content:center;width:100%}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:180px;max-width:300px}.filter-group label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.filter-group select{padding:.5rem 2rem .5rem .75rem;border:1px solid var(--color-border-light);border-radius:4px;font-size:.875rem;background-color:var(--color-bg-white);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:12px;transition:border-color .2s}.filter-group select:hover{border-color:var(--color-primary)}.filter-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-shadow)}.fetch-button{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);color:var(--color-white);padding:.625rem 2rem;font-size:.875rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px var(--color-primary-shadow-medium),0 2px 4px var(--color-primary-shadow);display:flex;align-items:center;justify-content:center;gap:.375rem;white-space:nowrap;width:100%}.fetch-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-cyan) 0%,var(--color-primary) 100%);box-shadow:0 6px 16px var(--color-primary-shadow-strong),0 2px 6px var(--color-primary-shadow-medium);transform:translateY(-2px)}.fetch-button:active:not(:disabled){transform:translateY(0)}.fetch-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.question-count{font-weight:500;opacity:.9}@media(max-width:768px){.filter-bar-header{flex-direction:column;align-items:stretch;gap:.75rem}.filter-summary{flex-direction:column;align-items:flex-start}.filter-count{margin-left:0}.filter-fetch-button-minimized{width:100%}.filter-toggle-button{width:100%;justify-content:space-between}}.timer-container{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);color:var(--color-white);padding:.75rem 1.25rem;border-radius:12px;box-shadow:0 4px 12px var(--color-primary-shadow-medium),0 2px 4px var(--color-primary-shadow);z-index:100;transition:opacity .3s ease,transform .3s ease}.timer-show-button{width:100%;justify-content:center}.timer-display{display:flex;align-items:center;gap:.5rem;font-weight:600}.timer-label{font-size:.875rem;opacity:.9}.timer-value{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:3.5rem;text-align:center}.timer-toggle{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--color-white);padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.timer-toggle:hover{background:#ffffff4d;border-color:#ffffff80}.timer-toggle:active{transform:scale(.95)}@media(max-width:768px){.timer-container{bottom:1rem;right:1rem;padding:.625rem 1rem}.timer-label{font-size:.8125rem}.timer-value{font-size:1rem;min-width:3rem}.timer-toggle{padding:.25rem .5rem;font-size:.8125rem}}.page-title{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem;text-align:center}.about-page{max-width:800px;margin:0 auto;padding:2rem 0}.about-section{margin-bottom:3rem}.about-section h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem;border-bottom:2px solid var(--color-border);padding-bottom:.5rem}.about-section p{font-size:1rem;line-height:1.7;color:var(--color-text-secondary);margin-bottom:1rem}.feature-list,.how-to-list{list-style:none;padding:0;margin:0}.feature-list li,.how-to-list li{font-size:1rem;line-height:1.7;color:var(--color-text-secondary);margin-bottom:1rem;padding-left:1.5rem;position:relative}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:600}.how-to-list li{counter-increment:step-counter}.how-to-list{counter-reset:step-counter}.how-to-list li:before{content:counter(step-counter);position:absolute;left:0;color:var(--color-primary);font-weight:600;background-color:var(--color-primary-lighter);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem}.feature-list strong,.how-to-list strong{color:var(--color-text-primary);font-weight:600}.table-favorite-button-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.favorite-button-table{background:transparent;border:none;cursor:pointer;padding:.25rem;transition:transform .2s ease,opacity .2s ease;color:var(--color-text-tertiary);opacity:.7;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.favorite-button-table:hover:not(:disabled){transform:scale(1.2);opacity:1}.favorite-button-table.active{opacity:1;color:var(--color-accent-amber)}.favorite-button-table:disabled{opacity:.5;cursor:not-allowed}.search-bar-container{margin-bottom:1rem}.search-bar{position:relative;display:flex;align-items:center;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:12px;padding:.75rem 1rem;box-shadow:0 1px 3px var(--shadow-sm),0 4px 12px var(--shadow-md);transition:all .2s ease}.search-bar:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-shadow),0 4px 12px var(--shadow-md)}.search-icon{color:var(--color-text-muted);margin-right:.75rem;flex-shrink:0}.search-input{flex:1;border:none;outline:none;background:transparent;font-size:.9375rem;color:var(--color-text-primary);font-weight:500}.search-input::placeholder{color:var(--color-text-muted)}.search-clear{background:none;border:none;cursor:pointer;padding:.25rem;margin-left:.5rem;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:color .2s ease;flex-shrink:0}.search-clear:hover{color:var(--color-text-primary)}.search-results{width:100%}.table-container{background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:16px;box-shadow:0 1px 3px var(--shadow-sm),0 4px 12px var(--shadow-md);overflow:hidden;overflow-x:auto}.questions-table{width:100%;border-collapse:collapse;font-size:.875rem}.questions-table thead{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);color:var(--color-white)}.questions-table th{padding:1rem 1.25rem;text-align:left;font-weight:600;font-size:.875rem;letter-spacing:.025em;white-space:nowrap}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.sortable-header:hover{background-color:#ffffff1a}.sortable-header>*{display:inline-block;vertical-align:middle}.sortable-header span{margin-right:.5rem}.sortable-header svg{opacity:1}.favorite-header{width:50px;text-align:center;color:var(--color-white)}.favorite-header svg{width:18px;height:18px;display:inline-block}.favorite-cell{text-align:center;padding:.5rem!important}.questions-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:background-color .2s ease}.table-row-clickable{cursor:pointer}.table-row-clickable:hover{background-color:var(--color-primary-light);transform:scale(1.01);box-shadow:0 2px 8px var(--color-primary-shadow)}.questions-table tbody tr:last-child{border-bottom:none}.questions-table td{padding:1rem 1.25rem;color:var(--color-text-secondary);vertical-align:top}.id-cell{font-weight:600;color:var(--color-text-primary);font-family:Monaco,Menlo,Courier New,monospace;font-size:.8125rem}.skill-cell{font-weight:500;color:var(--color-text-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.difficulty-cell{white-space:nowrap}.difficulty-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.difficulty-badge.easy{background:linear-gradient(135deg,var(--color-success-light) 0%,var(--color-accent-teal-light) 100%);color:var(--color-success-dark);border:1px solid var(--color-success)}.difficulty-badge.medium{background:linear-gradient(135deg,var(--color-accent-amber-light) 0%,var(--color-accent-orange-light) 100%);color:var(--color-accent-orange);border:1px solid var(--color-accent-amber)}.difficulty-badge.hard{background:linear-gradient(135deg,var(--color-error-light) 0%,var(--color-accent-pink-light) 100%);color:var(--color-error-dark);border:1px solid var(--color-error)}.level-cell{text-align:center;color:var(--color-text-tertiary);font-weight:500}.domain-cell{color:var(--color-text-tertiary);font-size:.8125rem}.preview-cell{max-width:400px}.question-preview{color:var(--color-text-tertiary);line-height:1.4;font-size:.8125rem;max-height:3em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.question-preview .parsed-html{max-height:3em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.question-preview .parsed-html table,.question-preview .parsed-html svg{display:none!important}.question-preview .parsed-html p{margin:0}.question-preview .parsed-html em{font-style:italic}.no-preview{color:var(--color-text-muted);font-style:italic}.favorite-button-table{background:none;border:none;cursor:pointer;padding:.25rem .5rem;transition:transform .2s ease;opacity:.6;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--color-accent-amber)}.favorite-button-table svg{width:100%;height:100%}.favorite-button-table:hover{transform:scale(1.2);opacity:1}.favorite-button-table.active{opacity:1}@media(max-width:1024px){.table-container{overflow-x:auto}.questions-table{min-width:800px}}.pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0;padding:1.5rem;background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:16px;box-shadow:0 1px 3px var(--shadow-sm);flex-wrap:wrap}.pagination-header{color:var(--color-text-secondary);font-size:.9375rem;font-weight:500;white-space:nowrap}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.pagination-button{padding:.625rem 1.25rem;background:var(--color-bg-white);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pagination-button:disabled{opacity:.5;cursor:not-allowed;border-color:var(--color-border);color:var(--color-text-muted)}.pagination-pages{display:flex;gap:.5rem;align-items:center}.pagination-page{min-width:40px;height:40px;padding:.5rem;background:var(--color-bg-white);color:var(--color-text-secondary);border:2px solid var(--color-border-light);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pagination-page:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.pagination-page.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);color:var(--color-white);border-color:var(--color-primary);box-shadow:0 2px 8px var(--color-primary-shadow)}.pagination-page:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.questions-table th,.questions-table td{padding:.75rem 1rem;font-size:.8125rem}.preview-cell{max-width:200px}.pagination{flex-direction:column;align-items:stretch;gap:1rem}.pagination-header{text-align:center;width:100%}.pagination-controls{width:100%;justify-content:center}.pagination-pages{flex-wrap:wrap;justify-content:center}.pagination-page{min-width:36px;height:36px;font-size:.8125rem}}.question-detail-header{margin-bottom:2rem}.back-button{padding:.75rem 1.5rem;background:var(--color-bg-white);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.back-button:hover{background:var(--color-primary);color:var(--color-white);transform:translate(-2px);box-shadow:0 2px 8px var(--color-primary-shadow)}.submission-history-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border-light)}.submission-history-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem}.submission-history-list{display:flex;flex-direction:column;gap:1rem}.submission-item{background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:10px;padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;transition:all .2s ease}.submission-item.correct{border-left:4px solid var(--color-success);background:linear-gradient(90deg,var(--color-success-lighter) 0%,var(--color-bg-white) 100%)}.submission-item.incorrect{border-left:4px solid var(--color-error);background:linear-gradient(90deg,var(--color-error-lighter) 0%,var(--color-bg-white) 100%)}.submission-item:hover{border-color:var(--color-border);box-shadow:0 2px 8px var(--shadow-sm)}.submission-status{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.submission-status svg{width:100%;height:100%}.submission-item.correct .submission-status{color:var(--color-success)}.submission-item.incorrect .submission-status{color:var(--color-error)}.submission-details{flex:1;min-width:0}.submission-answer{font-size:.9375rem;color:var(--color-text-primary);margin-bottom:.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.submission-label{color:var(--color-text-tertiary);font-weight:400}.submission-value{color:var(--color-text-primary);font-weight:600}.submission-separator{color:var(--color-text-tertiary);margin:0 .25rem}.submission-time{font-size:.8125rem;color:var(--color-text-tertiary)}.submission-history-empty{margin-top:3rem;padding:2rem;text-align:center;color:var(--color-text-tertiary);border-top:1px solid var(--color-border-light)}.submission-history-empty p{margin:0;font-size:.9375rem}.question-detail-actions{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-start}.auth-callback-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2rem}.auth-callback-content{text-align:center}.auth-callback-spinner{width:40px;height:40px;border:4px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.auth-callback-content p{color:var(--color-text-secondary);font-size:1rem}.dashboard-container{width:100%;min-height:calc(100vh - 80px);padding:2rem;max-width:1200px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:3rem}.dashboard-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;color:var(--color-text-primary);margin:0 0 .5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-violet) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-subtitle{font-size:1.25rem;color:var(--color-text-tertiary);margin:0}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px var(--shadow-sm);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:transform .3s ease}.stat-card.total:before{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%)}.stat-card.correct:before{background:linear-gradient(90deg,var(--color-success) 0%,var(--color-accent-teal) 100%)}.stat-card.incorrect:before{background:linear-gradient(90deg,var(--color-error) 0%,var(--color-accent-orange) 100%)}.stat-card.accuracy:before{background:linear-gradient(90deg,var(--color-accent-violet) 0%,var(--color-accent-pink) 100%)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px var(--shadow-md);border-color:var(--color-primary-light)}.stat-card-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--color-text-primary);opacity:.8}.stat-card-icon svg{width:100%;height:100%}.stat-card.total .stat-card-icon{color:var(--color-primary)}.stat-card.correct .stat-card-icon{color:var(--color-success)}.stat-card.incorrect .stat-card-icon{color:var(--color-error)}.stat-card.accuracy .stat-card-icon{color:var(--color-accent-violet)}.stat-card-content{flex:1}.stat-card-label{font-size:.875rem;color:var(--color-text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.stat-card-value{font-size:2rem;font-weight:800;color:var(--color-text-primary);line-height:1.2}.stat-card.total .stat-card-value{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card.correct .stat-card-value{color:var(--color-success)}.stat-card.incorrect .stat-card-value{color:var(--color-error)}.stat-card.accuracy .stat-card-value{background:linear-gradient(135deg,var(--color-accent-violet) 0%,var(--color-accent-pink) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-section{margin-bottom:3rem}.dashboard-section-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1.5rem}.skill-breakdown{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem}.skill-item{background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:12px;padding:1.5rem;transition:all .2s ease;flex:1 1 300px;min-width:250px;max-width:100%}.skill-item:hover{border-color:var(--color-border);box-shadow:0 2px 8px var(--shadow-sm)}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.skill-name{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.skill-accuracy{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.skill-stats{display:flex;gap:1.5rem;margin-bottom:.75rem;flex-wrap:wrap}.skill-stat{display:flex;align-items:center;gap:.5rem}.skill-stat-label{font-size:.875rem;color:var(--color-text-tertiary);font-weight:500}.skill-stat-value{font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.skill-stat-value.correct{color:var(--color-success)}.skill-stat-value.incorrect{color:var(--color-error)}.skill-progress-bar{width:100%;height:8px;background:var(--color-bg-light);border-radius:4px;overflow:hidden;margin-top:.75rem}.skill-progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:12px;padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px var(--shadow-sm);text-decoration:none;color:inherit;cursor:pointer}.activity-item.correct{border-left:4px solid var(--color-success);background:linear-gradient(90deg,var(--color-success-lighter) 0%,var(--color-bg-white) 100%)}.activity-item.incorrect{border-left:4px solid var(--color-error);background:linear-gradient(90deg,var(--color-error-lighter) 0%,var(--color-bg-white) 100%)}.activity-item:hover{transform:translate(4px);box-shadow:0 2px 8px var(--shadow-md);border-color:var(--color-primary-light)}.activity-status{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.activity-status svg{width:100%;height:100%}.activity-item.correct .activity-status{color:var(--color-success)}.activity-item.incorrect .activity-status{color:var(--color-error)}.activity-details{flex:1}.activity-question{font-size:.875rem;color:var(--color-text-tertiary);margin-bottom:.5rem;font-family:Monaco,Menlo,monospace}.activity-answer{font-size:1rem;color:var(--color-text-primary);margin-bottom:.5rem}.activity-answer strong{font-weight:600}.activity-time{font-size:.8125rem;color:var(--color-text-tertiary)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-light)}.pagination-button{padding:.5rem 1rem;background:var(--color-bg-white);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:var(--color-primary);color:var(--color-white);transform:translateY(-1px);box-shadow:0 2px 8px var(--color-primary-shadow)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.875rem;color:var(--color-text-tertiary);font-weight:500}.favorites-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.favorite-item{background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:8px;padding:.875rem;text-decoration:none;color:inherit;transition:all .2s ease;display:block}.favorite-item:hover{border-color:var(--color-primary-light);box-shadow:0 2px 6px var(--shadow-sm);transform:translateY(-1px)}.favorite-item-content{display:flex;flex-direction:column;gap:.5rem}.favorite-item-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.favorite-item-id{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);font-family:Monaco,Menlo,Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-star{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--color-accent-amber)}.favorite-star svg{width:100%;height:100%}.favorite-item-meta{font-size:.8125rem;color:var(--color-text-tertiary);line-height:1.4}.favorite-item-preview{font-size:.8125rem;color:var(--color-text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dashboard-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.dashboard-empty{text-align:center;padding:4rem 2rem;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:20px;box-shadow:0 2px 8px var(--shadow-sm)}.dashboard-empty-icon{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);opacity:.6}.dashboard-empty-icon svg{width:48px;height:48px}.dashboard-empty h2{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.dashboard-empty p{font-size:1.125rem;color:var(--color-text-tertiary);margin:0 0 2rem}.dashboard-auth-required{text-align:center;padding:4rem 2rem;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:20px;box-shadow:0 2px 8px var(--shadow-sm);max-width:500px;margin:0 auto}.dashboard-auth-required h2{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.dashboard-auth-required p{font-size:1.125rem;color:var(--color-text-tertiary);margin:0 0 2rem}.cta-button{padding:1rem 2.5rem;font-size:1.125rem;font-weight:600;border-radius:12px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:none;cursor:pointer}.cta-button.primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:var(--color-white);box-shadow:0 4px 12px var(--color-primary-shadow-medium),0 2px 4px var(--color-primary-shadow)}.cta-button.primary:hover{background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary) 100%);box-shadow:0 6px 20px var(--color-primary-shadow-strong),0 2px 6px var(--color-primary-shadow-medium);transform:translateY(-2px)}.cta-button.secondary{background:var(--color-bg-white);color:var(--color-primary);border:2px solid var(--color-primary);box-shadow:0 2px 8px var(--shadow-sm)}.cta-button.secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary-hover);box-shadow:0 4px 12px var(--color-primary-shadow);transform:translateY(-2px)}.loading{text-align:center;padding:4rem 2rem;font-size:1.25rem;color:var(--color-text-tertiary)}.error-message{background:var(--color-error-lighter);border:2px solid var(--color-error);border-radius:12px;padding:1.5rem;color:var(--color-error);text-align:center;font-weight:500}@media(max-width:768px){.dashboard-container{padding:1rem}.dashboard-stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.favorites-list{grid-template-columns:1fr;gap:.625rem}.favorite-item{padding:.75rem}.stat-card{flex-direction:column;text-align:center;padding:1.25rem}.stat-card-icon{width:40px;height:40px}.stat-card-value{font-size:1.5rem}.skill-breakdown{flex-direction:column}.skill-item{padding:1.25rem;flex:1 1 100%;min-width:100%}.skill-header{flex-direction:column;align-items:flex-start;gap:.5rem}.skill-stats{gap:1rem}.dashboard-actions{flex-direction:column}.cta-button{width:100%}}.setlist-card{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:12px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px var(--shadow-sm);position:relative;overflow:hidden}.setlist-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px var(--shadow-md);border-color:var(--color-primary-light)}.setlist-card-link{text-decoration:none;color:inherit;display:block}.setlist-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.setlist-card-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0;flex:1}.setlist-card-badge{flex-shrink:0;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.setlist-card-badge.public{background:var(--color-success-lighter);color:var(--color-success);border:1px solid var(--color-success)}.setlist-card-badge.private{background:var(--color-bg-light);color:var(--color-text-tertiary);border:1px solid var(--color-border-light)}.setlist-card-description{font-size:.9375rem;color:var(--color-text-secondary);margin:0 0 1rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.setlist-card-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;border-top:1px solid var(--color-border-light)}.setlist-card-count{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.setlist-card-date{font-size:.8125rem;color:var(--color-text-tertiary)}.setlist-card-creator{font-size:.8125rem;color:var(--color-text-tertiary);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border-light)}.setlist-card-creator a{color:var(--color-primary);text-decoration:none;font-weight:500}.setlist-card-creator a:hover{text-decoration:underline}.setlist-card-actions{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem}.setlist-card-delete{background:transparent;border:none;color:var(--color-error);cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.7}.setlist-card-delete:hover{background:var(--color-error-lighter);opacity:1}@media(max-width:768px){.setlist-card{padding:1.25rem}.setlist-card-header{flex-direction:column;align-items:flex-start}.setlist-card-footer{flex-direction:column;align-items:flex-start;gap:.5rem}}.setlists-container{width:100%;min-height:calc(100vh - 80px);padding:2rem;max-width:1200px;margin:0 auto}.setlists-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;gap:2rem}.setlists-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;color:var(--color-text-primary);margin:0 0 .5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-violet) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.setlists-subtitle{font-size:1.25rem;color:var(--color-text-tertiary);margin:0}.setlists-create-section{margin-bottom:3rem}.setlists-section-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1.5rem}.setlists-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.setlists-filter-button{padding:.75rem 1.5rem;background:var(--color-bg-white);color:var(--color-text-primary);border:2px solid var(--color-border-light);border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.setlists-filter-button:hover{border-color:var(--color-primary-light);background:var(--color-primary-lightest)}.setlists-filter-button.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.setlists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.setlists-empty{text-align:center;padding:4rem 2rem;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:20px;box-shadow:0 2px 8px var(--shadow-sm)}.setlists-empty-icon{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);opacity:.6}.setlists-empty-icon svg{width:48px;height:48px}.setlists-empty h2{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.setlists-empty p{font-size:1.125rem;color:var(--color-text-tertiary);margin:0 0 2rem}.setlists-auth-required{text-align:center;padding:4rem 2rem;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:20px;box-shadow:0 2px 8px var(--shadow-sm);max-width:500px;margin:0 auto}.setlists-auth-required h2{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.setlists-auth-required p{font-size:1.125rem;color:var(--color-text-tertiary);margin:0 0 2rem}@media(max-width:768px){.setlists-container{padding:1rem}.setlists-header{flex-direction:column;align-items:stretch}.setlists-title{font-size:2rem}.setlists-subtitle{font-size:1rem}.setlists-grid{grid-template-columns:1fr;gap:1rem}.setlists-filters{gap:.5rem}.setlists-filter-button{padding:.5rem 1rem;font-size:.875rem}}.setlist-detail-container{width:100%;min-height:calc(100vh - 80px);padding:2rem;max-width:1200px;margin:0 auto}.setlist-detail-header{margin-bottom:2rem}.back-button{background:transparent;border:none;color:var(--color-primary);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.back-button:hover{color:var(--color-primary-hover);transform:translate(-2px)}.setlist-detail-info{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:12px;padding:2rem;margin-bottom:3rem;box-shadow:0 2px 8px var(--shadow-sm)}.setlist-detail-title-section{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.setlist-detail-title{font-size:clamp(2rem,4vw,2.5rem);font-weight:800;color:var(--color-text-primary);margin:0;flex:1}.setlist-detail-badges{display:flex;gap:.5rem}.setlist-detail-badge{padding:.375rem 1rem;border-radius:12px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.setlist-detail-badge.public{background:var(--color-success-lighter);color:var(--color-success);border:1px solid var(--color-success)}.setlist-detail-badge.private{background:var(--color-bg-light);color:var(--color-text-tertiary);border:1px solid var(--color-border-light)}.setlist-detail-description{font-size:1.125rem;color:var(--color-text-secondary);margin:0 0 1rem;line-height:1.6}.setlist-detail-meta{font-size:.9375rem;color:var(--color-text-tertiary);margin-bottom:1.5rem;display:flex;gap:.75rem;align-items:center}.setlist-detail-actions{display:flex;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--color-border-light)}.setlist-detail-info-note{padding-top:1.5rem;border-top:1px solid var(--color-border-light)}.setlist-detail-info-note p{font-size:.9375rem;color:var(--color-text-tertiary);margin:0;font-style:italic}.setlist-detail-edit-section{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:12px;padding:2rem;margin-bottom:3rem;box-shadow:0 2px 8px var(--shadow-sm)}.setlist-detail-section-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1.5rem}.setlist-detail-items-section{margin-bottom:3rem}.setlist-detail-items-list{display:flex;flex-direction:column;gap:1rem}.setlist-detail-item{background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:12px;padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px var(--shadow-sm);position:relative}.setlist-detail-item:hover{transform:translate(4px);box-shadow:0 2px 8px var(--shadow-md);border-color:var(--color-primary-light)}.setlist-detail-item-link{flex:1;text-decoration:none;color:inherit}.setlist-detail-item-content{display:flex;flex-direction:column;gap:.5rem}.setlist-detail-item-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.setlist-detail-item-id{font-size:.875rem;font-weight:600;color:var(--color-text-primary);font-family:Monaco,Menlo,Courier New,monospace}.setlist-detail-item-meta{font-size:.8125rem;color:var(--color-text-tertiary);line-height:1.4}.setlist-detail-item-preview{font-size:.875rem;color:var(--color-text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.setlist-detail-item-remove{background:transparent;border:none;color:var(--color-error);cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.7;flex-shrink:0}.setlist-detail-item-remove:hover{background:var(--color-error-lighter);opacity:1}.setlist-detail-empty{text-align:center;padding:4rem 2rem;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:20px;box-shadow:0 2px 8px var(--shadow-sm)}.setlist-detail-empty-icon{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);opacity:.6}.setlist-detail-empty-icon svg{width:48px;height:48px}.setlist-detail-empty h3{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.setlist-detail-empty p{font-size:1.125rem;color:var(--color-text-tertiary);margin:0 0 2rem}.setlist-detail-auth-required{text-align:center;padding:4rem 2rem;background:var(--color-bg-white);border:2px solid var(--color-border-light);border-radius:20px;box-shadow:0 2px 8px var(--shadow-sm);max-width:500px;margin:0 auto}.setlist-detail-auth-required h2{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.setlist-detail-auth-required p{font-size:1.125rem;color:var(--color-text-tertiary);margin:0 0 2rem}@media(max-width:768px){.setlist-detail-container{padding:1rem}.setlist-detail-info,.setlist-detail-edit-section{padding:1.5rem}.setlist-detail-title-section{flex-direction:column;align-items:flex-start}.setlist-detail-item{flex-direction:column}.setlist-detail-item-remove{align-self:flex-end}}.profile-container{max-width:800px;margin:2rem auto;padding:0 1rem}.profile-content{background:var(--color-bg-secondary);border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm)}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.profile-username{font-size:2rem;font-weight:600;margin:0;color:var(--color-text-primary)}.profile-username-input{font-size:2rem;font-weight:600;padding:.5rem;border:2px solid var(--color-border);border-radius:8px;background:var(--color-bg-primary);color:var(--color-text-primary);width:100%;max-width:400px;font-family:inherit}.profile-username-input:focus{outline:none;border-color:var(--color-primary)}.profile-bio-section{margin-bottom:1.5rem}.profile-bio{font-size:1rem;line-height:1.6;color:var(--color-text-secondary);white-space:pre-wrap;min-height:1.5rem}.profile-bio-edit{position:relative}.profile-bio-textarea{width:100%;padding:1rem;border:2px solid var(--color-border);border-radius:8px;background:var(--color-bg-primary);color:var(--color-text-primary);font-family:inherit;font-size:1rem;line-height:1.6;resize:vertical;min-height:120px}.profile-bio-textarea:focus{outline:none;border-color:var(--color-primary)}.profile-bio-textarea:disabled{opacity:.6;cursor:not-allowed}.profile-bio-counter{text-align:right;font-size:.875rem;color:var(--color-text-tertiary);margin-top:.5rem}.profile-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}@media(max-width:768px){.profile-content{padding:1.5rem}.profile-username{font-size:1.5rem}.profile-header{flex-direction:column;align-items:flex-start}}.generate-container{width:100%;padding:2rem}.generate-form{background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px var(--shadow-sm)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-primary);font-size:.95rem}.form-select,.form-input{width:100%;padding:.75rem;border:2px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-bg-white);color:var(--color-text-primary);transition:border-color .2s,background-color .3s ease,color .3s ease}.form-select option{background:var(--color-bg-white);color:var(--color-text-primary)}.form-select:focus,.form-input:focus{outline:none;border-color:var(--color-primary, #007bff)}.form-input{font-family:inherit}.generate-button{width:100%;padding:1rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:var(--color-white);border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;margin-top:1rem;box-shadow:0 4px 12px var(--color-primary-shadow-medium)}.generate-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary) 100%);transform:translateY(-2px);box-shadow:0 6px 16px var(--color-primary-shadow-strong)}.generate-button:active:not(:disabled){transform:translateY(0)}.generate-button:disabled{opacity:.6;cursor:not-allowed}.loading-container{text-align:center;padding:3rem}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:var(--color-error-lighter, #fee);color:var(--color-error-medium, #c33);padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--color-error-border, #fcc)}.generated-problem{background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:12px;padding:2rem;margin-top:2rem;box-shadow:0 2px 8px var(--shadow-sm)}.generated-question-wrapper{margin-top:2rem;width:100%}.generated-problem h2{margin-top:0;margin-bottom:1.5rem;color:var(--color-text-primary);font-size:1.5rem}.problem-content{color:var(--color-text-primary);line-height:1.6}.problem-field{margin-bottom:1rem;padding:.75rem;background:var(--color-bg-white);border-radius:6px;border-left:4px solid var(--color-primary)}.field-label{font-weight:600;margin-right:.5rem;color:var(--color-text-primary)}.field-value{color:var(--color-text-secondary)}.problem-section{margin-bottom:1.5rem}.section-title{font-size:1.2rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text-primary)}.section-content{padding:1rem;background:var(--color-bg-white);border-radius:6px;margin-bottom:1rem}.section-content p{margin:.5rem 0}.problem-option{padding:.75rem;margin:.5rem 0;background:var(--color-bg-white);border-radius:6px;border-left:4px solid var(--color-primary);font-weight:500}.problem-paragraph{margin:1rem 0;line-height:1.8;color:var(--color-text-primary)}.problem-raw{white-space:pre-wrap;font-family:Courier New,monospace;background:var(--color-bg-white);color:var(--color-text-primary);padding:1rem;border-radius:6px;overflow-x:auto;border:1px solid var(--color-border-light)}.streaming-indicator{display:inline-block;margin-left:.5rem;color:var(--color-primary);animation:pulse 1.5s ease-in-out infinite;font-size:.8em}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.generated-problem{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.generate-container{padding:1rem}.generate-form{padding:1.5rem}}
