:root{--bg0:#0B0D1A;--bg1:#131628;--glass: rgba(255,255,255,.07);--glass-2: rgba(255,255,255,.1);--stroke: rgba(255,255,255,.12);--stroke-soft: rgba(255,255,255,.07);--text:#F3F4F9;--text-2:#9BA1B4;--text-3:#828796;--green:#30D158;--red:#FF453A;--blue:#0A84FF;--amber:#FF9F0A;--violet:#7C5CFF;--teal:#26C6A8;--accent:var(--teal);--accent-rgb:38,198,168;--accent-dk:#0E7A66;--r-lg:22px;--r-md:16px;--r-sm:12px;--bg-grad: radial-gradient(1000px 520px at 85% -10%, rgba(var(--accent-rgb),.24), transparent 60%), radial-gradient(800px 460px at -10% 25%, rgba(10,132,255,.12), transparent 55%), radial-gradient(700px 520px at 60% 110%, rgba(124,92,255,.1), transparent 60%), linear-gradient(180deg, var(--bg0), var(--bg1));--tabbar-bg: rgba(20,23,42,.72);--field-bg: rgba(255,255,255,.07);--field-bg-focus: rgba(255,255,255,.09);--seg-active: rgba(255,255,255,.15);--sheet-bg: #151829;--track: rgba(255,255,255,.09)}:root[data-theme=light]{--bg0:#F6F6FC;--bg1:#EAEAF6;--glass: rgba(255,255,255,.8);--glass-2: rgba(0,0,0,.04);--stroke: rgba(0,0,0,.1);--stroke-soft: rgba(0,0,0,.06);--text:#0B0D1A;--text-2:#4B5165;--text-3:#6E7384;--green:#248A3D;--red:#D70015;--blue:#0071E3;--amber:#B25E00;--violet:#5B3BE0;--teal:#0E7A66;--bg-grad: radial-gradient(1000px 520px at 85% -10%, rgba(var(--accent-rgb),.16), transparent 60%), radial-gradient(800px 460px at -10% 25%, rgba(10,132,255,.1), transparent 55%), radial-gradient(700px 520px at 60% 110%, rgba(124,92,255,.1), transparent 60%), linear-gradient(180deg, var(--bg0), var(--bg1));--tabbar-bg: rgba(255,255,255,.82);--field-bg: rgba(0,0,0,.04);--field-bg-focus: rgba(0,0,0,.06);--seg-active: rgba(0,0,0,.08);--sheet-bg: #FFFFFF;--track: rgba(0,0,0,.08)}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:22px;--sp-6:32px;--card-body-pad:4px var(--sp-4) var(--sp-4);--fs-card:14.5px;--fs-body:14.5px;--fs-hint:12px;--fs-label:12px;--fs-foot:11px;--r-full:999px;--tap-min:44px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background-color:var(--bg0);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:96px;-webkit-font-smoothing:antialiased}.num{font-variant-numeric:tabular-nums}main{padding:0 14px;max-width:620px;margin:0 auto}.topbar{max-width:620px;margin:0 auto;padding:10px 18px 2px}.topbar .eyebrow{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}.datenav{display:flex;align-items:center;gap:8px;margin-top:8px}.datenav .title{flex:1;min-width:0;font-size:19px;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datenav button{flex:none;width:34px;height:34px;border-radius:var(--r-full);border:1px solid var(--stroke-soft);background:var(--field-bg);color:var(--text-2);font-family:inherit;font-size:15px;cursor:pointer;padding:0}.datenav button.today{width:auto;padding:0 13px;font-size:12.5px;font-weight:600}.datenav button:active{transform:scale(.92)}.card{background:var(--glass);border:1px solid var(--stroke-soft);border-radius:var(--r-lg);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);overflow:hidden;margin-top:11px}.card.form-pad{padding:var(--sp-4)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 3px;gap:10px}.card-header h2{margin:0;font-size:var(--fs-card);font-weight:700;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header .aux{font-size:var(--fs-hint);color:var(--text-3);font-weight:500;flex:none;display:flex;align-items:center;gap:10px}.card-body{padding:var(--card-body-pad)}.card-hint{font-size:var(--fs-hint);color:var(--text-2);line-height:1.5;margin:0 var(--sp-4) var(--sp-3)}.empty{text-align:center;padding:30px 20px;color:var(--text-3);font-size:13px;line-height:1.6}.footnote{font-size:var(--fs-hint);color:var(--text-3);line-height:1.5;margin:var(--sp-3) 6px 0}.footnote b{color:var(--text-2)}.ghost-btn{display:block;width:100%;text-align:center;padding:12px;background:none;border:none;color:var(--accent);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer}.daycard{margin-top:10px}.daycard.today{border-color:rgba(var(--accent-rgb),.45)}.dayhead{display:flex;align-items:baseline;gap:8px;padding:12px 16px 8px;cursor:pointer}.dayhead .dw{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);flex:none}.dayhead .dd{font-size:15px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dayhead .tag-today{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:rgba(var(--accent-rgb),.16);border-radius:var(--r-full);padding:2px 8px}.mrow{display:flex;align-items:flex-start;gap:10px;padding:8px 16px;border-top:.5px solid var(--stroke-soft)}.mrow .who{flex:none;width:74px;min-width:0;display:flex;align-items:center;gap:6px;padding-top:3px}.mrow .who .avat{width:9px;height:9px;border-radius:var(--r-full);flex:none}.mrow .who .nm{font-size:12px;font-weight:600;color:var(--text-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrow .slots{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:5px}.weeksep{display:flex;align-items:center;gap:9px;margin:18px 6px 7px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.weeksep:first-child{margin-top:2px}.pbar-day{padding:14px 16px;border-bottom:.5px solid var(--stroke-soft);cursor:pointer}.pbar-day:last-child{border-bottom:none}.pbar-day.today{background:rgba(var(--accent-rgb),.07)}.pbar-head{display:flex;align-items:baseline;gap:8px;margin-bottom:11px}.pbar-head .dw{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);flex:none}.pbar-head .dd{font-size:14.5px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pbar-head .tag-today{flex:none;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:rgba(var(--accent-rgb),.16);border-radius:var(--r-full);padding:1px 7px}.pbar-row{margin-top:16px}.pbar-row:first-of-type{margin-top:0}.pbar-who{display:flex;align-items:center;gap:6px;margin-bottom:7px}.pbar-who .avat{width:9px;height:9px;border-radius:var(--r-full);flex:none}.pbar-who .nm{font-size:12.5px;font-weight:700;color:var(--text-2)}.pbar-who .off-tag{font-size:10px;font-weight:600;color:var(--text-3);background:var(--field-bg);border-radius:var(--r-full);padding:1px 8px}.pbar-track{display:flex;gap:3px;align-items:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch}.pbar-pill{display:flex;flex-direction:column;align-items:center;min-width:44px;flex-basis:0%;flex-shrink:1}.pbar-pill .box{width:100%;height:42px;border-radius:11px;box-shadow:0 3px 8px #00000038}.pbar-pill.tap .box{cursor:pointer}.pbar-pill.tap:active .box{transform:scale(.94)}.pbar-pill .box.free{background:linear-gradient(155deg,#3fe0ac,#12b887)}.pbar-pill .box.work{background:linear-gradient(155deg,#6e90ff,#3d5ce0)}.pbar-pill .box.busy{background:linear-gradient(155deg,#9aa3b8,#6c7688)}.pbar-pill .box.duty{background:linear-gradient(155deg,#ffc670,#ff9a1f)}.pbar-pill .lbl{margin-top:5px;text-align:center;width:100%}.pbar-pill .lbl .nm{display:block;font-size:9px;font-weight:600;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pbar-pill .lbl .tm{display:flex;flex-direction:column;gap:1px;font-weight:700;color:var(--text-2)}.pbar-pill .lbl .tm span{display:block;font-size:10.5px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 9px;border-radius:var(--r-full);font-size:11.5px;font-weight:600;border:1px solid transparent;min-width:0}.slot .lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;opacity:.85}.slot.work{background:#0a84ff29;border-color:#0a84ff66;color:var(--blue)}.slot.busy{background:var(--field-bg);border-color:var(--stroke-soft);color:var(--text-2)}.slot.duty{background:#ff9f0a29;border-color:#ff9f0a6b;color:var(--amber)}.slot.free{background:#30d15824;border-color:#30d15857;color:var(--green)}.slot.off{background:var(--field-bg);border-color:var(--stroke-soft);color:var(--text-3)}.slot.none{background:none;border-color:transparent;color:var(--text-3);font-weight:500;padding-left:0}.slot.tap{cursor:pointer}.slot.tap:active{transform:scale(.96)}.warnrow{display:flex;align-items:flex-start;gap:7px;padding:8px 16px 11px;border-top:.5px solid var(--stroke-soft);font-size:11.5px;line-height:1.45;color:var(--red);overflow-wrap:anywhere}.warnrow .ic{flex:none}.tl{display:flex;gap:8px;padding:var(--sp-4);overflow-x:auto;-webkit-overflow-scrolling:touch}.tl-axis{flex:none;width:40px;position:relative}.tl-axis .hr{position:absolute;left:0;right:0;font-size:10px;color:var(--text-3);transform:translateY(-50%);text-align:right;padding-right:5px}.tl-col{flex:1 1 96px;min-width:96px;position:relative;border-radius:var(--r-sm);background:var(--field-bg);border:1px solid var(--stroke-soft);overflow:hidden}.tl-colhead{text-align:center;font-size:11.5px;font-weight:700;padding:5px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-grid{position:relative}.tl-line{position:absolute;left:0;right:0;height:1px;background:var(--stroke-soft)}.tl-ev{position:absolute;left:3px;right:3px;border-radius:7px;padding:3px 5px;overflow:hidden;font-size:10px;line-height:1.25;border:1px solid transparent}.tl-ev.work{background:#0a84ff38;border-color:#0a84ff73;color:var(--text)}.tl-ev.busy{background:var(--glass-2);border-color:var(--stroke);color:var(--text-2)}.tl-ev.duty{background:#ff9f0a33;border-color:#ff9f0a73;color:var(--text)}.tl-ev.free{background:#30d15821;border-color:#30d1584d;color:var(--green)}.tl-ev .tt{font-weight:700}.tl-ev .ss{opacity:.8}.tl-now{position:absolute;left:0;right:0;height:2px;background:var(--red);z-index:3}.tl-now:before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:var(--r-full);background:var(--red)}.commonbar{padding:0 var(--sp-4) var(--sp-4)}.commonbar .cb-t{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:6px}.commonbar .cb-list{display:flex;flex-wrap:wrap;gap:6px}.drop{border:1.5px dashed var(--stroke);border-radius:var(--r-lg);padding:26px 18px;text-align:center;background:var(--field-bg);cursor:pointer}.drop.over{border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}.drop .big{font-size:15px;font-weight:600}.drop .sub{font-size:12px;color:var(--text-3);margin-top:6px;line-height:1.5;overflow-wrap:anywhere}.prog{height:4px;border-radius:2px;background:var(--track);overflow:hidden;margin-top:var(--sp-3)}.prog i{display:block;height:100%;background:var(--accent);width:0;transition:width .25s}.cand{padding:12px 16px;border-bottom:.5px solid var(--stroke-soft)}.cand:last-child{border-bottom:none}.cand.low{background:#ff9f0a12}.cand.dup{opacity:.62}.cand-top{display:flex;align-items:center;gap:10px}.cand-top .body{flex:1;min-width:0}.cand-top .t{font-size:14px;font-weight:600;overflow-wrap:anywhere}.cand-top .s{font-size:11.5px;color:var(--text-3);margin-top:2px;overflow-wrap:anywhere}.cand-fields{margin-top:10px}.raw{font-size:10.5px;color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;opacity:.8}.thumb{max-width:100%;border-radius:var(--r-md);border:1px solid var(--stroke-soft);display:block;margin-top:var(--sp-3)}.seg{display:flex;background:var(--field-bg);border:1px solid var(--stroke-soft);border-radius:12px;padding:3px;gap:3px}.seg button{flex:1 1 0;min-width:0;padding:10px 6px;border:none;background:none;border-radius:10px;color:var(--text-2);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,color .18s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seg button.active{background:var(--seg-active);color:var(--text)}label{display:block;font-size:11.5px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin:14px 4px 6px;overflow-wrap:anywhere}input,textarea,select.field,button.field{width:100%;min-width:0;max-width:100%;padding:12px 14px;border-radius:var(--r-sm);background:var(--field-bg);border:1px solid var(--stroke-soft);color:var(--text);font-family:inherit;font-size:16px;box-sizing:border-box}input[type=time],input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:22px}textarea{resize:vertical;min-height:64px}button.field{cursor:pointer;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus,select.field:focus{outline:none;border-color:rgba(var(--accent-rgb),.6);background:var(--field-bg-focus)}input::placeholder,textarea::placeholder{color:var(--text-3)}.row2{display:flex;gap:10px;flex-wrap:wrap}.row2>div{flex:1 1 130px;min-width:0}.btn{width:100%;margin-top:20px;padding:15px;border:1px solid rgba(var(--accent-rgb),.5);border-radius:15px;background:rgba(var(--accent-rgb),.16);color:var(--accent);font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;overflow-wrap:anywhere;backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%)}.btn:active{background:rgba(var(--accent-rgb),.26);opacity:.85}.btn.secondary{background:var(--seg-active);color:var(--text);border:1px solid var(--stroke-soft);margin-top:10px}.btn.small{margin-top:0;padding:11px;font-size:14px}.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--r-full);background:var(--field-bg);border:1px solid var(--stroke-soft);font-size:12px;font-weight:600;color:var(--text-2);cursor:pointer;font-family:inherit;max-width:100%;overflow-wrap:anywhere;text-align:left}.chip.active{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.55);color:var(--accent)}.chip-row{display:flex;gap:7px;flex-wrap:wrap}.badge{display:inline-block;padding:2px 8px;border-radius:var(--r-full);font-size:10.5px;font-weight:700;background:var(--field-bg);color:var(--text-2)}.badge.warn{background:#ff9f0a2e;color:var(--amber)}.badge.ok{background:#30d15829;color:var(--green)}.badge.acc{background:rgba(var(--accent-rgb),.18);color:var(--accent)}.del-x{background:#ff453a26;color:var(--red);border:none;width:27px;height:27px;border-radius:var(--r-full);font-size:14px;line-height:1;cursor:pointer;flex:none;font-weight:600}.dow-row{display:flex;gap:5px;margin-top:6px}.dow-row button{flex:1 1 0;min-width:0;padding:9px 0;border-radius:10px;border:1px solid var(--stroke-soft);background:var(--field-bg);color:var(--text-2);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.dow-row button.active{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.55);color:var(--accent)}.color-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.color-grid button{width:30px;height:30px;border-radius:var(--r-full);border:2px solid transparent;cursor:pointer}.color-grid button.active{border-color:var(--text)}.toggle{position:relative;display:inline-block;width:46px;height:27px;flex:none}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--field-bg);border:1px solid var(--stroke-soft);border-radius:var(--r-full);cursor:pointer;transition:background .2s,border-color .2s}.toggle .slider:before{content:"";position:absolute;width:21px;height:21px;left:2px;top:2px;background:#fff;border-radius:var(--r-full);transition:transform .2s;box-shadow:0 1px 3px #00000040}.toggle input:checked+.slider{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.slider:before{transform:translate(19px)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:.5px solid var(--stroke-soft)}.toggle-row:last-child{border-bottom:none}.toggle-row>div:first-child{flex:1 1 auto;min-width:0}.toggle-row .t{font-size:var(--fs-body);font-weight:500;overflow-wrap:anywhere}.toggle-row .s{font-size:11.5px;color:var(--text-3);margin-top:2px;line-height:1.4;overflow-wrap:anywhere}.setting-block{padding:13px 16px;border-bottom:.5px solid var(--stroke-soft)}.setting-block:last-child{border-bottom:none}.setting-label{font-size:var(--fs-body);font-weight:500;margin-bottom:var(--sp-2);overflow-wrap:anywhere}.setting-label+.setting-sub{margin-top:calc(var(--sp-1) - var(--sp-2))}.setting-sub{font-size:var(--fs-hint);color:var(--text-3);line-height:1.4;margin-bottom:var(--sp-2);overflow-wrap:anywhere}.stack-btns{display:flex;flex-direction:column;gap:var(--sp-2)}.stack-btns .btn{margin-top:0;text-decoration:none;text-align:center}.list-row{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:.5px solid var(--stroke-soft)}.list-row:last-child{border-bottom:none}.list-row .body{flex:1;min-width:0}.list-row .t{font-size:var(--fs-body);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .s{font-size:11.5px;color:var(--text-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row.tap{cursor:pointer}.row-chevron{color:var(--text-3);font-size:13px;flex:none}.avatar{width:30px;height:30px;border-radius:var(--r-full);flex:none;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.foot-link{text-align:center;font-size:var(--fs-foot);color:var(--text-3);margin:var(--sp-3) 6px 0}.foot-link a{color:inherit}.foot-stamp{text-align:center;font-size:var(--fs-foot);color:var(--text-3);margin:var(--sp-4) 6px 0;font-variant-numeric:tabular-nums}.foot-danger{text-align:center;margin:var(--sp-1) 6px 0}.foot-danger button{font-family:inherit;font-size:var(--fs-foot);color:var(--red);opacity:.55;text-decoration:underline;background:none;border:0;padding:var(--sp-2);cursor:pointer}nav.tabs{position:fixed;left:50%;transform:translate(-50%);bottom:calc(10px + env(safe-area-inset-bottom));display:flex;gap:2px;z-index:50;background:var(--tabbar-bg);border:1px solid var(--stroke);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border-radius:var(--r-full);padding:5px;box-shadow:0 10px 30px #0000004d;max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}nav.tabs::-webkit-scrollbar{display:none}nav.tabs button{border:none;background:none;color:var(--text-2);font-family:inherit;font-size:12.5px;font-weight:600;padding:9px 15px;border-radius:var(--r-full);cursor:pointer;flex:none;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:background .2s,color .2s}nav.tabs button.active{background:var(--seg-active);color:var(--text)}@media (max-width:479px){nav.tabs button{width:44px;height:40px;padding:0;justify-content:center}nav.tabs button .tab-lbl{display:none}nav.tabs button.active{width:auto;padding:9px 15px}nav.tabs button.active .tab-lbl{display:inline}}.tab-ico svg{width:17px;height:17px;display:block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}section.view{display:none}section.view.active{display:block}.fab{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;width:52px;height:52px;border-radius:var(--r-full);border:1px solid rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.22);color:var(--accent);font-size:28px;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(var(--accent-rgb),.4);backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%)}.fab[hidden]{display:none}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end}.sheet-backdrop[hidden]{display:none}.sheet{width:100%;max-width:620px;margin:0 auto;background:var(--sheet-bg);border-radius:24px 24px 0 0;border-top:1px solid var(--stroke);max-height:88dvh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom);animation:slideup .25s ease}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 12px;border-bottom:.5px solid var(--stroke-soft)}.sheet-head h2{margin:0;font-size:17px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-head button.x{background:var(--field-bg);border:none;color:var(--text-2);width:30px;height:30px;border-radius:var(--r-full);font-size:15px;cursor:pointer;flex:none}.sheet-list{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;touch-action:pan-y;overscroll-behavior:contain;padding:0 18px 22px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px}.dialog-backdrop[hidden]{display:none}.dialog{width:100%;max-width:340px;background:var(--sheet-bg);border:1px solid var(--stroke);border-radius:20px;padding:20px 18px 16px;box-shadow:0 20px 60px #0006}.dialog-title{font-size:15px;font-weight:600;line-height:1.4;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}.dialog-btns{display:flex;gap:9px;margin-top:18px}.dlg-btn{flex:1 1 0;min-width:0;padding:12px;border-radius:12px;border:1px solid var(--stroke-soft);background:var(--field-bg);color:var(--text);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dlg-btn.primary{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.5);color:var(--accent)}.dlg-btn.danger{background:#ff453a29;border-color:#ff453a80;color:var(--red)}.gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--bg0);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) 24px 24px;text-align:center;overflow-y:auto}.gate[hidden]{display:none}.gate h1{font-size:22px;margin:0 0 8px}.gate p{font-size:13.5px;color:var(--text-2);line-height:1.55;margin:0 0 20px;max-width:340px;overflow-wrap:anywhere}.gate .inner{width:100%;max-width:340px}.gate .x{position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;background:var(--field-bg);border:none;color:var(--text-2);width:32px;height:32px;border-radius:var(--r-full);font-size:16px;cursor:pointer}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(78px + env(safe-area-inset-bottom));z-index:300;background:var(--sheet-bg);border:1px solid var(--stroke);border-radius:14px;padding:11px 17px;font-size:13px;font-weight:500;box-shadow:0 10px 30px #0006;max-width:calc(100vw - 32px);text-align:center;overflow-wrap:anywhere;animation:slideup .2s ease}.toast[hidden]{display:none}@media (min-width:860px){main,.topbar{max-width:820px}.tl-col{flex:1 1 130px}}@media (hover:hover) and (pointer:fine){.list-row.tap:hover,.dayhead:hover{background:var(--glass-2)}.slot.tap:hover{filter:brightness(1.15)}.chip:hover,.dow-row button:hover{border-color:var(--stroke)}nav.tabs button:hover{color:var(--text)}.drop:hover{border-color:var(--accent)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
