:root{--pine:#173f2c;--deep:#0d2118;--gold:#edc65d;--cream:#fbf5e8;--ink:#172019;--muted:#607063;--green:#1f8a51;--red:#b74343}*{box-sizing:border-box}.market-body{margin:0;background:linear-gradient(180deg,#f7f2e5,#eee4cb);color:var(--ink);font-family:Nunito,system-ui,sans-serif;min-height:100vh}.market-nav{min-height:72px;padding:10px clamp(18px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:#fff;position:sticky;top:0;z-index:20}.market-nav a{color:inherit;text-decoration:none;font-weight:900}.market-nav nav{display:flex;gap:18px}.market-brand{font:700 1.2rem Fredoka}.market-shell{width:min(1320px,calc(100% - 30px));margin:auto;padding:34px 0 90px}.market-hero{padding:clamp(28px,5vw,58px);border-radius:28px;background:radial-gradient(circle at 90% 0,#557c3b,#173f2c 48%,#10291f);color:#fff;box-shadow:0 26px 65px #173f2c33;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.market-hero small,.market-heading small,.trade-panel>small{font-weight:1000;letter-spacing:.16em;color:var(--gold)}.market-hero h1{font:700 clamp(2.7rem,6vw,5.4rem)/.94 Fredoka;margin:.18em 0}.market-hero p{max-width:780px;color:#e5eee6;font-size:1.05rem;line-height:1.7}.market-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.market-badges span{background:#ffffff12;border:1px solid #ffffff2d;border-radius:999px;padding:9px 12px;font-weight:900}.market-clock{min-width:190px;background:#071b12aa;border:1px solid #ffffff2c;border-radius:18px;padding:18px}.market-clock small,.market-clock span{display:block;color:#d8e5da}.market-clock strong{display:block;font:700 1.7rem Fredoka;margin:5px 0}.market-ticker{display:flex;gap:10px;overflow:auto;padding:16px 2px}.market-ticker button{min-width:150px;border:1px solid #cdbf9b;background:#fffdf7;border-radius:13px;padding:11px;text-align:left;cursor:pointer}.market-ticker b,.market-ticker span{display:block}.market-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.market-stats article{background:#fffdf7;border:1px solid #d3c5a2;border-radius:16px;padding:18px}.market-stats small,.market-stats span{display:block;color:var(--muted);font-weight:900}.market-stats strong{font:700 1.8rem Fredoka;display:block;margin:4px 0}.market-layout{display:block}.market-main{width:100%}.market-section{padding-top:42px}.market-heading{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:16px}.market-heading h2,.trade-panel h2{font:700 clamp(1.8rem,3vw,3rem) Fredoka;margin:.15rem 0}.market-heading p{margin:0;color:var(--muted)}.market-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.market-controls input,.market-controls select,.market-controls button,.trade-panel input{border:1px solid #bcae89;background:#fffdf7;border-radius:10px;padding:10px;font:inherit}.market-controls button,.quote-btn,.portfolio-card button{background:var(--pine);color:#fff;border:0;border-radius:9px;padding:9px 12px;font-weight:1000;cursor:pointer}.market-table-wrap{background:#fffdf7;border:1px solid #d2c39f;border-radius:18px;overflow:auto}.market-table{width:100%;border-collapse:collapse;min-width:720px}.market-table th,.market-table td{padding:14px 15px;border-bottom:1px solid #eee4cd;text-align:left}.market-table th{font-size:.74rem;letter-spacing:.08em;color:var(--muted)}.market-table tr.selected{background:#edf4e8}.market-name{display:flex;gap:11px;align-items:center}.market-name>span{font-size:1.5rem}.market-name strong,.market-name small{display:block}.market-name small{color:var(--muted)}.move{font-weight:1000;white-space:nowrap}.move.up,.up-text{color:var(--green)}.move.down,.down-text{color:var(--red)}.move.flat{color:#777}.trade-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:18px}.trade-modal.open{display:flex}.trade-backdrop{position:absolute;inset:0;background:#06140db8;backdrop-filter:blur(4px)}.trade-panel{position:relative;z-index:1;width:min(430px,100%);max-height:min(88vh,760px);overflow:auto;background:#10291f;color:#fff;border-radius:22px;padding:24px;box-shadow:0 26px 80px #0008}.trade-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:1px solid #ffffff2b;border-radius:999px;background:#ffffff12;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}.trade-close:hover{background:#ffffff20}body.trade-open{overflow:hidden}.trade-symbol{color:#b9c9bc;font-weight:1000}.trade-price{font:700 2.2rem Fredoka;margin-top:8px}.trade-move{margin:4px 0 18px}.trade-panel label{display:grid;gap:6px;margin:14px 0;font-weight:900}.trade-side{display:grid;grid-template-columns:1fr 1fr;gap:7px}.trade-side button{border:1px solid #ffffff2c;background:#ffffff0c;color:#fff;border-radius:10px;padding:10px;font-weight:1000;cursor:pointer}.trade-side button.active{background:var(--gold);color:#18331f}.trade-estimate{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #ffffff22}.trade-submit{width:100%;border:0;border-radius:11px;background:var(--gold);color:#17341f;padding:13px;font-weight:1000;cursor:pointer}.trade-submit:disabled{opacity:.55}.trade-note{color:#c4d2c6;font-size:.85rem;line-height:1.5}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.portfolio-card{background:#fffdf7;border:1px solid #d2c39f;border-radius:16px;padding:18px}.portfolio-card h3{font:700 1.35rem Fredoka;margin:2px 0}.portfolio-card>strong{font:700 1.6rem Fredoka}.portfolio-card dl{display:grid;gap:5px}.portfolio-card dl div{display:flex;justify-content:space-between}.portfolio-card dt{color:var(--muted)}.market-empty{grid-column:1/-1;background:#fff9;border:1px dashed #78905d;border-radius:16px;padding:30px;text-align:center;color:#59675b}.market-toast{position:fixed;right:20px;bottom:20px;z-index:180;background:#10291f;color:#fff;padding:13px 16px;border-radius:11px;box-shadow:0 18px 50px #0004;opacity:0;transform:translateY(8px);pointer-events:none;transition:.18s}.market-toast.show{opacity:1;transform:none}.s2-economy-link{display:block;text-decoration:none;color:inherit;padding:10px 12px;border-radius:10px;font-weight:900}@media(max-width:1050px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.market-hero{grid-template-columns:1fr}.market-stats{grid-template-columns:repeat(2,1fr)}.market-heading{align-items:flex-start;flex-direction:column}.market-controls{justify-content:flex-start}.portfolio-grid{grid-template-columns:1fr}}@media(max-width:520px){.market-nav nav{gap:9px;font-size:.8rem}.market-stats{grid-template-columns:1fr 1fr}.market-shell{width:min(100% - 18px,1320px)}}

/* Mobile / small-device market layout */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .market-nav{padding:10px 12px;gap:10px;flex-wrap:wrap;position:sticky}
  .market-brand{font-size:1rem;white-space:nowrap}
  .market-nav nav{width:100%;gap:8px;justify-content:space-between;overflow-x:auto;padding-bottom:2px}
  .market-nav nav a{font-size:.78rem;white-space:nowrap}
  .market-shell{width:100%;padding:14px 10px 70px}
  .market-hero{padding:22px 18px;border-radius:20px;gap:18px}
  .market-hero h1{font-size:clamp(2rem,12vw,3.15rem);line-height:.98;overflow-wrap:anywhere}
  .market-hero p{font-size:.94rem;line-height:1.55}
  .market-clock{width:100%;min-width:0}
  .market-badges{gap:6px}
  .market-badges span{font-size:.78rem;padding:7px 9px}
  .market-ticker{margin-inline:-10px;padding-inline:10px;scrollbar-width:thin}
  .market-ticker button{min-width:138px}
  .market-stats{grid-template-columns:1fr 1fr;gap:8px}
  .market-stats article{padding:14px;min-width:0}
  .market-stats strong{font-size:1.35rem;overflow-wrap:anywhere}
  .market-section{padding-top:26px}
  .market-heading{gap:12px;margin-bottom:12px}
  .market-heading h2{font-size:clamp(1.7rem,9vw,2.35rem);line-height:1.02}
  .market-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}
  .market-controls input{grid-column:1/-1;width:100%;min-width:0}
  .market-controls select,.market-controls button{width:100%;min-width:0}
  .market-table-wrap{background:transparent;border:0;border-radius:0;overflow:visible}
  .market-table{min-width:0;width:100%;display:block}
  .market-table thead{display:none}
  .market-table tbody{display:grid;gap:10px;width:100%}
  .market-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;background:#fffdf7;border:1px solid #d2c39f;border-radius:15px;padding:13px;width:100%;min-width:0}
  .market-table tr.selected{background:#edf4e8;border-color:#8da87b}
  .market-table td{display:block;padding:0;border:0;min-width:0}
  .market-table td:first-child{grid-column:1/-1}
  .market-table td:nth-child(2){grid-column:1/2}
  .market-table td:nth-child(3){grid-column:2/3;text-align:right}
  .market-table td:nth-child(4){grid-column:1/2;color:var(--muted);font-size:.84rem}
  .market-table td:nth-child(4)::before{content:'Volume: ';font-weight:900}
  .market-table td:nth-child(5){grid-column:2/3;grid-row:3/4;text-align:right}
  .market-name{min-width:0;align-items:flex-start}
  .market-name>span{font-size:1.25rem;flex:0 0 auto}
  .market-name>div{min-width:0}
  .market-name strong,.market-name small{overflow-wrap:anywhere;word-break:break-word}
  .market-name strong{font-size:1rem;line-height:1.15}
  .market-name small{font-size:.74rem;margin-top:3px}
  .quote-btn{padding:8px 11px}
  .trade-modal{align-items:flex-end;padding:0}
  .trade-panel{width:100%;max-width:none;max-height:88dvh;margin:0;padding:22px 18px 18px;border-radius:22px 22px 0 0}
  .trade-panel h2{font-size:clamp(1.8rem,10vw,2.5rem);overflow-wrap:anywhere}
  .trade-price{font-size:1.9rem}
  .trade-side{gap:6px}
  .trade-panel input{width:100%;min-width:0}
  .trade-estimate{align-items:center}
  .trade-estimate strong{text-align:right;overflow-wrap:anywhere}
  .portfolio-grid{grid-template-columns:1fr;gap:10px}
  .portfolio-card{min-width:0;padding:15px}
  .portfolio-card dl div{gap:12px}
  .portfolio-card dd{text-align:right;overflow-wrap:anywhere}
  .market-toast{left:10px;right:10px;bottom:12px;text-align:center}
}

@media(max-width:430px){
  .market-stats{grid-template-columns:1fr}
  .market-controls{grid-template-columns:1fr}
  .market-controls input{grid-column:auto}
  .market-table tr{grid-template-columns:1fr auto}
  .market-nav nav{justify-content:flex-start}
}


.trade-note.trade-error{color:#ffb9b9;background:#6d202055;border:1px solid #ff9d9d55;border-radius:9px;padding:10px}.trade-note.trade-success{color:#c9ffd7;background:#17633655;border:1px solid #8de8aa55;border-radius:9px;padding:10px}
