:root{--bg:#f4f5f2;--surface:#fff;--ink:#1d2320;--muted:#66706b;--line:#dfe3de;--accent:#146c5d;--accent-ink:#fff;--error:#b3261e;--error-bg:#fbeceb;--note-bg:#eef3f8;--z-easy:#9cc58a;--z-steady:#e3cf63;--z-tempo:#e8a64a;--z-hard:#d9733a;--z-max:#c8443a;--z-rest:#cfd3cf;--radius:12px;--indent:101px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141816;--surface:#1c211f;--ink:#e7ebe8;--muted:#98a29d;--line:#2e3532;--accent:#4fb39f;--accent-ink:#0c1a16;--error:#f2938b;--error-bg:#3a1f1d;--note-bg:#1f2a33;--z-rest:#4a514d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:880px;margin:0 auto;padding:32px 16px 64px}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:24px}.sub{color:var(--muted);margin:0 0 24px}.icon{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.drop{background:var(--surface);border:2px dashed var(--line);border-radius:var(--radius);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;transition:border-color .15s;display:flex}.drop:hover,.drop.over{border-color:var(--accent)}.drop .icon{width:28px;height:28px;color:var(--accent)}.drop small{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:16px;padding:16px}.progress{background:var(--line);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .2s}.summary{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.summary .stats{flex:260px}.summary .stats strong{font-size:17px;display:block}.summary .stats span{color:var(--muted)}.summary .err{color:var(--error)}button,.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}button.link{color:var(--muted);background:0 0;border:0;padding:4px 6px}button.link:hover{color:var(--ink)}label.check{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}.week h2{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:28px 0 8px;font-size:13px;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;padding:12px 14px}.card.off{opacity:.5}.card.bad{border-color:var(--error)}.card-head{align-items:center;gap:12px;display:flex}.card-head .date{width:64px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.card-head .title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.card-head .dur{color:var(--muted);font-variant-numeric:tabular-nums}.bar{height:10px;margin:10px 0 2px var(--indent);gap:2px;display:flex}.bar>div{border-radius:2px;min-width:2px}.steps{margin:8px 0 0 var(--indent);color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.steps div{gap:10px;display:flex}.steps .in{padding-left:18px}.steps .d{width:52px;color:var(--ink)}.steps .p{width:104px}.steps .n{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.card textarea{width:calc(100% - var(--indent));margin:10px 0 0 var(--indent);border:1px solid var(--line);background:var(--bg);min-height:140px;color:var(--ink);resize:vertical;border-radius:8px;padding:10px;font:13px/1.5 ui-monospace,Cascadia Mono,Consolas,monospace;display:block}.errors{margin:8px 0 0 var(--indent);color:var(--error);background:var(--error-bg);border-radius:8px;padding:6px 10px;font-size:13px}.daynote{background:var(--note-bg);border-radius:var(--radius);gap:12px;margin-bottom:8px;padding:10px 14px;font-size:14px;display:flex}.daynote .date{width:64px;color:var(--muted);flex:none;font-size:13px}.routes{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.routes .panel{margin-top:16px}.route{position:relative}.route h3{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.route h3 .icon{width:20px;height:20px;color:var(--accent)}.route .tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:16px;right:16px}.steps{counter-reset:step;margin:12px 0 0;padding:0;list-style:none}.steps li{counter-increment:step;flex-direction:column;align-items:flex-start;gap:6px;padding:0 0 16px 38px;display:flex;position:relative}.steps li:before{content:counter(step);border:1px solid var(--line);width:26px;height:26px;color:var(--muted);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;top:-1px;left:0}.steps li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:30px;bottom:4px;left:13px}.steps small{color:var(--muted);font-size:13px}.steps code,.ai code{background:var(--bg);border-radius:4px;padding:1px 5px;font-size:12px}a{color:var(--accent)}a.btn{color:var(--ink);text-decoration:none}.muted{color:var(--muted)}.error-box{color:var(--error)}@media (max-width:560px){.bar,.steps,.errors,.card textarea{width:100%;margin-left:0}.steps .p{width:92px}}.small{margin:4px 0 10px;font-size:13px}textarea.paste,.ai textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-height:90px;color:var(--ink);resize:vertical;border-radius:8px;margin:6px 0 10px;padding:10px;font:13px/1.5 ui-monospace,Cascadia Mono,Consolas,monospace;display:block}.ai textarea#g-goal{min-height:0;font-family:inherit;font-size:14px}.ai label{color:var(--muted);font-size:14px;display:block}.ai input[type=date]{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:8px;margin-top:4px;padding:8px;display:block}.ai .row{flex-wrap:wrap;gap:12px 16px;margin:10px 0;display:flex}.ai .days{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0;font-size:14px;display:flex}.ai .days label.check{display:inline-flex}.ai ol{margin:4px 0 10px;padding-left:20px;font-size:14px}button.on{border-color:var(--accent);color:var(--accent)}.privacy{max-width:880px;color:var(--muted);margin:0 auto;padding:0 16px 48px;font-size:13px}.privacy p{margin:4px 0 8px}.row-btns{flex-wrap:wrap;gap:8px;display:flex}button.small-link{color:var(--accent);padding:0;font-size:13px;text-decoration:underline;display:inline}.days-panel .day-map{flex-wrap:wrap;gap:10px 24px;margin:10px 0 14px;display:flex}.days-panel label{align-items:center;gap:8px;font-size:14px;display:inline-flex}.days-panel label span{min-width:78px;color:var(--muted)}select,.date-edit input{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:8px;padding:6px 8px}.date-edit{margin:10px 0 0 var(--indent);color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}@media (max-width:560px){.date-edit{margin-left:0}}
