:root{color:#172235;font-synthesis:none;text-rendering:optimizelegibility;--paper:#fffdf8;--paper-muted:#f7f2e9;--ink:#172235;--muted:#667085;--line:#ded8cc;--blue:#285ea8;--blue-deep:#17447d;--blue-soft:#e9f0fa;--shadow:0 18px 50px #1f2a3714;background:#f4f0e8;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0,#fffaf0 0,#0000 32rem),#f4f0e8;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{min-height:100vh}.shell-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8e6;border-bottom:1px solid #c5bcacb3;position:sticky;top:0}.shell-header__inner{justify-content:space-between;align-items:center;gap:32px;width:min(1180px,100% - 48px);min-height:76px;margin:0 auto;display:flex}.shell--home .shell-header__inner{width:min(1560px,100% - 56px)}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand__mark{color:#fff;background:var(--blue-deep);letter-spacing:-.05em;border-radius:13px;place-items:center;width:42px;height:42px;font:700 13px/1 ui-monospace,monospace;display:grid;box-shadow:0 7px 16px #17447d38}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.02em;font-size:17px}.brand small{color:var(--muted);margin-top:3px;font-size:11px}.shell-nav{align-items:center;gap:5px;display:flex}.shell-nav a{color:#526071;border-radius:12px;place-items:center;min-height:44px;padding:0 15px;font-size:14px;font-weight:600;text-decoration:none;display:grid}.shell-nav a:hover,.shell-nav a[aria-current=page]{color:var(--blue-deep);background:var(--blue-soft)}.shell-main{width:min(1120px,100% - 48px);margin:0 auto}.hero{max-width:920px}.eyebrow{color:var(--blue);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:800;line-height:1.2}h1,h2,p{margin-top:0}.hero h1,.page-intro h1{color:#152238;letter-spacing:-.06em;margin-bottom:18px;font-size:clamp(42px,6vw,72px);line-height:1.03}.hero__summary,.page-intro>p:last-child{max-width:690px;color:var(--muted);margin-bottom:30px;font-size:18px;line-height:1.8}.home-command__heading{color:#34465c;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:780;display:flex}.home-command__heading kbd{color:#6f7885;background:#ffffff9e;border:1px solid #c9ced6;border-bottom-color:#aeb4bd;border-radius:6px;place-items:center;min-width:25px;height:25px;font:700 11px/1 ui-monospace,monospace;display:grid;box-shadow:0 1px #aeb4bd}.search-box{background:var(--paper);width:min(700px,100%);min-height:62px;box-shadow:var(--shadow);border:1px solid #cec6b8;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:0 18px;display:grid}.home-hero .search-box{background:#ffffffe0;border-color:#9eabbc;border-radius:10px;width:100%;min-height:62px;box-shadow:0 12px 34px #2039571a}.home-hero .search-box__icon{color:#a75a2b}.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #285ea81f, var(--shadow)}.search-box__icon{color:var(--blue);font-size:28px;transform:rotate(-15deg)}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:17px}.search-box input::placeholder{color:#9199a5}.search-box button{width:36px;height:36px;color:var(--muted);background:var(--paper-muted);cursor:pointer;border:0;border-radius:50%}.hero__actions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.primary-action,.secondary-action{border-radius:13px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.primary-action{color:#fff;background:var(--blue-deep);box-shadow:0 8px 22px #17447d2e}.secondary-action{color:var(--blue-deep);background:#ffffff73;border:1px solid #b8c8de}.home-section{margin-top:72px}.section-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:22px;display:flex}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:28px}.section-heading>p{max-width:560px;color:var(--muted);margin:0;line-height:1.7}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.catalog-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;flex-direction:column;align-items:flex-start;min-height:200px;padding:24px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 5px 18px #1f2a370a}.catalog-card:hover{box-shadow:var(--shadow);border-color:#b3c4dd;transform:translateY(-3px)}.catalog-card__kind{color:var(--blue-deep);background:var(--blue-soft);border-radius:8px;padding:6px 9px;font-size:12px;font-weight:750}.catalog-card__kind--textbook-experiment{color:#80502c;background:#f8eadb}.catalog-card__kind--textbook-experiment-catalog{color:#17557a;background:#e3f1f8}.catalog-card__kind--organic-route{color:#6f3b7d;background:#f2e8f5}.catalog-card__kind--industrial-process{color:#176052;background:#e1f2ed}.catalog-card strong{margin-top:18px;font-size:21px;line-height:1.35}.catalog-card__summary{color:var(--muted);margin-top:8px;line-height:1.65}.catalog-card__action{color:var(--blue);margin-top:auto;padding-top:18px;font-size:13px;font-weight:750}.search-results{margin-top:24px}.home-search-results{margin-top:28px}.page-stack{padding:66px 0 100px}.page-intro{margin-bottom:46px}.page-intro h1{font-size:clamp(38px,5vw,60px)}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.topic-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:132px;padding:22px;text-decoration:none;display:grid}.topic-card:hover{box-shadow:var(--shadow);border-color:#aebed4}.topic-card__symbol,.topic-orb{color:#fff;background:linear-gradient(145deg,#a85d34,#7d3f24);place-items:center;font-family:ui-monospace,monospace;font-weight:800;display:grid}.topic-card__symbol{border-radius:18px;width:64px;height:64px}.topic-card strong,.topic-card small{display:block}.topic-card strong{font-size:20px}.topic-card small{color:var(--muted);margin-top:7px}.page-intro--topic{align-items:center;gap:22px;display:flex}.page-intro--topic h1{margin:0}.topic-orb{border-radius:25px;flex:0 0 82px;height:82px;font-size:25px}.entry-group+.entry-group{margin-top:42px}.entry-group h2{margin-bottom:15px;font-size:18px}.entry-group__heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;display:flex}.entry-group__heading h2{margin:0}.entry-group__heading span{color:var(--muted);font-size:13px;font-weight:700}.empty-state{color:var(--muted);background:#fffdf88c;border:1px dashed #c9c1b4;border-radius:18px;padding:28px}.workspace-page{min-height:calc(100vh - 77px)}.not-found{text-align:center;padding:120px 0}.not-found__code{color:#c7bdae;letter-spacing:-.06em;font-size:64px;font-weight:900}.not-found h1{margin:12px 0;font-size:36px}.not-found p{color:var(--muted);margin-bottom:28px}@media (width<=720px){.shell-header__inner{width:min(100% - 24px,1120px);min-height:66px}.shell--home .shell-header__inner{width:min(100% - 24px,1120px)}.brand small{display:none}.brand__mark{width:38px;height:38px}.shell-nav{gap:0}.shell-nav a{min-width:44px;padding:0 9px;font-size:12px}.shell-main{width:min(100% - 28px,1120px)}.page-stack{padding-top:22px}.hero h1{font-size:48px}.catalog-grid,.topic-grid{grid-template-columns:1fr}.home-section{margin-top:58px}.section-heading{flex-direction:column;align-items:flex-start}.page-intro--topic{align-items:flex-start}}.home-page{width:min(1440px,100% - 64px);padding:36px 0 72px}.home-hero{background:0 0;border:0;border-bottom:1px solid #c9c2b7;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:end;gap:clamp(48px,7vw,108px);min-height:214px;padding:32px 4px 34px;display:grid;overflow:visible}.home-hero__intro{grid-column:auto}.home-hero .eyebrow{color:#a45d30;margin-bottom:13px}.home-hero h1{color:#10243d;letter-spacing:-.06em;max-width:760px;margin:0 0 15px;font-size:clamp(44px,4.2vw,66px);line-height:1.02}.home-hero h1 span{display:block}.home-hero h1 span:last-child{color:#245a96}.home-hero .hero__summary{color:#657182;max-width:620px;margin:0;font-size:16px;line-height:1.7}.home-hero__search{min-width:0;padding-bottom:2px}.home-hero__search .search-box{background:#fffdf8e6;border-color:#aeb8c6;border-radius:14px;width:100%;min-height:60px;box-shadow:0 10px 30px #1a304d14}.home-hero__search>p{color:#7d8795;margin:10px 3px 0;font-size:12px;line-height:1.55}.home-command__heading{margin-bottom:10px}.home-destination-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px;display:grid}.home-destination-card{color:#172b44;background:#fffdf8e0;border:1px solid #d5cec2;border-radius:18px;flex-direction:column;align-items:flex-start;min-height:166px;padding:24px 58px 22px 24px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 8px 26px #1d2b3d0b}.home-destination-card:hover{border-color:#9fb3cf;transform:translateY(-3px);box-shadow:0 18px 38px #1d345317}.home-destination-card__index{color:#a55b30;margin-bottom:17px;font:760 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.home-destination-card strong{color:#132c49;letter-spacing:-.035em;font-size:clamp(22px,1.55vw,27px);line-height:1.2}.home-destination-card__summary{color:#6e7886;max-width:360px;margin-top:9px;font-size:13px;line-height:1.6}.home-destination-card__action{color:#245c99;font-size:12px;font-weight:780;position:absolute;bottom:21px;right:22px}.home-destination-card:focus-visible{outline-offset:4px;outline:3px solid #285ea842}.page-back-link{color:#52657c;margin-bottom:24px;font-size:13px;font-weight:720;text-decoration:none;display:inline-flex}.page-back-link:hover{color:var(--blue-deep)}.textbook-overview-page,.exam-section-page{width:min(1240px,100% - 48px)}.textbook-overview-page__intro,.exam-section-page__intro{margin-bottom:34px}.textbook-overview-page__intro h1,.exam-section-page__intro h1{margin-bottom:14px}.textbook-overview-page__intro>p:last-child,.exam-section-page__intro>p:last-child{margin-bottom:0}.textbook-volume-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.textbook-volume-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;grid-template-rows:1fr auto;grid-template-columns:36px minmax(0,1fr);gap:14px 16px;min-height:226px;padding:25px;display:grid;box-shadow:0 7px 22px #1f2a370b}.textbook-volume-card__index{color:#a55b30;padding-top:5px;font:760 11px/1 ui-monospace,monospace}.textbook-volume-card__body h2{color:#18324f;letter-spacing:-.035em;margin:0;font-size:24px;line-height:1.25}.textbook-volume-card__body p{color:var(--muted);margin:9px 0 14px;font-size:14px;line-height:1.65}.textbook-volume-card__body>strong{color:#93603e;font-size:13px}.textbook-volume-card__actions{border-top:1px solid #e3ddd3;grid-column:2;padding-top:15px}.textbook-volume-card__actions>a{color:var(--blue-deep);font-size:14px;font-weight:760;text-decoration:none}.textbook-volume-card__actions>div{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.textbook-volume-card__actions>div a{color:#5f6f82;background:#f2eee7;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:680;text-decoration:none}.textbook-overview-page__note{color:#7b8490;margin:22px 0 0;font-size:12px;line-height:1.65}.exam-section-page__heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px;display:flex}.exam-section-page__heading h2{color:#263b54;margin:0;font-size:18px}.exam-section-page__heading span{color:#8b7768;font-size:12px;font-weight:760}.exam-section-page .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-section-page .catalog-card{min-height:190px}@media (width>=721px) and (width<=1280px){.home-page{width:min(100% - 48px,1180px);padding-top:28px}.home-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:42px;min-height:190px}.home-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-destination-card{min-height:150px}.exam-section-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.home-page{width:min(100% - 24px,1120px);padding-top:22px}.home-hero{grid-template-columns:1fr;gap:28px;min-height:auto;padding:22px 2px 27px}.home-hero h1{font-size:42px}.home-destination-grid,.textbook-volume-grid,.exam-section-page .catalog-grid{grid-template-columns:1fr}.home-destination-card{min-height:154px}.textbook-overview-page,.exam-section-page{width:min(100% - 28px,1120px)}.textbook-volume-card{grid-template-columns:28px minmax(0,1fr);padding:21px 18px}}@media (prefers-reduced-motion:reduce){.home-destination-card{transition:none}}body[data-pointer-dragging=true],body[data-pointer-dragging=true] *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}[data-pointer-dragging=true]:not(body){opacity:.42}.pointer-drag-overlay{z-index:10000;pointer-events:none;transform-origin:50%;filter:drop-shadow(0 18px 24px #172a433d);max-width:min(360px,100vw - 24px);position:fixed;transform:translateY(-6px)scale(1.035)}.pointer-drag-overlay__content{border-radius:inherit;overflow:hidden}.pointer-drag-overlay__status{color:#6e4e27;white-space:nowrap;background:#fff9effa;border:1px solid #d5b98f;border-radius:999px;width:max-content;max-width:180px;padding:5px 10px;font-size:11px;font-weight:750;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%);box-shadow:0 5px 14px #2f36411f}.pointer-drag-overlay[data-over-target=true]{filter:drop-shadow(0 18px 28px #1f5da54d)}.pointer-drag-overlay[data-over-target=true] .pointer-drag-overlay__content{outline-offset:2px;outline:3px solid #2b69b080}.pointer-drag-overlay[data-over-target=true] .pointer-drag-overlay__status{color:#16477f;background:#eef6ff;border-color:#7da5d2}@media (prefers-reduced-motion:no-preference){.pointer-drag-overlay{animation:.13s ease-out both pointer-drag-lift}}@keyframes pointer-drag-lift{0%{filter:drop-shadow(0 5px 9px #172a431f);transform:translateY(0)scale(1)}to{transform:translateY(-6px)scale(1.035)}}
