:root {
  --sim-surface: #fff;
  --sim-soft: #f2f7f8;
  --sim-border: #dfe7e9;
  --sim-text: #172433;
  --sim-muted: #6c7b88;
  --sim-accent: #079ca3;
  --sim-accent-dark: #057e85;
  --sim-accent-soft: #e4f7f6;
}
body:not(.light-theme), body.dark-theme {
  --sim-surface: #17232d;
  --sim-soft: #1e2c36;
  --sim-border: #2e3f4b;
  --sim-text: #edf6f8;
  --sim-muted: #9aabb5;
  --sim-accent: #2bc2c5;
  --sim-accent-dark: #62dadd;
  --sim-accent-soft: rgba(43, 194, 197, .13);
}
.sim-page { width:min(1280px,100%); margin:0 auto; padding:28px 32px 60px; }
.sim-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:20px; padding:28px; border:1px solid var(--sim-border); border-radius:18px; background:linear-gradient(130deg,var(--sim-surface),var(--sim-accent-soft)); }
.sim-eyebrow { display:inline-flex; align-items:center; gap:7px; margin-bottom:8px; color:var(--sim-accent-dark); font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.sim-hero h1 { margin:0; color:var(--sim-text); font-size:clamp(1.65rem,3vw,2.4rem); letter-spacing:-.04em; }
.sim-hero p { max-width:700px; margin:9px 0 0; color:var(--sim-muted); font-size:.92rem; line-height:1.55; }
.sim-hero-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 16px; border:1px solid var(--sim-border); border-radius:10px; color:var(--sim-accent-dark); background:var(--sim-surface); font-size:.8rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.sim-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr); gap:18px; align-items:start; }
.sim-card { min-width:0; overflow:hidden; border:1px solid var(--sim-border); border-radius:16px; background:var(--sim-surface); box-shadow:0 12px 32px rgba(24,45,57,.06); }
.sim-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:19px 21px; border-bottom:1px solid var(--sim-border); }
.sim-card-head h2 { margin:0; color:var(--sim-text); font-size:1rem; }
.sim-card-head p { margin:5px 0 0; color:var(--sim-muted); font-size:.76rem; line-height:1.45; }
.sim-card-icon { display:grid; place-items:center; flex:0 0 auto; width:40px; height:40px; border-radius:11px; color:var(--sim-accent-dark); background:var(--sim-accent-soft); }
.sim-card-icon svg { width:19px; }
.sim-card-body { padding:21px; }
.sim-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sim-field { display:grid; gap:6px; min-width:0; }
.sim-field.full { grid-column:1/-1; }
.sim-field label,.sim-field-title { color:var(--sim-muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.sim-field input,.sim-field select { width:100%; min-width:0; min-height:44px; padding:0 11px; border:1px solid var(--sim-border); border-radius:9px; color:var(--sim-text); background:var(--sim-soft); font:inherit; font-size:.84rem; }
.sim-field input:focus,.sim-field select:focus { outline:3px solid color-mix(in srgb,var(--sim-accent) 22%,transparent); border-color:var(--sim-accent); }
.sim-mode { display:grid; grid-template-columns:1fr 1fr; min-height:44px; padding:3px; gap:4px; border:1px solid var(--sim-border); border-radius:9px; background:var(--sim-soft); }
.sim-mode button { border:0; border-radius:7px; color:var(--sim-muted); background:transparent; cursor:pointer; font-size:.8rem; font-weight:800; }
.sim-mode button.active { color:#fff; background:var(--sim-accent); }
.sim-check { display:flex; align-items:center; min-height:42px; padding:0 11px; gap:9px; border:1px solid var(--sim-border); border-radius:9px; color:var(--sim-muted); cursor:pointer; font-size:.8rem; }
.sim-check input { width:17px; height:17px; accent-color:var(--sim-accent); }
.sim-status { display:flex; align-items:center; min-height:42px; margin-top:15px; padding:10px 12px; gap:9px; border-radius:9px; color:var(--sim-muted); background:var(--sim-soft); font-size:.76rem; line-height:1.4; }
.sim-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }
.sim-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 17px; gap:8px; border:1px solid var(--sim-border); border-radius:10px; color:var(--sim-text); background:var(--sim-surface); cursor:pointer; font-weight:800; text-decoration:none; }
.sim-button.primary { color:#fff; border-color:var(--sim-accent); background:var(--sim-accent); }
.sim-button.primary:hover:not(:disabled) { background:var(--sim-accent-dark); }
.sim-button:disabled { opacity:.52; cursor:not-allowed; }
.current-list { display:grid; gap:14px; }
.current-list-title { color:var(--sim-text); font-size:1rem; font-weight:850; overflow-wrap:anywhere; }
.current-list-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.list-metric { padding:11px; border:1px solid var(--sim-border); border-radius:9px; background:var(--sim-soft); }
.list-metric strong { display:block; color:var(--sim-accent-dark); font-size:1rem; }
.list-metric span { display:block; margin-top:3px; color:var(--sim-muted); font-size:.68rem; }
.list-empty { padding:22px 10px; color:var(--sim-muted); text-align:center; }
.list-empty svg { width:32px; height:32px; margin-bottom:8px; color:var(--sim-accent); }
.list-empty strong { display:block; color:var(--sim-text); }
.list-empty p { margin:6px auto 15px; max-width:260px; font-size:.78rem; line-height:1.5; }
.sim-help { display:grid; gap:9px; margin-top:18px; }
.sim-help-row { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; align-items:start; color:var(--sim-muted); font-size:.76rem; line-height:1.45; }
.sim-help-row span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:var(--sim-accent-dark); background:var(--sim-accent-soft); font-weight:850; }
.sim-progress { width:15px; height:15px; border:2px solid var(--sim-border); border-top-color:var(--sim-accent); border-radius:50%; animation:sim-spin .7s linear infinite; }
.sim-saved { margin-top:18px; overflow:hidden; border:1px solid var(--sim-border); border-radius:18px; background:var(--sim-surface); box-shadow:0 12px 32px rgba(24,45,57,.06); }
.sim-saved-head { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:22px; border-bottom:1px solid var(--sim-border); }
.sim-saved-head h2 { margin:0; color:var(--sim-text); font-size:1.1rem; }
.sim-saved-head p { margin:5px 0 0; color:var(--sim-muted); font-size:.76rem; }
.session-search { display:flex; align-items:center; width:min(300px,100%); min-height:44px; padding:0 13px; gap:8px; border:1px solid var(--sim-border); border-radius:999px; background:var(--sim-soft); }
.session-search svg { width:18px; color:var(--sim-muted); }
.session-search input { width:100%; min-width:0; border:0; outline:0; color:var(--sim-text); background:transparent; font-size:.82rem; }
.saved-session-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; }
.saved-session-card { position:relative; min-width:0; overflow:hidden; border:1px solid var(--sim-border); border-radius:16px; background:var(--sim-soft); }
.saved-session-main { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; width:100%; min-height:128px; padding:17px 56px 17px 17px; gap:13px; color:var(--sim-text); text-align:left; }
.saved-session-main:hover { background:color-mix(in srgb,var(--sim-accent) 7%,var(--sim-soft)); }
.saved-session-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:14px; color:var(--sim-accent-dark); background:var(--sim-accent-soft); }
.saved-session-icon svg { width:24px; }
.saved-session-copy { min-width:0; }
.saved-session-copy .session-kind { display:block; margin-bottom:3px; color:var(--sim-accent-dark); font-size:.67rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.saved-session-copy strong { display:block; overflow:hidden; color:var(--sim-text); font-size:.93rem; text-overflow:ellipsis; white-space:nowrap; }
.saved-session-copy small { display:block; margin-top:4px; color:var(--sim-muted); font-size:.7rem; }
.session-filter-tags { display:flex; flex-wrap:wrap; margin-top:7px; gap:5px; }
.session-filter-tags > span { display:inline-flex; align-items:center; max-width:100%; min-height:23px; padding:3px 8px; gap:5px; overflow:hidden; border:1px solid color-mix(in srgb,var(--sim-accent) 28%,var(--sim-border)); border-radius:999px; color:var(--sim-accent-dark); background:var(--sim-accent-soft); font-size:.66rem; font-weight:750; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.session-filter-tags svg { flex:0 0 12px; width:12px; height:12px; }
.saved-session-progress { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; }
.saved-session-progress > span { height:6px; overflow:hidden; border-radius:999px; background:var(--sim-border); }
.saved-session-progress i { display:block; height:100%; border-radius:inherit; background:var(--sim-accent); }
.saved-session-progress small { color:var(--sim-muted); font-size:.68rem; white-space:nowrap; }
.saved-session-actions { position:absolute; top:12px; right:12px; display:flex; gap:4px; }
.saved-session-actions button { display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:9px; color:var(--sim-muted); background:var(--sim-surface); }
.saved-session-actions button:hover { color:var(--sim-accent-dark); }
.saved-session-actions button:last-child:hover { color:#d0443c; }
.saved-session-actions svg { width:16px; }
@keyframes sim-spin { to { transform:rotate(360deg); } }
@media(max-width:900px){.sim-page{padding:20px 16px 100px}.sim-grid{grid-template-columns:1fr}.sim-hero{align-items:flex-start;flex-direction:column}.sim-hero-link{width:100%}}
@media(max-width:760px){.saved-session-list{grid-template-columns:1fr}}
@media(max-width:560px){.sim-page{padding:14px 12px 112px}.sim-hero{margin-bottom:12px;padding:20px 16px;border-radius:14px}.sim-form-grid{grid-template-columns:1fr;gap:8px}.sim-field,.sim-field.full{grid-column:auto;padding:12px;border-radius:12px;background:var(--sim-accent-soft)}.sim-field:first-child{background:transparent;padding:0 0 8px}.sim-field input,.sim-field select{min-height:50px;background:var(--sim-surface);border-radius:12px}.sim-card-head,.sim-card-body{padding:16px}.sim-actions{position:sticky;z-index:6;bottom:82px;display:grid;grid-template-columns:1fr;padding:10px 0;background:var(--sim-surface)}.sim-button{width:100%;min-height:54px;border-radius:999px}.current-list-meta{grid-template-columns:1fr 1fr}.sim-saved-head{align-items:stretch;flex-direction:column;padding:17px}.session-search{width:100%}.saved-session-list{padding:10px}.saved-session-main{grid-template-columns:44px minmax(0,1fr);padding:14px 48px 14px 14px}.saved-session-icon{width:42px;height:42px}.saved-session-progress{grid-template-columns:1fr}.saved-session-progress small{white-space:normal}}
