@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600;700&family=IBM+Plex+Sans:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue:#1a6aff;--pink:#e8406a;--yellow:#f0c000;--purple:#7a5fa8;--bg:#f8f8f8;--surface:#fff;--border:#e8e8e8;--border-light:#f5f5f5;--text:#1a1a1a;--muted:#777;--mono:"IBM Plex Mono", monospace;--sans:"IBM Plex Sans", sans-serif}body{font-family:var(--mono);background:var(--bg);color:var(--text);padding:1.5rem}.header{border-bottom:2.5px solid var(--blue);justify-content:space-between;align-items:baseline;margin-bottom:12px;padding-bottom:10px;display:flex}.header-name{letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-size:14px;font-weight:600}.header-date{color:#888;letter-spacing:.06em;font-size:9px}.grid{grid-template-columns:150px 1fr 1fr;gap:6px;display:grid}.panel{background:var(--surface);border:.5px solid var(--border);padding:10px 12px}.panel-now{background:var(--blue);border-color:var(--blue);grid-row:span 2}.panel-pri{border-color:#f0c0d0;border-top:2.5px solid var(--pink);background:#fff0f5;grid-column:span 2}.panel-proj{border-top:2.5px solid var(--blue)}.panel-lang{border-top:2.5px solid var(--pink)}.panel-meals{border-color:#f0e0a0;border-top:2.5px solid var(--yellow);background:#fffbee;grid-column:span 3}.panel-books{border-top:2.5px solid var(--yellow);grid-column:span 2}.panel-films{border-top:2.5px solid var(--blue)}.panel-videos{border-top:2.5px solid var(--blue);grid-column:span 3}.panel-scroll{max-height:175px;overflow-y:auto}.panel-now-scroll{max-height:260px}.panel-title{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:.5px solid var(--border-light);align-items:center;gap:6px;margin-bottom:8px;padding-bottom:6px;font-size:8px;display:flex}.panel-now .panel-title{color:#ffffff80;border-bottom-color:#ffffff1f}.panel-pri .panel-title{color:var(--pink);border-bottom-color:#f8d8e4}.panel-meals .panel-title{color:#c09000;border-bottom-color:#f5e8b0}.panel-title .ai{text-transform:none;letter-spacing:.02em;color:var(--pink);opacity:.7;margin-left:auto;font-size:7px}.panel-link{text-transform:none;letter-spacing:.02em;color:var(--muted);margin-left:auto;font-size:7px;text-decoration:none}.panel-link:hover{color:var(--text)}.panel-meals .panel-title .ai{color:#c09000}.dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-blue{background:var(--blue)}.dot-pink{background:var(--pink)}.dot-yellow{background:var(--yellow)}.dot-white{background:#fff9}.row{border-bottom:.5px solid var(--border-light);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.row:last-child{border-bottom:none}.row-main{flex:1;min-width:0}.row-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:8px}.panel-now .row-label{color:#fff6}.panel-now .row{border-bottom-color:#ffffff1a}.row-val{color:var(--text);font-size:12px}.panel-now .row-val{color:#fff;font-size:13px}.row-sub{color:var(--muted);margin-top:1px;font-size:10px}.panel-now .row-sub{color:#ffffff73}.tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:.5px solid;flex-shrink:0;padding:1px 5px;font-size:7px}.tag-active{color:#1a8a3a}.tag-urgent{color:#e83020}.tag-planning,.tag-next{color:var(--blue)}.tag-reading{color:#1a8a3a}.tag-done,.tag-queued,.tag-slow{color:var(--muted)}.pri-row{border-bottom:.5px solid #fae8f0;align-items:center;gap:8px;padding:5px 0;display:flex}.pri-row:last-child{border-bottom:none}.pri-val{color:var(--text);flex:1;font-size:12px}.pri-scope{color:#d08098;white-space:nowrap;font-size:9px}.pri-done .pri-val{color:var(--muted);cursor:default;text-decoration:line-through}.pri-done .pri-val:hover{color:var(--muted)}.pri-done .pri-scope{color:#e0b0c0;text-decoration:line-through}.pri-override{font-family:var(--mono);color:#d08098;cursor:pointer;appearance:none;background:0 0;border:.5px solid #e8c0d0;border-radius:2px;flex-shrink:0;padding:1px 3px;font-size:8px}.pri-override:focus{border-color:var(--pink);outline:none}.pri-input{font-family:var(--mono);color:inherit;border:none;border-bottom:1px solid var(--pink);background:0 0;outline:none;padding:0;display:inline-block}.pri-input.pri-val{width:100%;font-size:12px}.pri-input.pri-scope{font-size:9px}.pri-check{appearance:none;border:1px solid var(--pink);cursor:pointer;border-radius:2px;flex-shrink:0;width:11px;height:11px;margin-top:1px;position:relative}.pri-check:checked{background:var(--pink);border-color:var(--pink)}.pri-check:checked:after{content:"";border:1.5px solid #fff;border-top:none;border-left:none;width:4px;height:7px;position:absolute;top:0;left:2px;transform:rotate(45deg)scaleY(.85)}.lang-bar-wrap{flex:1;margin:0 10px}.lang-bar-track{background:#eee;border-radius:1px;height:2px}.lang-bar-fill{background:var(--blue);border-radius:1px;height:2px}.meal-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.meal-dow{text-transform:uppercase;letter-spacing:.1em;color:#c09000;margin-bottom:4px;font-size:7px}.meal-today .meal-dow,.meal-today .meal-name{color:var(--blue);font-weight:600}.meal-prep{color:#c8a840;margin-bottom:3px;font-size:9px;font-style:italic;line-height:1.3}.meal-name{color:var(--text);font-size:11px;line-height:1.3}.stars{color:var(--yellow);letter-spacing:.05em;font-size:9px}.muted{color:var(--muted)}.books-page{max-width:1100px;margin:0 auto;padding:1.5rem}.books-header{border-bottom:2.5px solid var(--blue);align-items:center;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.back-link{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:9px;text-decoration:none}.back-link:hover{color:var(--blue)}.books-title{letter-spacing:.08em;text-transform:uppercase;color:var(--blue);flex:1;font-size:13px;font-weight:600}.btn-primary{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;background:var(--blue);color:#fff;cursor:pointer;border:none;padding:5px 10px;font-size:8px}.btn-primary:hover{background:#0050dd}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border:.5px solid var(--border);cursor:pointer;background:0 0;padding:5px 10px;font-size:8px}.btn-secondary:hover{color:var(--text);border-color:#ccc}.books-search{font-family:var(--mono);border:.5px solid var(--border);width:100%;color:var(--text);background:#fff;outline:none;margin-bottom:12px;padding:6px 10px;font-size:11px}.books-search:focus{border-color:var(--blue)}.books-filters{margin-bottom:16px}.status-picker{display:inline-block;position:relative}.status-picker-btn{cursor:pointer;font-family:var(--mono);background:0 0;border-radius:0}.tag-none{color:var(--muted);border-color:var(--border)}.status-picker-menu{border:.5px solid var(--border);z-index:20;background:#fff;flex-direction:column;gap:4px;min-width:90px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #00000014}.status-picker-item{cursor:pointer;white-space:nowrap;opacity:.7}.status-picker-item:hover{opacity:1}.status-picker-active{opacity:1;font-weight:600}.status-tabs{gap:2px;margin-bottom:8px;display:flex}.status-tab{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:.5px solid var(--border);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:4px 10px;font-size:8px;display:flex}.status-tab:hover{color:var(--text)}.status-tab-active{background:var(--blue);color:#fff;border-color:var(--blue)}.status-tab-active:hover{color:#fff}.tab-count{opacity:.7}.tag-filters{flex-wrap:wrap;gap:4px;display:flex}.tag-filter-btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border:.5px solid var(--border);cursor:pointer;background:0 0;padding:2px 7px;font-size:7px}.tag-filter-btn:hover{color:var(--text)}.tag-filter-active{color:var(--pink);border-color:var(--pink)}.books-table{border-collapse:collapse;width:100%;font-size:11px}.books-table th{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:left;border-bottom:.5px solid var(--border);padding:0 8px 6px 0;font-size:7px}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{color:var(--text)}.sort-indicator{opacity:.4;letter-spacing:0;font-style:normal}.book-row{border-bottom:.5px solid var(--border-light);cursor:pointer}.book-row:hover{background:#fafafa}.book-row td{vertical-align:middle;padding:6px 8px 6px 0}.book-title{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.book-title-fiction{color:#b03060}.book-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:.5px solid var(--border);padding:1px 4px;font-size:6px}.book-badge-audio{color:var(--blue);border-color:#a0beff}.book-author{color:#666;white-space:nowrap;font-size:11px}.book-year{color:var(--muted);white-space:nowrap;font-size:10px}.book-tags{flex-wrap:wrap;gap:3px;display:flex}.book-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--pink);border:.5px solid #f0c0d0;padding:1px 4px;font-size:7px}.row-delete{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px;line-height:1}.row-delete:hover{color:#e83020}.books-loading,.books-empty{color:var(--muted);text-align:center;padding:2rem 0;font-size:11px}.tag-reading{color:#1a8a3a;border-color:#a0d8b0}.tag-done{color:var(--muted);border-color:var(--border)}.tag-planned{color:var(--blue);border-color:#b0c8ff}.tag-watched{color:#1a8a3a;border-color:#a0d8b0}.tag-paused{color:#c09000;border-color:#f0d880}.tag-abandoned{color:#e83020;border-color:#f0a090}.modal-backdrop{z-index:100;background:#0000004d;justify-content:center;align-items:flex-start;padding:3vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border:.5px solid var(--border);background:#fff;width:100%;max-width:580px;max-height:92vh;overflow-y:auto}.modal-header{border-bottom:.5px solid var(--border);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);justify-content:space-between;align-items:center;padding:12px 16px;font-size:9px;display:flex}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.modal-close:hover{color:var(--text)}.book-form{flex-direction:column;gap:12px;padding:16px;display:flex}.form-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row{flex-direction:column;gap:4px;display:flex}.form-row label,.form-label-row label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:7px}.form-label-row{justify-content:space-between;align-items:center;display:flex}.form-input{font-family:var(--mono);color:var(--text);border:.5px solid var(--border);background:0 0;outline:none;width:100%;padding:5px 8px;font-size:11px}.form-input:focus{border-color:var(--blue)}textarea.form-input{resize:vertical}select.form-input{cursor:pointer}.form-hint{color:var(--muted);margin-top:2px;font-size:9px}.form-checkboxes{flex-direction:row;gap:16px}.check-label{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:10px;display:flex}.autotag-btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--pink);border:.5px solid var(--pink);cursor:pointer;background:0 0;padding:2px 8px;font-size:7px}.autotag-btn:hover{background:#fff0f5}.autotag-btn:disabled{opacity:.5;cursor:default}.tag-checkboxes{flex-wrap:wrap;gap:6px;display:flex}.tag-check{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;border:.5px solid var(--border);color:var(--muted);cursor:pointer;align-items:center;gap:4px;padding:2px 8px;font-size:7px;display:flex}.tag-check input{display:none}.tag-check:hover{color:var(--text);border-color:#ccc}.tag-check-on{border-color:var(--pink);color:var(--pink);background:#fff5f8}.ol-search-section{background:#f0f4ff;border:.5px solid #c8d8ff;margin-bottom:12px;padding:10px 12px}.ol-search-label{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin-bottom:6px;font-size:7px}.ol-search-row{gap:6px;display:flex}.ol-search-row .form-input{flex:1}.ol-results{border:.5px solid var(--border);z-index:10;background:#fff;border-top:none;max-height:220px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.ol-result{cursor:pointer;border-bottom:.5px solid var(--border-light);flex-direction:column;gap:2px;padding:7px 10px;display:flex}.ol-result:hover{background:#f8f8f8}.ol-title{font-family:var(--sans);font-size:12px}.ol-meta{color:var(--muted);font-size:9px}.form-actions{border-top:.5px solid var(--border-light);justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.form-meta{color:var(--muted);gap:16px;font-size:9px;display:flex}.form-actions-btns{gap:8px;display:flex}.tag-filters-row{align-items:flex-start;gap:12px;display:flex}.tag-manager-toggle{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border:.5px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:2px 7px;font-size:7px}.tag-manager-toggle:hover{color:var(--text)}.tag-manager-toggle-active{color:var(--blue);border-color:var(--blue)}.tag-manager{background:#f0f4ff;border:.5px solid #c8d8ff;margin-bottom:16px;padding:12px}.tag-manager-add{gap:8px;margin-bottom:10px;display:flex}.tag-manager-add .form-input{max-width:220px}.tag-manager-list{flex-direction:column;gap:5px;display:flex}.tag-manager-row{align-items:center;gap:8px;display:flex}.tag-manager-name{cursor:pointer}.tag-manager-name:hover{color:var(--text);border-color:var(--text)}.tag-count-badge{color:var(--muted);font-size:8px}.tag-edit-input{width:160px}.video-scroll{max-height:260px;overflow-y:auto}.video-grid{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.video-item{border-bottom:.5px solid var(--border-light);align-items:flex-start;gap:8px;padding:6px 12px 6px 0;display:flex}.video-item:last-child{border-bottom:none}.video-thumb{object-fit:cover;background:#f0f0f0;flex-shrink:0;width:80px;height:45px}.video-info{flex:1;min-width:0}.video-title{font-family:var(--sans);color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.35;text-decoration:none;display:-webkit-box;overflow:hidden}.video-title:hover{color:var(--blue)}.video-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:9px;overflow:hidden}.videos-empty{color:var(--muted);padding:1rem 0;font-size:11px}
