:root{--bg:#f5f3ee;--card:#fff;--ink:#1f2933;--muted:#66727f;--line:#dedad2;--accent:#2f6fd6;--good:#2e8540;--good-bg:#e6f4ea;--bad:#c0392b;--bad-bg:#fbe9e7;--warn-bg:#fff1dc;--warn:#a15c00;--track:#ebe7df;--on-accent:#fff}@media (prefers-color-scheme:dark){:root{--bg:#15181c;--card:#1f2329;--ink:#e6e8eb;--muted:#9aa4ae;--line:#343a42;--accent:#8ab4ff;--good:#7bd38f;--good-bg:#1d3324;--bad:#f28b82;--bad-bg:#3a1d1b;--warn-bg:#3a2c14;--warn:#f0b45c;--track:#2b3037;--on-accent:#0d1b33}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 Atkinson Hyperlegible,system-ui,sans-serif}main{max-width:960px;margin:0 auto;padding:24px 16px 80px}h1{margin:0;font-size:28px}h2{margin:28px 0 12px;font-size:22px}h3{margin:24px 0 10px;font-size:18px}.small{color:var(--muted);font-size:14px}.back{color:var(--accent);font-size:15px}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:8px;padding:8px 14px}button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}button.danger{border-color:var(--bad);color:var(--bad)}button:disabled{opacity:.4;cursor:default}input,select{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:8px 10px}label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:inline-flex}.error{color:var(--bad)}.ok{color:var(--good)}.gate{background:var(--card);border:1px solid var(--line);border-radius:14px;max-width:420px;margin:10vh auto 0;padding:28px}.gate form{gap:14px;margin:16px 0;display:grid}.gate label{display:grid}.top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:14px;display:flex}nav{flex-wrap:wrap;gap:6px;display:flex}nav button.active,.child-tabs button.active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.child-tabs{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.child-name{margin-top:14px}.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:2px;padding:14px 16px;display:grid}.card span{color:var(--muted);font-size:14px}.card b{font-size:26px}.card small{color:var(--muted)}.activity{background:var(--card);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(14,1fr);gap:6px;height:140px;padding:12px;display:grid}.activity .day{flex-direction:column;align-items:center;gap:4px;display:flex}.activity .stack{background:var(--track);border-radius:4px;flex-direction:column;flex:1;justify-content:flex-end;width:100%;max-width:28px;display:flex;overflow:hidden}.activity .r,.legend .r{background:var(--good)}.activity .w,.legend .w{background:var(--bad)}.activity small{color:var(--muted);font-size:12px}.legend{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.row-head{justify-content:space-between;align-items:flex-end;display:flex}.subject{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:10px}.subject summary{cursor:pointer;grid-template-columns:14px 150px 1fr 70px 130px;align-items:center;gap:12px;padding:12px 16px;display:grid}.subject .dot{border-radius:50%;width:12px;height:12px}.subject .name{font-weight:700}.subject .bar{background:var(--track);border-radius:5px;height:10px;overflow:hidden}.subject .bar span{height:100%;display:block}.subject .num,.subject .quote{color:var(--muted);text-align:right;font-size:14px}.subject table{border-collapse:collapse;width:100%;font-size:15px}.subject th,.subject td{border-top:1px solid var(--line);text-align:left;padding:8px 16px}.subject th{color:var(--muted);font-size:13px;font-weight:400}.badge{background:var(--warn-bg);color:var(--warn);border-radius:999px;padding:1px 8px;font-size:13px}.badge.ok{background:var(--good-bg);color:var(--good)}.mistake{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--bad);border-radius:10px;margin-bottom:10px;padding:12px 16px}.mistake .q{font-weight:700}.mistake .e,.mistake .meta{color:var(--muted);font-size:14px}.controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:20px 0;display:flex}.sheet{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px 28px}.sheet h2{margin-top:0}.sheet .tasks>li{break-inside:avoid;margin-bottom:18px}.sheet .q{font-weight:700}.sheet .opts{grid-template-columns:1fr 1fr;gap:2px 20px;margin:6px 0;padding-left:20px;list-style:"☐  ";display:grid}.sheet .fill{margin:4px 0 0 4px}.sheet .opts.order{padding-left:4px;list-style:none;display:block}.sheet .pairs{grid-template-columns:1fr 1fr;gap:2px 24px;margin:4px 0 0 4px;display:grid}.sheet .fill.right,.sheet .opts .right{color:var(--good);font-weight:700;list-style:"☑  "}.sheet .e{color:var(--muted);font-size:15px}.solutions-head{break-before:page}.solutions li{margin-bottom:6px;font-size:15px}.profile-row{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;padding:12px 14px;display:flex}.profile-row .name{flex:160px;font-weight:700}form.inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=640px){.subject summary{grid-template-columns:14px 1fr 60px}.subject .bar,.subject .quote{display:none}.sheet .opts{grid-template-columns:1fr}}.week-table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;width:100%}.week-table th,.week-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 12px}.week-subject,.goal-row{border-bottom:1px solid var(--line);grid-template-columns:160px 1fr 170px;align-items:center;gap:12px;padding:8px 0;display:grid}.week-subject .name{font-weight:700}.week-subject .bar,.goal-row .bar{background:var(--track);border-radius:6px;height:12px;display:flex;overflow:hidden}.week-subject .r,.goal-row .bar span{background:var(--good)}.week-subject .w{background:var(--bad)}.week-subject .num{color:var(--muted);font-size:14px}.goal-row{grid-template-columns:minmax(160px,1.2fr) 1fr 150px 250px}.goal-row .state{color:var(--muted);font-size:14px}.goal-row .actions{justify-content:flex-end;gap:6px;display:flex}.add-goal,.time-row{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;display:flex}.add-goal .grow{flex:1;min-width:200px}@media (width<=640px){.week-subject,.goal-row{grid-template-columns:1fr;gap:4px}}@media print{:root{--card:#fff;--ink:#000;--muted:#444;--good:#1b5e20}body{background:#fff}main{padding:0}.no-print,.controls{display:none!important}.sheet{border:0;padding:0}}.legal{max-width:720px}.legal section{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-top:28px;padding:20px 24px}.legal h1{text-wrap:balance}.legal ul{padding-left:20px}.legal p,.legal li{overflow-wrap:anywhere}.legal section a{color:var(--accent)}.legal-footer{color:var(--muted);margin-top:40px;font-size:14px}.legal-footer a{color:var(--muted)}.mode-switch{gap:6px;margin-top:20px;display:flex}.mode-switch button.active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.link{color:var(--accent);background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.plan-form{margin:20px 0}.plan-form .controls{margin:14px 0}.sections{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0;padding:12px 16px}.sections legend{padding:0 6px;font-weight:700}.section-groups{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 20px;display:grid}.section-group{align-content:start;gap:4px;display:grid}.section-group b{color:var(--muted);font-size:14px}label.check,label.day{color:var(--ink);flex-direction:row;align-items:center;gap:6px;font-size:15px;display:flex}.weekdays{flex-wrap:wrap;gap:4px 10px;padding-top:6px;display:flex}.plan-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:14px 0;font-size:15px}.plan-table th,.plan-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.plan-table th{background:var(--track);font-size:13px}.plan-table .tick{text-align:center;font-size:20px}.plan-day{border-top:2px dashed var(--line);margin-top:28px;padding-top:18px}.plan-day h3{margin:0}.plan-solutions{border-top:2px dashed var(--line);margin-top:28px;padding-top:18px}.plan-solution h3{margin:16px 0 6px;font-size:16px}@media (width<=640px){.plan-table{font-size:13px}.plan-table th,.plan-table td{padding:6px}}@media print{.mode-switch,.plan-form{display:none!important}.plan-day,.plan-solutions{break-before:page;border-top:0;margin-top:0}.plan-day .tasks>li{break-inside:avoid}.plan-table th{background:#eee}}
