:root{color-scheme:dark;--canvas: #0d1117;--canvas-inset: #010409;--surface: #161b22;--surface-2: #1c2128;--surface-hover: #21262d;--border: #30363d;--border-muted: #21262d;--text: #e6edf3;--muted: #8b949e;--faint: #6e7681;--accent: #9be600;--accent-strong: #aef000;--accent-press: #82c200;--on-accent: #0d1117;--accent-ring: rgba(155, 230, 0, .4);--accent-tint: rgba(155, 230, 0, .12);--danger: #f85149;--danger-tint: rgba(248, 81, 73, .12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--r-1: 6px;--r-2: 10px;--r-3: 14px;--pill: 999px;--ring: 0 0 0 3px var(--accent-ring);--shadow: 0 1px 0 rgba(1, 4, 9, .6), 0 8px 24px rgba(1, 4, 9, .3);--t-fast: .12s ease}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--canvas);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--accent-tint)}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;background:color-mix(in srgb,var(--canvas) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(8px);backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--border-muted)}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px;letter-spacing:.2px;color:var(--text);text-decoration:none}.brand-mark{font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace}.brand-dot{width:9px;height:9px;border-radius:var(--pill);background:var(--accent);box-shadow:0 0 12px var(--accent-ring)}.app-header .spacer{flex:1}.brand-link,.brand-link:hover{text-decoration:none}.back{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:-4px;border-radius:var(--r-1);font-size:22px;line-height:1;color:var(--muted);text-decoration:none}.back:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.container{padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 32px);max-width:680px;margin:0 auto}h1,h2,h3{font-weight:650;line-height:1.25}h2{font-size:22px;margin:4px 0 2px}h3{font-size:13px;margin:0}.page-title{margin:4px 0 16px}.subtitle{color:var(--muted);font-size:14px;margin:2px 0 0}.hint{color:var(--muted);font-size:13px}.faint{color:var(--faint)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.section{margin-top:24px}.section-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border-muted)}.section-head h3{text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.section-head .count{font-size:12px;color:var(--faint);background:var(--surface);border:1px solid var(--border-muted);border-radius:var(--pill);padding:0 8px;line-height:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2);padding:12px 14px;margin-bottom:10px}.card.tap{display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast)}.card.tap:hover{background:var(--surface-2);border-color:var(--faint)}.card.tap:active{transform:scale(.995)}a.card{color:inherit}a.card:hover{text-decoration:none}.monogram{flex:none;width:38px;height:38px;border-radius:var(--r-2);display:grid;place-items:center;font-weight:700;font-size:15px;color:var(--on-accent);background:linear-gradient(135deg,var(--accent-strong),var(--accent-press))}.grow{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{color:var(--faint);font-size:18px;flex:none}.row{display:flex;gap:8px;align-items:center}.row>*{min-width:0}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row select,.row input,.row button{margin:0}.row input[type=text],.row input:not([type]){flex:1 1 7rem}.row.wrap input[type=text],.row.wrap input:not([type]){flex:1 1 12rem}.stack{display:flex;flex-direction:column;gap:8px}button{font:inherit;cursor:pointer;border-radius:var(--r-1);border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:8px 14px;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}button:hover{background:var(--surface-hover);border-color:var(--faint)}button:focus-visible{outline:none;box-shadow:var(--ring)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--on-accent);border-color:transparent;font-weight:650}button.primary:hover{background:var(--accent-strong);border-color:transparent}button.primary:active{background:var(--accent-press)}button.primary:disabled{background:var(--accent)}button.icon{padding:0;width:32px;height:32px;display:inline-grid;place-items:center;font-size:14px;line-height:1;color:var(--muted);background:transparent;border-color:transparent}button.icon:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border)}button.icon.danger:hover{background:var(--danger-tint);color:var(--danger);border-color:transparent}input,textarea,select{width:100%;max-width:100%;min-width:0;font:inherit;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-1);background:var(--canvas-inset);color:var(--text);margin:4px 0 10px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}input[type=datetime-local],input[type=date],input[type=time],input[type=number]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}textarea{resize:vertical;min-height:64px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px;cursor:pointer}.row select,.row input,.row button{width:auto}.row input[type=text],.row input:not([type]){flex:1;width:auto}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;padding:0;flex:none;cursor:pointer;display:inline-grid;place-content:center;border:1px solid var(--border);border-radius:5px;background:var(--canvas-inset);transition:background var(--t-fast),border-color var(--t-fast)}input[type=checkbox]:before{content:"";width:11px;height:11px;transform:scale(0);transition:transform var(--t-fast);background:var(--on-accent);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--ring)}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}label.field{display:block;color:var(--muted);font-size:12px;margin-top:6px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:650;letter-spacing:.4px;text-transform:uppercase;padding:3px 9px;border-radius:var(--pill);border:1px solid var(--border);color:var(--muted);background:var(--surface)}.badge.role-owner{color:var(--on-accent);background:var(--accent);border-color:transparent}.badge.role-editor{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}.badge.role-viewer{color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 12px;border-radius:var(--pill);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--t-fast)}.chip:hover{border-color:var(--faint);color:var(--text)}.chip.active{background:var(--accent-tint);border-color:var(--accent);color:var(--text)}.chip.static{cursor:default}.chip.static:hover{border-color:var(--border);color:var(--muted)}.meta{color:var(--muted);font-size:12.5px}.meta .dot{color:var(--faint);margin:0 5px}.done{text-decoration:line-through;color:var(--faint)}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--r-2);padding:22px 16px;margin-bottom:10px;font-size:14px}.empty .emoji{font-size:22px;display:block;margin-bottom:6px}.notice{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-1);padding:10px 12px;background:var(--surface)}.notice.error{border-left-color:var(--danger)}.notice strong{display:block;margin-bottom:2px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-3px;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.terminal{display:inline-flex;align-items:baseline;gap:2px;margin-top:6px;font-family:var(--mono);font-size:15px;letter-spacing:.5px;color:var(--accent);text-shadow:0 0 8px var(--accent-ring)}.term-caret{width:.6ch;animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}.help{color:var(--muted);font-size:12.5px;line-height:1.45;margin:6px 2px 0}.field-row{margin-top:12px}.field-row:first-child{margin-top:0}.linkbox{font-family:var(--mono);font-size:12px;color:var(--muted);background:var(--canvas-inset);border:1px solid var(--border);border-radius:var(--r-1);padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card.danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:transparent}button.danger:hover{background:var(--danger-tint);border-color:var(--danger);color:var(--danger)}.progress{display:flex;align-items:center;gap:8px;margin:6px 0 2px}.progress-cap{font-size:11px;font-weight:650;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);flex:none}.progress-track{flex:1 1 auto;min-width:0;height:8px;border-radius:var(--pill);background:var(--surface-hover);overflow:hidden}.progress-fill{height:100%;border-radius:var(--pill);transition:width .24s ease}.progress-label{flex:none;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.progress.overall{margin:0}.progress.overall .progress-track{height:10px}.progress.overall .progress-label{color:var(--text);font-weight:600}
