.heading-note{max-width:650px;overflow-wrap:anywhere}.page-heading{padding-bottom:23px}.welcome-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;margin:0 0 22px;border:1px solid #e0e5d7;border-radius:16px;background:#ffffff65}.welcome-strip>div{display:flex;align-items:center;gap:11px}.welcome-strip p{font-size:12px;line-height:1.55;margin:0;color:#61715d}.welcome-orb{width:19px;height:19px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#b9c8a7);box-shadow:0 0 19px #b9c8a755;flex-shrink:0}.welcome-strip button{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 13px;min-height:44px;font-size:11px;font-weight:600;background:#e7ecdf;border-radius:11px;white-space:nowrap}.welcome-strip button svg{width:16px;height:16px}.arrival{font-size:11px;line-height:1.65;color:#506d55;margin:0 0 12px;grid-column:1/-1}.active-actions>#enter-focus{font-size:10px;min-height:30px;text-decoration:none;color:#61715d}.duration-options,.feeling-options{border:0;margin:0 0 25px;padding:0;display:flex;gap:8px;flex-wrap:wrap}.duration-options legend,.feeling-options legend{font-size:11px;color:#61715d;margin-bottom:12px;line-height:1.6}.duration-options label,.feeling-options label{flex:1;min-width:65px;position:relative;cursor:pointer}.duration-options input,.feeling-options input{position:absolute;left:10px;top:12px;opacity:0;width:20px;height:20px}.duration-options span,.feeling-options span{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #dce3d1;border-radius:11px;font-size:11px;background:#ffffff80;white-space:nowrap}.duration-options label:has(input:checked) span,.feeling-options label:has(input:checked) span{background:#e3ead8;border-color:#8dA47c;color:#425e37}.duration-options label:has(input:focus-visible) span,.feeling-options label:has(input:focus-visible) span{outline:3px solid #707ca9;outline-offset:3px}.carry-choice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #dce3d1;border-radius:12px;font-size:11px;line-height:1.6;margin:8px 0}.carry-choice input{accent-color:#59734e;width:17px;height:17px;flex-shrink:0;margin:0}.carry-options{margin-bottom:17px}.preference-options{padding:17px 0 0;display:grid;gap:13px;font-size:11px;color:#61715d}.preference-options label{display:flex;align-items:center;gap:9px;line-height:1.5}.preference-options input{accent-color:#59734e;width:17px;height:17px;margin:0}.day-picker{font-size:10px;color:#61715d;display:flex;flex-direction:column;gap:7px;max-width:230px}select{font:inherit;border:1px solid #d9e1cf;background:#fff8;padding:11px 28px 11px 12px;border-radius:11px;max-width:100%;color:var(--ink);min-height:44px}select:focus-visible{outline:3px solid #707ca9;outline-offset:3px}#moment-phase{width:100%;font-size:12px;margin-bottom:20px}.history-view{max-width:790px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.day-keepsake{padding:26px 27px 26px 15px;border:1px solid #fff;border-radius:24px;background:linear-gradient(125deg,#e9eddf9c,#f9f8f1bd 56%,#eeeaf6b0);display:grid;grid-template-columns:215px 1fr;gap:19px;align-items:center;margin-bottom:25px;box-shadow:0 12px 40px -35px #53674366}.keepsake-map{width:215px;height:172px;stroke-width:1;overflow:visible}.keepsake-path{fill:none;stroke:#b6c4a4;stroke-width:1.2;stroke-dasharray:2 5;opacity:.7}.keepsake-aura{filter:blur(12px);opacity:.65}.keepsake-story .eyebrow{font-size:8px;line-height:1.8;margin-bottom:9px;letter-spacing:1.3px}.keepsake-story h3{font-size:25px;line-height:1.35;font-weight:420;letter-spacing:-.7px;margin:0 0 11px;overflow-wrap:anywhere}.keepsake-note{font-size:11px;line-height:1.7;color:#65745d;margin:0}.day-facts{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:9px;color:#61715d;margin-top:15px}.day-facts>span+span:before{content:'·';margin-right:10px;color:#98a28a}.history-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.history-toolbar>p{font-size:12px;color:#65745d;line-height:1.5}.history-toolbar .quiet-button{font-size:11px;padding:10px 13px}.history-empty{font-size:12px;line-height:1.8;color:#61715d;padding:10px 0 15px}.history-card.is-moment .history-dot{background:#daceb0;color:#7d6d48}.thought-card p{margin:0}.thought-card small{display:block;font-size:9px;color:#65745d;margin-top:8px}.history-view>.quiet-button{margin-top:12px}.focus-room{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:24px 35px;background:radial-gradient(ellipse at 50% 45%,#f0f0ed 0,#f4f3ee 55%,#e9eddf 100%);overflow:auto;--orb-one:#c2c3de;--orb-two:#d6dbeb;--orb-three:#c7d5c4}.focus-room[data-phase="2"]{--orb-one:#b9d2c3;--orb-two:#d7e2ca;--orb-three:#a7c6ba}.focus-room[data-phase="3"]{--orb-one:#dfd3b6;--orb-two:#e8dcce;--orb-three:#ced1b6}.focus-top{display:flex;justify-content:space-between;align-items:center;max-width:1000px;margin:auto;gap:20px}.focus-top .brand{font-size:26px}.focus-top>.quiet-button{font-size:11px}.focus-center{text-align:center;max-width:550px;margin:35px auto 0}.focus-center>.eyebrow{justify-content:center;font-size:9px}.focus-center h2{font-size:36px;font-weight:390;letter-spacing:-1.1px}.focus-center>#focus-objective{font-size:14px;line-height:1.65;color:#617063;margin:13px auto 0;max-width:440px;overflow-wrap:anywhere}.focus-visual{position:relative;width:260px;height:260px;margin:25px auto 24px}.living-orb{position:absolute;inset:0;isolation:isolate}.living-orb>span{position:absolute;width:73%;height:73%;left:13.5%;top:13.5%;background:var(--orb-one);border-radius:48% 52% 38% 62%;filter:blur(17px);opacity:.8;animation:orb-drift 11s ease-in-out infinite alternate}.living-orb>span:nth-child(2){background:var(--orb-two);transform:rotate(70deg);animation-delay:-5s;opacity:.65}.living-orb>span:nth-child(3){background:var(--orb-three);transform:rotate(140deg);animation-delay:-8s;opacity:.4}.living-orb>svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);stroke-width:.9}.focus-track{stroke:#fff9}.living-orb #focus-progress{stroke:#929bc0;stroke-width:1.1;stroke-dasharray:578;stroke-dashoffset:0;transition:stroke-dashoffset .8s linear}.focus-clock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.focus-clock strong{font-size:51px;font-weight:330;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;color:#465369}.focus-clock span{font-size:10px;color:#5f6a6a;margin-top:10px;max-width:170px;line-height:1.5}.focus-controls{display:flex;justify-content:center;gap:10px}.focus-controls>button{min-width:145px;min-height:47px}.focus-center>.text-button{margin-top:12px;font-size:11px;text-decoration:none}.focus-footnote{font-size:10px;color:#697963;line-height:1.7;margin:20px auto 0;max-width:350px}.is-paused .living-orb>span{animation-play-state:paused}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@keyframes orb-drift{from{transform:rotate(-16deg) scale(.92);border-radius:48% 52% 38% 62%}to{transform:rotate(20deg) scale(1.06);border-radius:61% 39% 55% 45%}}
@media(max-width:720px){.page-heading{padding-bottom:16px}.welcome-strip{padding:10px 12px;margin-bottom:15px;gap:10px;align-items:stretch}.welcome-strip>div{gap:8px}.welcome-strip p{font-size:10px;line-height:1.55}.welcome-orb{width:14px;height:14px}.welcome-strip button{font-size:10px;white-space:normal;min-width:108px;padding:8px 10px;gap:6px;line-height:1.4}.welcome-strip button svg{width:14px;height:14px}.map-stage:not(.whole-day){height:120px}.map-stage:not(.whole-day) .map-inner{transform:translate(var(--focus-x,-15%),calc(-115px + var(--focus-y,6.82%))) scale(1.06)}.active-actions>#enter-focus{grid-column:1/-1;min-height:29px;margin:0}.heading-note{font-size:10px}.day-layout{gap:14px}.phase-inspector{padding-top:17px}.phase-inspector>.arrival{margin-bottom:8px;font-size:10px}.section-title{align-items:flex-start;flex-direction:column;gap:17px}.day-picker{width:100%;max-width:none;font-size:10px;flex-direction:row;align-items:center;justify-content:space-between}.day-picker select{font-size:10px;width:70%}.day-keepsake{grid-template-columns:1fr;padding:15px 20px 22px;gap:0}.keepsake-map{width:190px;height:130px;margin:auto}.keepsake-story{text-align:center}.keepsake-story .eyebrow{justify-content:center;font-size:8px}.keepsake-story h3{font-size:23px}.day-facts{justify-content:center;font-size:9px}.history-toolbar>p{font-size:10px}.history-toolbar .quiet-button{font-size:10px;padding:9px 10px;gap:5px}.history-toolbar .quiet-button svg{width:14px;height:14px}.focus-room{padding:18px 20px}.focus-top .brand{font-size:23px}.focus-top .quiet-button{font-size:10px;min-height:42px;padding:9px 11px}.focus-center{margin-top:37px}.focus-center h2{font-size:32px}.focus-center>#focus-objective{font-size:13px;max-width:300px}.focus-visual{width:245px;height:245px;margin:25px auto}.focus-controls>button{min-width:0;flex:1;font-size:12px}.focus-clock strong{font-size:48px}.focus-footnote{font-size:10px}.duration-options label{min-width:50px}.duration-options span,.feeling-options span{font-size:10px}}
@media(max-height:700px){.focus-center{margin-top:15px}.focus-center h2{font-size:29px}.focus-visual{width:205px;height:205px;margin:17px auto}.focus-center>#focus-objective{font-size:12px;margin-top:9px}.focus-footnote{margin-top:9px}.focus-center>.text-button{margin-top:5px}.focus-clock strong{font-size:42px}}
@media(min-width:721px) and (max-height:850px){.page-heading{padding-top:18px;padding-bottom:18px}.welcome-strip{margin-bottom:16px;padding-top:8px;padding-bottom:8px}.map-stage{height:305px}.timer-block{padding:9px 0}.timer-orbit{width:110px;height:110px}.phase-description{margin-bottom:9px}.active-actions>#enter-focus{min-height:25px;margin:0}.objective{padding:8px 12px}.up-next{padding-top:8px;margin-top:7px}.phase-inspector{padding-top:17px;padding-bottom:16px}}
@media(prefers-reduced-motion:reduce){.living-orb>span{animation:none}.focus-room *{transition:none!important}}
.continuation-card .quiet-button{margin-top:12px;font-size:11px;min-height:44px}.focus-room[open]{animation:room-arrive .28s ease-out}.phase-node.is-active .node-core{animation:node-arrive .65s ease-out}@keyframes room-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes node-arrive{from{box-shadow:0 0 0 10px #a9b5ce00;opacity:.65}50%{box-shadow:0 0 0 12px #a9b5ce22}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.focus-room[open],.phase-node.is-active .node-core{animation:none}}

/* v1: Orbita dark and Manrope, adopted in STANJE.md. Geometry remains the L layout. */
:root { color-scheme:dark; --paper:#201D2B; --surface:#302A40; --ink:#F1EDF8; --muted:#C8BED8; --accent:#D1BDEB; --on-action:#35264C; --focus:#45365D; --rest:#29433E; --life:#513B32; --aura:#796197; --line:#B2A2C8; --outline:#655873; --calm:var(--surface); --violet:var(--accent); --violet-dark:var(--on-action); --mint:var(--rest); --sand:var(--life); --font:"Manrope",sans-serif; }
body { background:var(--paper); color:var(--ink); }
button,input,textarea,select { font-family:var(--font); }
h1,h2,h3,.brand { font-weight:500; }
.topbar,.map-key,.up-next { border-color:var(--outline); }
.brand { color:var(--ink); }
.brand .brand-orbit { width:32px; height:32px; color:var(--accent); stroke-width:0; }
.ambient-one { background:var(--rest); }
.ambient-two { background:var(--aura); opacity:.16; }
.eyebrow,.map-hint,.map-key,.small-signal,.phase-description,.objective>span,.up-next>span,
.footer-status,.footer-caption,.prototype-label,.node-label small,.timer-content>span:last-child,
.extend-button,.heading-note,.phase-kind,.day-tail,.dialog-description,.prototype-note,
.input-label,.signal-options legend,.history-content p,.history-content small,.text-button,
.up-next p>span,.preview-actions>p,.keepsake-note,.history-toolbar>p,.focus-footnote,
.focus-clock>span,.carry-options>p,.thought-card>small,.day-picker { color:var(--muted); }
.demo-tag { color:var(--muted); border-color:var(--outline); }
.icon-button,.quiet-button,.finish-button,.map-panel,.phase-inspector,.day-keepsake,.thought-card,
.welcome-strip,.bottom-nav,dialog,.reminder-preview,.toast { background:var(--surface); border-color:var(--outline); box-shadow:none; }
.icon-button:hover,.quiet-button:hover,.finish-button:hover { background:var(--focus); }
.primary-button,.welcome-strip button { background:var(--accent); color:var(--on-action); box-shadow:none; }
.primary-button:hover,.welcome-strip button:hover { background:var(--ink); color:var(--on-action); }
.view-switch,.objective,.nav-item.selected,.day-facts>span,.dialog-symbol,.reminder-icon { background:var(--focus); color:var(--ink); border-color:var(--outline); }
.view-switch button { color:var(--muted); }
.view-switch button.selected { background:var(--accent); color:var(--on-action); box-shadow:none; }
.nav-item { color:var(--muted); }
.nav-item.selected { color:var(--ink); }
.path-under { stroke:var(--paper); opacity:1; }
.path-future,.path-tail { stroke:var(--line); }
.phase-morning { --node-color:var(--calm); }
.phase-focus { --node-color:var(--focus); }
.phase-break { --node-color:var(--rest); }
.phase-life { --node-color:var(--life); }
.node-core { background:var(--node-color); border-color:var(--outline); box-shadow:none; }
.node-core svg,.phase-focus .node-core svg,.phase-life .node-core svg { color:var(--ink); }
.is-active .node-core { background:var(--accent); }
.is-active .node-core svg { color:var(--on-action); }
.is-selected .node-orbit { border-color:var(--accent); }
.is-active .node-label small { color:var(--accent); }
.key-done,.key-now,.footer-status>i { background:var(--accent); }
.key-next { border-color:var(--line); }
.timer-track,.focus-track { stroke:var(--outline); }
.timer-progress,#focus-progress { stroke:var(--accent); }
.timer-content>span:first-child,.focus-clock>strong { color:var(--ink); font-weight:400; }
.history-list { border-color:var(--outline); }
.history-dot,.history-dot.done { background:var(--focus); color:var(--ink); border-color:var(--paper); }
.history-content .continuation-note { background:var(--surface); color:var(--ink); }
dialog::backdrop { background:#201D2BAA; }
.dialog-header>.icon-button { background:var(--paper); }
.outcome-options label,.signal-options label,.duration-options label,.feeling-options label { background:var(--paper); border-color:var(--outline); }
.outcome-options label:has(input:checked),.signal-options label:has(input:checked),
.duration-options label:has(input:checked),.feeling-options label:has(input:checked) { background:var(--focus); border-color:var(--accent); }
.outcome-options small,.signal-options small { color:var(--muted); }
input,textarea,select { accent-color:var(--accent); }
input[type=text],input:not([type]),textarea,select { background:var(--paper); border-color:var(--outline); color:var(--ink); }
input::placeholder,textarea::placeholder { color:var(--muted); }
.reminder-preview p,.reminder-brand { color:var(--muted); }
.reminder-preview button:not(.icon-button) { color:var(--accent); }
.reminder-preview>.icon-button { background:var(--paper); }
.focus-room { background:radial-gradient(ellipse at 50% 40%,var(--focus),var(--paper) 65%); }
.living-orb>span { background:var(--aura); }
.living-orb>span:nth-child(2) { background:var(--rest); }
.living-orb>span:nth-child(3) { background:var(--focus); }
.welcome-orb { background:var(--accent); }

/* Open Loop Pulse Ring: 18px visual inside the explicitly requested 36px hit zone. */
.heading-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.loop-indicator { display:inline-flex; align-items:center; gap:3px; padding:0 6px 0 0; color:var(--accent); border-radius:12px; }
.loop-indicator:disabled { opacity:.65; }
.loop-hit,.loop-ring { width:36px; height:36px; min-width:36px; min-height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0; flex-shrink:0; }
.loop-ring { border:0; background:transparent; color:var(--accent); border-radius:50%; }
.loop-ring:hover,.loop-indicator:hover:not(:disabled) { background:var(--focus); }
.loop-orbit { display:block; width:18px; height:18px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; position:relative; transform:rotate(-28deg); }
.loop-dot { display:block; position:absolute; width:4px; height:4px; left:50%; top:50%; border-radius:50%; background:currentColor; transform:translate(-50%,-50%); animation:loop-breathe 4s ease-in-out infinite; }
.loop-indicator:disabled .loop-dot { animation:none; }
@keyframes loop-breathe { 0%,100% { opacity:.55; transform:translate(-50%,-50%) scale(.85); } 50% { opacity:1; transform:translate(-50%,-50%) scale(1.15); } }
.loop-card-heading { display:flex; align-items:flex-start; gap:12px; justify-content:space-between; }
.loop-card-heading>p { min-width:0; flex:1; margin:7px 0; overflow-wrap:anywhere; }
.loop-phase { display:block; color:var(--muted); }
.open-loop-list { display:grid; gap:8px; }
.open-loop-list>.thought-card { margin:0; }
.today-open-loops { max-width:750px; margin:0 auto 24px; }
.today-open-loops>h2 { font-size:18px; margin:0 0 14px; }
.loop-choice { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding:10px 0; border-top:1px solid var(--outline); margin-top:10px; white-space:normal; }
.loop-choice-label { color:var(--muted); font-size:12px; flex-basis:100%; }
.loop-action { padding:7px 10px; min-height:36px; border-radius:9px; border:1px solid var(--outline); background:var(--paper); color:var(--ink); font-size:12px; }
.loop-action:hover { background:var(--focus); }
.continuation-card .continue-step { margin-top:12px; font-size:12px; }
.thought-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; white-space:normal; }
.thought-actions .quiet-button { font-size:12px; padding:8px 12px; }
.thought-card.is-resolved { border-style:dashed; }
.thought-status { display:block; color:var(--muted); }
.daily-nudge { color:var(--muted); font-size:13px; line-height:1.7; max-width:720px; margin:0 0 20px; }
.toast { display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--ink); }
.toast.visible { pointer-events:auto; }
#toast-message { overflow-wrap:anywhere; }
#toast-undo { flex-shrink:0; min-height:36px; padding:5px 10px; color:var(--accent); font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.reminder-signal-status { font-size:11px; }
@media(max-width:720px) {
  .heading-actions { gap:5px; margin-top:13px; }
  #capture-button { width:38px; min-height:38px; padding:0; border-radius:12px; }
  #capture-button>span { display:none; }
  .page-heading { gap:12px; }
  .page-heading>div:first-child { min-width:0; }
  .daily-nudge { font-size:12px; }
  input[type=text],input:not([type]),textarea,select { font-size:16px; }
  .thought-actions .quiet-button { flex:1; }
  .loop-choice .loop-action { flex:1 1 auto; }
}
@media(prefers-reduced-motion:reduce) { .loop-dot { animation:none!important; } }
.motion-off .loop-dot { animation:none!important; }
.objective p,#focus-objective,.heading-note,.keepsake-story h3 { overflow-wrap:anywhere; }

/* Step 2: complete Orbita surfaces, readable map labels and personal data controls. */
:focus-visible { outline-color:var(--accent); }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.duration-options input:focus-visible+span,.feeling-options input:focus-visible+span { outline-color:var(--accent); }
.map-stage:not(.whole-day) .phase-node:not(.is-selected),.map-stage:not(.whole-day) .phase-node:not(.is-selected) .node-label { opacity:1; }
.map-stage:not(.whole-day) .phase-node:not(.is-selected) .node-core { opacity:.7; }
.node-orbit { border-color:var(--outline); }
.up-next svg { color:var(--muted); }
.focus-center>#focus-objective,.history-empty,.duration-options legend,.feeling-options legend,.preference-options,.welcome-strip p,.active-actions>#enter-focus,.settings-note { color:var(--muted); }
.living-orb #focus-progress { stroke:var(--accent); }
.keepsake-path { stroke:var(--line); }
.history-card.is-moment .history-dot { background:var(--life); color:var(--ink); }
.day-facts>span+span:before { color:var(--muted); }
.duration-options span,.feeling-options span { background:var(--paper); border-color:var(--outline); color:var(--ink); }
.duration-options input:checked+span,.feeling-options input:checked+span { background:var(--focus); border-color:var(--accent); color:var(--ink); }
.duration-options label:has(input:checked) span,.feeling-options label:has(input:checked) span { background:var(--focus); border-color:var(--accent); color:var(--ink); }
.duration-options label:has(input:focus-visible) span,.feeling-options label:has(input:focus-visible) span { outline-color:var(--accent); }
.carry-choice { border-color:var(--outline); }
.outcome-options input,.signal-options input,.carry-choice input,.preference-options input { accent-color:var(--accent); }
.welcome-orb { box-shadow:0 0 19px color-mix(in srgb,var(--aura) 35%,transparent); }
.focus-center h2,.keepsake-story h3 { font-weight:500; }
.timer-content>span:first-child,.focus-clock strong,#timer-value,#focus-time { font-variant-numeric:tabular-nums; }
.backup-settings,.pwa-settings { margin-top:24px; padding-top:20px; border-top:1px solid var(--outline); }
.backup-settings h3,.pwa-settings h3 { margin:0 0 10px; font-size:18px; }
.backup-settings .eyebrow { margin:0 0 10px; }
.settings-note { font-size:12px; line-height:1.65; margin:10px 0; }
.backup-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:16px; }
.backup-actions .quiet-button { justify-content:center; padding:12px 8px; font-size:12px; min-height:44px; white-space:normal; }
#focus-view,#whole-view { transition:transform .2s,box-shadow .2s; }
.loop-choice { scroll-margin-top:16px; scroll-margin-bottom:calc(112px + env(safe-area-inset-bottom)); }
.writer-notice { background:var(--focus); border:1px solid var(--outline); color:var(--ink); border-radius:16px; padding:16px; margin:12px 0; }
.writer-notice p { margin:0 0 12px; }
dialog { max-height:calc(100dvh - 32px); overflow-y:auto; }
@keyframes node-arrive { from { box-shadow:0 0 0 10px transparent; opacity:.65; } 50% { box-shadow:0 0 0 12px color-mix(in srgb,var(--accent) 13%,transparent); } to { opacity:1; } }
