:root{--moss:#607255;--dark:#34402f;--lichen:#a9b89c;--sage:#dde5d6;--paper:#f6f3ea;--ink:#263026;--alert:#b77955;--muted:#697267;--line:#d7d9ce;--white:#fffdf7;--shadow:0 16px 45px rgba(52,64,47,.12);font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 100% 0,rgba(169,184,156,.22),transparent 30%),var(--paper)}button,input,select,textarea{font:inherit;color:inherit}.skip-link{position:fixed;z-index:20;top:-100px;left:1rem;background:var(--dark);color:#fff;padding:.75rem}.skip-link:focus{top:1rem}button,a{touch-action:manipulation}.app-header{height:76px;padding:8px max(18px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(246,243,234,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.logo{height:60px;display:flex;align-items:center;color:var(--dark);font-size:25px;font-weight:500;text-decoration:none;letter-spacing:-.05em}.logo-mark{position:relative;width:42px;height:62px;margin-right:-4px}.logo-mark svg{position:absolute;width:49px;height:67px;left:-9px;top:-3px;color:var(--moss)}.logo-mark b{position:absolute;left:11px;bottom:7px;font-size:29px;font-weight:500}.icon-button{border:0;background:var(--sage);border-radius:50%;min-width:44px;height:44px;font-size:25px;display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:var(--lichen)}main{width:min(100% - 32px,1120px);margin:0 auto;padding:42px 0 116px}.page-head{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-bottom:26px}.eyebrow{margin:0 0 5px;color:var(--moss);font-size:10px;font-weight:600;letter-spacing:.14em}.page-head h1,dialog h2{font-weight:500;letter-spacing:-.045em;margin:0;font-size:clamp(30px,5vw,48px);line-height:1.08}.page-head p{color:var(--muted);margin:10px 0 0;max-width:580px;line-height:1.5}.status-chip{background:var(--sage);border-radius:999px;padding:9px 14px;font-size:13px;white-space:nowrap}.summary{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:28px}.progress-panel,.quiet-panel{padding:24px;border:1px solid var(--line);background:rgba(255,253,247,.74);border-radius:22px}.progress-panel h2,.section-title{font-size:17px;font-weight:500;margin:0 0 18px}.meter-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:13px 0;font-size:13px}.meter{grid-column:1/-1;height:8px;background:var(--sage);border-radius:9px;overflow:hidden}.meter i{display:block;height:100%;background:var(--moss);border-radius:inherit}.quiet-panel{background:var(--dark);color:#f7f5ec}.quiet-panel p{color:#dfe5da;line-height:1.55;margin:8px 0 0}.task-list{display:grid;gap:10px}.task-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0}.task-row.is-overdue{border-left:4px solid var(--alert)}.complete-button{width:48px;height:48px;border:2px solid var(--lichen);background:transparent;border-radius:50%;cursor:pointer;color:var(--moss);font-size:21px}.complete-button:hover{background:var(--sage)}.task-main{min-width:0}.task-main h3{font-size:15px;font-weight:500;margin:0;overflow-wrap:anywhere}.task-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:5px}.task-meta .late{color:#8f573a}.row-actions{display:flex;gap:6px}.row-actions button{min-width:44px;height:44px;border:0;background:transparent;border-radius:10px;cursor:pointer}.row-actions button:hover{background:var(--sage)}.empty{padding:46px 22px;text-align:center;border:1px dashed var(--lichen);border-radius:18px;color:var(--muted)}.week{display:grid;grid-template-columns:repeat(8,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}.day{scroll-snap-align:start;background:rgba(255,253,247,.7);border:1px solid var(--line);border-radius:18px;padding:15px;min-height:260px}.day.today{border-color:var(--moss);box-shadow:0 0 0 1px var(--moss)}.day.overloaded{border-color:var(--alert)}.day header{display:flex;justify-content:space-between;gap:9px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.day h2{font-size:14px;margin:0;font-weight:600}.day header span{font-size:10px;color:var(--muted)}.mini-task{background:var(--white);border-radius:12px;padding:11px;margin-bottom:8px;border:1px solid transparent;cursor:pointer}.mini-task:hover{border-color:var(--lichen)}.mini-task b{display:block;font-size:12px;font-weight:500}.mini-task small{color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.toolbar input,.toolbar select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--white);padding:0 12px}.toolbar input{flex:1;min-width:180px}.button{border:0;border-radius:11px;background:var(--moss);color:#fff;min-height:44px;padding:0 17px;font-weight:500;cursor:pointer}.button:hover{background:var(--dark)}.button.secondary{background:var(--sage);color:var(--dark)}.button.danger{background:#f1e2d9;color:#7c4930}.task-table{width:100%;border-collapse:collapse;background:rgba(255,253,247,.7);border-radius:16px;overflow:hidden}.task-table th,.task-table td{text-align:left;padding:14px;border-bottom:1px solid var(--line);font-size:13px}.task-table th{font-size:10px;color:var(--muted);letter-spacing:.08em}.task-table button{border:0;background:transparent;text-decoration:underline;cursor:pointer;padding:10px 0}.tags{display:flex;gap:5px;flex-wrap:wrap}.tag{background:var(--sage);padding:4px 7px;border-radius:6px;font-size:10px}.history-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.history-item time{font-size:12px;color:var(--muted)}.history-item h3{margin:0;font-size:14px;font-weight:500}.history-item button{border:0;background:transparent;text-decoration:underline;cursor:pointer;min-height:44px}.more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.settings-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--white)}.settings-card h2{font-size:17px;font-weight:500;margin:0 0 14px}.settings-card label{display:block;margin:12px 0}.settings-card input{border:1px solid var(--line);border-radius:9px;min-height:44px;width:100%;padding:8px}.bottom-nav{position:fixed;z-index:6;bottom:0;left:0;right:0;min-height:72px;padding:7px max(12px,calc((100% - 680px)/2)) max(7px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,253,247,.95);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.bottom-nav a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);text-decoration:none;font-size:10px;border-radius:10px}.bottom-nav a span{font-size:18px}.bottom-nav a.active{background:var(--sage);color:var(--dark);font-weight:600}.toast{position:fixed;z-index:20;left:50%;bottom:95px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--dark);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:var(--shadow);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(620px,calc(100% - 24px));max-height:90vh;border:0;border-radius:22px;padding:0;background:var(--paper);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(38,48,38,.42);backdrop-filter:blur(3px)}dialog form{padding:22px;overflow:auto;max-height:90vh}dialog header{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}dialog h2{font-size:28px}dialog label{display:block;font-size:12px;font-weight:500;margin:12px 0}dialog input,dialog select,dialog textarea{width:100%;margin-top:6px;border:1px solid var(--line);background:var(--white);border-radius:10px;min-height:44px;padding:9px 11px}dialog textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.hint{color:var(--muted);font-weight:400}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;min-height:20px;margin:0}dialog footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.action-options{display:grid;gap:9px}.action-options .button{width:100%;text-align:left}.action-options select,.action-options input{margin:0}.notice{padding:12px;border-left:3px solid var(--alert);background:#f2e6df;font-size:12px;line-height:1.5}.install-note{font-size:12px;color:var(--muted);line-height:1.5}*:focus-visible{outline:3px solid rgba(96,114,85,.35);outline-offset:2px}@media(max-width:700px){main{width:min(100% - 24px,620px);padding-top:28px}.app-header{padding-inline:14px}.page-head{align-items:start;flex-direction:column;gap:10px}.summary,.more-grid{grid-template-columns:1fr}.task-row{grid-template-columns:auto 1fr}.row-actions{grid-column:2;justify-content:flex-end}.task-table thead{display:none}.task-table,.task-table tbody,.task-table tr,.task-table td{display:block}.task-table tr{padding:12px;border-bottom:1px solid var(--line)}.task-table td{border:0;padding:4px 2px}.task-table td[data-label]::before{content:attr(data-label) ': ';color:var(--muted);font-size:10px}.form-grid{grid-template-columns:1fr}.history-item{grid-template-columns:55px 1fr}.history-item button{grid-column:2}.bottom-nav a{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
