.is-hidden{display:none!important}.bs-loading,.bs-denied{padding:80px 24px;text-align:center;color:rgb(var(--text-muted))}.bs-denied-title{font-family:Fraunces,"Noto Serif SC",serif;font-size:28px;margin:0 0 8px;color:rgb(var(--text))}.bs-link{color:rgb(var(--primary));border-bottom:1px solid rgb(var(--primary) / .4)}.bs-shell{position:fixed;inset:0;display:flex;flex-direction:column;background:rgb(var(--bg));color:rgb(var(--text))}.bs-topbar{padding:18px 28px 14px;border-bottom:1px solid rgb(var(--border-faint));background-color:rgb(var(--bg));position:relative;z-index:20}.topbar-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.title-tool-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer}.topbar-title{font-family:Fraunces,"Noto Serif SC",serif;font-size:28px;line-height:1.15;margin:0;color:rgb(var(--text))}.topbar-sub{margin:4px 0 0;font-family:Fraunces,"Noto Serif SC",serif;font-style:italic;font-size:13px;color:rgb(var(--text-muted))}.topbar-sub em{font-style:normal;color:rgb(var(--text));border-bottom:1px dotted rgb(var(--border))}.tool-switch{position:relative}.title-chevron{color:rgb(var(--text-muted));transition:transform .2s ease}.tool-switch[data-open="1"] .title-chevron{transform:rotate(180deg);color:rgb(var(--primary))}.tool-switch-menu{position:absolute;top:calc(100% + 10px);left:-12px;width:min(300px,calc(100vw - 24px));z-index:40;background-color:rgb(var(--bg-elevated));border:1px solid rgb(var(--border));border-radius:12px;padding:6px;box-shadow:0 12px 36px #00000014}.tool-switch-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:rgb(var(--text));text-decoration:none;cursor:pointer}.tool-switch-item:hover{background-color:rgb(var(--primary) / .06)}.tool-switch-current{background-color:rgb(var(--primary) / .08);color:rgb(var(--primary));cursor:default}.tsi-icon{flex:none;width:28px;height:28px;border-radius:6px;border:1px solid rgb(var(--border));display:grid;place-items:center;background-color:rgb(var(--bg-soft));font-size:14px}.tool-switch-current .tsi-icon{border-color:rgb(var(--primary) / .4);color:rgb(var(--primary))}.tsi-text{display:flex;flex-direction:column;line-height:1.2}.tsi-name{font-size:13.5px}.tsi-sub{font-size:11.5px;color:rgb(var(--text-muted));margin-top:2px}.tool-switch-sep{height:1px;background:rgb(var(--border-faint));margin:6px 4px}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-back{color:rgb(var(--text-muted));font-size:13px;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px}.topbar-back:hover{color:rgb(var(--primary));border-color:rgb(var(--primary) / .4)}.topbar-theme{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--text-muted));background:transparent;border:1px solid rgb(var(--border-faint));border-radius:6px;transition:all .2s;-webkit-tap-highlight-color:transparent}.topbar-theme:hover,.topbar-theme:focus-visible{color:rgb(var(--primary));border-color:rgb(var(--primary) / .4)}.topbar-theme .theme-sun{display:block}.topbar-theme .theme-moon,html.dark .topbar-theme .theme-sun{display:none}html.dark .topbar-theme .theme-moon{display:block}.bs-main{flex:1;min-height:0;overflow:auto;padding:16px 28px 24px;display:grid;gap:14px;align-content:start}.bs-panel{border:1px solid rgb(var(--border-faint));background:rgb(var(--bg-elevated));border-radius:14px;padding:14px;box-shadow:0 8px 20px #0000000d}.bs-panel-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.bs-panel-head h2{margin:0;font-size:18px;font-family:Fraunces,"Noto Serif SC",serif}.bs-panel-head p{margin:0;font-size:12px;color:rgb(var(--text-muted))}.bs-btn{border:1px solid rgb(var(--border));background:rgb(var(--bg));color:rgb(var(--text));border-radius:10px;padding:9px 14px;font-size:13px;cursor:pointer}.bs-btn:hover{border-color:rgb(var(--primary) / .5)}.bs-btn-primary{border-color:rgb(var(--primary));background:rgb(var(--primary));color:rgb(var(--bg))}.bs-btn:disabled{opacity:.6;cursor:not-allowed}.bs-stats{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bs-stat{border:1px solid rgb(var(--border-faint));border-radius:10px;padding:10px;background:rgb(var(--bg))}.bs-stat-label{font-size:11px;color:rgb(var(--text-muted))}.bs-stat-val{margin-top:4px;font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}.bs-stat-sub{margin-top:2px;font-size:11px;color:rgb(var(--text-muted))}.bs-profile-form,.bs-record{margin-top:12px;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.bs-field{display:grid;gap:4px}.bs-field span{font-size:12px;color:rgb(var(--text-muted))}.bs-field input,.bs-record input,.bs-report-form input,.bs-report-form textarea{border:1px solid rgb(var(--border));border-radius:10px;padding:9px 11px;background:rgb(var(--bg));color:rgb(var(--text));font-size:14px}.bs-field input{width:140px}.bs-record input{flex:1;min-width:160px}.bs-field input:focus,.bs-record input:focus,.bs-report-form input:focus,.bs-report-form textarea:focus{outline:none;border-color:rgb(var(--primary));box-shadow:0 0 0 3px rgb(var(--primary) / .18)}.bs-chart{margin-top:12px}.bs-chart svg{width:100%;height:auto;display:block}.bs-chart-empty{color:rgb(var(--text-muted));font-size:13px;padding:24px 4px;text-align:center}.bs-weight-list{margin-top:10px;display:grid;gap:6px}.bs-weight-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgb(var(--border-faint));border-radius:10px;padding:8px 10px}.bs-weight-row .bs-w-date{font-size:12px;color:rgb(var(--text-muted))}.bs-weight-row .bs-w-val{font-size:15px;font-variant-numeric:tabular-nums}.bs-weight-row .bs-w-diff{font-size:11px;color:rgb(var(--text-muted));margin-left:6px}.bs-del{border:1px solid rgb(var(--border-faint));background:rgb(var(--bg));color:rgb(var(--text-muted));width:26px;height:26px;border-radius:6px;font-size:15px;line-height:1;cursor:pointer;flex:none}.bs-del:hover{color:#d85a5a;border-color:#d85a5a80}.bs-empty{color:rgb(var(--text-muted));font-size:13px;padding:8px 2px}.bs-report-form{margin-top:10px;display:grid;gap:8px}.bs-report-form input,.bs-report-form textarea{width:100%;resize:vertical}.bs-report-form button{justify-self:start}.bs-report-view{margin-top:12px;border:1px solid rgb(var(--border));border-radius:12px;padding:12px 14px;background:rgb(var(--bg));font-size:14px;line-height:1.7}.bs-report-view h2{font-size:16px;margin:12px 0 6px}.bs-report-view h3{font-size:15px;margin:10px 0 6px}.bs-report-view h1{font-size:18px;margin:12px 0 6px}.bs-report-view>:first-child{margin-top:0}.bs-report-view p{margin:6px 0}.bs-report-view ul{margin:6px 0;padding-left:20px}.bs-report-view li{margin:3px 0}.bs-report-view table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.bs-report-view th,.bs-report-view td{border:1px solid rgb(var(--border-faint));padding:5px 8px;text-align:left}.bs-report-view code{background:rgb(var(--bg-soft));border-radius:4px;padding:1px 5px;font-size:12px}.bs-report-view strong{font-weight:600}.bs-report-view blockquote{margin:8px 0;padding:4px 12px;border-left:3px solid rgb(var(--border));color:rgb(var(--text-muted))}.bs-report-list{margin-top:12px;display:grid;gap:6px}.bs-report-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgb(var(--border-faint));border-radius:10px;padding:8px 10px;cursor:pointer}.bs-report-item:hover{border-color:rgb(var(--primary) / .4)}.bs-report-item .bs-r-title{font-size:14px;color:rgb(var(--text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-report-item .bs-r-date{font-size:11px;color:rgb(var(--text-muted))}.bs-toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);border-radius:999px;padding:8px 14px;background:rgb(var(--text));color:rgb(var(--bg));font-size:12px;z-index:60}@media (max-width: 860px){.bs-topbar{padding:calc(12px + env(safe-area-inset-top)) 16px 10px}.topbar-row{flex-wrap:wrap;row-gap:10px}.topbar-sub{display:none}.topbar-title{font-size:22px}.topbar-actions{margin-left:auto}.bs-main{padding:12px 14px 20px}.bs-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-field input{width:100%}.bs-field{flex:1;min-width:120px}}
