:root{--st-bg: #ffffff;--st-text: #161616;--st-muted: #6b7280;--st-line: #e8e8e8;--st-pop: #2b6ed3;--st-now: #e34432;--st-tint: #eef3fc;--st-card: #f7f8fa;--st-today-bg: #eef3fc;--st-today-bd: var(--st-pop);--st-shadow: 0 2px 10px rgba(0,0,0,.06);--cal-chip-h: 1.1rem;--cal-chip-gap: .18rem}.page-shell:has(.sched-page){max-width:1280px;padding:1.4rem 1.2rem 3rem}.sched-page{width:100%;max-width:100%;margin:0}.sched-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.sched-title h1{margin:0;font-size:1.6rem;line-height:1.2;letter-spacing:-.01em}.sched-actions{display:flex;gap:.4rem;align-items:center}.tb-group{display:inline-flex;align-items:center;gap:0;border:1px solid var(--st-line);border-radius:10px;background:var(--st-bg);overflow:hidden}.tb-btn{min-width:2.2rem;height:2.2rem;padding:0 .5rem;border:none;background:transparent;color:var(--st-text);font-family:inherit;font-size:.9rem;cursor:pointer;transition:background .12s ease}.tb-btn:hover{background:var(--st-card)}.tb-btn:active{transform:translateY(1px)}.tb-label{padding:0 .6rem;font-size:.88rem;font-weight:500;color:var(--st-text);white-space:nowrap;min-width:6.5rem;text-align:center}.tb-today{font-weight:600;color:var(--st-pop);border:1px solid var(--st-line);border-radius:10px;margin-left:.2rem}.tb-today:hover{background:var(--st-tint)}.tb-login{color:var(--st-muted);border:1px solid transparent;border-radius:10px}.tb-login:hover{border-color:var(--st-line);background:var(--st-card)}.tb-login.is-authed{color:var(--st-pop);border-color:var(--st-pop);background:var(--st-tint)}.sched-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:1.2rem;align-items:start}.right-panel{display:flex;flex-direction:column;gap:1.2rem;min-width:0}.cal-panel{border:1px solid var(--st-line);border-radius:12px;background:var(--st-bg);overflow:hidden;max-width:100%;box-shadow:var(--st-shadow)}.cal-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--st-card);border-bottom:1px solid var(--st-line);text-align:center;font-size:.78rem;font-weight:500;color:var(--st-muted);padding:.6rem 0;letter-spacing:.04em}.cal-body{position:relative;display:grid;grid-template-columns:repeat(7,1fr)}.cal-bands-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.cal-bands-layer .period-band{pointer-events:auto}.cal-cell{position:relative;height:124px;padding:.4rem .35rem .3rem;border-right:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;background:var(--st-bg);cursor:pointer;transition:background .1s ease;display:flex;flex-direction:column;gap:var(--cal-chip-gap);overflow:hidden}.cal-cell:nth-child(7n){border-right:0}.cal-cell:hover{background:var(--st-card)}.cal-cell.outside{opacity:.4}.cal-cell.outside:hover{opacity:.6}.cal-cell.weekend .day-num{color:var(--st-muted)}.cal-cell.today{background:#f8faff}.cal-cell.today .day-num{background:var(--st-today-bd);color:#fff;box-shadow:0 1px 3px #2b6ed338}.cal-cell.selected{background:#f4f7fd}.cal-cell.selected .day-num{box-shadow:0 0 0 1.25px var(--st-pop);color:var(--st-pop)}.cal-cell.today.selected .day-num{box-shadow:0 0 0 1.25px var(--st-pop);background:var(--st-today-bd);color:#fff}.day-num{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.75rem;font-weight:500;color:var(--st-text);transition:all .12s ease;margin-bottom:0}.chip{font-size:.71rem;color:var(--chip-c, var(--st-pop));background:var(--chip-t, var(--st-tint));border-left:3px solid var(--chip-cb, var(--st-pop));border-radius:3px;padding:0 .3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:var(--cal-chip-h);font-weight:500;height:var(--cal-chip-h);box-sizing:border-box}.chip-spacer{flex:0 0 auto;height:calc(var(--bands, 0) * var(--cal-chip-h) + max(0,var(--bands, 0) - 1) * var(--cal-chip-gap))}.chip.done-1{text-decoration:wavy line-through;text-decoration-color:var(--chip-c, currentColor);opacity:.55}.chip.done-2{opacity:.3;filter:grayscale(.6)}.period-band{position:absolute;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.71rem;line-height:var(--cal-chip-h);font-weight:500;border-radius:3px;border-left:3px solid var(--chip-cb, var(--st-pop));background:var(--chip-t, var(--st-tint));color:var(--chip-c, var(--st-pop));min-width:0;padding:0 .3rem;height:var(--cal-chip-h);box-sizing:border-box}.period-band.done-1{text-decoration:wavy line-through;opacity:.55}.period-band.done-2{opacity:.3;filter:grayscale(.6)}.period-band:hover{filter:brightness(.96)}.agenda-panel{border:1px solid var(--st-line);border-radius:12px;background:var(--st-bg);padding:0 0 .6rem;max-width:100%;box-shadow:var(--st-shadow)}.agenda-head{display:flex;align-items:center;gap:.4rem;padding:.65rem .7rem .55rem;border-bottom:1px solid var(--st-line)}.agenda-head h2{margin:0;font-size:.95rem;flex:1;text-align:center}.agenda-count{color:var(--st-muted);font-size:.78rem;white-space:nowrap}.day-btn{border:none;background:transparent;color:var(--st-muted);cursor:pointer;font-size:1rem;padding:.15rem .25rem;line-height:1;border-radius:6px;transition:all .1s ease}.day-btn:hover{background:var(--st-card);color:var(--st-text)}.agenda-list{list-style:none;margin:0;padding:0}.agenda-item{display:grid;grid-template-columns:4px 56px 1fr auto auto;gap:.5rem;padding:.5rem .7rem;border-bottom:1px solid #f2f2f2;align-items:start;cursor:default}.agenda-item:last-child{border-bottom:0}.agenda-bar{width:4px;border-radius:2px;align-self:stretch;background:var(--bar, var(--st-pop));flex-shrink:0}.agenda-time{font-size:.8rem;color:var(--st-pop);font-weight:600;padding-top:.08rem}.agenda-time.all-day{color:var(--st-now)}.agenda-body{min-width:0;display:flex;flex-direction:column;justify-content:center}.agenda-title-text{font-size:.9rem;color:var(--st-text);line-height:1.35;overflow-wrap:anywhere}.agenda-item.done-1 .agenda-title-text{text-decoration:wavy line-through;text-decoration-color:var(--bar, var(--st-pop));opacity:.6}.agenda-item.done-2 .agenda-title-text{text-decoration:line-through;text-decoration-color:var(--bar, var(--st-pop));opacity:.35;filter:grayscale(.6)}.agenda-empty{padding:1.2rem .7rem;text-align:center;color:var(--st-muted);font-size:.85rem}.agenda-edit-actions{margin:.4rem .7rem 0}.done-btn{border:1px solid #e0e0e0;border-radius:50%;width:1.2rem;height:1.2rem;background:var(--st-bg);color:#bbb;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.65rem;padding:0;line-height:1;transition:all .15s ease;flex-shrink:0;margin-top:.08rem}.done-btn:hover{border-color:var(--st-pop);color:var(--st-pop)}.done-btn.done-1{border-color:#f5a623;background:#fef3e0;color:#f5a623}.done-btn.done-2{border-color:#16a34a;background:#e6f7ec;color:#16a34a}.ed-btn{border:1px solid var(--st-line);background:var(--st-bg);color:var(--st-text);border-radius:8px;padding:.35rem .7rem;font-family:inherit;font-size:.85rem;cursor:pointer;transition:all .12s ease}.ed-btn:hover{background:var(--st-card);border-color:#d0d0d0}.ed-btn.primary{background:var(--st-pop);color:#fff;border-color:var(--st-pop)}.ed-btn.primary:hover{background:#1f5bb5}.ed-btn.ghost{background:transparent;border-color:transparent;color:var(--st-muted)}.ed-btn.ghost:hover{color:var(--st-text);background:var(--st-card);border-color:var(--st-line)}.ed-btn.danger{color:var(--st-now);border-color:#f5d0cc}.ed-btn.danger:hover{background:#fce8e6}.ed-add{width:100%}.ed-icon-btn{border:none;background:transparent;color:#bbb;cursor:pointer;font-size:.9rem;padding:0 .15rem;border-radius:4px;line-height:1.4;transition:color .1s}.ed-icon-btn:hover{color:var(--st-text)}body:not(.is-admin) .ed-icons{display:none}.dlg{border:1px solid var(--st-line);border-radius:14px;padding:0;width:min(400px,92vw);box-shadow:0 16px 40px #00000029;color:var(--st-text)}.dlg::backdrop{background:#0000004d}.dlg-form{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.6rem}.dlg-form h3{margin:0 0 .1rem;font-size:1rem}.dlg-field{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem;color:var(--st-muted)}.dlg-field input[type=text],.dlg-field input[type=password],.dlg-field input[type=date]{border:1px solid var(--st-line);border-radius:8px;padding:.4rem .5rem;font-family:inherit;font-size:.92rem;color:var(--st-text)}.dlg-field input:focus{outline:2px solid var(--st-pop);outline-offset:-1px;border-color:var(--st-pop)}.dlg-error{margin:0;color:var(--st-now);font-size:.82rem}.dlg-actions{display:flex;gap:.4rem;align-items:center;justify-content:flex-end;margin-top:.1rem}.dlg-spacer{flex:1}.dlg-color-row{flex-direction:row;align-items:center;gap:.5rem}.dlg-color-row>span{min-width:3.5rem}.color-row-inner{display:flex;align-items:center;gap:.4rem}.color-row-inner input[type=color]{width:2rem;height:2rem;padding:0;border:1px solid var(--st-line);border-radius:8px;cursor:pointer}.mode-tabs{display:flex;border:1px solid var(--st-line);border-radius:10px;overflow:hidden}.mode-tab{flex:1;border:none;background:var(--st-bg);color:var(--st-muted);padding:.4rem 0;font-family:inherit;font-size:.82rem;cursor:pointer;transition:all .12s ease}.mode-tab.is-active{background:var(--st-pop);color:#fff;font-weight:500}.mode-tab:hover:not(.is-active){background:var(--st-card)}.cat-picker{display:flex;flex-wrap:wrap;gap:.35rem}.cat-swatch{border:1px solid var(--st-line);background:var(--st-bg);border-radius:999px;padding:.18rem .5rem;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;color:var(--st-text);transition:all .1s ease}.cat-swatch .dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--c, #ccc);display:inline-block;flex-shrink:0}.cat-swatch.is-active{border-color:var(--c);background:var(--t, var(--st-card));font-weight:500}.musings-panel{border:1px solid var(--st-line);border-radius:12px;background:var(--st-bg);padding:0 0 .6rem;max-width:100%;box-shadow:var(--st-shadow)}.musings-head{display:flex;align-items:center;gap:.4rem;padding:.65rem .7rem .55rem;border-bottom:1px solid var(--st-line)}.musings-head h2{margin:0;font-size:.95rem;flex:1;text-align:center}.musings-head .tb-btn{font-size:1.1rem;font-weight:600;line-height:1;min-width:auto;width:1.8rem;height:1.8rem;border-radius:8px}body:not(.is-admin) .musings-head .tb-btn{display:none}.muse-form{padding:.5rem .7rem;border-bottom:1px solid #f2f2f2;display:flex;flex-direction:column;gap:.4rem}.muse-form[hidden]{display:none}.muse-type-picker{display:flex;gap:.35rem}.muse-type-btn{border:1px solid var(--st-line);border-radius:999px;padding:.15rem .55rem;font-family:inherit;font-size:.78rem;cursor:pointer;transition:all .1s ease;background:var(--st-bg);color:var(--st-muted)}.muse-type-btn:hover{background:var(--st-card)}.muse-type-btn.is-active{font-weight:500}.muse-type-btn.is-musing.is-active{border-color:#d97706;background:#fef3c7;color:#92400e}.muse-type-btn.is-inspiration.is-active{border-color:#7c3aed;background:#ede9fe;color:#5b21b6}.muse-input-row{display:flex;gap:.4rem;align-items:center}.muse-input-row input[type=text]{flex:1;border:1px solid var(--st-line);border-radius:8px;padding:.35rem .5rem;font-family:inherit;font-size:.88rem;color:var(--st-text)}.muse-input-row input:focus{outline:2px solid var(--st-pop);outline-offset:-1px;border-color:var(--st-pop)}.muse-input-row .muse-actions{display:flex;gap:.25rem;flex-shrink:0}.muse-input-row .muse-actions .ed-btn{font-size:.8rem;padding:.25rem .5rem}.musings-list{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}.muse-item{display:grid;grid-template-columns:1fr auto;gap:.4rem;padding:.45rem .7rem;border-bottom:1px solid #f2f2f2;align-items:start;font-size:.85rem;line-height:1.45}.muse-item:last-child{border-bottom:0}.muse-item .muse-dot{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0;margin-top:.35rem;display:inline-block}.muse-item .muse-body{display:flex;gap:.35rem;align-items:flex-start;min-width:0}.muse-item .muse-text{overflow-wrap:anywhere;color:var(--st-text)}.muse-item .muse-ts{font-size:.68rem;color:var(--st-muted);white-space:nowrap;margin-top:.1rem}.muse-item.musing{border-left:3px solid #d97706}.muse-item.inspiration{border-left:3px solid #7c3aed}.muse-item.musing .muse-dot{background:#d97706}.muse-item.inspiration .muse-dot{background:#7c3aed}.muse-item .muse-edits{display:none;gap:.15rem;flex-shrink:0}.muse-item .muse-edits button{border:none;background:transparent;color:#bbb;cursor:pointer;font-size:.78rem;padding:.15rem;border-radius:4px;line-height:1}.muse-item .muse-edits button:hover{color:var(--st-text);background:var(--st-card)}body.is-admin .muse-item .muse-edits{display:flex}.muse-empty{padding:1rem .7rem;text-align:center;color:var(--st-muted);font-size:.82rem}@media (max-width: 768px){:root{--cal-chip-h: .8rem;--cal-chip-gap: .12rem}.sched-grid{grid-template-columns:1fr}.cal-cell{height:96px;padding:.3rem .25rem .2rem}.cal-cell .day-num{width:1.2rem;height:1.2rem;font-size:.68rem;border-radius:50%}.cal-cell .chip,.period-band{font-size:.62rem;padding:0 .25rem;border-left-width:2px}.tb-label{min-width:5rem;font-size:.82rem}}@media (max-width: 560px){:root{--cal-chip-h: .67rem;--cal-chip-gap: .1rem}.page-shell:has(.sched-page){padding:1rem .6rem 2.4rem}.cal-cell{height:84px;padding:.2rem .2rem .12rem}.cal-cell .day-num{width:1.05rem;height:1.05rem;font-size:.62rem;border-radius:50%}.cal-cell .chip,.period-band{font-size:.54rem;padding:0 .2rem;border-left-width:1.5px}}
