:root{--paper:#f6f4ef;--card:#fff;--ink:#1c1a17;--muted:#6f6a62;--line:#dcd6cc;--soft:#ebe7e0;--danger:#a12a1f;--warn:#9a6a12;--ok:#3c6b3f;--focus:#1c1a17;--serif:"Noto Serif TC","Songti TC",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Helvetica Neue",Arial,sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#121110;--card:#1a1917;--ink:#ece8e1;--muted:#9a948a;--line:#2f2c28;--soft:#23211e;--danger:#e07a69;--warn:#d9a84a;--ok:#86b98a;--focus:#ece8e1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#121110;--card:#1a1917;--ink:#ece8e1;--muted:#9a948a;--line:#2f2c28;--soft:#23211e;--danger:#e07a69;--warn:#d9a84a;--ok:#86b98a;--focus:#ece8e1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);padding-bottom:calc(72px + env(safe-area-inset-bottom));margin:0}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}.wrap{max-width:980px;margin:0 auto;padding:0 16px}header.top{z-index:5;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}header.top .wrap{align-items:center;gap:16px;height:52px;display:flex}.logo{font:600 13px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}nav.desk{gap:4px;margin-left:auto;display:none}nav.desk a{color:var(--muted);border-radius:6px;padding:6px 10px}nav.desk a.on{color:var(--ink);background:var(--soft)}nav.tabs{z-index:6;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabs a{text-align:center;color:var(--muted);flex:1;padding:10px 0 9px;font-size:12px}nav.tabs a b{font-size:17px;font-weight:400;line-height:1.2;display:block}nav.tabs a.on{color:var(--ink);font-weight:600}@media (width>=760px){nav.desk{display:flex}nav.tabs{display:none}body{padding-bottom:40px}}h1{font:600 24px/1.3 var(--serif);margin:22px 0 4px}h2{font:600 13px/1.4 var(--sans);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin:26px 0 8px}.sub{color:var(--muted);font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.list>li:last-child{border-bottom:0}.list .main{flex:1;min-width:0}.list .t{word-break:break-word}.list .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.done .t{color:var(--muted);text-decoration:line-through}.chip{letter-spacing:.04em;border:1px solid var(--line);white-space:nowrap;color:var(--ink);border-radius:999px;align-items:center;gap:5px;padding:1px 7px 1px 6px;font-size:11px;display:inline-flex}.chip:before{content:"";background:var(--c,var(--muted));border-radius:50%;width:7px;height:7px}.chip.cross{color:var(--muted)}.pill{background:var(--soft);color:var(--ink);white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:11px}.pill.s-待決定{background:color-mix(in srgb,var(--warn) 22%,transparent)}.pill.s-定案{background:color-mix(in srgb,var(--ok) 22%,transparent)}.pill.s-進行中{background:var(--ink);color:var(--paper)}.pill.s-結案{color:var(--muted)}.late{color:var(--danger)}.ch{color:var(--muted);border:1px dashed var(--line);border-radius:4px;padding:0 5px;font-size:11px}.clash{color:var(--danger);font-size:11px;font-weight:600}.clash.day{color:var(--warn)}input,select,textarea,button{font:inherit;color:inherit}input[type=text],input[type=date],input[type=url],input[type=password],input[type=number],input[type=search],select,textarea{background:var(--card);border:1px solid var(--line);border-radius:8px;width:100%;padding:9px 10px;font-size:16px}textarea{resize:vertical;min-height:44px;line-height:1.5}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:1px}button,.btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:14px;display:inline-flex}.btn.ghost,button.ghost{color:var(--ink);border-color:var(--line);background:0 0}button.x{color:var(--muted);background:0 0;border:0;padding:2px 6px;font-size:16px}button.x:hover{color:var(--danger)}.check{appearance:none;border:1.5px solid var(--muted);cursor:pointer;background:var(--card);border-radius:6px;flex:none;width:22px;height:22px;margin:1px 0 0}.check:checked{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 3px var(--card)}form.inline{display:inline}.quick{gap:8px;margin:14px 0 4px;display:flex}.quick input{flex:1}.hint{color:var(--muted);margin:4px 2px 0;font-size:12px}.filters{scrollbar-width:none;gap:6px;padding:4px 0 6px;display:flex;overflow-x:auto}.filters a{border:1px solid var(--line);white-space:nowrap;color:var(--muted);border-radius:999px;padding:4px 11px;font-size:13px}.filters a.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.grid2{gap:12px;display:grid}@media (width>=760px){.grid2{grid-template-columns:1fr 1fr}}label.f{color:var(--muted);letter-spacing:.04em;margin:12px 0 4px;font-size:12px;display:block}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>*{flex:1;min-width:0}.row>.auto{flex:none}.pcard{margin-bottom:10px;padding:14px;display:block}.pcard:hover{border-color:var(--muted);text-decoration:none}.pcard .title{font:600 17px/1.35 var(--serif);margin:6px 0 4px}.pcard .sum{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.stickybar{bottom:calc(64px + env(safe-area-inset-bottom));pointer-events:none;justify-content:flex-end;padding:10px 0;display:flex;position:sticky}.stickybar button{pointer-events:auto;box-shadow:0 2px 10px #00000026}@media (width>=760px){.stickybar{bottom:0}}.cal{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--card);border-radius:10px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.cal .h{color:var(--muted);text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0;font-size:11px}.cal .d{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:58px;padding:3px 4px;font-size:11px;display:block;position:relative;overflow:hidden}.cal .d:hover{background:var(--soft);text-decoration:none}.cal .d.out{color:var(--muted);background:color-mix(in srgb,var(--paper) 60%,var(--card))}.cal .d.today .n{background:var(--ink);color:var(--paper);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.cal .d.c-day{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--warn) 70%,transparent)}.cal .d.c-channel{box-shadow:inset 0 0 0 2px var(--danger)}.cal .dots{flex-wrap:wrap;gap:2px;margin-top:3px;display:flex}.cal .dots i{background:var(--c,var(--muted));border-radius:50%;width:6px;height:6px}.cal .dots i.task{border-radius:1px}.cal .ev{display:none}@media (width>=760px){.cal .d{min-height:96px}.cal .dots{display:none}.cal .ev{white-space:nowrap;text-overflow:ellipsis;border-left:3px solid var(--c,var(--muted));margin-top:2px;padding-left:4px;line-height:1.35;display:block;overflow:hidden}.cal .ev.done{color:var(--muted);text-decoration:line-through}}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin:8px 0;font-size:12px;display:flex}.legend span:before{content:"";vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.legend .lday:before{box-shadow:inset 0 0 0 2px var(--warn)}.legend .lch:before{box-shadow:inset 0 0 0 2px var(--danger)}.datehead{align-items:center;gap:8px;padding:12px 12px 4px;font-size:13px;font-weight:600;display:flex}table.res{border-collapse:collapse;width:100%;font-size:14px}table.res th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:6px;font-size:11px;font-weight:500}table.res td:first-child{min-width:100px}table.res td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px}table.res input{padding:6px 7px;font-size:15px}.bar{background:var(--soft);border-radius:2px;height:4px;margin-top:3px;overflow:hidden}.bar i{background:var(--ink);height:100%;display:block}.login{max-width:340px;margin:16vh auto 0;padding:0 16px}.login h1{letter-spacing:.14em;text-transform:uppercase;font-size:20px;font-family:var(--sans)}.err{color:var(--danger);margin:8px 0;font-size:13px}.empty{color:var(--muted);padding:14px 12px;font-size:13px}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}.swatch{background:var(--c);vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:6px;display:inline-block}.kv{white-space:pre-wrap;word-break:break-word}.mt{margin-top:14px}[v-cloak]{display:none}.toast{left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:20;background:var(--ink);max-width:min(92vw,420px);color:var(--paper);border-radius:8px;padding:9px 14px;font-size:13px;position:fixed;transform:translate(-50%);box-shadow:0 2px 10px #0003}.toast button{color:inherit;opacity:.7;background:0 0;border:0;padding:0 0 0 10px}@media (width>=760px){.toast{bottom:24px}}button:disabled{opacity:.55;cursor:default}.ok{color:var(--ok);margin:8px 0;font-size:13px}.link{color:inherit;text-underline-offset:3px;cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.inline-form{display:inline}.nowrap{flex-wrap:nowrap}nav.desk a.logo-link{margin-left:0}
