@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');
:root{--bg:#f7f9fc;--surface:#fff;--ink:#17233b;--muted:#7c899e;--line:#e8ecf3;--line-strong:#dce3ee;--blue:#245fe1;--blue-dark:#1953d4;--blue-soft:#eaf1ff;--shadow:0 20px 55px rgba(21,47,97,.045);--sidebar:272px;--radius:18px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 'DM Sans','Noto Sans SC',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #91b8fa;outline-offset:3px}
a{color:inherit;text-decoration:none}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:18px;height:18px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ico.tiny{width:12px;height:12px;stroke-width:2}
.shell{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar);position:fixed;left:0;top:0;bottom:0;padding:36px 20px 22px 22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;overflow:auto}
.identity{display:flex;align-items:center;gap:12px;margin-bottom:54px;padding-left:8px}
.identity-icon{position:relative;width:39px;height:39px;border-radius:12px;background:var(--blue);overflow:hidden;flex-shrink:0}
.id-shape{position:absolute;background:white;display:block;transform:rotate(-23deg);border-radius:2px}
.id-shape.a{left:10px;top:10px;width:6px;height:20px}
.id-shape.b{left:18px;top:8px;width:6px;height:23px;opacity:.83}
.id-shape.c{left:26px;top:13px;width:6px;height:15px;opacity:.65}
.identity-name{font:800 20px/1.16 'Manrope',sans-serif;letter-spacing:-1.05px;white-space:nowrap}.identity-name span{color:var(--blue)}
.identity-sub{color:#99a5b7;font-size:8px;letter-spacing:1.18px;font-weight:800;margin-top:5px;white-space:nowrap}
.nav-section-label{color:#a2adbc;font-size:10px;font-weight:800;letter-spacing:1.8px;padding:0 15px;margin-bottom:13px}
.nav-section-label.section-space{margin-top:36px}
.nav-group{display:flex;flex-direction:column;gap:5px}
.nav-item{height:43px;border:0;background:transparent;color:#6c7990;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 13px;white-space:nowrap;text-align:left;font-size:12.8px;font-weight:600;transition:background .2s,color .2s}
.nav-item .ico{width:17px;height:17px;stroke-width:1.7}
.nav-item:hover{background:#f4f7fd;color:#305384}
.nav-item.active{color:var(--blue);background:#edf3ff;font-weight:800}
.nav-count{font-size:11px;color:#9baac1;margin-left:auto;font-variant-numeric:tabular-nums}
.nav-item.active .nav-count{color:var(--blue)}
.cat-dot{width:9px;height:9px;border-radius:50%;flex:none;margin-left:4px;margin-right:4px}
.cat-dot.moe{background:#416de9}.cat-dot.opd{background:#9a8ce2}.cat-dot.mm{background:#e5a769}.cat-dot.sys{background:#54aa9b}.cat-dot.other{background:#a3aec1}
.sidebar-bottom{margin-top:auto;padding:44px 7px 0}
.sidebar-quote{background:linear-gradient(138deg,#f4f7ff,#f8faff);padding:20px 18px 22px;border:1px solid #e8effe;border-radius:14px;font:700 19px/1.5 'Manrope','Noto Sans SC',sans-serif;letter-spacing:-.6px;position:relative;color:#2f476e}
.quote-mark{position:absolute;top:-12px;left:15px;color:#c0d3f9;font:bold 43px Georgia,serif}.quote-mark.end{left:auto;right:14px;top:40px}
.quote-caption{font:500 11px/1.4 'Noto Sans SC',sans-serif;color:#8b9cb5;letter-spacing:0;margin-top:14px}
.storage-note{display:flex;align-items:center;gap:9px;color:#a2adbe;font-size:10.5px;margin-top:24px;padding-left:8px}.storage-led{width:7px;height:7px;border-radius:50%;background:#55baa0;box-shadow:0 0 0 4px #e6f8f1}
.content-area{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0}
.topbar{height:87px;background:rgba(255,255,255,.79);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(28px,4.8vw,88px);gap:20px}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}.crumb{font-size:10px;letter-spacing:1.5px;color:#a5b0c0;font-weight:700;display:flex;align-items:center;gap:14px}.crumb strong{color:#52677f;font-weight:800}
.search-shortcut{width:286px;height:39px;border:1px solid #e9edf5;background:#f7f9fc;border-radius:9px;display:flex;align-items:center;gap:10px;color:#a5afbd;text-align:left;padding:0 11px;font-size:11.5px}
.search-shortcut .ico{width:15px;height:15px}.search-shortcut span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-shortcut kbd{margin-left:auto;border:1px solid #e5e9f1;background:white;border-radius:4px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#8899ab;font-size:11px;font-family:inherit}
.top-new-button{border:0;background:var(--blue);height:39px;color:white;border-radius:9px;padding:0 16px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;box-shadow:0 5px 12px rgba(36,95,225,.16)}.top-new-button:hover,.save-button:hover{background:var(--blue-dark)}.top-new-button .ico{width:16px;height:16px;stroke-width:2.3}
.mobile-menu{display:none}
main{padding:43px clamp(28px,4.8vw,88px) 28px;max-width:1630px;margin:0 auto}
.hero{min-height:311px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);background:linear-gradient(112deg,#fff 0%,#fff 54%,#f7faff 100%);border:1px solid #ebeff7;border-radius:21px;box-shadow:var(--shadow);overflow:hidden}
.hero-copy{padding:36px 16px 37px clamp(32px,4.3vw,58px);position:relative;z-index:2}
.eyebrow{display:flex;align-items:center;gap:10px;color:#6b87bf;letter-spacing:1.5px;font-size:9px;font-weight:800;white-space:nowrap}.eyebrow-line{display:inline-block;width:19px;height:2px;background:var(--blue);flex:none}.eyebrow-no{color:#b8c8e5}
h1{font:800 clamp(35px,3.3vw,46px)/1.34 'Manrope','Noto Sans SC',sans-serif;letter-spacing:-1.5px;margin:17px 0 10px}h1 em{font-style:normal;color:var(--blue)}
.hero-copy p{font-size:12px;color:#8695aa;line-height:2;letter-spacing:.1px;margin:0}
.hero-action{display:inline-flex;align-items:center;gap:14px;background:transparent;border:0;color:var(--blue);font-weight:800;font-size:12px;padding:0;margin-top:18px}.hero-action .ico{width:18px;height:18px;transition:transform .2s}.hero-action:hover .ico{transform:translateX(4px)}
.hero-art{position:relative;overflow:hidden;min-height:310px;background:radial-gradient(circle at 62% 38%,#e4eeff 0%,#f6f9ff 51%,#fcfdff 75%)}
.art-grid{position:absolute;inset:0;background-image:linear-gradient(#98b2ec21 1px,transparent 1px),linear-gradient(90deg,#98b2ec21 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(90deg,transparent 0%,#000 45%);opacity:.65}
.art-ring{border:1px solid #bdd2f6;border-radius:50%;position:absolute;top:50%;left:54%;transform:translate(-50%,-50%)}.ring-one{width:246px;height:246px}.ring-two{width:335px;height:335px;opacity:.5}
.art-center{position:absolute;top:50%;left:54%;transform:translate(-50%,-50%) rotate(-9deg);width:145px;height:170px;border-radius:21px;background:linear-gradient(145deg,#2f78f3,#2055cb);box-shadow:16px 23px 32px #426fca3d;display:flex;align-items:center;justify-content:center;border:7px solid #ffffffc2}
.art-center:after{content:'';position:absolute;left:11px;top:12px;right:11px;bottom:12px;border:1px solid #ffffff50;border-radius:12px}.art-center>span:first-child{font:800 98px 'Manrope',sans-serif;color:#fff;opacity:.94;transform:rotate(8deg)}.art-asterisk{position:absolute;right:12px;top:7px;font-size:27px;color:#bee5ff}
.art-deco-top,.art-deco-bottom{font:800 9px/1.7 'Manrope',sans-serif;letter-spacing:1.4px;color:#9ab3de;position:absolute}.art-deco-top{top:28px;right:27px;text-align:right}.art-deco-bottom{bottom:25px;left:35px}
.art-dot{position:absolute;border-radius:50%;background:#4384f5}.dot-a{width:9px;height:9px;left:12%;top:25%}.dot-b{width:5px;height:5px;right:14%;bottom:19%}
.overview{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;align-items:center;background:#fff;border:1px solid #ebeff7;border-radius:16px;margin-top:20px;min-height:112px;box-shadow:0 10px 30px rgba(15,42,90,.025)}
.overview-item{padding:14px 24px 14px 33px;position:relative}.overview-item:not(:first-child):before,.overview-motto:before{content:'';height:42px;width:1px;background:#e7ecf5;position:absolute;left:0;top:50%;transform:translateY(-50%)}
.overview-label{font:800 8.8px/1.3 'Manrope',sans-serif;letter-spacing:1.25px;color:#9caabf;white-space:nowrap}.overview-number{display:flex;align-items:baseline;gap:12px;margin-top:5px}.overview-number>span:first-child{font:800 28px/1.3 'Manrope',sans-serif;letter-spacing:-1px}.overview-suffix{color:#a1adc0;font-size:11px;white-space:nowrap}
.overview-motto{position:relative;display:flex;align-items:center;gap:11px;padding:0 15px 0 26px;color:#738eae;font-size:11px;font-weight:700}.overview-motto .ico{width:23px;height:23px;color:var(--blue)}
.library-area{margin-top:51px}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-kicker{font:800 10px/1.4 'Manrope',sans-serif;color:#8198bf;letter-spacing:1.8px}.kicker-line{display:inline-block;width:16px;height:1px;background:#bbc8d7;vertical-align:middle;margin:0 5px}
h2{font:800 clamp(24px,2.5vw,31px)/1.4 'Manrope','Noto Sans SC',sans-serif;letter-spacing:-.8px;margin:9px 0 4px}.heading-period{color:var(--blue)}.section-sub{color:#92a0b3;font-size:12px;margin:0}.view-actions{display:flex;gap:10px;padding-bottom:2px}.view-actions select{color:#61718a;border:1px solid var(--line-strong);border-radius:8px;padding:10px 32px 10px 13px;background:white;font-size:11px;font-weight:700;cursor:pointer}
.filters{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line-strong);margin-top:26px;padding-bottom:12px}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{padding:7px 13px;border:1px solid transparent;color:#8a98ab;background:transparent;font-size:11.5px;font-weight:700;border-radius:7px}.filter-chip:hover{background:#f0f4fa}.filter-chip.active{background:#e8efff;color:var(--blue)}.filter-count{font-size:11px;color:#a2aebe;white-space:nowrap}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin-top:21px}
.resource-card{background:white;border:1px solid #e7ecf4;border-radius:17px;box-shadow:0 9px 27px #13295708;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0}
.resource-card:hover{transform:translateY(-2px);border-color:#d4e1f5;box-shadow:0 18px 38px #21457e12}
.resource-card.featured{grid-column:1 / -1;display:grid;grid-template-columns:1.27fr .73fr;min-height:340px}
.resource-main{padding:25px 27px 22px;display:flex;flex-direction:column;min-width:0}.resource-card.featured .resource-main{padding:30px 34px 26px}
.card-meta{display:flex;align-items:center;gap:10px;min-width:0}.card-type{font-weight:800;color:var(--blue);letter-spacing:1.1px;font-size:9px;text-transform:uppercase;white-space:nowrap}.card-separator{width:4px;height:4px;background:#bdcadb;border-radius:50%;flex:none}.card-date{font:700 10px 'Manrope',sans-serif;color:#a1afc3;white-space:nowrap}.card-star{margin-left:auto;border:0;background:transparent;color:#c8d2e1;padding:5px;display:flex;align-items:center}.card-star .ico{width:18px;height:18px}.card-star.is-starred{color:#e5a94c}.card-star.is-starred .ico{fill:#e5a94c25}
.card-title{font:800 19px/1.38 'Manrope','Noto Sans SC',sans-serif;letter-spacing:-.5px;margin:14px 0 8px;word-break:break-word}.resource-card.featured .card-title{font-size:clamp(21px,2.2vw,29px);line-height:1.34;margin-top:21px;max-width:550px}
.card-source{font-size:11px;font-weight:700;color:#97a5b8}.card-description{font-size:12px;color:#8392a8;line-height:1.88;margin:15px 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.featured .card-description{max-width:535px;-webkit-line-clamp:3;margin-top:17px}
.card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.tag{background:#f1f5fb;border:1px solid #e9eff7;border-radius:5px;color:#7588a4;padding:4px 8px;font:700 10px/1.6 'DM Sans','Noto Sans SC',sans-serif}
.card-bottom{margin-top:21px;border-top:1px solid #edf0f5;padding-top:18px;display:flex;align-items:center;gap:10px;justify-content:space-between}.card-bottom-left{display:flex;align-items:center;gap:10px;min-width:0}.status-pill{display:flex;align-items:center;gap:7px;color:#8190a6;font-size:10.5px;font-weight:700;white-space:nowrap}.status-pill:before{content:'';width:7px;height:7px;border-radius:50%;background:#b4c4d7}.status-pill.reading:before{background:#ecad55}.status-pill.done:before{background:#61bba3}.card-domain{font-size:10px;color:#a6b4c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:135px}
.card-cta{display:flex;align-items:center;gap:7px;color:var(--blue);border:0;background:transparent;font-weight:800;font-size:11px;white-space:nowrap;padding:4px 0}.card-cta .ico{width:14px;height:14px;stroke-width:2}
.card-visual{position:relative;min-height:100%;background:#f0f5ff;overflow:hidden;border-left:1px solid #e7eefb}.visual-grid{position:absolute;inset:0;background-image:radial-gradient(#bed0f2 1px,transparent 1px);background-size:16px 16px;opacity:.7}.visual-top{position:absolute;top:28px;left:30px;font:800 10px/1.6 'Manrope',sans-serif;letter-spacing:1.7px;color:#7297d6}.visual-bottom{position:absolute;bottom:29px;left:30px;font:800 11px/1.6 'Manrope',sans-serif;letter-spacing:1px;color:#4877c9}.expert-diagram{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:240px;height:176px}.expert-line{position:absolute;top:74px;left:25px;right:25px;height:1px;background:#8cacdf;transform-origin:center}.expert-line.one{transform:rotate(29deg)}.expert-line.two{transform:rotate(-29deg)}.expert-line.three{transform:rotate(0deg)}.expert-dot{position:absolute;border:1px solid #84aaf0;background:white;width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#4d83dc;font:800 17px 'Manrope',sans-serif;box-shadow:0 7px 15px #7eabe429}.expert-dot.router{left:0;top:65px;background:var(--blue);color:white;border-color:var(--blue);z-index:2}.expert-dot.e1{right:0;top:0}.expert-dot.e2{right:0;top:65px}.expert-dot.e3{right:0;bottom:0}.expert-dot.e2,.expert-dot.e3{border-color:#bdd1ed;background:#f5f9ff;color:#9ab4da}.expert-dot.e1{transform:scale(1.05);box-shadow:0 0 0 5px #bcd2ff70,0 8px 18px #7eabe429}
.visual-label{position:absolute;color:#7c9ed8;font-size:9px;font-weight:700;letter-spacing:.4px}.visual-label.in{left:0;top:120px}.visual-label.out{right:0;top:119px}
.empty-state{grid-column:1/-1;border:1px dashed #ced9ec;background:#fff;border-radius:17px;padding:52px 18px;text-align:center}.empty-state .empty-icon{height:52px;width:52px;background:#edf3ff;color:var(--blue);border-radius:15px;margin:0 auto 15px;display:flex;align-items:center;justify-content:center}.empty-state .empty-icon .ico{width:25px;height:25px}.empty-state h3{font-size:17px;margin:0 0 6px}.empty-state p{font-size:12px;color:#97a5b5;margin:0 0 18px}.empty-state button{border:0;color:white;background:var(--blue);padding:10px 18px;border-radius:8px;font-weight:700}
.library-end{display:flex;align-items:center;justify-content:center;gap:15px;margin:36px 0 15px;color:#b7c2d3;font:800 9px 'Manrope',sans-serif;letter-spacing:1.9px}.library-end span{height:1px;width:43px;background:#dce4ef}
.footer{margin-top:25px;padding:20px 0 6px;border-top:1px solid #e4e9f1;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#aab7c8;font:700 9px 'Manrope',sans-serif;letter-spacing:1px}.footer-actions{display:flex;gap:18px}.footer-actions button{border:0;background:transparent;color:#8396ae;font:700 11px 'Noto Sans SC',sans-serif;display:flex;gap:5px;align-items:center}.footer-actions .ico{width:14px;height:14px}.footer-actions button:hover{color:var(--blue)}
.icon-button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#8795aa;border-radius:8px;width:36px;height:36px}.icon-button:hover{background:#edf3fc;color:var(--blue)}
.overlay{position:fixed;inset:0;background:rgba(15,30,53,.48);backdrop-filter:blur(3px);z-index:60}.overlay[hidden],.detail-panel[hidden],.form-modal[hidden]{display:none!important}
.detail-panel{position:fixed;right:0;top:0;bottom:0;width:min(545px,100vw);z-index:65;background:#fff;box-shadow:-15px 0 60px #0e1c3d23;display:flex;flex-direction:column;animation:slide-in .25s ease-out}.detail-top{height:75px;flex:none;border-bottom:1px solid var(--line);padding:0 29px;display:flex;align-items:center;justify-content:space-between;font:800 10px 'Manrope',sans-serif;letter-spacing:1.45px;color:#9aa9bd}.detail-scroll{padding:28px 34px 38px;overflow:auto}.detail-kicker{font:800 10px 'Manrope',sans-serif;letter-spacing:1.5px;color:var(--blue)}.detail-title{font:800 30px/1.35 'Manrope','Noto Sans SC',sans-serif;letter-spacing:-.7px;margin:15px 0 10px;overflow-wrap:anywhere}.detail-source{font-size:12px;color:#98a5b5;font-weight:600}.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin:19px 0}.detail-status-row{display:flex;align-items:center;gap:8px;margin:24px 0}.detail-status-row label{font-size:11px;color:#98a6b8;font-weight:700;margin-right:7px}.status-select{border:1px solid #dce4f0;border-radius:8px;background:#f7faff;padding:9px 12px;color:#476183;cursor:pointer;font-size:12px;font-weight:700}.detail-primary{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:white;border-radius:10px;height:43px;font-weight:800;font-size:12px}.detail-primary:hover{background:#154fcd}.detail-primary .ico{width:15px;height:15px}.detail-section{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.detail-section h3{font-size:13px;margin:0 0 13px;color:#31415a}.detail-prose{white-space:pre-wrap;overflow-wrap:anywhere;color:#73859e;line-height:1.9;font-size:12px}.detail-related{display:flex;flex-direction:column;gap:9px}.related-link{display:flex;align-items:center;justify-content:space-between;border:1px solid #e5ebf4;padding:10px 13px;border-radius:9px;color:#41678e;font-size:12px;font-weight:700;gap:12px}.related-link:hover{border-color:#a6c3fc;color:var(--blue)}.related-link .ico{width:15px;height:15px}.detail-note{font-size:10px;color:#a5b0bd;margin-top:9px}.detail-footer{margin-top:32px;display:flex;gap:12px;border-top:1px solid var(--line);padding-top:21px}.detail-footer button{border:1px solid #e2e8f2;border-radius:9px;background:#fff;color:#677f9d;font-size:11px;font-weight:800;height:38px;padding:0 14px;display:flex;align-items:center;gap:7px}.detail-footer .ico{width:14px;height:14px}.detail-footer .delete-resource{color:#c76d78;margin-left:auto}.detail-footer .delete-resource:hover{background:#fff3f4;border-color:#f2c6ca}
.form-modal{position:fixed;z-index:65;top:50%;left:50%;transform:translate(-50%,-50%);width:min(650px,calc(100vw - 28px));max-height:min(92vh,900px);background:white;border-radius:16px;box-shadow:0 25px 90px #10244733;display:flex;flex-direction:column;overflow:hidden;animation:modal-in .2s ease-out}.form-modal-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 27px;border-bottom:1px solid var(--line)}.form-modal-header h2{margin:4px 0 0;font-size:22px}.resource-form{padding:21px 27px 27px;overflow:auto}.resource-form label{font-weight:800;font-size:11.5px;color:#485d79;display:flex;flex-direction:column;gap:7px}.resource-form label>span:not(.field-hint):not(.star-check-icon){color:#e58c7f}.resource-form input:not([type="checkbox"]),.resource-form textarea,.resource-form select{width:100%;border-radius:8px;border:1px solid #e1e7ef;background:#fafbfe;padding:10px 12px;color:#263952;font-size:12px;font-weight:500;resize:vertical}.resource-form input::placeholder,.resource-form textarea::placeholder{color:#b1bccb}.resource-form input:focus,.resource-form textarea:focus,.resource-form select:focus{background:white;outline:2px solid #a7c1ff;outline-offset:-1px}.form-row{margin-bottom:15px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:15px}.field-hint{font-weight:500;color:#aab8c9;font-size:10px;margin-left:5px}.star-check{flex-direction:row!important;align-items:center!important;gap:9px!important;cursor:pointer;padding:6px 0 15px}.star-check input{accent-color:#2865e7;width:15px;height:15px}.star-check-icon{color:#e7aa4b;font-size:17px}.form-buttons{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px}.form-buttons button{border-radius:9px;height:40px;padding:0 20px;font-size:12px;font-weight:700}.cancel-button{border:1px solid var(--line-strong);background:white;color:#72809a}.save-button{border:0;color:white;background:var(--blue);display:flex;align-items:center;gap:7px}.save-button .ico{width:15px;height:15px}
.toast{position:fixed;bottom:26px;right:26px;z-index:90;background:#263d63;color:#fff;font-size:12px;padding:12px 20px;border-radius:10px;box-shadow:0 10px 30px #18365e40;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translateY(0)}
@keyframes slide-in{from{transform:translateX(30px);opacity:.6}to{transform:translateX(0);opacity:1}}@keyframes modal-in{from{transform:translate(-50%,-48%);opacity:.6}to{transform:translate(-50%,-50%);opacity:1}}
body.modal-open{overflow:hidden}
@media(max-width:1240px){:root{--sidebar:245px}.sidebar{padding-left:16px;padding-right:15px}.identity{padding-left:5px}.topbar{padding:0 30px}.search-shortcut{width:220px}main{padding:34px 30px}.overview-item{padding-left:19px}.overview-motto{padding-left:18px}.hero-copy{padding-left:34px}}
@media(max-width:1000px){.overview{grid-template-columns:repeat(3,1fr)}.overview-motto{display:none}.hero{grid-template-columns:1fr 0.7fr}.hero-art{min-height:300px}.card-grid{grid-template-columns:1fr}.resource-card.featured{grid-template-columns:1.2fr .8fr}.search-shortcut{width:190px}}
@media(max-width:740px){:root{--sidebar:272px}.sidebar{transform:translateX(-100%);transition:transform .22s;box-shadow:12px 0 30px #122d4b14}.sidebar.is-open{transform:translateX(0)}.content-area{margin-left:0;width:100%}.topbar{height:68px;padding:0 18px}.topbar-left{gap:8px}.mobile-menu{display:flex}.crumb{font-size:9px;gap:6px}.search-shortcut{width:40px;justify-content:center;padding:0}.search-shortcut span,.search-shortcut kbd{display:none}.topbar-right{gap:7px}.top-new-button{width:39px;padding:0;justify-content:center}.top-new-button span{display:none}main{padding:21px 16px 16px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:28px 23px 22px}.hero-copy h1{font-size:36px}.hero-art{height:125px;min-height:0}.art-center{top:50%;left:70%;width:85px;height:99px;border-width:4px}.art-center>span:first-child{font-size:60px}.art-asterisk{font-size:17px;right:4px;top:2px}.ring-one{width:150px;height:150px;left:70%}.ring-two{width:210px;height:210px;left:70%}.art-deco-top{top:16px;font-size:7px}.art-deco-bottom{bottom:15px;font-size:7px}.overview{min-height:96px;margin-top:14px}.overview-item{padding:12px 9px;text-align:center}.overview-label{font-size:7px;letter-spacing:.1px}.overview-number{display:flex;flex-direction:column;gap:0}.overview-number>span:first-child{font-size:23px}.overview-suffix{font-size:9px}.library-area{margin-top:36px}.section-header{align-items:flex-start}.section-header h2{font-size:25px}.section-sub{font-size:11px}.view-actions select{width:112px;font-size:10px;padding:8px 8px;margin-top:20px}.filter-count{display:none}.filter-chips{gap:3px}.filter-chip{padding:7px 9px;font-size:10.5px}.filters{margin-top:20px}.resource-card.featured{display:block}.resource-card.featured .resource-main{padding:23px 20px 22px}.resource-card.featured .card-title{font-size:23px;margin-top:15px}.card-visual{display:none}.resource-main{padding:22px 20px}.footer{flex-direction:column;align-items:flex-start;gap:13px;font-size:8px}.detail-scroll{padding:25px 22px}.detail-title{font-size:25px}.form-two{grid-template-columns:1fr}.form-modal{max-height:94vh}.resource-form{padding:19px 18px}.form-modal-header{padding:16px 18px}.form-modal-header h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.search-wrap{width:286px;height:39px;border:1px solid #e9edf5;background:#f7f9fc;border-radius:9px;display:flex;align-items:center;gap:10px;color:#a5afbd;padding:0 11px;font-size:11.5px;transition:border-color .15s}.search-wrap:focus-within{border-color:#9abafa;background:white}.search-wrap .ico{width:15px;height:15px}.search-wrap input{background:transparent;border:0;outline:0!important;min-width:0;width:100%;height:100%;color:#4d627e;font-size:11.5px}.search-wrap input::placeholder{color:#a5afbd}.search-wrap kbd{margin-left:auto;border:1px solid #e5e9f1;background:white;border-radius:4px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#8899ab;font-size:11px;font-family:inherit}
@media(max-width:1240px){.search-wrap{width:220px}}@media(max-width:1000px){.search-wrap{width:190px}}@media(max-width:740px){.search-wrap{width:40px;justify-content:center;padding:0 11px}.search-wrap:focus-within{position:absolute;left:54px;right:65px;width:auto;z-index:4}.search-wrap input{width:0;opacity:0}.search-wrap:focus-within input{width:100%;opacity:1}.search-wrap kbd{display:none}}
/* Ensure the desktop header does not show the mobile navigation trigger.
   When opened on a phone, keep the drawer above the modal scrim. */
@media(min-width:741px){.icon-button.mobile-menu{display:none}}
@media(max-width:740px){.sidebar.is-open{z-index:70}}

/* Journal-aligned reading scale. The floor is 15px, including the sidebar. */
:root{--bg:#f7faff;--ink:#26384d;--muted:#647386;--line:#dce6f1;--line-strong:#dce6f1;--blue:#315f9f;--blue-dark:#214a83;--blue-soft:#edf4fc;--sidebar:320px}
body{font:16px/1.7 'Noto Sans SC','DM Sans',system-ui,sans-serif;color:var(--ink)}
.identity-name{font-size:25px;letter-spacing:-.4px}
.identity-sub{font-size:15px;letter-spacing:.02em;line-height:1.45;white-space:normal}
.nav-section-label{font-size:15px;letter-spacing:.04em;line-height:1.4}
.nav-item{height:auto;min-height:48px;font-size:18px;padding:9px 14px;white-space:normal}
.nav-item .ico{width:19px;height:19px}
.nav-count{font-size:15px}
.sidebar-quote{font-size:21px}
.quote-caption,.storage-note{font-size:15px;line-height:1.55}
.crumb,.eyebrow,.overview-label,.section-kicker,.card-type,.library-end,.footer,.detail-top,.detail-kicker,.visual-label,.art-deco-top,.art-deco-bottom,.card-date,.tag,.status-pill,.card-domain,.card-cta,.visual-top,.visual-bottom,.filter-count,.detail-status-row label,.detail-note,.detail-footer button,.field-hint,.search-wrap kbd,.search-shortcut kbd{font-size:15px;letter-spacing:.02em;line-height:1.45}
.search-wrap,.search-shortcut{height:40px;width:290px}
.search-wrap,.search-wrap input,.search-shortcut,.top-new-button,.hero-action,.view-actions select,.filter-chip,.status-select,.detail-primary,.form-buttons button,.footer-actions button,.toast{font-size:16px}
.top-new-button,.view-actions select,.filter-chip{min-height:38px}
.hero-copy p,.section-sub,.card-description,.card-source,.detail-source,.detail-prose,.related-link,.empty-state p,.overview-motto,.overview-suffix{font-size:16px;line-height:1.75;color:#526277}
h1{font-size:clamp(40px,3.8vw,52px)}
h2,.section-header h2{font-size:clamp(28px,2.5vw,36px)}
.card-title{font-size:23px}
.resource-card.featured .card-title{font-size:clamp(26px,2.2vw,32px)}
.overview-number>span:first-child{font-size:34px}
.detail-title{font-size:32px}
.detail-section h3{font-size:18px}
.form-modal-header h2{font-size:26px}
.resource-form label{font-size:15px}
.resource-form input:not([type="checkbox"]),.resource-form textarea,.resource-form select{font-size:16px}
.empty-state h3{font-size:21px}
@media(max-width:740px){
  :root{--sidebar:min(320px,88vw)}
  .hero-copy h1{font-size:36px}
  .section-header h2{font-size:28px}
  .overview-number>span:first-child{font-size:30px}
  .resource-card.featured .card-title,.detail-title{font-size:24px}
  .form-modal-header h2{font-size:22px}
  .nav-item{font-size:17px}
}