@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap";:root{--color-primary: #0B3289;--color-primary-light: rgba(11, 50, 137, .15);--color-primary-dark: #020100;--color-primary-mid: #1A4A9A;--color-accent: #60509D;--color-accent-light: rgba(96, 80, 157, .15);--color-accent-muted: rgba(96, 80, 157, .3);--color-highlight: #60509D;--color-pink: #60509D;--color-pink-light: rgba(96, 80, 157, .15);--color-blue: #0B3289;--color-blue-light: rgba(11, 50, 137, .15);--color-ling: #0B3289;--color-orm: #60509D;--color-cp: #0B3289;--color-purple: #0B3289;--accent-purple: #0B3289;--accent-pink: #60509D;--accent-blue: #0B3289;--bg-base: #05080F;--bg-surface: rgba(11, 50, 137, .25);--bg-elevated: rgba(11, 50, 137, .4);--bg-warm: rgba(11, 50, 137, .3);--bg-glass: rgba(11, 50, 137, .2);--bg-glass-strong: rgba(5, 8, 15, .85);--bg-dark: #020100;--text-primary: #F0F4FF;--text-secondary: #8899CC;--text-muted: #5A6B95;--text-tertiary: #5A6B95;--border-subtle: rgba(11, 50, 137, .5);--border-default: rgba(11, 50, 137, .6);--border-glow: rgba(96, 80, 157, .5);--color-success: #4ADE80;--color-warning: #60509D;--color-error: #F87171;--color-info: #0B3289;--shadow-xs: 0 1px 4px rgba(0, 0, 0, .6);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .6);--shadow-md: 0 4px 16px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .7);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .8);--shadow-inner-deep: inset 0 2px 8px rgba(0, 0, 0, .6);--shadow-glow-pink: 0 0 20px rgba(96, 80, 157, .35);--shadow-glow-blue: 0 0 20px rgba(11, 50, 137, .5);--shadow-glow-purple: 0 0 20px rgba(11, 50, 137, .5);--shadow-glow-accent: 0 0 20px rgba(96, 80, 157, .4);--font-sans: "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;--text-display: 32px;--text-display-line: 40px;--text-display-weight: 700;--text-h1: 24px;--text-h1-line: 32px;--text-h1-weight: 700;--text-h2: 20px;--text-h2-line: 28px;--text-h2-weight: 600;--text-h3: 17px;--text-h3-line: 24px;--text-h3-weight: 600;--text-body-lg: 16px;--text-body-lg-line: 24px;--text-body-lg-weight: 400;--text-body: 15px;--text-body-line: 22px;--text-body-weight: 400;--text-body-sm: 13px;--text-body-sm-line: 20px;--text-body-sm-weight: 400;--text-caption: 12px;--text-caption-line: 16px;--text-caption-weight: 300;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--radius-btn: 50px;--container-max: 480px;--container-narrow: 360px;--container-wide: 100%;--header-height: 56px;--tabbar-height: 68px;--disclaimer-height: 40px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .22s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .32s cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-tabbar: 300;--z-modal: 9999;--z-toast: 10000;--gradient-aurora: linear-gradient(135deg, #0B3289 0%, #1A4A9A 50%, #60509D 100%);--gradient-purple: linear-gradient(135deg, #0B3289, #1A4A9A);--gradient-pink: linear-gradient(135deg, #60509D, #4A3A7D);--gradient-blue: linear-gradient(135deg, #0B3289, #1A4A9A);--gradient-warm: linear-gradient(135deg, #0B3289 0%, #1A4A9A 50%, #60509D 100%);--gradient-orm: linear-gradient(135deg, #60509D, #4A3A7D);--gradient-ling: linear-gradient(135deg, #0B3289, #1A4A9A);--gradient-cp: linear-gradient(135deg, #0B3289, #1A4A9A);--gradient-bg: radial-gradient(ellipse at top, #0B1428 0%, #05080F 60%);--gradient-nebula: radial-gradient(circle at 85% 85%, rgba(11, 50, 137, .12), transparent 60%);--gradient-asteroid: radial-gradient(circle at 30% 30%, rgba(11,50,137,.1), rgba(5,8,15,.9) 60%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);font-size:var(--text-body);line-height:var(--text-body-line);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6,b,strong{font-weight:600}a{color:var(--color-blue);text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}input:focus,textarea:focus,select:focus{outline:none}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}.app-shell{max-width:var(--container-max);margin:0 auto;min-height:100vh;position:relative;overflow:hidden;background:var(--gradient-bg)}.app-content{padding-top:var(--header-height);padding-bottom:calc(var(--tabbar-height) + var(--disclaimer-height) + var(--space-4));min-height:100vh;position:relative;z-index:10}.starfield-bg{position:fixed;top:0;right:0;bottom:0;z-index:0;pointer-events:none;max-width:var(--container-max);left:50%;transform:translate(-50%);width:100%;background:transparent}.app-header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--container-max);height:var(--header-height);background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4)}.header-title{font-size:var(--text-h3);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-btn);font-family:var(--font-sans);font-size:var(--text-body);font-weight:600;cursor:pointer;transition:all var(--transition-base);background-color:var(--bg-elevated);color:var(--text-primary);white-space:nowrap;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-purple);color:#60509d;box-shadow:var(--shadow-sm),var(--shadow-glow-purple)}.btn-primary:hover{transform:translateY(-1px);background:var(--gradient-pink);color:#0b3289;box-shadow:var(--shadow-md),var(--shadow-glow-accent)}.btn-primary:active{transform:scale(.95)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm);border:1px solid var(--border-default)}.btn-secondary:hover{box-shadow:var(--shadow-md);border-color:var(--border-glow);transform:translateY(-1px)}.btn-secondary:active{transform:scale(.95)}.btn-ghost{background:transparent;color:var(--text-secondary);box-shadow:none}.btn-ghost:hover{color:var(--color-primary)}.btn-ghost:active{transform:scale(.95)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-full);background:var(--bg-elevated);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);transition:all var(--transition-base)}.btn-icon:hover{box-shadow:var(--shadow-md),var(--shadow-glow-purple);border-color:var(--border-glow)}.btn-icon:active{transform:scale(.95)}.card{background:#05080fb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-md),var(--shadow-inner-deep);transition:all var(--transition-base);border:1px solid rgba(96,80,157,.2);animation:floatCard 3s ease-in-out infinite}.card:hover{box-shadow:var(--shadow-lg),var(--shadow-glow-purple);border-color:var(--border-glow);transform:translateY(-4px)}.glass-card{background:var(--bg-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md),var(--shadow-inner-deep)}.card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.card-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--gradient-aurora);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm),var(--shadow-glow-purple)}.asteroid-card{background:var(--gradient-asteroid),var(--bg-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:var(--shadow-md),var(--shadow-inner-deep);border:1px solid var(--border-subtle);position:relative;overflow:hidden;animation:floatCard 3s ease-in-out infinite}.asteroid-card:before{content:"";position:absolute;top:20%;left:60%;width:30px;height:30px;border-radius:50%;background:#0000004d;box-shadow:inset 2px 2px 4px #00000080}.asteroid-card:after{content:"";position:absolute;top:60%;left:25%;width:20px;height:20px;border-radius:50%;background:#0003;box-shadow:inset 1px 1px 3px #0006}.meteor-card{background:linear-gradient(145deg,#0b328980,#020100e6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;border:1px solid var(--border-default);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-xl),var(--shadow-inner-deep),0 0 24px #60509d26;position:relative;overflow:hidden}.meteor-card:before{content:"";position:absolute;top:-20%;right:-10%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(96,80,157,.12),transparent 70%);pointer-events:none}.btn-waterdrop{background:linear-gradient(135deg,#020100,#0b3289);color:#60509d;border:none;border-radius:var(--radius-btn);padding:14px 32px;font-size:var(--text-body);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 16px #0b328966,0 0 20px #60509d4d;position:relative;overflow:hidden}.btn-waterdrop:hover{transform:translateY(-2px);background:linear-gradient(135deg,#60509d,#4a3a7d);color:#0b3289;box-shadow:0 6px 20px #0b328980,0 0 28px #60509d73}.btn-waterdrop:active{transform:scale(.96)}.btn-waterdrop:disabled{opacity:.5;cursor:not-allowed;transform:none}.input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:#0a051480;font-family:var(--font-sans);font-size:var(--text-body);color:var(--text-primary);transition:all var(--transition-fast)}.input::-moz-placeholder{color:var(--text-muted)}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #60509d26,var(--shadow-glow-purple)}textarea.input{resize:none;line-height:var(--text-body-line)}.input-line{width:100%;padding:var(--space-3) 0;border:none;border-bottom:2px solid var(--border-default);border-radius:0;background:transparent;font-family:var(--font-sans);font-size:var(--text-body);color:var(--text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input-line::-moz-placeholder{color:var(--text-muted)}.input-line::placeholder{color:var(--text-muted)}.input-line:focus{border-bottom-color:var(--color-primary);box-shadow:0 4px 12px -8px var(--color-primary)}.logo-container{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--gradient-aurora);box-shadow:var(--shadow-sm),var(--shadow-glow-purple);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.logo-container:hover{transform:scale(1.05);box-shadow:var(--shadow-md),var(--shadow-glow-purple)}.fab{position:fixed;width:56px;height:56px;border-radius:var(--radius-full);background:var(--gradient-purple);color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-lg),var(--shadow-glow-purple);display:flex;align-items:center;justify-content:center;z-index:var(--z-sticky);transition:all var(--transition-bounce)}.fab:hover{transform:translateY(-4px) scale(1.08)}.fab:active{transform:scale(.92)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-caption);font-weight:600;background:var(--bg-elevated);border:1px solid var(--border-subtle)}.badge-primary{color:var(--color-primary);background:var(--color-primary-light);border-color:var(--border-glow)}.badge-ling{color:var(--color-blue);background:var(--color-blue-light);border-color:transparent}.badge-orm{color:var(--color-pink);background:var(--color-pink-light);border-color:transparent}.badge-success{color:var(--color-success);background:#4ade8026;border-color:transparent}.toggle{position:relative;width:44px;height:26px;border-radius:var(--radius-full);background:var(--bg-elevated);cursor:pointer;transition:var(--transition-base);border:1px solid var(--border-default)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--text-secondary);box-shadow:var(--shadow-sm);transition:var(--transition-bounce)}.toggle.active{background:var(--gradient-purple);border-color:var(--color-primary)}.toggle.active:after{left:21px;background:#fff}.tabbar{position:fixed;bottom:var(--disclaimer-height);left:50%;transform:translate(-50%);width:100%;max-width:var(--container-max);height:var(--tabbar-height);background:var(--bg-glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);z-index:var(--z-tabbar);display:flex;align-items:center;justify-content:space-around;padding:0 var(--space-2)}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-muted);font-size:10px;font-weight:500;background:none;border:none;cursor:pointer;transition:var(--transition-fast);padding:var(--space-1)}.tab-item.active{color:var(--color-accent)}.tab-icon-wrap{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:var(--transition-base)}.tab-item.active .tab-icon-wrap{background:var(--color-primary-light);box-shadow:0 0 12px #0b328980}.tab-fab{width:52px;height:52px;border-radius:var(--radius-full);background:var(--gradient-purple);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),var(--shadow-glow-purple);margin-top:-16px;border:3px solid var(--bg-base);transition:var(--transition-bounce)}.tab-fab:active{transform:scale(.92)}.disclaimer-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--container-max);height:var(--disclaimer-height);background:var(--bg-glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;padding:0 var(--space-3);font-size:9px;line-height:13px;font-weight:300;color:var(--text-muted);text-align:center;z-index:var(--z-tabbar);border-top:1px solid var(--border-subtle)}.avatar{border-radius:var(--radius-full);background:var(--bg-elevated);box-shadow:var(--shadow-xs);-o-object-fit:cover;object-fit:cover;flex-shrink:0}.progress-track{width:100%;height:6px;border-radius:var(--radius-full);background:#0a0514cc;overflow:hidden;box-shadow:var(--shadow-inner-deep)}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--gradient-purple);box-shadow:0 0 8px var(--color-primary),0 0 16px #60509d80;transition:width var(--transition-slow)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050210b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-content{background:#60509d1f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),var(--shadow-glow-purple);border:1px solid rgba(96,80,157,.2);padding:var(--space-6);width:100%;max-width:400px;max-height:80vh;overflow-y:auto}.actionsheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050210b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999}.actionsheet{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--container-max);background:var(--bg-glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl),var(--shadow-glow-purple);border-top:1px solid var(--border-glow);padding:var(--space-6) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));z-index:9999;animation:slideUpSheet .3s cubic-bezier(.4,0,.2,1);max-height:85vh;overflow-y:auto}@keyframes slideUpSheet{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.actionsheet-handle{width:36px;height:4px;border-radius:var(--radius-full);background:var(--color-primary);opacity:.4;margin:0 auto var(--space-4)}.glow-border{border:1.5px solid var(--color-primary);box-shadow:0 0 12px #60509d4d,inset 0 0 8px #60509d1a;animation:glowPulse 2s ease-in-out infinite}.ripple{position:absolute;border-radius:50%;background:#60509d4d;pointer-events:none;transform:scale(0)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.flex-1{flex:1}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary-c{color:var(--color-primary)}.text-ling{color:var(--color-blue)}.text-orm{color:var(--color-pink)}.w-full{width:100%}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.p-4{padding:var(--space-4)}.rounded-full{border-radius:var(--radius-full)}.relative{position:relative}.absolute{position:absolute}.hidden{display:none}@keyframes floatCard{0%,to{transform:translateY(-4px)}50%{transform:translateY(4px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 12px #60509d4d,inset 0 0 8px #60509d1a}50%{box-shadow:0 0 20px #60509d80,inset 0 0 12px #60509d26}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.float{animation:float 3.5s ease-in-out infinite}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pop-in{animation:popIn .3s var(--transition-bounce)}@media (max-width: 380px){:root{--text-body: 14px;--text-h3: 16px}}
