:root{--bg: #0B1220;--navy: #11294B;--mint: #2DD4A7;--up: #4ADE80;--down: #F87171;--text: #E6EDF7;--muted: #8FA3BF;--card: #131E33;--line: #1E2C47}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:Noto Sans TC,sans-serif}.num,input[type=number],input[type=date]{font-family:Inter,Noto Sans TC,sans-serif}button{font-family:inherit;cursor:pointer}.app{max-width:520px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding-bottom:76px}main{flex:1;padding:0 16px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 6px}.topbar h1{font-size:18px;font-weight:800;font-family:Inter,sans-serif;display:inline-flex;align-items:center;gap:8px}.topbar .logo-home{background:none;border:none;padding:0;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.topbar .eye{background:none;border:1px solid var(--line);border-radius:10px;padding:4px 10px;font-size:14px}.quote-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:2px 0 6px}.quote-bar button{background:none;border:1px solid var(--line);color:var(--mint);border-radius:8px;padding:2px 8px}.backup-banner{display:flex;flex-direction:column;gap:10px;margin:8px 0 12px;background:#2dd4a714;border:1px solid rgba(45,212,167,.3);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.6}.backup-banner .banner-btns{display:flex;gap:8px}.backup-banner button{border-radius:10px;padding:6px 14px;font-size:13px;font-weight:700;background:none;border:1px solid var(--line);color:var(--muted)}.backup-banner button.primary{background:var(--mint);border-color:var(--mint);color:#06301f}.sort-bar{display:flex;gap:6px;margin:12px 0 2px}.sort-bar button{flex:1;background:none;border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:6px 0;font-size:12.5px}.sort-bar button.on{background:#2dd4a71f;border-color:var(--mint);color:var(--mint);font-weight:700}.empty-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.empty-btn{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:14px;padding:16px;font-size:15px;font-weight:700}.empty-btn:active{border-color:var(--mint)}.batch-form{display:flex;flex-direction:column;gap:10px;margin-top:16px}.batch-form h3{font-size:17px}.batch-row{display:grid;grid-template-columns:64px 1fr 72px 84px 28px;gap:6px;align-items:start}.batch-row select,.batch-row input{width:100%;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:9px 8px;font-size:14px}.batch-row .suggest{position:relative}.batch-row .row-del{background:none;border:none;color:var(--muted);font-size:15px;padding:10px 4px}.row-add{background:none;border:1px dashed var(--line);color:var(--mint);border-radius:10px;padding:9px;font-size:13.5px}.debt-section{margin-top:20px}.debt-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.debt-head h3{font-size:15px;color:var(--muted);font-weight:700}.debt-add{background:none;border:1px dashed var(--line);color:var(--mint);border-radius:10px;padding:5px 12px;font-size:12.5px}.debt-list{display:flex;flex-direction:column;gap:8px}.debt-card{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.debt-main{display:flex;flex-direction:column;gap:2px}.debt-name{display:flex;align-items:center;gap:8px}.paid-tag{font-size:11px;color:var(--up);background:#4ade801f;border-radius:999px;padding:1px 8px}.debt-remaining{font-size:17px;font-weight:800;color:var(--down)}.debt-btns{display:flex;gap:6px;flex-shrink:0}.debt-btns button{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:4px 10px;font-size:12px}.debt-btns button.danger{color:var(--down)}.debt-line{font-size:12px;color:var(--muted);margin-top:2px}.lvl-badge{margin-left:8px;font-size:11px;font-weight:700;color:var(--mint);border:1px solid rgba(45,212,167,.4);border-radius:999px;padding:1px 8px}.ring-quote{position:absolute;top:22%;right:22%;bottom:22%;left:22%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12.5px;line-height:1.8;color:#e6edf7d1;pointer-events:none;z-index:2}.ring-center{flex-direction:column;gap:8px}.ring-mover{display:flex;flex-direction:column;gap:3px}.ring-mover .mover-label{font-size:11px;color:var(--muted);letter-spacing:1px}.ring-mover b{font-size:16px;font-weight:800}.ring-mover .mover-pct{font-size:20px;font-weight:800}.center-quote{font-size:12px;line-height:1.7}.up-text{color:var(--up);text-shadow:0 0 14px rgba(74,222,128,.45)}.down-text{color:var(--down);text-shadow:0 0 14px rgba(248,113,113,.45)}.ring-locked{font-size:14px;font-weight:700;color:var(--muted);letter-spacing:1px}.fortune-btn{pointer-events:auto;background:#2dd4a71a;border:1px solid rgba(45,212,167,.35);color:var(--mint);border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700}.fortune-line{font-size:14px;font-weight:800}.fortune-line.good{color:var(--up);text-shadow:0 0 12px rgba(74,222,128,.5)}.fortune-line.bad{color:var(--down);text-shadow:0 0 12px rgba(248,113,113,.5)}.fortune-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;animation:fxflash 1.1s ease-out both}.fortune-fx.good{background:radial-gradient(circle,#4ade8038,#4ade8014)}.fortune-fx.bad{background:radial-gradient(circle,#f871713d,#f8717117)}@keyframes fxflash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.overview.shake-good,.overview.shake-bad{animation:fxshake .55s cubic-bezier(.36,.07,.19,.97) both}@keyframes fxshake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.ring-wrap.fast .ring-light{animation:ringspin .85s cubic-bezier(.3,.1,.3,1) infinite}.ring-style-btn{position:absolute;right:14px;bottom:14px;z-index:4;background:#131e33cc;border:1px solid var(--line);border-radius:12px;padding:6px 10px;font-size:16px}.ring-style-dialog{max-height:88vh;overflow-y:auto}.style-part{margin-top:12px;display:flex;flex-direction:column;gap:8px}.style-part h4{font-size:13.5px;color:var(--muted);font-weight:700}.swatch-row{display:flex;gap:10px}.swatch{width:34px;height:34px;border-radius:50%;border:2px solid transparent}.swatch.on{border-color:#fff;box-shadow:0 0 0 2px var(--line)}.fx-row{display:flex;gap:8px}.fx-pill{flex:1;background:none;border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:7px 0;font-size:12.5px}.fx-pill.on{background:#2dd4a71f;border-color:var(--mint);color:var(--mint);font-weight:700}.ring-style-dialog .primary{margin-top:14px;width:100%}.locked-view{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:70px;text-align:center}.locked-view .lock-icon{font-size:44px}.locked-view b{font-size:18px;color:var(--mint)}.quote-view{margin-top:16px;display:flex;flex-direction:column;gap:10px}.quote-view h3{font-size:17px}.quote-view .quote-library{margin-left:18px}.games{margin-top:16px;display:flex;flex-direction:column;gap:12px}.games h3{font-size:17px}.game-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}.game-card b{font-size:15px}.game-card .primary{align-self:flex-start;padding:8px 22px}.game-flow{margin-top:16px;display:flex;flex-direction:column;gap:12px}.game-flow h3{font-size:17px}.game-flow p{font-size:14px;line-height:1.7}.mode-btn{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:14px;padding:16px;font-size:15px;font-weight:700}.mode-btn:active{border-color:var(--mint)}.pick-list{display:flex;flex-direction:column;gap:8px}.pick-row{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 14px}.pick-row.on{border-color:var(--mint)}.duel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:20px}.duel-head{text-align:center;font-size:17px;font-weight:800;color:#fff;display:flex;flex-direction:column;gap:6px}.duel-arena{display:flex;align-items:center;gap:14px;width:100%;max-width:420px;justify-content:center}.duel-card{flex:1;max-width:160px;min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;background:#0d1626;border:1.5px solid rgba(45,212,167,.45);border-radius:18px;padding:18px 10px;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 0 22px #2dd4a71f}.duel-card b{font-size:16px}.duel-card .sym{font-size:12px;color:var(--muted)}.duel-card.out.left{animation:outleft .45s ease-in forwards}.duel-card.out.right{animation:outright .45s ease-in forwards}@keyframes outleft{to{transform:translate(-140%) rotate(-14deg);opacity:0}}@keyframes outright{to{transform:translate(140%) rotate(14deg);opacity:0}}.vs{font-size:15px;font-weight:800;color:var(--mint);text-shadow:0 0 14px rgba(45,212,167,.8)}.duel-actions{display:flex;gap:12px}.duel-actions button{background:none;border:1px solid #2A3A57;color:#c6d3e8;border-radius:12px;padding:9px 16px;font-size:13.5px}.dice-btn{background:#2dd4a71f;border:1px solid rgba(45,212,167,.4);color:var(--mint);border-radius:999px;padding:9px 22px;font-size:13.5px;font-weight:700}.duel-overlay .link{color:var(--muted);background:none;border:none;font-size:13px}.duel-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#fff;animation:duelflash .35s ease-out both;pointer-events:none}@keyframes duelflash{0%{opacity:0}20%{opacity:1}to{opacity:0}}.duel-winner{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;max-width:320px}.winner-name{font-size:30px;font-weight:900;color:#fff;text-shadow:0 0 30px rgba(45,212,167,.9),0 0 60px rgba(45,212,167,.4);animation:winnerin .6s cubic-bezier(.2,.9,.3,1.4) both}@keyframes winnerin{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.duel-winner .primary{margin-top:8px;padding:9px 26px}.dev-links{display:flex;gap:10px;margin-top:4px}.dev-link{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;color:var(--text);padding:10px 4px;border:1px solid var(--line);border-radius:14px;background:#ffffff05}.dev-link:active{border-color:var(--mint)}.sns-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center}.sns-icon img{width:24px;height:24px}.sns-ig{background:radial-gradient(circle at 30% 110%,#feda75,#fa7e1e 28%,#d62976,#962fbf,#4f5bd5)}.sns-threads{background:#000;border:1px solid #2A3A57}.sns-line{background:#06c755}.dev-label{font-size:12px;color:var(--muted)}.game-pick{cursor:pointer;color:var(--text);font-family:inherit;text-align:left}.game-pick:active{border-color:var(--mint)}.locked-game{opacity:.55}.dh-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center}.dh-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}.dh-exit{position:absolute;top:14px;right:14px;z-index:2;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;padding:4px 12px;font-size:15px}.dh-over{gap:10px;padding:24px;text-align:center}.dh-time{font-size:44px;font-weight:900;color:#fff;text-shadow:0 0 26px rgba(45,212,167,.8)}.dh-verdict{font-size:19px;font-weight:800;color:var(--mint);text-wrap:balance;animation:winnerin .6s cubic-bezier(.2,.9,.3,1.4) both}.dh-over .primary{margin-top:8px;padding:10px 28px}.lucky-hud{position:absolute;top:16px;left:0;right:0;text-align:center;z-index:2;color:#fff;font-weight:800;font-size:14px;pointer-events:none}.lucky-draw-btn{position:absolute;bottom:9%;left:50%;transform:translate(-50%);z-index:2;padding:12px 34px;font-size:16px}.lucky-reveal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#000000d1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;animation:lucky-flash .45s ease-out}@keyframes lucky-flash{0%{background:#ffffffe6}to{background:#000000d1}}.bless-list{display:flex;flex-direction:column;gap:10px}.bless-card{position:relative;display:flex;align-items:center;gap:10px;background:var(--card);border:1.5px solid var(--mint);border-radius:14px;padding:14px 18px;animation:bless-glow 1.6s ease-in-out infinite}.lucky-reveal .bless-card{padding:20px 30px;font-size:18px}.bless-spark{animation:bless-spin 1.6s ease-in-out infinite}.bless-tag{margin-left:auto;font-size:12px;font-weight:800;color:#06301f;background:var(--mint);border-radius:999px;padding:3px 10px}@keyframes bless-glow{0%,to{box-shadow:0 0 6px #2dd4a759}50%{box-shadow:0 0 22px #2dd4a7d9}}@keyframes bless-spin{0%,to{transform:scale(1)}50%{transform:scale(1.35) rotate(18deg)}}.hint,.disclaimer-list li,.guide-list li span,.game-flow p,.quote-library li span{text-wrap:pretty}.ring-quote,.center-quote,.ring-locked,.empty,.loading,.disclaimer,.locked-view p,.locked-view .hint,.duel-head,.duel-head .hint,.duel-winner .hint,.quiz-disclaimer,.backup-banner span,.content-dialog>.hint,.quote-view>.hint,.scan-view>.hint,.settle-msg{text-wrap:balance}.quiz-disclaimer{text-align:center}.quiz-card{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.xp-head{display:flex;justify-content:space-between;align-items:center}.xp-head b{color:var(--mint);font-size:14px}.xp-bar{height:6px;border-radius:999px;background:#ffffff0f;overflow:hidden}.xp-bar i{display:block;height:100%;background:linear-gradient(90deg,#1FA98C,var(--mint));border-radius:999px;transition:width .5s ease}.task-row{font-size:13px;color:var(--muted)}.quiz-body{display:flex;flex-direction:column;gap:8px}.quiz-q{font-size:14px;font-weight:700;line-height:1.6}.quiz-q .hint{font-weight:400;margin-left:6px}.quiz-options{display:flex;flex-direction:column;gap:8px}.quiz-options button{text-align:left;background:#ffffff0a;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:11px 14px;font-size:13.5px;line-height:1.5}.quiz-options button:active{border-color:var(--mint)}.quiz-result{font-size:14px;font-weight:800;position:relative}.quiz-result.up{color:var(--up)}.xp-pop{display:inline-block;margin-left:8px;color:var(--mint);font-weight:800;font-size:15px;animation:xppop 1.4s cubic-bezier(.2,.7,.3,1) both;text-shadow:0 0 12px rgba(45,212,167,.6)}@keyframes xppop{0%{opacity:0;transform:translateY(6px) scale(.7)}25%{opacity:1;transform:translateY(-2px) scale(1.25)}55%{transform:translateY(-6px) scale(1)}to{opacity:0;transform:translateY(-16px) scale(.95)}}.quiz-next{align-self:flex-start;background:none;border:1px solid var(--line);color:var(--mint);border-radius:10px;padding:6px 14px;font-size:13px}.share-btn{background:#2dd4a71a;border:1px solid rgba(45,212,167,.35);color:var(--mint);border-radius:12px;padding:10px;font-size:13.5px;font-weight:700}.share-btn:disabled{opacity:.55}.follow-row{display:flex;gap:8px}.follow-btn{flex:1;font-size:12.5px;padding:9px 4px}.level-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:8px}.level-list li{display:flex;flex-direction:column;gap:2px;opacity:.55}.level-list li.unlocked{opacity:1}.level-list li b{font-size:13.5px}.level-list li.unlocked b{color:var(--mint)}.library-btn{align-self:flex-start;margin-top:10px;background:none;border:1px solid var(--line);color:var(--mint);border-radius:10px;padding:7px 14px;font-size:13px}.quote-library{margin:10px 0 0 18px;display:flex;flex-direction:column;gap:10px}.quote-library li{display:flex;flex-direction:column;gap:2px}.quote-library li b{font-size:13.5px}.content-btn{align-self:flex-start;margin-top:6px;background:#2dd4a71a;border:1px solid rgba(45,212,167,.35);color:var(--mint);border-radius:10px;padding:6px 14px;font-size:12.5px;font-weight:700}.content-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;display:flex;flex-direction:column;overflow:hidden;padding:12px 12px 8px}.content-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;flex-shrink:0}.content-head h3{font-size:15.5px}.content-tools{display:flex;gap:6px;align-items:center}.content-tools button,.content-tools .open-tab{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:3px 10px;font-size:13px;text-decoration:none;white-space:nowrap}.content-tools .open-tab{color:var(--mint);border-color:#2dd4a766}.content-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px}.content-img{width:100%;display:block}.content-img.zoomed{width:260%;max-width:none}.deck-wrap{flex:1;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.content-frame{border:none;background:#fff;width:100%;height:100%}.content-note{flex-shrink:0;margin-top:8px;font-size:10.5px;line-height:1.55}.ring-hero{position:relative;min-height:470px;overflow:hidden;border-radius:20px;background:radial-gradient(120% 60% at 50% 0%,#0f1d38,#0b1220 55%,#0b1220)}.stars{position:absolute;top:0;right:0;bottom:0;left:0}.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.5;animation:twk 2.8s infinite}@keyframes twk{50%{opacity:.1}}.hero-text{position:relative;z-index:3;padding:18px 18px 0;display:flex;flex-direction:column;gap:4px}.hero-text .label{font-size:12px;color:var(--muted)}.hero-text .value{font-size:30px;font-weight:800;letter-spacing:-.5px}.pill{font-weight:700;font-size:12px;padding:2px 10px;border-radius:999px;width:fit-content}.pill.up{background:#16a34a29;color:var(--up)}.pill.down{background:#dc262629;color:var(--down)}.ring-wrap{position:absolute;left:50%;top:150px;margin-left:-105px;width:210px;height:210px;touch-action:manipulation;--c-ticks: 45,212,167;--c-base: 45,212,167;--c-light: 45,212,167;--c-pulse: 45,212,167}.ring-ticks{position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(var(--c-ticks),.45) 0deg .8deg,transparent .8deg 6deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 7px));mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 7px))}.ring-base{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(var(--c-base),.16)}.ring-light{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 290deg,rgba(var(--c-light),.12) 310deg,rgba(var(--c-light),.85) 348deg,#F4FFFC 359deg,transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));filter:drop-shadow(0 0 5px rgba(var(--c-light),.7));animation:ringspin 7s linear infinite}@keyframes ringspin{to{transform:rotate(360deg)}}.ring-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid rgba(var(--c-pulse),.55);animation:ringpulse 3.2s ease-out infinite;pointer-events:none}.ring-pulse.p2{animation-delay:1.6s}@keyframes ringpulse{0%{transform:scale(.97);opacity:.6}70%{opacity:.15}to{transform:scale(1.42);opacity:0}}.ring-pulse.tap{animation:ringtap 1.15s cubic-bezier(.2,.7,.35,1) forwards;border-color:rgba(var(--c-pulse),.85);border-width:2px}@keyframes ringtap{0%{transform:scale(.92);opacity:.95}to{transform:scale(2.05);opacity:0}}.ring-core{position:absolute;top:24%;right:24%;bottom:24%;left:24%;border-radius:50%;background:radial-gradient(circle,rgba(var(--c-base),.09),transparent 72%);animation:corebreathe 5s ease-in-out infinite;pointer-events:none}.fx-ticks-blink .ring-ticks{animation:ticksblink 2.4s ease-in-out infinite}@keyframes ticksblink{50%{opacity:.3}}.fx-ticks-spin .ring-ticks{animation:ringspin 48s linear infinite}.fx-base-breathe .ring-base{animation:basebreathe 3.6s ease-in-out infinite}@keyframes basebreathe{50%{border-color:rgba(var(--c-base),.55);box-shadow:0 0 16px rgba(var(--c-base),.25)}}.fx-base-glow .ring-base{border-color:rgba(var(--c-base),.45);box-shadow:0 0 26px rgba(var(--c-base),.35),inset 0 0 20px rgba(var(--c-base),.15)}.fx-light-swift .ring-light{animation-duration:2.8s}.fx-light-reverse .ring-light{animation-direction:reverse}.fx-pulse-calm .ring-pulse:not(.tap){animation-duration:5.4s}.fx-pulse-calm .ring-pulse.p2{animation-delay:2.7s}.fx-pulse-double .ring-pulse:not(.tap){animation-duration:1.7s}.fx-pulse-double .ring-pulse.p2{animation-delay:.85s}@keyframes corebreathe{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.ring-light,.ring-pulse,.ring-core,.stars i{animation:none}}.alloc-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 16px;margin-top:12px}.legend{font-size:12px;color:var(--muted);line-height:1.8}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}.asset-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.asset-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chip{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-weight:800;font-size:12px;flex-shrink:0;background:#2dd4a724;color:var(--mint)}.asset-card .mid{flex:1;min-width:0}.asset-card .nm{font-size:14px}.asset-card .qy{font-size:11px;color:var(--muted);margin:2px 0 6px}.asset-card .ops{display:flex;gap:8px}.asset-card .ops button{font-size:11px;padding:3px 10px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--muted)}.asset-card .ops .settle{color:var(--mint);border-color:#2dd4a773;background:#2dd4a714}.asset-card .rt{text-align:right}.asset-card .px{font-size:14px;font-weight:600;margin-bottom:4px}.manual-input{width:100%;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.manual-input input{flex:1}.history .summary{padding:16px 4px 8px;display:flex;flex-direction:column;gap:4px}.summary .label{font-size:12px;color:var(--muted)}.summary .value{font-size:26px;font-weight:800}.value.up,.pnl.up{color:var(--up)}.value.down,.pnl.down{color:var(--down)}.pnl-chart{width:100%;background:var(--card);border:1px solid var(--line);border-radius:16px;margin:8px 0}.history-card .date{font-size:11px;color:var(--muted)}.asset-head{display:flex;justify-content:space-between;align-items:center;width:100%}.asset-body{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted);width:100%}.add-form{display:flex;flex-direction:column;gap:12px;padding:16px 4px}.add-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.add-form input,.add-form select,.dialog input{background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:10px 12px;font-size:15px}.add-form input:focus,.add-form select:focus,.dialog input:focus{outline:1px solid var(--mint)}button.primary{background:var(--mint);color:#062018;border:none;border-radius:12px;padding:12px;font-size:15px;font-weight:700}button.primary:disabled{opacity:.4;cursor:not-allowed}.live-btn{background:#2dd4a71a;color:var(--mint);border:1px dashed rgba(45,212,167,.5);border-radius:10px;padding:9px;font-size:13px}.suggest{position:relative;display:flex;flex-direction:column}.suggest-list{position:absolute;top:100%;left:0;right:0;z-index:10;list-style:none;background:#0d1626;border:1px solid var(--line);border-radius:10px;max-height:260px;overflow-y:auto}.suggest-list button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:9px 12px;font-size:13px}.suggest-list button:hover{background:#2dd4a71a}.suggest-list b{color:var(--mint);font-family:Inter,sans-serif}.fab{position:fixed;right:calc(50% - 244px);bottom:74px;width:54px;height:54px;border-radius:50%;background:var(--mint);color:#062018;font-size:28px;font-weight:700;border:none;box-shadow:0 8px 24px #2dd4a759;z-index:20}@media (max-width: 560px){.fab{right:18px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:20;background:#0d1626;border-top:1px solid var(--line);max-width:520px;margin:0 auto}.bottom-nav button{flex:1;background:none;border:none;color:var(--muted);padding:13px 0 17px;font-size:13px}.bottom-nav button.on{color:var(--mint);font-weight:700}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#03070eb3;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}.dialog h3{font-size:16px}.dialog label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.dialog-actions{display:flex;gap:10px}.dialog-actions button{flex:1;padding:11px;border-radius:12px;border:1px solid var(--line);background:none;color:var(--text);font-size:14px}.dialog-actions .primary{border:none}.link.danger{background:none;border:none;color:var(--down);font-size:12px;text-decoration:underline}.rocket-overlay,.settle-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#05070e;display:flex;align-items:center;justify-content:center}.settle-overlay{background:#05070ee0}.rocket-video{width:100%;max-width:520px;height:100%;object-fit:contain}.settle-video{width:100%;max-width:520px;height:100%;object-fit:contain;mix-blend-mode:screen}.rocket-video,.settle-video{will-change:transform;transform:translateZ(0);backface-visibility:hidden}@supports (-webkit-touch-callout: none){.settle-video{mix-blend-mode:normal}.settle-overlay{background:#000}}.skip-hint{position:absolute;bottom:28px;width:100%;text-align:center;color:var(--muted);font-size:12px}.settle-msg{position:absolute;top:18%;width:100%;text-align:center;font-size:26px;font-weight:900}.settle-msg.up{color:var(--up);text-shadow:0 4px 24px rgba(74,222,128,.4)}.settle-msg.down{color:var(--down);text-shadow:0 4px 24px rgba(248,113,113,.4)}.settle-overlay.shake{animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px,4px)}40%{transform:translate(7px,-5px)}60%{transform:translate(-6px,3px)}80%{transform:translate(5px,-2px)}}.more{display:flex;flex-direction:column;gap:12px;padding:16px 0}.more-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}.more-card h3{font-size:14px;margin-bottom:8px}.switch-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.row-btns{display:flex;gap:10px;margin-top:8px}.row-btns button,.import-btn{border:1px solid var(--line);background:none;color:var(--text);border-radius:10px;padding:9px 14px;font-size:13px;cursor:pointer}.scan-entry{width:100%;margin-top:16px;background:#2dd4a71a;color:var(--mint);border:1px dashed rgba(45,212,167,.5);border-radius:12px;padding:12px;font-size:14px}.scan-view{display:flex;flex-direction:column;gap:12px;padding:16px 4px}.scan-view h3{font-size:16px}.scan-pick{display:block;text-align:center;background:var(--mint);color:#062018;border-radius:12px;padding:12px;font-size:15px;font-weight:700;cursor:pointer}.scan-error{color:var(--down);font-size:13px}.scan-rows{display:flex;flex-direction:column;gap:8px}.scan-row{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}.scan-row.warn{border-color:#f59e0b99}.scan-row .mkt{font-family:Inter,sans-serif;font-size:10px;font-weight:800;color:var(--mint);background:#2dd4a71f;border-radius:6px;padding:2px 6px}.scan-row .mid{flex:1;font-size:13px}.scan-row .qy{color:var(--muted);font-size:12px}.warn-tag{color:#f59e0b;font-size:11px}.link{background:none;border:none;color:var(--muted);font-size:13px;text-decoration:underline}.disclaimer-modal .dialog{max-height:85vh;overflow-y:auto}.disclaimer-list{padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--muted);line-height:1.7}.guide-list{list-style:none;display:flex;flex-direction:column;gap:10px}.guide-list li{display:flex;flex-direction:column;gap:2px;font-size:13px}.guide-list .hint{line-height:1.6}.cur-toggle{margin-left:8px;font-family:Inter,sans-serif;font-size:10px;font-weight:700;color:var(--mint);background:#2dd4a71a;border:1px solid rgba(45,212,167,.4);border-radius:999px;padding:2px 8px}.head-right{display:inline-flex;align-items:center;gap:8px}.del-record{font-size:11px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:8px;padding:2px 8px}.del-record:hover{color:var(--down);border-color:#dc262680}.donate-row{display:flex;gap:12px;align-items:center;margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:10px}.donate-qr{width:84px;height:84px;border-radius:8px;background:#fff;flex-shrink:0}.donate-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.donate-label{font-size:14px}.donate-net{margin-left:8px;font-size:11px;color:var(--mint);background:#2dd4a71f;border-radius:6px;padding:1px 6px}.donate-addr{font-size:11px;color:var(--muted);word-break:break-all}.donate-copy{align-self:flex-start;font-size:12px;color:var(--mint);background:#2dd4a714;border:1px solid rgba(45,212,167,.45);border-radius:8px;padding:4px 10px}.empty,.loading{text-align:center;color:var(--muted);padding:24px 0;font-size:14px}.hint{font-size:12px;color:var(--muted)}.disclaimer{font-size:11px;color:#5a6b85;text-align:center;padding:14px 20px 90px}
