:root{--ink:#16233a;--ink-2:#1f2f4d;--card:#efe7d3;--card-edge:#e2d7bc;--stamp:#b4382d;--char:#2a3242;--faint:#8c96ab;--hair:#2a324247}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);color:#e9ecf3;padding-bottom:80px;font-family:Noto Serif SC,serif;line-height:1.7}a{color:inherit;text-decoration:none}.mono{font-family:IBM Plex Mono,monospace}.jp{font-family:Zen Old Mincho,Noto Serif SC,serif}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}header.site{border-bottom:1px solid #e9ecf324;flex-wrap:wrap;align-items:baseline;gap:12px 28px;max-width:1080px;margin:0 auto;padding:40px 24px 28px;display:flex}.brand{letter-spacing:.14em;font-size:30px;font-weight:900}.brand small{letter-spacing:.32em;color:var(--faint);margin-top:4px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:400;display:block}.site-nav{color:var(--faint);letter-spacing:.08em;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.site-nav a{color:#cbd3e1}.site-nav a:hover{color:#fff}.site-nav span{color:var(--faint)}.stats{color:var(--faint);letter-spacing:.05em;margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:12px}.stats b{color:#e9ecf3;font-weight:500}.facets{padding-top:22px}.facet-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.facet-label{color:var(--faint);letter-spacing:.18em;min-width:72px;font-family:IBM Plex Mono,monospace;font-size:11px}.chip{cursor:pointer;color:#cbd3e1;background:0 0;border:1px solid #e9ecf338;border-radius:2px;padding:4px 14px;font-family:Noto Serif SC,serif;font-size:13px}.chip.on{background:var(--card);color:var(--char);border-color:var(--card);font-weight:600}.results{margin-top:28px}.results h3,.panel h3,.duecard h4{letter-spacing:.28em;color:var(--faint);margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}.row{border-top:1px solid #e9ecf31f;grid-template-columns:160px 1.5fr 1fr auto;align-items:baseline;gap:18px;padding:13px 6px;font-size:14.5px;display:grid}.row:hover{background:#e9ecf30a}.row .mono{color:var(--faint);font-size:12px}.row .langs{color:#9fb0c8;font-size:12.5px}.row .score{color:var(--stamp);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:13px}.row .byline{color:#9fb0c8;font-size:13px}.hidden{display:none}.facet-sub{margin-top:-2px;padding-left:8px}.facet-sub .chip{padding:3px 11px;font-size:12px}.sort-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sort-row .facet-label{min-width:auto;margin-right:4px}.empty-note{color:var(--faint);border-top:1px solid #e9ecf31f;padding:26px 6px;font-size:13.5px}.main{grid-template-columns:1.5fr 1fr;align-items:start;gap:28px;margin-top:32px;display:grid}.cat-card{background:var(--card);color:var(--char);box-shadow:0 1px 0 var(--card-edge) inset,0 18px 40px #00000073;border-radius:3px;padding:30px 34px 66px;position:relative;overflow:hidden}.cat-card:after{content:"";background:var(--ink);width:26px;height:26px;box-shadow:0 0 0 3px var(--card-edge) inset;border-radius:50%;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.callno{letter-spacing:.08em;color:var(--stamp);border-bottom:1px solid var(--hair);justify-content:space-between;margin-bottom:18px;padding-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.work-title{font-size:34px;font-weight:700;line-height:1.35}.work-sub{color:#5b6478;margin-top:2px;font-size:14px}.author-link{border-bottom:1px dashed var(--stamp);color:var(--char);margin-top:10px;margin-right:16px;font-size:15px;display:inline-block}.author-link .mono{color:var(--stamp);margin-left:8px;font-size:11px}.expr-table{border-collapse:collapse;width:100%;margin-top:22px;font-size:13.5px}.expr-table caption{text-align:left;letter-spacing:.24em;color:#5b6478;padding-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.expr-table th{color:#5b6478;text-align:left;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:6px 10px 6px 0;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:400}.expr-table td{border-bottom:1px solid var(--hair);vertical-align:top;padding:9px 10px 9px 0}.expr-table tr.mine td{background:#b4382d12}.tag-mine{color:var(--stamp);border:1px solid var(--stamp);white-space:nowrap;border-radius:2px;padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:10px}.subjects{margin-top:22px;font-size:13px}.subjects .facet-label{color:#5b6478}.subj{border:1px solid var(--hair);color:var(--char);background:#2a324214;border-radius:999px;margin:4px 6px 0 0;padding:3px 12px;font-size:13px;display:inline-block}.duecard{border:1px solid var(--hair);border-radius:2px;margin-top:26px;padding:14px 16px 16px}.duecard h4{color:#5b6478;margin-bottom:10px}.due-row{border-top:1px dashed var(--hair);flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:7px 0;font-size:13.5px;display:flex}.due-row .mono{color:var(--stamp);font-size:12px;font-weight:500}.due-row em{color:#5b6478;font-size:12px;font-style:normal}.stamp-badge{border:2.5px solid var(--stamp);width:76px;height:76px;color:var(--stamp);opacity:.85;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;display:flex;position:absolute;top:26px;right:30px;transform:rotate(-9deg)}.stamp-badge b{font-size:26px;line-height:1}.stamp-badge span{letter-spacing:.2em;margin-top:3px;font-size:9px}.stamp-badge.reading{border-style:dashed;font-size:0}.stamp-badge.reading b{letter-spacing:.1em;font-size:13px}.side{flex-direction:column;gap:22px;display:flex}.panel{background:var(--ink-2);border:1px solid #e9ecf321;border-radius:3px;padding:22px 24px}.auth-name{font-size:22px;font-weight:600}.auth-forms{color:#cbd3e1;margin-top:10px;font-size:14px}.auth-forms div{border-top:1px solid #e9ecf31a;gap:12px;padding:5px 0;display:flex}.auth-forms .mono{color:var(--faint);min-width:60px;padding-top:3px;font-size:11px}.auth-count{color:var(--faint);margin-top:14px;font-size:13px}.auth-count b{color:#e9ecf3}.panel-list a{color:#cbd3e1;border-top:1px solid #e9ecf31a;justify-content:space-between;gap:12px;padding:7px 0;font-size:13.5px;display:flex}.panel-list a:first-of-type{border-top:none}.panel-list a:hover{color:#fff}.panel-list .mono{color:var(--faint);white-space:nowrap;font-size:12px}.breadcrumb{color:var(--faint);letter-spacing:.06em;padding-top:22px;font-family:IBM Plex Mono,monospace;font-size:12px}.breadcrumb a:hover{color:#fff}footer.site{max-width:1080px;color:var(--faint);letter-spacing:.08em;border-top:1px solid #e9ecf31f;flex-wrap:wrap;gap:8px 24px;margin:56px auto 0;padding:20px 24px 0;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}@media (width<=820px){.main{grid-template-columns:1fr}.row{grid-template-columns:1fr auto}.row .mono,.row .langs{grid-column:1/-1}.stats{margin-left:0}.site-nav{order:3;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.portal{text-align:center;margin-top:72px}.portal-intro{color:#cbd3e1;max-width:600px;margin:0 auto;font-size:18px;line-height:2}.portal-nav{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:44px;display:flex}.portal-card{border:1px solid #e9ecf329;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;width:200px;height:140px;transition:background .18s;display:flex}.portal-card:hover{background:#e9ecf30d;border-color:#e9ecf34d}.portal-card-title{font-size:20px;font-weight:600}.portal-card small{color:var(--faint);letter-spacing:.28em;margin-top:10px;font-family:IBM Plex Mono,monospace;font-size:11px}.portal-bottom{margin-top:64px}.portal-bottom .portal-nav{justify-content:flex-start;margin-top:0}.sec-head{border-bottom:1px solid #e9ecf329;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:20px;padding-bottom:12px;display:flex}.sec-head small{letter-spacing:.3em;color:var(--stamp);font-size:11px;font-weight:500}.sec-head h2{letter-spacing:.06em;font-size:24px;font-weight:600;line-height:1.3}.sec-meta{color:var(--faint);letter-spacing:.05em;font-size:12px}.timeline{margin-top:72px}.heat{flex-direction:column;gap:5px;display:flex}.heat-row{grid-template-columns:52px repeat(12,1fr) 44px;align-items:center;gap:5px;display:grid}.heat-head{margin-bottom:2px}.heat-m,.heat-year,.heat-total{color:var(--faint);text-align:center;font-size:11px}.heat-year{text-align:right;padding-right:4px}.heat-total{text-align:right;color:#cbd3e1}.heat-cell{background:rgba(239,231,211,var(--a,0));outline-offset:-1px;border-radius:2px;outline:1px solid #e9ecf312;height:30px;position:relative}.heat-cell i{color:#e9ecf3c7;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:10px;font-style:normal;display:flex;position:absolute;inset:0}.heat-cell.dark-text i{color:var(--char);font-weight:500}.heat-cell:hover{outline-color:#e9ecf380}.langflow{margin-top:64px}.flow-legend{color:var(--faint);letter-spacing:.08em;margin-left:auto;font-size:11px}.flow-legend .lg{vertical-align:baseline;border-radius:1px;width:14px;height:9px;margin-right:6px;display:inline-block}.lg-tr{background:#efe7d352}.lg-na{background:#b4382d8c}.flow-scroll{overflow-x:auto}.flow-scroll svg{width:100%;min-width:640px;height:auto;display:block}.langflow .node{fill:#efe7d3;opacity:.85}.langflow .ribbon{fill:#efe7d333;transition:fill .15s}.langflow .ribbon.native{fill:#b4382d61}.langflow .ribbon:hover{fill:#efe7d380}.langflow .ribbon.native:hover{fill:#b4382db3}.langflow .nlabel{fill:#cbd3e1;font-family:Noto Serif SC,serif;font-size:13px}.langflow .ncount{fill:var(--faint);font-family:IBM Plex Mono,monospace;font-size:11px}.langflow .col-head{fill:var(--faint);letter-spacing:.24em;font-family:IBM Plex Mono,monospace;font-size:10px}.cloud{margin-top:64px}.cloud .subject-chip{line-height:1.4}.subject-more{color:var(--faint);align-self:center;font-size:12px}.subject-more:hover{color:#fff}.people-group{margin-bottom:18px}.group-header{color:var(--stamp);letter-spacing:.18em;border-bottom:1px solid #e9ecf31a;padding:8px 6px;font-family:IBM Plex Mono,monospace;font-size:11px}.subject-cloud{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.subject-chip{color:#cbd3e1;border:1px solid #e9ecf32e;border-radius:2px;align-items:center;gap:6px;padding:6px 16px;font-size:14px;transition:background .15s;display:inline-flex}.subject-chip:hover{background:#e9ecf30f;border-color:#e9ecf359}.subject-chip .mono{color:var(--faint);font-size:11px}
