:root{--line:#d4e0ed;--line2:#eef2f7;--fg:#0b3558;--muted:#476788;--faint:#8aa2bb;--bg:#fff;--canvas:#f8f9fb;--head:#f8f9fb;--soft:#f0f3f8;--accent:#006bff;--accent-soft:#e6f0ff;--accent-ink:#004eba;--shadow:0 1px 2px #4767880f, 0 4px 12px #4767880f;--mark:#facc15;color:var(--fg);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);margin:0;font-size:16px;line-height:1.5}button{font:inherit;color:inherit}.app{max-width:100vw;padding:12px 16px 24px}.state{color:var(--muted);padding:40px 16px}.state.err{color:#b91c1c}.empty{color:var(--muted);padding:24px 4px}.sub{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.err{color:#b91c1c;margin:0;font-size:13px}.muted{color:var(--muted)}.mark{white-space:nowrap;background:var(--mark);color:#0b3558;border:1.5px solid #a16207;border-radius:999px;flex:none;place-items:center;min-width:26px;height:26px;padding:0 4px;font-size:13px;font-weight:700;line-height:1;display:inline-grid}.mark.sm{min-width:20px;height:20px;padding:0 3px;font-size:11px}.mark.xs{border-width:1px;min-width:16px;height:16px;margin-right:1px;padding:0 2px;font-size:9.5px}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:9px 14px;font-size:14px;font-weight:600}button.primary:disabled{opacity:.5;cursor:default}button.ghost{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:7px 12px;font-size:13px}.top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.brand{align-items:center;gap:10px;margin-right:auto;display:flex}.brand h1{white-space:nowrap;margin:0;font-size:17px}.mebtn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:13px;display:inline-flex}.viewtabs{border:1px solid var(--line);border-radius:9px;display:inline-flex;overflow:hidden}.viewtabs button{cursor:pointer;color:var(--muted);background:#fff;border:0;padding:8px 14px;font-size:14px;position:relative}.viewtabs button+button{border-left:1px solid var(--line)}.viewtabs button.on{background:var(--accent);color:#fff;font-weight:600}.viewtabs .dot{color:#fff;background:#f59e0b;border-radius:999px;margin-left:4px;padding:0 5px;font-size:10px;display:inline-block}.daytabs{gap:6px;margin-bottom:6px;padding-bottom:6px;display:flex;overflow-x:auto}.daytabs button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;flex:none;align-items:flex-start;gap:1px;padding:6px 10px;font-size:13px;display:flex}.daytabs button small{color:var(--muted);white-space:nowrap;font-size:10.5px}.daytabs button.on{background:var(--fg);color:#fff;border-color:var(--fg)}.daytabs button.on small{color:#d1d5db}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.legend span{align-items:center;gap:4px;display:inline-flex}.legend i{border:1px solid;border-radius:3px;width:12px;height:12px;display:inline-block}.legend .hint{color:var(--faint)}.untimed{margin-bottom:8px;font-size:12px}.untimed summary{cursor:pointer;color:var(--muted);padding:2px 0}.untimed .chip{cursor:pointer;border:1px solid;border-radius:6px;align-items:center;gap:6px;margin:6px 6px 0 0;padding:3px 8px;font-size:12px;display:inline-flex}.untimed .chip small{color:var(--muted);display:inline-flex}.grid-scroll{border:1px solid var(--line);border-radius:10px;max-height:calc(100dvh - 210px);overflow:auto}.grid-head{z-index:30;background:var(--head);border-bottom:1px solid var(--line);min-width:max-content;display:grid;position:sticky;top:0}.corner{z-index:31;background:var(--head);border-right:1px solid var(--line);position:sticky;left:0}.chead{border-left:1px solid var(--line2);align-items:center;gap:6px;min-width:0;padding:6px;font-size:12px;line-height:1.25;display:flex}.chead .cname{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.daybody{min-width:max-content;display:grid;position:relative}.timecol{z-index:25;background:var(--bg);border-right:1px solid var(--line);position:sticky;left:0}.tlabel{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.gcol{border-left:1px solid var(--line2);cursor:copy;position:relative}.hline{background:var(--line2);pointer-events:none;height:1px;position:absolute;left:0;right:0}.block{z-index:2;text-align:left;cursor:pointer;border:1px solid;border-left-width:3px;border-radius:5px;flex-direction:column;gap:1px;padding:2px 5px;font-size:11px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.block:hover{filter:brightness(.96)}.block .btime{font-variant-numeric:tabular-nums;opacity:.75;white-space:nowrap;font-size:10px}.block .btitle{font-weight:600}.block .bmeta{opacity:.85;flex-wrap:wrap;gap:1px;font-size:10px;display:flex}.band{z-index:4;pointer-events:none;background:#fef3c773;border:1.5px solid;border-radius:5px;position:absolute}.band button{pointer-events:auto;cursor:pointer;white-space:nowrap;border:1px solid;border-radius:4px;margin:2px;padding:1px 8px;font-size:11px;font-weight:600;position:sticky;left:52px}.band button.uncertain{outline:2px dashed #f59e0b}.block.uncertain{outline-offset:-2px;outline:2px dashed #f59e0b}.nowline{z-index:3;pointer-events:none;background:#ef4444;height:2px;position:absolute;right:0}.nowbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.nowbar select,.nowbar input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:15px}.livebadge{color:#991b1b;background:#fee2e2;border-radius:999px;padding:3px 10px;font-size:12px}.allnow{text-align:left;color:#713f12;cursor:pointer;background:#fef3c7;border:1px solid #eab308;border-radius:8px;width:100%;margin-bottom:8px;padding:8px 12px;font-size:14px;display:block}.nowlist{border:1px solid var(--line);border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.nowlist li{border-top:1px solid var(--line2);grid-template-columns:30px 120px 1fr 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.nowlist li:first-child{border-top:0}.nowlist li.me{background:var(--soft)}.nowlist li.idle .who-name{color:var(--muted)}.who-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.who-name small{color:var(--muted);font-size:11px;font-weight:400}.where{flex-direction:column;gap:4px;min-width:0;display:flex}.where button,.next button{text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:6px;padding:0;font-size:14px;display:flex}.where b{font-size:14px}.where span{color:var(--fg)}.where small,.next small{color:var(--muted);font-size:12px}.next button{color:var(--muted);font-size:13px}.none{color:var(--faint);font-size:13px}.editor-bg{z-index:60;background:#11182740;position:fixed;inset:0}.editor{background:#fff;width:460px;max-width:100vw;position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-12px 0 32px #0000001f}.editor form{flex-direction:column;gap:12px;padding:14px 16px 28px;display:flex}.ehead{z-index:1;background:#fff;justify-content:space-between;align-items:center;padding:4px 0 8px;display:flex;position:sticky;top:0}.ehead h2{margin:0;font-size:17px}.editor label,.editor .field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.editor input:not([type=checkbox]):not([type=radio]),.editor select,.editor textarea{border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:7px;width:100%;padding:8px 10px;font-family:inherit;font-size:16px}.editor .row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.editor label.check{color:var(--fg);flex-direction:row;align-items:center;gap:6px;font-size:14px}.editor label.check.sm{white-space:nowrap;font-size:12px}.endrow{align-items:center;gap:8px;display:flex}.kinds{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;margin:0;padding:8px 10px;display:flex}.kinds legend{color:var(--muted);padding:0 4px;font-size:12px}.staffpick{border:1px solid var(--line);border-radius:8px;padding:10px}.sp-head{color:var(--muted);margin-bottom:8px;font-size:12px}.sp-list{flex-wrap:wrap;gap:6px;max-height:220px;display:flex;overflow:auto}.editor .sp-list label{color:var(--fg);border:1px solid var(--line);cursor:pointer;border-radius:999px;flex-direction:row;align-items:center;gap:5px;padding:4px 10px 4px 5px;font-size:13px}.editor .sp-list label.on{background:#f0fdf4;border-color:#10b981}.sp-list input{display:none}.warn{color:#78350f;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:10px 12px;font-size:13px}.warn p,.warn ul{margin:6px 0;padding-left:18px}.warn p{padding-left:0}.eactions{align-items:center;gap:8px;padding-top:4px;display:flex}.eactions .spacer{flex:1}.eactions .danger{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;padding:8px 14px}.login,.who{background:var(--soft);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login form,.who-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:12px;width:100%;max-width:420px;padding:22px;display:flex}.login h1,.who h1{margin:0;font-size:18px}.who h2{color:var(--muted);margin:8px 0 0;font-size:13px}.login label,.who-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.login input,.who-form input{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:16px}.login button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:11px;font-size:15px;font-weight:600}.who-list{flex-wrap:wrap;gap:6px;display:flex}.who-list button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 4px;font-size:14px;display:inline-flex}.who-list button.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.who-form{flex-direction:column;gap:10px;display:flex}.who-form .row2{grid-template-columns:1fr 110px;gap:8px;display:grid}.history section{margin-bottom:24px}.history h2{margin:0 0 6px;font-size:15px}.hlist{border:1px solid var(--line);border-radius:10px;margin:8px 0 0;padding:0;list-style:none;overflow:hidden}.hlist li+li{border-top:1px solid var(--line2)}.hlist button{text-align:left;cursor:pointer;background:#fff;border:0;flex-wrap:wrap;gap:4px 10px;width:100%;padding:9px 12px;font-size:13px;display:flex}.hlist .t{color:var(--muted);font-variant-numeric:tabular-nums}.hlist .why{color:#92400e;flex-basis:100%;font-size:12px}.htable{border-collapse:collapse;width:100%;font-size:13px}.htable td{border-top:1px solid var(--line2);vertical-align:top;padding:6px 8px}.htable td.t{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.op{white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px}.op-INSERT{color:#14532d;background:#dcfce7}.op-UPDATE{color:#0c4a6e;background:#e0f2fe}.op-DELETE{color:#7f1d1d;background:#fee2e2}.foot{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;font-size:12px;display:flex}.foot span{margin-right:auto}@media (width<=640px){.app{padding:10px 12px 20px}.top{gap:8px}.viewtabs{order:3;width:100%}.viewtabs button{flex:1;padding:9px 4px}.add{padding:7px 12px}.nowlist li{grid-template-columns:28px 1fr;gap:4px 10px}.nowlist .where,.nowlist .next{grid-column:2}.editor{width:100vw}.grid-scroll{max-height:calc(100dvh - 250px)}}button.ghost.sm{padding:4px 10px;font-size:12px}.block.info,.tl-block.info{opacity:.85;border-style:dashed}.swatch{border:1px solid;border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.legend .toggle{color:var(--fg);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.mycard{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:18px;padding:12px;box-shadow:0 1px 2px #0000000a}.my-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.my-head h2,h2.sec{margin:0;font-size:15px}h2.sec{color:var(--muted);margin:0 0 8px;font-weight:600}.herebtn{padding:10px 16px;font-size:15px}.herebox{background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:8px;padding:6px 8px 6px 12px;font-size:13px;display:flex}.picker{border:1px dashed var(--line);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px;display:flex}.picker .sub{font-size:12px}.durs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.durs button,.placechips button,.chips button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:7px 12px;font-size:14px}.durs button.on,.chips button.on,.chips select.on{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.placechips{flex-wrap:wrap;gap:6px;display:flex}.placechips button{padding:9px 14px}.placechips button.recent{color:#1e3a8a;border-color:#3b82f6}.mylist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mylist button{text-align:left;cursor:pointer;background:var(--soft);border:0;border-left:4px solid;border-radius:8px;align-items:center;gap:12px;width:100%;padding:9px 10px;display:flex}.mylist .t{font-variant-numeric:tabular-nums;flex-direction:column;min-width:52px;font-size:15px;font-weight:700;display:flex}.mylist .t small{color:var(--muted);font-size:11px;font-weight:400}.mylist .what{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mylist .what b{font-size:15px}.mylist .what small{color:var(--muted);font-size:12px}.mylist li.now button{background:#fff;box-shadow:inset 0 0 0 2px #ef4444}.mylist li.past{opacity:.5}.nowtag{color:#fff;background:#ef4444;border-radius:999px;padding:2px 8px;font-size:11px}.addmine{width:100%;margin-top:10px;padding:10px;font-size:14px}.where .here{flex-direction:column;gap:1px;display:flex}.where .here b{color:#1d4ed8}.where .here small{color:var(--muted);font-size:11px}.where button.planned{opacity:.6;font-size:12px}.where button.planned b{font-size:12px}.tl-scroll{border:1px solid var(--line);border-radius:10px;max-height:calc(100dvh - 230px);overflow:auto}.tl-inner{position:relative}.tl-head{z-index:20;background:var(--head);border-bottom:1px solid var(--line);height:26px;display:flex;position:sticky;top:0}.tl-hours{position:relative}.tl-hours span{color:var(--muted);font-variant-numeric:tabular-nums;padding-left:4px;font-size:11px;position:absolute;top:5px}.tl-body{position:relative}.tl-grid{pointer-events:none;position:absolute;top:0;bottom:0}.tl-grid i{background:var(--line2);width:1px;position:absolute;top:0;bottom:0}.tl-grid b{background:#facc1524;border-left:1px dashed #eab308;border-right:1px dashed #eab308;position:absolute;top:0;bottom:0}.tl-grid em{z-index:5;background:#ef4444;width:2px;position:absolute;top:0;bottom:0}.tl-row{border-bottom:1px solid var(--line2);display:flex}.tl-row.me{background:#f5f9ff}.tl-name{z-index:10;border-right:1px solid var(--line);background:#fff;flex-direction:column;flex:none;justify-content:center;gap:1px;padding:6px;font-size:12px;display:flex;position:sticky;left:0;overflow:hidden}.tl-head .tl-name{background:var(--head)}.tl-row.me .tl-name{background:#f5f9ff}.tl-name .nm{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.tl-name small{color:var(--muted);font-size:10.5px}.tl-name small.here{color:#1d4ed8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-alllabel{color:#713f12;font-weight:600}.tl-track{cursor:copy;flex:none;position:relative}.tl-block{z-index:3;text-align:left;cursor:pointer;border:1px solid;border-left-width:3px;border-radius:6px;flex-direction:column;justify-content:center;gap:1px;padding:3px 6px;display:flex;position:absolute;overflow:hidden}.tl-block:hover{filter:brightness(.96)}.tl-block .t1{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.tl-block .t2{opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:10.5px;overflow:hidden}.tl-block.uncertain{outline-offset:-2px;outline:2px dashed #f59e0b}.editor .title-in{font-weight:600;padding:11px 12px!important;font-size:18px!important}.editor .field>span{color:var(--muted);font-size:12px}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chips select{border-radius:999px!important;width:auto!important;padding:7px 10px!important;font-size:14px!important}.whenrow{align-items:center;gap:8px;display:flex}.whenrow select,.whenrow input[type=time]{width:auto!important}.editor .sp-list{margin-top:4px}.more{border-top:1px solid var(--line2);flex-direction:column;gap:10px;padding-top:8px;display:flex}.more summary{cursor:pointer;color:var(--muted);margin-bottom:6px;font-size:13px}.more[open] summary{margin-bottom:10px}.more>label+label,.more>label+small{margin-top:10px}@media (width<=640px){.brand{gap:6px;min-width:0}.brand h1{font-size:15px}.mebtn{white-space:nowrap;max-width:120px;overflow:hidden}.tl-scroll{max-height:calc(100dvh - 270px)}.nowlist li .where .here b{font-size:15px}}.top{z-index:40;background:var(--canvas);border-bottom:1px solid var(--line2);margin:-12px -16px 12px;padding:10px 16px;position:sticky;top:0}.viewtabs,.daytabs button,button.ghost,.mebtn{background:#fff}.viewtabs{box-shadow:var(--shadow)}.nowlist,.mycard,.grid-scroll,.tl-scroll,.hlist,.history section>.htable,.untimed,.bandlist{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}.mycard{border-radius:14px;padding:14px}.history section>.htable{border-radius:10px;display:table;overflow:hidden}.untimed{border-radius:10px;padding:8px 12px}h2.sec{letter-spacing:.02em;font-size:14px}.my-head h2{font-size:16px}.pdot{vertical-align:1px;border-radius:50%;flex:none;width:9px;height:9px;margin-right:5px;display:inline-block}.who-name,.where b{font-size:15px}.where span{font-size:14px}.nowlist li{padding:12px 14px}.bandlist{border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:8px 10px;font-size:13px;display:flex}.bandlist>span{color:#713f12;margin-right:2px;font-weight:600}.bandlist button{color:#713f12;cursor:pointer;background:#fef3c7;border:1px solid #eab308;border-radius:999px;padding:4px 10px;font-size:13px}.band{pointer-events:none;z-index:1;background:#facc1529;border-style:dashed;border-width:1px 0;border-radius:0}.block{padding:3px 6px;font-size:12px}.block .btime{font-size:11px}.block .btitle{line-height:1.3}.chead{padding:8px 6px;font-size:13px}.tlabel{font-size:12px}.tl-block .t1{font-size:13px}.tl-block .t2{font-size:11px}.tl-row.noev .tl-name .nm{color:var(--faint);font-weight:500}.block.uncertain,.tl-block.uncertain{outline:none}.block.uncertain:after,.tl-block.uncertain:after,.bandlist button.uncertain:after{content:"";background:#f59e0b;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.bandlist button.uncertain{padding-right:16px;position:relative}.daytabs .today{color:#fff;background:#ef4444;border-radius:999px;margin-left:4px;padding:0 6px;font-size:10px;font-style:normal}@media (width<=640px){.top{margin:-10px -12px 10px;padding:8px 12px}}.herebox{justify-content:space-between;width:100%}.herebox button{white-space:nowrap;flex:none}.block.short{flex-direction:row;align-items:center;gap:5px;padding-top:1px;padding-bottom:1px}.block.short .btime,.block.short .btitle{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.block.short .btime{flex:none}.linkbtn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:13px}.tl-scroll+.linkbtn{margin-top:6px}.nowbar .when{align-items:center;gap:6px;margin-right:auto;font-size:14px;font-weight:600;display:inline-flex}.nowbar .when small{color:var(--muted);font-weight:400}.nowlist li{padding:0;display:block}.nowlist .row{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:7.5em 1fr;align-items:baseline;gap:2px 12px;width:100%;padding:11px 14px;display:grid}.nowlist .row .nm{text-overflow:ellipsis;white-space:nowrap;grid-row:span 2;font-size:14px;font-weight:600;overflow:hidden}.nowlist .row .pl{font-size:15px;font-weight:700}.nowlist .row .ti{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.nowlist .row .ti:empty{display:none}.self{color:var(--accent-ink);background:var(--accent-soft);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-style:normal}.idle{color:var(--muted);margin:10px 2px 0;font-size:13px;line-height:1.9}.idle b{color:var(--fg);margin-right:4px}.idle span+span:before{content:"・";color:var(--faint)}.idle small{color:var(--faint)}.noone{color:var(--muted);font-size:14px}.daytabs{padding-bottom:8px}
