:root{
  --ship-bg:#051513;
  --ship-bg2:#092522;
  --ship-ink:#092b26;
  --ship-text:#153e38;
  --ship-muted:#6c807c;
  --ship-line:rgba(15,82,69,.12);
  --ship-mint:#48f0be;
  --ship-emerald:#0eb982;
  --ship-deep:#06674f;
  --ship-cyan:#7cebdc;
  --ship-card:rgba(255,255,255,.82);
  --ship-shadow:0 28px 80px rgba(18,70,61,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.tethership-body{margin:0;min-height:100vh;color:var(--ship-ink);font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif;background:radial-gradient(circle at 12% 7%,rgba(58,236,182,.18),transparent 30rem),radial-gradient(circle at 87% 8%,rgba(108,222,233,.17),transparent 26rem),linear-gradient(135deg,#f0fff9 0%,#f8fbff 52%,#e9fff7 100%);overflow-x:hidden}
a{color:inherit}
button,input,select,textarea{font:inherit}
.ts-grid-bg{position:fixed;inset:0;z-index:-4;background-image:linear-gradient(rgba(7,115,89,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(7,115,89,.055) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(to bottom,#000,transparent 94%)}
.ts-orb{position:fixed;border-radius:999px;filter:blur(120px);pointer-events:none;z-index:-3;opacity:.72}.ts-orb.one{width:520px;height:520px;background:rgba(54,235,181,.24);top:-240px;right:-140px}.ts-orb.two{width:440px;height:440px;background:rgba(89,220,232,.2);bottom:1%;left:-190px}.ts-orb.three{width:340px;height:340px;background:rgba(59,130,246,.1);top:38%;right:10%}
.ts-wrap{width:min(1240px,100%);margin:0 auto;padding:0 24px}.ts-glass{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.92);box-shadow:var(--ship-shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.ts-darkglass{background:linear-gradient(145deg,rgba(6,28,26,.97),rgba(9,57,51,.92));border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px rgba(4,28,24,.28);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}

/* live market strip */
.ts-market-strip{height:38px;overflow:hidden;background:#061b19;color:#d9fff3;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:80}.ts-market-strip:before,.ts-market-strip:after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.ts-market-strip:before{left:0;background:linear-gradient(90deg,#061b19,transparent)}.ts-market-strip:after{right:0;background:linear-gradient(-90deg,#061b19,transparent)}.ts-market-track{height:100%;display:flex;align-items:center;gap:34px;width:max-content;animation:marketTicker 38s linear infinite;padding-left:24px}.ts-market-strip:hover .ts-market-track{animation-play-state:paused}.ts-market-tick{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px}.ts-market-tick b{font-size:12px;letter-spacing:.03em}.ts-market-tick .coin-dot{width:21px;height:21px;border-radius:8px;display:grid;place-items:center;background:rgba(72,240,190,.12);color:#5df5c8;font-size:10px}.tick-price{font-weight:800;color:#f5fffc}.tick-change,.up{color:#4df1b7!important}.tick-change.down,.down{color:#ff7f8e!important}@keyframes marketTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* navigation and brand */
.ts-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#082721;font-weight:950;letter-spacing:.045em;white-space:nowrap}.ts-logo img{width:48px;height:48px;filter:drop-shadow(0 12px 20px rgba(8,127,104,.24))}.ts-logo span{font-size:18px}.ts-nav{position:sticky;top:0;z-index:70;border-bottom:1px solid rgba(14,92,75,.09);background:rgba(247,255,251,.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.ts-nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.ts-nav-links{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:850;color:#506b66}.ts-nav-links a{display:flex;align-items:center;gap:7px;text-decoration:none;padding:10px 12px;border-radius:13px;transition:.2s}.ts-nav-links a:hover{color:#07785e;background:rgba(14,185,130,.08)}.ts-nav-actions{display:flex;align-items:center;gap:9px}.ts-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;text-decoration:none;cursor:pointer;border-radius:15px;font-weight:900;transition:.2s transform,.2s box-shadow,.2s background;padding:13px 18px;line-height:1.1}.ts-btn:hover{transform:translateY(-2px)}.ts-btn.primary{color:white;background:linear-gradient(135deg,#19dba0,#087d63);box-shadow:0 16px 34px rgba(14,185,130,.27)}.ts-btn.dark{color:white;background:linear-gradient(135deg,#12332f,#061816);box-shadow:0 16px 30px rgba(5,26,23,.2)}.ts-btn.ghost{color:#234d45;background:rgba(255,255,255,.68);border:1px solid rgba(12,94,75,.13)}.ts-btn.warn{color:#8a3b13;background:#fff2df;border:1px solid #fed8ad}.ts-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;border:1px solid transparent}.ts-pill.emerald{background:#d3fae9;color:#057755;border-color:#a9f0d1}.ts-pill.amber{background:#fff4cd;color:#a35b08;border-color:#ffe18c}.ts-pill.blue{background:#dcecff;color:#2455b8;border-color:#bed5ff}.ts-pill.rose{background:#ffe5e9;color:#b81943;border-color:#ffc4ce}.ts-pill.slate{background:#edf2f5;color:#53666f;border-color:#dbe4e8}

/* status and hero */
.ts-user-status-wrap{padding-top:16px}.ts-user-status{border-radius:22px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.ts-user-status-main{display:flex;align-items:center;gap:12px;color:#5d746f;font-size:13px;font-weight:700}.ts-hero{padding:66px 0 42px}.ts-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(400px,.86fr);gap:36px;align-items:center}.ts-kicker{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(230,255,246,.94);border:1px solid rgba(12,165,119,.2);color:#087a5f;font-size:12px;font-weight:950;letter-spacing:.04em}.ts-title{margin:22px 0 18px;font-size:clamp(48px,6vw,80px);line-height:.98;letter-spacing:-.07em;color:#082721}.ts-title .grad{background:linear-gradient(115deg,#058768,#17c88e,#09a6b8);-webkit-background-clip:text;background-clip:text;color:transparent}.ts-lead{font-size:17px;line-height:1.85;color:#617874;max-width:680px}.ts-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}.ts-live-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.ts-live-summary>div{padding:17px 18px;border-radius:22px;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.95);box-shadow:0 12px 34px rgba(23,84,72,.06)}.ts-live-summary span,.ts-live-summary small{display:block;color:#78908b;font-size:11px;font-weight:800}.ts-live-summary b{display:block;font-size:22px;color:#0a302a;margin:5px 0 2px}.ts-hero-visual{position:relative;border-radius:36px;padding:18px;overflow:hidden}.ts-hero-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,rgba(255,255,255,.18),transparent 32%)}.ts-hero-visual-head{display:flex;align-items:center;justify-content:space-between;padding:7px 9px 2px;font-size:11px;font-weight:950;letter-spacing:.09em;color:#5b746f}.live-dot{display:flex;align-items:center;gap:7px;color:#07835f}.live-dot i,.ts-live-source i{width:8px;height:8px;border-radius:50%;background:#17cf92;box-shadow:0 0 0 5px rgba(23,207,146,.13);animation:livePulse 1.8s infinite}@keyframes livePulse{50%{box-shadow:0 0 0 9px rgba(23,207,146,0)}}.ts-hero-visual img{display:block;width:100%;margin:4px auto -5px}.ts-hero-quote{position:relative;z-index:2;margin:0 8px 8px;border-radius:23px;background:#071d1a;color:white;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.ts-hero-quote small{display:block;color:rgba(255,255,255,.55);font-size:11px;margin-bottom:4px}.ts-hero-quote strong{font-size:24px;color:#58f0c5}.round-arrow{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#08271f;background:#5af2c8}.ts-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.ts-stat{padding:16px;border-radius:22px;background:rgba(255,255,255,.67);border:1px solid rgba(255,255,255,.85)}.ts-stat b{display:block;font-size:24px}.ts-stat span{font-size:12px;color:#71908b;font-weight:800}

/* portal sections */
.ts-portal-main{padding-bottom:40px}.ts-portal-section,.ts-portal-grid{margin:76px 0}.ts-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}.ts-section-heading h2{margin:5px 0 8px;font-size:clamp(30px,4vw,45px);line-height:1.1;letter-spacing:-.045em;color:#0a3029}.ts-section-heading p{margin:0;max-width:710px;color:#71847f;line-height:1.7}.ts-section-heading.centered{text-align:center;justify-content:center}.ts-section-heading.centered p{margin-inline:auto}.eyebrow{font-size:11px;font-weight:950;letter-spacing:.13em;color:#0a9871}.eyebrow.mint{color:#5df0c6}.ts-live-source,.ts-news-time{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:12px;font-weight:850;color:#627c76;background:rgba(255,255,255,.64);border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:10px 13px}.ts-live-source i{display:block}

/* calculator */
.ts-calculator-card{border-radius:34px;padding:28px;color:white;display:grid;grid-template-columns:1fr 54px 1fr auto;align-items:center;gap:20px}.ts-calc-side label{display:block;color:rgba(255,255,255,.58);font-size:12px;font-weight:800;margin-bottom:10px}.ts-money-input{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:12px}.ts-money-input span{font-size:23px;color:#58f1c6}.ts-money-input input{min-width:0;flex:1;background:transparent;border:0;outline:0;color:white;font-size:clamp(28px,4vw,43px);font-weight:950;letter-spacing:-.04em}.ts-money-input b,.ts-calc-result b{color:rgba(255,255,255,.46);font-size:12px}.ts-quick-money{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.ts-quick-money button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:#bde7dd;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:850;cursor:pointer}.ts-calc-swap{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(72,240,190,.12);color:#5df0c6}.ts-calc-result{display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:12px}.ts-calc-result strong{font-size:clamp(31px,4vw,45px);line-height:1;font-weight:950;color:#5df0c6;letter-spacing:-.04em}.ts-calc-side.result p{font-size:11px;color:rgba(255,255,255,.48);margin:12px 0 0}.ts-calc-action .ts-btn{white-space:nowrap}

/* market cards */
.ts-market-dashboard{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.ts-market-panel{border-radius:31px;padding:24px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-title>div{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:950}.panel-title>div i{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#ddfaee;color:#08805f}.panel-title small{color:#83938f;font-size:11px}.panel-title.light{color:white}.panel-title.light>div i{background:rgba(72,240,190,.12);color:#5ff0c9}.panel-title.light small{color:rgba(255,255,255,.45)}.ts-coin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ts-coin-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;border:1px solid rgba(12,94,75,.08);background:rgba(255,255,255,.68);border-radius:20px;padding:14px;transition:.2s}.ts-coin-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,77,66,.08)}.coin-symbol{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;font-weight:950;color:white;background:#087d63}.coin-symbol.orange{background:linear-gradient(135deg,#ffb23e,#f47f17)}.coin-symbol.violet{background:linear-gradient(135deg,#8b8cf7,#5c55d8)}.coin-symbol.blue{background:linear-gradient(135deg,#48a5ef,#176ec0)}.coin-symbol.gradient{background:linear-gradient(135deg,#18dca1,#8668f6)}.coin-info b,.coin-info span{display:block}.coin-info b{font-size:13px}.coin-info span{font-size:10px;color:#84948f;margin-top:2px}.coin-price{text-align:right}.coin-price strong,.coin-price span{display:block}.coin-price strong{font-size:15px}.coin-price span{font-size:11px;font-weight:850;margin-top:2px}.indices-panel{color:white}.ts-index-list{display:grid;gap:7px}.ts-index-list article{display:grid;grid-template-columns:1fr auto 68px;align-items:center;gap:12px;padding:14px;border-radius:17px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06)}.ts-index-list article>div b,.ts-index-list article>div small{display:block}.ts-index-list article>div small{color:rgba(255,255,255,.38);font-size:10px}.ts-index-list article strong{font-size:15px}.ts-index-list article>span{text-align:right;font-size:11px;font-weight:850}.market-empty{padding:28px;text-align:center;color:#80938e;font-size:13px}

/* news */
.ts-news-layout{display:grid;grid-template-columns:1fr 350px;gap:20px}.ts-news-list{border-radius:30px;padding:8px}.ts-news-item{display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:14px;padding:17px 16px;border-radius:21px;text-decoration:none;border-bottom:1px solid rgba(13,77,64,.07);transition:.18s}.ts-news-item:last-child{border-bottom:0}.ts-news-item:hover{background:rgba(7,137,100,.06);transform:translateX(3px)}.news-number{font-size:12px;font-weight:950;color:#0b9c73}.news-copy>div{display:flex;align-items:center;gap:8px}.news-category{font-size:10px;font-weight:900;padding:4px 7px;border-radius:999px;background:#ddfaee;color:#087859}.news-source{font-size:10px;color:#94a29f}.news-copy h3{font-size:14px;line-height:1.45;margin:7px 0 3px;color:#173d36}.news-copy small{font-size:10px;color:#9aa6a3}.ts-news-item>i{color:#91a09c;font-size:12px}.ts-insight-card{border-radius:30px;padding:28px;color:white}.insight-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(72,240,190,.13);color:#5df2c8;font-size:21px}.ts-insight-card>span{display:block;margin-top:24px;color:#55e8bd;font-size:10px;font-weight:950;letter-spacing:.14em}.ts-insight-card h3{font-size:26px;line-height:1.2;margin:8px 0 18px}.ts-insight-card ul{padding-left:18px;margin:0;display:grid;gap:11px;color:rgba(255,255,255,.66);font-size:13px;line-height:1.5}.ts-insight-card a{display:inline-flex;align-items:center;gap:8px;margin-top:24px;color:#5df2c8;text-decoration:none;font-weight:850;font-size:13px}.news-skeleton{display:flex;align-items:center;gap:14px;padding:18px}.news-skeleton>span{width:38px;height:38px;border-radius:12px;background:#e8f2ee}.news-skeleton>div{flex:1}.news-skeleton b,.news-skeleton small{display:block;border-radius:8px;background:linear-gradient(90deg,#edf4f1,#f7fbf9,#edf4f1);background-size:200% 100%;animation:skeleton 1.4s infinite}.news-skeleton b{height:14px;width:80%}.news-skeleton small{height:9px;width:34%;margin-top:8px}@keyframes skeleton{to{background-position:-200% 0}}.news-empty{min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.news-empty i{font-size:28px;color:#0aa87c}

/* process and quick portal */
.ts-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.ts-process-grid article{position:relative;border-radius:26px;padding:24px;background:rgba(255,255,255,.71);border:1px solid rgba(255,255,255,.94);box-shadow:0 16px 44px rgba(27,82,72,.07)}.ts-process-grid article>span{position:absolute;right:20px;top:19px;font-size:22px;font-weight:950;color:rgba(6,125,96,.12)}.process-icon{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#d8faed,#e3f8ff);color:#08805f;margin-bottom:17px}.ts-process-grid h3{font-size:18px;margin:0 0 8px}.ts-process-grid p{font-size:12px;color:#748984;line-height:1.65;margin:0}.ts-quick-banner{border-radius:34px;padding:34px;color:white;display:grid;grid-template-columns:1fr 430px;gap:34px;align-items:center}.ts-quick-banner h2{font-size:37px;line-height:1.15;margin:8px 0 14px;letter-spacing:-.04em}.ts-quick-banner p{color:rgba(255,255,255,.59);line-height:1.7}.quick-links{display:grid;gap:9px}.quick-links a{display:grid;grid-template-columns:45px 1fr 34px;align-items:center;gap:12px;text-decoration:none;color:white;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:19px;padding:13px;transition:.18s}.quick-links a:hover{background:rgba(72,240,190,.1);transform:translateX(4px)}.quick-links>a>i{width:43px;height:43px;border-radius:15px;display:grid;place-items:center;background:rgba(72,240,190,.12);color:#5df1c8}.quick-links b,.quick-links small{display:block}.quick-links small{font-size:10px;color:rgba(255,255,255,.42);margin-top:2px}.quick-links em{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);font-style:normal;font-size:11px}

/* common legacy pages */
.ts-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px 0}.ts-card{border-radius:28px;padding:24px}.ts-card-icon{width:46px;height:46px;border-radius:18px;display:grid;place-items:center;color:white;background:linear-gradient(135deg,#0f766e,#10b981);box-shadow:0 14px 28px rgba(16,185,129,.22);margin-bottom:16px}.ts-section-title{font-size:30px;line-height:1.2;letter-spacing:-.04em;margin:0 0 10px;color:#09231f}.ts-muted{color:#6b7f8f;line-height:1.7}.ts-panel{border-radius:30px;padding:26px}.ts-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ts-form input,.ts-form select,.ts-form textarea{width:100%;border:1px solid rgba(12,94,75,.12);background:rgba(255,255,255,.78);border-radius:18px;padding:15px 16px;outline:0;transition:.15s}.ts-form input:focus,.ts-form select:focus,.ts-form textarea:focus{border-color:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12);background:white}.ts-form label{display:block;font-size:13px;font-weight:900;color:#4d6763;margin-bottom:8px}.ts-mini-table{display:grid;gap:10px}.ts-mini-table .row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(15,45,39,.08);font-size:14px}.ts-rate-card{border-radius:28px;padding:22px;background:linear-gradient(135deg,#071b1a,#0d3433);color:white}.ts-rate-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;margin-top:14px}.ts-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.ts-flow div{border-radius:18px;background:rgba(255,255,255,.08);padding:14px;text-align:center;font-size:12px;color:#b6d8d2}.ts-flow i{display:block;color:var(--ship-mint);font-size:20px;margin-bottom:8px}.ts-list-card{border-radius:24px;padding:18px;background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.9)}.ts-status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(13,43,39,.08)}.ts-mypage-grid{display:grid;grid-template-columns:360px 1fr;gap:20px}.ts-info-box{border-radius:18px;padding:15px 16px;background:#e8fbf4;border:1px solid #bcefdc;color:#116b54;font-size:13px;line-height:1.6}.ts-toast{position:fixed;top:94px;left:50%;transform:translateX(-50%);z-index:9999;background:#071d1a;color:white;border-radius:16px;padding:14px 18px;box-shadow:0 18px 50px rgba(15,23,42,.28);max-width:calc(100% - 28px);font-weight:800;display:flex;align-items:center;gap:8px}.ts-footer{margin-top:60px;padding:36px 0;color:#6b7f8f;font-size:13px}.ts-portal-footer{border-top:1px solid rgba(12,94,75,.08);background:rgba(255,255,255,.35)}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:30px;align-items:center}.footer-grid p{margin:9px 0 0;line-height:1.6}.footer-links{display:flex;flex-wrap:wrap;gap:16px}.footer-links a{text-decoration:none;font-weight:800}.footer-notice{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.65);border-radius:16px;padding:13px 15px}.footer-notice i{color:#0a9c72}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.footer-visa{display:flex;justify-content:flex-end;width:100%}.footer-visa img{width:118px;max-width:100%;height:auto;display:block;filter:drop-shadow(0 10px 20px rgba(15,23,42,.08));opacity:.98}


/* chat */
.ts-chat-fab{position:fixed;right:18px;bottom:18px;z-index:1000;border:0;border-radius:999px;background:linear-gradient(135deg,#10b981,#0f766e);color:white;font-weight:900;padding:14px 17px;box-shadow:0 18px 42px rgba(16,185,129,.34);display:flex;align-items:center;gap:9px}.ts-chat-panel{position:fixed;right:18px;bottom:82px;width:min(360px,calc(100vw - 28px));height:470px;max-height:calc(100vh - 120px);z-index:1000;border-radius:24px;overflow:hidden;background:white;border:1px solid rgba(255,255,255,.9);box-shadow:0 26px 80px rgba(8,35,31,.26);display:none;flex-direction:column}.ts-chat-panel.open{display:flex}.ts-chat-head{padding:16px 18px;background:linear-gradient(135deg,#071b1a,#0f766e);color:white;display:flex;align-items:center;justify-content:space-between}.ts-chat-messages{flex:1;overflow:auto;padding:16px;background:#f8fffc;display:flex;flex-direction:column;gap:10px}.ts-chat-msg{max-width:82%;border-radius:18px;padding:10px 12px;font-size:13px;line-height:1.45}.ts-chat-msg.user{align-self:flex-end;background:#10b981;color:white;border-bottom-right-radius:6px}.ts-chat-msg.admin{align-self:flex-start;background:#e2e8f0;color:#0f172a;border-bottom-left-radius:6px}.ts-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid #e5e7eb}.ts-chat-form input{flex:1;border:1px solid #dbe7e3;border-radius:14px;padding:12px;outline:0}.ts-chat-form button{border:0;border-radius:14px;background:#0f766e;color:white;font-weight:900;padding:0 15px}

/* admin */
.ts-admin-body{background:#061214;color:#d8f3ed;min-height:100vh}.ts-admin-layout{display:flex;min-height:100vh}.ts-admin-side{width:260px;background:linear-gradient(180deg,#071b1a,#0b1418);border-right:1px solid rgba(255,255,255,.08);padding:24px;position:sticky;top:0;height:100vh;overflow-y:auto}.ts-admin-main{flex:1;padding:28px;overflow:auto}.ts-admin-nav a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#9bb8b2;padding:12px 14px;border-radius:16px;font-weight:800;font-size:14px}.ts-admin-nav a:hover,.ts-admin-nav a.active{background:rgba(45,242,178,.1);color:#dffdf5}.ts-admin-card{background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.ts-admin-input{width:100%;background:rgba(1,10,12,.45);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;color:#eafff9;outline:0}.ts-admin-input:focus{border-color:#2df2b2;box-shadow:0 0 0 3px rgba(45,242,178,.12)}.ts-admin-table{width:100%;border-collapse:collapse}.ts-admin-table th{text-align:left;color:#88a7a1;font-size:12px;padding:14px;border-bottom:1px solid rgba(255,255,255,.08)}.ts-admin-table td{padding:14px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}.ts-admin-action{border:0;border-radius:12px;padding:10px 12px;color:white;font-weight:900;cursor:pointer}.ts-admin-action.approve{background:#059669}.ts-admin-action.hold{background:#0284c7}.ts-admin-action.reject{background:#dc2626}.ts-admin-action.complete{background:#16a34a}.ts-admin-action.dark{background:#334155}

@media(max-width:1080px){.ts-nav-links{display:none}.ts-hero-grid{grid-template-columns:1fr 430px}.ts-calculator-card{grid-template-columns:1fr 45px 1fr}.ts-calc-action{grid-column:1/-1}.ts-news-layout{grid-template-columns:1fr 310px}.ts-quick-banner{grid-template-columns:1fr 380px}}
@media(max-width:900px){.ts-hero-grid,.ts-two,.ts-mypage-grid,.ts-market-dashboard,.ts-news-layout,.ts-quick-banner{grid-template-columns:1fr}.ts-hero{padding-top:42px}.ts-hero-visual{max-width:620px;margin:auto;width:100%}.ts-process-grid{grid-template-columns:repeat(2,1fr)}.ts-calculator-card{grid-template-columns:1fr}.ts-calc-swap{transform:rotate(90deg);margin:auto}.ts-calc-action{grid-column:auto}.ts-admin-side{display:none}.ts-admin-main{padding:18px}.footer-grid{grid-template-columns:1fr}.footer-right{align-items:flex-start}.footer-visa{justify-content:flex-start}.ts-coin-grid{grid-template-columns:1fr 1fr}.ts-section-heading{align-items:flex-start}.ts-live-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.ts-wrap{padding:0 15px}.ts-market-strip{height:35px}.ts-nav-inner{height:66px}.ts-logo img{width:40px;height:40px}.ts-logo span{font-size:14px}.ts-nav-actions .ts-btn{padding:11px 13px;font-size:12px}.ts-nav-actions .ts-btn.dark{display:none}.ts-user-status{align-items:flex-start;flex-direction:column}.ts-user-status .ts-btn{width:100%}.ts-user-status-main{align-items:flex-start;flex-direction:column;gap:7px}.ts-title{font-size:46px;letter-spacing:-.065em}.ts-lead{font-size:15px}.ts-hero-actions .ts-btn{flex:1;min-width:150px}.ts-live-summary{grid-template-columns:1fr 1fr}.ts-live-summary>div:last-child{grid-column:1/-1}.ts-hero-visual{padding:12px;border-radius:27px}.ts-hero-quote strong{font-size:19px}.ts-portal-section,.ts-portal-grid{margin:56px 0}.ts-section-heading{display:block}.ts-live-source,.ts-news-time{margin-top:12px}.ts-section-heading h2{font-size:33px}.ts-calculator-card{padding:22px;border-radius:27px}.ts-money-input input{font-size:31px}.ts-market-panel{padding:17px;border-radius:25px}.ts-coin-grid{grid-template-columns:1fr}.ts-news-list{padding:4px;border-radius:24px}.ts-news-item{grid-template-columns:32px 1fr 18px;padding:15px 11px;gap:9px}.news-copy h3{font-size:13px}.ts-insight-card{padding:23px}.ts-process-grid{grid-template-columns:1fr 1fr;gap:10px}.ts-process-grid article{padding:19px}.ts-quick-banner{padding:24px;border-radius:27px}.ts-quick-banner h2{font-size:29px}.ts-panel{padding:20px;border-radius:24px}.ts-card-grid{grid-template-columns:1fr}.ts-stats{grid-template-columns:1fr}.ts-footer{margin-top:36px}.ts-chat-fab{right:12px;bottom:12px}.ts-chat-panel{right:12px;bottom:74px}}
@media(max-width:420px){.ts-title{font-size:40px}.ts-hero-actions{display:grid;grid-template-columns:1fr}.ts-hero-actions .ts-btn{width:100%}.ts-live-summary{grid-template-columns:1fr}.ts-live-summary>div:last-child{grid-column:auto}.ts-process-grid{grid-template-columns:1fr}.ts-logo{gap:8px}.ts-logo span{font-size:13px;letter-spacing:.02em}.ts-nav-actions{gap:5px}.ts-nav-actions .ts-btn{padding:10px 11px}.ts-market-tick{font-size:11px}.ts-hero-quote{padding:14px}.ts-hero-quote strong{font-size:17px}}

/* realtime notification center */
.ts-notify-wrap{position:fixed;z-index:1800}.ts-notify-wrap.user{top:82px;right:18px}.ts-notify-wrap.admin{top:22px;right:28px}.ts-notify-bell{position:relative;width:48px;height:48px;border:1px solid rgba(16,185,129,.25);border-radius:17px;background:rgba(255,255,255,.95);color:#064e3b;display:grid;place-items:center;font-size:19px;box-shadow:0 14px 38px rgba(3,49,42,.18);cursor:pointer}.ts-notify-wrap.admin .ts-notify-bell{background:#0d2827;color:#6ee7b7;border-color:rgba(110,231,183,.25)}.ts-notify-badge{position:absolute;right:-6px;top:-6px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#ef4444;color:white;font-size:11px;font-weight:900;display:none;place-items:center;border:2px solid white}.ts-notify-wrap.admin .ts-notify-badge{border-color:#061214}.ts-notify-panel{position:absolute;right:0;top:58px;width:min(390px,calc(100vw - 28px));max-height:520px;overflow:hidden;border-radius:24px;background:rgba(255,255,255,.98);border:1px solid rgba(15,118,110,.15);box-shadow:0 26px 70px rgba(3,49,42,.24);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:.2s}.ts-notify-wrap.admin .ts-notify-panel{background:#0c2223;border-color:rgba(255,255,255,.1);color:#dffdf5}.ts-notify-panel.open{opacity:1;visibility:visible;transform:none}.ts-notify-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid rgba(15,118,110,.12)}.ts-notify-head b{display:block;font-size:16px}.ts-notify-head small{display:block;color:#64748b;margin-top:2px}.ts-notify-wrap.admin .ts-notify-head small{color:#7ca59e}.ts-notify-head button{border:0;background:transparent;color:#059669;font-weight:900;font-size:12px;cursor:pointer}.ts-notify-list{max-height:430px;overflow:auto;padding:8px}.ts-notify-item{display:flex;gap:12px;padding:13px;border-radius:17px;text-decoration:none;color:#334155;border:1px solid transparent}.ts-notify-item:hover,.ts-notify-item.unread{background:#ecfdf5;border-color:#a7f3d0}.ts-notify-wrap.admin .ts-notify-item{color:#cdebe5}.ts-notify-wrap.admin .ts-notify-item:hover,.ts-notify-wrap.admin .ts-notify-item.unread{background:rgba(16,185,129,.11);border-color:rgba(110,231,183,.2)}.ts-notify-item>i{width:35px;height:35px;flex:0 0 35px;border-radius:13px;background:#0f172a;color:#6ee7b7;display:grid;place-items:center}.ts-notify-item b{font-size:14px}.ts-notify-item p{font-size:12px;color:#64748b;line-height:1.45;margin:3px 0}.ts-notify-wrap.admin .ts-notify-item p{color:#7fa7a0}.ts-notify-item time{font-size:10px;color:#94a3b8}.ts-notify-empty{padding:30px;text-align:center;color:#94a3b8;font-size:13px}.ts-live-toast{position:fixed;z-index:1900;right:22px;top:145px;max-width:min(420px,calc(100vw - 30px));display:flex;gap:12px;align-items:flex-start;padding:15px 17px;border-radius:19px;background:#052e2b;color:white;box-shadow:0 20px 55px rgba(0,0,0,.28);opacity:0;transform:translateX(25px);transition:.25s}.ts-live-toast.admin{top:84px}.ts-live-toast.show{opacity:1;transform:none}.ts-live-toast>i{color:#5eead4;margin-top:3px}.ts-live-toast b,.ts-live-toast span{display:block}.ts-live-toast span{font-size:12px;color:#b7ddd6;margin-top:3px;line-height:1.45}.ts-admin-action:disabled{opacity:.48;cursor:not-allowed}

/* mobile-safe floating chat: compact icon prevents clipping on narrow screens */
.ts-chat-fab{inset-inline-start:auto;inset-inline-end:max(18px,env(safe-area-inset-right));bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px));z-index:1700;max-width:calc(100vw - 36px);transform:translateZ(0)}
.ts-chat-panel{inset-inline-start:auto;inset-inline-end:max(14px,env(safe-area-inset-right));bottom:max(86px,calc(env(safe-area-inset-bottom) + 86px));z-index:1701;max-height:calc(100dvh - 130px)}
@media(max-width:640px){.ts-notify-wrap.user{top:72px;right:12px}.ts-notify-wrap.admin{top:12px;right:12px}.ts-notify-bell{width:44px;height:44px;border-radius:15px}.ts-notify-panel{top:52px}.ts-live-toast,.ts-live-toast.admin{top:126px;right:12px}.ts-chat-fab{right:max(14px,env(safe-area-inset-right));bottom:max(20px,calc(env(safe-area-inset-bottom) + 20px));width:56px;height:56px;padding:0;border-radius:50%;justify-content:center;font-size:20px;box-shadow:0 18px 42px rgba(5,81,65,.38)}.ts-chat-fab span{display:none}.ts-chat-panel{right:max(10px,env(safe-area-inset-right));bottom:max(88px,calc(env(safe-area-inset-bottom) + 88px));width:calc(100vw - 20px);height:min(520px,calc(100dvh - 145px));border-radius:22px}.ts-chat-head{padding:14px 15px}.ts-chat-form{padding:10px}.ts-chat-form input{min-width:0}}

/* login state + admin member actions */
.ts-login-state{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:7px 12px;border-radius:15px;border:1px solid;font-weight:900;white-space:nowrap}.ts-login-state>i{font-size:15px}.ts-login-state>span{display:flex;flex-direction:column;line-height:1.05}.ts-login-state small{font-size:9px;letter-spacing:.05em;opacity:.72;margin-bottom:3px}.ts-login-state b{font-size:12px;max-width:110px;overflow:hidden;text-overflow:ellipsis}.ts-login-state.online{background:rgba(209,250,229,.78);border-color:#a7f3d0;color:#047857;box-shadow:0 10px 25px rgba(16,185,129,.09)}.ts-login-state.offline{background:rgba(255,237,237,.82);border-color:#fecdd3;color:#be123c}.ts-admin-mini-link{border:1px solid transparent;border-radius:11px;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:12px;font-weight:900;cursor:pointer;background:transparent}.ts-admin-mini-link.emerald{color:#6ee7b7;background:rgba(16,185,129,.12);border-color:rgba(110,231,183,.2)}.ts-admin-mini-link.cyan{color:#67e8f9;background:rgba(6,182,212,.12);border-color:rgba(103,232,249,.2)}.ts-admin-mini-link.danger{color:#fda4af;background:rgba(225,29,72,.13);border-color:rgba(253,164,175,.22)}.ts-admin-mini-link:hover{filter:brightness(1.14);transform:translateY(-1px)}
@media(max-width:760px){.ts-login-state{padding:7px 9px;gap:6px;min-height:39px}.ts-login-state small{display:none}.ts-login-state b{font-size:11px;max-width:72px}.ts-nav-actions{min-width:0}.ts-nav-actions .ts-btn.primary{display:none}}
@media(max-width:440px){.ts-login-state b{max-width:58px}.ts-login-state.offline span b{font-size:10px}.ts-nav-actions .ts-btn.ghost{padding:10px}.ts-logo span{font-size:12px}}

/* 2026-07-15 member bridge + mobile floating controls hard fix */
@media(max-width:640px){
  .ts-notify-wrap.user{position:fixed!important;top:auto!important;left:auto!important;right:80px!important;bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;z-index:2147483002!important;display:block!important;visibility:visible!important;opacity:1!important}
  .ts-notify-wrap.user .ts-notify-bell{width:56px!important;height:56px!important;border-radius:50%!important}
  .ts-notify-wrap.user .ts-notify-panel{top:auto!important;right:-66px!important;bottom:68px!important;width:calc(100vw - 20px)!important;max-height:calc(100dvh - 190px)!important;transform-origin:bottom right!important}
  .ts-chat-fab{position:fixed!important;top:auto!important;left:auto!important;right:14px!important;bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;width:56px!important;height:56px!important;padding:0!important;border-radius:50%!important;display:flex!important;visibility:visible!important;opacity:1!important;z-index:2147483000!important}
  .ts-chat-fab span{display:none!important}
  .ts-chat-panel{position:fixed!important;top:auto!important;left:10px!important;right:10px!important;bottom:calc(152px + env(safe-area-inset-bottom,0px))!important;width:auto!important;height:min(520px,calc(100dvh - 190px))!important;max-height:calc(100dvh - 190px)!important;z-index:2147483001!important}
}


/* 2026-07 mobile floating dock hard fix */
#tsFloatingActionDock{box-sizing:border-box!important;isolation:isolate!important}
#tsFloatingActionDock *{box-sizing:border-box}
@media(max-width:640px){html,body{max-width:100%!important;overflow-x:hidden!important}}
