input,select{font:inherit;font-size:16px;color:#e7edf5;background:#142331;border:1px solid #344c5e;border-radius:12px;padding:12px;width:100%;min-height:46px}label{display:block;font-size:.875rem;color:#b7c9d7;margin:14px 0}label input,label textarea,label select{margin-top:8px}input:focus-visible,select:focus-visible{outline:2px solid var(--accent)}button.primary{background:var(--accent);color:#102231;border:0;border-radius:16px;padding:12px 20px;width:100%;font-weight:600}.subtle{background:transparent;border:0;color:#9dc3d6;padding:8px 12px}.danger{color:#ff9595;background:#302029;border:1px solid #654049;border-radius:12px;padding:10px 16px}#account{margin-left:auto;font-size:1.5rem;letter-spacing:2px}header{padding-top:10px;padding-bottom:10px}#brand-icon svg{width:28px;height:28px}#navigation{display:flex;flex:none;border-top:1px solid #233241;padding:5px 16px max(5px,env(safe-area-inset-bottom));gap:16px;background:#0c121b}#navigation button{flex:1;background:transparent;border:0;color:#879eaf;border-radius:14px;font-size:.875rem}#navigation button[aria-current]{color:var(--accent);background:#142635}.composer-shell{padding-bottom:8px}.keyboard-open #navigation{display:none}#today{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left))}.today-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.today-heading h1{margin:10px 0;font-weight:550}.today-heading .eyebrow{letter-spacing:.04em;font-size:.8rem;margin-top:0}.round-add{border:1px solid #365569;background:#1c3547;color:var(--accent);font-size:1.8rem;border-radius:50%;height:48px;width:48px;flex:none}.refresh-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 10px}.refresh-row .quiet{font-size:.75rem}#today-status,#task-status,#login-status{color:#e9b5ad;font-size:.875rem;line-height:1.5}#today-status:empty,#task-status:empty,#login-status:empty{display:none}.todo-row{display:flex;gap:12px;padding:18px 0;border-bottom:1px solid #243240;align-items:flex-start}.todo-check{width:44px;min-width:44px;height:44px;border-radius:50%;border:1px solid #547181;background:#13222e;color:#b9e3ce;position:relative}.todo-check:empty:after{content:'';position:absolute;inset:12px;border:1px solid #9bb5c7;border-radius:50%}.todo-content{min-width:0;flex:1;padding-top:4px}.todo-title{font-size:1rem;line-height:1.5;cursor:pointer;overflow-wrap:anywhere;min-height:32px;list-style:none}.todo-title::-webkit-details-marker{display:none}.todo-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem;color:#aec0d0;line-height:1.6}.todo-meta{font-size:.75rem;color:#9cb4c6;line-height:1.5;margin-top:4px}.empty-todos{padding:30px 10px;border:1px dashed #2a4051;border-radius:18px;font-size:.95rem;line-height:1.7;color:#9cb4c6;text-align:center}#completed-todos{margin-top:28px}#completed-summary{min-height:44px;color:#94aaaf;cursor:pointer;font-size:.875rem}#completed-list .todo-title{color:#8eaaa5;text-decoration:line-through}dialog{color:#e7edf5;background:#111e2b;border:1px solid #365063;border-radius:24px;padding:24px;max-width:520px;width:calc(100% - 24px);max-height:calc(var(--view-height) - 24px);overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#020810c9}dialog h2{font-size:1.3rem;margin:0;letter-spacing:-.02em}dialog p{line-height:1.6}dialog textarea{border:1px solid #344c5e;border-radius:12px;height:80px;padding:12px}dialog summary{min-height:44px;padding:14px 0;cursor:pointer;color:#9dc3d6}.sheet-heading{display:flex;align-items:center;justify-content:space-between}.sheet-heading button{font-size:1.5rem}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-pair label{min-width:0}.field-pair input{min-width:0}#auth-screen{position:absolute;z-index:10;inset:0;background:#0c121b;overflow:auto;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));height:var(--view-height);top:var(--view-top)}#login-form{max-width:380px;margin:20px auto}#login-form img{border-radius:16px}#login-form h1{font-size:1.7rem}#login-form>button{display:block;margin:12px auto}#pin-fields input{font-size:1.7rem;letter-spacing:.5em}#setup-fields p{font-size:.875rem;color:#a6becf;line-height:1.5}.pending-answer .selection-status:after{content:' •••';display:inline-block;animation:waiting-bounce 1.15s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.pending-answer .selection-status:after{animation:none}}@media(max-width:600px){#task-sheet{margin:auto auto 8px;border-radius:24px 24px 16px 16px;padding-bottom:max(20px,env(safe-area-inset-bottom))}}@media(max-height:450px){header{min-height:40px;padding-top:2px;padding-bottom:2px}#navigation{display:none}}

.todo-pending .todo-title{text-decoration:line-through;color:#8eaaa5}.carryover{border:1px solid #344d5f;border-radius:18px;padding:16px;margin:18px 0}.carryover h2{font-size:1rem}.carryover label{display:flex;align-items:center;gap:12px}.carryover input{width:24px;min-height:24px}.carryover .options button{flex:1}

/* V6.1.1: compact system typography and one-hand Todo controls. */
:root{font-size:14.5px}
html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}
#today{padding-bottom:104px}
.floating-add{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:calc(66px + env(safe-area-inset-bottom));z-index:5;box-shadow:0 10px 28px #02081080}
.todo-check{display:grid;place-items:center;border-radius:12px;font-size:1rem;font-weight:700}
.carryover{margin:12px 0 16px;padding:14px;border:1px solid #30485c;border-radius:18px;background:#101c28}
.carryover h2{margin:0;font-size:.9rem;font-weight:550;line-height:1.45;color:#d8e7ef}
.carryover-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.carryover-options button{min-width:0;min-height:44px;padding:7px 6px;border:1px solid #30485c;border-radius:13px;background:#142331;color:#bfd2de;font-size:.75rem;line-height:1.25}
.carryover-options button:disabled{cursor:default;opacity:1}
@media(max-width:360px){.carryover-options{gap:6px}.carryover-options button{font-size:.7rem}}

/* V6.3.0: compact system typography and clean mobile controls. */
:root{--font-scale:1;font-size:calc(14px * var(--font-scale))}
body,input,select,button,textarea{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
header{min-height:54px;padding:8px 16px}
#brand-icon svg{width:24px;height:24px}
.brand{font-size:.95rem;letter-spacing:0}
#account{font-size:1.25rem;padding:4px 8px}
h1{font-size:clamp(1.45rem,4.5vw,1.7rem);margin:11px 0;letter-spacing:-.025em}
#welcome{margin-top:clamp(18px,10vh,90px)}
#welcome p{font-size:1rem;line-height:1.55}
.eyebrow{font-size:.72rem}
.quiet{font-size:.82rem}
.message{font-size:1rem;line-height:1.55;margin-bottom:18px}
.message-label{font-size:.72rem}
.user{padding:10px 13px}

.composer-shell{padding:5px max(14px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.composer{border-radius:15px;padding:4px 5px;background:#111f2b;box-shadow:none}
#normal-composer{gap:3px;align-items:center}
.composer textarea{height:38px;min-height:38px;max-height:116px;padding:8px 7px;font-size:1rem;line-height:1.45}
.icon-button{width:44px;height:44px;min-height:44px;border-radius:11px}
.icon-button svg{width:21px;height:21px}
.composer-meta{font-size:.7rem;margin-top:5px}
#navigation{padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}
#navigation button{min-height:44px;font-size:.82rem}

#today{padding:18px max(16px,env(safe-area-inset-right)) 96px max(16px,env(safe-area-inset-left))}
.today-heading h1{font-size:1.55rem;margin:7px 0}
.today-heading .eyebrow{font-size:.72rem}
.refresh-row{margin:5px 0 7px}
#today-status{color:#8298aa!important;font-size:.8rem;line-height:1.4;margin:8px 0}
.todo-row{gap:8px;padding:11px 0;border-bottom-color:#2e4050}
.todo-content{padding-top:2px}
.todo-title{font-size:1rem;line-height:1.4;min-height:28px}
.todo-description{font-size:.85rem;line-height:1.5}
.todo-meta{font-size:.72rem}
.todo-check{position:relative;width:44px;min-width:44px;height:44px;min-height:44px;border:0;border-radius:0;background:transparent;color:transparent;font-size:0}
.todo-check::before{content:'';display:block;width:1.05rem;height:1.05rem;border:1.5px solid #91aabd;border-radius:2px;background:#111f2b}
.empty-todos{display:block;width:100%;min-height:88px;padding:22px 16px;border:1px dashed #2a4051;border-radius:15px;background:transparent;color:#9cb4c6;text-align:center;font-size:.92rem;line-height:1.55}
.empty-todos:active{background:#101d29}
.round-add{width:44px;height:44px;min-height:44px;font-size:1.6rem}
.floating-add{right:max(16px,env(safe-area-inset-right));bottom:calc(60px + env(safe-area-inset-bottom))}
.carryover{padding:12px;border-radius:15px}
.carryover h2{font-size:.88rem}
.carryover-options{margin-top:9px}
.carryover-options button{font-size:.72rem;border-radius:10px}
.carryover-selection{margin-top:10px}
.carryover-selection-list{display:grid;gap:5px;margin-bottom:10px}
.carryover-choice{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:8px 6px;border-bottom:1px solid #2e4050;color:#c4d5df;font-size:.8rem;line-height:1.35}
.carryover-choice input{width:22px;height:22px;min-height:22px;margin:0;flex:none;accent-color:#79c2d3}
.carryover-selection .primary{min-height:44px;font-size:.8rem}
.carryover>p[role=status]{margin:8px 0 0;font-size:.75rem}

@media(max-width:420px){#history{padding:18px 16px}.composer-meta>span:first-child{display:none}}

/* V6.3.1: compact Todo rows with stable checkbox geometry and touch-safe actions. */
.todo-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;gap:4px;min-height:52px;padding:7px 0;border-bottom:1px solid #3a4c5b}
.todo-row.todo-done{grid-template-columns:44px minmax(0,1fr)}
.todo-content{min-width:0;padding:2px 0 0}
.todo-title{min-height:20px;font-size:1rem;line-height:1.4;overflow-wrap:anywhere}
.todo-detail>.todo-title::after{content:'›';display:inline-block;margin-left:6px;color:#708b9d;font-size:.9rem;transform:rotate(90deg);transition:transform .12s ease}
.todo-detail[open]>.todo-title::after{transform:rotate(-90deg)}
.todo-description{margin:7px 0 2px;padding:8px 10px;border-left:2px solid #344c5e;border-radius:0 8px 8px 0;background:#101c27;color:#b4c5d2}
.todo-meta{margin-top:3px;line-height:1.4}
.todo-check{display:grid;grid-template-areas:'mark';place-items:start center;box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;padding:3px 0 0;border:0;border-radius:10px;background:transparent;color:transparent}
.todo-check::before{content:'';grid-area:mark;box-sizing:border-box;width:17px;height:17px;margin:0;border:1.5px solid #9ab2c2;border-radius:3px;background:#111f2b}
.todo-check::after{content:'';grid-area:mark;align-self:start;justify-self:center;box-sizing:border-box;width:5px;height:9px;margin-top:4px;border-right:2px solid #b9e3ce;border-bottom:2px solid #b9e3ce;opacity:0;transform:rotate(45deg)}
.todo-check:empty::after{position:static;inset:auto;border:0;border-right:2px solid #b9e3ce;border-bottom:2px solid #b9e3ce;border-radius:0}
.todo-check.is-checked::before{border-color:#8fcfc1;background:#18342f}
.todo-check.is-checked::after{opacity:1}
.todo-check:disabled{opacity:1}
.todo-drag{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:#8fa7b7;font-size:1.55rem;font-weight:500;line-height:1;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.todo-drag.drag-enabled{touch-action:none}
.todo-drag:active,.todo-drag.drag-active{background:#172a38;color:#b7d1de}
.todo-row.todo-dragging{position:relative;z-index:2;border-radius:12px;background:#162633;box-shadow:0 8px 22px #02081073}
.dialog-todo-title{margin:10px 0;padding:10px 12px;border-radius:10px;background:#172633;color:#d8e5ed;font-weight:600;overflow-wrap:anywhere}
.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.dialog-actions form,.dialog-actions button{width:100%;min-height:44px;margin:0}
#delete-task-status{min-height:1.4em;color:#e9b5ad;font-size:.82rem}
#version-info{line-height:1.55}

@media(prefers-reduced-motion:reduce){.todo-detail>.todo-title::after{transition:none}}

/* V6.3.2: stable optimistic check state without positional animation. */
.todo-check::before{transition:border-color .15s ease,background-color .15s ease}
.todo-check::after{transition:opacity .15s ease}
.todo-row .todo-title{transition:color .15s ease,text-decoration-color .15s ease}
.todo-row.todo-checked .todo-title{color:#8eaaa5;text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#8eaaa5}
.todo-drag:disabled{background:transparent;color:#526875;opacity:1}
.version-info-button{display:block;width:100%;min-height:44px;margin:5px 0;padding:4px 0;border:0;background:transparent;text-align:left;line-height:1.55}
#luna-easter-egg{position:fixed;z-index:40;left:50%;bottom:max(82px,calc(62px + env(safe-area-inset-bottom)));transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);margin:0;padding:10px 15px;border:1px solid #3c596b;border-radius:999px;background:#142635;color:#ccecf2;box-shadow:0 10px 30px #0208109e;font-size:.82rem;text-align:center;animation:luna-toast .16s ease-out}
@keyframes luna-toast{from{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.todo-check::before,.todo-check::after,.todo-row .todo-title{transition:none}#luna-easter-egg{animation:none}}

/* V6.4.0: session-aware settings, scalable text and copyable error references. */
.account-user{margin:10px 0 2px;color:#d9e9f1;font-size:1.05rem;font-weight:600}
.settings-sheet{padding:20px}
.settings-sheet fieldset{min-width:0;margin:18px 0;padding:0;border:0;border-top:1px solid #314452}
.settings-sheet legend{padding:12px 0 2px;color:#8fa8b8;font-size:.72rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.setting-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(104px,42%);align-items:center;gap:14px;min-height:52px;margin:0;border-bottom:1px solid #263947;color:#d4e1e8}
.setting-row>span{min-width:0;line-height:1.35}
.setting-row input,.setting-row select{min-width:0;min-height:44px;margin:0;padding:8px 10px;background:#142331}
.setting-row input[type=checkbox]{justify-self:end;width:24px;height:24px;min-height:24px;padding:0;accent-color:#8fd3df}
.setting-note{margin:7px 0 11px;line-height:1.4}
#settings-status,#today-status,#task-status,#delete-task-status,#account-status{white-space:pre-line}
#settings-status{min-height:1.5em;color:#e9b5ad;font-size:.82rem;line-height:1.45}
.error-reference{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px!important;color:#d8a8a5;font-size:.82rem}
.copy-error-id{min-height:36px;padding:4px 9px;border:1px solid #6a4649;border-radius:8px;background:#271d23;color:#ffc0bb;font:inherit;font-weight:650;letter-spacing:.08em}
.inline-error-id{display:inline-block;min-height:34px;margin:4px 0 0 4px;padding:3px 8px;border:1px solid #6a4649;border-radius:8px;background:#271d23;color:#ffc0bb;font:inherit;font-weight:650;letter-spacing:.08em}
#login-status{white-space:pre-line}
.todo-row.todo-static{grid-template-columns:44px minmax(0,1fr)}
.todo-content[role=button]{border-radius:8px;cursor:pointer}
.todo-content[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#future-todos,#completed-todos{margin-top:24px;border-top:1px solid #344958;padding-top:8px}
#future-summary,#completed-summary{min-height:44px;padding:12px 0;color:#a9bdc8;cursor:pointer;font-size:.88rem;font-weight:600}
.future-date{margin:13px 0 2px;color:#8ea8b8;font-size:.74rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}
.history-more{display:block;width:100%;margin:12px 0 2px;border:1px solid #30485b;border-radius:10px}
.form-hint{margin:4px 0 12px;font-size:.74rem}
.todo-detail-fields{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:0;margin:16px 0 0}
.todo-detail-fields dt,.todo-detail-fields dd{margin:0;padding:10px 0;border-bottom:1px solid #2d404f;line-height:1.45;overflow-wrap:anywhere}
.todo-detail-fields dt{color:#8fa8b8;font-size:.78rem}
.todo-detail-fields dd{color:#d8e5ed;font-size:.88rem}
#todo-detail-status{color:#e9b5ad;font-size:.82rem;white-space:pre-line}
@media(max-width:420px){.setting-row{grid-template-columns:minmax(0,1fr) minmax(96px,44%)}}

/* V6.4.1: directly reachable settings and reliable one-finger Todo actions. */
.settings-account{padding-bottom:max(6px,env(safe-area-inset-bottom))!important}
.settings-account>p:first-of-type{margin:10px 0 0;color:#8fa8b8;font-size:.78rem}
.settings-account .account-user{margin-top:2px}
.settings-account .danger{width:100%;min-height:44px;margin-top:8px}
.todo-action-layer{position:fixed;inset:0;z-index:30;display:flex;align-items:flex-end;justify-content:center}
.todo-action-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#020810c9}
.todo-action-sheet{position:relative;max-height:calc(var(--view-height) - 24px);overflow-y:auto;margin:0;border:1px solid #365063;border-radius:24px 24px 0 0;padding:20px 20px max(20px,env(safe-area-inset-bottom));width:min(520px,100%);max-width:100%;color:#e7edf5;background:#111e2b}
.todo-action-sheet h2{font-size:1.2rem;margin:0}
.todo-action-buttons{display:grid;gap:8px;margin-top:14px}
.todo-action-buttons button{width:100%;min-height:48px;margin:0;border-radius:12px}
.todo-action-buttons .subtle{border:1px solid #30485b;background:#13222e;color:#d5e4ec}
#todo-action-note{margin:12px 2px 0;text-align:center}
@media(min-width:601px){.todo-action-layer{align-items:center}.todo-action-sheet{border-radius:24px;width:min(460px,calc(100% - 32px))}}

/* 6.4.2: the mark is SVG geometry inside a fixed 17px box, not a font glyph. */
.todo-check::before,.todo-check::after{content:none!important}
.todo-check{display:flex;align-items:flex-start;justify-content:center;padding:3px 0 0}
.todo-check-box{position:relative;display:block;flex:none;width:17px;height:17px;border:1.5px solid #9ab2c2;border-radius:3px;background:#111f2b;transition:background-color .15s ease,border-color .15s ease}
.todo-check-box svg{position:absolute;inset:-1.5px;width:17px;height:17px;fill:none;stroke:#b9e3ce;stroke-width:2;opacity:0;transition:opacity .15s ease}
.todo-check.is-checked .todo-check-box{border-color:#8fcfc1;background:#18342f}
.todo-check.is-checked .todo-check-box svg{opacity:1}
.todo-row.todo-deadline-warning{background:#321f29;border-bottom-color:#84505d;border-radius:8px}
.todo-deadline-warning .todo-meta{color:#ffc0ba}
.todo-overdue .todo-meta{font-weight:650}
.todo-editor{width:100%;margin:8px 0 14px;padding:16px;border:1px solid #3a596e;border-radius:14px;background:#112331;overflow-wrap:anywhere}
.todo-editor h2{margin:0 0 12px;font-size:1.05rem}
.todo-editor fieldset{min-width:0;margin:0;padding:0;border:0}
.todo-editor label{margin:12px 0}
.todo-editor textarea{min-height:84px;height:auto;border:1px solid #344c5e;border-radius:12px;padding:10px;background:#142331}
.todo-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.todo-edit-actions button{width:100%;min-height:44px}
.todo-edit-status{margin:8px 0;white-space:pre-line;line-height:1.45;color:#e9b5ad}
.todo-edit-status:empty{display:none}
@media(max-width:360px){.todo-editor .field-pair{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.todo-check-box,.todo-check-box svg{transition:none}}
@media(max-width:600px){.settings-sheet{margin:auto auto 0;border-radius:24px 24px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}}
