:root{--y:#FFD400;--y-deep:#F2C200;--ink:#111111;--sub:#6E6A5E;--muted:#9A9585;--bg:#FFFFFF;--panel:#FAF8F2;--panel2:#FFFDF6;--line:#E7E3D6;--line2:#F1EEE3;--weekend:#F7F3E2;--today:#FFF7C2;--radius:14px;--axisW:56px;--hourH:30px}html[data-theme=dark]{--y:#FFD400;--y-deep:#FFE14D;--ink:#F5F2E8;--sub:#B4AE9C;--muted:#7E7A6C;--bg:#0D0D0D;--panel:#161614;--panel2:#1C1C19;--line:#2C2C28;--line2:#232320;--weekend:#1F1E19;--today:#3A3410}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;padding:0 0 36px;transition:background .25s ease,color .25s ease}.page{max-width:1180px;margin:0 auto;padding:0 20px}.nav{display:flex;align-items:center;gap:12px;padding:18px 0 14px;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.mark{width:32px;height:32px;border-radius:8px;background:var(--y);flex:none;display:flex;align-items:center;justify-content:center;color:#111}.mark svg{width:18px;height:18px;display:block}.brand h1{font-size:17px;font-weight:900;letter-spacing:.3px;line-height:1.15}.brand .en{font-size:9.5px;letter-spacing:2.2px;color:var(--muted);font-weight:700;text-transform:uppercase}.nav .spacer{flex:1}.theme-switch{display:inline-flex;border:1.5px solid var(--ink);border-radius:9px;overflow:hidden}.theme-switch button{border:none;background:transparent;color:var(--ink);font:inherit;font-size:12px;font-weight:700;padding:6px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background .15s,color .15s}.theme-switch button svg{width:13px;height:13px}.theme-switch button[aria-pressed=true]{background:var(--y);color:#111}.theme-switch button+button{border-left:1.5px solid var(--ink)}.iBtn{font:inherit;font-size:12px;font-weight:800;cursor:pointer;background:transparent;color:var(--ink);border:1.5px solid var(--line);border-radius:8px;padding:6px 11px;display:inline-flex;align-items:center;gap:5px;transition:.15s}.iBtn:hover{border-color:var(--ink)}.iBtn svg{width:13px;height:13px}.summary{padding:20px 0 14px;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.summary .s-main{min-width:0}.summary h2{font-size:21px;font-weight:900;letter-spacing:.2px;line-height:1.25}.summary .meta{margin-top:6px;font-size:12.5px;color:var(--sub);display:flex;gap:14px;flex-wrap:wrap}.summary .meta b{color:var(--ink);font-weight:900;font-variant-numeric:tabular-nums}.summary .grow{flex:1}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{font-size:11.5px;font-weight:800;border:1px solid var(--line);border-radius:999px;padding:4px 11px;background:var(--panel2);color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}.chip b{color:var(--ink);font-weight:900}.chip.y{background:var(--y);border-color:var(--y);color:#111}.chip.y b{color:#111}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:4px}.scroller{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.chart-inner{min-width:100%}.chart-wrap{display:flex;align-items:stretch;position:relative;background:var(--bg)}.taxis{flex:none;width:var(--axisW);border-right:1.5px solid var(--line);background:var(--bg);position:sticky;left:0;z-index:5}.taxis .hl{height:var(--hourH);display:flex;align-items:center;justify-content:flex-end;padding-right:7px;font-size:10.5px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}.taxis .hl.major{font-size:11.5px;font-weight:900;color:var(--ink)}.days{flex:1;display:flex;min-width:0;position:relative}.days .col{flex:1 1 0;min-width:34px;position:relative;border-right:1px solid var(--line2)}.days .col:last-child{border-right:none}.days .col.week{background:var(--weekend)}.days .col.today{background:var(--today)}.gridlines{position:absolute;inset:0;z-index:1;pointer-events:none}.gridlines i{display:block;height:var(--hourH);border-bottom:1px solid var(--line2)}.gridlines i.major{border-bottom-color:var(--line)}.bar{position:absolute;inset:0 3px auto;background:var(--y);border-radius:6px;z-index:2;overflow:hidden}.bar .t{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:9.5px;font-weight:900;color:#111;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.15px;pointer-events:none}.thead{display:flex;border-bottom:1.5px solid var(--line);background:var(--panel)}.thead .sp{flex:none;width:var(--axisW);border-right:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--muted);position:sticky;left:0;z-index:5;background:var(--panel)}.thead .c{flex:1 1 0;min-width:34px;text-align:center;padding:6px 1px;border-right:1px solid var(--line2)}.thead .c:last-child{border-right:none}.thead .c .d{font-size:12.5px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.2}.thead .c .w{font-size:10px;font-weight:700;color:var(--muted)}.thead .c.week{background:var(--weekend)}.thead .c.week .w{color:var(--sub)}.thead .c.today{background:var(--today)}.thead .c.today .d{color:#111}.thead .c.today .w{color:#8a7a10}html[data-theme=dark] .thead .c.today .d,html[data-theme=dark] .thead .c.today .w{color:var(--y)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--sub);padding:9px 14px;border-top:1px solid var(--line);background:var(--panel);font-weight:700}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:13px;height:13px;border-radius:3px;display:inline-block}.legend .lg-on{background:var(--y)}.legend .lg-today{background:var(--today);border:1px solid var(--line)}.legend .lg-week{background:var(--weekend);border:1px solid var(--line)}.actionbar{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}.actionbar .grow{flex:1}.notice{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;background:var(--today);border:1.5px solid var(--y-deep);border-radius:12px;font-size:12.5px;font-weight:700;line-height:1.5;color:var(--ink)}.notice[hidden]{display:none}.notice .n-main{flex:1;min-width:0}.notice .n-sub{font-weight:700;color:var(--sub);font-size:11.5px;margin-top:2px}.notice .btn{flex:none;padding:9px 14px;font-size:12.5px;border-radius:9px;white-space:nowrap}.install{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 15px;background:var(--panel2);border:1.5px solid var(--line);border-radius:14px;animation:insIn .32s cubic-bezier(.22,1,.36,1)}.install[hidden]{display:none}@keyframes insIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ic-icon{width:38px;height:38px;border-radius:9px;background:var(--y);flex:none;display:flex;align-items:center;justify-content:center;color:#111}.ic-icon svg{width:22px;height:22px}.ic-main{min-width:0;flex:1}.ic-title{font-size:14px;font-weight:900;line-height:1.3}.ic-sub{font-size:12px;color:var(--sub);margin-top:3px;line-height:1.5}.ic-sub b{color:var(--ink)}.ic-act{display:flex;align-items:center;gap:4px;flex:none}.ic-act .btn-big{padding:10px 15px;font-size:13px;border-radius:10px}.ic-close{background:none;border:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:6px 7px;-webkit-tap-highlight-color:transparent}.ic-close:hover{color:var(--ink)}.btn{font:inherit;font-size:13.5px;font-weight:900;cursor:pointer;user-select:none;border-radius:10px;padding:11px 18px;display:inline-flex;align-items:center;gap:8px;border:1.5px solid transparent;transition:background .15s,color .15s,border-color .15s,transform .08s;-webkit-tap-highlight-color:transparent}.btn:active{transform:translateY(1px)}.btn svg{width:16px;height:16px;flex:none}.btn-big{background:var(--y);color:#111;border-color:var(--y);padding:14px 26px;font-size:15px;border-radius:12px}.btn-big:hover{background:var(--y-deep);border-color:var(--y-deep)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink)}#setup{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;overflow:auto}#setup[hidden]{display:none}.onb{width:100%;max-width:440px}.onb-top{display:flex;align-items:center;gap:10px;margin-bottom:26px}.onb-top .mark2{width:30px;height:30px;border-radius:7px;background:var(--y);display:flex;align-items:center;justify-content:center;flex:none}.onb-top .mark2 svg{width:16px;height:16px}.onb-top .nm{font-size:14px;font-weight:900}.onb-top .cnt{margin-left:auto;font-size:11.5px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}.onb-dots{display:flex;gap:6px;margin-bottom:22px}.onb-dots i{height:4px;border-radius:2px;background:var(--line);flex:1;transition:background .2s}.onb-dots i.on{background:var(--y)}.onb-step{display:none}.onb-step.on{display:block;animation:fadeUp .26s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.onb .q{font-size:10.5px;font-weight:800;letter-spacing:1.5px;color:var(--sub);text-transform:uppercase}.onb h3{font-size:21px;font-weight:900;margin:7px 0 5px;letter-spacing:.2px;line-height:1.35}.onb .desc{font-size:13px;color:var(--sub);margin-bottom:18px;line-height:1.6}.onb input[type=date]{width:100%;font:inherit;font-size:19px;font-weight:900;color:var(--ink);background:var(--panel2);border:2px solid var(--line);border-radius:11px;padding:13px 15px;outline:none;font-variant-numeric:tabular-nums}.onb input[type=date]:focus{border-color:var(--y);box-shadow:0 0 0 4px #ffd4004d}.onb .quick{display:flex;gap:7px;margin-top:9px}.onb .quick button{flex:1;font:inherit;font-size:12px;font-weight:800;cursor:pointer;border:1.5px solid var(--line);background:transparent;color:var(--sub);border-radius:8px;padding:8px;transition:.15s}.onb .quick button:hover{border-color:var(--ink);color:var(--ink)}.fieldlabel{font-size:11.5px;font-weight:800;color:var(--sub);margin:16px 0 7px;letter-spacing:.3px}.durrow{display:flex;gap:8px;align-items:stretch}.durbox{flex:1;min-width:0;background:var(--panel2);border:1.5px solid var(--line);border-radius:11px;padding:9px 10px}.durbox .cap{font-size:10.5px;font-weight:800;color:var(--muted);margin-bottom:2px}.durbox .val{font-size:23px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.2;margin-bottom:5px}.durbox .val small{font-size:10.5px;font-weight:800;color:var(--sub);margin-left:2px}.mini-step{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:7px;overflow:hidden;background:var(--bg)}.mini-step button{width:28px;height:25px;border:none;background:transparent;color:var(--ink);font-size:13px;font-weight:900;cursor:pointer;line-height:1;transition:background .12s;flex:none}.mini-step button:hover{background:var(--y)}.mini-step .n{flex:1;text-align:center;font-size:11px;font-weight:900;color:var(--sub);white-space:nowrap}.preset-row{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.preset-row button{font:inherit;font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap;border:1.5px solid var(--line);background:var(--panel2);color:var(--sub);border-radius:999px;padding:4px 10px;transition:.15s}.preset-row button:hover{border-color:var(--ink);color:var(--ink)}.preset-row button.on{background:var(--y);border-color:var(--y);color:#111}.hours{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.hours button{font:inherit;font-size:12.5px;font-weight:900;cursor:pointer;font-variant-numeric:tabular-nums;border:1.5px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:8px;padding:9px 0;transition:.15s}.hours button:hover{border-color:var(--ink)}.hours button.on{background:var(--y);border-color:var(--y);color:#111}.onb-foot{display:flex;gap:9px;margin-top:24px;align-items:center}.onb-foot .grow{flex:1}.onb-preview{margin-top:14px;font-size:12px;color:var(--sub);line-height:1.65;background:var(--panel);border:1px dashed var(--line);border-radius:9px;padding:9px 12px}.onb-preview b{color:var(--ink);font-weight:900}.onb-days{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel2);border:1.5px solid var(--line);border-radius:11px;padding:10px 13px}.onb-days .lab{font-size:13px;font-weight:800}.onb-days .lab small{display:block;font-size:10.5px;color:var(--sub);font-weight:700;margin-top:1px}.onb-days .num{font-size:20px;font-weight:900;font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.daystep{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:8px;overflow:hidden}.daystep button{width:32px;height:28px;border:none;background:transparent;color:var(--ink);font-size:15px;font-weight:900;cursor:pointer;line-height:1}.daystep button:hover{background:var(--y)}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,14px);background:var(--ink);color:var(--bg);font-size:13px;font-weight:700;padding:9px 15px;border-radius:10px;opacity:0;pointer-events:none;transition:.22s;z-index:99;display:flex;align-items:center;gap:7px;max-width:88vw}#toast.show{opacity:1;transform:translate(-50%)}#toast.ok{background:var(--y);color:#111}#toast svg{width:14px;height:14px;flex:none}#sheet{position:fixed;inset:0;z-index:80;display:none}#sheet.open{display:block}#sheet .mask{position:absolute;inset:0;background:#00000080;opacity:0;transition:opacity .22s}#sheet.open .mask{opacity:1}#sheet .panel{position:absolute;left:50%;bottom:0;transform:translate(-50%,100%);width:min(440px,100%);background:var(--panel2);border:1.5px solid var(--line);border-bottom:none;border-radius:18px 18px 0 0;padding:16px 16px calc(14px + env(safe-area-inset-bottom,0px));transition:transform .26s cubic-bezier(.22,1,.36,1)}#sheet.open .panel{transform:translate(-50%)}#sheet .st{font-size:12px;font-weight:900;color:var(--sub);letter-spacing:.06em;text-align:center;padding:4px 0 14px}#sheet .si{width:100%;display:flex;align-items:center;gap:11px;padding:15px 14px;margin-bottom:9px;border-radius:12px;cursor:pointer;background:var(--bg);border:1.5px solid var(--line);font:inherit;font-size:14.5px;font-weight:900;color:var(--ink);text-align:left;transition:border-color .15s,background .15s,transform .08s;-webkit-tap-highlight-color:transparent}#sheet .si:hover{border-color:var(--ink)}#sheet .si:active{transform:translateY(1px)}#sheet .si.primary{background:var(--y);border-color:var(--y);color:#111}#sheet .si svg{width:18px;height:18px;flex:none}#sheet .si .sub{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--sub)}#sheet .si.primary .sub{color:#0009}#sheet .sc{width:100%;padding:14px;margin-top:3px;border-radius:12px;cursor:pointer;background:transparent;border:1.5px solid var(--line);font:inherit;font-size:14px;font-weight:900;color:var(--sub);-webkit-tap-highlight-color:transparent}#sheet .sc:hover{border-color:var(--ink);color:var(--ink)}@media(max-width:720px){.page{padding:0 12px}.nav{padding:13px 0 11px}.brand h1{font-size:15px}.brand .en,.theme-switch button span{display:none}.theme-switch button{padding:6px 9px}.iBtn span{display:none}.iBtn{padding:6px 9px}.summary{padding:15px 0 12px}.summary h2{font-size:18px}:root{--axisW:44px;--hourH:32px}.taxis .hl{font-size:9.5px;padding-right:5px}.thead .sp{font-size:9px}.days .col,.thead .c{min-width:62px}.thead .c .d{font-size:11px}.thead .c .w{font-size:9px}.bar .t{font-size:10px}.actionbar{display:flex}.actionbar .grow{display:none}.actionbar .btn{flex:1;justify-content:center;padding:14px 6px;white-space:nowrap}}
