:root{color:#1e2421;font-synthesis:none;text-rendering:optimizelegibility;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--text-caption-size:12px;--text-caption-line:16px;--text-secondary-size:14px;--text-secondary-line:20px;--text-body-size:16px;--text-body-line:24px;--text-subheading-size:18px;--text-subheading-line:26px;--text-section-size:20px;--text-section-line:28px;--text-page-size:28px;--text-page-line:36px;--text-metric-size:24px;--text-metric-line:30px;--radius-md:8px;--radius-lg:12px;--control-touch:44px;--z-sticky:10;--page-padding-inline:var(--space-4);--section-gap:var(--space-6);--panel-padding:var(--space-4);--content-shell:520px;--canvas:#f7f7f2;--surface:#fff;--surface-muted:#eef2ee;--text:#1e2421;--text-muted:#67706b;--border:#dfe5e1;--accent:#1f5f4a;--accent-soft:#dcebe4;--warning-soft:#f7ead2;--danger-soft:#f6dfdc;--priority-a:#9f3028;--priority-b:#8a6419;background:#f7f7f2;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);min-width:320px;min-height:100dvh;font-size:var(--text-body-size);line-height:var(--text-body-line);margin:0}a{color:inherit}button,input{font:inherit}button{min-height:var(--control-touch);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{width:min(100%, var(--content-shell));background:var(--canvas);border-inline:1px solid color-mix(in srgb, var(--border) 70%, transparent);min-height:100dvh;margin:0 auto}.page{min-height:100dvh;padding:calc(env(safe-area-inset-top) + var(--space-5)) var(--page-padding-inline) calc(88px + env(safe-area-inset-bottom))}.hero{padding-block:var(--space-3) var(--space-5)}.hero h1,.page-header h1,.article-header h1{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-page-size);line-height:var(--text-page-line);letter-spacing:-.0075em}.hero-copy,.page-header>p,.article-summary{color:var(--text-muted);font-size:var(--text-body-size);line-height:var(--text-body-line);margin:0}.eyebrow{color:var(--accent);font-size:var(--text-caption-size);line-height:var(--text-caption-line);letter-spacing:.06em;margin:0;font-weight:700}.stack{gap:var(--space-3);display:grid}.daily-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:36px 1fr;text-decoration:none;display:grid}.daily-card h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-subheading-size);line-height:var(--text-subheading-line)}.daily-card>div>p:not(.daily-category){color:var(--text-muted);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line);margin:0}.daily-index{font-variant-numeric:tabular-nums;color:var(--accent);font-size:var(--text-section-size);line-height:var(--text-section-line);font-weight:700}.daily-category{font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:600}.section{margin-top:var(--section-gap)}.section-heading{justify-content:space-between;align-items:end;gap:var(--space-3);display:flex}.section-heading h2,.quick-search h2{margin:var(--space-1) 0 0;font-size:var(--text-section-size);line-height:var(--text-section-line)}.section-heading>a{min-height:var(--control-touch);color:var(--accent);font-size:var(--text-secondary-size);align-items:center;text-decoration:none;display:inline-flex}.progress-line{align-items:baseline;gap:var(--space-1);margin-top:var(--space-4);display:flex}.progress-line strong{font-size:var(--text-metric-size);line-height:var(--text-metric-line)}.progress-line span{color:var(--text-muted);font-size:var(--text-secondary-size)}.progress-track{height:6px;margin-top:var(--space-2);background:var(--surface-muted);border-radius:999px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.stage-summary-copy{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line)}.stage-entry{min-height:var(--control-touch);margin-top:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--accent);font-size:var(--text-secondary-size);font-weight:600;text-decoration:none;display:flex}.back-link{min-height:var(--control-touch);margin-bottom:var(--space-2);color:var(--text-muted);font-size:var(--text-secondary-size);align-items:center;text-decoration:none;display:inline-flex}.timeline-header{padding-bottom:var(--space-5)}.timeline{margin:var(--space-2) 0 0;padding:0;list-style:none}.timeline-item{gap:var(--space-3);grid-template-columns:28px minmax(0,1fr);display:grid}.timeline-rail{justify-content:center;display:flex;position:relative}.timeline-rail:after{content:"";background:var(--border);width:2px;position:absolute;top:18px;bottom:0}.timeline-item:last-child .timeline-rail:after{display:none}.timeline-dot{z-index:1;border:2px solid var(--border);background:var(--canvas);border-radius:999px;width:10px;height:10px;margin-top:7px;position:relative}.timeline-item-current .timeline-dot{border-color:var(--accent);background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 4px var(--accent-soft);margin-top:5px}.timeline-stage{min-width:0;padding-bottom:var(--space-5);text-decoration:none}.timeline-stage-planned .timeline-age{color:var(--text-muted)}.timeline-stage-current{margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius-lg);background:var(--surface)}.timeline-stage-topline{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.timeline-age{font-size:var(--text-subheading-size);line-height:var(--text-subheading-line);display:block}.timeline-stage-title{color:var(--text-muted);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line);margin-top:2px;display:block}.timeline-status{padding:var(--space-1) var(--space-2);background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-caption-size);line-height:var(--text-caption-line);border-radius:999px;flex:none;font-weight:600}.timeline-status-current{background:var(--accent-soft);color:var(--accent)}.timeline-stage>p{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line)}.timeline-stage-current>p{color:var(--text)}.timeline-progress{margin-top:var(--space-4);justify-content:space-between;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-caption-size);line-height:var(--text-caption-line);display:flex}.timeline-enter{min-height:var(--control-touch);margin-top:var(--space-2);color:var(--accent);font-size:var(--text-secondary-size);justify-content:space-between;align-items:center;font-weight:600;display:flex}.stage-map-section{margin-top:var(--space-5)}.domain-list{margin-top:var(--space-3);border-top:1px solid var(--border)}.domain-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:112px;padding-block:var(--space-4);border-bottom:1px solid var(--border);text-decoration:none;display:flex}.domain-row-ready{color:var(--text)}.domain-row-planned .domain-main>p,.domain-row-planned .domain-title-line h3{color:var(--text-muted)}.domain-main{flex:1;min-width:0}.domain-title-line{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.domain-title-line h3{font-size:var(--text-body-size);line-height:var(--text-body-line);margin:0}.domain-status{padding:var(--space-1) var(--space-2);background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-caption-size);line-height:var(--text-caption-line);border-radius:999px;flex:none;font-weight:600}.domain-status-ready{background:var(--accent-soft);color:var(--accent)}.domain-main>p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line)}.domain-main>.domain-examples{font-size:var(--text-caption-size);line-height:var(--text-caption-line)}.domain-main>.domain-progress-copy{color:var(--accent);font-size:var(--text-caption-size);line-height:var(--text-caption-line)}.domain-arrow{color:var(--accent);flex:none;font-weight:700}.search-entry{min-height:52px;margin-top:var(--space-4);padding-inline:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);align-items:center;text-decoration:none;display:flex}.page-header{padding-bottom:var(--space-3)}.compact-header{padding-bottom:var(--space-2)}.group-title{margin:0 0 var(--space-2);font-size:var(--text-body-size);line-height:var(--text-body-line)}.list{border-top:1px solid var(--border)}.knowledge-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:88px;padding-block:var(--space-3);border-bottom:1px solid var(--border);text-decoration:none;display:flex}.knowledge-row-disabled .row-main h3,.knowledge-row-disabled .row-status{color:var(--text-muted)}.row-main{min-width:0}.row-main h3{margin:var(--space-1) 0;font-size:var(--text-body-size);line-height:var(--text-body-line)}.row-main p{color:var(--text-muted);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line);margin:0}.row-meta{gap:var(--space-2);color:var(--text-muted);font-size:var(--text-caption-size);line-height:var(--text-caption-line);flex-wrap:wrap;display:flex}.priority{font-weight:700}.priority-a{color:var(--priority-a)}.priority-b{color:var(--priority-b)}.priority-c{color:var(--accent)}.row-status{color:var(--accent);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line);flex:none}.knowledge-row-disabled .row-status{color:var(--text-muted)}.search-box{margin-bottom:var(--space-4);display:block}.search-box input{width:100%;height:48px;padding-inline:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--text-body-size);line-height:var(--text-body-line)}.search-results{margin-top:var(--space-2)}.article-page{padding-top:calc(env(safe-area-inset-top) + var(--space-3))}.article-actions{justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.article-actions button{background:0 0}.article-header{padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.article-section{padding-block:var(--space-5);border-bottom:1px solid var(--border)}.article-section h2{margin:0 0 var(--space-3);font-size:var(--text-subheading-size);line-height:var(--text-subheading-line)}.article-section ul{margin:0;padding-left:1.25rem}.article-section li{margin-bottom:var(--space-3);font-size:var(--text-body-size);line-height:var(--text-body-line)}.action-section{margin-inline:calc(var(--space-2) * -1);padding-inline:var(--space-3);border-radius:var(--radius-lg);background:var(--accent-soft);border:0}.sources{gap:var(--space-2);display:grid}.sources a{color:var(--accent);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line)}.sources p{color:var(--text-muted);font-size:var(--text-caption-size);margin:0}.knowledge-boundary{margin-top:var(--space-5);padding:var(--panel-padding);border-radius:var(--radius-lg);background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-secondary-size);line-height:var(--text-secondary-line)}.empty-state{text-align:center;padding-top:30vh}.empty-state h1{font-size:var(--text-section-size);line-height:var(--text-section-line)}.empty-state p{color:var(--text-muted)}.empty-state a{min-height:var(--control-touch);color:var(--accent);align-items:center;display:inline-flex}.bottom-nav{z-index:var(--z-sticky);width:min(100%, var(--content-shell));min-height:calc(60px + env(safe-area-inset-bottom));padding:var(--space-2) var(--space-3) env(safe-area-inset-bottom);gap:var(--space-2);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-height:var(--control-touch);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-secondary-size);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.bottom-nav a.active{background:var(--accent-soft);color:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=520px){:root{--page-padding-inline:var(--space-5)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:1ms;animation-duration:1ms}}@media (prefers-color-scheme:dark){:root{color:#e8ece9;--canvas:#151916;--surface:#1d231f;--surface-muted:#262e29;--text:#e8ece9;--text-muted:#a7b0aa;--border:#343d37;--accent:#86c8a9;--accent-soft:#203d31;--warning-soft:#44371f;--danger-soft:#442826;--priority-a:#ffaaa3;--priority-b:#e7c56b;background:#151916}}.page h1:focus{outline:none}.document-checklist-section{padding-top:var(--space-2)}.document-status-hint{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--text-caption-size);line-height:var(--text-caption-line)}.document-groups,.document-group+.document-group{margin-top:var(--space-5)}.document-group h3{margin:0 0 var(--space-2);font-size:var(--text-body-size);line-height:var(--text-body-line)}.document-list{border-top:1px solid var(--border)}.document-row{width:100%;min-height:52px;padding:var(--space-2) 0;justify-content:space-between;align-items:center;gap:var(--space-3);border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;border-radius:0;display:flex}.document-state{padding:var(--space-1) var(--space-2);background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-caption-size);line-height:var(--text-caption-line);border-radius:999px;flex:none;font-weight:600}.document-row-organized .document-state{background:var(--accent-soft);color:var(--accent)}.document-row-not-applicable>span:first-child,.document-row-not-applicable .document-state{color:var(--text-muted)}
