:root{--paper:#f6f3e9;--surface:#fffdf6;--ink:#29382e;--muted:#626c60;--line:#d9ddcf;--green:#52694d;--green-light:#e4ebde;--orange:#9b6945;--blue:#4f6f85;--rose:#986372;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.75;background-image:radial-gradient(#8f987710 .8px,transparent .8px);background-size:7px 7px}button,select{font:inherit;color:inherit}button,a,select,input,summary{touch-action:manipulation}a{color:inherit}button{cursor:pointer}a,button,select,summary,input{outline-offset:5px}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--green)}[hidden]{display:none!important}.wrap{max-width:1200px;width:calc(100% - 96px);margin-inline:auto}.masthead{padding:27px 0 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:22px;font-family:var(--serif);font-weight:600;line-height:1.4}.brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:2.1px;margin-top:4px;color:var(--muted);font-weight:400}.envelope{width:34px;fill:none;stroke:var(--green);stroke-width:1.6}.masthead nav{display:flex;gap:26px;color:var(--muted);font-size:12px}.masthead nav a{text-decoration:none}.masthead nav a:hover,.text-link:hover{color:var(--green);text-decoration:underline}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;padding:49px 0 41px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;margin:0 0 12px;color:var(--green);font-weight:600}.pixel-square{display:inline-block;width:7px;height:7px;background:var(--green);margin-right:7px}.phase{letter-spacing:.5px;margin-left:10px;padding:3px 7px;border:1px solid var(--line);font-size:10px;color:var(--muted)}h1{font-family:var(--serif);font-weight:600;letter-spacing:1px;font-size:46px;line-height:1.35;margin:19px 0 17px}h2{font-size:25px;font-family:var(--serif);line-height:1.4;margin:0;font-weight:600}h3{font-size:13px;margin:0 0 10px}.intro{color:var(--muted);font-size:13px;line-height:2.1;margin:0 0 24px}.meta{font-size:11px;display:flex;gap:27px;margin:0;flex-wrap:wrap}.meta div{display:flex;gap:8px}.meta dt{color:var(--muted)}.meta dd{margin:0}.overall-paper{background:var(--surface);border:1px solid var(--line);padding:22px 27px 17px;box-shadow:5px 5px 0 #e9e8dc;position:relative}.paper-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:.6px}.stamp{position:absolute;right:24px;top:18px;border:1px dashed #9ba98c;outline:1px solid #d8decc;outline-offset:3px;transform:rotate(8deg);color:#7a8d6b;line-height:1.5;padding:4px 9px;font-size:10px;letter-spacing:2px;text-align:center}.overall-value{font-size:32px;font-family:var(--serif);font-weight:600;line-height:1.4;margin:16px 0 17px}.overall-value.known{font-family:var(--sans);font-size:43px;font-variant-numeric:tabular-nums}.meter{height:6px;background:#e5e9de;border-radius:1px;overflow:hidden}.meter .fill{height:100%;background:var(--green)}.meter.unknown{background:repeating-linear-gradient(120deg,#e1e6d9 0,#e1e6d9 6px,#f2f4ec 6px,#f2f4ec 11px)}.formula{font-size:10px;letter-spacing:.5px;margin:12px 0;color:var(--muted)}.formula span{margin:0 8px;color:#a0a88f}.formula strong{font-weight:600;color:var(--ink)}.overall-reasons{font-size:11px;line-height:1.8;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;margin-top:12px}.overall-reasons p{margin:0}.method-note{font-size:10px;color:var(--muted);margin:12px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:23px}.section-heading.compact{align-items:center;margin-bottom:17px}.compact h2{font-family:var(--sans);font-size:13px;letter-spacing:.5px}.section-aside,.small-note{font-size:11px;color:var(--muted)}.dimension-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.dimension-card{background:#fffdf6b3;border:1px solid var(--line);padding:18px 19px 17px;border-top:2px solid var(--green);min-width:0}.dimension-card[data-dimension=art]{border-top-color:var(--orange)}.dimension-card[data-dimension=system]{border-top-color:var(--blue)}.dimension-card[data-dimension=polish]{border-top-color:var(--rose)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-header h3{font-family:var(--serif);font-size:17px;margin:0}.weight-tag{font-size:10px;color:var(--muted)}.dimension-score{font-size:27px;font-weight:500;line-height:1.5;margin:14px 0 8px;font-variant-numeric:tabular-nums}.dimension-score.pending{font-size:18px;font-family:var(--serif);padding:7px 0 8px}.contribution{font-size:10px;color:var(--muted);margin:8px 0 14px}.card-review{font-size:11px;line-height:1.9;color:var(--muted);margin:0;min-height:63px}.manual-line{font-size:11px;padding:8px 0;border-block:1px dashed var(--line);margin:12px 0 0;color:var(--green)}.remaining-list{padding:0;list-style:none;font-size:10px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;margin:13px 0 0}.remaining-list li{margin-top:4px}.remaining-list li:before{content:"□";margin-right:6px}.updates-section,.todo-section,.history-section,.method-section{margin-top:48px;padding-top:34px;border-top:1px solid var(--line)}.delta-tag{font-size:11px;background:var(--green-light);padding:4px 12px;color:var(--green);white-space:nowrap}.update-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:38px}.highlights{list-style:none;padding:0;margin:0;counter-reset:letter}.highlights li{counter-increment:letter;position:relative;padding:13px 0 13px 37px;border-bottom:1px dashed var(--line);font-size:12px;line-height:1.9}.highlights li:first-child{padding-top:0}.highlights li:before{content:counter(letter,decimal-leading-zero);position:absolute;left:0;font-size:10px;color:var(--green);top:16px}.highlights li:first-child:before{top:3px}.update-note{background:#e9eddf7d;border-left:2px solid #8ea27c;padding:19px 22px}.update-note h3{font-family:var(--serif);font-size:16px}.update-note ul{font-size:11px;color:var(--muted);padding-left:17px;margin:0;line-height:1.9}.update-note li{margin-bottom:8px}.update-note .small-note{margin:16px 0 0}.text-link{font-size:11px;color:var(--green);text-decoration:none;border-bottom:1px solid #aab99d;white-space:nowrap}.text-link span{margin-left:5px}.filters{display:flex;align-items:end;gap:15px;flex-wrap:wrap;padding:15px 18px;background:#eaeddf8c;border:1px solid var(--line)}.filters label{font-size:10px;color:var(--muted);display:grid;gap:5px}.filters select{height:33px;min-width:150px;border:1px solid #c9d1bf;border-radius:2px;background:var(--surface);font-size:11px;padding:0 27px 0 10px;cursor:pointer}.filter-count{font-size:11px;color:var(--muted);margin:0 0 4px auto}.todo-note{margin:10px 0 16px}.todo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.todo-group{background:#fffdf69e;border:1px solid var(--line);align-self:start}.todo-group summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:14px 16px;position:relative}.todo-group summary::-webkit-details-marker{display:none}.group-name{font-size:13px;font-weight:500;display:flex;gap:11px;align-items:start}.group-name:before{content:"＋";font-size:14px;color:var(--green);font-weight:400;min-width:12px}.todo-group[open] .group-name:before{content:"−"}.group-subtitle{font-size:10px;color:var(--muted);margin:3px 0 0 24px;display:flex;gap:8px;flex-wrap:wrap}.status-pill{font-size:9px;padding:2px 7px;background:#e8eddf;color:var(--green);border-radius:2px;white-space:nowrap}.status-pill.pending_confirmation{background:#eeece3;color:#776d51}.status-pill.not_started{background:#f0eee7;color:#756e62}.status-pill.implemented_unverified{background:#edf0f2;color:#516b80}.status-pill.done{background:#dae7d1;color:#425b39}.branch-pill{font-size:9px;color:var(--blue);border:1px solid #c7d1d9;padding:0 5px}.task-list{border-top:1px dashed var(--line);margin:0 16px;padding:0;list-style:none}.task-row{padding:13px 0;border-bottom:1px dashed var(--line)}.task-row:last-child{border:0}.task-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.task-title{font-size:12px;font-weight:500}.task-meta{font-size:10px;color:var(--muted);margin:6px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.task-criteria{font-size:11px;margin:6px 0 0;color:var(--muted);line-height:1.9;padding-left:14px}.empty-state{font-size:13px;text-align:center;padding:45px 20px;border:1px dashed var(--line);color:var(--muted)}.chart-paper{background:var(--surface);border:1px solid var(--line);padding:20px 24px}.chart-paper fieldset{display:flex;gap:19px;flex-wrap:wrap;border:0;padding:0;margin:0 0 15px}.chart-paper legend{font-size:10px;color:var(--muted);padding:0;margin-bottom:10px}.series-label{display:flex;align-items:center;gap:6px;font-size:11px;cursor:pointer}.series-label input{accent-color:var(--green)}.series-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.chart{width:100%;overflow:hidden}.chart svg{display:block;width:100%;height:auto;max-height:300px}.chart svg text{font-family:var(--sans)}.chart-paper .small-note{margin:8px 0 0}.history-log{margin-top:23px;display:grid;gap:13px}.history-entry{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px 0;border-bottom:1px dashed var(--line)}.history-date{font-size:12px;color:var(--green)}.history-score{font-family:var(--serif);font-size:17px;margin:0 0 6px}.history-tags{font-size:10px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.history-summary{font-size:11px;color:var(--muted);margin:8px 0 0}.history-entry details{font-size:11px;color:var(--muted);margin-top:8px}.history-entry summary{cursor:pointer}.history-entry ul{padding-left:18px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.method-grid h3{font-family:var(--serif);font-size:16px}.method-grid p{font-size:12px;color:var(--muted);line-height:2;margin:9px 0}.method-section .small-note{margin-top:20px}.footer{border-top:1px solid var(--line);padding:23px 0 32px;margin-top:40px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.footer-dot{margin:0 6px}.footer-pixels{width:22px;height:8px;margin-left:13px;fill:#8da17b}.load-panel{margin:60px 0;padding:40px;background:var(--surface);border:1px solid var(--line)}.error-panel h1{font-size:25px}.error-panel button{background:var(--green);color:white;border:0;padding:8px 18px;margin-top:10px;border-radius:2px}.skip-link{position:fixed;top:10px;left:10px;background:var(--surface);padding:10px;z-index:5;transform:translateY(-150%)}.skip-link:focus{transform:none}
@media(min-width:1500px){.hero{padding-top:58px;padding-bottom:47px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:30px}h1{font-size:36px}.dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-review{min-height:0}.masthead nav{gap:18px}.filter-count{width:100%;margin-top:3px}.overall-paper{padding:20px}.stamp{right:20px}.overall-value{font-size:27px}.update-layout{gap:24px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.masthead{padding:19px 0;align-items:start}.brand{font-size:19px;gap:9px}.brand small{font-size:8px;letter-spacing:1.3px}.envelope{width:27px}.masthead nav{gap:12px;font-size:10px;padding-top:6px}.masthead nav a:last-child{display:none}.hero{grid-template-columns:1fr;padding:30px 0;gap:24px}h1{font-size:37px;margin:15px 0}.intro{margin-bottom:17px}.meta{gap:13px;font-size:10px}.overall-paper{padding:20px 21px;box-shadow:4px 4px 0 #e9e8dc}.overall-value{font-size:29px}.section-heading{align-items:start;gap:12px}.section-heading.compact{align-items:start}.section-aside{font-size:10px}.compact h2{font-size:12px}.dimension-grid{grid-template-columns:1fr;gap:12px}.dimension-card{padding:17px 20px}.dimension-score{margin:10px 0 8px}.remaining-list{margin-top:11px}.updates-section,.todo-section,.history-section,.method-section{margin-top:32px;padding-top:26px}h2{font-size:23px}.update-layout{grid-template-columns:1fr;gap:22px}.highlights li{font-size:12px}.delta-tag{font-size:10px}.text-link{font-size:10px;padding-top:6px}.filters{padding:12px;gap:10px;display:grid;grid-template-columns:1fr 1fr}.filters label:last-of-type{grid-column:1 / -1}.filters select{min-width:0;width:100%;font-size:11px}.filter-count{grid-column:1 / -1;margin:2px 0 0;font-size:10px}.todo-grid{grid-template-columns:1fr}.todo-group summary{padding:14px}.group-name{font-size:12px}.group-subtitle{font-size:9px}.chart-paper{padding:15px 10px}.chart-paper fieldset{gap:8px 12px}.series-label{font-size:10px}.history-entry{grid-template-columns:1fr;gap:8px}.history-date{font-size:11px}.method-grid{grid-template-columns:1fr;gap:21px}.footer{font-size:9px;gap:10px;flex-wrap:wrap}.footer-pixels{width:17px;margin-left:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Shared navigation and standalone pages. */
.masthead nav a[aria-current=page]{color:var(--green);font-weight:600;border-bottom:2px solid var(--green);padding-bottom:5px}
.brand small{font-size:11px;letter-spacing:1px}
.page-heading{padding:38px 0 27px;border-bottom:1px solid var(--line);margin-bottom:30px}
.page-heading h1{font-size:36px;margin:12px 0}
.page-heading .intro{margin-bottom:17px}
body:not([data-page=index]) .updates-section,body:not([data-page=index]) .todo-section,body:not([data-page=index]) .history-section,body:not([data-page=index]) .method-section{margin-top:0;padding-top:0;border-top:0}
body[data-page=dimensions] .compact h2{font-family:var(--serif);font-size:23px}
@media(max-width:1000px){.masthead{flex-wrap:wrap;gap:22px}.masthead nav{flex-wrap:wrap;gap:14px 22px}}
@media(max-width:640px){.masthead nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;font-size:12px;padding:0}.masthead nav a:last-child{display:inline}.masthead nav a{padding:4px 0;justify-self:start}.page-heading{padding-top:28px}.page-heading h1{font-size:30px}.hero{padding-bottom:10px}.footer{margin-top:32px}}

/* Todo dimension navigation and distinct task states. */
.dimension-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.dimension-switch button{padding:8px 18px;border:1px solid #adb7a6;background:var(--surface);border-radius:3px;font-size:12px}
.dimension-switch button[aria-pressed="true"]{background:#354f3a;color:#fff;border-color:#354f3a}
.dimension-switch button:hover{border-color:#354f3a}
.todo-grid{grid-template-columns:minmax(0,1fr)}
.status-pill{border:1px solid transparent;font-size:10px;font-weight:600}
.status-pill.not_started{background:#e8eaee;color:#454e5c;border-color:#b9c0cb}
.status-pill.in_progress{background:#dcecff;color:#174e91;border-color:#8fb8e8}
.status-pill.implemented_unverified{background:#fff0cd;color:#795100;border-color:#ddba62}
.status-pill.done{background:#d7efdd;color:#205b31;border-color:#88bd95}
.status-pill.pending_confirmation{background:#eee0f6;color:#704188;border-color:#b997ca}
.branch-pill{background:#e1f1f2;color:#245f65;border-color:#92bcbf}
@media(max-width:640px){.dimension-switch{gap:8px}.dimension-switch button{flex:1 1 auto;padding:8px 12px}.filters label:last-of-type{grid-column:auto}}
