:root{--bg:#06080c;--panel:#0d1117;--panel-2:#11161f;--border:#1b2230;--border-hi:#2a3550;--text:#eaecef;--muted:#7d8aa0;--green:#0ecb81;--red:#f6465d;--amber:#f0b90b;--blue:#3b82f6;--radius:10px;--mono:"IBM Plex Mono","SF Mono",ui-monospace,monospace;--sans:"IBM Plex Sans Thai",system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{background:radial-gradient(1200px 500px at 75% -10%,rgba(14,203,129,.05),transparent 60%),radial-gradient(900px 400px at 10% 110%,rgba(246,70,93,.04),transparent 60%),var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#222c40;border-radius:4px}::-webkit-scrollbar-track{background:transparent}.header{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;padding:10px 18px;background:rgba(6,8,12,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(14,203,129,.5),transparent)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:.4px;font-family:var(--mono)}.brand .logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#0ecb81,#0a6e4a);box-shadow:0 0 14px rgba(14,203,129,.35);display:grid;place-items:center;font-size:16px}.brand small{display:block;font-size:10.5px;font-weight:500;color:var(--muted);font-family:var(--sans);letter-spacing:.2px}.header .spacer{flex:1 1}.updated{font-size:11px;text-align:right}.contact,.updated{color:var(--muted);font-family:var(--mono)}.contact{font-size:11.5px;padding:7px 12px}.contact:hover{color:var(--green);border-color:rgba(14,203,129,.5)}.contact.copied{color:var(--green);border-color:rgba(14,203,129,.6);box-shadow:0 0 10px rgba(14,203,129,.25)}.btn{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s}.btn:hover{border-color:var(--green)}.btn.primary{background:rgba(14,203,129,.12);border-color:rgba(14,203,129,.5);color:var(--green)}.btn.primary:hover{box-shadow:0 0 12px rgba(14,203,129,.25)}.layout{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:14px;gap:14px;padding:14px;max-width:1500px;margin:0 auto}.main{display:flex;flex-direction:column;gap:14px;min-width:0}.card{background:linear-gradient(180deg,#0e131b,#0b0f16);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card h3{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:12px;font-family:var(--mono)}.watchlist{position:-webkit-sticky;position:sticky;top:64px;align-self:start;max-height:calc(100vh - 82px);overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px}.watchlist .search{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 12px;font-size:13.5px;font-family:inherit}.watchlist .search:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 2px rgba(14,203,129,.12)}.group-title{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;margin:10px 4px 2px;font-family:var(--mono)}.asset-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-left-width:2px;border-radius:8px;padding:8px 10px;color:var(--text);transition:background .12s}.asset-row.active,.asset-row:hover{background:var(--panel-2)}.asset-row.active{border-color:var(--border-hi);border-left:2px solid var(--green)}.asset-row .sym{font-weight:700;font-size:13px;font-family:var(--mono);letter-spacing:.3px}.asset-row .nm{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.asset-row .right{margin-left:auto;text-align:right}.asset-row .px{font-size:12.5px;font-weight:600}.asset-row .px,.chg{font-family:var(--mono)}.chg{font-size:11px;font-weight:700}.chg.up{color:var(--green)}.chg.down{color:var(--red)}.chg.flat{color:var(--muted)}.add-form{display:flex;gap:6px;margin-top:10px}.add-form input,.add-form select{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 8px;font-size:12.5px;font-family:inherit;min-width:0}.add-form input{flex:1 1}.add-form button{background:rgba(14,203,129,.15);color:var(--green);border:1px solid rgba(14,203,129,.5);border-radius:8px;padding:7px 12px;font-weight:800}.hint{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5}.chart-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin-bottom:10px}.chart-head .title{font-size:19px;font-weight:800;font-family:var(--mono);letter-spacing:.5px}.chart-head .sub{color:var(--muted);font-size:13px}.chart-head .price{font-size:19px}.badge,.chart-head .price{font-weight:800;font-family:var(--mono)}.badge{display:inline-block;font-size:10px;padding:3px 9px;border-radius:4px;letter-spacing:1px}.badge.demo{background:rgba(240,185,11,.12);color:var(--amber);border:1px solid rgba(240,185,11,.45)}.badge.live{background:rgba(14,203,129,.1);color:var(--green);border:1px solid rgba(14,203,129,.4);animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 rgba(14,203,129,0)}50%{box-shadow:0 0 10px rgba(14,203,129,.35)}}.intervals{display:flex;gap:4px;margin-left:auto;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:3px}.intervals button{background:transparent;border:none;color:var(--muted);border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;font-family:var(--mono)}.intervals button.active{background:var(--amber);color:#0a0c10}.chart-box{width:100%;height:420px;position:relative}.trend-badge{position:absolute;top:10px;left:10px;z-index:5;padding:5px 13px;border-radius:4px;font-size:12.5px;font-weight:800;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:var(--mono)}.trend-badge.up{color:var(--green);background:rgba(14,203,129,.1);border:1px solid rgba(14,203,129,.45);box-shadow:0 0 12px rgba(14,203,129,.15)}.trend-badge.down{color:var(--red);background:rgba(246,70,93,.1);border:1px solid rgba(246,70,93,.45);box-shadow:0 0 12px rgba(246,70,93,.15)}.trend-badge.side{color:var(--amber);background:rgba(240,185,11,.1);border:1px solid rgba(240,185,11,.45)}.chart-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:11px;color:var(--muted)}.chart-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.gauge-label{font-size:15px;font-weight:800}.tone-buy{color:var(--green)}.tone-sell{color:var(--red)}.tone-neutral{color:var(--amber)}.gauge-score{font-size:11.5px;color:var(--muted);font-family:var(--mono)}.parts{margin-top:12px;display:flex;flex-direction:column;gap:7px}.part{display:flex;align-items:center;gap:8px;font-size:12.5px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.part .k{font-weight:700}.part .k,.part .v{font-family:var(--mono);font-size:11.5px}.part .v{color:var(--muted)}.part .s{margin-left:auto;font-weight:800;font-family:var(--mono)}.part-note{font-size:11px;color:var(--muted);width:100%}.plan{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:12px}.plan .cell{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px;text-align:center}.plan .cell .t{font-size:11px;color:var(--muted);margin-bottom:4px}.plan .cell .v{font-size:13.5px;font-weight:800;font-family:var(--mono)}.trend-big{font-size:22px;font-weight:800;text-align:center;margin:10px 0 4px}.trend-desc{font-size:12.5px;color:var(--muted);text-align:center;line-height:1.6}.news-list{display:flex;flex-direction:column}.news-item{display:flex;gap:12px;align-items:flex-start;padding:12px 4px;border-bottom:1px solid var(--border)}.news-item:last-child{border-bottom:none}.senti{flex-shrink:0;width:34px;height:34px;border-radius:6px;display:grid;place-items:center;font-size:15px;font-weight:800}.senti.pos{background:rgba(14,203,129,.12);color:var(--green)}.senti.neg{background:rgba(246,70,93,.12);color:var(--red)}.senti.neu{background:rgba(125,138,160,.12);color:var(--muted)}.news-item .title{font-size:13.5px;font-weight:600;line-height:1.45}.news-item .title:hover{color:var(--green)}.news-item .meta{font-size:11.5px;color:var(--muted);margin-top:3px}.empty{font-size:13px;padding:24px 0}.disclaimer,.empty{color:var(--muted);text-align:center}.disclaimer{font-size:11.5px;line-height:1.7;padding:8px 18px 26px;max-width:860px;margin:0 auto}.loading-bar{height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent);background-size:200% 100%;animation:slide 1.1s linear infinite;border-radius:2px}@keyframes slide{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:980px){.layout{grid-template-columns:1fr;padding:10px;gap:12px}.watchlist{position:static;max-height:300px;order:0}.signal-grid{grid-template-columns:1fr}.chart-box{height:320px}.chart-head .price,.chart-head .title{font-size:16px}.intervals{margin-left:0;width:100%}.intervals button{flex:1 1}.contact span,.updated{display:none}}