:root{--surface-page: #EFEFF4;--surface-card: #FFFFFF;--surface-header: #FFFFFF;--fill-plain: rgba(0,0,0,.05);--fill-accent-soft: rgba(0,122,255,.1);--divider: rgba(0,0,0,.15);--text-primary: #000000;--text-hint: #707579;--text-hint-2: #A2ACB0;--text-on-button: #FFFFFF;--accent: #007AFF;--green: #1F9E43;--green-bg: rgba(49,209,88,.14);--green-solid: #31D158;--orange: #FF9500;--orange-bg: rgba(255,149,0,.12);--orange-ink: #C47100;--red: #E53935;--red-bg: rgba(229,57,53,.12);--shadow-card: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.02);--shadow-open: 0 1px 2px rgba(0,0,0,.04), 0 8px 20px rgba(0,0,0,.06);--r-card: 16px;--r-button: 12px;--r-input: 12px;--r-tag: 5px;--r-pill: 999px;--gutter: 16px;--card-pad: 14px;--gap-cards: 10px;--gap-sections: 18px;--dur-fast: .12s;--dur-base: .2s;--ease: cubic-bezier(.2, 0, 0, 1);--font-app: "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;--font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--surface-page);color:var(--text-primary)}body{font:400 15px/1.45 var(--font-app);-webkit-font-smoothing:antialiased;padding-bottom:calc(50px + env(safe-area-inset-bottom,20px))}button{font:inherit;color:inherit}.hdr{position:sticky;top:0;z-index:5;background:var(--surface-header);padding:12px var(--gutter) 11px;box-shadow:inset 0 -.25px 0 var(--divider);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hdr h1{font:700 22px/1.2 var(--font-app);letter-spacing:-.3px;margin:0}.hdr .sub{font:400 13px/1.35 var(--font-app);color:var(--text-hint);margin-top:2px}main{padding:var(--gutter) var(--gutter) 24px;max-width:640px;margin:0 auto}.stack{display:flex;flex-direction:column;gap:var(--gap-sections)}.cards{display:flex;flex-direction:column;gap:var(--gap-cards)}.sec-title{font:400 12px/1.3 var(--font-app);letter-spacing:.4px;text-transform:uppercase;color:var(--text-hint);margin:0 0 10px 2px}.loading,.empty{color:var(--text-hint-2);text-align:center;padding:28px 12px;font:400 15px/1.45 var(--font-app)}.card{background:var(--surface-card);border-radius:var(--r-card);padding:var(--card-pad);box-shadow:var(--shadow-card)}.card.sel{box-shadow:inset 0 0 0 2px #007aff73}.card.open{box-shadow:var(--shadow-open)}.card.muted{opacity:.5}.card.list{padding:6px var(--gutter)}.card.list>.li{padding:12px 0;box-shadow:inset 0 -.25px 0 var(--divider)}.card.list>.li:last-child{box-shadow:none}.row{display:flex;align-items:center;gap:8px}.row.top{align-items:flex-start}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pill{padding:4px 9px;border-radius:var(--r-pill);font:600 12px/1.2 var(--font-app);white-space:nowrap;background:var(--fill-plain);color:var(--text-primary)}.pill.mono{font-family:var(--font-mono)}.pill.p1{background:var(--fill-accent-soft);color:var(--accent)}.pill.p2{background:var(--fill-plain);color:var(--text-hint)}.pill.p3{background:var(--green-bg);color:var(--green)}.pill.p4{background:#b00fb414;color:#b00fb4}.pill.hint{color:var(--text-hint-2)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-cards)}.tile .v{font:600 24px/1.1 var(--font-mono);letter-spacing:-.6px}.tile .l{font:400 13px/1.3 var(--font-app);color:var(--text-hint);margin-top:3px}.tile .t{font:400 13px/1.3 var(--font-mono);margin-top:5px;color:var(--text-hint-2)}.tile .t.up{color:var(--green)}.tile .t.down{color:var(--red)}.tile.ns{box-shadow:inset 0 0 0 2px #007aff73}.tile .ns-mark{font:700 10px/1 var(--font-app);letter-spacing:.6px;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.task{display:flex;flex-direction:column;gap:12px}.task .meta{display:flex;align-items:center;gap:6px}.task .time{margin-left:auto;font:400 13px/1 var(--font-mono);color:var(--text-hint-2)}.task .draft{font:400 14px/1.45 var(--font-app);white-space:pre-line}.task .draft.clip{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mark{min-height:44px;border:0;border-radius:var(--r-button);width:100%;display:flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--font-app);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.mark .dot{width:20px;height:20px;border-radius:var(--r-pill);flex:0 0 20px;box-shadow:inset 0 0 0 2px currentColor;display:grid;place-items:center}.mark.wait{background:var(--fill-accent-soft);color:var(--accent)}.mark.done{background:var(--green-bg);color:var(--green)}.mark.done .dot{background:var(--green-solid);box-shadow:none}.mark.skip{background:var(--fill-plain);color:var(--text-hint);cursor:default}.mark.skip .dot{box-shadow:inset 0 0 0 2px currentColor}.streak{background:var(--green-bg);border-radius:var(--r-button);padding:8px 12px;text-align:center;flex:0 0 auto}.streak .n{font:600 17px/1.1 var(--font-mono);color:var(--green)}.streak .l{font:400 11px/1.2 var(--font-app);color:var(--green)}.day{padding:13px;display:flex;align-items:center;gap:12px}.day .dn{font:600 15px/1.2 var(--font-app)}.day .dd{font:400 13px/1.2 var(--font-mono);color:var(--text-hint-2)}.day .slots{display:flex;gap:4px;flex-wrap:wrap;flex:1}.slot{font:600 11px/1.2 var(--font-mono);padding:4px 6px;border-radius:var(--r-tag);background:var(--fill-plain);color:var(--text-hint-2)}.slot.done{background:var(--green-bg);color:var(--green)}.slot.skip{background:var(--red-bg);color:var(--red)}.day .st{font:600 13px/1.2 var(--font-app);white-space:nowrap}.day .st.late{color:var(--orange)}.day .st.now{color:var(--accent)}.day .st.plan{color:var(--text-hint-2)}.day .cnt{font:400 13px/1.2 var(--font-mono);color:var(--text-hint-2)}.ref .head{display:flex;align-items:center;gap:8px}.ref .date{font:400 13px/1 var(--font-mono);color:var(--text-hint-2)}.ref .caret{width:9px;height:9px;margin-left:auto;flex:0 0 9px;border-right:1.5px solid var(--text-hint-2);border-bottom:1.5px solid var(--text-hint-2);transform:rotate(45deg);transition:transform var(--dur-base) var(--ease)}.ref.open .caret{transform:rotate(-135deg)}.ref .ttl{font:600 15px/1.35 var(--font-app);margin-top:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ref.open .ttl{-webkit-line-clamp:unset}.ref .body{margin-top:11px;padding-top:11px;box-shadow:inset 0 .25px 0 var(--divider)}.ref .full{font:400 15px/1.45 var(--font-app);white-space:pre-line}.ref .link{font:400 13px/1.4 var(--font-mono);color:var(--accent);word-break:break-all}.ref .src{font:400 13px/1.3 var(--font-app);color:var(--text-hint-2);margin-top:7px}.ref .th{width:100%;border-radius:var(--r-button);display:block;margin-top:10px}.lamp-row{display:flex;align-items:center;gap:10px}.lamp{width:12px;height:12px;border-radius:var(--r-pill);flex:0 0 12px}.lamp.on{opacity:1}.lamp.off{opacity:.35}.lamp.green{background:var(--green-solid)}.lamp.orange{background:var(--orange)}.lamp.red{background:var(--red)}.lamp.grey{background:var(--text-hint-2)}.lamp-row .cond{font:400 15px/1.35 var(--font-app);flex:1}.lamp-row .val{font:600 14px/1.2 var(--font-mono)}.bar-row .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.bar-row .k{font:400 15px/1.35 var(--font-app)}.bar-row .v{font:600 15px/1.2 var(--font-mono)}.track{height:5px;border-radius:var(--r-pill);background:var(--fill-plain);margin-top:8px;overflow:hidden}.track>i{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);opacity:.75;transition:width var(--dur-base) var(--ease)}.track>i.green{background:var(--green-solid);opacity:1}.track>i.orange{background:var(--orange);opacity:1}.track>i.red{background:var(--red);opacity:1}.sync-note{background:var(--orange-bg);border-radius:var(--r-card);padding:var(--card-pad)}.sync-note.fresh{background:var(--green-bg)}.sync-note h2{font:700 17px/1.25 var(--font-app);color:var(--orange-ink);margin:0 0 5px}.sync-note.fresh h2{color:var(--green)}.sync-note p{font:400 13px/1.4 var(--font-app);color:var(--text-hint);margin:0}.cmd{background:var(--surface-card);border-radius:var(--r-button);padding:11px 12px;margin-top:11px;font:400 13px/1.3 var(--font-mono);color:var(--text-primary);overflow-x:auto;white-space:nowrap}input[type=text],input[type=number],input[type=search],textarea,select{width:100%;background:var(--surface-card);color:var(--text-primary);border:0;box-shadow:inset 0 0 0 .5px var(--divider);border-radius:var(--r-input);padding:11px 12px;font:400 15px/1.4 var(--font-app)}textarea{min-height:92px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-hint-2)}.btn{min-height:44px;padding:0 16px;border:0;border-radius:var(--r-button);background:var(--accent);color:var(--text-on-button);font:600 15px/1 var(--font-app);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.soft{background:var(--fill-accent-soft);color:var(--accent)}.btn.plain{background:var(--fill-plain);color:var(--text-primary)}.btn:disabled{opacity:.4}.btn.sm{min-height:34px;padding:0 12px;font-size:14px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:7px 12px;border-radius:var(--r-pill);border:0;background:var(--fill-plain);color:var(--text-primary);font:600 13px/1.2 var(--font-app);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.chip.on{background:var(--accent);color:var(--text-on-button)}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.shot{position:relative;aspect-ratio:4/5;border-radius:var(--r-button);overflow:hidden;background:var(--fill-plain)}.shot img{width:100%;height:100%;object-fit:cover;display:block}.shot .idx{position:absolute;top:5px;left:5px;background:#0000008c;color:#fff;font:600 11px/1 var(--font-mono);padding:3px 6px;border-radius:var(--r-tag)}.shot .x,.shot .mv button{background:#0000008c;color:#fff;border:0;cursor:pointer;font:600 13px/1 var(--font-app)}.shot .x{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:var(--r-pill)}.shot .mv{position:absolute;bottom:5px;right:5px;display:flex;gap:3px}.shot .mv button{width:24px;height:22px;border-radius:var(--r-tag)}.flags{display:flex;flex-direction:column;gap:7px}.flag{display:flex;gap:10px;align-items:flex-start}.flag .lamp{margin-top:4px}.flag .t{font:600 14px/1.35 var(--font-app)}.flag .w{font:400 13px/1.4 var(--font-app);color:var(--text-hint)}.flag.ok .t{color:var(--green);font-weight:400}nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;background:var(--surface-header);box-shadow:inset 0 .25px 0 var(--divider);padding-bottom:env(safe-area-inset-bottom,20px)}nav button{height:50px;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-hint);position:relative;transition:color var(--dur-fast) var(--ease)}nav button svg{width:26px;height:26px;display:block}nav button .lbl{font:500 10px/1.1 var(--font-app)}nav button.on{color:var(--accent)}nav .badge{position:absolute;top:5px;right:calc(50% - 17px);width:7px;height:7px;border-radius:var(--r-pill);background:var(--orange)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(66px + env(safe-area-inset-bottom,20px));z-index:50;background:var(--surface-card);box-shadow:var(--shadow-open);border-radius:var(--r-button);padding:11px 15px;max-width:88vw;font:400 14px/1.35 var(--font-app);transition:opacity var(--dur-base) var(--ease)}.toast.err{color:var(--red)}.toast.out{opacity:0}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
