.sim-hero{background:
  radial-gradient(circle at 80% 18%,rgba(189,138,46,.2),transparent 25%),
  linear-gradient(138deg,#0b2238 0%,#16395c 72%,#1d4d78 100%);
  color:#fff;padding:68px 0 62px;}
.sim-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:64px;align-items:end;}
.sim-kicker{display:block;color:#a8bdd0;font-size:12px;font-weight:800;letter-spacing:3px;margin-bottom:17px;}
.sim-hero h1{font-size:50px;line-height:1.17;color:#fff;letter-spacing:1px;}
.sim-hero h1 span{color:#e2b75f;}
.sim-hero p{max-width:680px;margin:19px 0 0;color:#cad8e4;font-size:17px;line-height:1.8;}
.sim-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;}
.sim-hero-badges span{padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.05);color:#b9cad8;font-size:11px;}
.sim-hero-card{padding:27px 28px;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:rgba(5,24,40,.48);box-shadow:0 24px 50px rgba(0,0,0,.16);}
.sim-hero-card span{font-size:12px;color:#9fb4c8;letter-spacing:1px;}
.sim-hero-card strong{display:block;font:900 36px var(--serif);color:#e2b75f;margin-top:5px;}
.sim-hero-card p{font-size:12px;margin-top:10px;line-height:1.7;}
.sim-hero-link{justify-self:end;border:1px solid rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.06);}
.sim-main{background:#f3f5f7;min-height:760px;padding:30px 0 72px;}
.sim-gate{padding:45px 0 30px;}
.gate-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:22px;align-items:center;max-width:880px;margin:0 auto;padding:30px 34px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 14px 36px rgba(15,41,66,.07);}
.gate-number{display:grid;place-items:center;width:55px;height:55px;border-radius:14px;background:var(--deep);color:#e2b75f;font:900 21px var(--serif);}
.gate-card h2{font-size:26px;}
.gate-card p{color:#687684;font-size:14px;line-height:1.7;margin:7px 0 0;}
.profile-card{grid-template-columns:64px 1fr 1fr;align-items:end;}
.profile-card>div{grid-column:2/-1;}
.profile-card label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#43515f;}
.profile-card label:first-of-type{grid-column:2;}
.profile-card input,.teacher-form input,.teacher-form select,.teacher-form textarea,.submission-picker select,.submission-card input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:14px var(--sans);outline:none;background:#fff;}
.profile-card input:focus,.teacher-form input:focus,.teacher-form select:focus,.teacher-form textarea:focus,.submission-picker select:focus,.submission-card input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,57,92,.08);}
.profile-card .form-message{grid-column:2/-1;color:var(--red);margin:0;min-height:18px;}
.profile-card button{grid-column:3;justify-self:end;}
.sim-account-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:28px;align-items:center;padding:20px 24px;border-radius:14px 14px 0 0;background:linear-gradient(135deg,#16395c,#0e2a43);color:#fff;}
.sim-account-bar>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;}
.sim-account-bar span{font-size:11px;color:#9fb3c5;letter-spacing:1px;}
.sim-account-bar b{font:700 21px var(--serif);}
.sim-account-bar small{grid-column:2;color:#9fb3c5;font-size:12px;}
.account-total{text-align:right;}
.account-total strong{display:block;font:900 28px var(--serif);color:#e2b75f;}
.account-links{display:flex;gap:8px;}
.account-links a{padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:7px;font-size:12px;color:#d7e0e8;}
.sim-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:8px 12px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;margin-bottom:20px;}
.sim-tabs button{border:0;border-radius:8px;background:transparent;color:#596775;padding:9px 14px;font:600 14px var(--sans);cursor:pointer;}
.sim-tabs button:hover{background:var(--tint);color:var(--navy);}
.sim-tabs button.on{background:var(--navy);color:#fff;}
.sim-loading{padding:56px 24px;text-align:center;color:#768492;font-size:14px;}
.sim-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
.sim-stat{padding:19px 21px;border:1px solid var(--line);border-radius:12px;background:#fff;}
.sim-stat span{display:block;font-size:12px;color:#7a8793;}
.sim-stat b{display:block;margin-top:4px;font:900 26px var(--serif);color:var(--navy);}
.sim-stat.up b,.market-up{color:var(--red)!important;}
.sim-stat.down b,.market-down{color:var(--green)!important;}
.sim-section{border:1px solid var(--line);border-radius:14px;background:#fff;padding:23px 24px;margin-bottom:18px;}
.sim-section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px;}
.sim-section-head span{display:block;font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:800;}
.sim-section-head h2{font-size:23px;margin-top:2px;}
.sim-section-head p{font-size:12px;color:#83909c;}
.sim-section-head>button{border:0;background:transparent;color:var(--navy);font:700 13px var(--sans);cursor:pointer;}
.sim-table-wrap{overflow:auto;}
.sim-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:680px;}
.sim-table th,.sim-table td{padding:11px 12px;border-bottom:1px solid #e9edf0;text-align:right;white-space:nowrap;}
.sim-table th{color:#687684;background:#f7f9fa;font-size:12px;}
.sim-table th:first-child,.sim-table td:first-child{text-align:left;}
.sim-table td b{color:#334252;}
.sim-table td small{display:block;color:#8b97a2;font-size:10px;margin-top:2px;}
.quote-source{display:inline-block!important;margin-left:6px!important;padding:2px 5px;border-radius:5px;background:#edf2f6;color:#74808b!important;font-size:9px!important;}
.quote-source.simulated{background:#fff4d9;color:#8c681e!important;}
.sim-empty{text-align:center;padding:45px 22px;border:1px dashed #d5dce2;border-radius:11px;color:#75828e;}
.sim-empty b{display:block;color:var(--navy);font:700 20px var(--serif);}
.sim-empty p{font-size:13px;margin:6px 0 17px;}
.sim-empty.compact{padding:25px;}
.sim-empty.error b{color:var(--red);}
.sim-disclaimer{margin-top:17px;padding:12px 16px;border-left:4px solid var(--red);border-radius:8px;background:#f8eeeb;color:#7c4a43;font-size:12px;line-height:1.7;}
.trading-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;}
.trade-market,.order-card{margin-bottom:0;}
.universe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.universe-grid button{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #e1e6ea;border-radius:9px;background:#fff;padding:11px;cursor:pointer;}
.universe-grid button:hover{border-color:var(--navy);background:#f6f9fb;}
.universe-grid b{font-size:13px;color:var(--navy);}
.universe-grid span{font-size:10px;color:#8995a0;}
.quote-search{display:flex;gap:8px;margin-top:16px;}
.quote-search input{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:14px var(--sans);}
.order-placeholder{text-align:center;padding:52px 18px;color:#778490;}
.order-placeholder span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border-radius:50%;background:var(--tint);font:900 16px var(--serif);color:var(--gold);}
.order-placeholder b{display:block;color:var(--navy);font:700 19px var(--serif);}
.order-placeholder p{font-size:12px;line-height:1.7;}
.quote-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;}
.quote-head>div:first-child span{font-size:11px;color:#87939e;letter-spacing:1px;}
.quote-head h2{font-size:24px;}
.quote-price{text-align:right;}
.quote-price b{display:block;font:900 32px var(--serif);}
.quote-price span{font-size:13px;}
.quote-note{margin:14px 0;padding:9px 11px;border-radius:8px;background:#f7f9fa;color:#778490;font-size:11px;}
#tradeForm label{display:grid;gap:5px;color:#475563;font-size:12px;font-weight:700;}
#tradeForm input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:15px;}
#tradeForm label small{color:#8a96a1;font-weight:400;}
.trade-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;}
.trade-buttons button{border:0;border-radius:9px;padding:11px;color:#fff;font:700 14px var(--sans);cursor:pointer;}
.trade-buttons .buy{background:var(--red)}.trade-buttons .sell{background:var(--green)}
.rank-no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--tint);color:var(--navy);font-weight:800;}
.rank-1{background:#f6e7b8}.rank-2{background:#e5e8ec}.rank-3{background:#efd8c6}
.activity-list{display:grid;gap:10px;}
.activity-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 18px;border:1px solid #e0e5e9;border-radius:11px;}
.activity-card>div:first-child span{font-size:10px;color:var(--gold);font-weight:700;}
.activity-card h3{font-size:18px;margin-top:2px;}
.activity-card p{font-size:11px;color:#8a96a1;margin:3px 0 0;}
.activity-card>div:last-child{text-align:right;}
.activity-card>div:last-child b{display:block;font-size:11px;color:#a17324;margin-bottom:5px;}
.activity-card>div:last-child b.done{color:var(--green);}
.activity-card button{border:0;background:none;color:var(--navy);font:700 12px var(--sans);cursor:pointer;}
.activity-detail{margin-top:18px;border:1px solid #dce2e7;border-radius:12px;overflow:hidden;}
.activity-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:17px 20px;background:var(--deep);color:#fff;}
.activity-detail-head span{font-size:10px;color:#a5b8ca}.activity-detail-head h3{color:#fff;font-size:20px;margin-top:2px;}
.activity-detail-head button{border:0;background:rgba(255,255,255,.1);color:#fff;width:30px;height:30px;border-radius:50%;font-size:19px;cursor:pointer;}
.activity-detail form{padding:20px;}
.activity-detail fieldset{border:0;padding:0;margin:0 0 22px;}
.activity-detail legend{font-weight:700;color:#33414f;margin-bottom:8px;}
.activity-detail fieldset label{display:block;padding:6px 8px;border-radius:7px;color:#596775;font-size:14px;cursor:pointer;}
.activity-detail fieldset label:hover{background:#f4f6f8;}
.activity-detail input[type=radio]{accent-color:var(--navy);}
.activity-detail textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;font:14px/1.7 var(--sans);}
.homework-prompt{padding:14px;border-radius:8px;background:#f5f7f8;color:#41505e;white-space:pre-wrap;margin-bottom:12px;}
.activity-submit{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;border-top:1px solid #e5e9ed;}
.activity-submit span{font-size:12px;color:#7b8894;}
.teacher-feedback{padding:12px 14px;border-left:4px solid var(--gold);background:#fff8e9;margin:12px 0;}
.teacher-feedback b{font-size:12px;color:#8e671f}.teacher-feedback p{font-size:13px;margin:4px 0 0;}
.vote-results{display:grid;gap:9px;margin:14px 0;}
.vote-results>div{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:12px;color:#596775;}
.vote-results i{grid-column:1/-1;height:7px;border-radius:4px;background:#edf0f2;overflow:hidden;}
.vote-results em{display:block;height:100%;background:var(--gold);}
.sim-toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 17px;border-radius:10px;background:var(--deep);color:#fff;box-shadow:0 12px 30px rgba(10,30,48,.25);font-size:13px;transition:.2s;}
.sim-toast.show{opacity:1;transform:translate(-50%,0)}.sim-toast.error{background:var(--red)}
.teacher-hero{padding:52px 0}.teacher-hero .sim-hero-grid{align-items:center}.teacher-hero h1{font-size:43px}
.teacher-bar{grid-template-columns:1fr auto}.teacher-stats{grid-template-columns:repeat(3,1fr)}
.teacher-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start;}
.teacher-layout .sim-section{margin:0;}
.teacher-form{display:grid;gap:14px;}
.teacher-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#465462;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.teacher-form textarea{resize:vertical;line-height:1.6;}
.format-hint{padding:11px 13px;border-radius:8px;background:#f6f2ea;color:#6f644e;font-size:11px;white-space:pre-wrap;line-height:1.6;}
.published-list{display:grid;gap:9px;}
.published-list article{display:flex;justify-content:space-between;gap:13px;padding:12px 13px;border:1px solid #e1e5e9;border-radius:9px;}
.published-list article div{display:grid;gap:2px}.published-list span,.published-list small{font-size:10px;color:#84909b}.published-list b{font-size:13px;color:var(--navy)}
.published-list button{align-self:center;border:0;background:#f7ecea;color:var(--red);border-radius:7px;padding:6px 9px;cursor:pointer;font-size:11px;}
.submission-picker{display:grid;gap:6px;max-width:520px;font-size:12px;font-weight:700;color:#445260;margin-bottom:18px;}
.submission-card{border:1px solid #e0e5e9;border-radius:11px;padding:16px;margin-bottom:11px;}
.submission-meta{display:flex;justify-content:space-between;gap:15px}.submission-meta div{display:grid}.submission-meta b{color:var(--navy)}.submission-meta span{font-size:11px;color:#84909b}.submission-meta strong{color:var(--gold);font-size:13px;}
.submission-card pre{white-space:pre-wrap;background:#f7f9fa;border-radius:8px;padding:12px;font:12px/1.7 var(--sans);color:#4b5a68;}
.submission-card form{display:grid;grid-template-columns:110px 1fr auto;gap:9px;align-items:end;}
.submission-card label{display:grid;gap:4px;font-size:10px;color:#697681;}
.submission-card button{border:0;border-radius:8px;background:var(--navy);color:#fff;padding:10px 13px;cursor:pointer;}
@media(max-width:980px){
  .sim-hero-grid{grid-template-columns:1fr;gap:30px}.sim-hero-card{max-width:460px}.sim-hero-link{justify-self:start}
  .sim-stat-grid{grid-template-columns:repeat(2,1fr)}.trading-layout,.teacher-layout{grid-template-columns:1fr}
  .universe-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
  .sim-hero{padding:47px 0 43px}.sim-hero h1{font-size:37px}.sim-hero p{font-size:15px}
  .gate-card,.profile-card{grid-template-columns:1fr;padding:23px}.gate-number{width:46px;height:46px}.profile-card>div,.profile-card label:first-of-type,.profile-card .form-message,.profile-card button{grid-column:1}
  .profile-card button{justify-self:stretch}.sim-account-bar{grid-template-columns:1fr auto;gap:12px}.account-total{grid-row:2;text-align:left}.account-links{grid-column:2;grid-row:1/3;flex-direction:column}
  .sim-tabs{overflow-x:auto;flex-wrap:nowrap}.sim-tabs button{white-space:nowrap}.sim-stat-grid{grid-template-columns:1fr 1fr}.sim-stat b{font-size:21px}
  .sim-section{padding:18px 15px}.universe-grid{grid-template-columns:repeat(2,1fr)}.quote-head{flex-direction:column}.quote-price{text-align:left}
  .activity-card{align-items:flex-start}.activity-card>div:last-child{min-width:72px}.teacher-stats{grid-template-columns:repeat(3,1fr)}
  .form-grid,.submission-card form{grid-template-columns:1fr}.submission-card button{justify-self:start}
}
