:root{--bg:#fcfcfc;--bg-top:#fafafa;--bg-glow:rgba(255, 255, 255, 0.92);--paper:#ffffff;--paper-strong:#ffffff;--panel-bg:#fcfcfc;--ink:#000000;--muted:#5e5e5e;--line:#d8d8d8;--line-strong:#a8a8a8;--accent:#000000;--accent-deep:#000000;--accent-soft:rgba(0, 0, 0, 0.05);--overlay-soft:rgba(0, 0, 0, 0.03);--overlay-medium:rgba(0, 0, 0, 0.05);--overlay-strong:rgba(0, 0, 0, 0.12);--overlay-quiet:rgba(0, 0, 0, 0.45);--overlay-muted:rgba(0, 0, 0, 0.55);--shadow-soft:8px 8px 0 rgba(0, 0, 0, 0.04);--shadow-card:6px 6px 0 rgba(0, 0, 0, 0.05);--sidebar-shadow:6px 6px 0 rgba(0, 0, 0, 0.05);--brand-ink:#ffffff;--brand-start:#1a1a1a;--brand-end:#000000;--brand-top-glow:rgba(255, 255, 255, 0.04);--brand-border:rgba(255, 255, 255, 0.08);--brand-shadow:var(--sidebar-shadow);--code-bg:rgba(0, 0, 0, 0.05);--pre-bg:#f7f7f7;--empty-bg:rgba(255, 255, 255, 0.75);--button-bg:rgba(255, 255, 255, 0.95);--heatmap-0:#eeeeee;--heatmap-1:#cfcfcf;--heatmap-2:#8f8f8f;--heatmap-3:#3f3f3f;--site-width:1440px;--sidebar-width:272px;--content-width:1120px;--radius-lg:0;--radius-md:0;--radius-sm:0}html[data-theme=dark]{--bg:#1f1f1f;--bg-top:#262626;--bg-glow:rgba(255, 255, 255, 0.025);--paper:#282828;--paper-strong:#2e2e2e;--panel-bg:rgba(40, 40, 40, 0.97);--ink:#d2d2d2;--muted:#a7a7a7;--line:#464646;--line-strong:#5f5f5f;--accent:#d2d2d2;--accent-deep:#d2d2d2;--accent-soft:rgba(255, 255, 255, 0.05);--overlay-soft:rgba(255, 255, 255, 0.035);--overlay-medium:rgba(255, 255, 255, 0.05);--overlay-strong:rgba(255, 255, 255, 0.1);--overlay-quiet:rgba(255, 255, 255, 0.36);--overlay-muted:rgba(255, 255, 255, 0.5);--shadow-soft:8px 8px 0 rgba(0, 0, 0, 0.26);--shadow-card:6px 6px 0 rgba(0, 0, 0, 0.3);--sidebar-shadow:6px 6px 0 rgba(0, 0, 0, 0.3);--brand-ink:#f8f8f8;--brand-start:#161616;--brand-end:#0d0d0d;--brand-top-glow:rgba(255, 255, 255, 0.02);--brand-border:rgba(255, 255, 255, 0.1);--brand-shadow:var(--sidebar-shadow);--code-bg:rgba(255, 255, 255, 0.06);--pre-bg:#202020;--empty-bg:rgba(255, 255, 255, 0.04);--button-bg:rgba(255, 255, 255, 0.035);--heatmap-0:rgba(255, 255, 255, 0.06);--heatmap-1:#555555;--heatmap-2:#8a8a8a;--heatmap-3:#d2d2d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;color:var(--ink);background:var(--bg);font-family:source han serif sc,noto serif sc,songti sc,iowan old style,palatino linotype,Georgia,serif;line-height:1.72;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{display:block;max-width:100%}p,ul,ol,blockquote{margin:0}.site-frame{width:min(calc(100% - 2.5rem),var(--site-width));min-height:100vh;margin:0 auto;padding:1.6rem 0 2.6rem;display:grid;grid-template-columns:minmax(240px,var(--sidebar-width))minmax(0,1fr);gap:2.45rem}.site-sidebar{position:sticky;top:2rem;align-self:start}.sidebar-panel{display:grid;gap:.9rem}.sidebar-brand-card,.sidebar-nav-panel,.sidebar-profile-card,.sidebar-context-panel,.home-intro,.page-header,.reading-card,.article-main,.taxonomy-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-bg);box-shadow:var(--shadow-card)}.sidebar-brand-card,.sidebar-nav-panel,.sidebar-profile-card{box-shadow:var(--sidebar-shadow)}.sidebar-brand-card{display:grid;gap:.35rem;padding:1rem 1.05rem 1.05rem;color:var(--brand-ink);background:linear-gradient(180deg,var(--brand-top-glow),transparent 35%),linear-gradient(180deg,var(--brand-start) 0%,var(--brand-end) 100%);border-color:var(--brand-border);box-shadow:var(--brand-shadow)}.sidebar-brand{display:inline-flex;flex-direction:column;gap:0}.sidebar-brand:hover,.sidebar-brand:focus-visible{color:var(--brand-ink)}.sidebar-title{font-size:1.78rem;line-height:1.02;letter-spacing:-.04em}.sidebar-nav-panel{padding:1rem 1rem 1.05rem}.sidebar-panel-kicker,.section-kicker{color:var(--accent);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase}.sidebar-panel-kicker{margin-bottom:.85rem}.sidebar-nav{display:grid;gap:.45rem}.sidebar-nav a{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;padding:.68rem .2rem .68rem .72rem;border-left:2px solid transparent;color:var(--muted);transition:padding-left 140ms ease,border-color 140ms ease,color 140ms ease}.sidebar-nav a span:last-child{color:var(--overlay-quiet);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.sidebar-nav a:hover,.sidebar-nav a.is-active{color:var(--ink);border-color:var(--accent);padding-left:.95rem}.sidebar-controls{margin-top:.95rem;padding-top:.85rem;border-top:1px solid var(--line)}.theme-toggle{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4rem 0;border:0;border-radius:0;background:0 0;color:var(--ink);font:inherit;cursor:pointer}.theme-toggle:hover{color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.theme-toggle-label{color:var(--muted);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}.theme-toggle-state{margin-left:auto;padding-left:.65rem;border-left:1px solid var(--line);color:var(--muted);font-size:.78rem}.theme-toggle[aria-pressed=true]{background:0 0}.theme-toggle[aria-pressed=true] .theme-toggle-state{color:var(--ink)}.sidebar-profile-card{display:grid;gap:.85rem;padding:.95rem 1rem 1rem}.profile-main{display:grid;grid-template-columns:auto minmax(0,1fr)auto;align-items:center;column-gap:.82rem}.profile-avatar{width:3.4rem;height:3.4rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:.28rem;overflow:hidden;background:var(--paper)}.profile-avatar img{width:100%;height:100%;object-fit:cover;object-position:center}.profile-copy{display:grid;gap:.22rem;align-content:center;min-width:0}.profile-name{color:var(--ink);font-size:1.04rem;font-weight:700;line-height:1.08;letter-spacing:-.02em}.profile-admin-link{align-self:center;display:inline-flex;align-items:center;justify-content:center;width:.64rem;height:.64rem;border:1px solid var(--line-strong);background:var(--overlay-quiet);color:transparent}.profile-admin-link:hover{background:var(--overlay-quiet);border-color:var(--line-strong)}.profile-admin-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.profile-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding-top:.72rem;border-top:1px solid var(--line)}.profile-links-label{grid-column:1/-1;color:var(--muted);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.profile-link{display:inline-flex;width:fit-content;color:var(--muted);font-size:.8rem;padding-bottom:.1rem;border-bottom:1px solid var(--line)}.profile-link:nth-of-type(2){justify-self:end}.profile-link:hover{color:var(--accent);border-color:var(--accent)}.site-content{min-width:0;padding-left:2.25rem;border-left:1px solid var(--line-strong)}.content-shell{max-width:var(--content-width)}h1,h2,h3{margin:0;font-weight:600;line-height:1.16}h1{font-size:clamp(1.78rem,3vw,2.72rem);letter-spacing:-.05em}h2{font-size:clamp(1.08rem,1.9vw,1.48rem)}h3{font-size:1.18rem}.lede{color:var(--muted);font-size:.95rem}.page-header{display:grid;gap:.8rem;padding:1.15rem 1.3rem}.intro-copy,.article-summary{display:grid;gap:.8rem;color:var(--muted)}.writing-section,.taxonomy-section{margin-top:1.7rem}.writing-heatmap-section{width:100%;max-width:100%}.content-shell>.writing-section:first-child{margin-top:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.9rem;padding-bottom:.45rem;border-bottom:1px solid var(--line)}.section-heading a,.back-link,.pagination a{color:var(--muted);font-size:.86rem}.section-heading a:hover,.back-link:hover,.pagination a:hover{color:var(--accent)}.writing-list{display:grid;gap:.95rem}.writing-heatmap{padding:.15rem 0 .3rem;border:0;background:0 0;box-shadow:none;width:100%}.writing-heatmap-year-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem .9rem}.heatmap-month-card{display:grid;gap:.38rem;padding:.65rem .7rem .7rem;border:1px solid var(--line);background:linear-gradient(180deg,var(--overlay-soft),transparent 40%),var(--panel-bg)}.heatmap-month-header{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding-bottom:.32rem;border-bottom:1px solid var(--line)}.heatmap-month-title{font-size:.78rem;line-height:1;letter-spacing:.08em}.heatmap-month-total{color:var(--muted);font-size:.68rem;line-height:1}.heatmap-month-weekdays,.heatmap-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.18rem}.heatmap-month-weekday{color:var(--muted);font-size:.58rem;line-height:1;text-align:center}.heatmap-day-cell,.heatmap-day-placeholder{width:100%;height:auto;aspect-ratio:1/1;display:block}.heatmap-day-placeholder{border:1px solid transparent}.heatmap-day-cell{border:1px solid var(--line);background:var(--heatmap-0)}.heatmap-level-1{background:var(--heatmap-1)}.heatmap-level-2{border-color:var(--line-strong);background:var(--heatmap-2)}.heatmap-level-3{border-color:var(--accent-deep);background:var(--heatmap-3)}.reading-card{display:grid;gap:.85rem;padding:1.1rem 1.25rem 1rem;border-top:2px solid var(--accent-deep);transition:border-color 140ms ease,box-shadow 140ms ease}.reading-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}.reading-card-top,.reading-card-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.reading-card-top{justify-content:flex-start}.writing-meta,.article-meta{display:flex;flex-wrap:wrap;gap:.55rem;color:var(--muted);font-size:.8rem}.writing-title{font-size:clamp(1.26rem,2.1vw,1.88rem);line-height:1.22;letter-spacing:-.03em}.writing-title a{transition:color 120ms ease}.writing-summary{max-width:48rem;color:var(--muted);font-size:.93rem}.series-inline{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.82rem}.series-inline a{padding-bottom:.08rem;border-bottom:1px solid var(--line)}.series-inline a:hover{color:var(--accent);border-color:var(--accent)}.tag-list,.tag-cloud-list{display:flex;flex-wrap:wrap;gap:.55rem;padding:0;margin:0;list-style:none}.tag-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .5rem;border:1px solid var(--line);border-radius:0;color:var(--muted);background:var(--overlay-soft);font-size:.78rem}.tag-pill span{color:var(--overlay-muted)}.reading-card-footer{align-items:center}.reading-action{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:.56rem .92rem;border:1px solid var(--ink);border-radius:0;background:var(--paper-strong);color:var(--ink);font-size:.82rem}.reading-action:hover{background:var(--accent-soft);border-color:var(--ink)}.article-page{padding-top:.3rem}.article-page-shell{display:grid;grid-template-columns:minmax(0,52rem)minmax(16rem,16rem);gap:2rem;align-items:start}.back-link{display:inline-flex;margin-bottom:1rem;padding-bottom:.15rem;border-bottom:1px solid var(--line)}.article-main{padding:1.15rem 1rem 1.45rem;border-top:2px solid var(--accent-deep)}.article-header{display:grid;gap:.8rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.article-series-meta{display:flex;flex-wrap:wrap;gap:.55rem;color:var(--muted);font-size:.86rem}.article-series-meta a{padding-bottom:.1rem;border-bottom:1px solid var(--line)}.article-series-meta a:hover{color:var(--accent);border-color:var(--accent)}.article-aside{display:grid;gap:.9rem;position:sticky;top:1.85rem;align-self:start;max-height:calc(100vh - 4rem);overflow:auto;scrollbar-width:thin;padding-left:0;padding-right:.5rem;padding-bottom:.5rem}.article-toc-card,.series-reading-card{max-width:16rem;padding:.72rem .8rem .8rem;border:1px solid var(--line);background:var(--panel-bg);box-shadow:var(--shadow-card)}.article-toc-card{max-height:22rem;overflow:auto;scrollbar-width:thin;box-shadow:8px 8px rgba(0,0,0,5%)}.article-page .article-summary,.article-page .article-body{max-width:52rem}.article-comments{max-width:52rem;margin-top:2rem;padding-top:1.15rem;border-top:1px solid var(--line);scroll-margin-top:1.5rem}.article-comments-frame{min-height:10rem}.article-comments-frame .giscus,.article-comments-frame .giscus-frame{width:100%}.article-pdf-embed{max-width:52rem;margin-top:.9rem}.article-pdf-link{margin-bottom:.45rem}.article-pdf-link a{display:inline-flex;width:fit-content;padding-bottom:.08rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.92rem}.article-pdf-link a:hover{color:var(--accent);border-color:var(--accent)}.article-pdf-frame{overflow:hidden;border:1px solid var(--line);background:var(--panel-bg);box-shadow:var(--shadow-card)}.article-pdf-frame iframe{width:100%;height:var(--pdf-embed-height,54rem);border:0;background:var(--paper-strong)}.series-reading-card h2{margin-bottom:.65rem;font-size:.98rem;line-height:1.25}.series-reading-list{display:grid;gap:.45rem;padding-left:0;margin:0 0 .72rem;list-style:none}.series-reading-list li{color:var(--muted)}.series-reading-list a{display:grid;gap:.1rem;padding-left:.5rem;border-left:2px solid transparent}.series-reading-list li.is-current{color:var(--ink)}.series-reading-list li.is-current a{border-left-color:var(--accent)}.series-reading-list span{color:var(--muted);font-size:.74rem}.series-reading-list strong{color:inherit;font-size:.8rem;font-weight:600;line-height:1.35}.series-reading-list em{width:fit-content;color:var(--muted);font-size:.7rem;font-style:normal}.article-toc-content nav ul{display:grid;gap:.32rem;padding-left:0;margin:0;list-style:none}.article-toc-content nav ul ul{margin-top:.28rem;margin-left:.3rem;padding-left:.7rem;border-left:1px solid var(--line)}.article-toc-content li{display:grid}.article-toc-content a{color:var(--muted);font-size:.84rem;line-height:1.48}.article-toc-content a:hover{color:var(--accent)}.article-body{padding-top:1.35rem;font-size:.98rem}.article-body>*+*{margin-top:1rem}.article-body h2,.article-body h3{margin-top:1.85rem;padding-top:.35rem;border-top:1px solid var(--overlay-strong);scroll-margin-top:1.5rem}.article-body ul,.article-body ol{padding-left:1.35rem}.article-body li+li{margin-top:.45rem}.article-body li:has(>input[type=checkbox]){list-style:none}.article-body li>input[type=checkbox]{width:.82rem;height:.82rem;margin:0 .5rem 0 0;vertical-align:middle}.article-body blockquote{padding-left:1rem;border-left:3px solid var(--line-strong);color:var(--muted)}.article-body code{padding:.12rem .35rem;border-radius:0;background:var(--code-bg);font-size:.92em}.article-body pre{overflow-x:auto;padding:1rem 1.1rem;border:1px solid var(--overlay-strong);border-radius:var(--radius-sm);background:var(--pre-bg)}.article-body pre code{padding:0;background:0 0}.series-link{display:inline-flex;width:fit-content;padding-bottom:.1rem;border-bottom:1px solid var(--line);color:var(--ink);font-size:.84rem}.series-link:hover{color:var(--accent);border-color:var(--accent)}.taxonomy-section{display:grid;gap:.95rem}.taxonomy-tag-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.taxonomy-card{padding:1.1rem 1.2rem}.taxonomy-tag-card{padding:0;border:0;background:0 0;box-shadow:none}.taxonomy-card .tag-pill{width:100%;justify-content:space-between}.taxonomy-tag-card .tag-pill{min-height:3.05rem;padding:.78rem .9rem;border:1px solid var(--line);background:var(--panel-bg);box-shadow:var(--shadow-card)}.taxonomy-series-list{gap:.75rem}.taxonomy-series-card{padding:0}.taxonomy-series-link{display:grid;gap:.65rem;padding:1rem 1.05rem}.taxonomy-series-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.taxonomy-series-head h2{font-size:1.06rem;line-height:1.3}.taxonomy-series-head span{flex-shrink:0;color:var(--muted);font-size:.8rem}.taxonomy-series-description{max-width:40rem;color:var(--muted);font-size:.9rem;line-height:1.6}.empty-state{padding:1.1rem 1.2rem;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--muted);background:var(--empty-bg)}.pagination{display:flex;gap:.9rem;margin-top:1.5rem}.pagination a{padding:.55rem .9rem;border:1px solid var(--line);border-radius:0;background:var(--button-bg)}.agent-launcher{position:fixed;right:1.5rem;bottom:1.5rem;z-index:30;display:inline-flex;align-items:center;justify-content:center;min-width:3.6rem;min-height:2.2rem;padding:.45rem .8rem;border:1px solid #000;border-radius:0;background:var(--panel-bg);box-shadow:var(--shadow-card);color:var(--ink);font:inherit;font-size:.82rem;cursor:pointer}.agent-launcher:hover,.agent-launcher:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-soft)}.agent-launcher:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.agent-launcher[hidden]{display:none}.agent-sidebar{position:fixed;right:1.5rem;bottom:1.5rem;z-index:30;width:30rem;height:min(36rem,calc(100vh - 4rem));display:block;overflow:hidden;border:1px solid #000;background:var(--panel-bg);box-shadow:var(--shadow-soft)}.agent-sidebar[hidden]{display:none}.agent-sidebar.is-dragging{user-select:none;box-shadow:var(--shadow-soft)}.agent-sidebar-panel{min-width:0;min-height:0;height:100%;overflow:hidden;scrollbar-width:thin;padding:.95rem}.agent-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.72rem;border-bottom:1px solid var(--line);cursor:move;touch-action:none}.agent-sidebar-kicker{color:var(--accent);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}.agent-sidebar-close{flex:none;width:1.35rem;height:1.35rem;padding:0;border:1px solid var(--ink);border-radius:0;background:var(--paper-strong);color:var(--ink);font:inherit;font-size:.9rem;line-height:1;cursor:pointer}.agent-sidebar-close:hover,.agent-sidebar-close:focus-visible{background:var(--accent-soft)}.agent-sidebar-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.agent-sidebar-body{display:grid;grid-template-columns:5rem minmax(0,1fr);height:calc(100% - 2.35rem);min-height:0}.agent-sidebar-actions{display:grid;align-content:start;gap:.45rem;min-height:0;padding:.85rem .7rem .85rem 0;border-right:1px solid var(--line)}.agent-sidebar-action{width:100%;min-width:0;padding:.5rem .15rem;border:0;border-left:2px solid transparent;border-radius:0;background:0 0;color:var(--muted);font:inherit;font-size:.76rem;line-height:1.2;cursor:pointer}.agent-sidebar-action:hover,.agent-sidebar-action:focus-visible,.agent-sidebar-action.is-active{border-left-color:var(--accent);color:var(--ink);background:0 0}.agent-sidebar-action:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.agent-sidebar-content{min-width:0;min-height:0;height:100%;overflow-y:auto;scrollbar-width:thin;padding:.85rem 0 .85rem .9rem}.agent-sidebar-view{display:grid;min-height:100%;gap:.55rem}.agent-sidebar-view[hidden]{display:none}.agent-sidebar-view h2{font-size:1rem;letter-spacing:0}.agent-sidebar-view p{color:var(--muted);font-size:.82rem;line-height:1.65}.chat-panel{min-height:100%;display:grid;grid-template-rows:auto minmax(10rem,1fr)auto;gap:.75rem}.chat-status{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.65rem;border:1px solid var(--line);background:var(--paper-strong)}.chat-status h2{font-size:.96rem}.chat-status p{margin-top:.22rem;font-size:.76rem}.chat-status button,.chat-compose-actions button{flex:none;border:1px solid var(--line);border-radius:0;background:var(--button-bg);color:var(--ink);font:inherit;cursor:pointer}.chat-status button{padding:.3rem .48rem;font-size:.74rem}.chat-log{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:.65rem;padding:.7rem;border:1px solid var(--line);background:var(--panel-bg);scrollbar-width:thin}.chat-empty{color:var(--muted);font-size:.8rem}.chat-message{display:grid;gap:.26rem;max-width:92%}.chat-message-user{justify-self:end}.chat-message-assistant{justify-self:start}.chat-message-role{color:var(--muted);font-size:.7rem;line-height:1.3}.chat-message-user .chat-message-role{text-align:right}.chat-message-content{padding:.55rem .65rem;border:1px solid var(--line);background:var(--paper-strong);color:var(--ink);font-size:.82rem;line-height:1.62;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message-user .chat-message-content{border-color:var(--line-strong);background:var(--overlay-soft)}.chat-compose{display:grid;gap:.45rem}.chat-input-label{color:var(--ink);font-size:.76rem;font-weight:700}.chat-compose textarea{width:100%;min-width:0;resize:vertical;min-height:5rem;max-height:10rem;padding:.52rem .6rem;border:1px solid var(--line);border-radius:0;background:var(--paper-strong);color:var(--ink);font:inherit;font-size:.82rem;line-height:1.55}.chat-compose textarea::placeholder{color:var(--overlay-quiet)}.chat-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chat-compose-actions p{min-width:0;color:var(--muted);font-size:.76rem}.chat-compose-actions button{min-width:3.2rem;padding:.36rem .6rem;font-size:.74rem}.chat-status button:hover,.chat-compose-actions button:hover,.chat-status button:focus-visible,.chat-compose-actions button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.chat-compose textarea:focus-visible,.chat-status button:focus-visible,.chat-compose-actions button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.chat-compose textarea:disabled,.chat-compose-actions button:disabled{cursor:wait;opacity:.68}.persona-panel{display:grid;gap:.85rem}.persona-status{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.65rem;border:1px solid var(--line);background:var(--paper-strong)}.persona-status h2{font-size:.96rem}.persona-status p{margin-top:.22rem;font-size:.76rem}.persona-actions{flex:none;display:flex;gap:.35rem}.persona-actions button{border:1px solid var(--line);border-radius:0;background:var(--button-bg);color:var(--ink);font:inherit;cursor:pointer;padding:.3rem .48rem;font-size:.74rem}.persona-field{display:grid;gap:.38rem}.persona-field span{color:var(--ink);font-size:.76rem;font-weight:700}.persona-field textarea{width:100%;min-width:0;min-height:18rem;resize:vertical;padding:.6rem .65rem;border:1px solid var(--line);border-radius:0;background:var(--paper-strong);color:var(--ink);font:inherit;font-size:.82rem;line-height:1.6}.persona-message{min-height:1.2rem;color:var(--muted);font-size:.76rem}.persona-actions button:hover,.persona-actions button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.persona-actions button:focus-visible,.persona-field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.timer-panel{display:grid;gap:.85rem}.timer-status,.timer-card,.timer-summary,.timer-records{border:1px solid var(--line);background:var(--panel-bg)}.timer-status{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.65rem;background:var(--paper-strong)}.timer-status h2{font-size:.96rem}.timer-status p{margin-top:.22rem;font-size:.76rem}.timer-status button,.timer-view-actions button,.timer-controls button,.timer-range-tabs button,.timer-summary-head button,.timer-record-actions button{border:1px solid var(--line);border-radius:0;background:var(--button-bg);color:var(--ink);font:inherit;cursor:pointer}.timer-status button{flex:none;padding:.3rem .48rem;font-size:.74rem}.timer-card{display:grid;gap:.65rem;padding:.7rem}.timer-field{display:grid;gap:.32rem}.timer-field span{color:var(--ink);font-size:.76rem;font-weight:700}.timer-field input,.timer-record-main input{width:100%;min-width:0;padding:.42rem .5rem;border:1px solid var(--line);border-radius:0;background:var(--paper-strong);color:var(--ink);font:inherit;font-size:.78rem}.timer-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.timer-mode label{display:flex;align-items:center;gap:.4rem;padding:.42rem .5rem;border:1px solid var(--line);background:var(--paper-strong);color:var(--muted);font-size:.76rem}.timer-mode input{margin:0;accent-color:var(--accent)}.timer-display{padding:.65rem;border:1px solid var(--line-strong);background:var(--paper-strong);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.6rem;line-height:1.1;text-align:center}.timer-view-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.timer-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.timer-view-actions button,.timer-controls button{min-width:0;padding:.38rem .2rem;font-size:.74rem}.timer-message{min-height:1.2rem;color:var(--muted);font-size:.76rem}.timer-summary,.timer-records{display:grid;gap:.65rem;padding:.7rem}.timer-range-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.timer-range-tabs button{padding:.32rem .2rem;color:var(--muted);font-size:.72rem}.timer-range-tabs button.is-active{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}.timer-summary-head,.timer-records-head,.timer-summary-row,.timer-record-meta,.timer-summary-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.timer-summary-head{display:grid;grid-template-columns:1.8rem minmax(0,1fr)1.8rem auto}.timer-summary-head p,.timer-records-head p{color:var(--ink);font-size:.78rem;font-weight:700;text-align:center}.timer-summary-head button{min-width:0;min-height:1.55rem;padding:0;font-size:.82rem}.timer-summary-head span,.timer-records-head span,.timer-record-meta,.timer-summary-meta{color:var(--muted);font-size:.72rem}.timer-summary-list,.timer-record-list{display:grid;gap:.55rem}.timer-summary-item,.timer-record-item{display:grid;gap:.45rem;padding:.55rem;border:1px solid var(--line);background:var(--paper-strong)}.timer-summary-row strong{min-width:0;color:var(--ink);font-size:.82rem;overflow-wrap:anywhere}.timer-summary-row span{flex:none;color:var(--muted);font-size:.74rem}.timer-meter{height:.42rem;border:1px solid var(--line);background:var(--overlay-soft)}.timer-meter i{display:block;height:100%;background:var(--accent)}.timer-record-main{display:grid;grid-template-columns:minmax(0,1fr)4.2rem;gap:.4rem}.timer-record-actions{display:flex;gap:.35rem}.timer-record-actions button{padding:.28rem .42rem;font-size:.7rem}.timer-empty{color:var(--muted);font-size:.78rem}.timer-status button:hover,.timer-view-actions button:hover,.timer-controls button:hover,.timer-range-tabs button:hover,.timer-summary-head button:hover,.timer-record-actions button:hover,.timer-status button:focus-visible,.timer-view-actions button:focus-visible,.timer-controls button:focus-visible,.timer-range-tabs button:focus-visible,.timer-summary-head button:focus-visible,.timer-record-actions button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.timer-field input:focus-visible,.timer-record-main input:focus-visible,.timer-status button:focus-visible,.timer-view-actions button:focus-visible,.timer-controls button:focus-visible,.timer-range-tabs button:focus-visible,.timer-summary-head button:focus-visible,.timer-record-actions button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.timer-controls button:disabled,.timer-view-actions button:disabled,.timer-summary-head button:disabled,.timer-field input:disabled,.timer-mode input:disabled+span{cursor:not-allowed;opacity:.58}.timer-floating{position:fixed;right:1.5rem;bottom:1.5rem;z-index:42;display:grid;grid-template-columns:minmax(8.5rem,auto)1.25rem;align-items:stretch;border:1px solid var(--ink);background:var(--panel-bg);box-shadow:var(--shadow-card)}.timer-floating[hidden]{display:none}.timer-floating.is-dragging{user-select:none}.timer-floating-time,.timer-floating-close{border:0;border-radius:0;background:0 0;color:var(--ink);font:inherit;cursor:pointer}.timer-floating-time{padding:.46rem .7rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.08rem;line-height:1;cursor:move;touch-action:none}.timer-floating-close{border-left:1px solid var(--line);font-size:.86rem;line-height:1}.timer-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:stretch;width:auto;min-width:100vw;height:100vh;height:100dvh;padding:clamp(1rem,3vw,2.4rem);overflow:hidden;background:var(--bg);color:var(--ink)}.timer-fullscreen[data-timer-theme=night]{background:#000;color:#fff;--ink:#ffffff;--muted:#b8b8b8;--line:#363636;--paper-strong:#000000;--button-bg:#000000;--timer-theme-button-bg:#000000;--timer-theme-button-active-bg:#1a1a1a}.timer-fullscreen-active,.timer-fullscreen-active body{width:100%;height:100%;scrollbar-gutter:auto;overflow:hidden}.timer-fullscreen[hidden]{display:none}.timer-fullscreen-inner{width:min(72rem,100%);min-height:100%;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr)auto auto;gap:clamp(1rem,3vh,2rem);align-items:center}.timer-fullscreen-head{position:relative;display:grid;justify-items:center;align-items:center;gap:.45rem;padding:.2rem 3rem 0}.timer-fullscreen-head p{min-width:0;max-width:min(42rem,100%);color:var(--ink);font-size:clamp(2rem,5vw,4.8rem);font-weight:600;line-height:1.12;text-align:center;overflow-wrap:anywhere}.timer-fullscreen-head button{position:absolute;top:0;right:0;width:1.65rem;height:1.65rem;padding:0;border:1px solid var(--ink);border-radius:0;background:var(--paper-strong);color:var(--ink);font:inherit;cursor:pointer}.timer-fullscreen-time{align-self:center;padding:clamp(1.2rem,4vh,2.4rem)0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(3.2rem,17vw,13.5rem);line-height:1;letter-spacing:0;text-align:center;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.timer-fullscreen-controls{width:min(34rem,100%);justify-self:center;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.timer-fullscreen-controls button{min-height:2.4rem;border:1px solid var(--line);border-radius:0;background:var(--button-bg);color:var(--ink);font:inherit;cursor:pointer}.timer-fullscreen-theme{justify-self:center;display:inline-grid;grid-template-columns:repeat(2,2.25rem);gap:.45rem}.timer-fullscreen-theme button{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--timer-theme-button-bg,var(--bg));color:var(--muted);font:inherit;font-size:.86rem;cursor:pointer}.timer-fullscreen-theme button.is-active{border-color:var(--ink);background:var(--timer-theme-button-active-bg,var(--paper-strong));color:var(--ink)}.timer-floating-time:focus-visible,.timer-floating-close:focus-visible,.timer-fullscreen-head button:focus-visible,.timer-fullscreen-controls button:focus-visible,.timer-fullscreen-theme button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.todo-panel{display:grid;gap:.85rem}.todo-status,.todo-card{border:1px solid var(--line);background:var(--panel-bg)}.todo-status{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.65rem;background:var(--paper-strong)}.todo-status h2{font-size:.96rem}.todo-status p{margin-top:.22rem;font-size:.76rem}.todo-card{display:grid;gap:.65rem;padding:.7rem}.todo-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.todo-card-head p{min-width:0;color:var(--ink);font-size:.78rem;font-weight:700;overflow-wrap:anywhere}.todo-card-head span{flex:none;color:var(--muted);font-size:.72rem}.todo-form{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:.4rem}.anniversary-form{display:grid;gap:.55rem}.todo-field{display:grid;gap:.32rem}.todo-field span{color:var(--ink);font-size:.76rem;font-weight:700}.todo-form input,.todo-field input,.todo-title-input,.anniversary-edit input,.anniversary-edit select,.anniversary-edit button{width:100%;min-width:0;padding:.42rem .5rem;border:1px solid var(--line);border-radius:0;background:var(--paper-strong);color:var(--ink);font:inherit;font-size:.78rem}.anniversary-edit button{cursor:pointer}.anniversary-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.anniversary-mode label,.todo-filter{display:flex;align-items:center;gap:.4rem;padding:.42rem .5rem;border:1px solid var(--line);background:var(--paper-strong);color:var(--muted);font-size:.76rem}.anniversary-mode input,.todo-filter input{margin:0;accent-color:var(--accent)}.todo-list,.anniversary-list{display:grid;gap:0}.todo-list{border:1px solid var(--line);background:var(--paper-strong)}.todo-item,.anniversary-item{display:grid;gap:.5rem;padding:.48rem;border:1px solid var(--line);background:var(--paper-strong)}.todo-item{position:relative;grid-template-columns:1.55rem .88rem minmax(0,1fr)1.15rem;align-items:center;gap:.42rem;padding:.5rem .55rem;border:0;background:0 0}.todo-item:not(:last-child)::after{content:"";position:absolute;left:.55rem;right:.55rem;bottom:0;border-bottom:1px solid var(--line)}.todo-index{color:var(--muted);font-size:.78rem;text-align:right}.todo-state,.todo-delete,.anniversary-delete{display:inline-grid;place-items:center;width:.78rem;height:.78rem;padding:0;border:1px solid var(--ink);border-radius:0;background:var(--paper-strong);color:var(--ink);font:inherit;line-height:1;cursor:pointer}.todo-item.is-done .todo-state{background:var(--ink)}.todo-title{min-width:0;color:var(--ink);font-size:.8rem;line-height:1.35;overflow-wrap:anywhere;cursor:text}.todo-item.is-done .todo-title{color:var(--muted);text-decoration:line-through}.todo-title-input{padding-block:.28rem}.todo-delete,.anniversary-delete{width:1.15rem;height:1.15rem;border-color:transparent;background:0 0;font-size:1rem}.anniversary-item{grid-template-columns:minmax(0,1fr)1.25rem;align-items:start}.anniversary-result{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;cursor:text}.anniversary-result strong{min-width:0;color:var(--ink);font-size:.8rem;font-weight:700;overflow-wrap:anywhere}.anniversary-result span{flex:none;color:var(--muted);font-size:.76rem;white-space:nowrap}.anniversary-edit{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr)7.4rem 5.6rem auto;gap:.4rem}.anniversary-edit[hidden]{display:none}.todo-status button,.todo-form button,.anniversary-form button{border:1px solid var(--line);border-radius:0;background:var(--button-bg);color:var(--ink);font:inherit;cursor:pointer}.todo-status button,.todo-form button,.anniversary-form button{padding:.36rem .6rem;font-size:.74rem}.todo-empty{color:var(--muted);font-size:.78rem}.todo-status button:hover,.todo-form button:hover,.anniversary-form button:hover,.anniversary-edit button:hover,.todo-state:hover,.todo-delete:hover,.anniversary-delete:hover,.todo-status button:focus-visible,.todo-form button:focus-visible,.anniversary-form button:focus-visible,.anniversary-edit button:focus-visible,.todo-state:focus-visible,.todo-delete:focus-visible,.anniversary-delete:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.todo-form input:focus-visible,.todo-field input:focus-visible,.todo-title-input:focus-visible,.anniversary-edit input:focus-visible,.anniversary-edit select:focus-visible,.anniversary-edit button:focus-visible,.todo-status button:focus-visible,.todo-form button:focus-visible,.anniversary-form button:focus-visible,.todo-state:focus-visible,.todo-delete:focus-visible,.anniversary-delete:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.api-config-panel{display:grid;gap:.85rem}.api-config-status{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.65rem;border:1px solid var(--line);background:var(--paper-strong)}.api-config-status h2{font-size:.96rem}.api-config-status p{margin-top:.22rem;font-size:.76rem}.api-config-actions{flex:none;display:flex;gap:.35rem}.api-config-actions button,.api-config-field-inline button,.api-config-range-head button{border:1px solid var(--line);border-radius:0;background:var(--button-bg);color:var(--ink);font:inherit;cursor:pointer}.api-config-actions button{padding:.3rem .48rem;font-size:.74rem}.api-config-section{display:grid;gap:.55rem;padding:.7rem;border:1px solid var(--line);background:var(--panel-bg)}.api-config-section-title{color:var(--ink);font-size:.78rem;font-weight:700}.api-config-note{padding:.55rem;border:1px solid var(--line);background:var(--overlay-soft);color:var(--muted);font-size:.74rem;line-height:1.55}.api-config-field{display:grid;gap:.32rem}.api-config-field span{color:var(--ink);font-size:.76rem;font-weight:700}.api-config-field input,.api-config-field select{width:100%;min-width:0;padding:.42rem .5rem;border:1px solid var(--line);border-radius:0;background:var(--paper-strong);color:var(--ink);font:inherit;font-size:.78rem}.api-config-field input::placeholder{color:var(--overlay-quiet)}.api-config-field-inline{grid-template-columns:minmax(0,1fr)auto;align-items:center}.api-config-field-inline button{padding:.36rem .6rem;font-size:.74rem}.api-config-range{display:grid;gap:.38rem;padding-top:.58rem;border-top:1px solid var(--line)}.api-config-range:first-of-type{padding-top:0;border-top:0}.api-config-range-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.api-config-range-head label{min-width:0;color:var(--ink);font-size:.76rem;font-weight:700;line-height:1.35}.api-config-range-head button{flex:none;padding:.2rem .42rem;color:var(--muted);font-size:.7rem}.api-config-range-control{display:grid;grid-template-columns:minmax(0,1fr)3.1rem;align-items:center;gap:.55rem}.api-config-range-control input[type=range]{width:100%;accent-color:var(--accent)}.api-config-range-control output{display:inline-flex;align-items:center;justify-content:center;min-height:1.7rem;border:1px solid var(--line);background:var(--paper-strong);color:var(--ink);font-size:.78rem}.api-config-message{min-height:1.2rem;color:var(--muted);font-size:.76rem}.api-config-actions button:hover,.api-config-field-inline button:hover,.api-config-range-head button:hover,.api-config-actions button:focus-visible,.api-config-field-inline button:focus-visible,.api-config-range-head button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.api-config-actions button:focus-visible,.api-config-field-inline button:focus-visible,.api-config-range-head button:focus-visible,.api-config-field input:focus-visible,.api-config-field select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media(max-width:920px){.site-frame{grid-template-columns:1fr;gap:1.75rem;width:min(calc(100% - 1.5rem),860px);padding-top:1rem}.site-sidebar{position:static}.site-content{padding-left:0;border-left:0}.sidebar-panel{grid-template-columns:1fr}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-launcher{right:1rem;bottom:1rem}.agent-sidebar{width:min(30rem,calc(100vw - 2rem));height:min(36rem,calc(100vh - 2rem))}}@media(max-width:640px){.site-frame{width:min(calc(100% - 1.1rem),640px);gap:1.3rem}.sidebar-brand-card,.sidebar-nav-panel,.sidebar-profile-card,.page-header,.reading-card,.article-main,.taxonomy-card{padding-left:1.05rem;padding-right:1.05rem;border-radius:0}.sidebar-profile-card{gap:.85rem}.sidebar-title{font-size:1.62rem}.sidebar-nav{grid-template-columns:1fr}.sidebar-profile-card{row-gap:.7rem}.section-heading,.reading-card-top,.reading-card-footer{flex-direction:column;align-items:flex-start}.article-page-shell{grid-template-columns:1fr;gap:1rem}.article-aside{position:static;max-height:none;overflow:visible}.article-toc-card,.series-reading-card{max-width:none}.writing-title{font-size:1.32rem}.writing-heatmap-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-body{font-size:1rem}.reading-action{width:100%}.agent-sidebar{width:calc(100vw - 1rem);height:min(34rem,calc(100vh - 1rem))}.agent-sidebar-panel{padding:.75rem}.agent-sidebar-body{grid-template-columns:4.55rem minmax(0,1fr)}}@media(max-width:480px){.writing-heatmap-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}