@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap);#root,body,html{min-height:100%}button,input{font:inherit}:root{--bg:#070c14;--bg-accent:#0f1c2b;--surface:#111a26;--surface-soft:#182635;--surface-elevated:#213246;--ink:#ebf2f9;--ink-soft:#a6b8ca;--line:#2b3f52;--brand:#f59e0b;--brand-strong:#d97706;--positive:#39d98a;--negative:#ff7070;--shadow-soft:0 18px 36px #00000052;--shadow-strong:0 26px 52px #00000073;--radius-lg:22px;--radius-md:14px;--radius-sm:10px;--max-content:1240px;--motion-fast:180ms;--motion-medium:280ms;--motion-slow:580ms}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 18%,#f59e0b2e,#0000 42%),radial-gradient(circle at 85% 22%,#3381ff26,#0000 40%),linear-gradient(180deg,#09111c,#070c14);color:#ebf2f9;color:var(--ink);color-scheme:dark;font-family:Space Grotesk,Segoe UI,sans-serif;margin:0}.app-shell,body{min-height:100vh}.app-main{margin:2.4rem auto 3rem;width:min(1240px,100% - 3rem);width:min(var(--max-content),100% - 3rem)}.topbar-wrap{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090f18db;border-bottom:1px solid #a6b8ca29;position:-webkit-sticky;position:sticky;top:0;z-index:80}.topbar{gap:1.5rem;justify-content:space-between;margin:0 auto;min-height:78px;width:min(1240px,100% - 3rem);width:min(var(--max-content),100% - 3rem)}.topbar,.topbar-brand{align-items:center;display:flex}.topbar-brand{gap:.85rem}.brand-mark{align-items:center;background:linear-gradient(145deg,#f59e0b,#d97706);border-radius:12px;box-shadow:0 12px 24px #d9770659;color:#fff;display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:.86rem;font-weight:500;height:42px;justify-content:center;width:42px}.brand-copy{display:flex;flex-direction:column;gap:.16rem}.brand-copy strong{font-size:1.05rem;letter-spacing:.01em}.brand-copy span{color:#a6b8ca;color:var(--ink-soft);font-size:.78rem}.topbar-actions{align-items:center;display:flex;gap:.9rem}.topbar-note,.topbar-user{color:#a6b8ca;color:var(--ink-soft);font-size:.88rem;margin:0}.topbar-user span{color:#ebf2f9;color:var(--ink);font-weight:600}.btn{border:0;border-radius:10px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;line-height:1;padding:.68rem 1rem;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.7}.btn.is-busy{padding-right:2.25rem;position:relative}.btn.is-busy:after{animation:spin .7s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fffffff2;content:"";height:12px;position:absolute;right:.9rem;top:50%;transform:translateY(-50%);width:12px}.btn-primary{background:linear-gradient(145deg,#f59e0b,#d97706);background:linear-gradient(145deg,var(--brand),var(--brand-strong));box-shadow:0 14px 24px #d977065c;color:#05120e}.btn-secondary{background:#182635;background:var(--surface-soft)}.btn-ghost,.btn-secondary{border:1px solid #2b3f52;border:1px solid var(--line);color:#ebf2f9;color:var(--ink)}.btn-ghost{background:#ffffff05}.app-loading{grid-gap:1rem;display:grid;gap:1rem;min-height:60vh;place-items:center;text-align:center}.app-loading-spinner{animation:spin .8s linear infinite;border:4px solid #f59e0b33;border-radius:50%;border-top:4px solid var(--brand);height:52px;width:52px}.app-loading-copy{color:#a6b8ca;color:var(--ink-soft);margin:0}.auth-stage{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:1.2fr minmax(320px,430px);min-height:calc(100vh - 210px)}.auth-stage-copy{max-width:560px}.auth-stage-kicker,.dashboard-kicker,.section-kicker{color:#d97706;color:var(--brand-strong);font-family:IBM Plex Mono,monospace;font-size:.73rem;letter-spacing:.16em;margin:0 0 .7rem;text-transform:uppercase}.auth-stage-copy h1{font-size:clamp(2rem,4vw,3rem);line-height:1.07;margin:0}.auth-stage-copy p{color:#a6b8ca;color:var(--ink-soft);font-size:1.02rem;line-height:1.62;margin:1rem 0 0}.auth-card{background:linear-gradient(170deg,#121d2b,#0f1723);border:1px solid #a6b8ca33;border-radius:22px;border-radius:var(--radius-lg);box-shadow:0 18px 36px #00000052;box-shadow:var(--shadow-soft);padding:clamp(1.4rem,3vw,1.9rem)}.auth-card-head h2{font-size:1.45rem;margin:0}.auth-card-head p{color:#a6b8ca;color:var(--ink-soft);font-size:.94rem;margin:.55rem 0 0}.auth-form{grid-gap:.9rem;display:grid;gap:.9rem;margin-top:1.2rem}.field-group{grid-gap:.45rem;display:grid;gap:.45rem}.field-group span{color:#a6b8ca;color:var(--ink-soft);font-size:.83rem}.field-group input,.search-field input{background:#111a26;background:var(--surface);border:1px solid #2b3f52;border:1px solid var(--line);border-radius:11px;color:#ebf2f9;color:var(--ink);font-family:inherit;font-size:.92rem;padding:.74rem .85rem;transition:border-color .18s ease,box-shadow .18s ease;width:100%}.field-group input:focus,.search-field input:focus{border-color:#f59e0b8c;box-shadow:0 0 0 3px #f59e0b24;outline:none}.auth-submit{margin-top:.2rem}.auth-message{font-size:.84rem;font-weight:500;margin:.95rem 0 0}.auth-message.is-success{color:#39d98a;color:var(--positive)}.auth-message.is-error{color:#ff7070;color:var(--negative)}.auth-switch{color:#a6b8ca;color:var(--ink-soft);font-size:.88rem;margin:1rem 0 0}.link-button{background:none;border:0;color:#d97706;color:var(--brand-strong);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.dashboard-shell{grid-gap:1.5rem;display:grid;gap:1.5rem}.enter-rise{animation:riseIn .58s cubic-bezier(.2,.8,.2,1) both;animation:riseIn var(--motion-slow) cubic-bezier(.2,.8,.2,1) both}.enter-rise.delay-1{animation-delay:.12s}.enter-rise.delay-2{animation-delay:.22s}.dashboard-hero{background:linear-gradient(130deg,#102031,#0f1a2a);border:1px solid #a6b8ca2e;border-radius:22px;border-radius:var(--radius-lg);box-shadow:0 18px 36px #00000052;box-shadow:var(--shadow-soft);padding:clamp(1.3rem,3vw,1.7rem)}.dashboard-hero h1{font-size:clamp(1.65rem,3vw,2.3rem);margin:0}.dashboard-subtitle{color:#a6b8ca;color:var(--ink-soft);margin:.55rem 0 0}.dashboard-layout{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) 360px}.dashboard-aside{position:-webkit-sticky;position:sticky;top:102px}.dashboard-mobile{grid-gap:.9rem;display:grid;gap:.9rem}.dashboard-tabs{align-items:center;background:#111a26d6;border:1px solid #2b3f52;border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:.4rem;padding:.32rem;width:-webkit-fit-content;width:fit-content}.dashboard-tab{background:#0000;border:0;border-radius:999px;color:#a6b8ca;color:var(--ink-soft);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:.52rem .85rem}.dashboard-tab.is-active{background:linear-gradient(145deg,#f59e0b,#d97706);background:linear-gradient(145deg,var(--brand),var(--brand-strong));color:#05120e}.market-section{grid-gap:1rem;display:grid;gap:1rem}.market-header{align-items:end;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#101925d1;border:1px solid #a6b8ca2e;border-radius:14px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem}.market-title-block h2{font-size:1.3rem;margin:0}.market-meta{color:#a6b8ca;color:var(--ink-soft);font-size:.84rem;margin:.4rem 0 0}.market-controls{align-items:center;display:flex;gap:.6rem}.search-field{width:min(310px,62vw)}.crypto-grid{grid-gap:.95rem;display:grid;gap:.95rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.coin-card{grid-gap:.8rem;animation:riseIn .58s cubic-bezier(.2,.8,.2,1) both;animation:riseIn var(--motion-slow) cubic-bezier(.2,.8,.2,1) both;animation-delay:.1s;animation-delay:calc(.1s + var(--stagger-index, 0)*44ms);background:linear-gradient(170deg,#121d2b,#0f1825);border:1px solid #a6b8ca29;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 12px 26px #00000042;display:grid;gap:.8rem;padding:1rem;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;transition:transform var(--motion-medium) ease,box-shadow var(--motion-medium) ease,border-color var(--motion-medium) ease}.coin-card:hover{border-color:#f59e0b75;box-shadow:0 26px 52px #00000073;box-shadow:var(--shadow-strong);transform:translateY(-3px)}.coin-header{align-items:flex-start;display:flex;gap:.8rem;justify-content:space-between}.coin-identity{align-items:center;display:flex;gap:.72rem;min-width:0}.coin-image{border:1px solid #a6b8ca33;border-radius:999px;height:43px;width:43px}.coin-identity h3{font-size:1.02rem;line-height:1.15;margin:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coin-identity p{font-size:.82rem;margin:.15rem 0 0}.coin-identity p,.coin-rank{color:#a6b8ca;color:var(--ink-soft)}.coin-rank{background:#213246;background:var(--surface-elevated);border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:.79rem;padding:.2rem .47rem}.coin-price-block{align-items:baseline;display:flex;gap:.8rem;justify-content:space-between}.coin-price{font-size:1.27rem;font-weight:700;margin:0}.coin-change{font-family:IBM Plex Mono,monospace;font-size:.84rem;font-weight:500;margin:0}.is-up{color:#39d98a;color:var(--positive)}.is-down{color:#ff7070;color:var(--negative)}.coin-stats{grid-gap:.4rem;display:grid;gap:.4rem;margin:0}.coin-stats div{display:flex;gap:.8rem;justify-content:space-between}.coin-stats dd,.coin-stats dt{font-size:.84rem;margin:0}.coin-stats dt{color:#a6b8ca;color:var(--ink-soft)}.coin-stats dd{font-family:IBM Plex Mono,monospace;font-weight:500}.coin-action{background:#182635;background:var(--surface-soft);border:1px solid #2b3f52;border:1px solid var(--line);color:#ebf2f9;color:var(--ink);width:100%}.coin-action.is-added{background:linear-gradient(145deg,#f59e0b,#d97706);background:linear-gradient(145deg,var(--brand),var(--brand-strong));border-color:#0000;color:#05120e}.coin-feedback{color:#a6b8ca;color:var(--ink-soft);font-size:.77rem;margin:-.1rem 0 0}.watchlist-panel{background:linear-gradient(165deg,#111b28,#0d1521);border:1px solid #a6b8ca29;border-radius:22px;border-radius:var(--radius-lg);box-shadow:0 18px 36px #00000052;box-shadow:var(--shadow-soft);padding:1rem}.watchlist-head{align-items:center;border-bottom:1px solid #2b3f52;border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.75rem}.watchlist-head h3{font-size:1.05rem;margin:0}.watchlist-count{align-items:center;background:#213246;background:var(--surface-elevated);border-radius:999px;color:#ebf2f9;color:var(--ink);display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:.78rem;height:30px;justify-content:center;min-width:30px;padding:0 .5rem}.watchlist-empty,.watchlist-empty-state{color:#a6b8ca;color:var(--ink-soft);font-size:.9rem;margin:1rem 0 0}.watchlist-empty-state p{margin:0}.watchlist-empty-state p+p{margin-top:.4rem}.watchlist-list{grid-gap:.58rem;display:grid;gap:.58rem;list-style:none;margin:1rem 0 0;padding:0}.watchlist-item{grid-gap:.5rem .7rem;align-items:center;animation:riseIn .58s cubic-bezier(.2,.8,.2,1) both;animation:riseIn var(--motion-slow) cubic-bezier(.2,.8,.2,1) both;animation-delay:60ms;animation-delay:calc(60ms + var(--stagger-index, 0)*60ms);background:#0f1825;border:1px solid #2b3f52;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);display:grid;gap:.5rem .7rem;grid-template-columns:minmax(0,1fr) auto;padding:.72rem}.watchlist-coin{align-items:center;display:flex;gap:.58rem;min-width:0}.watchlist-image{border:1px solid #a6b8ca33;border-radius:999px;height:30px;width:30px}.watchlist-name,.watchlist-symbol,.watchlist-value p{margin:0}.watchlist-name{font-size:.86rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-symbol{color:#a6b8ca;color:var(--ink-soft);font-size:.74rem;text-transform:uppercase}.watchlist-value{text-align:right}.watchlist-value p{font-family:IBM Plex Mono,monospace;font-size:.76rem}.watchlist-remove{background:#132133;border:1px solid #2b3f52;border:1px solid var(--line);border-radius:8px;color:#a6b8ca;color:var(--ink-soft);cursor:pointer;font-family:inherit;font-size:.75rem;padding:.35rem .5rem;transition:border-color .18s ease,color .18s ease,background-color .18s ease;transition:border-color var(--motion-fast) ease,color var(--motion-fast) ease,background-color var(--motion-fast) ease}.watchlist-remove:hover{background:#c5424214;border-color:#c5424273;color:#ff7070;color:var(--negative)}.status-card{grid-gap:.7rem;background:#111a26d6;border:1px solid #2b3f52;border:1px solid var(--line);border-radius:14px;border-radius:var(--radius-md);display:grid;gap:.7rem;justify-items:start;padding:1.1rem}.status-card p{color:#a6b8ca;color:var(--ink-soft);margin:0}.status-card.is-error p{color:#ff7070;color:var(--negative)}.scroll-top-rail{align-items:center;animation:railPulse 2.2s ease-in-out infinite;background:linear-gradient(145deg,#f59e0bf5,#d97706f5);border:1px solid #a6b8ca59;border-radius:14px;bottom:calc(.95rem + env(safe-area-inset-bottom));box-shadow:0 18px 36px #00000052;box-shadow:var(--shadow-soft);color:#05120e;cursor:pointer;display:inline-flex;flex-direction:row;height:48px;justify-content:center;padding:0;position:fixed;right:calc(.95rem + env(safe-area-inset-right));width:48px;z-index:95}.scroll-top-icon{animation:arrowLift 1.2s ease-in-out infinite;display:inline-block;height:17px;position:relative;width:15px}.scroll-top-icon:before{border-left:3px solid #05120e;border-top:3px solid #05120e;top:1px;transform:translateX(-50%) rotate(45deg);width:8px}.scroll-top-icon:after,.scroll-top-icon:before{content:"";height:8px;left:50%;position:absolute}.scroll-top-icon:after{background:#05120e;border-radius:4px;top:8px;transform:translateX(-50%);width:3px}.scroll-top-rail:hover{box-shadow:0 26px 52px #00000073;box-shadow:var(--shadow-strong)}.scroll-top-rail:hover .scroll-top-icon{animation-play-state:paused}.scroll-top-rail:focus-visible{box-shadow:0 0 0 3px #070c14db,0 0 0 5px #f59e0b8c;outline:none}.coin-card-skeleton,.watchlist-skeleton{overflow:hidden}.coin-card-skeleton:before,.watchlist-skeleton:before{animation:shimmer 1.35s infinite;background:linear-gradient(90deg,#0000,#ffffff1f,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}.coin-card-skeleton,.watchlist-skeleton{pointer-events:none;position:relative}.watchlist-skeleton{grid-template-columns:1fr}.skeleton-line{background:linear-gradient(90deg,#1a2a3b,#284058 50%,#1a2a3b);border-radius:999px;height:12px}.skeleton-line.is-wide{width:72%}.skeleton-line.is-mid{width:56%}.skeleton-line.is-small{width:38%}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{to{transform:translateX(100%)}}@keyframes riseIn{0%{filter:blur(4px);opacity:0;transform:translateY(20px)}to{filter:blur(0);opacity:1;transform:translateY(0)}}@keyframes arrowLift{0%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}@keyframes railPulse{0%,to{box-shadow:0 18px 36px #00000052;box-shadow:var(--shadow-soft)}50%{box-shadow:0 20px 34px #d977065c}}@media (max-width:1023px){.app-main,.topbar{width:min(1240px,100% - 2rem);width:min(var(--max-content),100% - 2rem)}.dashboard-layout{grid-template-columns:1fr}.dashboard-aside{position:static}.auth-stage{grid-template-columns:1fr;min-height:auto;padding-top:.6rem}.auth-stage-copy{max-width:100%}}@media (max-width:780px){.topbar{align-items:center;flex-wrap:nowrap;gap:.65rem;justify-content:space-between;min-height:auto;padding:.65rem 0}.topbar-brand{justify-content:flex-start;min-width:0;width:auto}.brand-mark{border-radius:10px;font-size:.78rem;height:36px;width:36px}.brand-copy strong{font-size:.96rem}.brand-copy span{display:none}.topbar-actions{gap:.55rem;justify-content:flex-end;width:auto}.topbar-note,.topbar-user{display:none}.auth-card,.dashboard-hero,.market-header,.watchlist-panel{border-radius:16px}.dashboard-hero{padding:1rem}.dashboard-kicker{font-size:.66rem;letter-spacing:.1em;margin-bottom:.45rem}.dashboard-hero h1{font-size:clamp(1.25rem,6vw,1.65rem);line-height:1.15}.dashboard-subtitle{font-size:.88rem;line-height:1.45;margin-top:.45rem}.market-controls{align-items:stretch;flex-direction:column;width:100%}.market-controls .btn,.search-field{width:100%}}@media (max-width:560px){.app-main,.topbar{width:calc(100% - 1.2rem)}.app-main{margin-top:1.25rem}.coin-card,.watchlist-item{padding:.75rem}.coin-identity h3{max-width:120px}.scroll-top-rail{border-radius:12px;bottom:calc(.85rem + env(safe-area-inset-bottom));height:44px;right:calc(.75rem + env(safe-area-inset-right));width:44px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.540abc68.css.map*/