/* Light mode visibility refinements: warmer palette + clearer SVG ring separation. */
body[data-theme="lustre"]{--ring:#dfc1b1;--cat-work:#9d6a3d;--cat-focus:#7b6aa6;--cat-sleep:#5a6178;--cat-chores:#8d7a66;--cat-health:#a0616a;--cat-move:#d06f4a;--cat-meal:#729b5b;--cat-transit:#4d8b9a;}
body[data-theme="lustre"] .block-arc{stroke:rgba(37,22,17,.78);stroke-width:2.25px;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
body[data-theme="lustre"] .block.selected .block-arc,body[data-theme="lustre"] .block.dragging .block-arc{stroke:rgba(37,22,17,.95);stroke-width:3px;}
body[data-theme="lustre"] #svg>circle,body[data-theme="lustre"] #tplSvg>circle{stroke:rgba(37,22,17,.58);}
body[data-theme="lustre"] .legend-dot,body[data-theme="lustre"] .cat-swatch,body[data-theme="lustre"] .sheet-dot,body[data-theme="lustre"] .task-chip-bar{box-shadow:inset 0 0 0 1px rgba(37,22,17,.28);}
body[data-theme="lustre"] .inbox{background:#f4ece5;border-top:1px solid rgba(37,22,17,.18);}
body[data-theme="lustre"] .inbox-title{color:#241714;text-shadow:0 1px 0 rgba(255,250,244,.36);}
body[data-theme="lustre"] .inbox-title em{color:#7e5e56!important;font-weight:700;}
body[data-theme="lustre"] .inbox-tabs{gap:8px;}
body[data-theme="lustre"] .inbox-tab{background:rgba(255,251,247,.54);border:1px solid rgba(37,22,17,.2);color:#6f5550;opacity:.88;}
body[data-theme="lustre"] .inbox-tab.active{background:#fffdf9;border-color:rgba(59,36,29,.34);color:#241714;font-weight:700;opacity:1;box-shadow:0 1px 0 rgba(255,255,255,.72),0 6px 14px rgba(37,22,17,.09);}
body[data-theme="lustre"] .task-chip,body[data-theme="lustre"] .inbox-item{min-height:72px;padding:14px 18px;background:#fffdf9;border:1px solid rgba(59,36,29,.16);border-radius:18px;box-shadow:0 1px 2px rgba(37,22,17,.07),0 4px 10px rgba(37,22,17,.045);}
body[data-theme="lustre"] .task-chip+.task-chip,body[data-theme="lustre"] .inbox-item+.inbox-item{margin-top:10px;}
body[data-theme="lustre"] .task-chip:hover,body[data-theme="lustre"] .inbox-item:hover{transform:translateY(-1px);}
body[data-theme="lustre"] .task-chip:active,body[data-theme="lustre"] .inbox-item:active{transform:scale(.99);}
body[data-theme="lustre"] .task-chip-bar{width:5px;border-radius:999px;}
body[data-theme="lustre"] .task-chip-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:14px;}
body[data-theme="lustre"] .task-chip-title{color:#241714!important;font-weight:700;line-height:1.12;}
body[data-theme="lustre"] .task-chip-meta{color:#6f5550;font-weight:700;letter-spacing:.08em;justify-self:end;text-align:right;white-space:nowrap;}
body[data-theme="lustre"] .recur-pill{background:rgba(37,22,17,.07);border-color:rgba(37,22,17,.22);color:#4b322b;font-weight:700;}
body[data-theme="lustre"] .task-chip-handle{color:#6f5550;opacity:.7;}
body[data-theme="lustre"] .cal-cell{background:#fffaf4;border-color:rgba(60,40,35,.18);}
body[data-theme="lustre"] .cal-cell.muted{background:rgba(255,250,244,.58);}
body[data-theme="lustre"] .cal-cell-num,body[data-theme="lustre"] .cal-month-name,body[data-theme="lustre"] .cal-dow{color:#3b241d;}
body[data-theme="lustre"] .cal-ring svg circle{stroke:rgba(37,22,17,.34)!important;}
body[data-theme="lustre"] .cal-ring svg circle:first-child{stroke-width:3.4px;}
body[data-theme="lustre"] .cal-ring svg circle:nth-child(2){stroke-width:2.4px;stroke:rgba(37,22,17,.24)!important;}
body[data-theme="lustre"] .cal-ring svg path{stroke:rgba(37,22,17,.62);stroke-width:.75px;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
body[data-theme="lustre"] .cal-cell.today .cal-ring svg circle{stroke:rgba(37,22,17,.58)!important;}
.dial-wrap.half-dial{place-items:center;padding:0 12px;}
.dial-wrap.half-dial .dial{height:min(100%,92vw,560px);width:auto;max-width:100%;aspect-ratio:1/1;margin:0;}
.dial-wrap.half-dial .dial svg{overflow:visible;transform:translateY(-32%);}
.dial-wrap.half-dial .center{display:grid;z-index:4;}
.dial-wrap.half-dial .center-time{font-size:calc(clamp(26px,7vw,42px)*var(--text-scale));}
.dial-wrap.half-dial .center-meridiem{font-size:9px;margin-top:4px;}
.dial-wrap.half-dial .center-label{font-size:8px;margin-top:8px;}
.half-dial-hint{font-size:0!important;}
.half-dial-hint::after{content:"DRAG TO SPIN";font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.15em;}
.half-dial-hint.instructions-hidden{display:none!important;}

/* Desktop dark mode line contrast: make dial structure and block boundaries clearer without changing mobile/light mode. */
@media (min-width: 700px) and (hover: hover) and (pointer: fine) {
  body:not([data-theme="lustre"]) {
    --hairline: rgba(244, 241, 234, 0.13);
    --hairline-strong: rgba(244, 241, 234, 0.26);
    --ink-faint: #5f5b54;
  }

  body:not([data-theme="lustre"]) #svg > circle,
  body:not([data-theme="lustre"]) #tplSvg > circle {
    stroke: rgba(244, 241, 234, 0.18) !important;
    stroke-width: 1.35px !important;
    vector-effect: non-scaling-stroke;
  }

  body:not([data-theme="lustre"]) .tick {
    stroke: rgba(244, 241, 234, 0.42) !important;
    stroke-width: 1.05px !important;
  }

  body:not([data-theme="lustre"]) .tick-major {
    stroke: rgba(244, 241, 234, 0.62) !important;
    stroke-width: 1.8px !important;
  }

  body:not([data-theme="lustre"]) .tick-midnight {
    stroke: rgba(244, 241, 234, 0.9) !important;
    stroke-width: 2.4px !important;
  }

  body:not([data-theme="lustre"]) .block-arc {
    stroke: rgba(244, 241, 234, 0.34);
    stroke-width: 1.25px;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
  }

  body:not([data-theme="lustre"]) .block.selected .block-arc,
  body:not([data-theme="lustre"]) .block.dragging .block-arc {
    stroke: rgba(244, 241, 234, 0.9);
    stroke-width: 2.35px;
  }

  body:not([data-theme="lustre"]) .calendar-block-arc {
    fill: rgba(122, 190, 220, 0.34);
    stroke: rgba(244, 241, 234, 0.78);
    stroke-width: 1.35px;
    vector-effect: non-scaling-stroke;
  }

  body:not([data-theme="lustre"]) .now-line {
    stroke-width: 2.25px;
  }

  body:not([data-theme="lustre"]) .cal-ring svg circle {
    stroke: rgba(244, 241, 234, 0.22) !important;
    stroke-width: 2.6px;
    vector-effect: non-scaling-stroke;
  }

  body:not([data-theme="lustre"]) .cal-ring svg path {
    stroke: rgba(244, 241, 234, 0.42);
    stroke-width: 0.85px;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
  }

  body:not([data-theme="lustre"]) .cal-cell.today .cal-ring svg circle {
    stroke: rgba(244, 241, 234, 0.46) !important;
  }
}

/* Stable inbox height: loaded by both root and iOS www builds. */
.app{padding-bottom:0!important;}
.inbox{padding-bottom:calc(14px + var(--safe-bottom))!important;}
.inbox-scroll{height:clamp(150px,22vh,180px)!important;max-height:none!important;flex:0 0 auto!important;}
#btnDrawer {
  display: none !important;
}