:root {
  --bg: #eef3f1; --surface: rgba(255,255,255,.86); --surface-solid: #fff;
  --ink: #173842; --muted: #71858a; --line: rgba(19,64,75,.11);
  --primary: #0f586b; --primary-2: #197a8d; --accent: #f2a24a; --soft: #dcecef;
  --good: #2d9271; --warn: #db8640; --bad: #bd5b50; --shadow: 0 22px 55px rgba(17,52,61,.10);
  --orb-a: rgba(29,145,166,.22); --orb-b: rgba(244,167,78,.18); --sidebar: #0d3440;
}
body[data-theme="sunset"] {
  --bg: #f7eee5; --surface: rgba(255,251,246,.88); --surface-solid: #fffaf4;
  --ink: #4a3029; --muted: #927970; --line: rgba(108,62,43,.12);
  --primary: #a54c34; --primary-2: #d16e43; --accent: #f0b44f; --soft: #f3dfd2;
  --orb-a: rgba(224,105,67,.25); --orb-b: rgba(245,181,81,.23); --sidebar: #4b2924;
}
body[data-theme="jade"] {
  --bg: #edf3ef; --surface: rgba(250,254,251,.86); --surface-solid: #fbfefc;
  --ink: #173c35; --muted: #6b847d; --line: rgba(32,81,68,.11);
  --primary: #246d5b; --primary-2: #3c8b72; --accent: #d7a953; --soft: #dcece5;
  --orb-a: rgba(64,150,119,.22); --orb-b: rgba(214,175,88,.17); --sidebar: #163a33;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; color: var(--ink); background: var(--bg); font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; transition: background .5s ease, color .4s ease; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.is-hidden { display: none !important; }
.ambient { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.ambient i { position: absolute; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, var(--orb-a), transparent 66%); filter: blur(2px); animation: drift 16s ease-in-out infinite alternate; }
.ambient i:nth-child(1) { left: 8%; top: 4%; }.ambient i:nth-child(2) { right: 5%; top: 18%; width: 380px; height: 380px; animation-delay: -4s; }
.ambient i:nth-child(3) { left: 35%; bottom: -10%; width: 430px; height: 430px; background: radial-gradient(circle, var(--orb-b), transparent 65%); animation-delay: -8s; }
.ambient i:nth-child(4) { right: 22%; bottom: 18%; width: 170px; height: 170px; animation-delay: -2s; }.ambient i:nth-child(5) { left: -5%; top: 50%; width: 340px; height: 340px; animation-delay: -11s; }.ambient i:nth-child(6) { right: 40%; top: 3%; width: 120px; height: 120px; animation-delay: -6s; }
body[data-theme="sunset"] .ambient i { border-radius: 44% 56% 58% 42%; animation-name: koiDrift; }
body[data-theme="jade"] .ambient i { background: transparent; border: 1px solid var(--orb-a); box-shadow: 0 0 50px var(--orb-a) inset; animation-name: moonPulse; }
@keyframes drift { to { transform: translate3d(40px, 34px, 0) scale(1.14); } }
@keyframes koiDrift { to { transform: translate3d(55px, -25px, 0) rotate(18deg) scale(1.1); } }
@keyframes moonPulse { to { transform: translate3d(20px, 30px, 0) scale(1.22); opacity: .45; } }

.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(300px, 510px); place-content: center; gap: 34px; padding: 44px 20px; }
.login-brand { display: flex; align-items: center; justify-content: center; gap: 16px; text-align: left; }.login-brand span, .eyebrow { color: var(--primary-2); font-size: 11px; font-weight: 800; letter-spacing: .19em; }.login-brand h1 { margin: 5px 0 0; font-size: 28px; }
.brand-fish { display: grid; place-items: center; width: 64px; height: 64px; color: #fff; border-radius: 23px; background: linear-gradient(145deg, var(--accent), #ed7f43); box-shadow: 0 12px 30px rgba(225,123,58,.25); font-size: 24px; font-weight: 900; transform: rotate(-4deg); }.brand-fish--small { width: 43px; height: 43px; border-radius: 15px; font-size: 16px; }
.login-card { padding: 42px; border: 1px solid rgba(255,255,255,.6); border-radius: 30px; background: var(--surface); box-shadow: var(--shadow); backdrop-filter: blur(24px); }.login-card h2 { margin: 10px 0 8px; font-size: 32px; }.login-card p { margin: 0 0 28px; color: var(--muted); }.login-card label { display: block; margin-top: 18px; color: var(--muted); font-size: 13px; font-weight: 650; }.login-card input { width: 100%; margin-top: 8px; padding: 14px 16px; color: var(--ink); border: 1px solid var(--line); border-radius: 14px; outline: none; background: rgba(255,255,255,.7); }.login-card input:focus { border-color: var(--primary-2); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 12%, transparent); }.login-foot { color: var(--muted); font-size: 12px; text-align: center; }.form-error { min-height: 18px; margin-top: 14px; color: var(--bad); font-size: 13px; }
.button { padding: 11px 17px; border: 0; border-radius: 13px; font-weight: 750; transition: transform .2s, box-shadow .2s; }.button:hover { transform: translateY(-1px); }.button--primary { color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-2)); box-shadow: 0 9px 22px color-mix(in srgb, var(--primary) 22%, transparent); }.button--wide { width: 100%; display: flex; justify-content: space-between; margin-top: 25px; padding: 15px 18px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 24px 18px; color: rgba(255,255,255,.85); background: var(--sidebar); box-shadow: 12px 0 45px rgba(8,39,48,.09); z-index: 5; }.side-brand { display: flex; align-items: center; gap: 12px; padding: 4px 8px 27px; border-bottom: 1px solid rgba(255,255,255,.09); }.side-brand b, .side-brand span { display: block; }.side-brand b { font-size: 18px; }.side-brand span { margin-top: 2px; color: rgba(255,255,255,.48); font-size: 11px; letter-spacing: .16em; }
.side-nav { display: grid; gap: 7px; padding-top: 23px; }.nav-item { display: flex; align-items: center; gap: 13px; padding: 12px 13px; color: rgba(255,255,255,.58); border: 0; border-radius: 13px; background: transparent; text-align: left; }.nav-item span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; background: rgba(255,255,255,.06); }.nav-item:hover, .nav-item.is-active { color: #fff; background: rgba(255,255,255,.10); }.nav-item.is-active span { color: #44301d; background: var(--accent); }
.theme-panel { margin-top: auto; padding: 18px 7px 14px; border-top: 1px solid rgba(255,255,255,.09); }.side-label { display: block; margin: 0 6px 10px; color: rgba(255,255,255,.38); font-size: 10px; letter-spacing: .18em; }.theme-option { width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px; color: rgba(255,255,255,.6); border: 0; border-radius: 11px; background: transparent; text-align: left; }.theme-option > i { width: 20px; height: 20px; border: 2px solid rgba(255,255,255,.25); border-radius: 50%; }.theme-option:nth-of-type(2) > i { background: linear-gradient(135deg,#1b8194,#f3a34c); }.theme-option:nth-of-type(3) > i { background: linear-gradient(135deg,#d76542,#f2c259); }.theme-option:nth-of-type(4) > i { background: linear-gradient(135deg,#2c7865,#d5b45f); }.theme-option span, .theme-option small { display: block; }.theme-option small { margin-top: 1px; color: rgba(255,255,255,.3); font-size: 9px; letter-spacing: .08em; }.theme-option.is-active { color: #fff; background: rgba(255,255,255,.08); }.theme-option.is-active > i { border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.1); }.logout { margin: 6px 7px 0; padding: 10px; color: rgba(255,255,255,.45); border: 0; background: transparent; }

.main { min-width: 0; padding: 31px clamp(22px,4vw,58px) 60px; }.topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }.topbar h1 { margin: 6px 0 0; font-size: clamp(25px,3vw,36px); }.top-actions { display: flex; align-items: center; gap: 13px; }.health { display: flex; align-items: center; gap: 8px; padding: 10px 13px; color: var(--muted); border: 1px solid var(--line); border-radius: 13px; background: var(--surface); font-size: 12px; }.health i { width: 8px; height: 8px; border-radius: 50%; background: var(--good); box-shadow: 0 0 0 5px color-mix(in srgb,var(--good) 12%,transparent); }
.view { display: none; animation: fadeUp .35s ease both; }.view.is-active { display: block; } @keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } }
.stats-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }.stat-card, .panel { border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); backdrop-filter: blur(20px); }.stat-card { position: relative; overflow: hidden; padding: 21px; border-radius: 20px; }.stat-card::after { content:''; position:absolute; right:-22px; top:-28px; width:90px; height:90px; border-radius:50%; background:var(--soft); opacity:.7; }.stat-card span { color: var(--muted); font-size: 12px; }.stat-card strong { position: relative; z-index: 1; display: block; margin-top: 12px; font-size: 31px; }.stat-card small { display: block; margin-top: 8px; color: var(--primary-2); font-size: 11px; }
.content-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(270px,.7fr); gap: 18px; margin-top: 18px; }.panel { margin-top: 18px; padding: 23px; border-radius: 22px; }.content-grid .panel { margin-top: 0; }.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.panel h2, .section-intro h2 { margin: 5px 0 0; font-size: 20px; }.text-button { color: var(--primary); border: 0; background: transparent; font-weight: 750; }.status-pill { padding: 7px 11px; color: var(--good); border-radius: 99px; background: color-mix(in srgb,var(--good) 12%,transparent); font-size: 11px; }
.week-preview { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 9px; margin-top: 21px; }.day-preview { min-width: 0; padding: 14px 10px; border: 1px solid var(--line); border-radius: 15px; background: color-mix(in srgb,var(--surface-solid) 75%,transparent); }.day-preview.is-thursday { color: #fff; border-color: transparent; background: linear-gradient(145deg,var(--primary),var(--primary-2)); }.day-preview span, .day-preview b, .day-preview small { display: block; }.day-preview span { font-size: 10px; opacity: .72; }.day-preview b { margin-top: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }.day-preview small { margin-top: 7px; opacity: .64; font-size: 9px; }
.source-summary { margin-top: 20px; }.source-line { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 12px; }.source-line:last-child { border: 0; }.source-line span { color: var(--muted); }.timeline { margin-top: 17px; }.timeline-item { display: grid; grid-template-columns: 10px 150px 1fr; gap: 12px; align-items: center; padding: 11px 0; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 12px; }.timeline-item i { width: 8px; height: 8px; border-radius: 50%; background: var(--primary-2); }.timeline-item b { color: var(--ink); }
.section-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }.section-intro p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }.legend { display: flex; gap: 15px; color: var(--muted); font-size: 11px; }.dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #a8b4b4; }.dot--on { background: var(--good); }
.category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }.category-card { padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow); }.category-top { display: flex; justify-content: space-between; gap: 12px; }.category-icon { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; color: var(--primary); background: var(--soft); font-weight: 900; }.category-toggle { width: 38px; height: 22px; padding: 3px; border: 0; border-radius: 99px; background: #c9d1cf; }.category-toggle::after { content:''; display:block; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .2s; }.category-toggle.is-on { background: var(--good); }.category-toggle.is-on::after { transform: translateX(16px); }.category-card h3 { margin: 15px 0 7px; font-size: 16px; }.category-card p { min-height: 34px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }.category-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }.category-tags span { padding: 5px 8px; border-radius: 99px; color: var(--primary); background: var(--soft); font-size: 9px; }.category-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }.category-foot span { color: var(--muted); font-size: 10px; }.mini-button { padding: 7px 10px; color: var(--primary); border: 1px solid var(--line); border-radius: 9px; background: transparent; font-size: 10px; font-weight: 750; }
.week-label { padding: 9px 13px; color: var(--primary); border-radius: 12px; background: var(--soft); font-size: 11px; }.content-list { display: grid; gap: 12px; }.content-item { display: grid; grid-template-columns: 92px minmax(0,1fr) 120px; gap: 18px; align-items: center; padding: 18px 20px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 10px 24px rgba(30,55,60,.06); }.content-date b, .content-date span { display:block; }.content-date b { font-size:13px; }.content-date span { margin-top:5px; color:var(--muted); font-size:10px; }.content-copy { min-width:0; }.content-copy h3 { margin:0; font-size:15px; }.content-copy p { margin:7px 0 0; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.55; text-overflow:ellipsis; white-space:nowrap; }.content-side { text-align:right; }.item-status { display:inline-block; padding:6px 9px; border-radius:99px; color:var(--good); background:color-mix(in srgb,var(--good) 11%,transparent); font-size:9px; }.item-status.is-pending { color:var(--warn); background:color-mix(in srgb,var(--warn) 12%,transparent); }.content-side button { display:block; margin:10px 0 0 auto; }
.run-list { margin-top:16px; }.run-item { display:grid; grid-template-columns:130px 80px 1fr; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); font-size:11px; }.run-item span { color:var(--muted); }.run-topics { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.safety-list { margin:17px 0 0; padding:0; list-style:none; }.safety-list li { position:relative; padding:11px 0 11px 19px; color:var(--muted); border-bottom:1px solid var(--line); font-size:12px; line-height:1.45; }.safety-list li::before { content:'✓'; position:absolute; left:0; color:var(--good); font-weight:900; }
.dialog { width:min(590px,calc(100vw - 32px)); padding:0; color:var(--ink); border:0; border-radius:24px; background:var(--surface-solid); box-shadow:0 28px 90px rgba(0,0,0,.28); }.dialog::backdrop { background:rgba(6,30,36,.55); backdrop-filter:blur(5px); }.dialog form { position:relative; padding:28px; }.dialog-close { position:absolute; right:17px; top:15px; width:32px; height:32px; color:var(--muted); border:0; border-radius:50%; background:var(--soft); font-size:20px; }.dialog h2 { margin:0 0 22px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.field { display:block; color:var(--muted); font-size:11px; font-weight:650; }.field--full { grid-column:1/-1; }.field input, .field select, .field textarea { width:100%; margin-top:7px; padding:11px 12px; color:var(--ink); border:1px solid var(--line); border-radius:11px; outline:none; background:var(--bg); }.field textarea { min-height:130px; resize:vertical; line-height:1.55; }.check-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }.check-row label { display:flex; align-items:center; gap:5px; padding:7px 9px; border-radius:9px; background:var(--soft); }.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:23px; }.toast { position:fixed; right:28px; bottom:28px; z-index:50; padding:13px 17px; color:#fff; border-radius:13px; background:#183f48; box-shadow:0 13px 35px rgba(0,0,0,.2); opacity:0; transform:translateY(12px); pointer-events:none; transition:.25s; }.toast.is-show { opacity:1; transform:none; }
@media (max-width: 1050px) { .stats-grid { grid-template-columns:repeat(2,1fr); }.category-grid { grid-template-columns:repeat(2,1fr); }.week-preview { grid-template-columns:repeat(4,1fr); } }
@media (max-width: 760px) { .app-shell { display:block; }.sidebar { position:relative; width:100%; height:auto; padding:14px; }.side-brand { padding-bottom:13px; }.side-nav { grid-template-columns:repeat(4,1fr); padding-top:12px; }.nav-item { justify-content:center; padding:9px 5px; font-size:11px; }.nav-item span { display:none; }.theme-panel { display:flex; gap:5px; padding:12px 0 0; }.side-label,.theme-option small,.logout { display:none; }.theme-option { justify-content:center; }.main { padding:22px 15px 50px; }.topbar { align-items:flex-start; }.health { display:none; }.content-grid { grid-template-columns:1fr; }.category-grid { grid-template-columns:1fr; }.content-item { grid-template-columns:70px minmax(0,1fr); }.content-side { grid-column:2; display:flex; align-items:center; gap:8px; }.content-side button { margin:0; }.form-grid { grid-template-columns:1fr; }.field--full { grid-column:auto; } }

/* Components rendered by app.js */
.stat-card > div { height:3px; margin-top:15px; overflow:hidden; border-radius:9px; background:var(--soft); }.stat-card > div i { display:block; width:var(--progress); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--primary),var(--accent)); }.stat-card em { display:block; margin-top:8px; color:var(--muted); font-size:10px; font-style:normal; }
.week-mini { min-width:0; padding:13px 9px; color:var(--ink); border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb,var(--surface-solid) 75%,transparent); text-align:left; transition:.2s; }.week-mini:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--primary) 35%,transparent); }.week-mini span,.week-mini b,.week-mini small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.week-mini span { color:var(--muted); font-size:9px; }.week-mini > i { display:grid; place-items:center; width:29px; height:29px; margin:10px 0; border-radius:10px; color:#fff; background:var(--category); font-style:normal; font-size:12px; }.week-mini b { font-size:11px; }.week-mini small { margin-top:6px; color:var(--muted); font-size:9px; }
.empty { grid-column:1/-1; padding:28px; color:var(--muted); border:1px dashed var(--line); border-radius:15px; text-align:center; font-size:12px; }
.source-summary { display:grid; grid-template-columns:90px 1fr; align-items:center; gap:18px; }.source-orbit { position:relative; display:grid; place-items:center; width:82px; height:82px; border:1px solid var(--line); border-radius:50%; background:var(--soft); }.source-orbit::after { content:''; position:absolute; inset:8px; border:1px dashed var(--primary-2); border-radius:50%; animation:spin 10s linear infinite; }.source-orbit span { z-index:1; font-size:12px; font-weight:800; }.source-orbit i { position:absolute; top:5px; width:9px; height:9px; border-radius:50%; background:var(--accent); }.source-summary dl { margin:0; }.source-summary dl > div { padding:9px 0; border-bottom:1px solid var(--line); }.source-summary dt { color:var(--muted); font-size:9px; }.source-summary dd { margin:3px 0 0; font-size:11px; font-weight:700; } @keyframes spin { to { transform:rotate(360deg); } }
.timeline-item { grid-template-columns:10px minmax(0,1fr) auto; }.timeline-item div b,.timeline-item div span { display:block; }.timeline-item div span { margin-top:3px; color:var(--muted); font-size:10px; }.timeline-item time { white-space:nowrap; }
.category-card { transition:opacity .25s,transform .25s; }.category-card:hover { transform:translateY(-2px); }.category-card.is-off { opacity:.58; }.category-head { display:flex; align-items:center; gap:12px; }.category-head > i { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#fff; background:var(--category); font-style:normal; }.category-head > div { min-width:0; flex:1; }.category-head h3 { margin:0 0 4px; }.category-head span { color:var(--muted); font-size:10px; }.switch { width:40px; height:23px; padding:3px; border:0; border-radius:99px; background:#c9d1cf; }.switch i { display:block; width:17px; height:17px; border-radius:50%; background:#fff; transition:.2s; }.switch.is-on { background:var(--good); }.switch.is-on i { transform:translateX(17px); }.category-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }.category-meta span { padding:5px 8px; color:var(--primary); border-radius:99px; background:var(--soft); font-size:9px; }.card-edit { width:100%; margin-top:14px; padding-top:13px; color:var(--primary); border:0; border-top:1px solid var(--line); background:transparent; text-align:right; font-size:10px; font-weight:750; }
.content-card { display:grid; grid-template-columns:95px minmax(0,1fr) 74px; gap:18px; align-items:start; padding:19px 21px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:0 10px 24px rgba(30,55,60,.06); }.content-date b,.content-date span { display:block; }.content-body { min-width:0; }.content-body h3 { margin:11px 0 6px; font-size:15px; }.content-body p { display:-webkit-box; margin:0; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:3; }.content-body small { display:block; margin-top:8px; color:var(--muted); font-size:9px; }.content-tags { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }.content-tags > span,.content-tags em { padding:5px 8px; border-radius:99px; font-size:9px; font-style:normal; }.content-tags > span { color:#fff; background:var(--category); }.status--published { color:var(--good); background:color-mix(in srgb,var(--good) 12%,transparent); }.status--pending { color:var(--warn); background:color-mix(in srgb,var(--warn) 12%,transparent); }.locked { color:var(--primary); background:var(--soft); }.button--ghost { color:var(--primary); border:1px solid var(--line); background:transparent; box-shadow:none; }
.run-item { grid-template-columns:32px minmax(0,1fr) auto; align-items:center; }.run-item > i { display:grid; place-items:center; width:26px; height:26px; color:var(--good); border-radius:9px; background:color-mix(in srgb,var(--good) 12%,transparent); font-style:normal; }.run-item div b,.run-item div span { display:block; }.run-item div span { margin-top:4px; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }.run-item time { color:var(--muted); white-space:nowrap; }
.dialog label,.dialog fieldset { display:block; margin:15px 0 0; color:var(--muted); border:0; font-size:11px; font-weight:650; }.dialog input,.dialog select,.dialog textarea { width:100%; margin-top:7px; padding:11px 12px; color:var(--ink); border:1px solid var(--line); border-radius:11px; outline:none; background:var(--bg); }.dialog textarea { resize:vertical; line-height:1.55; }.dialog input:focus,.dialog select:focus,.dialog textarea:focus { border-color:var(--primary-2); }.dialog fieldset { padding:0; }.dialog legend { margin-bottom:8px; }.checks { display:flex; flex-wrap:wrap; gap:7px; }.checks .check { margin:0; }.checks input { position:absolute; opacity:0; pointer-events:none; }.checks span { display:block; padding:7px 10px; border-radius:9px; background:var(--soft); }.checks input:checked + span { color:#fff; background:var(--primary); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:end; }.check-line { display:flex !important; align-items:center; gap:8px; min-height:42px; }.check-line input { width:auto; margin:0; }.toast.is-error { background:var(--bad); }
@media (max-width:760px) { .week-preview { grid-template-columns:repeat(2,1fr); }.source-summary { grid-template-columns:1fr; }.source-orbit { margin:auto; }.content-card { grid-template-columns:70px minmax(0,1fr); }.content-card > .button { grid-column:2; justify-self:start; }.form-row { grid-template-columns:1fr; } }
