.button{font-family:var(--font-family-button);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-shadow:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;text-transform:uppercase}.button--primary{background:var(--color-btn-primary-bg);color:var(--color-btn-text);border:12px solid var(--color-btn-primary-border);border-radius:30px}.button--primary:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:4px solid var(--color-btn-primary-inner-border);border-radius:20px;pointer-events:none}.button--primary:hover:not(:disabled){background:var(--color-btn-primary-bg-hover);transform:translateY(-2px)}.button--primary:active:not(:disabled){background:var(--color-btn-primary-bg);transform:translateY(0)}.button--secondary{background:var(--color-btn-secondary-bg);color:var(--color-btn-text);border:12px solid var(--color-btn-secondary-border);border-radius:20px}.button--secondary:hover:not(:disabled){background:var(--color-btn-secondary-bg-hover);transform:translateY(-2px)}.button--secondary:active:not(:disabled){background:var(--color-btn-secondary-bg);transform:translateY(0)}.button--small{font-size:32px;padding:var(--spacing-2) var(--spacing-4);min-height:60px}.button--medium{font-size:48px;padding:var(--spacing-3) var(--spacing-6);min-height:80px}.button--large{font-size:64px;padding:var(--spacing-4) var(--spacing-8);min-height:100px}.button--full-width{width:100%}.button--loading{opacity:.7;cursor:wait}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button:focus,.button[data-focused=true]{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset);box-shadow:var(--focus-glow)}.input{width:100%;padding:var(--spacing-4);background:var(--color-bg-overlay);border:2px solid var(--color-border-primary);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-lg);font-family:var(--font-family-primary);transition:all var(--duration-normal);box-sizing:border-box}.input::placeholder{color:var(--color-text-secondary)}.input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-glow-yellow);background:var(--color-bg-overlay-dark)}.input:disabled{opacity:.5;cursor:not-allowed}.input--error{border-color:var(--color-error)}.input--error:focus{border-color:var(--color-error-light);box-shadow:0 0 12px #992d1f80}.input[data-focused=true]{border-color:var(--color-border-focus);box-shadow:var(--shadow-glow-yellow);background:var(--color-bg-overlay-dark)}.error-message{background:var(--color-error-bg);border:2px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error-light);padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-4);font-size:var(--font-size-sm);text-shadow:0 0 8px rgba(153,45,31,.5)}.profile-manager{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--color-bg-primary);font-family:var(--font-family-primary)}.profile-card{padding:var(--spacing-6);max-width:480px;width:100%}.profile-card h1{margin:0 0 var(--spacing-8) 0;font-size:var(--font-size-6xl);color:var(--color-primary);text-align:center;font-weight:var(--font-weight-bold);text-shadow:var(--shadow-glow-yellow-strong)}.profile-card .input{margin-bottom:var(--spacing-6)}@media(max-width:480px){.profile-card{padding:var(--spacing-4)}.profile-card h1{font-size:var(--font-size-5xl)}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal);animation:fadeIn var(--duration-normal) var(--ease-out)}.modal-content{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border:2px solid var(--color-border-primary);border-radius:var(--radius-xl);padding:var(--spacing-8);width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl),var(--shadow-glow-cyan);animation:slideUp var(--duration-slow) var(--ease-out)}.modal-content--small{max-width:400px}.modal-content--medium{max-width:var(--modal-max-width)}.modal-content--large{max-width:var(--modal-large-width)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.modal-header__title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0}.modal-header__close-button{background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-4xl);cursor:pointer;padding:0;width:32px;height:32px;line-height:1;transition:color var(--duration-normal);display:flex;align-items:center;justify-content:center}.modal-header__close-button:hover{color:var(--color-error-light)}.modal-header__close-button:focus{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset);box-shadow:var(--focus-glow)}.tv-focused{outline:var(--focus-outline-width) solid var(--focus-outline-color)!important;outline-offset:var(--focus-outline-offset);box-shadow:var(--focus-glow)}@media(max-width:640px){.modal-content{width:95%;padding:var(--spacing-6)}.modal-header__title{font-size:var(--font-size-xl)}}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3);padding:var(--spacing-8)}.loading-spinner__circle{border:4px solid var(--color-border-tertiary);border-top-color:var(--color-cyan-highlight);border-radius:50%;animation:spin var(--duration-slower) linear infinite}.loading-spinner--small .loading-spinner__circle{width:24px;height:24px;border-width:3px}.loading-spinner--medium .loading-spinner__circle{width:40px;height:40px;border-width:4px}.loading-spinner--large .loading-spinner__circle{width:64px;height:64px;border-width:5px}.loading-spinner__message{color:var(--color-text-secondary);font-size:var(--font-size-sm)}@keyframes spin{to{transform:rotate(360deg)}}.stats-header{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--color-bg-overlay);border-radius:var(--radius-md);margin-bottom:var(--spacing-6)}.lantern-color-indicator{width:24px;height:24px;border-radius:var(--radius-full);border:2px solid var(--color-text-primary);box-shadow:var(--shadow-md)}.lantern-name{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.stats-content{min-height:200px}.empty-message{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-10) var(--spacing-5);font-size:var(--font-size-base)}.stats-table{width:100%;border-collapse:collapse;color:var(--color-text-primary)}.stats-table thead{background-color:var(--color-bg-overlay)}.stats-table th{padding:var(--spacing-3);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.stats-table tbody tr{border-bottom:1px solid var(--color-border-tertiary);transition:background-color var(--duration-normal)}.stats-table tbody tr:hover{background-color:var(--color-bg-overlay)}.stats-table td{padding:var(--spacing-4) var(--spacing-3);font-size:var(--font-size-base)}.maze-cell{font-family:monospace;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.time-cell{font-weight:var(--font-weight-semibold);color:var(--color-info)}.completions-cell{color:var(--color-success-light);font-weight:var(--font-weight-semibold)}.date-cell{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}@media(max-width:768px){.stats-table{font-size:var(--font-size-sm)}.stats-table th,.stats-table td{padding:var(--spacing-2) var(--spacing-2)}}.auth-error-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--color-bg-primary);padding:var(--spacing-5);font-family:var(--font-family-primary)}.auth-error-card{background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-glow-cyan);padding:var(--spacing-12) var(--spacing-10);max-width:480px;width:100%;opacity:.95;text-align:center}.auth-error-card h1{margin:0 0 var(--spacing-8) 0;font-size:var(--font-size-6xl);color:var(--color-primary);font-weight:var(--font-weight-bold);text-shadow:var(--shadow-glow-yellow-strong)}.auth-error-card .error-message{margin-bottom:var(--spacing-8)}.auth-error-card .button{margin-top:var(--spacing-6)}@media(max-width:480px){.auth-error-card{padding:var(--spacing-8) var(--spacing-6)}.auth-error-card h1{font-size:var(--font-size-5xl)}}:root{--color-deep-teal: #0f2b35;--color-maze-blue: #1e3c4a;--color-cyan-highlight: #4fa7a5;--color-warm-yellow: #f8d562;--color-primary: var(--color-warm-yellow);--color-primary-hover: #fbdf7c;--color-primary-active: #f5d04f;--color-primary-text: var(--color-deep-teal);--color-secondary: var(--color-cyan-highlight);--color-secondary-hover: #6bc4c2;--color-secondary-active: #3a8886;--color-btn-primary-bg: #e16d08;--color-btn-primary-bg-hover: #f07a12;--color-btn-primary-border: #00100e;--color-btn-primary-inner-border: #fe990a;--color-btn-text: #ffeec2;--color-btn-secondary-bg: #021c19;--color-btn-secondary-bg-hover: #042e29;--color-btn-secondary-border: #00100e;--color-bg-primary: var(--color-deep-teal);--color-bg-secondary: var(--color-maze-blue);--color-bg-tertiary: #2a4f5d;--color-bg-overlay: rgba(15, 43, 53, .6);--color-bg-overlay-dark: rgba(15, 43, 53, .9);--color-text-primary: #ffffff;--color-text-secondary: #8fa9b3;--color-text-tertiary: #6b8995;--color-text-inverse: var(--color-deep-teal);--color-error: #992d1f;--color-error-light: #ff6b6b;--color-error-bg: rgba(153, 45, 31, .2);--color-success: #4fa7a5;--color-success-light: #6bc4c2;--color-warning: #f8d562;--color-info: #5dade2;--color-border-primary: var(--color-cyan-highlight);--color-border-secondary: rgba(79, 167, 165, .4);--color-border-tertiary: rgba(79, 167, 165, .2);--color-border-focus: var(--color-warm-yellow);--color-shadow-cyan: rgba(79, 167, 165, .3);--color-shadow-yellow: rgba(248, 213, 98, .5);--color-shadow-yellow-strong: rgba(248, 213, 98, .8);--color-shadow-dark: rgba(0, 0, 0, .5);--color-shadow-darker: rgba(0, 0, 0, .7);--color-orbs-default: #f4b350;--color-orbs-loss: #ff4444;--color-orbs-glow: rgba(244, 179, 80, .8);--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--font-family-primary: Rubik, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-family-button: "Open Sans Condensed", sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-size-5xl: 36px;--font-size-6xl: 48px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 2px 4px var(--color-shadow-dark);--shadow-md: 0 4px 8px var(--color-shadow-dark);--shadow-lg: 0 8px 16px var(--color-shadow-dark);--shadow-xl: 0 12px 24px var(--color-shadow-darker);--shadow-2xl: 0 20px 60px var(--color-shadow-darker);--shadow-glow-cyan: 0 0 12px var(--color-shadow-cyan);--shadow-glow-cyan-lg: 0 0 20px var(--color-shadow-cyan);--shadow-glow-yellow: 0 0 12px var(--color-shadow-yellow);--shadow-glow-yellow-lg: 0 0 20px var(--color-shadow-yellow-strong);--shadow-glow-yellow-xl: 0 0 32px var(--color-shadow-yellow-strong);--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: ease-in;--ease-out: ease-out;--ease-in-out: ease-in-out;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-tooltip: 1500;--z-notification: 2000;--container-max-width: 1200px;--modal-max-width: 500px;--modal-large-width: 700px;--focus-outline-width: 3px;--focus-outline-color: var(--color-warm-yellow);--focus-outline-offset: 2px;--focus-ring: 0 0 0 var(--focus-outline-width) var(--focus-outline-color);--focus-glow: 0 0 16px var(--color-shadow-yellow-strong)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary)}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;border:none;background:none;padding:0;margin:0}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}ul,ol{list-style:none}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.hidden{display:none!important}.invisible{visibility:hidden}*:focus{outline:none}.tv-focusable:focus,.tv-focusable[data-focused=true]{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset);box-shadow:var(--focus-glow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb{background:var(--color-cyan-highlight);border-radius:var(--radius-md);border:2px solid var(--color-bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary-hover)}*{scrollbar-width:thin;scrollbar-color:var(--color-cyan-highlight) var(--color-bg-secondary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background:#fff;color:#000}.modal-backdrop,button{display:none}}
