:root{--ink: #0a0a0a;--surface: #141414;--surface-raised: #1a1a1a;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #f2f2f0;--text-dim: #9a9a96;--text-faint: #6b6b68;--accent: #ff6a52;--accent-dim: rgba(255, 106, 82, .14);--radius: 10px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--ink);color:var(--text);font-family:Plus Jakarta Sans,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.mono{font-family:JetBrains Mono,ui-monospace,monospace}#app{max-width:1600px;margin:0 auto;padding:48px 32px 96px}.page-header{margin-bottom:40px;display:flex;flex-direction:column;gap:6px}.page-header .eyebrow{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}.page-header h1{font-size:28px;font-weight:800;letter-spacing:-.01em;margin:0}.page-header .meta{color:var(--text-dim);font-size:14px;margin-top:4px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s ease,transform .15s ease}.card:hover{border-color:var(--border-strong)}.thumb{position:relative;aspect-ratio:9 / 16;background:#000;overflow:hidden;cursor:pointer}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.thumb:hover img,.thumb:hover video{transform:scale(1.04)}.thumb.pending{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1c1c1c,#0d0d0d)}.embed-player{width:100%;height:100%;border:0;display:block}.thumb.pending .pending-label{color:var(--text-faint);font-size:13px;font-family:JetBrains Mono,monospace;text-align:center;padding:0 16px}.play-badge{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;pointer-events:none}.play-badge svg{width:12px;height:12px;fill:#fff;margin-left:2px}.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}.card-title{font-size:14px;font-weight:700;line-height:1.4;margin:0}.hypothesis{font-size:12.5px;line-height:1.6;color:var(--text-dim);white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hypothesis.expanded{-webkit-line-clamp:unset}.hypothesis-toggle{background:none;border:none;color:var(--accent);font-size:11.5px;font-family:JetBrains Mono,monospace;cursor:pointer;padding:0;text-align:left;width:fit-content}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:8px;border-top:1px solid var(--border)}.stat{display:flex;flex-direction:column;gap:2px}.stat .value{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--text)}.stat .label{font-size:10px;color:var(--text-faint);letter-spacing:.03em}.post-date{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-faint)}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.tiktok-link{font-size:12px;color:var(--accent);text-decoration:none;font-weight:600}.tiktok-link:hover{text-decoration:underline}.status-pill{font-family:JetBrains Mono,monospace;font-size:10px;padding:3px 8px;border-radius:999px;background:var(--accent-dim);color:var(--accent)}.status-pill.muted{background:#ffffff0f;color:var(--text-faint)}.comments{border-top:1px solid var(--border);padding-top:10px}.comments summary{cursor:pointer;font-size:11.5px;color:var(--text-dim);font-family:JetBrains Mono,monospace}.comment{padding:8px 0;border-top:1px solid var(--border);font-size:12px;line-height:1.5}.comment .author{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:10.5px;margin-bottom:2px}.week-tabs{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.week-tab{font-family:JetBrains Mono,monospace;font-size:12px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer}.week-tab:hover{border-color:var(--border-strong);color:var(--text)}.week-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.weekly-summary{margin-bottom:28px}.memo-block{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.memo-label{font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--text-faint);letter-spacing:.02em}.memo-input{width:100%;min-height:64px;resize:vertical;background:#ffffff0a;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12.5px;line-height:1.5;padding:8px 10px;font-family:inherit}.memo-input:focus{outline:none;border-color:var(--accent)}.memo-input:disabled{opacity:.5}.memo-row{display:flex;align-items:center;gap:10px}.memo-save{font-family:JetBrains Mono,monospace;font-size:11px;padding:5px 12px;border-radius:6px;border:1px solid var(--border-strong);background:transparent;color:var(--text);cursor:pointer}.memo-save:hover{border-color:var(--accent);color:var(--accent)}.memo-save:disabled{opacity:.5;cursor:default}.memo-status{font-size:11px;color:var(--text-faint)}.weekly-summary .memo-block{border:1px solid var(--border);border-radius:12px;padding:16px;background:#ffffff05}.weekly-summary .memo-input{min-height:90px}
