:root{--color-primary: #004A80;--color-primary-light: #0066B3;--color-primary-dark: #003366;--color-primary-bg: #E6F2FF;--color-primary-hover: #003D6B;--color-secondary: #60A5FA;--color-secondary-light: #93C5FD;--color-secondary-dark: #3B82F6;--color-accent: #10B981;--color-accent-light: #34D399;--color-accent-dark: #059669;--color-error: #dc2626;--color-warning: #f59e0b;--color-success: #10b981;--color-info: #3b82f6;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-light: #94a3b8;--color-text-white: #ffffff;--color-bg-white: #ffffff;--color-bg-light: #f8fafc;--color-bg-gray: #f1f5f9;--color-bg-dark: #1e293b;--gradient-primary: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 100%);--gradient-secondary: linear-gradient(180deg, #dbeafe 0%, #bfdbfe 100%);--gradient-dark: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-dark: #cbd5e1;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 80px;--radius-sm: 2px;--radius-md: 5px;--radius-lg: 10px;--radius-xl: 20px;--radius-2xl: 10px;--radius-3xl: 15px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .15);--shadow-primary: 0 4px 12px rgba(0, 74, 128, .3);--shadow-primary-lg: 0 8px 24px rgba(0, 74, 128, .2);--font-family-primary: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 32px;--font-size-5xl: 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.6;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-index-dropdown: 100;--z-index-sticky: 500;--z-index-modal: 900;--z-index-banner: 1000;--z-index-tooltip: 1100;--header-height: 72px;--banner-height: 32px;--max-width-content: 1200px;--max-width-wide: 1400px;--opacity-disabled: .5;--opacity-hover: .8;--opacity-subtle: .7}*{box-sizing:border-box}:root{font-family:var(--font-family-primary);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color-scheme:light;color:var(--color-text-primary);background-color:var(--color-warning);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:var(--font-weight-medium);color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}html,body{margin:0;padding:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden;background-color:var(--color-warning)}#root{width:100%;overflow-x:hidden}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:#213547;background-color:var(--color-warning)}a:hover{color:#747bff}button{background-color:#f9f9f9}}.construction-banner{width:100%;max-width:100vw;height:5px;background:var(--color-warning);color:var(--color-text-white);padding:0;text-align:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:var(--z-index-banner);overflow:hidden}.banner-text{display:inline-flex;align-items:center;gap:var(--spacing-sm);letter-spacing:.5px;font-weight:400;font-size:12px;text-transform:uppercase}.banner-text .material-icons{font-size:18px}@media (max-width: 768px){.construction-banner{padding:6px 10px;font-size:13px}}.header{width:100%;max-width:100vw;overflow-x:hidden}.floating-header{position:fixed;top:0;left:50%;transform:translate(-50%);width:min(92%,1000px);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid rgba(255,255,255,.32);border-radius:0 0 20px 20px;box-shadow:0 6px 16px #0f172a1a;opacity:0;pointer-events:none;transition:opacity .05s ease}.floating-header .navbar{opacity:0;transform:translateY(-6px);transition:opacity .05s ease,transform .05s ease;padding:5px 7px}.navbar{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:10px 20px;max-width:1400px;margin:0 auto;width:100%;transition:all .15s ease}.logo-container{display:flex;align-items:center;gap:8px;cursor:pointer;transition:opacity .2s ease;justify-self:start}.logo-container:hover{opacity:.8}.logo-icon{width:40px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.logo-icon img{width:100%;height:100%;object-fit:contain}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);transition:all .3s ease}.nav-links{display:flex;align-items:center;gap:var(--spacing-xl);justify-content:center;justify-self:center}.nav-links a{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-primary);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-base);cursor:pointer;opacity:.7;transition:all .2s ease}.nav-links a:hover{opacity:1}.nav-links a:hover{color:var(--color-primary);background:var(--color-primary-bg)}.login-button{background:none;color:var(--color-primary);border:none;padding:10px 24px;border-radius:var(--radius-3xl);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family-primary);display:flex;align-items:center;gap:var(--spacing-sm);justify-self:end}.login-button .material-icons{font-size:18px}.login-button:hover{background:var(--color-primary-hover);color:var(--color-text-white);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.login-button:active{transform:translateY(0)}.user-menu{display:flex;align-items:center;gap:var(--spacing-md);justify-self:end}.user-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.logo-container{text-decoration:none;color:inherit}.hero-section{text-align:center;padding:0 20px 20px}.tagline{letter-spacing:-.05em;font-size:var(--font-size-5xl);font-weight:800;line-height:var(--line-height-tight);margin:0;color:#000}.tagline-highlight{color:var(--color-primary)}.hero-subtitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin:0 auto;background:var(--color-primary-bg);padding:4px 12px;border-radius:var(--radius-3xl);width:fit-content;display:flex;align-items:center;gap:4px;box-shadow:var(--shadow-md);border:0px solid var(--color-primary-light);opacity:.7}@media (max-width: 1024px){.nav-links{gap:var(--spacing-lg)}.nav-links a{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}}@media (max-width: 768px){.navbar{padding:5px 10px;grid-template-columns:1fr auto}.nav-links{display:none}.logo-text{font-size:16px}.logo-icon{width:32px;height:26px}.login-button{padding:8px 20px;font-size:14px}.login-button .material-icons{display:none}.hero-section{padding:0 20px 20px}.tagline{font-size:36px}.hero-subtitle{font-size:var(--font-size-xs);padding:4px 8px;margin:var(--spacing-sm) auto 0}}.floating-header.visible{opacity:1;pointer-events:auto}.floating-header.visible .navbar{opacity:1;transform:translateY(0)}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:var(--radius-2xl);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}.modal-close{position:absolute;top:16px;right:16px;background:var(--color-bg-light);border:none;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);z-index:1}.modal-close:hover{background:var(--color-border);transform:rotate(90deg)}.modal-close .material-icons{font-size:20px;color:var(--color-text-secondary)}@media (max-width: 768px){.modal-overlay{padding:0}.modal-content{max-height:100vh;border-radius:0;min-height:100vh}.modal-close{top:20px;right:20px}}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden;margin:0;padding:0;backface-visibility:hidden;-webkit-font-smoothing:antialiased;contain:strict;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--color-bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:400px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;position:relative;margin:0;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;isolation:isolate;contain:strict;pointer-events:auto;animation:modalAppear .15s ease-out;will-change:opacity}@keyframes modalAppear{0%{opacity:0}to{opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease;transform:translateZ(0)}.modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-close .material-icons{font-size:20px}.modal-body{padding:var(--spacing-lg)}.modal-message{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.6;margin:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.modal-cancel-button,.modal-confirm-button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .15s ease,color .15s ease;border:none;transform:translateZ(0);backface-visibility:hidden}.modal-cancel-button{background:var(--color-bg-white);color:var(--color-text-primary);border:1px solid var(--color-border)}.modal-cancel-button:hover{background:var(--color-bg-secondary)}.modal-confirm-button{background:var(--color-primary);color:var(--color-text-white)}.modal-confirm-button:hover{background:var(--color-primary-hover)}.modal-confirm-button.delete-button{background:var(--color-error);color:var(--color-text-white)}.modal-confirm-button.delete-button:hover{background:var(--color-error-hover, #dc2626)}@media (max-width: 768px){.modal-container{width:95%;max-width:none}.modal-footer{flex-direction:column-reverse}.modal-cancel-button,.modal-confirm-button{width:100%}}.pricing-estimate{max-width:600px;margin:20px auto 60px;padding:0;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pricing-card{background:#fff;border-radius:var(--radius-2xl);padding:15px;box-shadow:none;text-align:center}.page-range-section{display:flex;flex-direction:column;gap:0px;margin-bottom:0;padding:0}.card-stack-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;margin:12px 0 24px;gap:12px}.card-stack{position:relative;width:280px;height:140px;display:flex;align-items:center;justify-content:center;pointer-events:none}.card-stack-card{position:absolute;width:140px;height:100px;background:linear-gradient(180deg,#fdfdfd,#f4f6f9);border-radius:7px;box-shadow:0 1px 3px #0f172a40,0 4px 12px #0f172a0d;transform-origin:20% 80%;transform:translate(calc(var(--offset-x, 0) * 1px),calc(var(--offset-y, 0) * 1px)) rotate(calc(var(--rotate, 0) * 1deg));opacity:1;transition:transform .1s ease,opacity .2s ease,filter .2s ease;z-index:var(--depth, 1)}.card-stack-caption{display:flex;flex-direction:column;align-items:center;gap:4px;text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.08em;color:var(--color-text-tertiary)}.card-stack-card:nth-child(2){filter:blur(.75px)}.card-stack-card:last-child{filter:none}.card-stack-caption strong{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:.04em;color:var(--color-primary)}@keyframes card-fan-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.page-range-header{display:inline-flex;align-items:center;gap:var(--spacing-xs);justify-content:center;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.page-range-header .material-icons{font-size:20px;color:var(--color-accent)}.page-range-values{display:flex;justify-content:center;gap:var(--spacing-lg)}.page-value{display:flex;flex-direction:column;gap:4px;align-items:center}.page-value .label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary)}.page-value .value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.range-slider{position:relative;width:100%;height:36px}.slider-visual{position:absolute;inset:0 9px;overflow:hidden;pointer-events:none}.range-slider input[type=range]{position:absolute;pointer-events:none;-webkit-appearance:none;width:calc(100% - 18px);left:9px;height:20px;background:transparent;margin:0}.range-slider input[type=range]::-webkit-slider-runnable-track{height:6px;background:transparent}.range-slider input[type=range]::-moz-range-track{height:6px;background:transparent}.range-slider input[type=range]::-ms-track{height:6px;background:transparent;border-color:transparent;color:transparent}.range-slider input[type=range]::-webkit-slider-thumb{pointer-events:all;width:18px;height:18px;border-radius:50%;background:var(--color-text-tertiary);border:2px solid var(--color-text-white);box-shadow:0 2px 6px #c0c0c066;-webkit-appearance:none;margin-top:1px;cursor:grab}.range-slider input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}.range-slider input[type=range]::-moz-range-thumb{pointer-events:all;width:18px;height:18px;border-radius:50%;background:var(--color-text-tertiary);border:2px solid var(--color-text-white);box-shadow:0 2px 6px #10b98166;cursor:grab}.range-slider input[type=range]::-moz-range-thumb:active{cursor:grabbing}.range-slider input[type=range].thumb-start{z-index:3}.range-slider input[type=range].thumb-end{z-index:4}.slider-track{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);height:6px;border-radius:var(--radius-full);background:var(--color-border)}.slider-selected{position:absolute;top:50%;left:0;right:0;height:6px;border-radius:var(--radius-full);background:var(--color-text-tertiary);transform:translateY(-50%);z-index:2}.page-range-summary{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.page-range-summary .divider{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-border-dark)}.material-info{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0}.quantity-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;font-weight:var(--font-weight-medium)}.pricing-explanation{margin:0 0 24px;padding:16px;background:var(--color-bg-light);border-radius:var(--radius-md);border:1px solid var(--color-border)}.pricing-tiers-info{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.tier{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding:4px 8px;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.quantity-selector{display:flex;align-items:center;justify-content:center;gap:0px;margin:0;padding:0}.quantity-button{width:40px;height:40px;border:0px solid var(--color-border);background:var(--color-bg-gray);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);color:var(--color-text-primary)}.quantity-button:hover:not(:disabled){border-color:none;background:var(--color-primary);color:var(--color-text-white)}.quantity-button:disabled{opacity:.4;cursor:not-allowed}.quantity-button .material-icons{font-size:20px}.quantity-display{border:0px solid var(--color-primary);border-radius:50px;min-width:200px;text-align:center;display:flex;flex-direction:column;align-items:center;padding:0;gap:4px}.quantity-number{font-size:48px;font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.quantity-label{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.quantity-max{font-size:var(--font-size-sm);color:var(--color-text-secondary);opacity:.8}.price-display{margin:0;padding:0}.get-deck-button-container{position:relative;width:100%;display:flex;align-items:stretch;gap:var(--spacing-sm);margin-top:20px}.total-price-small{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 4px;line-height:1;text-align:center}.unit-price-small{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;text-align:center;opacity:.8}.pricing-breakdown-small{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-weight:800;padding:0;border-radius:var(--radius-sm);text-align:center;opacity:.5;letter-spacing:-.05em}.language-selector-section{margin:10px 0;padding:10px 0 13px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.language-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:10px;text-align:center}.language-selector{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;padding:0}.language-option{background:#fff;border:1px solid var(--color-border);padding:5px 10px;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:6px;color:var(--color-text-secondary);opacity:.5}.language-option:hover{background:#fff;transform:translateY(-1px);opacity:1}.language-option.active{background:var(--color-text-light);border-color:none;color:var(--color-text-white);box-shadow:none;opacity:1}.language-flag{font-size:18px;line-height:1}.language-name{font-size:var(--font-size-sm)}.get-deck-button{background:var(--color-primary);color:var(--color-text-white);border:none;padding:10px;border-radius:var(--radius-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family-primary);display:inline-flex;align-items:center;gap:var(--spacing-sm);margin:0;width:100%;justify-content:center}.language-flag-button{width:56px;min-width:56px;max-width:56px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);font-size:24px}.language-flag-button:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.language-modal{padding:var(--spacing-lg)}.language-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs);color:var(--color-text-primary)}.language-modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-md)}.price-badge{position:absolute;top:-12px;right:18px;display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 12px 4px;background:var(--color-text-tertiary);color:var(--color-text-white);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md);z-index:var(--z-index-sticky);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.price-badge .material-icons{font-size:18px;line-height:1}.get-deck-button .material-icons{font-size:24px}.get-deck-button:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-primary-lg)}.get-deck-button:active{transform:translateY(0)}.processing-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.2;margin:10px 0 0;text-align:center;opacity:.3}.processing-note strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}@media (max-width: 768px){.pricing-card{padding:10px}.page-range-section{padding:0;gap:var(--spacing-xs)}.page-range-values{gap:var(--spacing-sm)}.page-value .value{font-size:var(--font-size-md)}.range-slider{height:35px}.range-slider input[type=range]{height:20px}.range-slider input[type=range]::-webkit-slider-thumb{margin-top:0}.range-slider input[type=range]::-moz-range-thumb{margin-top:0}.pricing-tiers-info{gap:8px}.tier{font-size:var(--font-size-xs);padding:3px 6px}.quantity-selector{gap:0px}.quantity-button{width:36px;height:36px}.quantity-button .material-icons{font-size:18px}.quantity-display{padding:16px;min-width:160px}.quantity-number{font-size:36px}.quantity-label{font-size:var(--font-size-md)}.quantity-max{font-size:var(--font-size-xs)}.total-price-small{font-size:var(--font-size-md)}.unit-price-small{font-size:var(--font-size-xs)}.pricing-breakdown-small{font-size:10px;padding:4px 8px}.language-selector{gap:6px}.language-option{padding:8px 12px;font-size:var(--font-size-xs)}.language-flag{font-size:16px}.language-name{font-size:var(--font-size-xs)}.get-deck-button{padding:14px 24px;font-size:var(--font-size-md)}.price-badge{top:-10px;right:12px;padding:5px 10px;font-size:var(--font-size-xs)}.processing-note{font-size:var(--font-size-xs)}}.signup-form-container{padding:48px 40px}.signup-header{text-align:center;margin-bottom:32px}.signup-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 12px}.signup-subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0}.signup-form{display:flex;flex-direction:column;gap:24px}.error-banner{background:#dc26261a;border:1px solid var(--color-error);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:center;gap:8px;color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.input-icon{position:absolute;left:14px;font-size:20px;color:var(--color-text-tertiary);pointer-events:none}.form-input{width:100%;padding:12px 16px 12px 44px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);font-family:var(--font-family-primary);color:var(--color-text-primary);transition:all var(--transition-base);background:#fff}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.form-input:disabled{background:var(--color-bg-light);cursor:not-allowed;opacity:var(--opacity-disabled)}.form-input::placeholder{color:var(--color-text-light)}.password-toggle{position:absolute;right:12px;background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:color var(--transition-base)}.error-message{font-size:var(--font-size-xs);color:var(--color-error);margin:0;display:flex;align-items:center;gap:4px}.file-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--color-bg-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.file-info .material-icons{font-size:18px;color:var(--color-primary)}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.submit-button{background:var(--color-primary);color:var(--color-text-white);border:none;padding:14px 24px;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family-primary);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.submit-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary-lg)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.submit-button .material-icons{font-size:20px}.submit-button .spinning{animation:spin 1s linear infinite}.terms-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;margin:0;line-height:var(--line-height-relaxed)}.dev-submit-button{margin-top:16px;width:100%;background:transparent;border:1px dashed var(--color-border-strong);color:var(--color-text-tertiary);padding:12px 16px;border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-base);font-family:var(--font-family-primary)}.dev-submit-button:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-primary);background:#4074ff14}.dev-submit-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}@media (max-width: 768px){.signup-form-container{padding:32px 24px}.signup-title{font-size:var(--font-size-2xl)}.signup-subtitle{font-size:var(--font-size-sm)}.form-input{padding:10px 14px 10px 40px}.submit-button{padding:12px 20px;font-size:var(--font-size-md)}}@keyframes glow{0%,to{box-shadow:0 0 20px #004a804d,0 0 40px #004a801a}50%{box-shadow:0 0 30px #004a8080,0 0 60px #004a8033}}.uploader-container{max-width:600px;margin:10px auto 100px;padding:0 10px}.upload-box{border:2px solid var(--color-primary-bg);border-radius:var(--radius-3xl);padding:30px 10px;text-align:center;background:#fff;cursor:pointer;transition:all .05s;position:relative;animation:none;box-sizing:border-box;transform:translateY(0);box-shadow:none}.upload-box.uploaded{border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:10px;background:#6b72801a;animation:none;min-height:auto}.upload-box:hover{border:2px solid var(--color-primary);border-style:solid;background:#fff;transform:none;box-shadow:0 0 20px #004a804d,0 0 40px #004a801a;animation:glow 2.5s ease-in-out infinite}.upload-box.uploaded:hover{border-color:var(--color-primary);background:#6b728026;transform:translateY(-1px);box-shadow:var(--shadow-md)}.upload-box.dragging{border-color:var(--color-primary-hover);background:var(--color-primary-bg);transform:scale(1.02);animation:none}.upload-content{pointer-events:none}.upload-text{font-size:16px;line-height:1.35;margin:0 0 20px;color:var(--color-primary)}.upload-text strong{font-weight:600}.file-icon{margin-top:12px;opacity:.8}.file-icon .material-icons,.file-icon .material-symbols-outlined{font-size:80px;color:var(--color-primary)}.uploaded-content{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--color-primary)}.uploaded-content .material-icons{font-size:20px;color:var(--color-text-tertiary)}.uploaded-filename{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-count-badge{position:absolute;bottom:-8px;right:-8px;background:#c9d6eb;color:var(--color-text-white);padding:6px 12px;border-radius:var(--radius-3xl);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:4px;box-shadow:var(--shadow-md);border:0px solid white;z-index:10;opacity:1}.page-count-badge .material-icons{font-size:14px}.upload-status{margin-top:20px;text-align:center;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--font-size-md)}.upload-status.processing{color:var(--color-primary)}.upload-status.success{color:#059669}.upload-status .material-icons{font-size:20px}.upload-status .spinning{animation:spin 1s linear infinite}.upload-progress-container{margin-top:20px;display:flex;flex-direction:column;gap:8px;align-items:stretch}.upload-progress-bar{position:relative;width:100%;height:6px;border-radius:999px;overflow:hidden;background:#6b72801a}.upload-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary) 50%,var(--color-primary) 100%);transition:width .25s ease-out}.upload-progress-note{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center}@media (max-width: 768px){.upload-box{padding:20px 10px}.upload-box.uploaded{padding:10px 15px}.upload-text{font-size:16px}.uploaded-filename{font-size:var(--font-size-sm);max-width:200px}.uploaded-content{gap:8px}.uploaded-content .material-icons{font-size:18px}.page-count-badge{bottom:-6px;right:-6px;padding:4px 8px;font-size:10px}.page-count-badge .material-icons{font-size:12px}}.features-section{width:100%;max-width:100vw;padding:80px 20px;background:linear-gradient(135deg,#f8fafc,#e0e7ff);overflow-x:hidden}.features-container{max-width:1200px;margin:0 auto;width:100%}.features-badge{display:inline-block;background:var(--color-primary-bg);color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-2xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2xl);text-align:center;width:fit-content;margin-left:auto;margin-right:auto;display:block}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px;margin-top:40px}.feature-card{background:#fff;border-radius:16px;padding:32px;box-shadow:none;transition:none;position:relative}.feature-card.coming-soon{opacity:.45}.feature-coming-soon-label{position:absolute;top:16px;right:16px;padding:4px 10px;border-radius:999px;background:#0f172a0f;color:#374151;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.feature-icon{margin-bottom:var(--spacing-md)}.feature-icon .material-icons{font-size:48px;color:var(--color-primary)}.feature-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 12px;line-height:1.4}.feature-description{font-size:14px;color:#64748b;line-height:1.6;margin:0}.feature-note{font-size:13px;color:#64748b;margin:12px 0 0;font-style:italic}.quiz-logos{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.logo-item{background:var(--color-bg-gray);padding:6px 14px;border-radius:var(--radius-2xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:flex;align-items:center;gap:6px}.logo-item .material-icons{font-size:16px}@media (max-width: 768px){.features-section{padding:60px 20px}.features-grid{grid-template-columns:1fr}.feature-card{padding:24px}}.footer{width:100%;max-width:100vw;background:var(--color-warning);color:var(--color-text-white);padding:var(--spacing-3xl) var(--spacing-lg) var(--spacing-xl);overflow-x:hidden}.footer-container{max-width:var(--max-width-content);margin:0 auto;width:100%}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:var(--spacing-3xl);margin-bottom:var(--spacing-2xl)}.footer-brand{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0}.footer-logo{display:flex;align-items:center;gap:var(--spacing-sm)}.footer-logo-icon{width:36px;height:36px;background:#ffffff26;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.footer-logo-icon .material-icons{font-size:24px;color:var(--color-text-white)}.footer-logo-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-white);word-break:break-word}.footer-tagline{font-size:var(--font-size-base);color:#fffc;margin:0}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-2xl);min-width:0}.footer-column{display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-white);margin:0 0 var(--spacing-sm) 0}.footer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-list li a{color:#ffffffb3;text-decoration:none;font-size:var(--font-size-base);transition:color var(--transition-base)}.footer-list li a:hover{color:var(--color-text-white)}.footer-bottom{padding-top:var(--spacing-xl);border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-copyright{font-size:var(--font-size-base);color:#fff9;margin:0}@media (max-width: 768px){.footer{padding:var(--spacing-2xl) var(--spacing-lg) var(--spacing-lg)}.footer-content{grid-template-columns:1fr;gap:var(--spacing-2xl);margin-bottom:var(--spacing-xl)}.footer-links{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.footer-column:last-child{grid-column:span 2}}@media (max-width: 480px){.footer-links{grid-template-columns:1fr;gap:var(--spacing-lg)}.footer-column:last-child{grid-column:span 1}}.deck-card{background:var(--color-bg-white);border:none;border-radius:var(--radius-lg);padding:var(--spacing-md);transition:all var(--transition-base);display:flex;flex-direction:column;gap:var(--spacing-sm);box-shadow:none;position:relative}.deck-card.clickable{cursor:pointer}.deck-card.clickable:hover{box-shadow:var(--shadow-md);transform:translateY(0);border-color:var(--color-primary)}.deck-card-delete{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-base);opacity:0;z-index:10}.deck-card:hover .deck-card-delete{opacity:1}.deck-card-delete:hover{background:var(--color-error-bg, rgba(239, 68, 68, .1));color:var(--color-error, #ef4444);opacity:1}.deck-card-delete:active{transform:scale(.95)}.deck-card-delete:disabled{opacity:.6;cursor:not-allowed}.deck-card-delete .material-icons{font-size:18px}.deck-card-delete .material-icons.spinning{animation:spin 1s linear infinite}.deck-card-header{display:flex;justify-content:space-between;align-items:center}.deck-card-icon{width:48px;height:48px;background:var(--color-primary-bg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.deck-card-icon .material-icons{font-size:24px}.deck-card-status{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.status-icon{font-size:18px!important}.deck-card-content{flex:1;display:flex;flex-direction:column}.deck-card-title{font-family:var(--font-family-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.2;color:var(--color-text-primary);margin:0 0 var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:text}.deck-card-title-input{width:100%;font-family:var(--font-family-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.2;color:var(--color-text-primary);background:transparent;border:2px solid var(--color-primary);border-radius:var(--radius-sm);padding:4px 8px;outline:none;margin:0 0 var(--spacing-xs);box-sizing:border-box}.deck-card-title-input:focus{background:var(--color-primary-bg)}.deck-card-title-input:disabled{opacity:.6;cursor:wait}.deck-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.deck-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.deck-card-progress{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.deck-card-progress-bar{position:relative;width:100%;height:4px;border-radius:999px;overflow:hidden;background:var(--color-border-light)}.deck-card-progress-bar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-warning) 50%,var(--color-primary) 100%);animation:deck-progress-stripes 1.2s linear infinite;transform:translate(-100%)}.deck-card-progress-text{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.deck-card-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:auto}.deck-card-date,.deck-card-count,.deck-card-language{display:flex;align-items:center;gap:var(--spacing-xs)}.deck-card-date .material-icons,.deck-card-count .material-icons,.deck-card-language .material-icons{font-size:16px}.deck-card-actions{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.deck-card-action{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);flex:1;color:#fff;box-shadow:none;opacity:.3}.deck-card:hover .deck-card-action{opacity:1}.deck-card-action .material-icons{font-size:18px}.deck-card-action.edit-btn{background:var(--color-text-secondary)}.deck-card-action.edit-btn:hover{background:var(--color-text-primary)}.deck-card-action.download-btn{background:var(--color-primary)}.deck-card-action.download-btn:hover{background:var(--color-primary-hover)}.deck-card-action:disabled{opacity:.6;cursor:not-allowed}.deck-card-action .material-icons.spinning{animation:spin 1s linear infinite}@keyframes deck-progress-stripes{0%{transform:translate(-100%)}to{transform:translate(100%)}}.deck-card-progress-bar-container{width:100%;height:6px;background:var(--color-border-light);border-radius:999px;overflow:hidden}.deck-card-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:999px;transition:width .3s ease}.deck-card-progress-text.error{color:var(--color-error)}.deck-card-action.error-retry{background:var(--color-error)}.deck-card-action.error-retry:hover{background:var(--color-error-hover, #dc2626)}@media (max-width: 768px){.deck-card{padding:var(--spacing-md)}.deck-card-footer{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.deck-card-actions{width:100%;justify-content:center}.deck-card-action{flex:1;justify-content:center}}.user-hub-container{min-height:calc(100vh - var(--header-height) - var(--banner-height));padding:var(--spacing-md) var(--spacing-md);margin-bottom:var(--spacing-4xl);background:none}.user-hub-header{max-width:var(--max-width-content);margin:0 auto var(--spacing-2xl);text-align:center}.user-hub-header h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.user-hub-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0}.decks-grid{max-width:var(--max-width-content);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-sm);padding:0}.create-deck-card{display:flex;flex-direction:column;justify-content:stretch}.decks-grid.pricing-active .create-deck-card{grid-column:1 / -1}.create-deck-card .uploader-container{max-width:100%;margin:0;padding:0}.create-deck-card .upload-box{border-radius:var(--radius-lg);box-shadow:none}.user-hub-loading,.user-hub-error,.user-hub-empty{max-width:var(--max-width-content);margin:var(--spacing-4xl) auto;text-align:center;padding:var(--spacing-2xl)}.user-hub-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.user-hub-error{color:var(--color-error)}.retry-button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:var(--color-text-white);border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-base)}.user-hub-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--color-text-secondary)}.user-hub-empty .material-icons{font-size:64px;color:var(--color-text-light)}.user-hub-empty p{font-size:var(--font-size-lg);margin:0}.user-hub-container .deck-card-action{background-color:#fff!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border)!important;height:40px!important;box-shadow:var(--shadow-sm)}.user-hub-container .deck-card-action:hover{background-color:var(--color-bg-secondary)!important;border-color:var(--color-primary)!important;color:var(--color-primary)!important}@media (max-width: 768px){.decks-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.user-hub-header h1{font-size:var(--font-size-3xl)}}.login-page{height:calc(100vh - var(--header-height) - var(--banner-height));max-height:calc(100vh - var(--header-height) - var(--banner-height));display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);background:none;overflow:hidden;box-sizing:border-box}.login-container{width:100%;max-width:440px;max-height:100%;background:none;border-radius:var(--radius-xl);padding:var(--spacing-3xl);box-shadow:none;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.login-container::-webkit-scrollbar{display:none}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.login-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 48px;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:var(--font-family-primary);color:var(--color-text-primary);background:var(--color-bg-white);transition:all var(--transition-base)}.login-submit-button{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary);color:var(--color-text-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all var(--transition-base);margin-top:var(--spacing-sm)}.login-submit-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.login-submit-button:active:not(:disabled){transform:translateY(0)}.login-submit-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.login-submit-button .material-icons{font-size:20px}.login-footer{text-align:center;margin-top:var(--spacing-md)}.signup-link-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.signup-link{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none;transition:color var(--transition-base)}.signup-link:hover{color:var(--color-primary-hover);text-decoration:underline}@media (max-width: 768px){.login-container{padding:var(--spacing-2xl)}.login-title{font-size:var(--font-size-3xl)}}.signup-page{height:calc(100vh - var(--header-height) - var(--banner-height));max-height:calc(100vh - var(--header-height) - var(--banner-height));display:flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-md);background:none;overflow:hidden;box-sizing:border-box}.signup-container{width:100%;max-width:440px;max-height:100%;background:none;border-radius:var(--radius-xl);padding:35px;box-shadow:none;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.auth-back-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding:6px 10px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#ffffffb3;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.auth-back-button .material-icons{font-size:18px}.auth-back-button:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.signup-container::-webkit-scrollbar{display:none}.signup-header{text-align:center;margin-bottom:var(--spacing-2xl)}.signup-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.signup-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.signup-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.error-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fee2e2;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.error-banner .material-icons{font-size:20px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--spacing-md);color:var(--color-text-tertiary);font-size:20px;pointer-events:none}.form-input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 48px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-primary);color:var(--color-text-primary);background:var(--color-bg-white);transition:all var(--transition-base)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #004a801a}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{box-shadow:0 0 0 3px #dc26261a}.form-input:disabled{background:var(--color-bg-gray);cursor:not-allowed;opacity:var(--opacity-disabled)}.password-toggle{position:absolute;right:var(--spacing-md);background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;transition:color var(--transition-base)}.password-toggle:hover{color:var(--color-text-primary)}.password-toggle .material-icons{font-size:20px}.error-message{font-size:var(--font-size-xs);color:var(--color-error);margin:0}.signup-submit-button{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary);color:var(--color-text-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all var(--transition-base);margin-top:var(--spacing-sm)}.signup-submit-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.signup-submit-button:active:not(:disabled){transform:translateY(0)}.signup-submit-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.signup-submit-button .material-icons{font-size:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.signup-footer{text-align:center;margin-top:var(--spacing-md)}.login-link-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.login-link{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none;transition:color var(--transition-base)}.login-link:hover{color:var(--color-primary-hover);text-decoration:underline}@media (max-width: 768px){.signup-container{padding:var(--spacing-2xl)}.signup-title{font-size:var(--font-size-3xl)}}.deck-detail-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.deck-detail-header{margin-bottom:var(--spacing-xl)}.back-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--spacing-lg)}.back-button:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.back-button .material-icons{font-size:20px}.deck-detail-title-section{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.deck-detail-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.deck-detail-status{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.deck-detail-status .status-icon{font-size:20px}.deck-detail-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0}.deck-detail-subtitle .processing-info{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.processing-message{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-warning)}.processing-message .material-icons{font-size:20px}.spinning{animation:spin 1s linear infinite}.deck-detail-loading,.deck-detail-error,.deck-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);text-align:center;min-height:400px}.deck-detail-loading .loading-spinner{width:48px;height:48px;border:4px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{to{transform:rotate(360deg)}}.deck-detail-error{color:var(--color-error)}.deck-detail-error .material-icons{font-size:48px;margin-bottom:var(--spacing-md)}.deck-detail-error p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg)}.deck-detail-empty{color:var(--color-text-secondary)}.deck-detail-empty .material-icons{font-size:64px;margin-bottom:var(--spacing-md);opacity:.5}.deck-detail-empty p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.deck-detail-empty-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.card-item{perspective:1000px;height:400px;cursor:pointer}.card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.card-item.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:15px;display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.card-back{transform:rotateY(180deg)}.card-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-md)}.card-question,.card-answer{flex:1;flex-direction:column;gap:var(--spacing-sm)}.card-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.card-question p,.card-answer p{font-size:var(--font-size-lg);color:var(--color-text-primary);line-height:1.2;margin:0;flex:1;display:flex;align-items:center}.card-answer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.card-flip-hint{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.card-flip-hint .material-icons{font-size:16px}.retry-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:var(--color-text-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-base)}.retry-button:hover{background:var(--color-primary-hover)}@media (max-width: 768px){.deck-detail-container{padding:var(--spacing-md)}.cards-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.card-item{height:350px}}.legal-page{min-height:calc(100vh - var(--header-height) - var(--banner-height));padding:var(--spacing-2xl) var(--spacing-md);display:flex;align-items:flex-start;justify-content:center;background:none;box-sizing:border-box}.legal-container{width:100%;max-width:800px;background:none}.legal-back-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding:6px 10px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#ffffffb3;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.legal-back-button .material-icons{font-size:18px}.legal-back-button:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.legal-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)}.legal-updated{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg)}.legal-body{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.7;margin:0 0 var(--spacing-lg)}.payment-success-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem;background-color:var(--color-background)}.payment-success-card{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 4px 20px #00000014;text-align:center;max-width:500px;width:100%;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-icon-container{margin-bottom:1.5rem}.success-icon{font-size:64px;color:var(--color-success)}h1{color:var(--color-text-primary);font-size:2rem;margin-bottom:1rem;font-weight:700}.success-message{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:.5rem;line-height:1.5}.redirect-message{color:var(--color-text-secondary);font-size:1rem;margin-bottom:2rem}.countdown-text{color:var(--color-text-tertiary);font-size:.9rem;margin-bottom:1.5rem}.hub-button{background-color:var(--color-primary);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.hub-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.payment-page-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - var(--header-height) - var(--banner-height));padding:var(--spacing-xl);background-color:transparent}.payment-card{background:var(--color-bg-white);border-radius:var(--radius-xl);padding:var(--spacing-2xl);text-align:center;max-width:500px;width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.payment-card.success .icon-container .material-icons{color:var(--color-success);font-size:64px;margin-bottom:var(--spacing-md)}.payment-card.cancel .icon-container .material-icons{color:var(--color-error);font-size:64px;margin-bottom:var(--spacing-md)}.payment-card h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.payment-card p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.redirect-note{font-size:var(--font-size-sm);font-style:italic;color:var(--color-text-tertiary)}.action-button{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-md);box-shadow:var(--shadow-md)}.action-button:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.action-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.App{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;background:linear-gradient(135deg,#f8fafc,#e0e7ff)}
