:root{color-scheme:dark;--bg: #0b0d12;--bg-elev: #141822;--bg-elev-2: #1c2230;--fg: #e6e9ef;--fg-muted: #8b93a7;--border: #232a3a;--accent: #c084fc;--accent-warm: #fb7185;--cat-github: #c4b5fd;--cat-cloudflare: #f97316;--cat-claude: #d4a574;--cat-apple: #6ee7b7;--cat-personal: #60a5fa;--cat-kuro: #f9a8d4;--cat-meta: #94a3b8;--radius: 12px;--radius-sm: 6px;--shadow: 0 1px 3px rgba(0, 0, 0, .3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Yu Gothic,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;gap:24px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg-elev);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--fg);text-decoration:none}.brand-text{background:linear-gradient(120deg,var(--accent),var(--cat-personal));-webkit-background-clip:text;background-clip:text;color:transparent}.app-nav{display:flex;gap:12px}.app-nav a{color:var(--fg-muted);text-decoration:none;padding:4px 8px;border-radius:var(--radius-sm)}.app-nav a.active,.app-nav a:hover{color:var(--fg);background:var(--bg-elev-2)}.user-area{margin-left:auto}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;background:var(--bg-elev-2);border-radius:999px;color:var(--fg);font-size:13px}.user-chip img{width:24px;height:24px;border-radius:50%}.signin-btn,.signin-btn-large{display:inline-block;padding:8px 16px;background:var(--accent);color:#0b0d12;font-weight:600;border-radius:var(--radius-sm);text-decoration:none}.signin-btn-large{padding:12px 24px;font-size:16px;border-radius:var(--radius)}.app-main{flex:1;padding:24px}.signin-prompt{max-width:420px;margin:80px auto;text-align:center}.signin-prompt h2{font-size:28px;margin-bottom:8px}.signin-prompt p{color:var(--fg-muted);margin-bottom:24px}.loading{text-align:center;padding:60px;color:var(--fg-muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:16px}@media(max-width:1280px){.dashboard-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:960px){.dashboard-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:640px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:140px;position:relative;overflow:hidden}.tile:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--tile-accent, var(--accent));opacity:.6}.tile[data-category=github]{--tile-accent: var(--cat-github)}.tile[data-category=cloudflare]{--tile-accent: var(--cat-cloudflare)}.tile[data-category=claude]{--tile-accent: var(--cat-claude)}.tile[data-category=apple]{--tile-accent: var(--cat-apple)}.tile[data-category=personal]{--tile-accent: var(--cat-personal)}.tile[data-category=kuro]{--tile-accent: var(--cat-kuro)}.tile[data-category=meta]{--tile-accent: var(--cat-meta)}.tile--cols-1{grid-column:span 1}.tile--cols-2{grid-column:span 2}.tile--cols-3{grid-column:span 3}.tile--cols-4{grid-column:span 4}.tile--rows-1{grid-row:span 1}.tile--rows-2{grid-row:span 2}.tile--rows-3{grid-row:span 3}@media(max-width:640px){.tile--cols-2,.tile--cols-3,.tile--cols-4{grid-column:span 2}}.tile-header h3{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted)}.tile-body{flex:1;min-height:0;overflow:auto}.muted{color:var(--fg-muted)}.small{font-size:12px}.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--fg-muted);font-size:12px;height:100%}.placeholder-icon{font-size:24px}.metric-stack{display:flex;flex-direction:column;gap:10px}.metric-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.metric-label{color:var(--fg-muted)}.metric-value{font-variant-numeric:tabular-nums}.metric-bar{height:4px;background:var(--bg-elev-2);border-radius:2px;overflow:hidden}.metric-bar-fill{height:100%;background:var(--cat-personal);transition:width .3s ease}.metric-bar-fill[data-warn=true]{background:var(--accent-warm)}.weather{display:flex;align-items:center;gap:16px}.weather-main{display:flex;align-items:center;gap:8px}.weather-emoji{font-size:40px}.weather-temp{font-size:32px;font-weight:600;font-variant-numeric:tabular-nums}.weather-detail{font-size:13px;display:flex;flex-direction:column;gap:2px}.todo{display:flex;flex-direction:column;gap:12px;height:100%}.todo-form{display:flex;gap:6px}.todo-form input{flex:1;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;color:var(--fg);font-size:13px}.todo-form button{background:var(--accent);color:#0b0d12;border:none;border-radius:var(--radius-sm);padding:0 12px;font-weight:600;cursor:pointer}.todo-form button:disabled{opacity:.5;cursor:not-allowed}.todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;overflow:auto}.todo-list li{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.todo-list li[data-done=true] span{text-decoration:line-through;color:var(--fg-muted)}.todo-list label{flex:1;display:flex;align-items:center;gap:8px;cursor:pointer}.todo-remove{background:transparent;border:none;color:var(--fg-muted);font-size:16px;cursor:pointer;padding:0 4px}.todo-remove:hover{color:var(--accent-warm)}.memo{display:flex;flex-direction:column;gap:12px;height:100%}.memo-form{display:flex;flex-direction:column;gap:6px}.memo-form textarea{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;color:var(--fg);font-size:13px;font-family:inherit;resize:vertical}.memo-form button{align-self:flex-end;background:var(--accent);color:#0b0d12;border:none;border-radius:var(--radius-sm);padding:4px 12px;font-weight:600;cursor:pointer;font-size:12px}.memo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;overflow:auto}.memo-list li{background:var(--bg-elev-2);border-radius:var(--radius-sm);padding:8px 10px}.memo-body{white-space:pre-wrap;font-size:13px}.memo-meta{margin-top:4px}.hr-stat,.steps-stat,.sleep-stat,.workout-stat{display:flex;flex-direction:column;gap:8px;height:100%}.hr-main,.steps-main,.sleep-main,.workout-main{display:flex;align-items:baseline;gap:8px}.hr-emoji,.steps-emoji,.sleep-emoji,.workout-emoji{font-size:28px;line-height:1}.hr-bpm,.steps-count,.sleep-time{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums}.hr-unit,.steps-unit{font-size:14px;color:var(--fg-muted)}.sparkline{color:var(--cat-personal);margin-top:auto}.steps-hourly{display:flex;align-items:flex-end;gap:1px;height:32px;margin-top:auto}.steps-bar{flex:1;background:var(--cat-personal);border-radius:1px 1px 0 0;min-height:2px;opacity:.7;transition:opacity .2s}.steps-bar:hover{opacity:1}.sleep-segments{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--bg-elev-2)}.seg-deep{background:#4338ca}.seg-core{background:#60a5fa}.seg-rem{background:#f9a8d4}.workout-main{align-items:center}.workout-info{display:flex;flex-direction:column}.workout-name{font-size:16px;font-weight:600}.workout-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:auto}.workout-stat-cell{background:var(--bg-elev-2);padding:6px 8px;border-radius:var(--radius-sm)}.workout-stat-value{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.deploys{display:flex;flex-direction:column;gap:4px;height:100%;justify-content:center}.deploys-latest{display:flex;align-items:center;gap:8px}.deploys-sha{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg-elev-2);padding:2px 6px;border-radius:var(--radius-sm);font-size:13px}.gh-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;overflow:auto}.gh-list.small li{font-size:12px}.gh-list li a{display:flex;flex-direction:column;gap:2px;color:var(--fg);text-decoration:none;padding:4px 6px;border-radius:var(--radius-sm);transition:background .15s}.gh-list li a:hover{background:var(--bg-elev-2)}.gh-list li[data-action-status=failure] a{border-left:2px solid var(--accent-warm)}.gh-list li[data-action-status=success] a{border-left:2px solid #6ee7b7}.gh-repo{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.gh-title{font-size:13px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gh-stats{display:flex;flex-direction:column;gap:8px;height:100%}.gh-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gh-stat-cell{background:var(--bg-elev-2);padding:4px 8px;border-radius:var(--radius-sm)}.gh-stat-value{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.gh-commit-count{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.gh-commit-emoji{font-size:24px}.gh-commit-num{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums}.cf-stat{display:flex;flex-direction:column;gap:4px;height:100%}.cf-big{font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.kuro-greeting{display:flex;flex-direction:column;gap:6px;height:100%;justify-content:center}.kuro-emoji{font-size:24px}.kuro-message{font-size:14px;line-height:1.5;color:var(--fg)}.kuro-prediction{display:flex;flex-direction:column;gap:4px}.kuro-prediction-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--bg-elev-2);padding:6px 8px;border-radius:var(--radius-sm);color:var(--fg)}
