@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Cormorant+Garamond:wght@300;400;600&family=Inter:wght@300;400;500&display=swap";/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
*/*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-background: #121212;--color-text: #F5F5F0;--color-primary: #D4AF37;--color-primary-rgb: 212, 175, 55;--color-primary-contrast: #0A0A0A;--color-surface: #1E1E20;--glass-surface: rgba(35, 35, 38, .65);--glass-highlight: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(20px);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .3);--color-border: rgba(240, 239, 234, .12);--color-focus-ring: var(--color-primary);--color-error: #C0392B;--color-success: #34D399;--color-warning: #F59E0B;--color-locked: rgba(57, 54, 70, .5);--font-family-heading: "Playfair Display", serif;--font-family-body: "Inter", sans-serif;--font-family-accent: "Cormorant Garamond", serif;--font-family-system: var(--font-family-body);--font-size-base: 16px;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-xxl: 2rem;--line-height-base: 1.7;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 3.5rem;--space-f-1: 1px;--space-f-2: 2px;--space-f-3: 3px;--space-f-5: 5px;--space-f-8: 8px;--space-f-13: 13px;--space-f-21: 21px;--space-f-34: 34px;--space-f-55: 55px;--space-f-89: 89px;--space-f-144: 144px;--space-f-233: 233px;--space-f-377: 377px;--font-size-phi-base: 16px;--font-size-phi-h3: 26px;--font-size-phi-h2: 42px;--font-size-phi-h1: 68px;--radius-base: .75rem;--radius-lg: 1.25rem;--radius-xl: 1.75rem;--transition-duration: .5s;--transition-timing: cubic-bezier(.2, 0, .2, 1);--container-max-width: 1200px;--bottom-nav-height: 65px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .2), 0 10px 10px -5px rgba(0, 0, 0, .1);color-scheme:dark}[data-theme=light]{--color-background: #FDFDF8;--color-text: #1C1C1E;--color-primary: #B8860B;--color-primary-rgb: 184, 134, 11;--color-primary-contrast: #FFFFFF;--color-surface: #F2F2F0;--glass-surface: rgba(255, 255, 255, .75);--glass-highlight: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .05);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .1);--color-border: rgba(0, 0, 0, .08);--color-focus-ring: var(--color-primary);color-scheme:light}html,body,#root{height:100%;width:100%}body{font-family:var(--font-family-system);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:#050505;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;justify-content:center;align-items:center;padding:var(--space-md);background-image:radial-gradient(circle at 50% 0%,#1a1a1a,#050505 70%)}h1,h2,h3{font-family:var(--font-family-heading);font-weight:600;line-height:1.2;letter-spacing:-.01em}h1{font-size:var(--font-size-phi-h1)}h2{font-size:var(--font-size-phi-h2)}h3{font-size:var(--font-size-phi-h3)}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px;border-radius:var(--radius-base)}@keyframes page-transition{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes item-cascade{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes shake-horizontal{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes card-flip-in{0%{opacity:.5;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-from-bottom{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 0 7px color-mix(in srgb,var(--color-primary) 50%,transparent),inset 0 0 3px color-mix(in srgb,var(--color-primary) 100%,white 20%)}50%{box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 100%,white 40%),inset 0 0 5px color-mix(in srgb,var(--color-primary) 100%,white 50%)}}@keyframes glow-gold{0%,to{box-shadow:0 0 7px color-mix(in srgb,var(--color-warning) 50%,transparent),inset 0 0 3px color-mix(in srgb,var(--color-warning) 100%,white 20%)}50%{box-shadow:0 0 20px color-mix(in srgb,var(--color-warning) 100%,white 40%),inset 0 0 5px color-mix(in srgb,var(--color-warning) 100%,white 50%)}}@keyframes pulse{0%,to{transform:translateY(-50%) scale(1);opacity:1}50%{transform:translateY(-50%) scale(1.3);opacity:.7}}@keyframes pulse-opacity{0%,to{opacity:.5}50%{opacity:.8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.pwa-frame{width:100%;height:100%;min-height:100dvh;max-width:450px;max-height:900px;background-color:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl),0 0 0 1px var(--color-border),inset 0 1px 1px #ffffff0d;overflow:hidden;position:relative;display:flex;flex-direction:column;transition:background-color var(--transition-duration) var(--transition-timing);z-index:1}.pwa-frame:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 30%,rgba(218,165,32,.08),transparent 40%),radial-gradient(circle at 20% 80%,rgba(94,92,230,.06),transparent 40%),radial-gradient(circle at 80% 80%,rgba(218,165,32,.05),transparent 40%);z-index:-1;pointer-events:none;animation:spin 60s linear infinite;opacity:.8}.pwa-frame.auth-mode{background-color:#000}@media (max-width: 500px){body{padding:0}.pwa-frame{max-width:100%;max-height:100dvh;border-radius:0;box-shadow:none}.fullscreen-card-wrapper{width:100%;height:auto;aspect-ratio:9 / 13}}.app-shell{width:100%;height:100%;min-height:100dvh;display:flex;flex-direction:column;position:relative}.app-bottom-nav,.app-header{transition:opacity var(--transition-duration) var(--transition-timing),transform var(--transition-duration) var(--transition-timing)}.app-shell.focus-mode-active .app-bottom-nav{opacity:0;transform:translateY(100%);pointer-events:none}.app-shell.focus-mode-active .app-header{opacity:0;transform:translateY(-100%);pointer-events:none}.app-shell.focus-mode-active .app-main{padding:0;overflow:hidden}.app-shell.fullscreen-active .app-main{overflow:visible}.app-header{position:sticky;top:0;padding-top:max(env(safe-area-inset-top),0px);height:60px;padding-left:var(--space-md);padding-right:var(--space-md);display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--color-border);flex-shrink:0;background-color:#151516cc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:5}.app-header .button{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.app-bottom-nav{position:sticky;bottom:0;height:var(--bottom-nav-height);background-color:#1e1e20a6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);display:flex;justify-content:space-around;z-index:10;box-shadow:0 -10px 40px #0003;padding-bottom:max(env(safe-area-inset-bottom),0px)}.app-bottom-nav.nav-hidden{transform:translateY(100%)}.app-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;padding:var(--space-sm) 0;text-decoration:none;color:var(--color-text);opacity:.6;font-size:.75rem;transition:all var(--transition-duration) var(--transition-timing);transform:translateY(0)}.app-bottom-nav a:hover,.app-bottom-nav a:focus-visible{opacity:1;background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);transform:translateY(-2px)}.app-bottom-nav a.active{color:var(--color-primary);opacity:1;font-weight:600;text-shadow:0 0 15px color-mix(in srgb,var(--color-primary) 40%,transparent)}.app-bottom-nav svg{width:24px;height:24px;margin-bottom:var(--space-xs)}.app-main{flex-grow:1;padding:var(--space-f-34);width:100%;overflow-y:auto;padding-bottom:calc(var(--bottom-nav-height) + var(--space-lg) + max(env(safe-area-inset-bottom),0px));overscroll-behavior-y:none}.app-shell.no-header .app-main{padding-top:calc(var(--space-lg) + max(env(safe-area-inset-top),0px))}.app-main.auth-view{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-lg)}.page-container{animation:page-transition .5s var(--transition-timing) both;height:100%;width:100%}.app-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);text-align:center;font-size:var(--font-size-sm);color:var(--color-text);opacity:.6}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:var(--space-sm);font-size:var(--font-size-sm);font-weight:500}.form-group input,.form-group select,.form-group textarea{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-base);border:1px solid var(--glass-border);background-color:#0003;color:var(--color-text);font-family:inherit;font-size:var(--font-size-md);transition:all var(--transition-duration) var(--transition-timing);outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{border-color:var(--color-primary);background-color:#0006;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 30%,transparent)}.form-group input::placeholder{color:color-mix(in srgb,var(--color-text) 50%,transparent)}.button{padding:var(--space-f-13) var(--space-f-21);border-radius:4px;border:1px solid transparent;cursor:pointer;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;transition:all var(--transition-duration) var(--transition-timing);display:inline-flex;justify-content:center;align-items:center;gap:var(--space-sm);box-shadow:var(--shadow-sm)}.button:hover:not([disabled]){transform:translateY(-3px);box-shadow:var(--shadow-lg)}.button:active:not([disabled]){transform:translateY(-1px);box-shadow:var(--shadow-md)}.button-primary{background-image:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 100%,white 10%),var(--color-primary));color:var(--color-primary-contrast);border:1px solid color-mix(in srgb,var(--color-primary) 100%,white 20%);text-shadow:0 1px 2px rgba(0,0,0,.2)}.button-primary:hover:not([disabled]){filter:brightness(1.1);box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 40%,transparent)}.button-primary[disabled]{background-color:var(--color-locked);background-image:none;cursor:not-allowed;border-color:transparent}.button-secondary{background-color:#ffffff0d;backdrop-filter:blur(10px);color:var(--color-text);border-color:var(--glass-border)}.button-secondary:hover:not([disabled]){background-color:#ffffff1a;border-color:var(--color-primary);color:var(--color-primary)}.button-icon{background:none;border:none;padding:var(--space-sm);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-duration) var(--transition-timing)}.button-icon:hover{background-color:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.library-header{margin-bottom:var(--space-f-34)}.vitality-dashboard{background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:var(--space-lg);animation:fade-in-from-bottom .6s var(--transition-timing) backwards;display:flex;flex-direction:column;gap:var(--space-md);position:relative;overflow:hidden}.vitality-dashboard:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 50%,rgba(var(--color-primary-rgb),.08),transparent 60%);pointer-events:none;animation:spin 30s linear infinite;opacity:.8}.vitality-header{display:flex;justify-content:space-between;align-items:baseline;z-index:2}.vitality-header h3{margin:0;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;opacity:.9;text-shadow:0 0 10px rgba(var(--color-primary-rgb),.3)}.vitality-stat-big{font-size:2.5rem;font-weight:700;line-height:1;color:var(--color-text)}.vitality-stat-label{font-size:.8rem;color:var(--color-text);opacity:.6;text-transform:uppercase}.vitality-grid-container{display:flex;flex-wrap:wrap;gap:3px;z-index:2;padding:2px}.vitality-dot{width:6px;height:6px;border-radius:50%;background-color:#ffffff1a;transition:all .5s ease-out}.vitality-dot.unlocked{background-color:color-mix(in srgb,var(--color-primary) 50%,rgba(255,255,255,.1));box-shadow:0 0 2px color-mix(in srgb,var(--color-primary) 30%,transparent)}.vitality-dot.fresh{background-color:var(--color-primary);box-shadow:0 0 5px var(--color-primary);opacity:1}.vitality-dot.decaying{background-color:var(--color-warning);opacity:.7;box-shadow:none}.vitality-dot.critical{background-color:var(--color-error);opacity:.3;box-shadow:0 0 2px var(--color-error)}@keyframes vitality-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.8}}.vitality-dot.pulsing{animation:vitality-pulse 2s infinite ease-in-out;background-color:var(--color-warning)}.vitality-footer{display:flex;justify-content:space-between;align-items:center;z-index:2;margin-top:var(--space-sm)}.view-toggle-container{display:flex;background-color:#0000004d;border-radius:var(--radius-base);padding:var(--space-f-5);margin-bottom:var(--space-lg);border:1px solid var(--glass-border)}.view-toggle-button{flex:1;border:none;background:transparent;color:var(--color-text);padding:var(--space-sm) var(--space-md);border-radius:calc(var(--radius-base) - 4px);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s var(--transition-timing);opacity:.7}.view-toggle-button.active{background-color:#ffffff1a;color:var(--color-primary);opacity:1;box-shadow:var(--shadow-sm)}.view-toggle-button:hover:not(.active){opacity:1;background-color:color-mix(in srgb,var(--color-text) 5%,transparent)}.matrix-controls-header{position:sticky;top:-1px;background-color:#151516e6;backdrop-filter:blur(10px);z-index:4;padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border);animation:fade-in-from-bottom .3s var(--transition-timing)}.matrix-control-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.matrix-info h2{font-size:3rem;color:var(--color-primary);line-height:1;margin:0;text-shadow:0 0 20px rgba(var(--color-primary-rgb),.4)}.matrix-phonetic{font-family:monospace;font-size:var(--font-size-sm);opacity:.8;background-color:#ffffff0d;padding:2px 6px;border-radius:4px;margin-top:4px;display:inline-block}.matrix-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);animation:fade-in .4s var(--transition-timing)}@media (min-width: 600px){.matrix-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 900px){.matrix-grid{grid-template-columns:repeat(5,1fr)}}.matrix-card-wrapper{position:relative;aspect-ratio:9 / 13}.matrix-card-wrapper.is-locked{filter:grayscale(1);opacity:.6}.matrix-lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#0009;backdrop-filter:blur(4px);z-index:2;border-radius:var(--radius-lg);color:var(--color-text);text-align:center;padding:var(--space-sm)}.matrix-lock-overlay svg{width:32px;height:32px;margin-bottom:var(--space-xs);color:var(--color-locked)}.matrix-lock-overlay span{font-size:var(--font-size-sm);font-weight:600}.deck-list{display:flex;flex-direction:column;gap:var(--space-f-21);padding-left:calc(var(--space-lg) + 2px);position:relative}.deck-list:before{content:"";position:absolute;top:calc(var(--radius-xl) * 2);bottom:calc(var(--radius-xl) * 2);left:var(--space-sm);width:4px;background-image:linear-gradient(to bottom,var(--color-locked) 0%,var(--color-locked) 50%,transparent 75%);background-size:100% 16px;opacity:.3}.holo-card{position:relative;overflow:hidden;transform-style:preserve-3d;perspective:1000px;transition:transform .1s ease-out;--holo-x: 50%;--holo-y: 50%;--holo-opacity: 0}.holo-card:after{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at var(--holo-x) var(--holo-y),rgba(255,255,255,.2) 0%,rgba(218,165,32,.1) 20%,transparent 50%);mix-blend-mode:overlay;opacity:var(--holo-opacity);pointer-events:none;z-index:10;transition:opacity .3s ease;will-change:opacity,background}.holo-card:hover{--holo-opacity: 1}.deck-card{background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);cursor:pointer;position:relative;opacity:0;animation:item-cascade .5s var(--transition-timing) forwards;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);transform-style:preserve-3d}.deck-card:hover{box-shadow:0 15px 40px #0006;border-color:#fff3;background:#2c2c2ebf}.deck-card-path-node{position:absolute;left:calc(-1 * var(--space-lg));top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background-color:var(--color-locked);border:3px solid var(--color-background);box-shadow:0 0 0 2px var(--color-locked);transition:all var(--transition-duration) var(--transition-timing);z-index:10}.deck-card:not(.locked) .deck-card-path-node{background-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary),0 0 10px rgba(var(--color-primary-rgb),.5)}.deck-card:not(.locked).has-due .deck-card-path-node{animation:pulse 1.5s infinite ease-in-out,glow 2s infinite ease-in-out;background-color:var(--color-warning);box-shadow:0 0 0 2px var(--color-warning)}.deck-card:hover:not(.locked) .deck-card-path-node{transform:translateY(-50%) scale(1.2)}.deck-card.mastered .deck-card-path-node{background-color:var(--color-warning);box-shadow:0 0 0 2px var(--color-warning);animation:glow-gold 2.5s infinite ease-in-out}.deck-card-preview-stack{width:60px;height:60px;position:relative;flex-shrink:0}.deck-card-preview-stack img{width:100%;height:100%;border-radius:var(--radius-base);object-fit:cover;position:absolute;box-shadow:var(--shadow-md);border:1px solid var(--glass-border);transition:transform var(--transition-duration) var(--transition-timing)}.deck-card-preview-stack img:nth-child(1){transform:rotate(-8deg) translate(-4px)}.deck-card-preview-stack img:nth-child(2){transform:rotate(5deg) translateY(-2px)}.deck-card:hover .deck-card-preview-stack img:nth-child(1){transform:rotate(-12deg) translate(-10px) scale(1.05)}.deck-card:hover .deck-card-preview-stack img:nth-child(2){transform:rotate(8deg) translateY(-5px) scale(1.05)}.deck-card-info{flex-grow:1}.deck-card-info h3{font-size:var(--font-size-lg);margin-bottom:var(--space-xs)}.deck-card-stats{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:500;opacity:.85}.stat-item{display:flex;align-items:center;gap:var(--space-xs)}.stat-item svg{width:14px;height:14px}.stat-item.due{color:var(--color-warning);text-shadow:0 0 8px rgba(245,158,11,.4)}.stat-item.weak{color:var(--color-error)}.deck-card-mastery{width:50px;height:50px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.deck-card-mastery-progress{transform:rotate(-90deg)}.deck-card-mastery-track,.deck-card-mastery-value{fill:none;stroke-width:5}.deck-card-mastery-track{stroke:#ffffff1a}.deck-card-mastery-value{stroke:var(--color-primary);stroke-linecap:round;transition:stroke-dashoffset .5s var(--transition-timing);filter:drop-shadow(0 0 2px var(--color-primary))}.deck-card.mastery-low .deck-card-mastery-value{stroke:#94a3b8;filter:none}.deck-card.mastery-high .deck-card-mastery-value{stroke:#c026d3}.deck-card.mastered .deck-card-mastery-value{stroke:var(--color-warning);filter:drop-shadow(0 0 4px var(--color-warning))}.deck-card-mastery-text{position:absolute;font-size:var(--font-size-sm);font-weight:700}.deck-card-mastery.mastered-seal{width:54px;height:54px}.seal-inner{width:100%;height:100%;background:radial-gradient(circle,gold 30%,#b8860b);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 10px #ffd70099,inset 0 2px 5px #ffffff80;border:2px solid #fff;animation:pulse-seal 2s infinite ease-in-out}.seal-icon{width:32px;height:32px;color:#5c4000;filter:drop-shadow(0 1px 1px rgba(255,255,255,.5))}@keyframes pulse-seal{0%,to{transform:scale(1);box-shadow:0 0 10px #ffd70099}50%{transform:scale(1.05);box-shadow:0 0 20px #ffd700cc}}.deck-card.locked{background-color:var(--color-locked);backdrop-filter:blur(5px);color:color-mix(in srgb,var(--color-text) 50%,transparent);border-color:transparent}.deck-card.locked .deck-card-info h3{color:color-mix(in srgb,var(--color-text) 70%,transparent)}.deck-card.locked .deck-card-preview-stack{filter:grayscale(80%)}.deck-card-lock-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs)}.deck-card-lock-icon svg{width:24px;height:24px}.deck-price-tag{background-color:var(--color-primary);color:var(--color-primary-contrast);padding:2px var(--space-sm);border-radius:var(--radius-base);font-weight:700;font-size:var(--font-size-sm)}.deck-card.mastered{background:linear-gradient(160deg,#1a1a1a,#2a2510);border-color:#ffd70066;box-shadow:0 4px 20px #ffd70026}.deck-card.mastered:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,215,0,.1) 50%,transparent 80%);background-size:200% 100%;animation:shimmer-gold 4s infinite linear;pointer-events:none;border-radius:inherit;mix-blend-mode:overlay;z-index:1}@keyframes shimmer-gold{0%{background-position:200% 0}to{background-position:-200% 0}}.deck-card.mastered h3{background:linear-gradient(to right,#e2e8f0,#fcd34d,#e2e8f0);background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:text-shine 6s linear infinite;display:inline-block}@keyframes text-shine{to{background-position:200%}}.peg-explorer-view{height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative;background:transparent;padding-top:max(env(safe-area-inset-top),0px);padding-bottom:max(env(safe-area-inset-bottom),0px);animation:fade-in-from-bottom .4s var(--transition-timing) both}.peg-explorer-view.is-fullscreen-active{animation:none;overflow:visible}.peg-explorer-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:var(--space-md) var(--space-lg)}.peg-explorer-header h2{font-size:var(--font-size-xl)}.peg-explorer-fab-group-left,.peg-explorer-fab-group-right{position:absolute;bottom:calc(7.5rem + max(env(safe-area-inset-bottom),0px));z-index:10;display:flex;flex-direction:column-reverse;gap:var(--space-md);align-items:center}.peg-explorer-fab-group-left{left:var(--space-lg);right:auto}.peg-explorer-fab-group-right{right:var(--space-lg);left:auto}.peg-explorer-fab{width:56px;height:56px;border-radius:var(--radius-lg);padding:0;box-shadow:var(--shadow-xl);animation:fade-in-from-bottom .3s var(--transition-timing) both;background-color:#2c2c2ecc;backdrop-filter:blur(12px);color:var(--color-text);border:1px solid var(--glass-border)}.peg-explorer-fab.fab-secondary{width:48px;height:48px;border-radius:50%}.peg-explorer-fab.fab-secondary svg{width:24px;height:24px}.peg-explorer-fab svg{width:28px;height:28px}.peg-explorer-fab:nth-child(1){animation-delay:0ms}.peg-explorer-fab:nth-child(2){animation-delay:.1s}.peg-explorer-fab:nth-child(3){animation-delay:.2s}.peg-explorer-fab:nth-child(4){animation-delay:.3s}.peg-explorer-fab.fab-warning{background-color:#f59e0be6;border-color:#f59e0b80;color:#000;box-shadow:0 0 15px #f59e0b66;animation:pulse 2s infinite ease-in-out}.peg-explorer-fab.fab-warning:hover{background-color:#f59e0b;box-shadow:0 0 25px #f59e0b99;transform:scale(1.05)}.peg-explorer-container{display:flex;flex-direction:column;width:100%;margin:0 auto;flex-grow:1;min-height:0;position:relative;justify-content:space-between}.peg-carousel{flex-grow:1;position:relative;display:flex;justify-content:center;perspective:1200px;overflow:hidden;min-height:0}.peg-carousel-card-wrapper{position:absolute;width:75%;max-width:300px;aspect-ratio:9 / 13;transition:transform .35s var(--transition-timing),opacity .35s var(--transition-timing);will-change:transform,opacity;transform-style:preserve-3d}.peg-carousel-card-wrapper.no-transition{transition:none}.peg-carousel-card-wrapper.is-prev{transform:translate(-65%) scale(.8);opacity:.5;z-index:1;cursor:pointer}.peg-carousel-card-wrapper.is-current{transform:translate(0) scale(1);opacity:1;z-index:2;cursor:pointer}.peg-carousel-card-wrapper.is-next{transform:translate(65%) scale(.8);opacity:.5;z-index:1;cursor:pointer}.peg-carousel-card-wrapper.is-hidden-left{transform:translate(-130%) scale(.7);opacity:0;pointer-events:none}.peg-carousel-card-wrapper.is-hidden-right{transform:translate(130%) scale(.7);opacity:0;pointer-events:none}.peg-card-flipper{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.175,.885,.32,1.275)}.peg-card-flipper.is-flipped{transform:rotateY(180deg)}.peg-card-face{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--glass-surface);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--glass-border);display:flex;flex-direction:column;justify-content:center;align-items:center}.peg-card-face.back{transform:rotateY(180deg);font-size:5rem;font-weight:700;color:var(--color-primary);text-shadow:0 0 20px rgba(var(--color-primary-rgb),.5)}.peg-image-container{width:100%;height:100%;position:relative}.peg-image-container img{display:block;width:100%;height:100%;object-fit:cover}.peg-image-overlay{position:absolute;left:0;padding:var(--space-md);color:#fff;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.8);background:linear-gradient(to top,#000c,#0000);width:100%;transition:opacity var(--transition-duration) var(--transition-timing)}.recall-mode .peg-image-overlay{opacity:0}.recall-mode .is-current .peg-image-overlay:hover{opacity:1}.peg-image-overlay.top{top:0;font-size:calc(var(--font-size-xl) * 2);background:linear-gradient(to bottom,#000c,#0000);text-align:right}.peg-image-overlay.bottom{bottom:0;font-size:calc(var(--font-size-lg) * 2);text-align:left;left:0;width:100%;padding:var(--space-md);padding-bottom:calc(var(--space-md) + 1.5rem)}.phonetic-breakdown{position:absolute;bottom:var(--space-md);left:var(--space-md);right:auto;font-family:monospace;font-size:var(--font-size-sm);background-color:#0009;backdrop-filter:blur(4px);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-base);color:#fff;text-shadow:none;transition:opacity var(--transition-duration) var(--transition-timing);border:1px solid rgba(255,255,255,.1)}.recall-mode .phonetic-breakdown{opacity:0}.recall-mode .is-current .phonetic-breakdown:hover{opacity:1}.flip-button{position:absolute;top:var(--space-md);right:var(--space-md);z-index:5;color:#fff;background-color:#1d1b2680;backdrop-filter:blur(4px)}.peg-explorer-nav-arrows{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 var(--space-sm);pointer-events:none;z-index:5}.peg-explorer-nav-arrows .button-icon{pointer-events:all;background-color:#1d1b2680;backdrop-filter:blur(4px);color:#fff}.peg-explorer-controls{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-md) var(--space-lg);gap:var(--space-sm);flex-shrink:0}.peg-explorer-scrubber{-webkit-appearance:none;appearance:none;width:100%;max-width:300px;height:6px;background:#ffffff1a;outline:none;border-radius:3px;opacity:.7;transition:opacity .2s}.peg-explorer-scrubber:hover{opacity:1}.peg-explorer-scrubber::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--color-primary);cursor:pointer;border-radius:50%;border:3px solid #000;box-shadow:0 0 10px var(--color-primary)}.peg-explorer-scrubber::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);cursor:pointer;border-radius:50%;border:3px solid #000}.peg-grid-view{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);padding:var(--space-md);overflow-y:auto;height:100%;animation:fade-in .3s var(--transition-timing)}.peg-grid-card{aspect-ratio:9 / 13;border-radius:var(--radius-base);overflow:hidden;position:relative;cursor:pointer;box-shadow:var(--shadow-md);transition:transform .2s var(--transition-timing),box-shadow .2s var(--transition-timing)}.peg-grid-card:hover{transform:translateY(-4px) scale(1.03);box-shadow:var(--shadow-lg)}.peg-grid-card img{width:100%;height:100%;object-fit:cover;display:block}.peg-grid-card .peg-card-face{position:static;box-shadow:none;border:none;border-radius:0;width:100%;height:100%;background:transparent}.peg-grid-card .peg-image-overlay{padding:var(--space-sm)}.peg-grid-card .phonetic-breakdown{padding:2px var(--space-xs);font-size:.6rem;bottom:var(--space-sm);left:var(--space-sm)}.peg-grid-card .peg-image-overlay.top{font-size:var(--font-size-md)}.peg-grid-card .peg-image-overlay.bottom{font-size:var(--font-size-sm)}.is-locked-in-deck{filter:grayscale(1);opacity:.7}.peg-grid-card.is-locked-in-deck{cursor:not-allowed;opacity:.6}.peg-grid-card.is-locked-in-deck:hover{transform:none;box-shadow:var(--shadow-md)}.peg-carousel-card-wrapper.is-locked-in-deck.is-current{cursor:default}.fullscreen-overlay{position:fixed;inset:0;background-color:#000000d9;backdrop-filter:blur(15px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:var(--space-md);animation:fade-in .3s var(--transition-timing) both}.fullscreen-nav-arrows{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 var(--space-md);pointer-events:none;z-index:1002}.fullscreen-nav-arrows .button-icon{pointer-events:all;background-color:#1d1b2699;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.15)}.fullscreen-nav-arrows .button-icon:hover{background-color:#1d1b26cc;transform:scale(1.05)}.fullscreen-nav-arrows .button-icon svg{width:32px;height:32px}.fullscreen-card-wrapper{position:absolute;width:100%;height:100%;max-width:450px;max-height:900px;left:50%;top:50%;will-change:transform;transition:transform .3s var(--transition-timing)}.fullscreen-card-wrapper.no-transition{transition:none}@media (min-width: 500px){.fullscreen-card-wrapper{aspect-ratio:9 / 13;height:auto}}.fullscreen-close-button{position:absolute;bottom:calc(var(--space-lg) + env(safe-area-inset-bottom));left:auto;right:var(--space-lg);width:56px;height:56px;padding:0;border-radius:50%;background-color:var(--glass-surface);backdrop-filter:blur(10px);color:var(--color-text);box-shadow:var(--shadow-xl);z-index:1001;border:1px solid var(--glass-border);animation:fade-in-from-bottom .4s var(--transition-timing) .2s both}.fullscreen-close-button:hover{background-color:color-mix(in srgb,var(--color-primary) 15%,transparent);transform:scale(1.05)}.fullscreen-close-button svg{width:28px;height:28px}.fullscreen-overlay .peg-image-overlay.top{font-size:calc(var(--font-size-xl) * 4)}.fullscreen-overlay .peg-image-overlay.bottom{font-size:clamp(2rem,10vw,3.375rem);line-height:1.2}.overlays-hidden .peg-image-overlay,.overlays-hidden .phonetic-breakdown{opacity:0;pointer-events:none}.quiz-container{max-width:600px;margin:0 auto;text-align:center;display:flex;flex-direction:column;height:100%;justify-content:center}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.quiz-header h2{margin:0;font-size:var(--font-size-xl)}.quiz-header-controls{display:flex;align-items:center;gap:var(--space-md)}.quiz-progress{font-weight:600;opacity:.8}.quiz-prompt{font-size:5rem;font-weight:700;margin-bottom:var(--space-lg);color:var(--color-primary);min-height:1.2em;text-shadow:0 0 30px rgba(var(--color-primary-rgb),.3)}.answered-card-preview{width:100%;max-width:180px;margin:var(--space-sm) auto var(--space-md) auto;animation:card-flip-in .4s var(--transition-timing);aspect-ratio:9 / 13}.answered-card-preview .peg-grid-card{width:100%;height:100%}.answered-card-preview .peg-card-face{box-shadow:var(--shadow-lg);border-radius:var(--radius-base)}.quiz-feedback{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-lg);min-height:1.2em}.quiz-feedback.correct{color:var(--color-success);text-shadow:0 0 10px rgba(52,211,153,.4)}.quiz-feedback.incorrect{color:var(--color-error);text-shadow:0 0 10px rgba(255,107,107,.4)}.quiz-input{width:100%;max-width:400px;padding:var(--space-md);font-size:var(--font-size-xl);text-align:center;border:1px solid var(--glass-border);border-radius:var(--radius-base);background-color:#0000004d;color:var(--color-text);transition:all var(--transition-duration) var(--transition-timing);outline:none}.quiz-input.correct{border-color:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 30%,transparent)}.quiz-input.incorrect{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 30%,transparent);animation:shake-horizontal .5s cubic-bezier(.36,.07,.19,.97) both}.quiz-input:focus-visible{border-color:var(--color-primary);background-color:#00000080;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 30%,transparent)}.button.submitting{width:54px;height:54px;border-radius:50%;padding:0}.button .button-text{transition:opacity .15s var(--transition-timing)}.button.submitting .button-text{opacity:0;width:0;height:0;overflow:hidden}.button .button-icon-container{display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);transition:all .25s var(--transition-timing) .1s}.button.submitting .button-icon-container{opacity:1;transform:scale(1)}.study-flow-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;position:relative;width:100%;margin:0 auto}.study-card-stack{width:100%;max-width:min(400px,85vw);aspect-ratio:1 / 1.618;position:relative;perspective:1000px;margin-bottom:var(--space-lg)}.study-card{position:absolute;width:100%;height:100%;background:transparent;perspective:1000px;transition:transform .6s cubic-bezier(.175,.885,.32,1.275);will-change:transform;cursor:pointer;transform-style:preserve-3d;touch-action:pan-y}.study-card .peg-card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-xl);overflow:hidden;inset:0;box-shadow:var(--shadow-xl);background:var(--glass-surface);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.08)}.study-card .peg-card-face.front{background:radial-gradient(circle at center,#2c2c2e80,#0a0a0acc 120%);display:flex;align-items:center;justify-content:center;font-size:8rem;font-weight:800;color:var(--color-primary);text-shadow:0 4px 20px color-mix(in srgb,var(--color-primary) 30%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);box-shadow:inset 0 0 60px #00000080;position:relative;transform:rotateY(0);z-index:2}.study-card .peg-card-face.front:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");opacity:.3;pointer-events:none;mix-blend-mode:overlay}.study-card .peg-card-face.back{transform:rotateY(180deg);z-index:1}.study-card.is-flipped{transform:rotateY(180deg)}.swipe-overlay{position:absolute;top:var(--space-md);padding:var(--space-xs) var(--space-md);border:4px solid;border-radius:var(--radius-base);font-weight:800;font-size:2rem;text-transform:uppercase;transform:rotate(-15deg);opacity:0;pointer-events:none;z-index:10}.swipe-overlay.fail{right:var(--space-lg);color:var(--color-error);border-color:var(--color-error);transform:rotate(15deg)}.swipe-overlay.pass{left:var(--space-lg);color:var(--color-success);border-color:var(--color-success);transform:rotate(-15deg)}.tap-reveal-hint{font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text);opacity:.5;animation:pulse-opacity 3s infinite ease-in-out;margin-top:var(--space-lg);font-weight:500}.session-buffer{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;animation:fade-in .3s var(--transition-timing)}.session-countdown{font-size:6rem;font-weight:800;color:var(--color-primary);animation:pulse 1s infinite}.session-message{margin-top:var(--space-md);font-size:var(--font-size-lg);opacity:.8}.study-mode-toggle{display:flex;gap:var(--space-sm);background:transparent;border:none;padding:0}.study-mode-button{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;padding:var(--space-xs) var(--space-sm);opacity:.5;transition:all .3s ease;color:var(--color-text);font-size:.75rem;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.1em}.study-mode-button.active{background:transparent;border-bottom-color:var(--color-primary);color:var(--color-primary);opacity:1;box-shadow:none}@keyframes card-fan-in{0%{opacity:0;transform:rotate(var(--from-rot)) translateY(80px) scale(.8)}to{opacity:1;transform:rotate(var(--to-rot)) translateY(0) scale(1)}}@keyframes card-shine{0%{left:-150%}40%,to{left:150%}}@keyframes light-ray-fade{0%,to{opacity:0;transform:scaleY(.5) rotate(var(--angle))}50%{opacity:1;transform:scaleY(1) rotate(var(--angle))}}.unlock-celebration-container{position:relative;justify-content:flex-start;overflow:hidden;padding-bottom:var(--space-xl);background:radial-gradient(ellipse at 50% 30%,rgba(var(--color-primary-rgb),.2),transparent 70%);animation:fade-in .5s}.unlock-celebration-container h2{animation:fade-in-from-bottom .5s .2s both;text-shadow:0 0 15px rgba(var(--color-primary-rgb),.5);z-index:2;position:relative}.unlock-celebration-container p{animation:fade-in-from-bottom .5s .4s both;z-index:2;position:relative}.unlock-celebration-container .button{animation:fade-in-from-bottom .5s .6s both;z-index:2;position:relative}.light-rays{position:absolute;top:35%;left:50%;width:2px;height:800px;background:linear-gradient(to bottom,rgba(var(--color-primary-rgb),0),rgba(var(--color-primary-rgb),.5),rgba(var(--color-primary-rgb),0));transform-origin:top;animation:light-ray-fade 4s ease-in-out infinite;z-index:1}.unlocked-cards-fan{display:flex;justify-content:center;align-items:center;margin:var(--space-lg) 0;position:relative;min-height:250px;z-index:2}.unlocked-card-item{position:absolute;width:100px;aspect-ratio:9 / 13;transform-origin:bottom center;opacity:0;animation:card-fan-in .8s cubic-bezier(.2,.8,.2,1) forwards;box-shadow:0 10px 30px #0000004d;border-radius:var(--radius-base);overflow:hidden;border:1px solid rgba(255,255,255,.1)}.unlocked-card-item .peg-card-face{box-shadow:none;border-radius:0}.unlocked-card-item:after{content:"";position:absolute;top:0;left:-150%;width:75%;height:100%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:skew(-25deg);animation:card-shine 4s ease-in-out infinite;animation-delay:inherit;z-index:3}.settings-section{margin-top:var(--space-lg)}.settings-section:not(:last-child){margin-bottom:var(--space-xl)}.settings-section h3{margin-bottom:var(--space-sm)}.color-swatch-container{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-sm)}.color-swatch{width:44px;height:44px;border-radius:50%;cursor:pointer;border:2px solid var(--glass-border);transition:all var(--transition-duration) var(--transition-timing);position:relative;box-shadow:var(--shadow-sm)}.color-swatch:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.color-swatch.active{border-color:var(--color-primary);box-shadow:0 0 0 4px #ffffff0d,0 0 0 6px var(--color-primary)}.offline-indicator{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-warning);color:#111;text-align:center;padding:var(--space-sm) var(--space-md);padding-bottom:max(var(--space-sm),env(safe-area-inset-bottom));font-weight:600;font-size:var(--font-size-sm);z-index:200;box-shadow:0 -2px 10px #0000001a;transform:translateY(0);transition:transform .3s ease}.toast{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--space-lg) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--glass-surface);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--color-text);padding:var(--space-md) var(--space-lg);border-radius:50px;z-index:1000;font-weight:500;box-shadow:0 10px 40px #0003;white-space:nowrap;animation:toast-pop .3s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;gap:var(--space-sm)}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.preload-status-indicator{position:absolute;bottom:calc(var(--bottom-nav-height) + var(--space-sm));left:var(--space-lg);width:20px;height:20px;border-radius:50%;z-index:100;box-shadow:var(--shadow-lg);transition:background-color var(--transition-duration) var(--transition-timing),opacity .3s var(--transition-timing),transform .3s var(--transition-timing);border:2px solid var(--color-background);transform-origin:center;animation:fade-in-from-bottom .3s var(--transition-timing) both}.preload-status-indicator[data-state=caching]{background-color:var(--color-warning)}.preload-status-indicator[data-state=preparing]{background-color:var(--color-success)}.preload-status-indicator[data-state=ready]{background-color:#3498db}.modal-overlay{position:fixed;inset:0;background-color:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;display:flex;justify-content:center;align-items:center;padding:var(--space-md);animation:fade-in .3s var(--transition-timing) both}.modal-content{background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:var(--space-f-55);max-width:400px;width:100%;text-align:center;position:relative;animation:card-flip-in .4s var(--transition-timing) .1s both}.modal-content h2{margin-bottom:var(--space-sm);color:var(--color-primary);text-shadow:0 0 10px rgba(var(--color-primary-rgb),.3)}.modal-content p{margin-bottom:var(--space-lg);opacity:.8}.modal-icon{width:50px;height:50px;margin:0 auto var(--space-md) auto;display:flex;align-items:center;justify-content:center;background-color:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary);border-radius:50%;box-shadow:0 0 15px color-mix(in srgb,var(--color-primary) 10%,transparent)}.modal-icon svg{width:28px;height:28px}.modal-close-button{position:absolute;top:var(--space-sm);right:var(--space-sm);color:var(--color-text);opacity:.7}.modal-close-button:hover{opacity:1;color:var(--color-primary)}.search-results-list{list-style:none;padding:0;margin-top:var(--space-md);max-height:40vh;overflow-y:auto;text-align:left}.search-result-item{padding:var(--space-sm) var(--space-md);cursor:pointer;border-radius:var(--radius-base);display:flex;justify-content:space-between;align-items:center}.search-result-item:hover,.search-result-item:focus-visible{background-color:#ffffff0d}.search-result-item .peg-word{font-weight:600}.search-result-item .peg-id{font-family:monospace;opacity:.8}.palace-list-container,.palace-detail-container{display:flex;flex-direction:column;gap:var(--space-md);position:relative;height:100%}.palace-card{background:var(--glass-surface);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-duration) var(--transition-timing);opacity:0;animation:item-cascade .5s var(--transition-timing) forwards;display:flex;align-items:center;gap:var(--space-f-21);padding:var(--space-f-21)}.palace-card:hover{transform:scale(1.02);box-shadow:0 10px 30px #0006;border-color:#fff3;background-color:#2c2c2ebf}.palace-card-icon{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-base);background-color:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.palace-card-icon svg{width:28px;height:28px}.palace-card-info{flex-grow:1}.palace-card-info h3{font-size:var(--font-size-lg);margin-bottom:0}.palace-card-info p{font-size:var(--font-size-sm);opacity:.8;line-height:1.5;margin:0}.palace-card-reqs{flex-shrink:0;text-align:center}.palace-card-reqs .req-count{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary)}.palace-card-reqs .req-label{font-size:.75rem;opacity:.7;text-transform:uppercase}.palace-card.locked{background-color:var(--color-locked);cursor:not-allowed;color:color-mix(in srgb,var(--color-text) 50%,transparent);backdrop-filter:blur(5px)}.palace-card.locked:hover{transform:none;box-shadow:var(--shadow-md);border-color:transparent}.palace-card.locked .palace-card-icon{background-color:color-mix(in srgb,var(--color-text) 10%,transparent);color:color-mix(in srgb,var(--color-text) 50%,transparent)}.palace-card.locked .palace-card-reqs .req-count{color:color-mix(in srgb,var(--color-text) 50%,transparent)}.palace-detail-header{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.palace-detail-header h2{margin:0;flex-grow:0}.palace-detail-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-md);flex-wrap:wrap}.palace-action-buttons{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap;width:100%}@media (max-width: 480px){.palace-detail-controls,.palace-action-buttons{justify-content:center}}.palace-detail-view{gap:0}.palace-detail-view .palace-items-list{flex-grow:1;min-height:0;overflow-y:auto;padding-bottom:var(--space-lg)}.palace-items-list{display:flex;flex-direction:column;gap:var(--space-sm)}.palace-item{background-color:#1e1e2066;border-radius:var(--radius-base);border:1px solid var(--glass-border);padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;transition:all .2s var(--transition-timing)}.palace-item-main{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);min-height:44px}.palace-item-text{flex-grow:1}.palace-item-text .item-order{font-weight:700;color:var(--color-primary);margin-right:var(--space-sm)}.association-display{text-align:right;font-weight:600;cursor:pointer}.association-display .peg-id{font-family:monospace;color:var(--color-primary)}.peg-association-preview{display:flex;align-items:center;gap:var(--space-sm);background-color:#0000004d;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-base);cursor:pointer;border:1px solid var(--glass-border);transition:all .2s var(--transition-timing)}.peg-association-preview:hover{border-color:var(--color-primary);transform:scale(1.02)}.peg-association-preview img{width:32px;height:32px;border-radius:var(--radius-base);object-fit:cover}.peg-association-info{display:flex;flex-direction:column;align-items:flex-start}.peg-association-info .peg-id{font-family:monospace;font-size:var(--font-size-sm);font-weight:700;color:var(--color-primary)}.peg-association-info .peg-word{font-size:var(--font-size-sm);font-weight:500;opacity:.9}.association-note{font-style:italic;opacity:.8;font-size:var(--font-size-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border);white-space:pre-wrap;line-height:1.5;cursor:pointer}.return-fab{position:absolute;bottom:var(--space-lg);right:var(--space-lg);z-index:10;width:56px;height:56px;border-radius:50%;padding:0;box-shadow:var(--shadow-xl);animation:fade-in-from-bottom .4s var(--transition-timing) .2s both;background-image:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 100%,white 10%),var(--color-primary));color:var(--color-primary-contrast);border:1px solid color-mix(in srgb,var(--color-primary) 100%,white 20%);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-duration) var(--transition-timing)}.return-fab:hover{transform:scale(1.05) translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(1.1)}.return-fab svg{width:28px;height:28px}.form-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.form-group-header label{margin-bottom:0}.button-suggest-story{background:none;border:1px solid var(--color-primary);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;padding:4px 10px;border-radius:var(--radius-base);cursor:pointer;display:flex;gap:var(--space-xs);align-items:center;transition:all .2s var(--transition-timing)}.button-suggest-story:hover:not([disabled]){background-color:color-mix(in srgb,var(--color-primary) 15%,transparent)}.button-suggest-story:disabled{cursor:not-allowed;opacity:.7}.spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .75s linear infinite}.fab-layer{position:absolute;inset:0;z-index:50;pointer-events:none;overflow:hidden}.fab-layer>*{pointer-events:auto}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);height:100%;min-height:50vh;animation:fade-in .5s var(--transition-timing);color:var(--color-text)}.loader-label{margin-top:var(--space-lg);font-weight:500;opacity:.8;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.grid-animation{display:grid;grid-template-columns:repeat(9,8px);gap:4px}.grid-animation span{width:8px;height:8px;border-radius:2px;box-shadow:0 0 4px currentColor}.grid-animation span:nth-child(odd){background:var(--color-primary);color:var(--color-primary)}.grid-animation span:nth-child(2n){background:color-mix(in srgb,var(--color-primary) 60%,white);color:color-mix(in srgb,var(--color-primary) 60%,white)}.grid-animation span:nth-child(3n){background:color-mix(in srgb,var(--color-warning) 80%,transparent);color:var(--color-warning)}.explosion-center span{animation:explode-smooth 4s ease-in-out infinite;position:relative}.explosion-center span:nth-child(41){animation-delay:0s}.explosion-center span:nth-child(32),.explosion-center span:nth-child(40),.explosion-center span:nth-child(42),.explosion-center span:nth-child(50){animation-delay:.05s}.explosion-center span:nth-child(31),.explosion-center span:nth-child(33),.explosion-center span:nth-child(39),.explosion-center span:nth-child(43),.explosion-center span:nth-child(49),.explosion-center span:nth-child(51){animation-delay:.1s}.explosion-center span:nth-child(22),.explosion-center span:nth-child(30),.explosion-center span:nth-child(34),.explosion-center span:nth-child(38),.explosion-center span:nth-child(44),.explosion-center span:nth-child(48),.explosion-center span:nth-child(52),.explosion-center span:nth-child(60){animation-delay:.15s}.explosion-center span:nth-child(21),.explosion-center span:nth-child(23),.explosion-center span:nth-child(29),.explosion-center span:nth-child(35),.explosion-center span:nth-child(37),.explosion-center span:nth-child(45),.explosion-center span:nth-child(47),.explosion-center span:nth-child(53),.explosion-center span:nth-child(59),.explosion-center span:nth-child(61){animation-delay:.2s}.explosion-center span:nth-child(12),.explosion-center span:nth-child(20),.explosion-center span:nth-child(24),.explosion-center span:nth-child(28),.explosion-center span:nth-child(36),.explosion-center span:nth-child(46),.explosion-center span:nth-child(54),.explosion-center span:nth-child(58),.explosion-center span:nth-child(62),.explosion-center span:nth-child(70){animation-delay:.25s}.explosion-center span:nth-child(11),.explosion-center span:nth-child(13),.explosion-center span:nth-child(19),.explosion-center span:nth-child(25),.explosion-center span:nth-child(27),.explosion-center span:nth-child(55),.explosion-center span:nth-child(57),.explosion-center span:nth-child(63),.explosion-center span:nth-child(69),.explosion-center span:nth-child(71){animation-delay:.3s}.explosion-center span:nth-child(2),.explosion-center span:nth-child(10),.explosion-center span:nth-child(14),.explosion-center span:nth-child(18),.explosion-center span:nth-child(26),.explosion-center span:nth-child(56),.explosion-center span:nth-child(64),.explosion-center span:nth-child(68),.explosion-center span:nth-child(72),.explosion-center span:nth-child(80){animation-delay:.35s}.explosion-center span:nth-child(1),.explosion-center span:nth-child(3),.explosion-center span:nth-child(9),.explosion-center span:nth-child(15),.explosion-center span:nth-child(17),.explosion-center span:nth-child(65),.explosion-center span:nth-child(67),.explosion-center span:nth-child(73),.explosion-center span:nth-child(79),.explosion-center span:nth-child(81){animation-delay:.4s}.explosion-center span:nth-child(4),.explosion-center span:nth-child(8),.explosion-center span:nth-child(16),.explosion-center span:nth-child(66),.explosion-center span:nth-child(74),.explosion-center span:nth-child(78){animation-delay:.45s}.explosion-center span:nth-child(5),.explosion-center span:nth-child(7),.explosion-center span:nth-child(75),.explosion-center span:nth-child(77){animation-delay:.5s}.explosion-center span:nth-child(6),.explosion-center span:nth-child(76){animation-delay:.55s}@keyframes explode-smooth{0%{transform:scale(.4);opacity:.3;filter:brightness(.9)}20%{transform:scale(1.3);opacity:1;filter:brightness(1.3)}40%{transform:scale(.8);opacity:1;filter:brightness(1.1)}60%{transform:scale(1.2);opacity:1;filter:brightness(1.2)}70%{transform:scale(1);opacity:1;filter:brightness(1)}75%{transform:scale(1.15);opacity:1;filter:brightness(1.5)}80%{transform:scale(1);opacity:1;filter:brightness(1.3)}85%{transform:scale(1.1);opacity:1;filter:brightness(1.4)}90%,to{transform:scale(1);opacity:1;filter:brightness(1.2)}}.flow-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);padding:.5rem 1rem;border:2px solid var(--color-primary);border-radius:var(--radius-base);color:var(--color-primary);font-weight:800;font-size:1.5rem;text-transform:uppercase;background:#0009;backdrop-filter:blur(4px);box-shadow:0 0 20px rgba(var(--color-primary-rgb),.4);animation:flow-shimmer 2s infinite linear;z-index:20;white-space:nowrap}.latency-feedback{position:absolute;bottom:var(--space-lg);left:0;right:0;text-align:center;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);opacity:.7}@keyframes flow-shimmer{0%{box-shadow:0 0 10px rgba(var(--color-primary-rgb),.2);transform:translate(-50%,-50%) rotate(-10deg) scale(1)}50%{box-shadow:0 0 25px rgba(var(--color-primary-rgb),.6);transform:translate(-50%,-50%) rotate(-10deg) scale(1.05)}to{box-shadow:0 0 10px rgba(var(--color-primary-rgb),.2);transform:translate(-50%,-50%) rotate(-10deg) scale(1)}}.flow-feedback-floating{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;font-weight:900;color:var(--color-primary);text-shadow:0 0 20px rgba(218,165,32,.6);pointer-events:none;z-index:100;animation:float-up-fade 1s ease-out forwards;white-space:nowrap}@keyframes float-up-fade{0%{opacity:0;transform:translate(-50%,-20%) scale(.5)}20%{opacity:1;transform:translate(-50%,-80%) scale(1.2)}to{opacity:0;transform:translate(-50%,-200%) scale(1)}}@media (min-width: 1024px){.pwa-frame{max-width:1400px;max-height:95vh;height:95vh;margin:2.5vh auto;border:1px solid var(--glass-border);box-shadow:0 0 50px #00000080}.app-shell{display:grid;grid-template-columns:var(--space-f-233) 1fr;grid-template-rows:auto 1fr;height:100%;overflow:hidden}.app-bottom-nav{grid-column:1;grid-row:1 / -1;position:relative;height:100%;width:100%;flex-direction:column;justify-content:flex-start;padding-top:var(--space-xl);padding-bottom:var(--space-xl);border-top:none;border-right:1px solid var(--glass-border);background-color:#141416cc;transform:none!important;opacity:1!important;pointer-events:auto!important}.app-bottom-nav a{height:auto;min-height:50px;padding:var(--space-md) var(--space-lg);flex:0 0 auto;flex-direction:row;gap:var(--space-md);justify-content:flex-start;font-size:var(--font-size-md);width:100%;border-left:3px solid transparent;margin-bottom:var(--space-xs)}.app-bottom-nav a:hover,.app-bottom-nav a:focus-visible{transform:translate(4px);background-color:#ffffff0d}.app-bottom-nav a.active{color:var(--color-primary);border-left-color:var(--color-primary);background-color:#ffffff14;text-shadow:none}.app-bottom-nav svg{margin-bottom:0;width:24px;height:24px}.app-header{grid-column:2;grid-row:1;width:100%;position:sticky;top:0;background-color:#15151699;border-bottom:1px solid var(--glass-border);backdrop-filter:blur(20px)}.app-main{grid-column:2;grid-row:2;padding-bottom:var(--space-lg);height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.page-container{height:100%}.toast{left:calc(50% + 117px);bottom:var(--space-lg);transform:translate(-50%)}.preload-status-indicator{bottom:var(--space-lg);left:auto;right:var(--space-lg)}}@media (min-width: 1024px){.deck-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(377px,1fr));gap:var(--space-f-21);padding-left:0}.deck-list:before{display:none}.deck-card{width:100%;height:100%;min-height:140px;flex-direction:row;align-items:center;transform:translateY(0)}.deck-card:hover{transform:translateY(-4px)}.deck-card-path-node{display:none}.deck-card-info{padding-right:var(--space-sm)}}@media (min-width: 1400px){.matrix-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width: 1024px){.app-main.auth-view{display:flex;justify-content:center;align-items:center;height:100%;padding:0}.auth-card{width:100%;max-width:420px;background:#1e1e2099;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--glass-border);box-shadow:0 20px 50px #00000080}}@media (min-width: 1024px){.palace-list-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-md);padding-top:var(--space-md)}.palace-list-container .library-header{grid-column:1 / -1;margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:space-between}.palace-card{height:100%;min-height:120px}.palace-detail-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.palace-detail-header{flex-shrink:0;margin-bottom:var(--space-md)}.palace-items-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-md);overflow-y:auto;padding-right:var(--space-sm);padding-bottom:var(--space-xl)}.palace-item{height:100%;background-color:#23232666}}@media (min-width: 1024px){.page-container[key=settings-page]{max-width:900px;margin:0 auto;padding:var(--space-xl) var(--space-md)}.settings-section{background:#1e1e2066;padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--glass-border);margin-bottom:var(--space-lg)}.settings-section h3{margin-top:0;margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm);font-size:var(--font-size-md);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em}}@media (min-width: 1024px){.palace-list-container{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))!important;gap:var(--space-md);padding-top:var(--space-md);height:auto;overflow:visible}}.text-concierge{font-family:var(--font-family-accent);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:600;color:var(--color-text);opacity:.7}.heading-luxury{font-family:var(--font-family-heading);font-weight:400;letter-spacing:-.02em;color:var(--color-primary);margin-bottom:var(--space-sm)}.btn-luxury{background:transparent;border:1px solid var(--color-primary);color:var(--color-primary);padding:.75rem 2rem;text-transform:uppercase;letter-spacing:.15em;font-family:var(--font-family-accent);font-size:.875rem;font-weight:600;transition:all var(--transition-duration) var(--transition-timing);cursor:pointer;border-radius:var(--radius-base)}.btn-luxury:hover{background:#d4af371a;color:#fff;border-color:#fff;box-shadow:0 0 30px #d4af3733;transform:translateY(-2px)}.card-luxury{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);backdrop-filter:blur(20px);box-shadow:var(--glass-shadow);padding:var(--space-lg)}.concierge-text{font-family:var(--font-family-accent);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:600;opacity:.8}.cmd-palette-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;background-color:#0009;backdrop-filter:blur(4px);animation:fade-in .2s ease-out}.cmd-palette-modal{width:100%;max-width:600px;background-color:var(--glass-surface);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000080;overflow:hidden;animation:item-cascade .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.cmd-palette-header{display:flex;align-items:center;padding:var(--space-md);border-bottom:1px solid var(--glass-border);gap:var(--space-md)}.cmd-search-icon{width:20px;height:20px;color:var(--color-text);opacity:.5}.cmd-palette-input{flex:1;background:transparent;border:none;outline:none;font-size:var(--font-size-lg);color:var(--color-text);padding:0}.cmd-palette-input::placeholder{color:var(--color-text);opacity:.3}.cmd-palette-esc{font-size:10px;font-family:monospace;opacity:.4;border:1px solid var(--glass-border);padding:2px 6px;border-radius:4px}.cmd-palette-list{max-height:60vh;overflow-y:auto;padding:var(--space-sm) 0}.cmd-palette-item{padding:var(--space-sm) var(--space-md);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color .15s ease;border-left:2px solid transparent}.cmd-palette-item.active,.cmd-palette-item:hover{background-color:#ffffff0d;border-left-color:var(--color-primary)}.cmd-palette-item.active .cmd-item-label,.cmd-palette-item:hover .cmd-item-label{color:var(--color-primary)}.cmd-item-content{display:flex;align-items:center;gap:var(--space-md)}.cmd-item-icon{opacity:.7;display:flex;align-items:center}.cmd-item-icon svg{width:18px;height:18px}.cmd-item-label{font-weight:500;transition:color .15s ease}.cmd-item-shortcut{font-size:11px;font-family:monospace;opacity:.4;background:#0003;padding:2px 6px;border-radius:4px;border:1px solid var(--glass-border)}.cmd-palette-empty{padding:var(--space-lg);text-align:center;opacity:.5}.cmd-palette-footer{padding:var(--space-sm) var(--space-md);background-color:#0003;border-top:1px solid var(--glass-border);display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.4}.button-magic-sparkle{position:relative;overflow:hidden;background-size:200% auto;transition:.5s;background-image:linear-gradient(to right,transparent 0%,rgba(212,175,55,.2) 51%,transparent 100%)}.button-magic-sparkle:hover{background-position:right center;color:#fff;text-shadow:0 0 5px rgba(255,215,0,.5);border-color:var(--color-primary)}.text-gold{color:var(--color-primary)}.deck-card{border:1px solid rgba(255,255,255,.08);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");transition:all var(--transition-duration) var(--transition-timing)}.deck-card:hover{border-color:#fff3;box-shadow:0 20px 50px #00000080}.deck-card-info{padding:var(--space-lg)}.heading-luxury{font-family:Playfair Display,serif;font-size:1.75rem;letter-spacing:-.02em;font-weight:400}.toast-container{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--space-lg) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--space-sm);z-index:2000;pointer-events:none}.toast{pointer-events:auto;background:var(--glass-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);color:var(--color-text);padding:var(--space-md) var(--space-lg);border-radius:50px;font-weight:500;box-shadow:0 10px 40px #0000004d;white-space:nowrap;display:flex;align-items:center;gap:var(--space-sm);animation:toast-slide-up .4s cubic-bezier(.16,1,.3,1) both}.toast-success{border-color:#34d3994d;color:#34d399}.toast-error{border-color:#ef44444d;color:#ef4444}.toast-info{border-color:var(--glass-border)}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (min-width: 1024px){.toast-container{left:calc(50% + 117px);bottom:var(--space-lg)}}.live-presence-indicator{animation:fade-in .5s ease-out}.live-pulse-dot{width:6px;height:6px;background-color:#34d399;border-radius:50%;box-shadow:0 0 #34d39966;animation:live-pulse 2s infinite}@keyframes live-pulse{0%{box-shadow:0 0 #34d39966}70%{box-shadow:0 0 0 6px #34d39900}to{box-shadow:0 0 #34d39900}}.smart-input-wrapper{position:relative;width:100%}.smart-input-field{width:100%;padding:var(--space-sm) var(--space-md);padding-right:48px;border-radius:var(--radius-base);border:1px solid var(--glass-border);background-color:#0003;color:var(--color-text);font-family:inherit;font-size:var(--font-size-md);transition:all var(--transition-duration) var(--transition-timing);outline:none}.smart-input-field:focus-visible{border-color:var(--color-primary);background-color:#0006;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 30%,transparent)}.smart-input-magic-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--color-primary)}.smart-input-magic-btn:hover:not(:disabled){background-color:#d4af3726;transform:translateY(-50%) scale(1.1)}.smart-input-magic-btn:disabled{opacity:.5;cursor:not-allowed}.magic-star{font-size:1.2rem;filter:drop-shadow(0 0 4px rgba(255,215,0,.5))}.spinner-small{width:16px;height:16px;border:2px solid var(--color-primary);border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.input-luxury{width:100%;background-color:transparent;border:none;border-bottom:2px solid var(--glass-border);padding:.8rem 0;color:var(--color-text);font-family:var(--font-family-body);font-size:var(--font-size-md);transition:all var(--transition-duration) var(--transition-timing);outline:none;border-radius:0}.input-luxury:focus{border-color:var(--color-primary);background-color:#ffffff05}.input-luxury::placeholder{color:var(--color-text);opacity:.4;font-style:italic}.settings-list-item{display:grid;grid-template-columns:1fr auto;padding:var(--space-md) var(--space-sm);border-bottom:1px solid var(--glass-border);align-items:center;gap:var(--space-md)}.settings-list-item:last-child{border-bottom:none}.auth-container{display:flex;min-height:100vh;background-color:var(--color-background);color:var(--color-text);overflow:hidden}.auth-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:2rem;max-width:100%;animation:fade-in .5s ease-out;background-color:var(--color-background)}@media (min-width: 1024px){.auth-content{padding:4rem;max-width:50%}}.auth-header{margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto;width:100%}.auth-header h2{font-size:2rem;font-weight:700;margin-bottom:.5rem;font-family:Playfair Display,serif;color:var(--color-text)}.auth-header p{color:color-mix(in srgb,var(--color-text) 70%,transparent);font-size:1rem;line-height:1.5}.auth-form{width:100%;max-width:400px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:color-mix(in srgb,var(--color-text) 90%,transparent)}.form-group input{width:100%;padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:1rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}.password-input-wrapper{position:relative}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:color-mix(in srgb,var(--color-text) 50%,transparent);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:var(--color-text)}.password-toggle:focus-visible{outline:2px solid var(--color-primary);border-radius:4px}.form-actions{display:flex;justify-content:flex-end;margin-bottom:1.5rem;margin-top:-.5rem}.forgot-password-link{background:none;border:none;color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;padding:0;transition:opacity .2s}.forgot-password-link:hover{text-decoration:underline;opacity:.8}.auth-submit{width:100%;display:flex;justify-content:center;align-items:center;padding:.875rem;font-size:1rem;font-weight:600;border-radius:.5rem;background-color:var(--color-primary);color:#121212;border:none;cursor:pointer;transition:transform .1s,filter .2s;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.auth-submit:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.social-auth{margin-top:2rem;width:100%;max-width:400px;margin-left:auto;margin-right:auto}.divider{display:flex;align-items:center;margin-bottom:1.5rem;color:color-mix(in srgb,var(--color-text) 50%,transparent);font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--color-border)}.divider span{padding:0 1rem}.social-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.social-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);box-sizing:border-box}.social-btn:hover{background-color:color-mix(in srgb,var(--color-surface) 90%,var(--color-text))}.social-btn.github{background-color:#24292f;color:#fff;border-color:#24292f}.social-btn.github:hover{background-color:#1a1e22}.auth-footer{margin-top:2rem;text-align:center;font-size:.875rem;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.auth-footer button{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;padding:0 .25rem}.auth-footer button:hover{text-decoration:underline}.auth-visual{display:none}@media (min-width: 1024px){.auth-visual{display:flex;flex:1;background-color:#0f0f0f;background-image:radial-gradient(circle at 10% 20%,rgba(212,175,55,.1) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(212,175,55,.05) 0%,transparent 40%),linear-gradient(135deg,#0a0a0a,#1a1a1a);position:relative;align-items:center;justify-content:center;padding:4rem}.visual-content{max-width:500px;text-align:center;z-index:10;padding:2rem;backdrop-filter:blur(10px);background:#ffffff08;border-radius:1rem;border:1px solid rgba(255,255,255,.05);box-shadow:0 25px 50px -12px #00000080}.visual-content blockquote{font-family:Playfair Display,serif;font-size:2.5rem;font-style:italic;color:#fffffff2;line-height:1.3;margin:0 0 2rem}.visual-content cite{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:var(--color-primary);display:block;font-style:normal;letter-spacing:.05em}}.auth-message{padding:.75rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem;text-align:center;line-height:1.5}.auth-message.error{background-color:#dc26261a;color:#ef4444;border:1px solid rgba(220,38,38,.2)}.auth-message.success{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
