:root{--surface:#fff;--surface-soft:#f3f4ee;--text:#293a32;--muted:#637168;--border:#dce2d8;--accent:#345649;--name-font:"Songti SC", "SimSun", serif;--body-font:"Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--water-bg:#e3edf7;--water-ink:#254e72;--wood-bg:#e4efde;--wood-ink:#315b34;--metal-bg:#faf0cf;--metal-ink:#705519;--earth-bg:#eee2d5;--earth-ink:#65452e;--fire-bg:#f9e5df;--fire-ink:#863d35;font-family:var(--body-font);color:var(--text);font-synthesis:none;background:#f8f9f5;line-height:1.65}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:#455c36;text-underline-offset:4px}header{border-bottom:1px solid #dfdfd4;justify-content:space-between;align-items:center;gap:20px;max-width:1120px;margin:auto;padding:28px 40px;display:flex}header nav{flex-wrap:wrap;gap:1rem;display:flex}.brand{color:#35472e;font-size:20px;font-weight:700;text-decoration:none}.brand>span:first-child{color:#9d771b;margin-right:8px;font-size:27px}.brand-detail{color:#686e60;margin-left:20px;font-size:13px;font-weight:400}main{max-width:1120px;min-height:calc(100vh - 190px);margin:auto;padding:40px 40px 64px}h1{letter-spacing:.02em;margin:16px 0 22px;font-size:clamp(28px,5vw,44px);font-weight:500;line-height:1.35}h2{margin:0 0 6px;font-size:18px;font-weight:600}p{margin:12px 0}.eyebrow{color:#657357;letter-spacing:.18em;font-size:13px}.intro{color:#696f61;font-size:17px}.notice{background:#fffdf7;border:1px solid #e4dfcd;border-radius:16px;align-items:center;gap:24px;max-width:640px;margin-top:60px;padding:32px;display:flex}.notice p{color:#696f61;margin:0;font-size:14px}.sun{color:#99721b;font-size:50px}.state{max-width:640px;margin:40px auto}.state h1{font-size:32px}.state p{color:#696f61}.button,button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font:inherit;border-radius:8px;margin:24px 12px 0 0;padding:10px 22px;text-decoration:none;display:inline-block}.button.secondary{color:#475b38;background:0 0}:focus-visible{outline-offset:4px;outline:3px solid #a1832d}.spinner{border:3px solid #ddd9c5;border-top-color:#687b49;border-radius:50%;width:28px;height:28px;animation:1s linear infinite spin;display:block}footer{color:#767c6e;border-top:1px solid #dfdfd4;max-width:1120px;margin:auto;padding:24px 40px;font-size:12px}.skip-link{background:#fff;padding:12px;position:absolute;top:-100px}.skip-link:focus{top:0}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}@media (width<=600px){header,footer{padding:20px 24px}header{flex-wrap:wrap}main{padding:44px 24px}.brand-detail{display:none}.notice{gap:16px;margin-top:40px;padding:24px}}.tasks{max-width:900px;margin:3rem auto;padding:0 1.5rem}.task-card{border:1px solid #d8d0b8;border-radius:1rem;margin:1.5rem 0;padding:1.5rem}.task-card progress{width:100%}.tasks li{overflow-wrap:anywhere;margin:.7rem 0}.tasks button{margin:.5rem .5rem .5rem 0}.library{max-width:960px;margin:auto}.library h1{font-size:clamp(28px,5vw,44px)}.library label,.state label{margin:12px 0;display:block}.library input:not([type=checkbox]),.library select,.library textarea,.state input{box-sizing:border-box;width:320px;max-width:100%;font:inherit;background:#fffef9;border:1px solid #b8b9aa;border-radius:6px;padding:10px;display:block}.library-add,.library-filters{border-bottom:1px solid #d8d0b8;padding:20px 0}.library-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;margin-top:24px;display:grid}.library-card{overflow-wrap:anywhere;background:#fffdf7;border:1px solid #d8d0b8;border-radius:16px;padding:22px}.library-card h3{margin:0;font-size:28px}.library-card p{color:#65705b;font-size:14px}.library-card button{margin:8px 8px 0 0;padding:8px 12px;font-size:14px}.library button.secondary{color:#475b38;background:0 0}.library-note{white-space:pre-wrap}.browse-scope{color:#65705b;max-width:850px}.browse .library-card h2{margin:0;font-size:30px}.browse-original{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.8}.browse-proof{border-top:1px solid #d8d0b8;margin-top:20px;padding-top:16px}.browse-proof details{overflow-wrap:anywhere}.browse .library-card a{margin-top:12px;display:inline-block}.library-dialog{z-index:5;background:#fffdf7;border:2px solid #475b38;border-radius:16px;max-height:78vh;padding:24px;position:fixed;inset:10vh max(20px,50vw - 270px) auto;overflow:auto}button:disabled{opacity:.6;cursor:wait}.library-dialog::backdrop{background:#252a2080}.imports textarea{width:100%;max-width:640px}.import-items{margin-top:24px;padding:0;list-style:none}.import-items li{overflow-wrap:anywhere;background:#fffdf7;border:1px solid #d8d0b8;border-radius:12px;margin:12px 0;padding:18px 22px}.import-items li h2{font-size:18px}.import-items li p{color:#65705b;font-size:14px}.import-items label{align-items:baseline;gap:10px;display:flex}.import-summary{background:#efefdf;border-left:4px solid #687b49;padding:18px}.library-preferences{border:1px solid #d8d0b8;border-radius:8px;margin:20px 0;padding:16px}.library-preferences summary{cursor:pointer}.library-views,.library-display{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;display:flex}.library-views button,.library-display button,.library-preferences button{margin:0;padding:8px 12px}.library-display button[aria-pressed=true]{outline-offset:2px;outline:3px solid #a1832d}.library-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px 20px;display:grid}.library-filters h2{grid-column:1/-1}.library-filters input:not([type=checkbox]),.library-filters select{width:100%}.library-table-scroll{max-width:100%;margin-top:24px;overflow-x:auto}.library-table{border-collapse:collapse;background:#fffdf7;width:100%;min-width:560px}.library-table th,.library-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #d8d0b8;padding:16px}.library-table th[scope=row]{min-width:110px;font-size:22px}.library-table p{font-size:14px}.library-actions button{margin:8px 8px 0 0;padding:8px 12px;font-size:14px}.library .preference-conflict{color:#7d4022;background:#fff1df;border-left:3px solid #a1832d;padding:8px}.system-tags{border-left:2px solid #b8b9aa;padding-left:8px}.matrix .muted{color:#687262;font-size:13px}.matrix-toolbar,.matrix-inputs{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.matrix-toolbar .button{margin:0}.matrix-notice,.matrix-warning{background:#eeeedf;border-left:4px solid #687b49;border-radius:10px;padding:16px 20px}.matrix-warning{background:#fff0dc;border-color:#977127}.matrix-form{margin:28px 0}.matrix-form h2{margin:24px 0 12px}.matrix-inputs input:not([type=checkbox]){width:235px}.matrix-candidates{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.matrix-candidates article{background:#fffdf7;border:1px solid #ddd6c3;border-radius:12px;padding:14px 18px}.matrix-candidates label:first-child{font-size:20px;font-weight:600}.matrix-candidates p{margin:6px 0;font-size:13px}.matrix-candidates select{width:100%;font-size:14px}.matrix-result{margin-top:36px}.matrix-table-scroll{border:1px solid #d8d0b8;border-radius:10px;max-width:100%;max-height:70vh;overflow:auto}.matrix-table{border-collapse:collapse;background:#fffdf7;width:100%}.matrix-table caption{text-align:left;padding:14px;font-weight:600}.matrix-table th,.matrix-table td{text-align:left;vertical-align:top;border:1px solid #e1dccd;min-width:180px;padding:12px}.matrix-table thead th{z-index:2;background:#eeeedf;position:sticky;top:0}.matrix-table thead th:first-child{z-index:3;left:0}.matrix-table th[scope=row]{z-index:1;background:#fffdf7;min-width:255px;font-weight:400;position:sticky;left:0}.matrix-table th p{margin:5px 0;font-size:13px}.matrix .matrix-cell,.matrix .matrix-scene{color:#3b4a33;text-align:left;background:#f0f1e5;border-color:#c1cbb7;width:100%;margin:0;padding:10px 12px}.matrix-cell span{margin-top:8px;font-size:12px;font-weight:400;display:block}.matrix .matrix-cell.strong{background:#e4eddc;border-color:#69865c}.matrix .matrix-cell.disputed,.matrix .matrix-cell.caution{background:#fff0d7;border-color:#ac8747}.matrix .matrix-cell.unavailable{color:#645f55;background:#f0ede6;border-color:#c9c2b6}.matrix .matrix-scene{background:0 0;border:0;padding:0;text-decoration:underline}.matrix-dialog{overflow-wrap:anywhere;width:calc(100% - 40px);max-width:740px;max-height:86vh;inset:6vh 0 auto}.matrix-dialog h3{margin-top:24px}.matrix-dialog details{border-top:1px solid #ddd6c3;padding:12px 0}.matrix-dialog summary{cursor:pointer;font-weight:600}.matrix-pillars{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.matrix-pillars dd{margin:0;font-size:24px}.matrix-pillars dd.muted{font-size:12px}@media (width<=600px){.matrix-table th[scope=row],.matrix-table thead th:first-child{min-width:150px;max-width:150px}.matrix-toolbar{align-items:stretch}.matrix-inputs{display:block}.matrix-dialog{padding:18px}.matrix-pillars{grid-template-columns:repeat(2,1fr)}}.birth-city-picker{max-width:100%;margin-top:16px;position:relative}.birth-city-input{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.birth-city-picker .birth-city-dropdown{z-index:5;box-sizing:border-box;background:#fffef9;border:1px solid #b8b9aa;border-radius:6px;width:400px;max-width:100%;padding:8px;position:absolute;box-shadow:0 4px 12px #0002}.birth-city-dropdown ul{max-height:270px;margin:0;padding:0;list-style:none;overflow-y:auto}.birth-city-dropdown button{text-align:left;width:100%;color:inherit;background:0 0;margin:0}.birth-city-dropdown .active{border-radius:6px;outline:1px solid #b8b9aa}.birth-city-dropdown p{margin:8px}header nav a{align-items:center;min-height:44px;padding:8px 0;font-size:14px;text-decoration:none;display:inline-flex}header nav a[aria-current=page]{color:var(--accent);box-shadow:inset 0 -2px var(--accent);font-weight:600}button:disabled{cursor:default;opacity:.6}button.secondary{color:var(--accent);background:0 0}.library-card{border-color:var(--border);background:var(--surface);border-radius:12px}.library-grid{align-items:stretch}.library-card h3{font-family:var(--name-font);color:var(--text);letter-spacing:.04em}.library :is(button,.button),.state :is(button,.button){min-height:44px}@media (width<=600px){header{gap:8px;padding:18px 20px 10px}header nav{gap:0 18px}main{padding:24px 20px 44px}}header{border-color:var(--border);padding-top:24px;padding-bottom:24px}header nav a{padding:4px 0;font-size:.9rem;text-decoration:none}header nav a:hover{text-decoration:underline}button,.button{transition:background-color .16s,border-color .16s,box-shadow .16s}button:not(:disabled):active,.button:active{transform:translateY(1px)}input,select{accent-color:var(--accent);font-variant-numeric:tabular-nums}.matrix-form{background:var(--surface);border-color:var(--border);border-radius:10px}.matrix-notice.window-status{background:0 0;border:0;border-left:2px solid #92a68c;border-radius:0;padding:8px 16px}.window-status p{color:var(--muted);margin:4px 0;font-size:.85rem}@media (width<=600px){main{padding:28px 20px 48px}header,footer{padding-left:20px;padding-right:20px}}@media (prefers-reduced-motion:reduce){button,.button{transition:none}}.account-page{max-width:40rem;margin:2rem auto}.account-page form{border:1px solid var(--border,#dcd8ce);border-radius:1rem;gap:1rem;padding:1.5rem;display:grid}.account-page label{gap:.4rem;display:grid}.account-page input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;font:inherit;border:1px solid var(--border,#bbb8ac);color:inherit;background:#fff;border-radius:.4rem;padding:.7rem .8rem}.account-page small{color:var(--muted,#605d51)}.account-page .actions,.surname-settings .actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.surname-settings{margin:1rem 0}.surname-settings form{border:1px solid var(--border,#dcd8ce);border-radius:.75rem;padding:1rem}.invitation-manager{border-top:1px solid var(--line,#ddd);margin-top:2rem;padding-top:1rem}.invitation-manager .actions{flex-wrap:wrap}.invitation-secret{border:1px solid #918261;border-radius:.75rem;margin-block:1rem;padding:1rem}.invitation-secret textarea{box-sizing:border-box;overflow-wrap:anywhere;width:100%;margin-block:.5rem;font-family:monospace;display:block}.invitation-list{padding:0;list-style:none}.invitation-list li{border-bottom:1px solid #ddd;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1rem;display:flex}.invitation-list li div{gap:.25rem;display:grid}.admin-page{max-width:1040px;margin:0 auto}.admin-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-page section{border-top:1px solid var(--border,#ddd);margin-top:2rem;padding-top:1.5rem}.admin-users,.admin-favorites ul{padding:0;list-style:none}.admin-users li{border-bottom:1px solid #ddd;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem 0;display:flex}.admin-users li>div:first-child{gap:.4rem;display:grid}.admin-id{overflow-wrap:anywhere;font-family:monospace;font-size:.85em}.admin-favorites li{background:#fffaf0;border-radius:.5rem;gap:.5rem;margin-bottom:.8rem;padding:.8rem;display:grid}.admin-confirm{border:2px solid #a46722;border-radius:.5rem;margin-top:1rem;padding:1rem}.admin-login{gap:1rem;max-width:26rem;display:grid}@media (width<=600px){.admin-users .actions{width:100%}.admin-page .button{white-space:normal}}
