.project-library{--lib-bg:#0d1118;--lib-panel:#171e29;--lib-muted:#9ba9b9;--lib-line:#ffffff16;--lib-accent:#d9e8bd;color:#f4f5f7;background:var(--lib-bg);font:15px/1.5 'Segoe UI',Arial,sans-serif;min-height:100vh;color-scheme:dark;isolation:isolate}
.project-library *{box-sizing:border-box}.project-library [hidden]{display:none!important}.project-library button,.project-library input,.project-library textarea{font:inherit}.project-library button,.project-library a{-webkit-tap-highlight-color:transparent}.project-library button{cursor:pointer}.project-library button,.project-library a,.project-library input,.project-library textarea,.project-library summary{outline-offset:5px}.project-library :focus-visible{outline:2px solid var(--lib-accent)}.project-library a{color:inherit}.project-library h1,.project-library h2,.project-library h3,.project-library p{margin:0}.project-library button{color:inherit}.project-library .lib-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lib-app{min-height:100vh;padding-bottom:40px}.lib-skip{position:absolute;left:24px;top:-90px;z-index:100;background:#eff4e5;color:#121a17!important;padding:12px 20px;border-radius:5px}.lib-skip:focus{top:10px}
.lib-header{height:91px;padding:0 5.2%;display:flex;align-items:center;gap:44px;position:sticky;top:0;background:#0d1118f0;backdrop-filter:blur(20px);border-bottom:1px solid #ffffff08;z-index:40}.lib-brand{display:flex;align-items:center;gap:11px;flex-shrink:0;text-align:left;font-size:19px!important;font-weight:700;line-height:1.03;background:none;border:0;padding:0;letter-spacing:-.5px}.lib-brand-icon{font-size:36px;line-height:1;color:#d8e7c2;font-weight:400;transform:rotate(-7deg)}.lib-brand-sub{display:block;font-size:11px;font-weight:500;letter-spacing:1.7px;text-transform:uppercase;margin-top:6px;color:#c2ccda}.lib-desktop-nav{display:flex;align-items:center;gap:27px;white-space:nowrap}.lib-nav-item{background:transparent;border:0;color:#a8b1be!important;padding:33px 0;font-size:13px!important;position:relative}.lib-nav-item.is-active{color:#fff!important;font-weight:650}.lib-desktop-nav .lib-nav-item.is-active:after{content:'';position:absolute;left:0;right:0;bottom:19px;height:2px;background:var(--lib-accent)}.lib-search{position:relative;display:flex;gap:9px;align-items:center;margin-left:auto;max-width:280px;min-width:175px;width:24%;border:1px solid #ffffff1c;background:#ffffff05;border-radius:7px;padding:0 12px;height:39px}.lib-search>span{font-size:23px;color:#bac4cf}.lib-search input{width:100%;padding:0;background:transparent;color:#e5eaf0;border:0;outline:0!important;font-size:12px;min-width:0}.lib-search input::placeholder{color:#8f9baa}.lib-search input::-webkit-search-cancel-button{display:none}.lib-search:focus-within{border-color:#b7c99f}.lib-search-clear{border:0;background:transparent;font-size:24px!important;padding:0 1px;line-height:1;color:#b9c4d2!important}.lib-mobile-nav{display:none}.lib-main{outline:0!important;scroll-margin-top:91px;min-height:70vh}
.lib-hero{height:570px;position:relative;overflow:hidden;display:flex;align-items:center;background:#11191e}.lib-hero-image{position:absolute;inset:0;background:url('./assets/hero-architecture.webp') center 48%/cover no-repeat}.lib-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d1118 0%,#0d1118ed 16%,#0d1118a8 39%,#0d111824 76%),linear-gradient(0deg,#0d1118 0%,transparent 30%,#0d11181f 100%)}.lib-hero-content{position:relative;z-index:1;max-width:860px;padding:34px 5.8%;width:100%}.lib-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2.25px;line-height:1.6;color:var(--lib-accent);text-transform:uppercase}.lib-hero h1{font-size:clamp(40px,4.1vw,67px);line-height:1.08;letter-spacing:-2.5px;font-weight:650;margin:19px 0 20px}.lib-hero p{max-width:405px;font-size:15px;color:#bbc4ce;line-height:1.75}.lib-hero-actions{display:flex;align-items:center;gap:12px;margin-top:29px;flex-wrap:wrap}.lib-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:5px;border:1px solid transparent;padding:12px 19px;font-size:12px!important;font-weight:650;line-height:1.3;min-height:43px;text-decoration:none;transition:background .18s,transform .18s}.lib-btn-light{background:#e6edda;color:#182018!important}.lib-btn-light:hover{background:#f4f8ec;transform:translateY(-1px)}.lib-btn-glass{background:#e7edf019;border-color:#ffffff1a;color:white}.lib-btn-glass:hover{background:#e7edf02b}.lib-btn-outline{background:transparent;border-color:#ffffff2c;color:#dfe5ec}.lib-btn-outline:hover{background:#ffffff0b}.lib-hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:10px;color:#a3aebd}.lib-hero-meta span+span:before{content:'•';margin-right:20px;color:#788776}.lib-hero-caption{position:absolute;right:26px;bottom:28px;color:#b6c0ca80;font-size:9px;letter-spacing:.5px}.lib-body{padding:0 5.8%;max-width:1800px;margin:auto}.lib-section{margin:34px 0 45px}.lib-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.lib-section-heading h2{font-size:21px;line-height:1.25;letter-spacing:-.45px;font-weight:600}.lib-section-heading p{font-size:12px;color:var(--lib-muted);margin-top:7px}.lib-section-count{font-size:11px;color:#aebbc9;white-space:nowrap}.lib-rail-wrap{position:relative}.lib-rail{display:flex;gap:18px;overflow:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#50607050 transparent;padding:2px 2px 18px;margin:0 -2px}.lib-rail::-webkit-scrollbar{height:5px}.lib-rail::-webkit-scrollbar-thumb{background:#39475a;border-radius:20px}.lib-rail .lib-card{flex:0 0 calc((100% - 72px)/5);min-width:200px;scroll-snap-align:start}.lib-rail-controls{display:flex;gap:7px;position:absolute;top:-59px;right:0}.lib-rail-controls button{border:1px solid #ffffff20;background:#17202b;color:#c8d1dc;width:31px;height:31px;border-radius:50%;font-size:17px}.lib-rail-controls button:hover{background:#283544}.lib-card{min-width:0}.lib-card-cover{position:relative;border-radius:7px;overflow:hidden;background:#1c2b38;aspect-ratio:4/4.3;border:1px solid #ffffff09}.lib-cover-button{border:0;padding:0;position:absolute;inset:0;text-align:left;background:transparent;width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden}.lib-cover-art{position:absolute;inset:0;transition:transform .4s}.lib-art-project{background-image:url('./assets/catalog-3d-sheet.webp');background-size:400% 400%;background-repeat:no-repeat}.lib-art-resource{background-image:url('./assets/bonus-3d-sheet.webp');background-size:400% 400%;background-repeat:no-repeat}.lib-cover-art[data-cover="0"],.lib-art-resource[data-resource-cover="0"]{background-position:0 0}.lib-cover-art[data-cover="1"],.lib-art-resource[data-resource-cover="1"]{background-position:33.333% 0}.lib-cover-art[data-cover="2"],.lib-art-resource[data-resource-cover="2"]{background-position:66.666% 0}.lib-cover-art[data-cover="3"],.lib-art-resource[data-resource-cover="3"]{background-position:100% 0}.lib-cover-art[data-cover="4"],.lib-art-resource[data-resource-cover="4"]{background-position:0 33.333%}.lib-cover-art[data-cover="5"],.lib-art-resource[data-resource-cover="5"]{background-position:33.333% 33.333%}.lib-cover-art[data-cover="6"],.lib-art-resource[data-resource-cover="6"]{background-position:66.666% 33.333%}.lib-cover-art[data-cover="7"],.lib-art-resource[data-resource-cover="7"]{background-position:100% 33.333%}.lib-cover-art[data-cover="8"],.lib-art-resource[data-resource-cover="8"]{background-position:0 66.666%}.lib-cover-art[data-cover="9"],.lib-art-resource[data-resource-cover="9"]{background-position:33.333% 66.666%}.lib-cover-art[data-cover="10"],.lib-art-resource[data-resource-cover="10"]{background-position:66.666% 66.666%}.lib-cover-art[data-cover="11"],.lib-art-resource[data-resource-cover="11"]{background-position:100% 66.666%}.lib-cover-art[data-cover="12"]{background-position:0 100%}.lib-cover-shade{position:absolute;inset:0;background:linear-gradient(0deg,#091018 2%,#091018c7 19%,#09101800 66%)}.lib-card-kicker{position:relative;font-size:7px;letter-spacing:1.5px;font-weight:650;color:#e4edcfbd;margin:0 17px 7px}.lib-card-title{position:relative;font-weight:650;font-size:21px;line-height:1.06;letter-spacing:-.55px;margin:0 17px 13px;max-width:75%}.lib-card-explore{font-size:9px;position:relative;color:#cdd7e3;border-top:1px solid #ffffff15;padding-top:10px;margin:0 17px 16px;width:calc(100% - 34px);display:flex;justify-content:space-between}.lib-card-explore>span{font-size:13px}.lib-cover-button:hover .lib-cover-art{transform:scale(1.045)}.lib-favorite{position:absolute;right:10px;top:10px;border:1px solid #ffffff20;background:#111924bd;color:#fff;width:32px;height:32px;border-radius:50%;padding:0;font-size:20px!important;line-height:1;z-index:2;display:flex;align-items:center;justify-content:center;transition:background .15s}.lib-favorite:hover{background:#243343}.lib-favorite.is-favorite{background:#dce6c7;color:#1d3026!important;border-color:#e1edce}.lib-card-info{padding:12px 2px 0}.lib-card-type{display:block;font-size:9px;letter-spacing:.3px;color:#7e8c9d}.lib-card-info p{font-size:11px;color:#bdc7d4;margin-top:4px}.lib-card-progress{display:inline-block;font-size:10px;color:#c1d1ad;margin-top:5px}.lib-card-access{position:absolute;left:12px;top:13px;z-index:2;border:1px solid #ffffff28;padding:4px 7px;border-radius:3px;font-size:8px;background:#15212bce}.lib-card-resource .lib-card-cover{aspect-ratio:4/4.3}.lib-continue{display:flex;align-items:center;gap:20px;padding:21px 24px;background:linear-gradient(105deg,#24312b70,#1b253375);border:1px solid #d2e6bd18;border-radius:7px;margin:0 0 43px}.lib-continue-icon{font-size:35px;color:#d5e4c0;border:1px solid #d5e4c026;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;flex-shrink:0}.lib-continue .lib-eyebrow{font-size:8px;letter-spacing:1.5px}.lib-continue h2{font-size:16px;line-height:1.4;margin:4px 0;overflow-wrap:anywhere}.lib-continue p{font-size:11px;color:#9cabb9}.lib-continue .lib-btn{margin-left:auto;flex-shrink:0}.lib-tool-banner{display:flex;align-items:center;gap:27px;padding:33px 36px;background:linear-gradient(115deg,#1e2a35,#17222a);border:1px solid #ffffff10;border-radius:7px;margin:48px 0 24px}.lib-tool-banner-icon{font-size:55px;line-height:1;color:#b9cbb8;flex-shrink:0}.lib-tool-banner h2{font-size:20px;font-weight:600;letter-spacing:-.35px;margin-top:5px}.lib-tool-banner p{font-size:12px;color:#a4b1c0;margin-top:6px}.lib-tool-banner .lib-btn{margin-left:auto;white-space:nowrap}.lib-tool-banner .lib-eyebrow{font-size:8px;letter-spacing:1.5px}.lib-library-note{font-size:10px;color:#778494;line-height:1.7;margin:20px 0 10px!important}
.lib-page{padding-top:44px;padding-bottom:45px}.lib-page-heading{margin:6px 0 34px}.lib-page-heading h1{font-size:clamp(32px,3vw,47px);letter-spacing:-1.5px;line-height:1.15;font-weight:600;margin:12px 0 14px}.lib-page-heading p{font-size:14px;line-height:1.7;color:#a6b3c3;max-width:650px}.lib-filters{display:flex;gap:9px;overflow:auto;padding:3px 3px 17px;margin:-3px -3px 17px;scrollbar-width:thin;scrollbar-color:#2f3d4d transparent}.lib-filter{white-space:nowrap;border:1px solid #ffffff19;background:#ffffff04;color:#a6b2c0!important;border-radius:25px;padding:9px 17px;font-size:11px!important}.lib-filter.is-active{background:#dce6cd;color:#213025!important;border-color:#dce6cd}.lib-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:22px;row-gap:30px}.lib-resources-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.lib-back{border:0;background:none;padding:0;color:#a8b7c7!important;display:inline-flex;gap:11px;font-size:12px!important;align-items:center;margin-bottom:32px}.lib-back:hover{color:#fff!important}.lib-detail-heading{display:flex;gap:38px;align-items:center;padding:0 0 33px;margin-bottom:30px;border-bottom:1px solid var(--lib-line)}.lib-detail-cover{position:relative;width:205px;height:220px;border:1px solid #ffffff13;border-radius:7px;overflow:hidden;flex-shrink:0}.lib-detail-copy{max-width:790px}.lib-detail-copy h1{font-size:clamp(30px,3.8vw,52px);line-height:1.1;letter-spacing:-1.8px;font-weight:600;margin:12px 0 18px}.lib-detail-copy>p{font-size:13px;line-height:1.8;color:#a6b4c4;max-width:630px}.lib-detail-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:#c7d4c0;margin-top:17px}.lib-detail-meta span+span:before{content:'•';margin-right:18px;color:#61706c}.lib-detail-actions{display:flex;align-items:center;gap:10px;margin-top:23px;font-size:11px;color:#a6b4c4}.lib-detail-favorite{position:static;flex-shrink:0}.lib-file-list{display:flex;flex-direction:column;gap:8px}.lib-file-row{display:flex;align-items:center;border:1px solid #ffffff0c;background:#151c26;border-radius:6px;min-width:0;transition:background .15s}.lib-file-row:hover{background:#1b2634}.lib-file-open{border:0;background:transparent;padding:15px 18px;display:flex;gap:17px;text-align:left;align-items:center;min-width:0;flex:1}.lib-file-icon{width:42px;height:47px;border:1px solid #b5c4a630;border-radius:4px;background:#aebf9f0c;color:#d9e5c3;display:grid;place-items:center;font-size:10px;font-weight:700;flex-shrink:0;letter-spacing:.5px}.lib-type-image{font-size:28px;color:#bbcde2;background:#93b9df0b;border-color:#93b9df26}.lib-type-video{font-size:25px;color:#dfc5b2;background:#dfc5b20c;border-color:#dfc5b226}.lib-type-cad{color:#a7cddb;background:#a7cddb0b;border-color:#a7cddb26}.lib-file-content{display:block;min-width:0;flex:1}.lib-file-content strong{display:block;font-size:12px;font-weight:550;color:#e1e7ef;overflow-wrap:anywhere;line-height:1.55}.lib-file-content>span{display:block;font-size:10px;color:#8798aa;margin-top:4px}.lib-file-content small{display:block;font-size:9px;line-height:1.6;color:#75899a;margin-top:4px;overflow-wrap:anywhere}.lib-file-arrow{margin-left:auto;color:#a4b6c5;font-size:18px;flex-shrink:0}.lib-file-favorite{position:static;margin:0 17px 0 0;background:transparent;border-color:#ffffff13;flex-shrink:0}.lib-folder{border:1px solid #ffffff13;border-radius:6px;background:#151e29;overflow:hidden}.lib-folder summary{list-style:none;cursor:pointer;display:flex;gap:13px;align-items:center;padding:17px 21px;font-size:13px;color:#d8e2ec}.lib-folder summary::-webkit-details-marker{display:none}.lib-folder summary>span:first-child{font-size:23px;color:#b8cca8;line-height:1}.lib-folder summary>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.lib-folder summary small{margin-left:auto;color:#8da0b2;font-size:10px;white-space:nowrap}.lib-folder-chevron{color:#a0afbf;margin-left:12px;transition:transform .15s}.lib-folder[open]>summary .lib-folder-chevron{transform:rotate(180deg)}.lib-folder-content{padding:0 12px 12px;display:flex;flex-direction:column;gap:7px}.lib-folder-content .lib-file-row{background:#101822}.lib-folder-content .lib-folder{background:#111a24}.lib-folder-empty{color:#92a1b4;font-size:12px;padding:12px}.lib-folder-empty a{color:#d3dfc4}.lib-access-panel{padding:35px;border:1px solid #d8e6c22a;background:#1c28251f;border-radius:6px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.lib-access-panel h2{font-size:23px;flex-basis:100%;letter-spacing:-.5px}.lib-access-panel p{flex-basis:100%;margin:0 0 13px;color:#a1b0c0;font-size:13px}.lib-empty{text-align:center;border:1px dashed #ffffff19;border-radius:7px;padding:50px 25px;background:#111923;max-width:100%;margin:20px 0}.lib-empty-icon{font-size:35px;color:#9caf9c;display:block;margin-bottom:14px}.lib-empty h2{font-size:21px;letter-spacing:-.4px;font-weight:550}.lib-empty p{color:#8fa0b3;font-size:13px;line-height:1.8;max-width:560px;margin:12px auto 22px}.lib-load-more{display:flex;margin:25px auto}.lib-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:200;max-width:calc(100% - 40px);padding:13px 20px;border:1px solid #d6e2c43a;background:#e0e9d4;color:#213124;border-radius:7px;box-shadow:0 10px 40px #0005;font-size:12px;text-align:center}
.lib-reader-overlay{position:fixed;inset:0;z-index:100;background:#060a0ff5;padding:20px;display:flex}.lib-reader{display:flex;flex-direction:column;min-height:0;max-width:1650px;width:100%;margin:auto;height:100%;background:#111822;border:1px solid #ffffff18;border-radius:9px;overflow:hidden;box-shadow:0 20px 100px #0009}.lib-reader-header{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:17px 22px;border-bottom:1px solid #ffffff12;flex-shrink:0}.lib-reader-header>div{min-width:0}.lib-reader-header>div>span{font-size:9px;color:#a7b5c4;letter-spacing:.5px}.lib-reader-header h2{font-size:15px;font-weight:550;margin-top:4px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-reader-close{border:1px solid #ffffff1a;background:#ffffff06;border-radius:50%;font-size:27px!important;line-height:1;width:35px;height:35px;flex-shrink:0}.lib-reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;min-height:0;flex:1}.lib-reader-stage{background:#070c12;min-height:0;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.lib-preview{width:100%;height:100%;border:0;min-height:0;flex:1;background:#1b2430}.lib-preview-help{padding:9px 15px!important;color:#8d9fb1;font-size:10px;line-height:1.7;background:#111a26;flex-shrink:0}.lib-preview-help a{color:#c4d5b0}.lib-reader-sidebar{padding:23px 21px;background:#161f2a;border-left:1px solid #ffffff13;overflow-y:auto}.lib-reader-sidebar .lib-eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:21px}.lib-reader-action-row{display:flex;gap:11px;align-items:center;font-size:11px;color:#c0ccd9;margin-bottom:23px}.lib-reader-favorite{position:static;width:31px;height:31px;font-size:19px!important;flex-shrink:0}.lib-read-check{display:flex;align-items:center;gap:10px;font-size:11px;color:#c6d2de;cursor:pointer;padding-bottom:23px;border-bottom:1px solid #ffffff10;margin-bottom:23px}.lib-read-check input{width:16px;height:16px;accent-color:#c4d9b3;margin:0}.lib-page-label,.lib-notes-label{font-size:11px;color:#d7dfe8;font-weight:550;display:block;margin-bottom:10px}.lib-page-control{display:flex;border:1px solid #ffffff1f;border-radius:5px;overflow:hidden;height:35px}.lib-page-control button{width:36px;background:#ffffff05;border:0;font-size:18px!important;flex-shrink:0}.lib-page-control input{background:#0e1621;width:100%;border:0;text-align:center;color:#dae3ee;min-width:0;font-size:12px;appearance:textfield}.lib-page-control input::-webkit-inner-spin-button{-webkit-appearance:none}.lib-reader-hint{font-size:9px;line-height:1.7;color:#8597aa;margin-top:9px!important;margin-bottom:22px!important}.lib-reader-sidebar textarea{width:100%;padding:12px;border:1px solid #ffffff1d;background:#101722;color:#ced9e5;font-size:11px;line-height:1.8;resize:vertical;min-height:150px;border-radius:5px}.lib-reader-sidebar textarea::placeholder{color:#667b90}.lib-reader-links{display:flex;flex-direction:column;gap:9px;margin-top:25px}.lib-reader-links .lib-btn{font-size:11px!important;min-height:39px}.lib-record-privacy{margin-bottom:0!important}.lib-reader-fallback{padding:45px;max-width:640px;text-align:center;margin:auto}.lib-reader-format{font-size:20px;font-weight:600;letter-spacing:3px;color:#c1d5ae;display:grid;place-items:center;height:100px;width:100px;margin:0 auto 28px;background:#9fb48f0a;border:1px solid #c1d5ae30;border-radius:9px}.lib-reader-fallback h2{font-size:25px;letter-spacing:-.6px;line-height:1.3;font-weight:550}.lib-reader-fallback p{color:#8c9fb3;font-size:12px;line-height:1.9;margin:17px 0 24px}.lib-image-view{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:15px}.lib-image-view img{width:100%;height:100%;object-fit:contain}.lib-video{width:100%;max-height:100%;min-height:0}.lib-media-error{font-size:13px;color:#a2b2c3;text-align:center;padding:30px}
.lib-art-native{width:100%;height:100%;object-fit:contain;background:#12202c;padding:4px}.lib-type-book{font-size:26px;color:#d7e5bd;background:#d7e5bd0b;border-color:#d7e5bd26}.lib-reader-book-stage{justify-content:flex-start}.lib-book-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 16px;background:#182330;border-bottom:1px solid #ffffff10;flex-shrink:0}.lib-book-paging{display:flex;align-items:center;gap:9px;white-space:nowrap}.lib-book-paging>button{background:#ffffff07;border:1px solid #ffffff1c;width:31px;height:29px;border-radius:4px;font-size:16px!important}.lib-book-paging>button:disabled{opacity:.3;cursor:default}.lib-book-paging>input{width:45px;text-align:center;appearance:textfield;background:#0e1723;border:1px solid #ffffff1c;border-radius:4px;height:29px;color:#e2e9f2;font-size:11px}.lib-book-paging>input::-webkit-inner-spin-button{-webkit-appearance:none}.lib-book-paging>span{font-size:11px;color:#9eafc0;min-width:35px}.lib-book-zoom{display:flex;gap:5px}.lib-book-zoom button{background:transparent;border:1px solid transparent;font-size:9px!important;padding:5px 8px;border-radius:3px;color:#95a7ba}.lib-book-zoom button[aria-pressed="true"]{background:#d7e5bd14;border-color:#d7e5bd25;color:#d7e5bd}.lib-book-canvas{min-height:0;flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;position:relative;padding:17px;background:repeating-conic-gradient(#0c121a 0% 25%,#0e151f 0% 50%) 50%/22px 22px}.lib-book-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 8px 35px #0005;flex-shrink:0}.lib-book-canvas[data-zoom="100"],.lib-book-canvas[data-zoom="150"],.lib-book-canvas[data-zoom="200"]{display:block;text-align:center}.lib-book-canvas[data-zoom="100"] .lib-book-image{max-width:none;max-height:none;width:100%;height:auto;margin:auto}.lib-book-canvas[data-zoom="150"] .lib-book-image{max-width:none;max-height:none;width:150%;height:auto}.lib-book-canvas[data-zoom="200"] .lib-book-image{max-width:none;max-height:none;width:200%;height:auto}.lib-book-canvas>.lib-preview{min-height:100%;height:100%}.lib-book-canvas>.lib-reader-fallback{max-width:580px}.lib-book-page-title{font-size:9px;color:#93a5b8;padding:7px 14px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#101a26;border-top:1px solid #ffffff0b;flex-shrink:0}.lib-book-thumbnails{display:flex;gap:7px;overflow:auto;padding:10px 13px;background:#111b27;flex-shrink:0;scrollbar-width:thin;scrollbar-color:#3b4a5b transparent}.lib-book-thumbnails>button{display:flex;flex-direction:column;width:51px;min-width:51px;height:63px;padding:3px;border:1px solid #ffffff13;background:#0e1621;border-radius:4px;color:#9bafc0;align-items:center;justify-content:center;gap:2px}.lib-book-thumbnails>button[aria-current="page"]{border-color:#c9dbb2;background:#c9dbb214;color:#d9e8c5}.lib-book-thumbnails img{display:block;max-width:100%;width:100%;height:42px;object-fit:contain}.lib-book-thumbnails>button>span:last-child{font-size:8px;line-height:1.2}.lib-thumbnail-format{font-size:8px;display:grid;place-items:center;flex:1}.lib-book-canvas .lib-video{max-height:100%;height:auto}
@media(min-width:1700px){.lib-hero-content{max-width:1000px}.lib-hero{height:650px}.lib-rail .lib-card{flex-basis:calc((100% - 90px)/6)}.lib-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1180px){.lib-header{gap:28px;padding:0 4%}.lib-desktop-nav{gap:19px}.lib-nav-item{font-size:12px!important}.lib-search{max-width:230px;min-width:155px}.lib-brand{font-size:17px!important}.lib-brand-icon{font-size:31px}.lib-brand-sub{font-size:9px}.lib-hero-content,.lib-body{padding-left:4.5%;padding-right:4.5%}.lib-rail .lib-card{flex-basis:calc((100% - 54px)/4)}.lib-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lib-card-title{font-size:22px}.lib-hero{height:535px}.lib-tool-banner{padding:29px}.lib-tool-banner h2{font-size:18px}.lib-tool-banner-icon{font-size:43px}}
@media(max-width:900px){.lib-header{gap:20px;height:78px}.lib-desktop-nav{gap:17px}.lib-desktop-nav .lib-nav-item{font-size:11px!important;padding:29px 0}.lib-brand{font-size:16px!important}.lib-brand-sub{font-size:8px}.lib-brand-icon{font-size:28px}.lib-search{min-width:135px;max-width:195px;height:35px}.lib-search input{font-size:11px}.lib-main{scroll-margin-top:78px}.lib-hero{height:490px}.lib-hero-content{max-width:680px}.lib-hero h1{font-size:49px}.lib-hero p{max-width:330px;font-size:13px}.lib-hero-image:after{background:linear-gradient(90deg,#0d1118f5 0%,#0d1118dd 28%,#0d11184d 80%),linear-gradient(0deg,#0d1118,transparent 38%)}.lib-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 17px}.lib-rail .lib-card{flex-basis:calc((100% - 36px)/3);min-width:190px}.lib-tool-banner{gap:19px;padding:26px 23px;flex-wrap:wrap}.lib-tool-banner>div{flex:1;min-width:250px}.lib-tool-banner .lib-btn{margin-left:62px}.lib-reader-layout{grid-template-columns:minmax(0,1fr) 250px}.lib-reader-sidebar{padding:20px 16px}.lib-detail-cover{width:180px;height:195px}.lib-detail-heading{gap:28px}.lib-detail-copy h1{font-size:36px}.lib-continue{padding:18px}.lib-continue h2{font-size:14px}}
@media(max-width:730px){.lib-app{padding-bottom:75px}.lib-header{height:72px;padding:0 5%;gap:15px;background:#0d1118f7}.lib-brand{font-size:16px!important;gap:8px}.lib-brand-icon{font-size:30px}.lib-brand-sub{font-size:8px;letter-spacing:1.6px}.lib-desktop-nav{display:none}.lib-search{max-width:none;width:50%;height:34px;min-width:0;padding:0 9px}.lib-search input{font-size:10px}.lib-search>span{font-size:21px}.lib-mobile-nav{display:flex;position:fixed;left:0;bottom:0;right:0;z-index:45;background:#111923f7;backdrop-filter:blur(20px);border-top:1px solid #ffffff16;justify-content:space-around;padding:7px 4px max(8px,env(safe-area-inset-bottom))}.lib-mobile-nav .lib-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px!important;padding:3px 8px;gap:3px;min-width:53px;line-height:1.35}.lib-mobile-nav .lib-nav-item>span:first-child{font-size:23px;line-height:1.2;font-weight:400}.lib-mobile-nav .lib-nav-item.is-active{color:#d7e5bf!important}.lib-main{scroll-margin-top:72px}.lib-hero{height:500px;align-items:flex-end}.lib-hero-image{background-position:63% 50%}.lib-hero-image:after{background:linear-gradient(0deg,#0d1118 0%,#0d1118fa 8%,#0d1118b3 44%,#0d111814 100%),linear-gradient(90deg,#0d11185c,transparent)}.lib-hero-content{padding:0 6% 39px}.lib-hero .lib-eyebrow{font-size:8px;letter-spacing:1.55px}.lib-hero h1{font-size:43px;letter-spacing:-1.7px;line-height:1.1;margin:14px 0 16px}.lib-hero p{font-size:12px;line-height:1.75;max-width:320px;color:#c4cdd6}.lib-hero-actions{margin-top:23px;gap:9px}.lib-hero-actions .lib-btn{font-size:10px!important;padding:11px 13px;min-height:39px}.lib-hero-meta{gap:9px;margin-top:23px;font-size:8px}.lib-hero-meta span+span:before{margin-right:9px}.lib-hero-caption{bottom:8px;right:15px;font-size:7px}.lib-body{padding-left:6%;padding-right:6%}.lib-section{margin:25px 0 30px}.lib-section-heading{margin-bottom:17px;padding-right:65px;gap:10px}.lib-section-heading h2{font-size:18px;letter-spacing:-.35px}.lib-section-heading p{font-size:10px;line-height:1.7;margin-top:6px}.lib-rail{gap:13px;padding-bottom:12px;margin-right:-6.8%;padding-right:6.8%;scrollbar-width:none}.lib-rail .lib-card{flex:0 0 43%;min-width:166px}.lib-rail-controls{top:-51px;gap:5px;right:0}.lib-rail-controls button{height:26px;width:26px;font-size:14px}.lib-card-cover{border-radius:5px;aspect-ratio:4/4.4}.lib-card-kicker{font-size:6px;letter-spacing:1px;margin:0 12px 6px}.lib-card-title{font-size:19px;margin:0 12px 10px;max-width:82%;letter-spacing:-.45px}.lib-card-explore{font-size:8px;margin:0 12px 11px;width:calc(100% - 24px);padding-top:7px}.lib-card-explore>span{font-size:11px}.lib-favorite{width:28px;height:28px;font-size:18px!important;right:8px;top:8px}.lib-card-info{padding-top:9px}.lib-card-type{font-size:8px;line-height:1.6}.lib-card-info p{font-size:9px;line-height:1.7;margin-top:3px}.lib-card-progress{font-size:8px}.lib-card-access{font-size:6px;left:8px;top:10px;max-width:112px;padding:3px 5px}.lib-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 13px}.lib-card-grid .lib-card-title{font-size:20px}.lib-continue{padding:16px 15px;gap:12px;margin:14px 0 29px;flex-wrap:wrap}.lib-continue-icon{height:39px;width:39px;font-size:27px}.lib-continue>div{flex:1;min-width:0}.lib-continue .lib-eyebrow{font-size:7px;letter-spacing:1px}.lib-continue h2{font-size:12px;line-height:1.6;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lib-continue p{font-size:9px}.lib-continue .lib-btn{margin-left:51px;min-height:32px;padding:8px 13px;font-size:9px!important}.lib-tool-banner{padding:21px 18px;margin:32px 0 22px;gap:13px}.lib-tool-banner-icon{font-size:31px}.lib-tool-banner>div{min-width:170px}.lib-tool-banner .lib-eyebrow{font-size:6px;letter-spacing:1px}.lib-tool-banner h2{font-size:16px;line-height:1.35}.lib-tool-banner p{font-size:10px;line-height:1.8}.lib-tool-banner .lib-btn{margin:5px 0 0 44px;font-size:10px!important;padding:10px 14px;min-height:38px}.lib-library-note{font-size:8px;margin-top:18px!important}.lib-page{padding-top:29px;padding-bottom:22px}.lib-page-heading{margin:4px 0 25px}.lib-page-heading .lib-eyebrow{font-size:8px;letter-spacing:1.6px}.lib-page-heading h1{font-size:32px;letter-spacing:-1.2px;margin:12px 0}.lib-page-heading p{font-size:11px;line-height:1.8}.lib-filters{gap:7px;margin-bottom:12px;padding-bottom:14px}.lib-filter{padding:8px 13px;font-size:9px!important}.lib-back{font-size:10px!important;margin-bottom:24px}.lib-detail-heading{gap:19px;align-items:flex-start;padding-bottom:25px;margin-bottom:23px}.lib-detail-cover{height:148px;width:127px}.lib-detail-copy{flex:1;min-width:0}.lib-detail-copy .lib-eyebrow{font-size:7px;letter-spacing:1.2px}.lib-detail-copy h1{font-size:27px;letter-spacing:-1px;margin:8px 0 10px}.lib-detail-copy>p{font-size:10px;line-height:1.7}.lib-detail-meta{gap:7px;font-size:8px;margin-top:11px}.lib-detail-meta span+span:before{margin-right:7px}.lib-detail-actions{font-size:8px;margin-top:13px;gap:8px}.lib-detail-favorite{width:26px;height:26px;font-size:16px!important}.lib-file-open{gap:11px;padding:12px 10px}.lib-file-icon{width:34px;height:39px;font-size:8px}.lib-type-image,.lib-type-video{font-size:22px}.lib-file-content strong{font-size:10px;line-height:1.6}.lib-file-content>span{font-size:8px;margin-top:3px}.lib-file-content small{font-size:8px}.lib-file-favorite{margin:0 10px 0 2px;width:27px;height:27px;font-size:17px!important}.lib-file-arrow{font-size:15px}.lib-folder summary{padding:14px 12px;gap:9px;font-size:11px}.lib-folder summary>span:first-child{font-size:20px}.lib-folder summary small{font-size:8px}.lib-folder-chevron{margin-left:3px}.lib-folder-content{padding:0 6px 7px;gap:6px}.lib-section-count{font-size:9px}.lib-access-panel{padding:24px 19px;gap:9px}.lib-access-panel h2{font-size:21px}.lib-access-panel p{font-size:11px;line-height:1.8}.lib-access-panel .lib-btn{font-size:10px!important;min-height:38px;padding:10px 13px}.lib-empty{padding:35px 21px}.lib-empty h2{font-size:19px}.lib-empty p{font-size:11px}.lib-empty .lib-btn{font-size:10px!important}.lib-toast{bottom:83px;font-size:11px;width:max-content;max-width:calc(100% - 40px);padding:11px 16px}.lib-reader-overlay{padding:0;z-index:90}.lib-reader{border:0;border-radius:0;max-width:none}.lib-reader-header{padding:13px 16px;gap:12px;min-height:70px}.lib-reader-header>div>span{font-size:8px}.lib-reader-header h2{font-size:12px}.lib-reader-close{width:31px;height:31px;font-size:24px!important}.lib-reader-layout{grid-template-columns:1fr;display:flex;flex-direction:column;overflow-y:auto}.lib-reader-stage{height:62vh;min-height:340px;flex-shrink:0}.lib-preview-help{font-size:8px;padding:8px 11px!important}.lib-reader-sidebar{overflow:visible;border-left:0;border-top:1px solid #ffffff13;padding:22px 20px 28px;flex-shrink:0}.lib-reader-sidebar .lib-eyebrow{margin-bottom:15px}.lib-reader-action-row{margin-bottom:18px}.lib-read-check{padding-bottom:18px;margin-bottom:18px}.lib-reader-sidebar textarea{min-height:110px}.lib-reader-links{flex-direction:row;margin-top:17px}.lib-reader-links .lib-btn{flex:1}.lib-reader-fallback{padding:30px 25px}.lib-reader-fallback h2{font-size:21px}.lib-reader-fallback p{font-size:11px}.lib-reader-format{width:75px;height:75px;font-size:16px;margin-bottom:20px}.lib-reader-hint{margin-bottom:17px!important}.lib-reader-sidebar .lib-record-privacy{margin-bottom:0!important}}
@media(max-width:730px){.lib-book-toolbar{padding:8px 11px;gap:8px}.lib-book-paging{gap:6px}.lib-book-paging>button{width:29px;height:27px;font-size:14px!important}.lib-book-paging>input{width:35px;height:27px;font-size:10px}.lib-book-paging>span{font-size:9px;min-width:28px}.lib-book-zoom{gap:2px}.lib-book-zoom button{font-size:8px!important;padding:4px 5px}.lib-book-canvas{padding:9px}.lib-book-thumbnails{padding:8px 10px;gap:6px}.lib-book-thumbnails>button{width:43px;min-width:43px;height:51px}.lib-book-thumbnails img{height:32px}.lib-book-page-title{font-size:8px}.lib-reader-book-stage{height:70vh;min-height:460px}.lib-type-book{font-size:23px}}
@media(max-width:370px){.lib-brand{font-size:14px!important}.lib-brand-icon{font-size:26px}.lib-brand-sub{font-size:7px}.lib-search{width:47%;padding:0 7px;gap:4px}.lib-hero h1{font-size:38px}.lib-hero-actions{gap:7px}.lib-hero-actions .lib-btn{font-size:9px!important;padding:10px}.lib-card-grid .lib-card-title{font-size:17px}.lib-card-grid .lib-card-kicker{font-size:5px}.lib-detail-cover{width:100px;height:123px}.lib-detail-heading{gap:14px}.lib-detail-copy h1{font-size:24px}.lib-detail-copy>p{font-size:9px}.lib-mobile-nav .lib-nav-item{font-size:8px!important;min-width:45px}.lib-mobile-nav .lib-nav-item>span:first-child{font-size:21px}.lib-book-zoom button{padding:4px 3px;font-size:7px!important}.lib-book-paging{gap:4px}}
.lib-count-note{font-size:10px!important;line-height:1.8!important;color:#8193a5!important;margin-top:18px!important}.lib-reader-alternative{font-size:10px;text-align:center;color:#b8cda5!important;padding:7px 0}.lib-media-failed{padding:35px;max-width:600px;text-align:center;align-self:center;margin:auto}.lib-media-failed h3{font-size:20px;line-height:1.4}.lib-media-failed p{font-size:12px;color:#94a9bc;line-height:1.8;margin:13px 0 22px}.lib-media-failed>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.lib-media-failed>div>a{flex-basis:100%;font-size:10px;color:#bccfac;padding-top:9px}
.lib-native-pdf{display:flex;flex:1;flex-direction:column;min-height:270px;min-width:0;width:100%;height:100%;overflow:hidden}.lib-book-canvas>.lib-native-pdf{height:100%;min-height:250px}.lib-reader-stage:has(>.lib-native-pdf){align-items:stretch;justify-content:flex-start}.lib-book-canvas:has(>.lib-native-pdf){padding:0;align-items:stretch;justify-content:flex-start}
.lib-reader-book-stage:has(.lib-native-pdf) .lib-book-zoom{display:none}
@media(prefers-reduced-motion:reduce){.project-library *{scroll-behavior:auto!important;transition:none!important}}
.lib-volume-card .lib-card-cover{aspect-ratio:4/3.8;background:#172b3e}.lib-volume-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#f4f2ed}.lib-volume-card .lib-card-title{font-size:20px;line-height:1.2}.lib-volume-card .lib-card-kicker{font-size:10px}.lib-volume-badge{position:absolute;top:12px;left:12px;color:#d8f8c3;background:#122615e8;border:1px solid #8dc96a4a;font-size:9px;font-weight:700;border-radius:5px;padding:5px 8px}.lib-volume-card .lib-cover-shade{background:linear-gradient(0deg,#071321 0%,#071321de 20%,#07132100 75%)}.lib-volume-card .lib-card-info p{font-size:12px}.lib-volume-rail{scroll-snap-type:x proximity}.lib-volume-rail .lib-card{scroll-snap-align:start}.lib-unlock-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 34px;margin:42px 0;background:linear-gradient(110deg,#163338,#15233f);border:1px solid #5bb7b33d;border-radius:12px}.lib-unlock-banner h2{font-size:27px;line-height:1.2;margin:10px 0}.lib-unlock-banner p{font-size:15px;color:#a9bccb;line-height:1.6;max-width:570px}.lib-unlock-banner .lib-btn{flex-shrink:0}.lib-app{min-height:100vh;min-height:100dvh}.lib-header,.lib-main,.lib-body,.lib-reader-header>div,.lib-reader-stage{min-width:0}.lib-reader-header h2{overflow-wrap:anywhere}.lib-reader-links{flex-wrap:wrap}.lib-library-note a{text-decoration:underline;text-underline-offset:3px}.lib-cover-button:focus-visible{outline:3px solid #c6f273;outline-offset:-4px}.lib-card-access{pointer-events:none}.lib-reader-header .lib-reader-close{flex-shrink:0}
@media(max-width:730px){.lib-hero{height:440px}.lib-hero h1{font-size:37px}.lib-hero-content{padding-bottom:26px}.lib-hero p{font-size:15px;line-height:1.5}.lib-hero .lib-eyebrow{font-size:10px}.lib-hero-actions .lib-btn{font-size:12px!important;min-height:44px;padding:10px 13px}.lib-hero-meta{font-size:10px;flex-wrap:wrap;margin-top:17px}.lib-section-heading h2{font-size:21px;line-height:1.2}.lib-section-heading p{font-size:13px;line-height:1.5}.lib-volume-rail .lib-card{flex-basis:57%;min-width:166px}.lib-volume-card .lib-card-title{font-size:18px}.lib-volume-card .lib-card-kicker{font-size:9px}.lib-volume-badge{font-size:8px;padding:5px 6px;left:8px;top:8px}.lib-card-info p{font-size:12px}.lib-card-type{font-size:11px}.lib-card-access{font-size:8px;max-width:calc(100% - 48px)}.lib-card-explore{font-size:11px}.lib-page-heading p,.lib-detail-copy>p,.lib-access-panel p,.lib-reader-hint,.lib-preview-help,.lib-media-failed p{font-size:13px}.lib-file-content strong{font-size:14px}.lib-file-content>span,.lib-file-content small{font-size:12px}.lib-search input{font-size:16px}.lib-search{width:52%;height:39px}.lib-brand{flex-shrink:0}.lib-mobile-nav .lib-nav-item{min-height:48px;font-size:10px!important;padding-left:4px;padding-right:4px}.lib-reader-header h2{font-size:15px}.lib-reader-header>div>span{font-size:11px}.lib-reader-close{min-width:44px;min-height:44px}.lib-reader-sidebar textarea{font-size:16px}.lib-notes-label,.lib-page-label,.lib-read-check,.lib-reader-action-row{font-size:14px}.lib-reader-links .lib-btn{font-size:13px!important}.lib-reader-hint{line-height:1.6}.lib-reader-sidebar .lib-eyebrow{font-size:11px}.lib-unlock-banner{flex-direction:column;align-items:flex-start;padding:24px 20px;margin:30px 0;gap:16px}.lib-unlock-banner h2{font-size:24px}.lib-unlock-banner p{font-size:14px}.lib-unlock-banner .lib-btn{font-size:13px!important;width:100%;white-space:normal;text-align:center;min-height:46px}.lib-unlock-banner .lib-eyebrow{font-size:9px}.lib-book-toolbar{flex-wrap:wrap}.lib-book-paging>button{width:36px;height:36px}.lib-book-paging>input{font-size:16px;height:36px;width:45px}.lib-book-zoom button{font-size:11px!important;padding:7px 5px}.lib-book-paging>span{font-size:12px}.lib-tool-banner p{font-size:13px}.lib-tool-banner h2{font-size:19px}.lib-tool-banner .lib-btn{font-size:13px!important;min-height:44px;margin-left:0}.lib-library-note{font-size:11px;line-height:1.6}.lib-rail-controls button{width:32px;height:32px}.lib-count-note{font-size:12px!important}}
@media(max-width:370px){.lib-header{padding:0 4%;gap:10px}.lib-brand{font-size:14px!important}.lib-brand-icon{font-size:25px}.lib-hero h1{font-size:33px}.lib-hero-actions .lib-btn{font-size:11px!important}.lib-hero-actions{gap:7px}.lib-hero-meta{gap:7px;font-size:9px}.lib-hero-meta span+span:before{margin-right:7px}.lib-mobile-nav .lib-nav-item{min-width:0;font-size:9px!important}.lib-detail-heading{flex-wrap:wrap}.lib-detail-copy{flex-basis:140px}.lib-detail-copy>p{font-size:13px}}
@media(max-height:500px) and (orientation:landscape){.lib-reader-overlay{padding:0}.lib-reader-header{min-height:58px;padding:8px 14px}.lib-reader-layout{overflow-y:auto}.lib-reader-stage,.lib-reader-book-stage{height:85vh;min-height:290px}.lib-hero{height:auto;min-height:360px}.lib-hero-content{padding-top:30px;padding-bottom:30px}}
