/* ===== Fonts ===== */
@font-face { font-family:'Open Runde'; src:url('assets/fonts/OpenRunde-Regular.otf') format('opentype');  font-weight:400; font-display:swap; }
@font-face { font-family:'Open Runde'; src:url('assets/fonts/OpenRunde-Medium.otf') format('opentype');   font-weight:500; font-display:swap; }
@font-face { font-family:'Open Runde'; src:url('assets/fonts/OpenRunde-Semibold.otf') format('opentype'); font-weight:600; font-display:swap; }
@font-face { font-family:'Open Runde'; src:url('assets/fonts/OpenRunde-Bold.otf') format('opentype');     font-weight:700; font-display:swap; }

/* ===== Tokens ===== */
:root{
  --accent:#8A85F9; --accent2:#4540FC;
  --blue:#0d6fff; --brand:#4540fc;
  --ink:rgba(0,0,0,.88); --ink2:rgba(0,0,0,.5); --ink3:rgba(0,0,0,.3);
  --line:rgba(0,0,0,.07); --card:#f4f4f6; --fieldln:rgba(0,0,0,.06);
  --red:#ff383c; --green:#34c759; --orange:#ff9f0a; --indigo:#6155f5; --brown:#ac7f5e; --sky:#0088ff;
  --maxw:1160px; --popw:404px;
  --font:'Open Runde', ui-rounded, "SF Pro Rounded", -apple-system, system-ui, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:#eef0f9;color:#16161c;font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5;font-size:18px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1{margin:0}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sprite{position:absolute;width:0;height:0}
.i{width:16px;height:16px;flex:none;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.is-hidden{display:none !important}

/* ===== Buttons (hero) ===== */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;border-radius:999px;border:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap}
.btn--lg{padding:15px 26px;font-size:17px}
.btn--white{background:var(--accent2);color:#fff;box-shadow:0 14px 30px rgba(69,64,252,.38)}
.btn--white:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(69,64,252,.48)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(69,64,252,.4)}

/* ===== Stage (light) ===== */
.stage{position:relative;overflow:hidden;min-height:100svh;display:flex;flex-direction:column;color:#16161c;
  background:
    radial-gradient(120% 85% at 82% -12%, #e4e0ff 0%, transparent 52%),
    radial-gradient(85% 65% at 6% 4%, #ffffff, transparent 55%),
    linear-gradient(158deg,#f3f2ff 0%,#ecedfb 48%,#e6e8ff 100%)}
.stage__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(46% 55% at 80% 66%, rgba(138,133,249,.20), transparent 70%)}
.menubar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;height:30px;padding:0 15px;font-size:13px;color:#1d1d1f;background:rgba(255,255,255,.55);backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid rgba(0,0,0,.07)}
.menubar__l{display:flex;align-items:center;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.menubar__l::-webkit-scrollbar{display:none}
.menubar__l .apple{opacity:.9;margin-right:9px;flex:none}.menubar__l b{font-weight:700;margin-right:12px;flex:none}
.menubar__l .mi{font-weight:400;color:rgba(0,0,0,.7);font-size:12.5px;padding:3px 8px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;flex:none}
.menubar__l .mi:hover{background:rgba(0,0,0,.07);color:#111}
.menubar__r{display:flex;align-items:center;gap:13px;color:rgba(0,0,0,.72)}
.mb-focus{display:block;color:#1d1d1f}
.mbg{display:block;opacity:.8}.clock{font-variant-numeric:tabular-nums;font-size:12.5px;color:#1d1d1f}
.stage__grid{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:1fr .92fr;gap:44px;align-items:center;padding-top:30px;padding-bottom:44px}
.badge__dot{width:7px;height:7px;border-radius:50%;background:#22c07a;box-shadow:0 0 0 3px rgba(34,192,122,.2);flex:none}
.stage__title{font-size:clamp(38px,5vw,62px);font-weight:700;line-height:1.05;letter-spacing:-.025em;margin:22px 0 0}
.stage__title span{color:rgba(20,20,32,.42)}
.stage__sub{font-size:clamp(16px,1.4vw,18px);line-height:1.6;color:#50505c;max-width:52ch;margin:20px 0 30px}
.stage__cta{display:flex;gap:13px;flex-wrap:wrap;align-items:center}
.stage__meta{display:flex;align-items:center;gap:8px;margin-top:22px;font-size:13.5px;color:#5c5c68;font-weight:500}

/* ===== Popover shell (light) ===== */
.stage__pop{display:flex;justify-content:flex-end;position:relative}
/* hand-drawn "try me" annotation pointing at the live app */
.tryhint{position:absolute;top:2px;right:calc(var(--popw) + 20px);z-index:5;color:#4540fc;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.tryhint__t{font-family:'Bradley Hand','Marker Felt','Segoe Script','Comic Sans MS',cursive;font-weight:700;font-size:21px;line-height:1.14;color:#4540fc;transform:rotate(-3deg);letter-spacing:.01em;white-space:nowrap}
.tryhint__a{width:58px;height:auto;margin:4px 10px 0 0;transform:none}
.pop{width:var(--popw);max-width:100%;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:24px;padding:10px 8px 6px;
  box-shadow:0 40px 80px rgba(40,40,90,.22),0 10px 26px rgba(40,40,90,.10);color:var(--ink);animation:float 9s ease-in-out infinite}
.pbar{display:flex;align-items:center;gap:8px;padding:4px 6px 2px}
.ptabs{display:flex;gap:1px}
.pt{border:0;background:none;color:var(--ink2);font:inherit;font-size:13px;font-weight:600;padding:6px 11px;border-radius:9px;cursor:pointer;transition:.15s}
.pt--on{background:rgba(0,0,0,.06);color:var(--ink)}
.pt:not(.pt--on):hover{color:var(--ink)}
.pavatar{margin-left:auto;width:29px;height:29px;border:0;border-radius:50%;flex:none;position:relative;cursor:pointer;transition:transform .15s,box-shadow .15s;background:linear-gradient(145deg,#b6acff 0%,#918bf8 54%,#7a74f5 100%);background-size:cover;background-position:center;box-shadow:0 2px 6px rgba(97,85,245,.38),inset 0 1.5px 1.5px rgba(255,255,255,.55),inset 0 -2.5px 4px rgba(72,66,238,.28)}
.pavatar::after{content:"";position:absolute;inset:0;border-radius:50%;opacity:.96;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8.6' r='4' fill='%23fff'/%3E%3Cpath fill='%23fff' d='M12 13.4c-5.4 0-9.6 3.7-9.6 9.2 0 .5.1 1 .2 1.4h18.8c.1-.4.2-.9.2-1.4 0-5.5-4.2-9.2-9.6-9.2z'/%3E%3C/svg%3E") center/100% no-repeat}
.pavatar:hover{transform:translateY(-1px);box-shadow:0 4px 11px rgba(97,85,245,.46),inset 0 1.5px 1.5px rgba(255,255,255,.55)}
.pavatar.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(97,85,245,.62),0 2px 6px rgba(97,85,245,.38)}
.pscroll{height:510px;overflow-y:auto;overflow-x:hidden;margin-top:6px;padding:2px 6px 8px}
.pscroll::-webkit-scrollbar{width:6px}
.pscroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.16);border-radius:6px}
.pscroll::-webkit-scrollbar-track{background:transparent}
.pscroll{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.16) transparent}
.pane.is-hidden{display:none}

/* ===== Shared: section title, card, row, controls ===== */
.secttl{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin:16px 4px 8px}
.secttl--r{display:flex;align-items:center;justify-content:space-between}
.card{background:var(--card);border-radius:14px;overflow:hidden}
.card--pad{padding:4px 0 12px}
.card--flush{background:none}
.sep{height:1px;background:var(--fieldln);margin-left:52px}
.sep--as{margin-left:38px}

.row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:none;color:var(--ink);font:inherit;padding:10px 12px;cursor:pointer;transition:background .15s}
.row:hover{background:rgba(0,0,0,.025)}
.row--static,.row--static:hover{cursor:default;background:none}
.row--top{align-items:flex-start}
.rowp{padding:12px 14px 6px}
.gi{width:28px;height:28px;flex:none;border-radius:8px;display:grid;place-items:center;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.14)}
.gi .i{width:16px;height:16px;stroke-width:2}
.gi-blue{background:linear-gradient(160deg,#3aa0ff,#0a84ff)}
.gi-green{background:linear-gradient(160deg,#4bd569,#34c759)}
.gi-red{background:linear-gradient(160deg,#ff5a5f,#ff383c)}
.gi-orange{background:linear-gradient(160deg,#ffb43a,#ff9f0a)}
.gi-purple{background:linear-gradient(160deg,#7b6ff7,#6155f5)}
.gi-brown{background:linear-gradient(160deg,#bd9270,#ac7f5e)}
.gi-dark{background:linear-gradient(160deg,#5c5c60,#3a3a3d)}
.rt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.rt b{font-size:13px;font-weight:600;line-height:1.25;color:var(--ink)}
.rt span{font-size:11.5px;color:var(--ink2);line-height:1.32}
.chv{width:15px;height:15px;color:var(--ink3);margin-left:auto;flex:none;stroke-width:2.4}

/* toggle */
.sw{margin-left:auto;flex:none;width:42px;height:25px;border-radius:20px;background:rgba(0,0,0,.12);position:relative;transition:.2s}
.sw::after{content:"";position:absolute;top:2px;left:2px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:.2s}
.row.is-on .sw{background:var(--blue)}
.row.is-on .sw::after{left:19px}

/* dropdown pill */
.menu{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:5px;background:rgba(0,0,0,.06);color:var(--ink);font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:8px;white-space:nowrap}
.menu .i{width:12px;height:12px;stroke-width:2.4;color:var(--ink3)}
button.menu{border:0;cursor:pointer;font-family:inherit;transition:background .15s}
button.menu:hover,button.menu.is-open{background:rgba(0,0,0,.1)}
button.menu.is-open .i{transform:rotate(180deg)}
/* Eye-break dropdown (portaled to body to escape the popover overflow) */
.eyemenu{position:fixed;z-index:120;min-width:184px;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:12px;padding:5px;box-shadow:0 16px 38px rgba(28,28,60,.2),0 3px 10px rgba(28,28,60,.1);transform-origin:top right;animation:eyepop .13s ease}
.eyemenu.is-hidden{display:none}
.eyeitem{display:block;width:100%;text-align:left;border:0;background:none;font-family:var(--font);font-size:13px;font-weight:500;color:var(--ink);padding:8px 11px;border-radius:8px;cursor:pointer;white-space:nowrap}
.eyeitem:hover{background:var(--blue);color:#fff}
.eyeitem:disabled{color:var(--ink3);cursor:default}
.eyeitem:disabled:hover{background:none;color:var(--ink3)}
.eyediv{height:1px;background:rgba(0,0,0,.08);margin:5px 7px}
@keyframes eyepop{from{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:none}}
.tagr{margin-left:auto;flex:none;font-size:12px;font-weight:600;color:var(--ink2)}

/* buttons inside rows */
.bluebtn{display:inline-flex;align-items:center;gap:5px;background:var(--blue);color:#fff;font:inherit;font-size:12.5px;font-weight:600;border:0;padding:6px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}
.bluebtn .i{width:12px;height:12px;stroke-width:2.4}
.graybtn{background:none;border:0;color:var(--ink2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;padding:6px 6px}
.lightbtn{display:inline-flex;align-items:center;gap:5px;background:rgba(0,0,0,.05);color:var(--ink);font:inherit;font-size:12.5px;font-weight:600;border:0;padding:6px 12px;border-radius:9px;cursor:pointer;margin-left:auto}
.lightbtn .i{width:12px;height:12px;stroke-width:2.4}
.darkbtn{display:inline-flex;align-items:center;gap:6px;background:#1c1c1e;color:#fff;font:inherit;font-size:12.5px;font-weight:600;border:0;padding:8px 14px;border-radius:10px;cursor:pointer;white-space:nowrap}
.darkbtn .i{width:12px;height:12px}
.redlink{background:none;border:0;color:var(--red);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;margin-left:auto;flex:none;white-space:nowrap}
.iconbtn{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:0;background:rgba(0,0,0,.05);color:var(--ink);cursor:pointer;transition:.15s}
.iconbtn:hover{background:rgba(0,0,0,.09)}
.iconbtn .i{width:16px;height:16px}

/* ===== Focus pane ===== */
.fcard{background:var(--card);border-radius:16px;padding:16px}
.gauge{position:relative;width:100%;max-width:336px;margin:2px auto 0}
.gauge__arc{display:block;width:100%;height:auto;overflow:visible}
.gauge__track{fill:none;stroke:rgba(0,0,0,.1);stroke-width:12;stroke-linecap:round}
.gauge__fill{fill:none;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .5s cubic-bezier(.34,1.15,.64,1)}
.gauge__knob{fill:#fff;opacity:0;filter:drop-shadow(0 0 5px rgba(138,133,249,.55)) drop-shadow(0 1px 2px rgba(0,0,0,.12));
  transition:cx .5s cubic-bezier(.34,1.15,.64,1),cy .5s cubic-bezier(.34,1.15,.64,1),opacity .25s ease}
.gauge__c{position:absolute;left:0;right:0;top:70%;transform:translateY(-50%);text-align:center}
/* Clock + status match the app: 40pt semibold @85%, 13pt status @50%,
   6pt dot — gray idle, accent while focusing, amber when paused. */
.gauge__time{font-size:40px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1;color:rgba(0,0,0,.85)}
.gauge__state{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:rgba(0,0,0,.5);margin-top:10px}
.gauge__state .dot{width:6px;height:6px;border-radius:50%;background:#8E8E93}
.gauge.is-run .gauge__state .dot{background:#4540FC}
.gauge.is-paused .gauge__state .dot{background:#B06A1F}
.fmeta{text-align:center;font-size:12.5px;color:var(--ink2);margin-top:6px}
.fmeta b{color:var(--ink);font-weight:600}
.fctl{display:flex;gap:10px;margin-top:14px;justify-content:center;align-items:center}
/* Glass capsule + circles, like the app's GlassCapsule/CircleButton:
   near-white glass on the card, hairline edge, soft drop shadow. */
.startbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:.5px solid rgba(0,0,0,.07);border-radius:999px;padding:10px 20px;
  background:linear-gradient(#fff,#fcfcfd);color:rgba(0,0,0,.85);font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;
  box-shadow:0 4px 12px rgba(30,30,60,.10),inset 0 1px 0 rgba(255,255,255,.9);transition:.15s}
.startbtn:hover{background:#fff;box-shadow:0 6px 16px rgba(30,30,60,.14),inset 0 1px 0 rgba(255,255,255,.9)}
.startbtn .i{width:14px;height:14px}
.fctl .iconbtn{width:36px;height:36px;border:.5px solid rgba(0,0,0,.07);background:linear-gradient(#fff,#fcfcfd);color:rgba(0,0,0,.75);
  box-shadow:0 4px 12px rgba(30,30,60,.10),inset 0 1px 0 rgba(255,255,255,.9)}
.fctl .iconbtn:hover:not(:disabled){background:#fff;box-shadow:0 6px 16px rgba(30,30,60,.14),inset 0 1px 0 rgba(255,255,255,.9)}
.fctl .iconbtn:disabled{opacity:.4;cursor:default}
.fctl .iconbtn .i{width:14px;height:14px}
.iconbtn--accent{background:#4540FC !important;border-color:transparent !important;color:#fff !important;box-shadow:0 4px 12px rgba(69,64,252,.34) !important}
.iconbtn--accent:hover:not(:disabled){filter:brightness(1.07)}
.iconbtn--stop{color:#B8453F !important}
.iconbtn.big{width:46px;height:46px;border-radius:12px}

/* ===== Task pane ===== */
.fcard--row{display:flex;align-items:center;gap:13px;padding:14px 16px}
.ring{width:46px;height:46px;flex:none}
.ringp{fill:var(--ink);font-size:11px;font-weight:700;font-family:var(--font)}
.thd{flex:1;min-width:0}
.thd-d{font-size:14.5px;font-weight:700;color:var(--ink)}
.thd-s{font-size:12px;color:var(--ink2);margin-top:1px}
.listhd{display:flex;align-items:center;gap:8px;margin:16px 4px 8px}
.lh-t{font-size:15px;font-weight:700;flex:1}
.lh-r{display:flex;align-items:center;gap:4px}
.disc{margin-top:6px}
.disc-h{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--ink2);text-transform:uppercase;padding:6px 6px;cursor:pointer}
.disc-cv{width:13px;height:13px;color:var(--ink3);transition:transform .2s}
.disc:not(.is-open) .disc-cv{transform:rotate(-90deg)}
.disc:not(.is-open) .disc-b{display:none}
.disc-b{padding:2px 0}
/* Rows mirror TodayPane.taskRow: 29pt tall, square checkbox, 12pt
   priority, 11pt mono duration, a small solid play disc and stacked
   reorder chevrons. Completed tasks are NOT struck through. */
.trow{display:flex;align-items:center;height:29px;padding:0 10px;border-radius:7px;cursor:pointer}
.trow.is-cur{background:rgba(69,64,252,.06)}
.tchk{width:24px;height:24px;flex:none;margin-left:-4px;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:0}
.tchk::before{content:"";width:16px;height:16px;border-radius:5px;background:rgba(0,0,0,.055);grid-area:1/1;transition:background .15s}
.tchk .i{grid-area:1/1;width:10px;height:10px;stroke-width:3.2;color:#fff;z-index:1}
.tchk.on::before{background:#0B5ED9}
.tt{flex:1;min-width:0;font-size:13px;color:rgba(0,0,0,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:9px}
.tp{font-size:12px;font-weight:600;flex:none;min-width:48px;text-align:right}
.tp-hi{color:#FF383C}.tp-md{color:#FF8D28}.tp-lo{color:#0088FF}
.td{font-size:11px;color:rgba(0,0,0,.5);font-variant-numeric:tabular-nums;flex:none;min-width:30px;text-align:right;padding-left:12px}
.tpl{width:22px;height:22px;flex:none;margin-left:14px;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:0}
.tpl::before{content:"";width:15px;height:15px;border-radius:50%;background:#4540FC;grid-area:1/1}
.tpl .i{grid-area:1/1;width:7px;height:7px;color:#fff;z-index:1;margin-left:.5px}
.tpl:disabled{cursor:default}
.tpl:disabled::before{background:#8E8E93}
.trd{width:16px;flex:none;margin-left:4px;border:0;background:none;color:rgba(0,0,0,.55);display:flex;flex-direction:column;gap:1px;padding:0}
.trd button{width:16px;height:9px;display:grid;place-items:center;border:0;background:none;color:inherit;cursor:pointer;padding:0}
.trd button:disabled{opacity:.3;cursor:default}
.trd .i{width:8px;height:8px;stroke-width:3}
/* Inline add form (mirrors the app's formCard) */
.tform{display:flex;flex-direction:column;gap:8px;padding:2px 4px 4px}
.tform__in{width:100%;height:30px;padding:0 10px;border-radius:7px;border:1px solid rgba(0,0,0,.07);background:rgba(0,0,0,.03);
  font-family:var(--font);font-size:13px;color:var(--ink);outline:none}
.tform__in:focus{border-color:rgba(13,111,255,.45);background:#fff}
.tform__in::placeholder{color:var(--ink3)}
.tform__row{display:flex;align-items:flex-start;gap:8px}
.tform__lb{flex:none;width:64px;font-size:13px;color:var(--ink2);line-height:24px}
.tform__chips{display:flex;flex-wrap:wrap;gap:8px}
.tchip{height:24px;padding:0 11px;border-radius:7px;border:1px solid rgba(0,0,0,.08);background:none;
  font-family:var(--font);font-size:13px;font-weight:500;color:var(--ink2);cursor:pointer;transition:.15s}
.tchip:hover{background:rgba(0,0,0,.04)}
.tchip.on{background:rgba(13,111,255,.1);border-color:transparent;color:var(--blue)}
.tchip--hi{color:var(--red)}.tchip--hi.on{background:rgba(255,56,60,.08);color:var(--red)}
.tchip--md{color:var(--orange)}.tchip--md.on{background:rgba(255,159,10,.1);color:var(--orange)}
.tchip--lo{color:var(--sky)}.tchip--lo.on{background:rgba(0,136,255,.1);color:var(--sky)}
.tform__act{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:4px}
.bluebtn:disabled{opacity:.5;cursor:default}
.graybtn:disabled{opacity:.4;cursor:default}
.tempty{text-align:center;font-size:12.5px;color:var(--ink2);padding:28px 18px;line-height:1.5}
.tempty b{color:var(--ink);font-weight:600}

/* ===== Reminder pane ===== */
.rhd{display:flex;align-items:center;gap:10px;padding:8px 4px 4px}
.rhd-t{font-size:20px;font-weight:700;letter-spacing:-.02em}
.rhd-s{font-size:12.5px;color:var(--ink2);margin-top:2px}
.row[data-rem]:not(.is-on){opacity:.6}
/* Header card + New button, and the inline add form (mirrors ReminderPane) */
/* Only the Reminder header is a card in the app — Activity's is a plain title. */
.pane[data-pane="reminder"] .rhd{border-radius:12px;background:var(--card);padding:10px 12px;margin-bottom:2px}
.rnew{margin-left:auto;flex:none;padding:8px 14px;font-size:13px}
.rform{display:flex;flex-direction:column;gap:8px;padding:4px 4px 6px}
.rseg{display:inline-flex;gap:2px;align-self:flex-start;background:rgba(0,0,0,.05);border-radius:999px;padding:3px}
.rseg .tchip{border:0;border-radius:999px;padding:0 14px}
.rseg .tchip.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.rdots{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-height:24px}
.rdot{width:18px;height:18px;flex:none;padding:0;border:0;border-radius:50%;background:var(--c);cursor:pointer;transition:.15s}
.rdot.on{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--c)}
.ricons{display:flex;flex-wrap:wrap;gap:6px}
.ric{width:26px;height:26px;flex:none;display:grid;place-items:center;padding:0;border:1px solid rgba(0,0,0,.08);border-radius:7px;background:none;color:var(--ink2);cursor:pointer;transition:.15s}
.ric .i{width:14px;height:14px}
.ric:hover{background:rgba(0,0,0,.04)}
.ric.on{background:rgba(13,111,255,.1);border-color:transparent;color:var(--blue)}

/* ===== Activity pane ===== */
.seg{display:inline-flex;background:rgba(0,0,0,.05);border-radius:10px;padding:3px;gap:2px}
.seg--range{display:flex;margin:12px 2px 4px}
.seg button{flex:1;border:0;background:none;color:var(--ink2);font:inherit;font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer;transition:.15s;white-space:nowrap}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.seg--sm{padding:2px;margin-left:auto}
.seg--sm button{flex:none;font-size:11.5px;padding:5px 11px}
.astats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 2px 4px}
.ast{background:var(--card);border-radius:13px;padding:12px}
.ast-l{font-size:11px;font-weight:600;color:var(--ink2)}
.ast-v{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:6px;color:var(--ink);display:flex;align-items:baseline;gap:5px}
.ast-v span{font-size:12px;font-weight:500;color:var(--ink3)}
.ast-s{font-size:11px;color:var(--ink2);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ast-s.down{color:var(--red)}.ast-s.good{color:var(--green)}
.achart-hd{display:flex;align-items:center;justify-content:space-between;margin:18px 4px 0;font-size:15px;font-weight:700}
.achart-tot{font-size:12.5px;font-weight:600;color:var(--ink2)}
.achart{height:104px;display:flex;align-items:flex-end;gap:3px;margin:10px 2px 0;padding:0 2px}
.achart .bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:1px;height:100%;min-height:0}
.achart .bar i{display:block;border-radius:1.5px;min-height:0}
.achart .bar em{display:block;height:3px;border-radius:2px;background:rgba(0,0,0,.06)}
.achart-x{display:flex;justify-content:space-between;margin:7px 2px 0}
.achart-x span{flex:1;text-align:center;font-size:9.5px;font-weight:600;color:var(--ink3)}
.achart-x span:first-child{text-align:left}.achart-x span:last-child{text-align:right}
.alegend{display:flex;flex-wrap:wrap;gap:14px;margin:12px 4px 2px}
.alegend span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink2);font-weight:500}
.alegend i{width:9px;height:9px;border-radius:3px}
.listhd--as{margin-top:18px}
.lh-t2{font-size:15px;font-weight:700;flex:1}
.arow{display:flex;align-items:center;gap:11px;padding:9px 2px}
.appic{width:30px;height:30px;flex:none;border-radius:8px;background-size:cover;background-position:center;box-shadow:0 1px 2px rgba(0,0,0,.14);position:relative}
.appic::after{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:700}
.appic.figma{background:linear-gradient(150deg,#8a5cff,#5b45e0)}.appic.figma::after{content:"F"}
.appic.claude{background:#d97757}.appic.claude::after{content:"✳"}
.appic.edge{background:linear-gradient(150deg,#37c6f4,#1573e6)}.appic.edge::after{content:"e"}
.appic.wa{background:#25d366}.appic.wa::after{content:"✆"}
.appic.discord{background:#5865f2}.appic.discord::after{content:"◍"}
.siteic{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.14)}
.art{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.art b{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--ink2)}
.cat i{width:7px;height:7px;border-radius:50%;flex:none}
.amag{width:60px;height:5px;flex:none;border-radius:20px;background:rgba(0,0,0,.07);overflow:hidden}
.amag i{display:block;height:100%;border-radius:20px;background:var(--blue)}
.atime{font-size:12px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;width:50px;text-align:right;flex:none}

/* ===== Account Center pane ===== */
.achd{display:flex;align-items:center;gap:10px;padding:6px 2px 2px}
.achd-t{font-size:17px;font-weight:700;flex:1;text-align:center}
.acc-av{width:38px;height:38px;flex:none;border-radius:50%;position:relative;background:linear-gradient(145deg,#b6acff 0%,#918bf8 54%,#7a74f5 100%);box-shadow:0 2px 7px rgba(97,85,245,.36),inset 0 2px 2px rgba(255,255,255,.55),inset 0 -3px 5px rgba(72,66,238,.28)}
.acc-av::after{content:"";position:absolute;inset:0;border-radius:50%;opacity:.96;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8.6' r='4' fill='%23fff'/%3E%3Cpath fill='%23fff' d='M12 13.4c-5.4 0-9.6 3.7-9.6 9.2 0 .5.1 1 .2 1.4h18.8c.1-.4.2-.9.2-1.4 0-5.5-4.2-9.2-9.6-9.2z'/%3E%3C/svg%3E") center/100% no-repeat}
.perm{margin-left:auto;flex:none;display:inline-flex;gap:0;background:rgba(0,0,0,.05);border-radius:9px;padding:2px}
.perm button{width:30px;height:26px;display:grid;place-items:center;border:0;background:none;color:var(--ink3);border-radius:7px;cursor:pointer}
.perm button .i{width:15px;height:15px}
.perm button.on{background:var(--blue);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 14px 4px}
.chip{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}
.chip .cg{width:13px;height:13px;color:var(--ink3);stroke-width:2}
.chip .cx{width:12px;height:12px;color:var(--ink3);stroke-width:2.4;cursor:pointer}
.chip--add{border-style:dashed;color:var(--ink2);cursor:pointer;background:none}
.chip--add .i{width:12px;height:12px}
.rdo{margin-left:auto;flex:none;width:21px;height:21px;border-radius:50%;border:2px solid rgba(0,0,0,.2);position:relative}
.radio.on .rdo{border-color:var(--blue);background:var(--blue)}
.radio.on .rdo::after{content:"";position:absolute;left:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#fff}
.srow{gap:10px}
.sl-l{font-size:13px;font-weight:600;flex:none;width:34px}
.slider{flex:1;height:5px;border-radius:20px;background:rgba(0,0,0,.1);position:relative;margin:0 2px}
.slider i{position:absolute;left:0;top:0;height:100%;border-radius:20px;background:var(--blue)}
.slider i::after{content:"";position:absolute;right:-7px;top:50%;transform:translateY(-50%);width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.sl-v{font-size:11.5px;font-weight:600;color:var(--ink2);font-variant-numeric:tabular-nums;width:34px;text-align:right;flex:none}

/* ===== Spotlight Mode — mirrors the app's SpotlightOverlayWindow =====
   Everything behind the focused window gets a uniform gaussian blur, a
   FLAT black tint and a little grain — no vignette, and the focused
   window is never scaled. Values track the app's defaults
   (blur .50 -> 40pt radius, tint .30 x 0.65 = 19.5% black,
   grain .10 x 0.30 = 3%). */
.stage__copy,.menubar{transition:filter .5s ease,opacity .5s ease}
/* Tint + grain sit BELOW the grid (z-1) so they darken the desktop but
   never wash over the focused window — .stage__grid makes its own
   stacking context, so an overlay above it would also cover the app. */
.stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .5s ease;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"),
    rgba(0,0,0,.195)}
.stage.is-spotlight::before{opacity:1}
/* Only the un-focused chrome blurs and recedes; the app is untouched
   so it reads as the bright, active window. */
.stage.is-spotlight .stage__copy,
.stage.is-spotlight .menubar{filter:blur(14px);opacity:.55;pointer-events:none}
.tryhint{transition:opacity .4s ease}
.stage.is-spotlight .tryhint{opacity:0}             /* annotation isn't part of the app */

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ===== Responsive ===== */
/* Short laptop screens (e.g. 13"/14" MacBook Air): keep the try-me note
   clear of the menu bar and give the popover breathing room. */
/* The note sits beside the app, so short screens need no special casing.
   Narrower desktops just get a slightly smaller note so it stays clear
   of the hero copy. */
@media (min-width:901px) and (max-width:1180px){
  .tryhint__t{font-size:18px}
  .tryhint__a{width:50px}
}
@media (max-width:900px){
  .stage__grid{grid-template-columns:1fr;gap:30px;padding-top:26px;padding-bottom:40px;text-align:center}
  .stage__title{margin-top:14px}
  .stage__sub,.stage__cta,.stage__meta{margin-left:auto;margin-right:auto}
  .stage__cta,.stage__meta{justify-content:center}
  .stage__pop{justify-content:center}
  .tryhint{display:none}
}
@media (max-width:560px){
  .menubar__r{display:none}
  .menubar__l{padding-right:12px}
  .pop{width:100%}
  .pscroll{height:min(72vh,510px)}
}
@media (prefers-reduced-motion:reduce){
  .pop{animation:none}
  .btn{transition:none}
}

/* ===== Legal pages (privacy / terms) ===== */
.legal-body{min-height:100vh;background:
  radial-gradient(120% 80% at 84% -12%, #e6e2ff 0%, transparent 52%),
  linear-gradient(168deg,#f5f4ff 0%,#eceefb 58%,#e8eaff 100%)}
.legal{max-width:720px;margin:0 auto;padding:0 24px 72px}
.legal-top{display:flex;align-items:center;justify-content:space-between;padding:24px 2px 30px}
.legal-home{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:16px;color:#16161c}
.legal-home .glyph{width:28px;height:auto;display:block;filter:drop-shadow(0 4px 10px rgba(69,64,252,.25))}
.legal-nav{display:flex;gap:18px}
.legal-nav a{font-size:14px;font-weight:600;color:#54545f}
.legal-nav a:hover{color:var(--accent2)}
.legal-card{background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.06);border-radius:22px;padding:42px 42px 46px;box-shadow:0 30px 70px rgba(40,40,90,.10);backdrop-filter:blur(8px)}
.legal-card h1{font-size:clamp(28px,4vw,34px);font-weight:700;letter-spacing:-.025em;margin:0;color:#16161c}
.legal-date{font-size:13.5px;color:#8a8a96;margin:9px 0 0;font-weight:500}
.legal-lead{font-size:16px;line-height:1.62;color:#3a3a46;margin:22px 0 0}
.legal-card h2{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:36px 0 0;color:#16161c}
.legal-card h2 .n{color:var(--accent2);margin-right:9px;font-variant-numeric:tabular-nums}
.legal-card p{font-size:15px;line-height:1.7;color:#45454f;margin:12px 0 0}
.legal-card ul{margin:12px 0 0;padding-left:20px}
.legal-card li{font-size:15px;line-height:1.62;color:#45454f;margin:8px 0}
.legal-card a{color:var(--accent2);font-weight:600}
.legal-card strong{color:#16161c;font-weight:600}
.legal-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:30px;font-size:13px;color:#7a7a86}
.legal-foot a{color:#54545f;font-weight:600}
.legal-foot a:hover{color:var(--accent2)}
@media (max-width:560px){.legal-card{padding:26px 22px 32px}.legal-top{padding:18px 2px 22px}}

/* ===== macOS-style notification (blocker) ===== */
.macnote{position:fixed;top:40px;right:16px;z-index:210;width:344px;max-width:calc(100vw - 32px);display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border-radius:16px;
  background:rgba(250,250,252,.86);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);
  border:.5px solid rgba(0,0,0,.08);box-shadow:0 12px 34px rgba(30,30,60,.18),0 2px 8px rgba(30,30,60,.10);
  font-family:var(--font);transform:translateX(calc(100% + 28px));opacity:0;
  transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.macnote.is-show{transform:none;opacity:1}
.macnote__icon{flex:none;display:block;border-radius:9px;filter:drop-shadow(0 2px 5px rgba(69,64,252,.22))}
.macnote__tx{flex:1;min-width:0}
.macnote__top{display:flex;align-items:baseline;gap:8px}
.macnote__top b{flex:1;min-width:0;font-size:13.5px;font-weight:600;color:#16161c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.macnote__top span{flex:none;font-size:11.5px;color:rgba(0,0,0,.38)}
.macnote p{margin:2px 0 0;font-size:12.5px;color:rgba(0,0,0,.62);line-height:1.35}
@media (prefers-reduced-motion:reduce){.macnote{transition:opacity .2s ease}}

/* ===== Eye-break overlay (0.6.1: distraction-free, calm dark) ===== */
.brk{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#fff;font-family:var(--font);background:radial-gradient(720px 720px at 50% 50%, rgba(18,18,24,.55), transparent 70%), #060608}
.brk.is-hidden{display:none}
.brk__body{display:flex;flex-direction:column;align-items:center;text-align:center;animation:brkIn .5s ease}
.brk__time{font-size:clamp(44px,7vw,56px);font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1;color:rgba(255,255,255,.6)}
.brk__sub{font-size:13px;color:rgba(255,255,255,.45);margin:14px 0 0}
.brk__breath{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:rgba(255,255,255,.4);margin-top:30px}
.brk__bdot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45);animation:brkPulse 4s ease-in-out infinite}
.brk__hair{width:220px;height:2px;border-radius:2px;background:rgba(255,255,255,.08);margin-top:34px;overflow:hidden}
.brk__hair i{display:block;height:100%;border-radius:2px;background:rgba(255,255,255,.28);width:100%;transition:width 1s linear}
.brk__skip{position:absolute;left:50%;bottom:40px;transform:translateX(-50%);overflow:hidden;display:inline-flex;align-items:center;font:inherit;font-size:12px;font-weight:500;color:rgba(255,255,255,.5);background:rgba(255,255,255,.04);border:.5px solid rgba(255,255,255,.1);border-radius:999px;padding:8px 15px;cursor:pointer;transition:color .2s,background .2s;user-select:none;-webkit-user-select:none}
.brk__skip:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.1)}
.brk__skip.holding{color:rgba(255,255,255,.85)}
.brk__skipfill{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(255,255,255,.16)}
.brk__skip.holding .brk__skipfill{width:100%;transition:width 1.1s linear}
.brk__skiptx{position:relative}
@keyframes brkIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes brkPulse{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.5);opacity:.85}}
