/* Upgrade planning: a quiet working ledger within the Clash Compass atlas. */
.up-page {
  --up-paper:var(--cc-paper,#f7f5ef);
  --up-surface:var(--cc-surface,#fffef9);
  --up-ink:var(--cc-ink,#263024);
  --up-muted:var(--cc-muted,#6b7065);
  --up-line:var(--cc-line,#d9ddcf);
  --up-soft:var(--cc-soft,#e9ecdf);
  --up-clay:var(--cc-accent,#a45132);
  --up-olive:var(--cc-olive,#344b32);
  --up-bar:#dce6cf;
  --up-bar-ink:#30472e;
  --up-lab:#e9ddec;
  --up-lab-ink:#60465f;
  --up-pet:#eedecf;
  --up-pet-ink:#76482e;
  min-width:0;
  color:var(--up-ink);
  font-family:var(--cc-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);
}
:root[data-theme=dark] .up-page {
  --up-bar:#394b31;
  --up-bar-ink:#e0e9d3;
  --up-lab:#453949;
  --up-lab-ink:#e6d5e8;
  --up-pet:#523e2e;
  --up-pet-ink:#f3dac1;
}
.up-page *, .up-dialog * { box-sizing:border-box; }
.up-page [hidden], .up-dialog [hidden] { display:none!important; }
.up-page :is(button,input,select,textarea):focus-visible,
.up-dialog :is(button,input,select,textarea):focus-visible {
  outline:2px solid var(--cc-accent,#a45132);
  outline-offset:3px;
}
.up-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:8px 0 24px; }
.up-header .eyebrow { margin:0 0 10px; color:var(--up-clay); font-size:10px; letter-spacing:.16em; font-weight:650; text-transform:uppercase; }
.compass-app #app .up-header h1 { margin:0 0 10px; font:500 clamp(32px,3.6vw,44px)/1.12 var(--cc-display,Georgia,serif); letter-spacing:-.055em; }
.up-header p:not(.eyebrow) { margin:0; max-width:650px; color:var(--up-muted); font-size:14px; line-height:1.6; }
.up-header-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; flex-shrink:0; }
.up-page button, .up-dialog button {
  min-height:42px; padding:10px 15px; border:1px solid var(--cc-line,#d9ddcf);
  border-radius:4px; background:var(--cc-surface,#fffef9); color:var(--cc-ink,#263024);
  font:600 12px/1.35 var(--cc-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);
  cursor:pointer; box-shadow:none; transition:background .15s,border-color .15s;
}
.up-page button:hover:not(:disabled), .up-dialog button:hover:not(:disabled) { background:var(--cc-soft,#e9ecdf); border-color:var(--cc-muted,#6b7065); }
.up-page button:disabled, .up-dialog button:disabled { cursor:default; opacity:.45; }
.up-page button.up-primary, .up-dialog button.up-primary { background:var(--cc-olive,#344b32); border-color:var(--cc-olive,#344b32); color:var(--cc-paper,#f7f5ef); }
.up-page button.up-primary:hover:not(:disabled), .up-dialog button.up-primary:hover:not(:disabled) { background:var(--cc-ink,#263024); border-color:var(--cc-ink,#263024); }
.up-page button.up-subtle, .up-dialog button.up-subtle { background:transparent; }
.up-page button.up-icon, .up-dialog button.up-icon { display:inline-grid; place-items:center; min-width:42px; padding:8px; font-size:17px; font-weight:400; }
.up-intro { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:0 0 22px; padding:17px 20px; border:1px solid var(--up-line); border-radius:5px; background:var(--up-surface); }
.up-intro>div:first-child { flex:1; min-width:0; }
.up-intro>div:last-child { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; flex-shrink:0; }
.up-intro strong { font-size:13px; line-height:1.5; font-weight:650; }
.up-intro button { min-height:38px; padding:8px 11px; font-size:11px; }
.up-intro h2 { margin:0 0 10px; font:500 26px/1.2 var(--cc-display,Georgia,serif); letter-spacing:-.035em; }
.up-intro p { margin:6px 0 0; max-width:720px; color:var(--up-muted); line-height:1.6; font-size:12px; }
.up-intro p:last-child { margin-bottom:0; }
.up-workspace { display:grid; grid-template-columns:minmax(0,1fr) 292px; align-items:start; gap:24px; }
.up-workspace>*, .up-main, .up-aside { min-width:0; }
.up-main, .up-aside { display:grid; align-content:start; gap:24px; }
.up-panel { min-width:0; border:1px solid var(--up-line); border-radius:5px; background:var(--up-surface); overflow:clip; }
.up-panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border-bottom:1px solid var(--up-line); }
.up-panel-head h2, .up-panel-head h3 { margin:0; font-size:17px; font-weight:600; line-height:1.35; letter-spacing:-.025em; }
.up-panel-head p, .up-panel-head small { color:var(--up-muted); font-size:11px; line-height:1.5; margin:5px 0 0; }
.up-panel-head>button { flex-shrink:0; }
.up-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; padding:16px 22px; }
.up-toolbar>span, .up-toolbar>small { font-size:11px; color:var(--up-muted); }
.up-segment { display:inline-flex; flex-wrap:wrap; border:1px solid var(--up-line); border-radius:4px; padding:3px; gap:3px; background:var(--up-paper); }
.up-segment button { min-height:34px; padding:7px 12px; background:transparent; border-color:transparent; font-size:11px; }
.up-segment button[aria-pressed=true] { background:var(--up-surface); color:var(--up-olive); border-color:var(--up-line); }
.up-strategy { display:flex; flex-wrap:wrap; gap:8px; padding:0 22px 18px; }
.up-strategy.up-segment { width:fit-content; max-width:calc(100% - 40px); margin:14px 20px 12px; padding:3px; gap:3px; }
.up-strategy button { min-height:38px; padding:8px 12px; font-size:11px; font-weight:550; background:var(--up-paper); }
.up-strategy button[aria-pressed=true] { border-color:var(--up-olive); color:var(--up-olive); background:var(--up-soft); }
.up-controls, .up-settings-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:18px 16px; }
.up-controls { padding:20px 22px; }
.up-controls label, .up-settings-fields label, .up-dialog-body>label { display:grid; gap:8px; min-width:0; color:var(--cc-ink,#263024); font-size:12px; font-weight:600; }
.up-controls small, .up-settings-fields small { font-weight:400; line-height:1.5; color:var(--cc-muted,#6b7065); font-size:11px; }
.up-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
.up-dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  min-width:0; width:100%; min-height:44px; border:1px solid var(--cc-line,#d9ddcf); border-radius:4px;
  color:var(--cc-ink,#263024); background:var(--cc-paper,#f7f5ef); padding:10px 12px;
  font:400 14px/1.4 var(--cc-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);
}
.up-page :is(input,textarea)::placeholder, .up-dialog :is(input,textarea)::placeholder { color:var(--cc-muted,#6b7065); opacity:.8; }
.up-page input[type=checkbox], .up-dialog input[type=checkbox] { accent-color:var(--cc-olive,#344b32); width:17px; height:17px; margin:0; }
.up-controls label:has(input[type=checkbox]), .up-settings-fields label:has(input[type=checkbox]) { display:flex; align-items:center; gap:9px; min-height:44px; font-weight:500; }
.up-settings-fields .up-field-wide { grid-column:1/-1; }
.up-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 20px 18px; border-block:1px solid var(--up-line); }
.up-summary>div { min-width:0; padding:13px 10px; border-bottom:1px solid var(--up-line); }
.up-summary>div:nth-child(odd) { padding-inline-start:0; }
.up-summary>div:nth-child(even) { border-inline-start:1px solid var(--up-line); }
.up-summary>div:nth-last-child(-n+2) { border-bottom:0; }
.up-summary>div>small { display:block; font-size:10px; font-weight:400; color:var(--up-muted); line-height:1.5; margin:0 0 5px; }
.up-summary>div>b { display:block; font-size:15px; font-weight:600; line-height:1.45; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.up-stat { min-width:0; padding:22px 20px; border-inline-start:1px solid var(--up-line); }
.up-stat:first-child { border-inline-start:0; padding-inline-start:0; }
.up-stat h3 { margin:0 0 11px; font-size:10px; font-weight:550; letter-spacing:.05em; color:var(--up-muted); }
.up-stat strong { display:block; font:500 clamp(26px,2.8vw,38px)/1.15 var(--cc-display,Georgia,serif); letter-spacing:-.045em; }
.up-stat small { display:block; margin-top:7px; font-size:11px; color:var(--up-muted); line-height:1.5; }
.up-aside .up-panel>.up-stat { border:0; padding:20px; }
.up-aside .up-stat strong { font-size:27px; line-height:1.25; }
.up-aside .up-panel>button { display:block; width:calc(100% - 40px); margin:0 20px 14px; text-align:start; font-weight:500; }
.up-aside .up-panel-head+button { margin-top:18px; }
.up-aside .up-panel>.up-help { margin:16px 20px 0; border:0; padding:0; font-size:11px; line-height:1.6; }
.up-aside .up-panel>details { margin:0 20px 16px; border-top:1px solid var(--up-line); }
.up-aside .up-panel>details>summary { padding:13px 0 0; color:var(--up-ink); font-size:11px; font-weight:550; cursor:pointer; }
.up-aside .up-panel>details .up-costs { padding:4px 0 0; }
.up-aside .up-data-note { padding-inline:20px; }
.up-timeline-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:var(--up-line) transparent; }
.up-timeline { min-width:760px; padding:0 22px 22px; }
.up-axis, .up-lane { display:grid; grid-template-columns:140px minmax(0,1fr); }
.up-axis { min-height:38px; align-items:center; color:var(--up-muted); font-size:10px; }
.up-axis>span { padding-inline-end:12px; }
.up-axis-days { display:flex; justify-content:space-between; gap:10px; font-variant-numeric:tabular-nums; }
.up-axis-days>* { flex:1; min-width:0; text-align:start; white-space:nowrap; }
.up-axis-days>*:last-child { text-align:end; }
.up-lane { min-height:74px; border-top:1px solid var(--up-line); }
.up-lane-label { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; min-width:0; padding:12px 10px 12px 0; font-size:11px; font-weight:600; line-height:1.4; }
.up-lane-label img { width:30px; height:34px; flex-shrink:0; object-fit:contain; }
.up-lane-label small { display:block; color:var(--up-muted); font-size:10px; font-weight:400; }
.up-lane-track { position:relative; min-width:0; min-height:74px; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),var(--up-line) calc(25% - 1px),var(--up-line) 25%); }
.up-page .up-bar {
  position:absolute; top:13px; display:flex; flex-direction:row; gap:7px; justify-content:flex-start; align-items:center;
  min-height:46px; max-width:100%; padding:7px 9px; overflow:hidden;
  border:1px solid color-mix(in srgb,var(--up-bar-ink) 24%,transparent); border-radius:3px;
  background:var(--up-bar); color:var(--up-bar-ink); text-align:start; line-height:1.25; cursor:pointer;
}
.up-page .up-bar:hover:not(:disabled) { background:var(--up-bar); border-color:var(--up-bar-ink); }
.up-bar strong, .up-bar .up-bar-title, .up-bar>span { display:block; max-width:100%; font-size:10px; font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.up-bar small { display:block; max-width:100%; margin-top:3px; font-size:9px; font-weight:400; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:.8; }
.up-bar .up-item-art { width:22px; height:27px; min-width:0; flex-shrink:1; font-size:16px; }
.up-bar>span:not(.up-item-art) { min-width:0; flex:1; }
.up-page .up-bar:is(.active,.is-active,[data-state=active]) { border-inline-start:3px solid var(--up-bar-ink); }
.up-page .up-bar:is(.lab,[data-kind=lab]) { --up-bar:var(--up-lab); --up-bar-ink:var(--up-lab-ink); }
.up-page .up-bar:is(.pets,.pet,[data-kind=pets]) { --up-bar:var(--up-pet); --up-bar-ink:var(--up-pet-ink); }
.up-legend { display:flex; flex-wrap:wrap; gap:15px; align-items:center; padding:0 22px 18px; color:var(--up-muted); font-size:10px; }
.up-legend span { display:inline-flex; align-items:center; gap:6px; }
.up-legend i { width:12px; height:7px; border-radius:1px; background:var(--up-bar); }
.up-legend .lab i { background:var(--up-lab); }
.up-legend .pets i { background:var(--up-pet); }
.up-queue-list, .up-add-list { list-style:none; margin:0; padding:0; }
.up-queue-row, .up-add-list>li, .up-add-list>.up-add-row { display:flex; align-items:center; gap:13px; min-width:0; padding:17px 22px; border-bottom:1px solid var(--up-line); }
.up-queue-row:last-child, .up-add-list>li:last-child, .up-add-list>.up-add-row:last-child { border-bottom:0; }
.up-item-art { width:43px; height:45px; flex-shrink:0; object-fit:contain; display:grid; place-items:center; font-size:24px; }
.up-item-art img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.up-queue-text { flex:1; min-width:0; }
.up-queue-text strong { display:block; font-size:12px; font-weight:600; line-height:1.5; }
.up-queue-text small { display:block; margin-top:3px; color:var(--up-muted); font-size:11px; line-height:1.5; }
.up-queue-time { flex-shrink:0; margin-inline-start:auto; text-align:end; }
.up-queue-time strong { display:block; font-size:11px; font-weight:600; line-height:1.5; }
.up-queue-time small { display:block; color:var(--up-muted); font-size:10px; line-height:1.5; margin-top:3px; }
.up-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:5px; flex-shrink:0; }
.up-row-actions button { min-height:36px; padding:7px 10px; font-size:11px; }
.up-row-actions button.up-icon { min-width:36px; font-size:16px; }
.up-row-badge { display:inline-block; margin-inline-start:6px; padding:2px 6px; border-radius:2px; color:var(--up-olive); background:var(--up-soft); font-size:9px; font-weight:500; vertical-align:middle; }
.up-notice, .up-warning { margin:18px 0; padding:14px 17px; border-inline-start:2px solid var(--up-clay); background:var(--up-soft); color:var(--up-ink); font-size:12px; line-height:1.7; }
.up-warning { background:color-mix(in srgb,var(--up-clay) 9%,var(--up-paper)); }
.up-notice strong, .up-warning strong { font-weight:650; }
.up-notice p, .up-warning p { margin:0; }
.up-empty { padding:38px 24px; text-align:center; color:var(--up-muted); font-size:13px; line-height:1.75; }
.up-empty h3 { margin:0 0 9px; color:var(--up-ink); font:500 25px/1.2 var(--cc-display,Georgia,serif); }
.up-empty p { margin:0 0 18px; }
.up-empty p:last-child { margin:0; }
.up-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,.55fr); gap:10px; padding:18px 22px; border-bottom:1px solid var(--up-line); }
.up-filters label { display:grid; min-width:0; gap:6px; font-size:11px; color:var(--up-muted); }
.up-costs { display:grid; gap:0; padding:8px 22px 17px; }
.up-costs>div, .up-costs>li { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:12px 0; border-bottom:1px solid var(--up-line); font-size:12px; line-height:1.5; }
.up-costs>*:last-child { border-bottom:0; }
.up-costs span { color:var(--up-muted); }
.up-costs strong { text-align:end; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
.up-costs img { width:18px; height:20px; object-fit:contain; vertical-align:middle; margin-inline-end:5px; }
.up-costs>p { margin:7px 0; color:var(--up-muted); font-size:12px; line-height:1.6; }
.up-data-note { padding:0 22px 20px; margin:0; font-size:11px; line-height:1.7; color:var(--up-muted); }
.up-help { margin:28px 0 10px; border-top:1px solid var(--up-line); padding-top:19px; color:var(--up-muted); font-size:12px; line-height:1.75; }
.up-help summary { cursor:pointer; color:var(--up-ink); font-size:12px; font-weight:600; padding:6px 0; }
.up-help p { max-width:920px; margin:13px 0; }
.up-help ul { padding-inline-start:20px; }
.up-help li { margin:7px 0; }
.up-help a { color:var(--up-clay); text-underline-offset:3px; }
.up-dialog {
  width:min(620px,calc(100vw - 36px)); max-height:calc(100dvh - 48px); padding:0;
  border:1px solid var(--cc-line,#d9ddcf); border-radius:6px;
  background:var(--cc-surface,#fffef9); color:var(--cc-ink,#263024);
  box-shadow:0 18px 65px #26302426; overflow:auto;
  font-family:var(--cc-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);
}
.up-dialog::backdrop { background:#1f281fcc; }
.up-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px; border-bottom:1px solid var(--cc-line,#d9ddcf); }
.up-dialog-header h2, .up-dialog-header h3 { margin:0; font:500 27px/1.2 var(--cc-display,Georgia,serif); letter-spacing:-.035em; }
.up-dialog-header button { flex-shrink:0; }
.up-dialog-body { padding:24px; }
.up-dialog-body p { margin:0 0 20px; font-size:13px; line-height:1.75; color:var(--cc-muted,#6b7065); }
.up-dialog-footer { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; padding:18px 24px; border-top:1px solid var(--cc-line,#d9ddcf); }
.up-dialog-footer button:first-child { margin-inline-end:auto; }
.up-item-detail { display:flex; align-items:center; gap:18px; margin:0 0 24px; }
.up-item-detail>img { width:65px; height:70px; object-fit:contain; }
.up-item-detail h3 { margin:0 0 7px; font-size:17px; font-weight:600; }
.up-item-detail p { margin:0; font-size:12px; }
.up-stepper { display:flex; align-items:center; gap:8px; }
.up-stepper input { text-align:center; max-width:85px; }
.up-stepper button { min-width:42px; }
@media(max-width:1100px) {
  .up-workspace { grid-template-columns:minmax(0,1fr) 255px; gap:18px; }
  .up-header-actions { max-width:270px; }
  .up-panel-head, .up-toolbar, .up-queue-row, .up-add-list>li, .up-add-list>.up-add-row { padding-inline:18px; }
  .up-timeline { padding-inline:18px; }
}
@media(max-width:900px) {
  .up-workspace { grid-template-columns:minmax(0,1fr); }
  .up-aside { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .up-aside>.up-notice, .up-aside>.up-warning { grid-column:1/-1; }
  .up-header { align-items:flex-start; }
  .up-header-actions { max-width:240px; }
  .up-intro { align-items:flex-start; }
  .up-intro>div:last-child { max-width:240px; }
}
@media(max-width:640px) {
  .up-header { flex-direction:column; gap:17px; padding-top:6px; padding-bottom:20px; }
  .up-header-actions { justify-content:flex-start; max-width:none; width:100%; }
  .up-header-actions button { flex:1 1 auto; }
  .up-header p:not(.eyebrow) { font-size:14px; }
  .up-intro { flex-direction:column; gap:14px; padding:17px 16px; margin-bottom:18px; }
  .up-intro>div:last-child { justify-content:flex-start; max-width:none; }
  .up-intro h2 { font-size:24px; }
  .up-summary { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 16px 17px; }
  .up-stat { padding:17px 12px; }
  .up-stat h3 { min-height:28px; font-size:10px; line-height:1.4; margin-bottom:9px; }
  .up-stat strong { font-size:25px; overflow-wrap:anywhere; }
  .up-stat small { font-size:10px; }
  .up-aside .up-panel>.up-stat { padding:18px 16px; }
  .up-aside .up-stat strong { font-size:26px; }
  .up-aside .up-panel>button { width:calc(100% - 32px); margin-inline:16px; }
  .up-aside .up-panel>.up-help, .up-aside .up-panel>details { margin-inline:16px; }
  .up-aside .up-data-note { padding-inline:16px; }
  .up-main, .up-aside { gap:18px; }
  .up-aside { grid-template-columns:minmax(0,1fr); }
  .up-panel-head { padding:18px 16px; gap:10px; }
  .up-panel-head h2 { font-size:16px; }
  .up-panel-head>button { min-height:38px; padding:8px 10px; font-size:11px; }
  .up-toolbar { padding:15px 16px; align-items:flex-start; }
  .up-strategy { padding:0 16px 16px; gap:6px; }
  .up-strategy.up-segment { margin:12px 16px 11px; max-width:calc(100% - 32px); padding:3px; gap:3px; }
  .up-strategy button { padding:8px 10px; }
  .up-controls { padding:18px 16px; gap:16px 12px; }
  .up-controls label { font-size:11px; }
  .up-queue-row, .up-add-list>li, .up-add-list>.up-add-row { gap:10px; padding:15px 16px; flex-wrap:wrap; }
  .up-item-art { width:35px; height:40px; }
  .up-queue-text { min-width:calc(100% - 55px); }
  .up-queue-time { text-align:start; margin-inline-start:45px; }
  .up-row-actions { margin-inline-start:auto; width:100%; }
  .up-row-actions button { min-height:40px; }
  .up-row-actions .up-icon { min-width:40px; }
  .up-add-list .up-row-actions { width:auto; }
  .up-legend { padding:0 16px 16px; gap:10px; }
  .up-filters { padding:16px; grid-template-columns:minmax(0,1fr) minmax(105px,.6fr); }
  .up-costs { padding:6px 16px 14px; }
  .up-data-note { padding-inline:16px; }
  .up-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .up-dialog-header { padding:18px; }
  .up-dialog-body { padding:20px 18px; }
  .up-dialog-footer { padding:16px 18px; }
  .up-dialog-header h2 { font-size:25px; }
  .up-settings-fields { gap:18px 12px; }
  .up-dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
  .up-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px; }
}
@media(max-width:390px) {
  .up-controls, .up-settings-fields { grid-template-columns:minmax(0,1fr); }
  .up-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .up-stat { padding:15px 0; border-inline-start:0; border-top:1px solid var(--up-line); }
  .up-stat:first-child { border-top:0; }
  .up-stat h3 { min-height:0; margin-bottom:5px; }
  .up-filters { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { .up-page *, .up-dialog * { transition:none!important; scroll-behavior:auto!important; } }

.up-goal-body{padding:20px}.up-goal-body p{line-height:1.55}.up-army-context{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-block:1px solid var(--line,#d8d5c7);padding:16px 0}.up-army-context div{flex:1;min-width:180px}.up-army-context small,.up-recommendations small,.up-th-stage small{display:block;opacity:.75;margin-top:5px}.up-readiness{display:flex;flex-wrap:wrap;gap:20px;margin:16px 0}.up-recommendations ol{padding-left:24px}.up-recommendations li{padding:12px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line,#d8d5c7)}.up-recommendations li div{flex:1}.up-th-stage{margin:14px 0;padding:12px;border-left:3px solid #ad7359}.up-goal-blockers{margin:16px 0}.up-goal-blockers li{margin:8px 0}.up-personal{margin-bottom:20px}@media(max-width:600px){.up-goal-body{padding:14px}.up-personal .up-segment{flex-wrap:wrap}.up-personal .up-segment button{flex:1;min-width:130px}}


/* The focused plan workspace follows the compact planner reference. These
   styles are route-scoped; the rest of the Compass atlas keeps its own shell. */
html[data-theme] body.compass-app:has(.up-clock-page) {
  --cc-paper:#faf9f6; --cc-surface:#ffffff; --cc-ink:#292e28;
  --cc-muted:#72776e; --cc-line:#e1e3db; --cc-soft:#f1f2ec;
  --cc-accent:#a07411; --cc-olive:#746019;
  --paper:var(--cc-paper); --surface:var(--cc-surface); --ink:var(--cc-ink);
  --muted:var(--cc-muted); --line:var(--cc-line); --accent:var(--cc-accent);
  padding:0!important; background:var(--cc-paper)!important;
}
html[data-theme=dark] body.compass-app:has(.up-clock-page) {
  --cc-paper:#0e1511; --cc-surface:#111a14; --cc-ink:#e9e9df;
  --cc-muted:#8b9589; --cc-line:#273027; --cc-soft:#1a231b;
  --cc-accent:#d6b452; --cc-olive:#d6b452;
}
html[data-theme] body.compass-app:has(.up-clock-page) :is(.cc-topline,.cc-header,.cc-footer,.compass-tabs) { display:none!important; }
html[data-theme] body.compass-app:has(.up-clock-page) #app {
  width:100%; max-width:none; min-height:100dvh; margin:0; padding:0;
}
.up-clock-page {
  --up-paper:var(--cc-paper); --up-surface:var(--cc-surface); --up-ink:var(--cc-ink);
  --up-muted:var(--cc-muted); --up-line:var(--cc-line); --up-soft:var(--cc-soft);
  --up-clay:var(--cc-accent); --up-olive:var(--cc-olive);
  --up-bar:#faf1d4; --up-bar-ink:#705719;
  --up-lab:#f0e7f7; --up-lab-ink:#765385;
  --up-pet:#f5e7dc; --up-pet-ink:#996a46;
  --up-accent-soft:#fff6d9; --up-accent-line:#d4b451;
  --up-rail-width:232px;
  font-size:13px; min-height:100dvh; line-height:1.5;
}
html[data-theme=dark] .up-clock-page {
  --up-bar:#302813; --up-bar-ink:#d3b45c;
  --up-lab:#2a1e35; --up-lab-ink:#c79bdf;
  --up-pet:#32251c; --up-pet-ink:#dab18b;
  --up-accent-soft:#302813; --up-accent-line:#8d762e;
}
.up-clock-page a { color:inherit; text-decoration:none; }
.up-clock-page :is(button,input,select,textarea) { font-family:var(--cc-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif); }
.up-clock-page button { min-height:36px; border-radius:6px; padding:7px 12px; font-size:12px; font-weight:500; background:var(--up-surface); }
.up-clock-page button.up-primary { background:var(--up-accent-soft); border-color:var(--up-accent-line); color:var(--up-bar-ink); }
.up-clock-page button.up-primary:hover:not(:disabled) { background:var(--up-bar); color:var(--up-bar-ink); border-color:var(--up-bar-ink); }
.up-clock-page button.up-icon { min-width:34px; padding:5px 8px; min-height:34px; font-size:15px; }
.up-clock-page :is(button,a):focus-visible { outline-color:var(--up-clay)!important; }
.up-clock-page :is(.up-panel,.up-forecast-card,.up-resource-card) { border-radius:8px; background:var(--up-surface); border:1px solid var(--up-line); }
.up-rail {
  position:fixed; z-index:80; inset:0 auto 0 0; width:var(--up-rail-width); height:100dvh;
  display:flex; flex-direction:column; gap:26px; padding:32px 18px 22px;
  border-inline-end:1px solid var(--up-line); background:var(--up-paper);
}
.up-rail-brand { display:flex; align-items:center; gap:10px; padding:0 6px; min-height:48px; font:700 18px/1.15 var(--cc-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif); letter-spacing:-.04em; }
.up-rail-brand :is(svg,img) { width:38px; height:38px; flex-shrink:0; object-fit:contain; }
.up-rail-brand small { display:block; font:500 9px/1.3 var(--cc-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif); letter-spacing:.09em; margin-top:5px; color:var(--up-muted); }
.up-rail nav { display:grid; gap:5px; }
.up-rail nav a { display:flex; align-items:center; gap:12px; min-height:43px; padding:10px 13px; border:1px solid transparent; border-radius:7px; color:var(--up-muted); font-size:13px; font-weight:500; }
.up-rail nav a:is(:hover,.is-current) { color:var(--up-ink); background:var(--up-soft); }
.up-rail nav a.is-current { border-color:var(--up-line); color:var(--up-clay); }
.up-rail nav :is(svg,.up-nav-icon) { width:18px; min-width:18px; height:18px; display:inline-grid; place-items:center; font-size:17px; line-height:1; }
.up-rail nav svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.up-rail-bottom { display:grid; gap:8px; margin-top:auto; padding:14px 10px 0; border-top:1px solid var(--up-line); color:var(--up-muted); font-size:11px; }
.up-rail-bottom a { display:flex; align-items:center; gap:9px; padding:5px 0; }
.up-rail-bottom p { font-size:10px; line-height:1.6; margin:8px 0 0; }
.up-shell-main { margin-inline-start:var(--up-rail-width); padding:32px; max-width:1920px; }
.up-village-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; min-width:0; }
.up-clock-page .up-village-picker { display:flex; align-items:center; gap:12px; justify-content:flex-start; width:254px; min-height:52px; padding:8px 13px; border-color:var(--up-line); border-radius:8px; text-align:start; }
.up-village-picker> :is(img,svg) { width:34px; height:34px; object-fit:contain; flex-shrink:0; }
.up-village-copy { display:grid; flex:1; min-width:0; gap:2px; }
.up-village-copy strong { display:block; font-size:13px; font-weight:550; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.up-village-copy small { display:block; color:var(--up-muted); font-size:10px; line-height:1.4; }
.up-th-pill { display:inline-flex; align-items:center; justify-content:center; min-width:35px; padding:3px 6px; border:1px solid var(--up-line); border-radius:4px; color:var(--up-muted); font-size:10px; font-weight:600; white-space:nowrap; }
.up-header-tools { display:flex; align-items:center; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.up-header-tools button { background:transparent; color:var(--up-muted); }
.up-clock-page .up-header-tools select { width:auto; max-width:110px; min-height:34px; padding:6px 9px; font-size:11px; background:transparent; }
.up-village-tabs { display:flex; align-items:center; width:320px; max-width:100%; min-height:40px; padding:3px; gap:4px; border:1px solid var(--up-line); border-radius:7px; background:var(--up-soft); margin-bottom:26px; }
.up-village-tabs :is(a,button) { display:flex; justify-content:center; align-items:center; gap:7px; flex:1; min-height:32px; min-width:0; padding:6px 10px; border:1px solid transparent; border-radius:4px; color:var(--up-muted); font-size:12px; background:transparent; white-space:nowrap; }
.up-village-tabs :is(.is-current,[aria-current=page],[aria-pressed=true]) { border-color:var(--up-line); color:var(--up-ink); background:var(--up-surface); }
.up-clock-page .up-header { align-items:center; padding:0; margin-bottom:24px; gap:20px; }
html[data-theme] body.compass-app #app .up-clock-page .up-header h1 { margin:0; font:500 32px/1.2 var(--cc-display,Georgia,serif)!important; letter-spacing:-.035em; }
.up-clock-page .up-header .eyebrow { display:none; }
.up-clock-page .up-header p:not(.eyebrow) { margin-top:6px; font-size:12px; }
.up-clock-page .up-header-actions { max-width:none; gap:7px; }
.up-clock-page .up-header-actions button { min-height:34px; padding:6px 10px; font-size:11px; }
.up-clock-page .up-workspace { grid-template-columns:minmax(0,1fr) 400px; gap:24px; }
.up-clock-page .up-main { gap:22px; }
.up-clock-page .up-aside { gap:14px; grid-template-columns:minmax(0,1fr); }
.up-clock-page .up-intro.up-onboarding { display:block; margin:0; padding:20px; border-color:var(--up-accent-line); background:var(--up-accent-soft); }
.up-clock-page .up-onboarding h2, .up-clock-page .up-onboarding h3 { font:550 16px/1.4 var(--cc-sans,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif); margin:0 0 6px; letter-spacing:0; }
.up-clock-page .up-onboarding p { font-size:12px; line-height:1.6; max-width:none; color:var(--up-ink); }
.up-clock-page .up-onboarding :is(ol,.up-onboarding-steps) { list-style:none; counter-reset:plan-onboard; display:grid; gap:8px; margin:14px 0; padding:0; }
.up-clock-page .up-onboarding li { counter-increment:plan-onboard; display:flex; align-items:flex-start; gap:9px; font-size:12px; color:var(--up-ink); line-height:1.5; }
.up-clock-page .up-onboarding li::before { content:counter(plan-onboard); display:inline-grid; place-items:center; flex:0 0 19px; height:19px; border-radius:50%; border:1px solid var(--up-accent-line); color:var(--up-bar-ink); font-size:10px; line-height:1; margin-top:1px; }
.up-clock-page .up-onboarding li strong { font-size:12px; }
.up-clock-page .up-onboarding button { min-height:32px; font-size:11px; background:transparent; border-color:var(--up-accent-line); }
.up-clock-page .up-onboarding>div:last-child { max-width:none; justify-content:flex-start; }
.up-clock-page .up-strategy-panel { overflow:visible; border:0; background:transparent; }
.up-clock-page .up-strategy-panel .up-panel-head { border:0; padding:0 0 12px; }
.up-clock-page .up-strategy-panel .up-panel-head h2 { font-size:14px; font-weight:500; }
.up-strategy-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.up-clock-page .up-strategy-row .up-strategy { width:576px; max-width:100%; margin:0; padding:3px; gap:3px; flex-wrap:nowrap; }
.up-clock-page .up-strategy-row .up-strategy button { flex:1; min-height:33px; padding:7px 10px; font-size:11px; font-weight:500; white-space:nowrap; background:transparent; }
.up-clock-page .up-strategy-row .up-strategy button[aria-pressed=true] { background:var(--up-surface); border-color:var(--up-line); color:var(--up-ink); }
.up-plan-target { display:inline-flex; align-items:center; gap:7px; color:var(--up-muted); font-size:11px; white-space:nowrap; }
.up-clock-page .up-plan-target :is(button,select) { display:inline-flex; width:auto; min-height:33px; min-width:68px; padding:6px 9px; border-radius:5px; font-size:11px; }
.up-clock-page .up-strategy-panel>.up-data-note { padding:9px 0 0; font-size:11px; line-height:1.5; }
.up-clock-page .up-personal-compact { border:1px solid var(--up-line); border-radius:6px; padding:10px 13px; background:var(--up-surface); margin:0; min-width:0; }
.up-personal-compact>summary { display:flex; align-items:center; justify-content:space-between; gap:9px; cursor:pointer; font-size:12px; color:var(--up-muted); list-style:none; }
.up-personal-compact>summary::-webkit-details-marker { display:none; }
.up-personal-compact>summary::after { content:'⌄'; font-size:15px; }
.up-personal-compact[open]>summary { padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid var(--up-line); color:var(--up-ink); }
.up-personal-compact[open]>summary::after { transform:rotate(180deg); }
.up-clock-page .up-personal { margin:0; border:0; background:transparent; }
.up-clock-page .up-personal .up-panel-head { padding:0 0 12px; border:0; }
.up-clock-page .up-personal .up-panel-head h2 { font-size:14px; }
.up-clock-page .up-goal-body { padding:0; font-size:12px; }
.up-clock-page .up-goal-body .up-data-note { padding:0; }
.up-clock-page .up-army-context { padding:10px 0; gap:10px; }
.up-clock-page .up-army-context div { min-width:130px; }
.up-clock-page .up-readiness { gap:12px; margin:12px 0; font-size:11px; }
.up-clock-page .up-recommendations li { padding:10px 0; }
.up-clock-page .up-th-stage { padding:9px 10px; border-color:var(--up-accent-line); }
.up-clock-page .up-schedule { border:0; border-radius:0; background:transparent; overflow:visible; }
.up-clock-page .up-schedule .up-panel-head { padding:0 0 12px; border:0; }
.up-clock-page .up-schedule .up-panel-head h2 { font-size:16px; font-weight:500; }
.up-clock-page .up-segment { border-radius:6px; background:var(--up-soft); padding:3px; }
.up-clock-page .up-segment button { min-height:30px; font-size:11px; padding:5px 10px; border-radius:4px; }
.up-clock-page .up-segment button[aria-pressed=true] { color:var(--up-ink); background:var(--up-surface); border-color:var(--up-line); }
.up-clock-page .up-toolbar { padding:0 0 12px; gap:8px; }
.up-clock-page .up-toolbar>div { display:flex; gap:3px; align-items:center; min-width:0; }
.up-clock-page .up-toolbar>div:last-child { margin-inline-start:auto; }
.up-clock-page .up-toolbar .up-segment { border:0; padding:0; background:transparent; gap:4px; }
.up-clock-page .up-toolbar .up-segment button { border:1px solid transparent; min-height:30px; background:transparent; color:var(--up-muted); }
.up-clock-page .up-toolbar .up-segment button[aria-pressed=true] { color:var(--up-ink); border-color:var(--up-line); background:var(--up-soft); }
.up-clock-page .up-toolbar button { min-height:30px; padding:5px 8px; font-size:10px; }
.up-clock-page .up-timeline-scroll { border:1px solid var(--up-line); border-radius:6px; background:var(--up-surface); }
.up-clock-page .up-timeline { min-width:600px; padding:0 10px 5px; }
.up-clock-page :is(.up-axis,.up-lane) { grid-template-columns:32px minmax(0,1fr); }
.up-clock-page .up-axis { min-height:34px; font-size:10px; }
.up-clock-page .up-axis-days { gap:0; }
.up-clock-page .up-axis-days>span { text-align:center; font-size:9px; }
.up-clock-page .up-axis-days>span:last-child { text-align:end; }
.up-clock-page .up-lane { min-height:46px; border-top:1px solid var(--up-line); }
.up-clock-page .up-lane-label { min-height:46px; padding:0 5px 0 0; gap:0; align-items:center; font-size:10px; color:var(--up-muted); font-weight:500; }
.up-clock-page .up-lane-label strong { font-size:10px; font-weight:500; }
.up-clock-page .up-lane-label small { display:none; }
.up-clock-page .up-lane-track { min-height:46px; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(14.2857% - 1px),var(--up-line) calc(14.2857% - 1px),var(--up-line) 14.2857%); }
.up-clock-page .up-bar { top:5px; min-height:36px; height:36px; padding:4px 6px; gap:5px; border:1px solid var(--up-accent-line); border-radius:5px; }
.up-clock-page .up-bar strong { font-size:10px; font-weight:500; }
.up-clock-page .up-bar small { font-size:9px; line-height:1.1; margin-top:2px; }
.up-clock-page .up-bar .up-item-art { width:22px; height:25px; min-width:18px; flex-shrink:0; }
.up-clock-page .up-bar:is(.lab,[data-kind=lab]) { border-color:color-mix(in srgb,var(--up-lab-ink) 55%,transparent); }
.up-clock-page .up-bar:is(.pets,.pet,[data-kind=pets]) { border-color:color-mix(in srgb,var(--up-pet-ink) 55%,transparent); }
.up-clock-page .up-bar:is(.is-active,.active,[data-state=active]) { border-inline-start-width:2px; }
.up-clock-page .up-legend { padding:10px 0 0; gap:14px; font-size:10px; }
.up-clock-page .up-side-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:14px; font-weight:500; line-height:1.5; margin:5px 0 -5px; }
.up-clock-page .up-side-heading small { color:var(--up-muted); font-size:10px; font-weight:400; }
.up-forecast-chip { display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid var(--up-line); border-radius:7px; padding:11px 14px; font-size:12px; background:var(--up-surface); }
.up-forecast-chip strong { font-weight:500; }
.up-forecast-chip :is(span,small) { color:var(--up-muted); font-size:11px; }
.up-forecast-card { padding:0; overflow:hidden; }
.up-clock-page .up-pass-tabs { display:flex; padding:4px; gap:3px; border-bottom:1px solid var(--up-line); background:var(--up-soft); }
.up-clock-page .up-pass-tabs button { flex:1; min-width:0; min-height:33px; padding:6px 7px; border-color:transparent; background:transparent; color:var(--up-muted); border-radius:4px; font-size:11px; }
.up-clock-page .up-pass-tabs button[aria-pressed=true] { background:var(--up-surface); color:var(--up-ink); border-color:var(--up-line); }
.up-clock-page .up-setting-row { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:39px; margin:0; padding:9px 14px; border:0; border-bottom:1px solid var(--up-line); border-radius:0; text-align:start; font-size:11px; font-weight:400; background:transparent; }
.up-setting-row> :first-child { display:flex; align-items:center; gap:7px; min-width:0; }
.up-setting-row :is(small,.up-setting-value) { color:var(--up-muted); font-size:10px; }
.up-clock-page .up-setting-row:hover:not(:disabled) { border-color:var(--up-line); background:var(--up-soft); }
.up-forecast-row { display:flex; align-items:center; justify-content:space-between; gap:13px; min-height:41px; padding:10px 14px; border-bottom:1px solid var(--up-line); font-size:11px; }
.up-forecast-row>span { color:var(--up-muted); }
.up-forecast-row strong { font-weight:500; font-size:12px; text-align:end; }
.up-clock-page .up-forecast-card .up-stat { padding:15px 14px; border:0; }
.up-clock-page .up-forecast-card .up-stat strong { font:500 24px/1.3 var(--cc-display,Georgia,serif); letter-spacing:-.025em; }
.up-clock-page .up-summary { margin:0 14px; border-block-color:var(--up-line); }
.up-clock-page .up-summary>div { padding:10px 8px; }
.up-clock-page .up-summary>div:nth-child(odd) { padding-inline-start:0; }
.up-clock-page .up-summary>div>small { font-size:10px; margin-bottom:4px; }
.up-clock-page .up-summary>div>b { font-size:12px; font-weight:500; }
.up-clock-page .up-forecast-card>.up-data-note { padding:11px 14px 13px; font-size:10px; line-height:1.5; }
.up-resource-card { padding:0; overflow:hidden; }
.up-clock-page .up-resource-card .up-costs { padding:4px 14px; }
.up-clock-page .up-resource-card .up-costs>div { min-height:38px; padding:9px 0; font-size:11px; }
.up-clock-page .up-resource-card .up-costs strong { font-size:12px; font-weight:500; }
.up-clock-page .up-resource-card .up-help { border:0; padding:0; margin:10px 14px 0; font-size:10px; }
.up-clock-page .up-resource-card>.up-data-note { padding:8px 14px 12px; font-size:10px; }
.up-clock-page .up-resource-card>details { margin:0 14px 12px; border-top:1px solid var(--up-line); }
.up-clock-page .up-resource-card>details>summary { padding-top:9px; color:var(--up-muted); font-size:10px; cursor:pointer; }
.up-clock-page .up-resource-card>details .up-costs { padding:0; }
.up-clock-page :is(.up-notice,.up-warning) { padding:10px 13px; margin:0; font-size:11px; line-height:1.6; border-radius:5px; }
.up-clock-page details.up-notice>summary { cursor:pointer; font-size:11px; }
.up-clock-page .up-notice ul { padding-inline-start:17px; }
.up-clock-page .up-empty { border:1px dashed var(--up-line); border-radius:8px; padding:38px 22px; font-size:12px; background:var(--up-surface); }
.up-clock-page .up-empty h2 { font:500 25px/1.3 var(--cc-display,Georgia,serif); }
.up-clock-page .up-empty>span { color:var(--up-clay); font-size:25px; }
.up-clock-page .up-empty .up-help { margin-top:18px; padding-top:14px; }
.up-clock-page .up-queue-row { padding:12px 14px; gap:10px; }
.up-clock-page .up-queue-text strong { font-size:11px; }
.up-clock-page .up-queue-text small { font-size:10px; }
.up-clock-page .up-queue-time strong { font-size:11px; }
.up-clock-page .up-queue-time small { font-size:9px; }
.up-clock-page .up-filters { padding:10px 14px; }
.up-clock-page .up-item-art { width:34px; height:38px; }
.up-clock-page .up-filters select { min-height:34px; padding:6px 9px; font-size:12px; }

@media(max-width:1400px) {
  .up-shell-main { padding:28px; }
  .up-clock-page .up-workspace { grid-template-columns:minmax(0,1fr) 360px; gap:22px; }
  .up-clock-page .up-strategy-row .up-strategy { width:100%; }
}
@media(max-width:1100px) {
  .up-clock-page { --up-rail-width:80px; }
  .up-rail { padding:28px 12px 18px; gap:25px; }
  .up-rail-brand { justify-content:center; padding:0; }
  .up-rail-brand>span { display:none; }
  .up-rail nav a { justify-content:center; padding:12px 8px; }
  .up-rail nav a>span:not(.up-nav-icon) { display:none; }
  .up-rail-bottom { padding:12px 2px 0; text-align:center; }
  .up-rail-bottom a { justify-content:center; font-size:10px; }
  .up-rail-bottom p { display:none; }
  .up-shell-main { padding:25px 24px; }
  .up-clock-page .up-workspace { grid-template-columns:minmax(0,1fr) 340px; gap:20px; }
  .up-clock-page .up-toolbar { flex-wrap:wrap; }
  .up-clock-page .up-toolbar>div:last-child { margin-inline-start:0; }
}
@media(max-width:900px) {
  .up-clock-page { --up-rail-width:0px; }
  .up-rail { inset:auto 0 0; width:100%; height:auto; min-height:65px; padding:5px max(12px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right)); border-inline-end:0; border-top:1px solid var(--up-line); gap:0; background:var(--up-paper); }
  .up-rail :is(.up-rail-brand,.up-rail-bottom) { display:none; }
  .up-rail nav { display:flex; align-items:center; justify-content:center; gap:3px; width:100%; }
  .up-rail nav a { display:flex; flex-direction:column; justify-content:center; align-items:center; flex:1; max-width:135px; gap:4px; min-width:0; min-height:51px; padding:4px; border:0; border-radius:5px; font-size:10px; }
  .up-rail nav a>span:not(.up-nav-icon) { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .up-rail nav a:nth-child(n+6) { display:none; }
  .up-rail nav a.is-current { border:0; }
  .up-rail nav :is(svg,.up-nav-icon) { width:17px; height:17px; min-width:17px; font-size:16px; }
  .up-shell-main { margin:0; padding:24px 24px calc(95px + env(safe-area-inset-bottom)); }
  .up-clock-page .up-workspace { grid-template-columns:minmax(0,1fr); gap:26px; }
  .up-clock-page .up-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:14px; }
  .up-clock-page .up-aside>.up-forecast-chip, .up-clock-page .up-aside>.up-side-heading { grid-column:1/-1; }
  .up-clock-page .up-aside>.up-forecast-card { grid-column:1/-1; }
  .up-clock-page .up-side-heading { margin-top:7px; }
  .up-clock-page .up-strategy-row .up-strategy { width:576px; }
}
@media(max-width:640px) {
  .up-shell-main { padding:18px 16px calc(90px + env(safe-area-inset-bottom)); }
  .up-village-header { gap:10px; margin-bottom:16px; align-items:flex-start; }
  .up-clock-page .up-village-picker { width:226px; max-width:calc(100% - 48px); min-height:49px; padding:8px 10px; gap:9px; }
  .up-village-picker> :is(img,svg) { width:30px; height:30px; }
  .up-village-copy strong { font-size:12px; }
  .up-village-copy small { font-size:9px; }
  .up-header-tools { gap:4px; max-width:112px; }
  .up-clock-page .up-header-tools button { padding:5px 7px; font-size:10px; }
  .up-clock-page .up-header-tools select { max-width:78px; font-size:10px; padding:5px; }
  .up-village-tabs { width:100%; margin-bottom:23px; }
  .up-clock-page .up-header { flex-direction:row; align-items:center; gap:10px; margin-bottom:18px; }
  html[data-theme] body.compass-app #app .up-clock-page .up-header h1 { font-size:30px!important; }
  .up-clock-page .up-header-actions { width:auto; justify-content:flex-end; gap:5px; }
  .up-clock-page .up-header-actions button { flex:0 0 auto; padding:6px 8px; font-size:10px; }
  .up-clock-page .up-header p:not(.eyebrow) { display:none; }
  .up-clock-page .up-main { gap:18px; }
  .up-clock-page .up-intro.up-onboarding { padding:16px; }
  .up-clock-page .up-onboarding h2,.up-clock-page .up-onboarding h3 { font-size:15px; }
  .up-clock-page .up-onboarding li { font-size:11px; gap:8px; }
  .up-clock-page .up-onboarding p { font-size:11px; }
  .up-clock-page .up-strategy-row .up-strategy { width:100%; max-width:100%; margin:0; padding:3px; gap:2px; }
  .up-clock-page .up-strategy-row .up-strategy button { white-space:normal; font-size:10px; padding:6px 7px; min-height:37px; }
  .up-plan-target { margin-inline-start:auto; }
  .up-clock-page .up-toolbar { gap:7px 10px; }
  .up-clock-page .up-toolbar>div:last-child { margin-inline-start:auto; }
  .up-clock-page .up-toolbar button { padding:5px 7px; }
  .up-clock-page .up-schedule .up-panel-head { gap:10px; }
  .up-clock-page .up-schedule .up-panel-head h2 { font-size:15px; }
  .up-clock-page .up-schedule .up-segment button { font-size:10px; padding:5px 8px; }
  .up-clock-page .up-timeline { min-width:600px; }
  .up-clock-page .up-aside { grid-template-columns:minmax(0,1fr); gap:13px; }
  .up-clock-page .up-aside>* { grid-column:1!important; }
  .up-clock-page .up-forecast-card .up-stat strong { font-size:23px; }
  .up-clock-page .up-personal-compact { padding:11px 12px; }
  .up-clock-page .up-personal-compact>summary { font-size:11px; }
  .up-clock-page .up-queue-row { flex-wrap:wrap; padding:12px; }
  .up-clock-page .up-queue-text { min-width:calc(100% - 50px); }
  .up-clock-page .up-queue-time { margin-inline-start:44px; text-align:start; }
  .up-clock-page .up-row-actions { width:auto; }
  .up-clock-page .up-army-context div { min-width:130px; }
  .up-clock-page .up-legend { gap:10px; font-size:9px; }
}
@media(max-width:390px) {
  .up-shell-main { padding-inline:12px; }
  .up-clock-page .up-village-picker { width:205px; }
  .up-clock-page .up-header-actions button { font-size:9px; padding:6px; }
  .up-clock-page .up-toolbar>div:last-child { margin-inline-start:0; }
  .up-clock-page .up-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Keep existing branding; compact text and forecast rows need explicit stacks. */
.up-clock-page .up-rail-brand>span { white-space:nowrap; }
.up-clock-page .up-pass-header { display:flex; align-items:center; gap:12px; padding:14px; }
.up-clock-page .up-pass-header>span { font-size:28px; color:var(--up-clay); }
.up-clock-page .up-pass-header>div { display:grid; gap:4px; }
.up-clock-page .up-pass-header strong { font-size:14px; font-weight:600; }
.up-clock-page .up-pass-header small { color:var(--up-muted); font-size:11px; }
.up-clock-page .up-setting-row>span:nth-child(2) { display:grid; gap:3px; flex:1; }
.up-clock-page .up-setting-row strong { display:block; font-size:13px; font-weight:550; }
.up-clock-page .up-setting-row small { display:block; line-height:1.4; }
.up-clock-page .up-setting-icon { width:24px; font-size:21px; color:var(--up-clay); }
.up-clock-page .up-forecast-row>div { display:grid; gap:3px; flex:1; }
.up-clock-page .up-forecast-row strong { text-align:start; }
.up-clock-page .up-forecast-row small { color:var(--up-muted); font-size:10px; }
.up-clock-page .up-forecast-row>b { font:550 17px/1.2 var(--cc-display,Georgia,serif); white-space:nowrap; }
.up-clock-page .up-aside .up-panel>.up-text-settings { border:0; background:transparent; width:100%; margin:0; padding:8px 14px 14px; }
.up-clock-page .up-resource-caption { margin:14px 14px 3px; color:var(--up-muted); font-size:11px; }
.up-clock-page .up-resource-card .up-costs>div { display:grid; grid-template-columns:22px 1fr auto; gap:8px; }
.up-clock-page .up-resource-icon { font-size:19px; color:var(--up-clay); }
.up-clock-page .up-resource-icon[data-resource=Elixir] { color:#bd8ac4; }
.up-clock-page .up-save-row { display:flex; gap:7px; }
.up-clock-page .up-strategy-description { display:flex; align-items:center; gap:9px; font-size:12px; margin:10px 0 0; color:var(--up-muted); }
.up-clock-page button.up-info { padding:0; min-width:24px; min-height:24px; border:0; background:transparent; flex-shrink:0; }
.up-clock-page .up-time-band { position:absolute; inset-block:0; background:#76756c0d; pointer-events:none; }
.up-clock-page .up-time-band.is-war { background:#52977518; }
.up-clock-page .up-legend .offline i { background:#76756c30; }
.up-clock-page .up-legend .war i { background:#52977555; }
.up-clock-page .up-legend .idle i { background:transparent; border:1px dashed var(--up-line); }
.up-clock-page .up-bar { background:var(--up-bar); color:var(--up-bar-ink); }
.up-clock-page .up-forecast-chip>div { display:grid; gap:3px; flex:1; text-align:start; }
.up-clock-page .up-forecast-chip>b { font-size:14px; white-space:nowrap; }
.up-clock-page .up-switch { display:block; width:34px; height:20px; border-radius:20px; background:var(--up-line); position:relative; }
.up-clock-page .up-switch::after { content:''; position:absolute; width:14px; height:14px; border-radius:50%; top:3px; left:3px; background:var(--up-muted); }
.up-clock-page .up-switch.is-on { background:#6fb483; }
.up-clock-page .up-switch.is-on::after { left:17px; background:#fff; }
.up-clock-page .up-help-reopen { width:fit-content; display:flex; gap:7px; align-items:center; font-size:11px; border:0; background:transparent; padding:0; color:var(--up-muted); }
.up-clock-page .up-header-actions button { position:relative; }
.up-clock-page .up-dirty-dot { position:absolute; top:5px; right:5px; width:5px; height:5px; background:var(--up-clay); border-radius:50%; }
.up-clock-page .up-village-symbol { font-size:28px; color:var(--up-clay); }
.up-village-options { display:flex; gap:8px; flex-wrap:wrap; }
html[data-theme=dark] body.compass-app .up-clock-page { --up-bar:#302813; --up-bar-ink:#d3b45c; --up-lab:#2a1e35; --up-lab-ink:#c79bdf; --up-pet:#32251c; --up-pet-ink:#dab18b; }
.up-clock-page .up-aside .up-forecast-card>button.up-setting-row { display:flex; width:100%; margin:0; min-height:67px; padding:12px 14px; }
.up-clock-page .up-language .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.up-clock-page .up-forecast-chip { width:100%; }
