:root{--paper:#f2f5f7;--grid:#dde5eb;--ink:#1f3a5f;--ink-soft:#566779;--rule:#c5d1db;--sheet:#fff;--red:#c23a2b;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", serif;--sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;--step:8px;--measure:38em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);font:16px/1.7 var(--sans);background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:-1px -1px;background-size:24px 24px;margin:0}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--red);outline-offset:2px}h1,h2{font-family:var(--serif);margin:0;font-weight:700;line-height:1.3}h1{font-size:2rem}h2{font-size:1.25rem}p{margin:0}.muted,.hint{color:var(--ink-soft);font-size:.875rem}.site-header{justify-content:space-between;align-items:baseline;gap:calc(var(--step) * 2);padding:calc(var(--step) * 2) calc(var(--step) * 3);background:var(--sheet);border-bottom:2px solid var(--ink);display:flex}.brand{font-family:var(--serif);letter-spacing:.08em;font-size:1.375rem;font-weight:700;text-decoration:none}.site-nav{align-items:baseline;gap:calc(var(--step) * 3);flex-wrap:wrap;display:flex}.site-nav a{text-decoration:none}.nav-user{align-items:baseline;gap:var(--step);margin:0;display:flex}.nav-email{color:var(--ink-soft);font-size:.875rem}.page{max-width:1200px;padding:calc(var(--step) * 5) calc(var(--step) * 3) calc(var(--step) * 10);margin:0 auto}.narrow{gap:calc(var(--step) * 3);max-width:32rem;display:grid}.button{min-height:40px;padding:0 calc(var(--step) * 2.5);font:inherit;color:var(--sheet);background:var(--ink);border:2px solid var(--ink);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:#162b47}.button:disabled{opacity:.6;cursor:progress}.button-quiet{color:var(--ink);background:var(--sheet)}.button-quiet:hover{background:var(--paper)}.link-button{font:inherit;color:var(--ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.form{gap:calc(var(--step) * 2);padding:calc(var(--step) * 3);background:var(--sheet);border:1px solid var(--rule);display:grid}.field{gap:4px;display:grid}.field>span{font-size:.875rem;font-weight:600}.field-row{gap:calc(var(--step) * 2);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}input,select,textarea{font:inherit;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:4px;width:100%;min-height:40px;padding:6px 10px}input[type=file]{padding:6px}textarea.code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8125rem}.paste summary{cursor:pointer;color:var(--ink-soft)}.paste textarea{margin-top:var(--step)}.danger summary{cursor:pointer;color:var(--red)}.danger .form{margin-top:var(--step);border-color:var(--red)}.button-danger{background:var(--red);border-color:var(--red)}.button-danger:disabled{cursor:not-allowed}.form-error{padding:calc(var(--step) * 1.5) calc(var(--step) * 2);border-left:3px solid var(--red);background:#fbefed}.form-error ul{margin:var(--step) 0 0;padding-left:1.25em;font-size:.875rem}.form-error li[data-severity=warning]{color:var(--ink-soft)}.version-mark{min-width:2.4em;height:2.4em;font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--ink-soft);border:1.5px solid var(--rule);white-space:nowrap;border-radius:50%;place-items:center;padding:0 .35em;font-size:.8125rem;font-weight:700;display:inline-grid;transform:rotate(-6deg)}.version-mark[data-current]{color:var(--red);border-color:var(--red)}.intro{gap:var(--step);margin-bottom:calc(var(--step) * 4);max-width:var(--measure);display:grid}.intro h1{font-size:2.5rem}.intro p{color:var(--ink-soft)}.filters{align-items:flex-end;gap:calc(var(--step) * 2);padding:calc(var(--step) * 2);margin-bottom:calc(var(--step) * 5);background:var(--sheet);border:1px solid var(--rule);flex-wrap:wrap;display:flex}.filters label{gap:4px;font-size:.875rem;display:grid}.filters select{width:auto;min-width:7rem}.filters select[data-active=true]{border-color:var(--red);color:var(--red)}.filters-q{flex:14rem}.filters-clear{align-self:center;font-size:.875rem}.empty{padding:calc(var(--step) * 4) 0;color:var(--ink-soft)}.contents{gap:calc(var(--step) * 5);display:grid}.contents-group h2{padding-bottom:var(--step);border-bottom:2px solid var(--ink)}.contents-list{background:var(--sheet);margin:0;padding:0;list-style:none}.contents-list li{align-items:center;gap:calc(var(--step) * 2);padding:calc(var(--step) * 1.5) calc(var(--step) * 2);border-bottom:1px dashed var(--rule);grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1fr) auto;display:grid}.contents-title{font-family:var(--serif);font-size:1.125rem;font-weight:700;text-decoration:none}.contents-title:hover{text-decoration:underline}.contents-unit,.contents-book{color:var(--ink-soft);font-size:.875rem}.tool-head{align-items:center;gap:calc(var(--step) * 2);margin-bottom:calc(var(--step) * 3);flex-wrap:wrap;display:flex}.tool-old{color:var(--red);flex-basis:100%;font-size:.875rem}.tool-body{gap:calc(var(--step) * 4);grid-template-columns:minmax(0,1fr) 20rem;align-items:start;display:grid}.tool-stage{gap:calc(var(--step) * 2);display:grid}.screen{aspect-ratio:16/9;background:var(--sheet);border:6px solid var(--ink);border-radius:6px}.screen iframe{border:0;width:100%;height:100%;display:block}.tool-actions{gap:calc(var(--step) * 1.5);flex-wrap:wrap;display:flex}.tool-desc{max-width:var(--measure);white-space:pre-line}.tool-side{gap:calc(var(--step) * 4);display:grid}.tool-side section{gap:calc(var(--step) * 1.5);display:grid}.facts{gap:var(--step);padding:calc(var(--step) * 2);background:var(--sheet);border:1px solid var(--rule);margin:0;display:grid}.facts div{gap:var(--step);grid-template-columns:4em 1fr;display:grid}.facts dt{color:var(--ink-soft);padding-top:2px;font-size:.875rem}.facts dd{margin:0}.versions{gap:calc(var(--step) * 1.5);margin:0;padding:0;list-style:none;display:grid}.versions li{align-items:center;gap:calc(var(--step) * 1.5);grid-template-columns:auto 1fr auto;display:grid}.versions li[data-shown]>div p:first-child{font-weight:600}.versions a{text-decoration:none}.versions form{margin:0;font-size:.875rem}.present{z-index:10;background:var(--sheet);position:fixed;inset:0}.present iframe{border:0;width:100%;height:100%;display:block}.present-controls{right:calc(var(--step) * 2);bottom:calc(var(--step) * 2);gap:var(--step);opacity:.35;transition:opacity .15s;display:flex;position:absolute}.present-controls:hover,.present-controls:focus-within{opacity:1}.intro-row{justify-content:space-between;align-items:flex-end;gap:calc(var(--step) * 2);flex-wrap:wrap;max-width:none;display:flex}.intro-row>div{gap:var(--step);max-width:var(--measure);display:grid}.narrow-wide{max-width:44rem}.crumb{margin-bottom:var(--step);font-size:.875rem}.filters .check{align-self:center;align-items:center;gap:6px;display:flex}.filters .check input{width:auto;min-height:0}.status{color:var(--ink-soft);border:1px solid var(--rule);white-space:nowrap;background:var(--sheet);border-radius:999px;padding:2px 10px;font-size:.8125rem;display:inline-block}.status[data-status=open]{color:var(--ink);border-color:var(--ink)}.status[data-status=delivered]{color:var(--red);border-color:var(--red)}.requests-list li{grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1fr) auto}.request-desc{max-width:var(--measure);white-space:pre-line;padding:calc(var(--step) * 2.5);background:var(--sheet);border:1px solid var(--rule)}.comments{gap:calc(var(--step) * 2);max-width:var(--measure);margin-top:calc(var(--step) * 2);display:grid}.comment-group h3,.comment-group summary{margin:0 0 var(--step);font-size:1rem;font-weight:600}.comment-group summary{cursor:pointer;color:var(--ink-soft)}.comment-list{gap:calc(var(--step) * 1.5);margin:0;padding:0;list-style:none;display:grid}.comment-list li{padding:calc(var(--step) * 1.5) calc(var(--step) * 2);background:var(--sheet);border:1px solid var(--rule)}.comment-replies{gap:var(--step);margin:calc(var(--step) * 1.5) 0 0;padding:0 0 0 calc(var(--step) * 2);border-left:2px solid var(--grid);list-style:none;display:grid}.comment-list .comment-replies li{padding:var(--step) 0 0;background:0 0;border:0}.comment-reply-form{margin-top:var(--step)}.comment-meta{align-items:baseline;gap:var(--step);flex-wrap:wrap;margin:0 0 4px;font-size:.875rem;display:flex}.comment-actions{gap:calc(var(--step) * 1.5);margin-left:auto;display:flex}.comment-edit{gap:var(--step);display:grid}.comment-edit textarea{width:100%;font:inherit}.comment-edit-actions{gap:var(--step);display:flex}.form-error-inline{color:var(--red);margin:0;font-size:.875rem}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.note{gap:var(--step);padding:calc(var(--step) * 2) calc(var(--step) * 2.5);background:var(--sheet);border-left:3px solid var(--ink);display:grid}.note-title{font-weight:600}.stack{gap:calc(var(--step) * 1.5);display:grid}.action-form{gap:var(--step);justify-items:start;margin:0;display:grid}.token{padding:var(--step) calc(var(--step) * 1.5);background:var(--paper);border:1px solid var(--rule);overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8125rem;display:block}.token-list{background:var(--sheet);border:1px solid var(--rule);margin:0;padding:0;list-style:none}.token-list li{justify-content:space-between;align-items:center;gap:calc(var(--step) * 2);padding:calc(var(--step) * 1.5) calc(var(--step) * 2);border-bottom:1px dashed var(--rule);display:flex}.token-list form{margin:0}@media (max-width:900px){.tool-body{grid-template-columns:1fr}.contents-list li,.requests-list li{grid-template-columns:1fr auto}.requests-list .status{grid-area:1/2}.contents-unit,.contents-book{grid-column:1}.version-mark{grid-area:1/2}}@media (max-width:600px){.page{padding:calc(var(--step) * 3) calc(var(--step) * 2) calc(var(--step) * 8)}.site-header{padding:calc(var(--step) * 1.5) calc(var(--step) * 2)}.intro h1{font-size:1.875rem}.nav-email{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
