:root{--ground:#1a1712;--surface:#221d16;--surface-2:#2a241b;--ink:#ece4d6;--muted:#a99c89;--line:#3a3327;--line-strong:#4a4335;--push:#e2884f;--pull:#57b3a8;--legs:#9291ce;--on-accent:#1a1712;--ok:#34d399;--warn:#fbbf24;--danger:#f87171;--info:#60a5fa;--field:#171410;--shadow:0 1px 2px #0006, 0 10px 28px -18px #000000b3;--font-display:"Bricolage Grotesque","Noto Sans JP",system-ui,sans-serif;--font-body:"Noto Sans JP","Hiragino Kaku Gothic ProN",system-ui,sans-serif;--font-num:"Inter","Noto Sans JP",system-ui,sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r-card:14px;--r-field:10px;--r-pill:999px;--ease-out:cubic-bezier(.22,.61,.36,1);--menu-color-1:#b84d1d;--menu-color-2:#c8792c;--menu-color-3:#7a7c2e;--menu-color-4:#2a6b67;--menu-color-5:#2f5e8c;--menu-color-6:#494879;--menu-color-7:#7a3c63;--menu-color-8:#5a5a5a}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--ground:#f6f3ec;--surface:#fff;--surface-2:#efeae0;--ink:#232019;--muted:#6b6053;--line:#ded5c6;--line-strong:#c9bead;--push:#b84d1d;--pull:#2a6b67;--legs:#494879;--on-accent:#fff;--ok:#047857;--warn:#b45309;--danger:#dc2626;--info:#2563eb;--field:#fbf9f4;--shadow:0 1px 2px #2320190f, 0 10px 28px -18px #23201959}}:root[data-theme=light]{--ground:#f6f3ec;--surface:#fff;--surface-2:#efeae0;--ink:#232019;--muted:#6b6053;--line:#ded5c6;--line-strong:#c9bead;--push:#b84d1d;--pull:#2a6b67;--legs:#494879;--on-accent:#fff;--ok:#047857;--warn:#b45309;--danger:#dc2626;--info:#2563eb;--field:#fbf9f4;--shadow:0 1px 2px #2320190f, 0 10px 28px -18px #23201959}*{box-sizing:border-box}html,body{overflow-x:clip}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-style:normal;line-height:1.25}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}button{font-family:inherit;font-size:inherit;color:inherit}input,select,button{max-width:100%}:focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.stage{width:100%;max-width:430px;padding:var(--s5) var(--s4) var(--s7);margin:0 auto}.appbar{justify-content:space-between;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s5);display:flex}.appbar h1{letter-spacing:-.02em;font-size:26px;font-weight:700}.appbar .sub{color:var(--muted);margin-top:2px;font-size:14px}.appbar .tools{gap:var(--s2);flex:none;display:flex}.link{color:var(--info);cursor:pointer;padding:var(--s2) 0;background:0 0;border:0;min-height:44px;font-size:15px;text-decoration:underline}.hint{color:var(--muted);font-size:14px}.alert{gap:var(--s2);background:var(--surface-2);border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:var(--r-field);padding:var(--s3) var(--s4);margin-bottom:var(--s4);font-size:15px;display:flex}.alert.bad{border-left-color:var(--danger)}.alert.bad b{color:var(--danger)}.alert.info{border-left-color:var(--info)}.alert b{color:var(--warn);font-weight:700}label{color:var(--muted);margin-bottom:6px;font-size:15px;display:block}.field{width:100%;min-height:48px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);color:var(--ink);font-family:inherit;font-size:16px}.field:focus{border-color:var(--info);box-shadow:0 0 0 3px color-mix(in srgb, var(--info) 22%, transparent);outline:none}.stack{gap:var(--s4);flex-direction:column;display:flex}.primary{border-radius:var(--r-field);background:var(--ink);width:100%;min-height:52px;color:var(--ground);cursor:pointer;border:0;font-size:17px;font-weight:700}.primary:hover{filter:brightness(.92)}.primary:disabled{opacity:.45;cursor:not-allowed}.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-pill);cursor:pointer;place-items:center;width:44px;height:44px;display:grid}.icon-btn:hover{border-color:var(--line-strong)}.icon-btn svg{width:20px;height:20px}.next{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:var(--r-card);padding:var(--s4);box-shadow:var(--shadow);margin-bottom:var(--s5)}.next ul{margin:var(--s3) 0 0;gap:var(--s2);flex-direction:column;padding:0;list-style:none;display:flex}.next li{justify-content:space-between;gap:var(--s3);min-width:0;font-size:16px;display:flex}.next li>span:first-child{overflow-wrap:anywhere;min-width:0}.monthbar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);display:flex}.monthbar h2{flex:auto;min-width:0;font-size:19px;font-weight:600}.mnav{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-field);cursor:pointer;flex:none;min-width:44px;min-height:44px;font-size:18px}.mnav:disabled{opacity:.35;cursor:not-allowed}.grid7{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;display:grid}.dow{color:var(--muted);text-align:center;padding-bottom:var(--s1);font-size:14px}.cell{aspect-ratio:1;min-width:0;min-height:44px;font-family:var(--font-num);font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--muted);border:0;border-radius:9px;place-items:center;padding:0;font-size:15px;display:grid}.cell.today{box-shadow:0 0 0 2px var(--ink)}.dot{border-radius:50%;width:10px;height:10px}.move{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:var(--r-pill);padding:0 var(--s3);cursor:pointer;white-space:nowrap;flex:none;min-height:44px;font-size:15px}.move:hover{border-color:var(--line-strong)}.move:disabled{opacity:.35;cursor:not-allowed}.ex-head{justify-content:space-between;align-items:baseline;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.ex-head .name{overflow-wrap:anywhere;min-width:0;font-size:17px;font-weight:700}.ex-head .target{color:var(--muted);white-space:nowrap;font-size:14px}.row input::placeholder{color:var(--muted);opacity:.75;font-weight:400}.row input:focus{border-color:var(--info);box-shadow:0 0 0 3px color-mix(in srgb, var(--info) 22%, transparent);outline:none}.row input[data-state=error]{border-color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s4);margin-bottom:var(--s4)}.panel h3{margin-bottom:var(--s3);font-size:17px}.day-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);margin-bottom:var(--s4);overflow:hidden}.day-top{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-top:5px solid var(--accent);border-bottom:1px solid var(--line);flex-wrap:wrap;min-width:0;display:flex}.day-top .nm{min-width:0;font-family:var(--font-display);color:var(--accent);border-radius:var(--r-field);background:0 0;border:1px solid #0000;flex:120px;min-height:44px;padding:6px 8px;font-size:20px;font-weight:700}.day-top .nm:hover{border-color:var(--line)}.day-top .nm:focus{border-color:var(--info);background:var(--field);outline:none}select{font-family:var(--font-body);color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r-field);min-height:44px;padding:0 var(--s2);cursor:pointer;font-size:16px}.kill{border:1px solid var(--line);color:var(--muted);border-radius:var(--r-field);cursor:pointer;background:0 0;flex:none;min-width:44px;min-height:44px;font-size:16px}.kill:hover{color:var(--danger);border-color:var(--danger)}.ex-line{gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;min-width:0;display:grid}.ex-line:last-of-type{border-bottom:0}.ex-line .ord{align-items:center;gap:2px;display:flex}.ord button{border:1px solid var(--line);color:var(--muted);border-radius:var(--r-field);cursor:pointer;background:0 0;min-width:44px;min-height:44px;font-size:14px}.ord button:hover:not(:disabled){color:var(--ink);border-color:var(--line-strong)}.ord button:disabled{opacity:.3;cursor:not-allowed}.spec-row{align-items:center;gap:var(--s2);color:var(--muted);flex-wrap:wrap;grid-column:1/-1;font-size:15px;display:flex}.spec-row input{text-align:center;border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);width:64px;min-height:44px;color:var(--ink);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:16px}.spec-row input:focus{border-color:var(--info);outline:none}.note-row{margin-top:var(--s2);grid-column:1/-1}.note-row input{width:100%;min-height:44px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);color:var(--ink);font-family:inherit;font-size:15px}.note-row input:focus{border-color:var(--info);outline:none}.add:hover{color:var(--ink);background:var(--surface-2)}.color-row{gap:var(--s2);margin-top:var(--s2);flex-basis:100%;grid-template-columns:repeat(4,44px);justify-content:start;display:grid}.color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.color-dot:hover{border-color:var(--line-strong)}.color-dot[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface)}.modal-legacy{z-index:40;padding:var(--s4);background:#0a08069e;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-legacy{align-items:center}}.modal-legacy .box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);width:100%;max-width:400px;padding:var(--s5) var(--s4) var(--s4);box-shadow:var(--shadow)}.modal-legacy h3{margin-bottom:var(--s2);font-size:19px}.modal-legacy p{color:var(--muted);margin:0 0 var(--s4);font-size:15px}.modal-legacy .acts{gap:var(--s2);margin-top:var(--s4);display:flex}.modal-legacy .acts button{border-radius:var(--r-field);cursor:pointer;flex:1 1 0;min-height:48px;font-size:16px}.ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.ghost:hover{border-color:var(--line-strong)}.solid{background:var(--ink);color:var(--ground);border:0;font-weight:700}.solid.warn{background:var(--danger);color:#fff}.ex{border-bottom:1px solid var(--line);padding:var(--s4) 0}.ex:last-of-type{border-bottom:0}.ex-name{overflow-wrap:anywhere;font-size:17px;font-weight:700}.ex-prev{color:var(--muted);font-size:13px;font-family:var(--font-num);margin-top:2px}.ex-target,.ex-machine-note{color:var(--muted);margin-top:2px;font-size:13px}.row .step{border:1px solid var(--line);background:var(--surface-2);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--ink);border-radius:var(--r-field);cursor:pointer;flex:none;place-items:center;padding:0;font-size:18px;line-height:1;display:grid}.row .step:hover{border-color:var(--line-strong)}.row .step:active{background:var(--line)}.ex .rows .row{flex-wrap:wrap}.row .stepper{width:100%;min-height:48px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);flex:none;align-items:center;gap:4px;display:flex}.row .stepper input{width:64px}.rows{gap:var(--s2);margin-top:var(--s3);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s2);min-width:0;display:flex}.row .n{min-width:16px;font-family:var(--font-num);color:var(--muted);font-size:14px}.row input{text-align:center;border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);width:100%;min-width:0;min-height:44px;color:var(--ink);font-size:16px;font-family:var(--font-num);font-variant-numeric:tabular-nums}.row .u{color:var(--muted);flex:none;font-size:13px}.row .fill{min-height:44px;padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r-field);color:var(--muted);font-size:13px;font-family:var(--font-num);cursor:pointer;white-space:nowrap;background:0 0;flex:none}.row .fill:hover{border-color:var(--push);color:var(--push)}.row .fill.used{border-color:var(--ok);color:var(--ok)}.mini{margin-top:var(--s2);border:1px dashed var(--line-strong);color:var(--muted);border-radius:var(--r-field);min-height:44px;padding:0 var(--s3);cursor:pointer;background:0 0;font-size:14px}.add{border:1px dashed var(--line-strong);width:100%;color:var(--muted);border-radius:var(--r-field);cursor:pointer;background:0 0;min-height:52px;font-size:15px}.overlay{z-index:50;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=640px){.overlay{align-items:center}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card) var(--r-card) 0 0;width:100%;max-width:430px;padding:var(--s5) var(--s4) var(--s4);box-shadow:var(--shadow);max-height:92vh;overflow-y:auto}@media (width>=640px){.modal{border-radius:var(--r-card)}}.modal h3{font-size:19px;font-weight:700}.modal .lbl{color:var(--muted);margin:var(--s4) 0 var(--s2);font-size:14px}.chips{gap:var(--s2);flex-wrap:wrap;display:flex}.chips button{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-pill);min-height:44px;padding:0 var(--s4);cursor:pointer;font-size:15px}.chips button[aria-pressed=true]{background:var(--push);color:var(--on-accent);border-color:var(--push);font-weight:700}.modal input[type=text]{width:100%;min-height:48px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);color:var(--ink);font-family:inherit;font-size:16px}.opt{text-align:left;background:var(--field);border:1px solid var(--line);border-radius:var(--r-field);width:100%;min-height:48px;padding:0 var(--s3);margin-bottom:var(--s2);cursor:pointer;font-size:15px;display:block}.session-row{margin-bottom:var(--s2)}.session-row .opt{margin-bottom:0}.kinds{gap:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kinds button{background:var(--field);border:1px solid var(--line);color:var(--muted);border-radius:var(--r-field);cursor:pointer;min-height:48px;font-size:15px}.kinds button[aria-pressed=true]{background:var(--ink);color:var(--ground);border-color:var(--ink);font-weight:700}.tog{align-items:flex-start;gap:var(--s3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-field);width:100%;padding:var(--s3);cursor:pointer;text-align:left;margin-top:var(--s4);min-height:64px;display:flex}.tog .sw{border-radius:var(--r-pill);background:var(--line-strong);width:46px;height:28px;transition:background .18s var(--ease-out);flex:none;margin-top:2px;position:relative}.tog .sw:after{content:"";background:var(--ink);width:22px;height:22px;transition:transform .18s var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.tog[aria-pressed=true] .sw{background:var(--warn)}.tog[aria-pressed=true] .sw:after{background:#1a1712;transform:translate(18px)}.tog .tx{min-width:0}.tog .tt{font-size:15px;font-weight:700;display:block}.tog .ts{color:var(--muted);font-size:13px;line-height:1.5;display:block}.tog[aria-pressed=true] .ts{color:var(--warn)}.acts{gap:var(--s2);margin-top:var(--s4);display:flex}.acts .primary{border-radius:var(--r-field);background:var(--ink);min-height:52px;color:var(--ground);cursor:pointer;border:0;flex:auto;font-size:16px;font-weight:700}.acts .ghostbtn{min-height:52px;padding:0 var(--s4);border:1px solid var(--line);color:var(--muted);border-radius:var(--r-field);cursor:pointer;background:0 0;flex:none}.stage{padding-bottom:calc(52px + 56px + var(--s4) + env(safe-area-inset-bottom))}.bottombar{z-index:30;background:var(--surface);max-width:430px;box-shadow:var(--shadow);flex-direction:column;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.bottombar-primary{padding:var(--s3) var(--s4);border-top:1px solid var(--line);display:flex}.bottombar-primary button{border-radius:var(--r-field);background:var(--ink);min-height:52px;color:var(--ground);cursor:pointer;border:0;flex:auto;font-size:16px;font-weight:700}.bottombar-primary button:hover{filter:brightness(.92)}.bottombar-primary button:disabled{opacity:.45;cursor:not-allowed}.bottombar-tabs{border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex}.bottombar-tabs button{min-height:56px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;gap:4px;font-size:13px;display:flex}.bottombar-tabs button[aria-current=page]{color:var(--ink);font-weight:700}body[data-hand=left] .bottombar-tabs{flex-direction:row-reverse}body[data-hand=left] .row .fill{order:-1}body[data-hand=left] .setmode-fill{width:fit-content;margin-left:0;margin-right:auto;display:block}.weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekdays button{background:var(--surface-2);border:1px solid var(--line);min-height:44px;color:var(--ink);border-radius:var(--r-field);cursor:pointer;padding:0;font-size:15px}.weekdays button[aria-pressed=true]{background:var(--push);color:var(--on-accent);border-color:var(--push);font-weight:700}.settings-action{width:100%;min-height:48px;margin-top:var(--s5);border:1px solid var(--line);border-radius:var(--r-field);background:var(--surface);color:var(--ink);cursor:pointer;font-size:15px}.settings-action:hover{border-color:var(--line-strong);background:var(--surface-2)}.modeseg{gap:var(--s2);margin-bottom:var(--s4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.modeseg button{background:var(--field);border:1px solid var(--line);color:var(--muted);border-radius:var(--r-field);cursor:pointer;min-height:44px;padding:0 4px;font-size:14px}.modeseg button[aria-pressed=true]{background:var(--ink);color:var(--ground);border-color:var(--ink);font-weight:700}.exmode-nav{align-items:center;gap:var(--s3);margin-bottom:var(--s4);display:flex}.exmode-count{text-align:center;color:var(--muted);font-size:14px;font-family:var(--font-num);font-variant-numeric:tabular-nums;flex:auto}.setmode{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s5) var(--s4);box-shadow:var(--shadow);text-align:center;margin-bottom:var(--s4)}.setmode .ex-name{font-size:20px}.setmode-no{color:var(--muted);margin-top:2px;margin-bottom:var(--s4);font-size:15px}.setmode-fields{gap:var(--s3);flex-direction:column;align-items:center;display:flex}.setmode-field{align-items:center;gap:var(--s2);justify-content:center;display:flex}.setmode-field input{text-align:center;border:1px solid var(--line);border-radius:var(--r-field);background:var(--field);width:96px;min-height:56px;color:var(--ink);font-size:22px;font-family:var(--font-num);font-variant-numeric:tabular-nums}.setmode-field .step{border:1px solid var(--line);background:var(--surface-2);width:52px;min-width:52px;height:52px;min-height:52px;color:var(--ink);border-radius:var(--r-field);cursor:pointer;flex:none;place-items:center;padding:0;font-size:22px;line-height:1;display:grid}.setmode-field .step:hover{border-color:var(--line-strong)}.setmode-field .step:active{background:var(--line)}.setmode-field .u{color:var(--muted);font-size:14px}.setmode-fill{margin-top:var(--s2);min-height:44px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-field);color:var(--muted);font-size:13px;font-family:var(--font-num);cursor:pointer;background:0 0;flex:none}.setmode-fill:hover{border-color:var(--push);color:var(--push)}.setmode-fill.used{border-color:var(--ok);color:var(--ok)}.setmode-confirm{margin-top:var(--s5);border-radius:var(--r-field);background:var(--push);width:100%;min-height:52px;color:var(--on-accent);cursor:pointer;border:0;font-size:17px;font-weight:700}.setmode-confirm:hover{filter:brightness(1.08)}.setmode-confirm:disabled{opacity:.45;cursor:not-allowed}.empty-hint{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s6) var(--s4);text-align:center;color:var(--muted);margin-bottom:var(--s4);font-size:16px}.rest-timer{left:0;right:0;bottom:calc(56px + 1px + env(safe-area-inset-bottom));z-index:30;align-items:center;gap:var(--s3);max-width:430px;padding:var(--s3) var(--s4);border-top:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);margin:0 auto;display:flex;position:fixed}.rest-timer-label{font-size:16px;font-weight:700;font-family:var(--font-num);font-variant-numeric:tabular-nums;flex:auto}.rest-timer button{min-height:52px;padding:0 var(--s4);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:var(--r-pill);cursor:pointer;flex:none;font-size:14px}.rest-timer button:hover{border-color:var(--line-strong)}.rest-timer.resting-done{background:var(--warn)}.rest-timer.resting-done .rest-timer-label{color:var(--on-accent)}
