:root{--paper: #d8d4cc;--window-bg: #ffffff;--window-edge: #000000;--title-on: #000000;--title-off: #888888;--title-text: #ffffff;--line: #000000;--line-soft: #b8b4ac;--fg: #111111;--fg-mute: #555555;--fg-faint: #999999;--shadow-hard: 3px 3px 0 #000;--accent: #0066cc;--accent-soft: #cce0ff;--p0: #c0392b;--p1: #d4720d;--p2: #555555;--p3: #999999;--font: "Geneva", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:var(--paper);background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.04) 0 1px,transparent 1px 2px),repeating-linear-gradient(90deg,rgba(0,0,0,.04) 0 1px,transparent 1px 2px);color:var(--fg);font-family:var(--font);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}.menubar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #000;display:flex;align-items:center;padding:4px 10px;gap:18px;height:22px;font-size:12.5px;box-shadow:0 1px #fff inset}.menubar .brand-logo{display:inline-flex;align-items:center;gap:6px;font-weight:700}.menubar .brand-logo .apple{width:12px;height:14px}.menubar .brand-img{width:16px;height:16px;border-radius:3px;display:block}.window-titlebar .title .title-img{width:14px;height:14px;vertical-align:-3px;margin-right:5px;border-radius:3px}.menubar .menu-item{color:#000;cursor:default;padding:0 2px}.menubar .spacer{flex:1}.menubar .who{color:#555;font-size:11.5px}.menubar .logout-btn{background:transparent;border:0;cursor:pointer;color:#000;font-size:12.5px;padding:0}.menubar .logout-btn:hover{text-decoration:underline}.window{max-width:980px;margin:26px auto;background:var(--window-bg);border:1px solid var(--window-edge);box-shadow:var(--shadow-hard)}.window-titlebar{display:flex;align-items:center;height:22px;padding:0 8px;background:repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 2px);border-bottom:1px solid #000;position:relative}.window-titlebar:before{content:"";position:absolute;top:3px;right:0;bottom:3px;left:0;background:#fff;pointer-events:none;z-index:0}.window-titlebar .close-box,.window-titlebar .zoom-box{width:11px;height:11px;border:1px solid #000;background:#fff;position:relative;z-index:1}.window-titlebar .zoom-box{margin-left:auto}.window-titlebar .title{position:relative;z-index:1;flex:1;text-align:center;font-weight:700;font-size:12.5px;background:#fff;padding:0 12px}.window-body{padding:16px 18px 22px}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 0 12px;border-bottom:1px solid var(--line-soft);margin-bottom:14px;flex-wrap:wrap}.toolbar select,.toolbar input[type=text]{border:1px solid #000;background:#fff;padding:3px 6px;font-size:12.5px;border-radius:0;height:22px;box-shadow:1px 1px #000}.toolbar select:focus,.toolbar input:focus{outline:1px dotted #000;outline-offset:-2px}.toolbar .spacer{flex:1}.toolbar .count{color:var(--fg-mute);font-size:12px}.toolbar label{font-size:12px;color:var(--fg-mute);margin-right:4px}.btn{display:inline-flex;align-items:center;gap:5px;background:#fff;color:#000;border:1px solid #000;padding:3px 12px;font-size:12.5px;font-weight:700;border-radius:0;cursor:pointer;box-shadow:1px 1px #000}.btn:hover{background:#eee}.btn:active{transform:translate(1px,1px);box-shadow:none}.btn.primary{background:#000;color:#fff}.btn.primary:hover{background:#333}.btn.danger{color:#c0392b}.new-form{background:#f6f4ee;border:1px solid #000;padding:12px 14px;margin-bottom:18px;box-shadow:2px 2px #000}.new-form .row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.new-form .row:last-child{margin-bottom:0}.new-form input[type=text],.new-form textarea,.new-form select{border:1px solid #000;background:#fff;padding:4px 7px;font:inherit;font-size:13px;border-radius:0;box-shadow:inset 1px 1px #ddd}.new-form input[name=title]{flex:1;min-width:240px}.new-form textarea{width:100%;resize:vertical;min-height:64px;font-family:var(--font-mono);font-size:12px}.new-form label{font-size:12px;color:var(--fg-mute)}.items{display:flex;flex-direction:column;gap:0}.item{border:1px solid var(--line-soft);border-bottom:0;background:#fff;padding:10px 12px;display:grid;grid-template-columns:44px 56px 1fr 110px 90px 24px;gap:10px;align-items:center;font-size:13px}.item:last-child{border-bottom:1px solid var(--line-soft)}.item:hover{background:#f6f4ee}.item.done{opacity:.55}.item.done .title-cell{text-decoration:line-through}.item.dropped{opacity:.35}.item.dropped .title-cell{text-decoration:line-through}.item .id-cell{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-mute)}.item .priority-cell{font-family:var(--font-mono);font-size:11.5px;text-align:center;font-weight:700;letter-spacing:.04em;padding:2px 0;border:1px solid #000;background:#fff}.item .priority-cell.P0{background:var(--p0);color:#fff}.item .priority-cell.P1{background:var(--p1);color:#fff}.item .priority-cell.P2{background:#fff;color:#000}.item .priority-cell.P3{background:#f0eee6;color:var(--fg-faint)}.item .title-cell{font-weight:600;color:#000;cursor:pointer}.item .title-cell .tag{display:inline-block;font-size:10.5px;font-weight:500;padding:1px 6px;margin-right:6px;background:#f0eee6;border:1px solid var(--line-soft);color:var(--fg-mute);vertical-align:1px}.item .status-cell{font-family:var(--font-mono);font-size:11px;text-align:center;text-transform:uppercase;letter-spacing:.06em}.item .status-cell.open{color:#000}.item .status-cell.in_progress{color:var(--accent);font-weight:700}.item .status-cell.done{color:#2e7d32}.item .status-cell.dropped{color:var(--fg-faint)}.item .date-cell{font-family:var(--font-mono);font-size:11px;color:var(--fg-mute);text-align:right}.item .menu-btn{background:transparent;border:0;cursor:pointer;color:var(--fg-mute);padding:0}.item .menu-btn:hover{color:#000}.detail-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:60px 20px;overflow-y:auto}.detail{background:#fff;border:1px solid #000;box-shadow:4px 4px #000;max-width:640px;width:100%}.detail .window-titlebar .title{background:#fff}.detail-body{padding:16px 18px 18px}.detail-body h2{margin:0 0 4px;font-size:16px}.detail-body .meta{color:var(--fg-mute);font-size:11.5px;margin-bottom:14px}.detail-body .meta .tag{background:#f0eee6;border:1px solid var(--line-soft);padding:1px 6px;margin-right:6px}.detail-body .field{margin-bottom:12px}.detail-body .field-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-mute);margin-bottom:4px}.detail-body .field-content{font-size:13px;white-space:pre-wrap;word-break:break-word}.detail-body select,.detail-body input[type=text],.detail-body textarea{border:1px solid #000;background:#fff;padding:4px 7px;font:inherit;font-size:13px;width:100%;border-radius:0;box-shadow:inset 1px 1px #ddd}.detail-body textarea{font-family:var(--font-mono);font-size:12px;min-height:100px;resize:vertical}.detail-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--line-soft);margin-top:14px}.detail-actions .spacer{flex:1}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-window{width:360px;background:#fff;border:1px solid #000;box-shadow:5px 5px #000}.login-window .window-titlebar .title{background:#fff}.login-body{padding:28px 32px 26px}.login-body h1{margin:0 0 6px;font-size:18px;font-weight:700}.login-body .sub{color:var(--fg-mute);font-size:12px;margin-bottom:22px}.login-body label{display:block;font-size:11.5px;color:var(--fg-mute);margin-bottom:4px;margin-top:12px;text-transform:uppercase;letter-spacing:.05em}.login-body input{width:100%;border:1px solid #000;background:#fff;padding:5px 8px;font:inherit;font-size:13px;border-radius:0;box-shadow:inset 1px 1px #ddd}.login-body .actions{display:flex;align-items:center;gap:10px;margin-top:18px}.login-body .error{color:var(--p0);font-size:12px}.ic{display:inline-block;vertical-align:-3px;color:currentColor}.empty{text-align:center;color:var(--fg-faint);padding:48px 16px;border:1px dashed var(--line-soft);font-size:12.5px}.muted{color:var(--fg-mute);font-size:12px}@media (max-width: 720px){body{font-size:14px}.menubar{padding:4px 8px;gap:10px;height:auto;min-height:28px;flex-wrap:nowrap}.menubar .menu-item{display:none}.menubar .brand-logo{font-size:13px}.menubar .who{display:none}.window{margin:8px 6px}.window-titlebar .title{font-size:12px;padding:0 6px}.window-body{padding:10px 10px 16px}.new-form{padding:10px 12px}.new-form .row{flex-direction:column;align-items:stretch;gap:6px}.new-form .row>*{width:100%}.new-form .row>.muted{width:auto;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.new-form input[name=title]{font-size:16px;min-width:0}.new-form select{font-size:16px;height:36px;padding:4px 8px}.new-form textarea{font-size:14px;min-height:80px}.new-form .btn{width:100%;justify-content:center;padding:8px 14px;font-size:14px}.new-form .row>div[style*="flex:1"]{display:none}.toolbar{gap:6px;padding:6px 0 10px;align-items:stretch}.toolbar>*{font-size:12.5px}.toolbar select{flex:1;height:32px;font-size:14px}.toolbar label{font-size:11px;align-self:center}.toolbar .spacer{display:none}.toolbar .count{width:100%;text-align:right;padding-top:2px}.item{grid-template-columns:44px 50px 1fr 24px;grid-template-areas:"id  pri  title    menu" "id  pri  meta     menu";row-gap:2px;padding:10px}.item .id-cell{grid-area:id;align-self:center}.item .priority-cell{grid-area:pri;align-self:center}.item .title-cell{grid-area:title;line-height:1.35}.item .status-cell{grid-area:meta;text-align:left;font-size:10.5px;padding-top:2px}.item .date-cell{grid-area:meta;text-align:right;font-size:10.5px;padding-top:2px;align-self:end;color:var(--fg-mute);justify-self:end}.item .menu-btn{grid-area:menu;align-self:center;padding:6px}.detail-mask{padding:0;align-items:stretch;background:#0006}.detail{max-width:100%;width:100%;height:100%;overflow-y:auto;box-shadow:none}.detail-body{padding:14px 14px 80px}.detail-body h2{font-size:17px}.detail-body textarea{min-height:120px;font-size:14px}.detail-body input[type=text],.detail-body select{font-size:16px;height:36px}.detail-body .field[style*=flex]{flex-direction:column;gap:10px!important}.detail-body .field[style*=flex]>div{flex:1!important}.detail-actions{position:sticky;bottom:0;background:#fff;margin:14px -14px 0;padding:12px 14px 14px;border-top:1px solid var(--line);flex-wrap:wrap}.detail-actions .btn{flex:1;min-width:80px;justify-content:center;font-size:13px;padding:8px 10px}.detail-actions .spacer{display:none}.login-window{width:100%;box-shadow:3px 3px #000}.login-body{padding:24px 22px}.login-body input{font-size:16px;padding:7px 10px}.login-body .btn{padding:8px 18px;font-size:14px}.btn{min-height:36px}.menubar .logout-btn{font-size:13px;padding:4px 6px}}@media (max-width: 420px){.item{grid-template-columns:40px 44px 1fr 22px;padding:8px}.item .id-cell{font-size:10.5px}.item .title-cell{font-size:13px}.item .title-cell .tag{font-size:10px;padding:0 4px}.window-titlebar .title{font-size:11.5px}.window-titlebar .title .title-img{width:12px;height:12px}.new-form{padding:8px 10px}}
