:root{--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--lh-tight: 1.2;--lh-snug: 1.375;--lh-normal: 1.5;--lh-relaxed: 1.6;--lh-loose: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(139, 92, 246, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15), 0 2px 6px rgba(139, 92, 246, .05);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18), 0 4px 8px rgba(139, 92, 246, .08);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .22), 0 6px 12px rgba(139, 92, 246, .1);--height-input: 48px;--height-input-sm: 40px;--height-input-lg: 56px;--container-sm: 480px;--container-md: 600px;--container-lg: 720px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}html[data-theme=dark]{--bg0: #0a0a0a;--bg1: #1a1a1a;--bg2: #242424;--bg: var(--bg0);--card: var(--bg1);--hover: #1f1f1f;--text0: #e5e5e5;--text1: #a3a3a3;--text: var(--text0);--muted: var(--text1);--border0: rgba(255, 255, 255, .08);--border: #2a2a2a;--primary: #8b5cf6;--accent: #a78bfa;--accent-soft: rgba(139, 92, 246, .15);--color-success: #10b981;--color-error: #ef4444;--color-error-muted: #dc2626;--color-warning: #f59e0b;--color-info: #3b82f6}html[data-theme=light]{--bg: #ffffff;--text: #0a0a0a;--muted: #737373;--card: #f5f5f5;--border: #e5e5e5;--primary: #7c3aed;--accent: #9333ea;--hover: #f9fafb;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--lh-relaxed);color:var(--text);min-height:100vh;background-color:var(--bg0);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E"),radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.3) 100%),radial-gradient(ellipse 800px 400px at 50% 0%,rgba(139,92,246,.08),transparent 50%),var(--bg0);background-size:200px 200px,100% 100%,100% 100%,100% 100%;background-repeat:repeat,no-repeat,no-repeat,no-repeat;background-position:0 0,center,center,center;background-attachment:fixed,fixed,fixed,fixed}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--lh-tight);margin-bottom:var(--space-3)}h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5,h6{font-size:var(--text-base)}p{margin-bottom:var(--space-4)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}button,input,select,textarea{min-height:var(--height-input);font-family:inherit;font-size:var(--text-base)}button{background-color:var(--primary);color:#fff;border:none;padding:0 var(--space-5);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-medium);transition:all var(--transition-base);line-height:var(--lh-normal)}button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}button:active:not(:disabled){opacity:.8;transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{background-color:var(--bg0);color:var(--text0);border:1px solid var(--border0);padding:var(--space-3);border-radius:var(--radius-sm);transition:border-color var(--transition-base),background-color var(--transition-base)}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);background-color:var(--bg1)}.container{max-width:var(--container-sm);margin:0 auto;padding:var(--space-4)}@media(min-width:640px){.container{max-width:var(--container-md)}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--height-input);padding:0 var(--space-5);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--lh-normal);cursor:pointer;transition:all var(--transition-base);border:none;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:var(--card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--hover);border-color:var(--primary)}.btn-subtle:hover:not(:disabled){opacity:1;border-color:var(--primary)}.btn-upgrade{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:var(--text-lg);font-weight:var(--weight-semibold);padding:var(--space-4) var(--space-6);min-height:56px}.btn-upgrade:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-sm{min-height:var(--height-input-sm);padding:0 var(--space-4);font-size:var(--text-sm)}.btn-lg{min-height:var(--height-input-lg);padding:0 var(--space-6);font-size:var(--text-lg)}.card{background-color:var(--bg1);border:1px solid var(--border0);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);position:relative;transition:all var(--transition-base)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 50%,transparent);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#8b5cf64d}.card-lg{padding:var(--space-5)}.card-xl{padding:var(--space-6)}.input{width:100%;min-height:var(--height-input);padding:var(--space-3);background-color:var(--bg0);color:var(--text0);border:1px solid var(--border0);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-base),background-color var(--transition-base)}.input:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);background-color:var(--bg1)}.input-error{border-color:var(--color-error-muted)}.input-error:focus{outline-color:var(--color-error-muted)}.form-group label{display:block;font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2);color:var(--text)}.form-error{display:block;font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-2)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}@media(max-width:640px){.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.page-container{max-width:var(--container-sm);margin:0 auto;padding:var(--space-4);padding-bottom:var(--space-8)}.page-container-md{max-width:var(--container-md)}.page-container-lg{max-width:var(--container-lg)}.page-header{text-align:center;margin-bottom:var(--space-6)}.page-title{font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2);letter-spacing:var(--tracking-tight)}.page-subtitle{font-size:var(--text-base);color:var(--muted);margin-bottom:0}.section{margin-bottom:var(--space-6)}.section-header{margin-bottom:var(--space-4)}.section-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2)}.section-description{font-size:var(--text-sm);color:var(--muted);line-height:var(--lh-relaxed)}.badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--lh-snug)}.badge-primary{background-color:var(--primary);color:#fff}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#fff}.badge-error{background-color:var(--color-error);color:#fff}.alert{padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.alert-success{background-color:#dcfce7;border:1px solid #86efac;color:#166534}.alert-error{background-color:#dc262626;border:1px solid var(--color-error-muted);color:var(--text0)}.alert-warning{background-color:#fef3c7;border:1px solid #fcd34d;color:#92400e}.alert-info{background-color:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--hover) 50%,var(--border) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 1.5s infinite}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{gap:var(--space-2)}.stack-lg{gap:var(--space-6)}.row{display:flex;gap:var(--space-4)}.row-sm{gap:var(--space-2)}.row-lg{gap:var(--space-6)}@media(max-width:640px){.row-mobile-stack{flex-direction:column}}.panel-premium{background-color:var(--bg2);border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-lg);position:relative}.panel-premium:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.4) 50%,transparent);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-overlay{background-color:var(--bg2);border:1px solid var(--border0);box-shadow:var(--shadow-xl)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:var(--card);border-bottom:1px solid var(--border);padding:1rem}.header-content{max-width:480px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.app-title{font-size:1.25rem;font-weight:600;margin:0}.theme-toggle{min-width:44px;padding:.5rem;background-color:var(--bg);border:1px solid var(--border);font-size:1.25rem}.app-main{flex:1;padding:2rem 0}.app-footer{background-color:var(--card);border-top:1px solid var(--border);padding:1rem;text-align:center;color:var(--muted);font-size:.875rem}.app-footer p{margin:0}.login-page{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:var(--space-6) var(--space-4)}.login-container{max-width:400px;width:100%}@media(min-width:640px){.login-container{max-width:480px}}.login-header{text-align:center;margin-bottom:var(--space-6)}.login-badge{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--accent-soft);border:1px solid var(--border0);border-radius:var(--radius-full);color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-4)}.login-header h1{font-size:var(--text-3xl);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--text0);margin-bottom:var(--space-3)}.login-subtitle{font-size:var(--text-sm);color:var(--text1);line-height:var(--lh-normal);margin-bottom:0}.login-panel{background:var(--bg1);border:1px solid var(--border0);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);transition:box-shadow var(--transition-base)}@media(min-width:640px){.login-panel{padding:var(--space-7)}}.login-panel:hover{box-shadow:var(--shadow-lg)}.login-form,.form-group{margin-bottom:var(--space-5)}.login-page .form-group label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:#fff!important}.form-group input{width:100%;height:var(--height-input);padding:var(--space-3) var(--space-4);background:var(--bg0);border:1px solid var(--border0);border-radius:var(--radius-md);color:#fff;font-size:var(--text-base);font-weight:var(--weight-medium);transition:all var(--transition-base);box-sizing:border-box}@media(min-width:640px){.form-group input{height:var(--height-input-lg)}}.form-group input::placeholder{color:var(--text1);opacity:.6}.form-group input:focus{outline:none;border-color:var(--primary);background:var(--bg1);box-shadow:0 0 0 3px var(--accent-soft),0 1px 2px #0000000d}.form-group input:disabled{opacity:.5;cursor:not-allowed;background:var(--bg0)}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:48px}.password-toggle{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:transparent;border:none;padding:var(--space-2);color:var(--text1);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);min-height:0;height:auto}.password-toggle:hover:not(:disabled){color:var(--text0);background:var(--bg0);transform:translateY(-50%);opacity:1}.password-toggle:disabled{opacity:.3;cursor:not-allowed}.password-toggle svg{display:block}.forgot-password{display:inline-block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text1);text-decoration:none;font-weight:var(--weight-medium);transition:color var(--transition-fast);float:right}.forgot-password:hover{color:var(--primary);text-decoration:none}.btn-primary{width:100%;height:var(--height-input);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-base);margin-top:var(--space-5);box-shadow:0 1px 2px #0000000d,0 0 0 0 var(--accent-soft)}@media(min-width:640px){.btn-primary{height:var(--height-input-lg)}}.btn-primary:hover:not(:disabled){background:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf633,0 0 0 0 var(--accent-soft)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:focus:not(:disabled){box-shadow:0 0 0 3px var(--accent-soft),0 1px 2px #0000000d}.trust-footer{margin-top:var(--space-4);text-align:center;font-size:var(--text-xs);color:var(--text1);opacity:.7;font-weight:var(--weight-regular)}.login-footer{text-align:center;padding-top:var(--space-5);border-top:1px solid var(--border0);font-size:var(--text-sm);color:var(--text1)}.create-account-link{background:none;border:none;color:var(--primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;padding:0;min-height:0;height:auto;line-height:inherit;text-decoration:none;transition:color var(--transition-fast)}.create-account-link:hover:not(:disabled){color:var(--accent);text-decoration:underline;transform:none;opacity:1}.create-account-link:disabled{opacity:.5;cursor:not-allowed}.error-message{padding:var(--space-3) var(--space-4);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--space-5);font-size:var(--text-sm);line-height:var(--lh-normal)}@media(max-width:639px){.login-page{padding:var(--space-5) var(--space-4);min-height:100vh}.login-header h1{font-size:var(--text-2xl)}.login-panel{padding:var(--space-5)}.login-badge{font-size:10px;padding:var(--space-1) var(--space-3)}}.onboarding-page{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem 1rem}.onboarding-container{max-width:500px;width:100%}.onboarding-subtitle{color:#666;margin-bottom:2rem;text-align:center}.onboarding-form{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#4a90e2}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-hint{display:block;margin-top:.25rem;font-size:.875rem;color:#999}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.zodiac-preview{margin:1.5rem 0;padding:1rem;background-color:#f0f8ff;border:1px solid #b3d9ff;border-radius:4px;text-align:center}.preview-text{margin:0;font-size:1.125rem;color:#333}.preview-text strong{color:#4a90e2}.btn-submit{width:100%;margin-top:1.5rem}.error-message{padding:.75rem;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;margin-bottom:1rem;font-size:.875rem}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.home-page{max-width:var(--container-sm);margin:0 auto;padding:var(--space-4);padding-bottom:var(--space-8)}.day-toggle{display:flex;gap:var(--space-2);background:#f4f4f5;padding:var(--space-1);border-radius:var(--radius-md);margin-bottom:var(--space-5);width:fit-content;margin-left:auto;margin-right:auto}.day-toggle button{flex:1;min-width:100px;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);background:transparent;color:#71717a;cursor:pointer;transition:all var(--transition-base);min-height:unset}.day-toggle button:hover{color:#3f3f46}.day-toggle button.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.home-header{text-align:center;margin-bottom:var(--space-5);position:relative;padding:var(--space-5) 0}.home-header:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:300px;height:150px;background:radial-gradient(ellipse at center,var(--accent-soft),transparent 70%);z-index:-1;pointer-events:none}.home-header h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-bottom:var(--space-1)}.home-date{font-size:var(--text-sm);color:var(--text1);margin-bottom:var(--space-3)}.home-badge{display:inline-block;background-color:var(--bg1);color:var(--text0);border:1px solid var(--border0);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2);box-shadow:0 0 0 1px var(--accent-soft) inset}.home-bands{font-size:var(--text-xs);opacity:.5;font-family:var(--font-mono)}.new-day-indicator{margin-top:var(--space-4);padding:var(--space-3);background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-radius:var(--radius-sm);text-align:center;font-weight:var(--weight-medium);animation:fadeInOut 3s ease-in-out}@keyframes fadeInOut{0%,to{opacity:0;transform:translateY(-10px)}10%,90%{opacity:1;transform:translateY(0)}}.ragondin-pose{margin:var(--space-5) 0;display:flex;justify-content:center}.pose-placeholder{width:200px;height:200px;background:linear-gradient(135deg,#e0e7ff,#f5f3ff);border:2px dashed #d4d4d8;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-base);color:#71717a;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.fortune-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:var(--space-5) 0}.fortune-card{background-color:var(--bg1);border:1px solid var(--border0);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-base);min-height:140px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;opacity:0;transform:translateY(20px)}.fortune-cards-grid.reveal .fortune-card{animation:cardReveal .4s ease-out forwards}@keyframes cardReveal{to{opacity:1;transform:translateY(0)}}.fortune-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.fortune-card:active{transform:translateY(-2px);box-shadow:var(--shadow-md)}.fortune-card[data-category=love]{border-top:3px solid #ec4899}.fortune-card[data-category=wealth]{border-top:3px solid #f59e0b}.fortune-card[data-category=health]{border-top:3px solid #10b981}.fortune-card[data-category=destiny]{border-top:3px solid #8b5cf6}.card-emoji{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.card-title{font-weight:var(--weight-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2);opacity:.8}.card-score{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2);line-height:var(--lh-tight)}.card-text{font-size:var(--text-xs);line-height:var(--lh-snug);opacity:.7;margin-top:auto}.fortune-summary-strip{margin:var(--space-6) 0;padding:var(--space-5);background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg)}.summary-section,.tip-section{margin-bottom:var(--space-5)}.summary-section:last-child,.tip-section:last-child{margin-bottom:0}.summary-section h3,.tip-section h3{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2);opacity:.7}.summary-section p,.tip-section p{margin:0;line-height:var(--lh-relaxed)}.cta-row{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-6) 0}.cta-row button{width:100%}.btn-subtle{background-color:transparent;color:var(--text);border:1px solid var(--border);opacity:.8}.btn-subtle:hover{opacity:1;border-color:var(--primary)}.fallback-banner{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-sm);padding:var(--space-4);margin:var(--space-4) 0;text-align:center}.fallback-banner p{margin:0 0 var(--space-3) 0;color:#92400e;font-size:var(--text-sm)}.fallback-banner button{background-color:#f59e0b;font-size:var(--text-sm);padding:0 var(--space-4);min-height:var(--height-input-sm)}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--bg);border-radius:var(--radius-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp var(--transition-slow)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);background-color:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);cursor:pointer;z-index:10;transition:all var(--transition-base);padding:0;min-height:unset}.modal-close:hover{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.modal-body{padding:var(--space-8) var(--space-5) var(--space-6);text-align:center}.modal-category-emoji{font-size:var(--text-4xl);margin-bottom:var(--space-2)}.modal-title{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.modal-score{font-size:var(--text-4xl);font-weight:var(--weight-bold);margin-bottom:var(--space-6);line-height:var(--lh-tight)}.modal-section{margin-bottom:var(--space-6);text-align:left}.modal-section:last-child{margin-bottom:0}.modal-section h3{font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:var(--tracking-wide);opacity:.8}.short-reading{line-height:var(--lh-relaxed);margin:0}.premium-text{line-height:var(--lh-loose);margin:0;font-size:var(--text-base)}.locked-content{padding:var(--space-6);background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:2px dashed #d4d4d8;border-radius:var(--radius-lg);text-align:center;color:#3f3f46}.lock-icon{font-size:var(--text-4xl);margin-bottom:var(--space-4);opacity:.6}.lock-message{margin-bottom:var(--space-5);color:#52525b}.unlock-button{background:linear-gradient(135deg,var(--primary),var(--accent));font-weight:var(--weight-semibold)}.segmented-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);padding:var(--space-4);background-color:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.tab{background-color:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);font-size:var(--text-xs);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);transition:all var(--transition-base);color:var(--text);min-height:unset}.tab:hover{background-color:var(--hover);border-color:var(--primary)}.tab.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.tab-emoji{font-size:var(--text-xl)}.tab-title{font-size:var(--text-xs);font-weight:var(--weight-medium)}.fortune-skeleton{max-width:var(--container-sm);margin:0 auto;padding:var(--space-4)}.skeleton-header{text-align:center;margin-bottom:var(--space-5)}.skeleton-bar{background:linear-gradient(90deg,var(--border) 25%,var(--hover) 50%,var(--border) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 1.5s infinite;margin:0 auto}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-title{height:var(--text-3xl);width:120px;margin-bottom:var(--space-2)}.skeleton-date{height:var(--text-base);width:100px;margin-bottom:var(--space-2)}.skeleton-badge{height:var(--text-xl);width:140px;margin-bottom:var(--space-4)}.skeleton-pose{width:200px;height:200px;margin:var(--space-5) auto;background:linear-gradient(90deg,var(--border) 25%,var(--hover) 50%,var(--border) 75%);background-size:200% 100%;border-radius:var(--radius-lg);animation:shimmer 1.5s infinite}.skeleton-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:var(--space-5) 0}.skeleton-card{height:140px;background:linear-gradient(90deg,var(--border) 25%,var(--hover) 50%,var(--border) 75%);background-size:200% 100%;border-radius:var(--radius-lg);animation:shimmer 1.5s infinite}.skeleton-summary{margin:var(--space-6) 0}.skeleton-text{height:var(--text-base);width:100%;margin-bottom:var(--space-3)}.skeleton-text:last-child{width:80%}.paywall-page{max-width:var(--container-sm);margin:0 auto;padding:var(--space-6) var(--space-4);text-align:center}.paywall-page h1{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.paywall-page .subtitle{font-size:var(--text-base);opacity:.7;margin-bottom:var(--space-6)}.premium-benefits{background-color:var(--bg1);border:1px solid var(--border0);border-radius:var(--radius-lg);padding:var(--space-6);margin:var(--space-6) 0;text-align:left;box-shadow:var(--shadow-sm)}.benefit{padding:var(--space-3) 0;border-bottom:1px solid var(--border0);font-size:var(--text-base)}.benefit:last-child{border-bottom:none}.pricing-placeholder{margin:var(--space-6) 0;padding:var(--space-6);background-color:var(--bg2);border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:relative}.pricing-placeholder:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.4) 50%,transparent);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.pricing-placeholder p{margin:var(--space-2) 0;font-weight:var(--weight-medium);color:var(--text0)}.premium-unlocked-badge{display:inline-block;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin:var(--space-2) 0;box-shadow:0 2px 8px #fbbf244d}.pricing-card{margin:var(--space-6) 0;padding:var(--space-6);background-color:var(--bg2);border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:relative}.pricing-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.4) 50%,transparent);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.pricing-card p{margin:var(--space-2) 0;color:var(--text0)}.pricing-card .price{font-size:var(--text-4xl);font-weight:var(--weight-bold);margin:var(--space-4) 0;color:var(--text0)}.pricing-card .pricing-note{font-size:var(--text-sm);color:var(--text1)}.btn-upgrade{width:100%;padding:var(--space-4) var(--space-6);font-size:var(--text-lg);font-weight:var(--weight-semibold);background:linear-gradient(135deg,var(--primary),#9333ea);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;margin-top:var(--space-4);transition:transform var(--transition-base),box-shadow var(--transition-base)}.btn-upgrade:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf666}.btn-upgrade:disabled{opacity:.6;cursor:not-allowed}.secure-note{font-size:var(--text-sm);opacity:.6;margin-top:var(--space-4);text-align:center}.error-banner{background-color:#dc262626;border:1px solid var(--color-error-muted);color:var(--text0);padding:var(--space-4);border-radius:var(--radius-sm);margin:var(--space-4) 0;text-align:center}.success-banner{background-color:var(--bg2);border:1px solid rgba(16,185,129,.3);padding:var(--space-6);border-radius:var(--radius-lg);text-align:center;margin:var(--space-6) 0;box-shadow:var(--shadow-md);position:relative}.success-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.6) 50%,transparent);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.success-banner h1{color:var(--text0);margin-bottom:var(--space-4)}.success-banner p{color:var(--text0);margin:var(--space-2) 0}.success-details{font-size:var(--text-base);margin-top:var(--space-4);color:var(--text1)}.canceled-banner{background-color:var(--bg1);border:1px solid var(--border0);padding:var(--space-6);border-radius:var(--radius-lg);text-align:center;margin:var(--space-6) 0;box-shadow:var(--shadow-sm)}.canceled-banner h1{margin-bottom:var(--space-4)}@media(min-width:640px){.cta-row{flex-direction:row}.cta-row button{width:auto;flex:1}}.long-fortune-section{margin-top:var(--space-6);margin-bottom:var(--space-6)}.long-fortune-cta-card{background:linear-gradient(135deg,#f0f4ff,#ede9fe);border:2px solid #e0e7ff;border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.long-fortune-cta-card h3{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-3);color:var(--primary)}.long-fortune-cta-card p{font-size:var(--text-base);opacity:.8;margin-bottom:var(--space-4);line-height:var(--lh-normal)}.btn-unlock,.btn-complete{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base)}.btn-unlock:hover,.btn-complete:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.long-fortune-content{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border:2px solid #e9d5ff;border-radius:var(--radius-lg);padding:var(--space-5)}.long-fortune-content h3{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-4);color:var(--primary);text-align:center}.long-fortune-loading{display:flex;flex-direction:column;gap:var(--space-4)}.long-fortune-loading .skeleton-text{height:var(--text-base);background:linear-gradient(90deg,#e0e7ff 25%,#f0f4ff,#e0e7ff 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.long-fortune-loading .skeleton-text:nth-child(2){width:90%}.long-fortune-loading .skeleton-text:nth-child(3){width:80%}.long-fortune-error{text-align:center;padding:var(--space-5)}.long-fortune-error p{font-size:var(--text-base);margin-bottom:var(--space-4);opacity:.8}.long-fortune-error button{background:var(--primary);color:#fff;border:none;padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-base)}.long-fortune-error button:hover{opacity:.9}.long-fortune-display{display:flex;flex-direction:column;gap:var(--space-5)}.long-fortune-main{background:#fff;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid #e9d5ff}.long-fortune-main p{font-size:var(--text-base);line-height:var(--lh-loose);color:#3f3f46;white-space:pre-wrap}.long-fortune-sections{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.long-section{background:#fff;padding:var(--space-4);border-radius:var(--radius-sm);border:1px solid #e9d5ff}.long-section h4{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2);color:var(--primary)}.long-section p{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:#52525b}.long-fortune-advice{background:#fff;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid #e9d5ff}.long-fortune-advice h4{font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:var(--space-3);color:var(--primary)}.long-fortune-advice ul{list-style:none;padding:0;margin:0}.long-fortune-advice li{padding:var(--space-2) 0;padding-left:var(--space-5);position:relative;font-size:var(--text-sm);line-height:var(--lh-relaxed);color:#52525b}.long-fortune-advice li:before{content:"•";position:absolute;left:var(--space-2);color:var(--primary);font-weight:var(--weight-bold);font-size:var(--text-xl)}@media(min-width:640px){.long-fortune-sections{grid-template-columns:1fr 1fr}}.settings-page{max-width:var(--container-md);margin:0 auto;padding:var(--space-4);padding-bottom:var(--space-8)}.settings-header{text-align:center;margin-bottom:var(--space-6)}.settings-header h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.settings-header p{font-size:var(--text-base);opacity:.7}.settings-content{background:#fff;border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.settings-section{margin-bottom:var(--space-6)}.settings-section h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-2);color:var(--primary)}.section-description{font-size:var(--text-sm);opacity:.7;margin-bottom:var(--space-5);line-height:var(--lh-relaxed)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:var(--space-2);color:#3f3f46}.form-group input{width:100%;padding:var(--space-3);border:2px solid #e4e4e7;border-radius:var(--radius-sm);font-size:var(--text-base);transition:border-color var(--transition-base);box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary)}.form-group input.input-error{border-color:var(--color-error)}.field-error{display:block;font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.form-actions{display:flex;gap:var(--space-3);flex-direction:column;margin-top:var(--space-5)}.btn-primary,.btn-secondary{padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-base);border:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#f4f4f5;color:#52525b}.btn-secondary:hover{background:#e4e4e7}.save-success{margin-top:var(--space-4);padding:var(--space-3);background:#dcfce7;border:1px solid #86efac;border-radius:var(--radius-sm);color:#166534;font-size:var(--text-sm);text-align:center}.save-error{margin-top:var(--space-4);padding:var(--space-3);background:#fee2e2;border:1px solid #fca5a5;border-radius:var(--radius-sm);color:#991b1b;font-size:var(--text-sm);text-align:center}@media(min-width:640px){.form-actions{flex-direction:row}}.compat-page{max-width:var(--container-sm);margin:0 auto;padding:var(--space-4);padding-bottom:var(--space-8)}.compat-page h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2);text-align:center}.compat-page .subtitle{text-align:center;opacity:.7;margin-bottom:var(--space-6)}.your-profile{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:var(--space-4);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--space-6)}.your-profile h3{font-size:var(--text-sm);margin-bottom:var(--space-2);opacity:.9}.your-profile p{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.compat-input-section{background:var(--bg1);border:1px solid var(--border0);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.compat-input-section h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-5)}.input-group{margin-bottom:var(--space-4)}.input-group label{display:block;font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2);color:var(--text0)}.input-group input{width:100%;padding:var(--space-3);background-color:var(--bg0);color:var(--text0);border:1px solid var(--border0);border-radius:var(--radius-sm);font-size:var(--text-base);transition:border-color var(--transition-base),background-color var(--transition-base)}.input-group input:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);background-color:var(--bg1)}.input-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-3)}.compat-result-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);text-align:center}.compat-result-section h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2);color:#78350f}.partner-info{margin-bottom:var(--space-5)}.partner-info p{font-size:var(--text-lg);font-weight:var(--weight-medium);color:#92400e}.match-display{margin-bottom:var(--space-5)}.match-percentage{font-size:var(--text-4xl);font-weight:var(--weight-extrabold);color:#78350f;margin-bottom:var(--space-4);line-height:var(--lh-tight)}.match-meter{width:100%;height:var(--space-4);background:#ffffff80;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--space-4)}.match-meter-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);transition:width .5s ease-out;border-radius:var(--radius-sm)}.match-caption{background:#fffc;padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-5)}.match-caption p{font-size:var(--text-base);font-style:italic;color:#78350f;line-height:var(--lh-normal)}.result-actions{display:flex;gap:var(--space-3);justify-content:center}.result-actions button{flex:1;max-width:200px}.compat-history-section{margin-top:var(--space-7)}.compat-history-section h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-4)}.empty-message{text-align:center;opacity:.6;padding:var(--space-6);font-style:italic}.history-list{display:flex;flex-direction:column;gap:var(--space-3)}.history-item{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-md);padding:var(--space-4);transition:all var(--transition-base)}.history-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.history-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.history-main h4{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:#111827}.history-match{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--primary)}.history-details{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);opacity:.7}.history-date{font-size:var(--text-xs)}.share-page{max-width:var(--container-sm);margin:0 auto;padding:var(--space-4);padding-bottom:var(--space-8)}.share-page-header{text-align:center;margin-bottom:var(--space-5)}.share-page-header h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.share-page-note{font-size:var(--text-sm);opacity:.6;margin-top:var(--space-4);text-align:center}.share-preview-wrapper{margin:var(--space-5) auto;background-color:var(--bg2);border:2px solid var(--border0);border-radius:var(--radius-lg);padding:0;width:calc(100% - var(--space-6));max-width:400px;box-shadow:var(--shadow-lg);position:relative}.share-preview-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.5) 50%,transparent);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.share-preview-inner{width:100%;aspect-ratio:1080 / 1350;position:relative;overflow:hidden;border-radius:var(--radius-sm)}.share-preview-inner .share-card-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.296);transform-origin:center}.share-export-node{position:fixed;top:0;left:0;width:1080px;height:1350px;opacity:0;pointer-events:none;z-index:-1}.share-export-node .share-card-container{position:relative;top:auto;left:auto;transform:none}.share-actions{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-5) 0}.share-actions button{width:100%;padding:var(--space-4);font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);min-height:52px}.btn-download{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.btn-download:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-download:disabled{opacity:.5;cursor:not-allowed}.btn-share{background-color:var(--card);color:var(--text);border:2px solid var(--border)}.btn-share:hover:not(:disabled){border-color:var(--primary);background-color:var(--hover)}.btn-share:disabled{opacity:.5;cursor:not-allowed}.share-toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);background-color:var(--color-success);color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-lg);z-index:1000;animation:toastFadeIn var(--transition-slow)}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.share-card-container{width:1080px;height:1350px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:relative;display:flex;flex-direction:column;padding:60px;box-sizing:border-box;font-family:var(--font-body)}.share-card-header{text-align:center;margin-bottom:13px}.share-card-brand{font-size:52px;font-weight:var(--weight-bold);margin:0 0 12px;letter-spacing:var(--tracking-tight)}.share-card-date{font-size:26px;opacity:.9;font-weight:var(--weight-regular)}.share-card-title{text-align:center;margin-bottom:27px}.share-card-animal-element{font-size:44px;font-weight:var(--weight-semibold);margin-bottom:10px}.share-card-bands{font-size:22px;opacity:.7;font-family:var(--font-mono);letter-spacing:var(--tracking-wider)}.share-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.share-card-category{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:28px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;border:2px solid rgba(255,255,255,.2)}.share-card-emoji{font-size:54px;margin-bottom:10px}.share-card-label{font-size:22px;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:6px;opacity:.9}.share-card-score{font-size:72px;font-weight:var(--weight-bold);margin-bottom:10px;line-height:var(--lh-tight)}.share-card-line{font-size:18px;line-height:var(--lh-snug);opacity:.85}.share-card-summary{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:28px;border:2px solid rgba(255,255,255,.2);margin-bottom:0}.share-card-summary-text{font-size:22px;line-height:var(--lh-normal);text-align:center}.share-card-watermark{position:absolute;bottom:25px;right:60px;font-size:24px;font-weight:var(--weight-medium);opacity:.4;letter-spacing:var(--tracking-wide)}@media(min-width:640px){.share-actions{flex-direction:row}.share-preview-wrapper{max-width:500px}.share-preview-inner .share-card-container{transform:translate(-50%,-50%) scale(.37)}}.share-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-4)}.share-loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.share-error{background-color:#fee2e2;color:#991b1b;padding:var(--space-5);border-radius:var(--radius-md);margin:var(--space-5) 0;text-align:center}.share-error p{margin:0 0 var(--space-4) 0;font-size:var(--text-base)}.share-error button{background-color:#dc2626;color:#fff;border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;font-weight:var(--weight-semibold)}.share-error button:hover{background-color:#b91c1c}.config-error-panel{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:var(--bg);color:var(--text)}.config-error-content{max-width:600px;padding:2rem;background-color:var(--card);border:2px solid #dc2626;border-radius:.5rem}.config-error-content h1{color:#dc2626;margin-bottom:1rem}.error-message{font-size:1.125rem;font-weight:600;margin-bottom:2rem;padding:1rem;background-color:#dc26261a;border-left:4px solid #dc2626;border-radius:.25rem}.error-details h2{font-size:1rem;margin-bottom:.75rem}.error-details ol,.error-details ul{margin-left:1.5rem;margin-bottom:1.5rem}.error-details li{margin-bottom:.5rem}.error-details code{background-color:var(--bg);padding:.25rem .5rem;border-radius:.25rem;font-family:Courier New,monospace;font-size:.875rem;color:var(--primary)}
