@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:400 800; font-display:swap; src:url(../fonts/JetBrainsMono.woff2) format('woff2'); }
/* Daily page (52px topbar, 44px footer) */
.daily-page { padding:0 !important; }
.daily-layout { display:flex; flex:1; min-height:0; gap:var(--sp-xl); padding:var(--sp-xl); }
/* Left column */
.daily-left { display:flex; flex-direction:column; flex:1; min-width:0; gap:8px; }
/* Bar */
.daily-bar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.daily-bar-spacer { flex:1; min-width:4px; }
.daily-record-btn { display:inline-flex; align-items:center; gap:6px; padding:6px 16px; border-radius:999px; border:1px solid var(--text-muted); background:transparent; color:var(--text-muted); font-size:.75rem; cursor:pointer; transition:all .15s; flex-shrink:0; text-transform:uppercase; font-family:'JetBrains Mono',monospace; font-weight:700; }
.daily-record-btn:hover { border-color:var(--text-primary); color:var(--text-primary); }
.daily-record-btn.is-recording { border-color:#ef4444; color:#ef4444; }
.daily-record-btn.is-recording .daily-record-dot { background:#ef4444; animation:pulse 1.2s ease-in-out infinite; }
.daily-record-btn.is-stopped { border-color:var(--text-primary); color:var(--text-primary); }
.daily-record-btn.is-stopped .daily-record-dot { background:var(--text-primary); animation:none; }
.daily-record-dot { width:8px; height:8px; border-radius:50%; background:var(--text-muted); flex-shrink:0; }
.daily-util-btn { display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:var(--radius-sm); border:1px solid var(--border-strong); background:transparent; color:var(--text-primary); font-size:.75rem; cursor:pointer; transition:all .15s; box-sizing:border-box; text-transform:uppercase; font-family:'JetBrains Mono',monospace; font-weight:700; }
.daily-util-btn:hover { border-color:var(--text-primary); }
.daily-util-btn i { width:12px; height:12px; }
.daily-util-btn:disabled { opacity:.3; pointer-events:none; }
.daily-de-btn { margin-left:18px; }
.daily-source-wrap { position:relative; flex-shrink:0; }
.daily-source-btn { display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:var(--radius-sm); border:1px solid var(--border-strong); background:transparent; color:var(--text-muted); font-size:.7rem; cursor:pointer; transition:all .15s; box-sizing:border-box; text-transform:uppercase; font-family:'JetBrains Mono',monospace; font-weight:700; white-space:nowrap; }
.daily-source-btn:hover { border-color:var(--text-primary); }
.daily-source-dropdown { display:none; position:absolute; top:100%; left:0; z-index:10; margin-top:4px; min-width:100%; background:var(--bg-page); border:1px solid var(--border-strong); border-radius:var(--radius-sm); overflow:hidden; white-space:nowrap; }
.daily-source-dropdown.is-open { display:block; }
.daily-source-dropdown button { display:block; width:100%; padding:5px 10px; text-align:left; font-size:.7rem; white-space:nowrap; border:none; border-radius:0; cursor:pointer; text-transform:uppercase; font-family:'JetBrains Mono',monospace; font-weight:700; color:var(--text-primary); background:transparent; }
.daily-source-dropdown button.is-active { background:var(--text-primary); color:var(--bg-page); }
.daily-source-dropdown button:hover { background:var(--bg-hover); }
.daily-source-dropdown button.is-active:hover { background:var(--text-primary); }
/* Textarea wrapper */
.daily-textarea-wrap { position:relative; flex:1; min-height:0; border:1px solid var(--border-subtle); overflow:hidden; }
.daily-textarea { position:absolute; left:0; top:0; width:100%; height:100%; background:transparent; border:none; outline:none; resize:none; color:var(--text-primary); font-family:'JetBrains Mono',monospace; font-size:13px; line-height:1.6; padding:20px; overflow-y:auto; }
.daily-textarea::placeholder { color:var(--text-muted); opacity:0.5; }
.daily-textarea::-webkit-scrollbar { width:4px; }
.daily-textarea::-webkit-scrollbar-track { background:transparent; }
.daily-textarea::-webkit-scrollbar-thumb { background:var(--border-strong); border-radius:99px; }
/* Status widget */
.daily-widget { display:flex; align-items:center; gap:6px; flex:0 0 auto; padding:6px 2px 2px; font-family:var(--font-sans); font-size:0.6875rem; line-height:1; }
.daily-widget-label { color:var(--text-muted); letter-spacing:1px; }
.daily-widget-value { color:var(--text-muted); }
.daily-widget-meta { color:var(--text-muted); margin-left:auto; }
.daily-version { color:var(--text-muted); margin-left:var(--sp-md); font-size:0.625rem; letter-spacing:0.06em; }
.widget-dot { margin-right:3px; }
/* Right column */
.daily-right { display:flex; flex-direction:column; flex:0 0 auto; width:254px; min-width:0; border-left:1px solid var(--border-subtle); padding-left:var(--sp-xl); }
/* Calendar */
.cal-wrap { display:flex; flex-direction:column; align-items:center; font-family:var(--font-sans); }
.cal-header { font-size:0.75rem; letter-spacing:0.12em; color:var(--text-primary); font-weight:500; display:flex; align-items:center; justify-content:space-between; width:100%; margin-bottom:0.75rem; }
.cal-nav { display:inline-flex; gap:0.75rem; align-items:center; user-select:none; }
.cal-nav span { transition:opacity 0.15s; cursor:pointer; opacity:0.5; }
.cal-nav span:hover { opacity:1; }
.cal-weekdays { width:100%; display:grid; grid-template-columns:repeat(7,1fr); justify-items:center; text-align:center; font-size:0.625rem; letter-spacing:0.1em; color:var(--text-muted); margin-bottom:0.5rem; }
.cal-days { width:100%; display:grid; grid-template-columns:repeat(7,1fr); justify-items:center; }
.cal-cell { width:32px; height:30px; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; border-radius:4px; font-size:0.75rem; color:var(--text-muted); position:relative; transition:background 0.1s; }
.cal-cell:hover { background:var(--bg-hover); }
.cal-cell-dim { color:var(--border-strong); cursor:default; }
.cal-cell-dim:hover { background:transparent; }
.cal-cell-today { color:var(--text-primary); font-weight:600; box-shadow:inset 0 0 0 1.5px var(--text-primary); border-radius:4px; }
.cal-cell-selected { background:var(--bg-hover); }
.cal-cell-selected .day-number { color:var(--text-primary) !important; font-weight:700 !important; }
.cal-dot { position:absolute; bottom:2px; width:4px; height:4px; background:var(--text-muted); border-radius:50%; }
.cal-cell-today .cal-dot { background:var(--text-primary); }
/* Divider */
.daily-right-divider { width:100%; height:1px; margin:20px 0; background:var(--border-subtle); flex-shrink:0; }
/* Brief section */
.daily-brief { display:flex; flex-direction:column; font-family:var(--font-sans); flex:1; min-height:0; }
.brief-header { font-size:0.625rem; letter-spacing:0.12em; color:var(--text-secondary); text-transform:uppercase; margin-bottom:4px; }
.brief-date { font-size:0.6875rem; color:var(--text-muted); margin-bottom:8px; }
.brief-body { font-size:0.75rem; line-height:1.5; color:var(--text-muted); white-space:pre-wrap; flex:1; overflow-y:auto; }
.brief-body::-webkit-scrollbar { width:4px; }
.brief-body::-webkit-scrollbar-track { background:transparent; }
.brief-body::-webkit-scrollbar-thumb { background:var(--border-strong); border-radius:99px; }
/* Mobile */
@media(max-width:768px){ .daily-layout { flex-direction:column; padding:var(--sp-md); gap:var(--sp-md); } .daily-right { width:100%; border-left:none; padding-left:0; } .daily-bar { flex-wrap:wrap; gap:6px; } .daily-bar-spacer { flex:1; min-width:4px; } .daily-textarea { font-size:.875rem; } }
@media(hover:none) and (max-width:768px){ .daily-right { display:none; } }
/* Pulse animation */
@keyframes pulse { 0%,100%{opacity:0.4} 50%{opacity:1} }
