
:root{--ground:#d7d7d2;--ink:#111;--inkx:#111;--paper:#f5f5ef;--frame:#ddd;--panel:#fff;--field:#fff;--fline:#ccc;--cink:#111;--btn:#eee;--btn-border:#ddd;--muted:#555;--soft:#666;--rm:#777;--rp:#777;--line:#999;--line-h2:#777;--line-dot:#aaa;--danger:#9a2020;--danger-bg:#fff0f0;--danger-ink:#9a2020;--nline:#777;--notice-bg:#ffffe8;--link:#03a;--focus:#9b7b18;--del-link:#800;color-scheme:light dark;font-family:Verdana,Geneva,sans-serif;background:var(--ground);color:var(--ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--ground)}button,input,select,textarea{font:inherit}a{color:var(--link)}.shell{width:min(760px,calc(100% - 24px));margin:24px auto;border:2px outset var(--frame);background:var(--paper)}.auth-shell{width:min(560px,calc(100% - 24px))}.masthead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border-bottom:3px double var(--rm)}.masthead h1{margin:0;width:180px;aspect-ratio:480/151;background:currentColor;mask:url("/deigratia-galadriel.webp") center/contain no-repeat;-webkit-mask:url("/deigratia-galadriel.webp") center/contain no-repeat;font-size:0;line-height:0;flex:0 0 auto}.masthead span{font:10px Monaco,monospace;color:var(--muted)}.date-time{text-align:right}.date-time time{color:var(--inkx);font-weight:bold}.warning{margin:10px;border:1px solid var(--danger);background:var(--danger-bg);padding:7px;font-size:11px}.content{padding:10px}fieldset{margin:0 0 14px;border:1px solid var(--rp);background:var(--panel)}legend{font-weight:bold}.capture{display:grid;grid-template-columns:minmax(0,1fr) 170px 120px auto;gap:5px}input,select,textarea{min-height:30px;border:2px inset var(--fline);background:var(--field);color:var(--cink);padding:4px 6px}input:not([type=checkbox]),select,textarea{width:100%}input[type=date]{-webkit-appearance:none;appearance:none}input[type=date]::-webkit-date-and-time-value{text-align:left}::placeholder{color:var(--muted);opacity:1}.capture input[type=date]{width:100%;min-width:165px}button{min-height:30px;border:2px outset var(--btn-border);background:var(--btn);color:var(--cink);padding:4px 9px;cursor:pointer}button:active{border-style:inset}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.section{margin-top:16px}.section h2{margin:0;border-bottom:1px solid var(--line-h2);font-size:15px}.tasks{margin:0;padding:0;list-style:none}.task{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px dotted var(--line-dot);padding:7px 3px}.task .placement{font:10px Monaco,monospace;color:var(--muted);text-transform:uppercase}.task-actions{display:flex;align-items:center;gap:7px;font-size:10px}.task-actions form,.notice form{display:inline}.task-actions button,.notice button{min-height:22px;padding:1px 5px;font-size:10px}.notice{margin:7px 0;border:1px solid var(--nline);background:var(--notice-bg);padding:6px;font-size:11px}.check-label{display:flex;align-items:center;gap:6px}.check-label input{min-height:auto}.delete-form{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}.delete-form a{color:var(--del-link)}.empty{color:var(--soft);font-style:italic}.error{margin:12px;border:1px solid var(--danger);background:var(--danger-bg);padding:10px}.error h2{margin-top:0}.skip-link,.sr-only{position:absolute;left:-9999px}.skip-link:focus{left:8px;top:8px;z-index:2;background:#fff;color:#111;padding:6px;border:2px solid #111}.utility-nav{text-align:right;color:var(--muted);font-size:10px;margin-bottom:8px}.planner-nav{display:flex;gap:12px;border-block:1px solid var(--line);padding:6px 0;font-size:11px}.planner-nav a[aria-current=page]{font-style:italic}.day-nav{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:10px 0;font-size:11px}.day-nav form{display:flex;gap:5px;flex:0 1 230px;min-width:0}.day-nav input{min-width:0;flex:1}.event-until{color:var(--muted);font-size:11px;font-weight:normal}.capture-step,.rename-list{display:flex;gap:5px;align-items:end}.capture-step input,.rename-list input{min-width:0;flex:1}.steps{padding-left:24px}.steps li{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px dotted var(--line-dot);padding:5px 0}.list-directory{padding-left:22px}.list-directory li{margin:7px 0}.auth-form{display:grid;gap:5px}.auth-form label{font-weight:bold;margin-top:5px}.auth-form button{margin-top:8px}.auth-shell details,.security-section{margin-top:16px;border-top:1px solid #888;padding-top:10px}.security-section h2{margin:0}.recovery-codes{columns:2;padding-left:28px}.recovery-codes li{margin:5px 0}.recovery-codes code{font:14px Monaco,monospace}[data-auth-status]{min-height:20px;font-weight:bold}[data-auth-status][data-error=true]{color:var(--danger-ink)}
@media(prefers-color-scheme:dark){:root{--ground:#0b100d;--ink:#e8e2cf;--inkx:#f0ead8;--paper:#141a16;--frame:#596153;--panel:#101511;--field:#0d120f;--fline:#4d594a;--cink:#eee7d5;--btn:#242c25;--btn-border:#66705e;--muted:#a8ae9c;--soft:#a8ae9c;--rm:#78806c;--rp:#596153;--line:#4c5649;--line-h2:#4c5649;--line-dot:#4c5649;--danger:#80594f;--danger-bg:#291d1a;--danger-ink:#d6a08c;--nline:#786b43;--notice-bg:#242318;--link:#d5bc72;--focus:#ddc579;--del-link:#d6a08c}::selection{background:#c5aa61;color:#0b100d}}
@media(max-width:620px){.shell{margin:10px auto}input:not([type=checkbox]),select,textarea,button{min-height:44px;font-size:16px}.task-actions{font-size:12px}.task-actions button,.notice button{min-height:44px;padding:5px 12px;font-size:12px}.task-actions a{padding:15px 3px}.planner-nav a{padding:16px 2px}.utility-nav a{display:inline-block;padding:12px 6px;margin:-8px 0}.capture{grid-template-columns:1fr}.capture input[type=date]{min-width:0}.task{grid-template-columns:85px minmax(0,1fr)}.task-actions{grid-column:2}.capture-step,.rename-list{align-items:stretch;flex-direction:column}.capture-step input,.capture-step button,.rename-list input,.rename-list button{width:100%}.steps li{align-items:flex-start;flex-direction:column}.recovery-codes{columns:1}}
@media(max-width:390px){.masthead{align-items:flex-start}.masthead h1{width:165px}.masthead span{font-size:9px}}
