/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}html,body{background-color:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;padding:0;overflow-x:hidden}@supports (background-color:color-mix(in oklab, red, blue)){:root{--accent-primary-soft:color-mix(in oklab, var(--accent-primary) 10%, transparent);--danger-soft:color-mix(in oklab, var(--danger) 10%, transparent);--ok-soft:color-mix(in oklab, var(--accent-moss) 12%, transparent);--warn-soft:color-mix(in oklab, var(--accent-ochre-fill) 16%, transparent)}.dark{--accent-primary-soft:color-mix(in oklab, var(--accent-primary) 16%, transparent)}}body{transition:background-color .25s var(--ease-glide), color .25s var(--ease-glide)}:focus-visible{outline:2px solid var(--accent-upn);outline-offset:2px}button,select,input,textarea{font:inherit;color:inherit;touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}html.has-open-dialog{overflow:hidden}html:has(dialog[open]){overflow:hidden}input[type=search]::-webkit-search-cancel-button{appearance:none}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#78767057;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#7876708c}}@layer components{.font-editorial{font-family:var(--font-serif)}.font-code{font-family:var(--font-mono)}.archive-texture{background-image:radial-gradient(circle,#16181c09 1px,#0000 1px);background-size:18px 18px}.dark .archive-texture{background-image:radial-gradient(circle,#edeff30a 1px,#0000 1px)}.micro{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:600;line-height:1.2}.skip-link{z-index:100;border-radius:var(--radius);background:var(--accent-primary);color:var(--on-accent);transition:top .15s var(--ease-glide);padding:.6rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:max(.75rem, env(safe-area-inset-top))}.site-header{background-color:var(--bg-page)}@supports (color:color-mix(in lab, red, red)){.site-header{background-color:color-mix(in oklab, var(--bg-page) 88%, transparent)}}.site-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-hairline);padding-top:env(safe-area-inset-top)}.btn{border-radius:var(--radius);white-space:nowrap;min-height:2.75rem;transition:background-color .2s var(--ease-glide), border-color .2s var(--ease-glide), color .2s var(--ease-glide), box-shadow .2s var(--ease-glide), opacity .15s, transform .18s var(--ease-spring);border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:0 1rem;font-size:.875rem;font-weight:600;line-height:1.1;text-decoration:none;display:inline-flex;position:relative}.btn:active:not(:disabled){transform:scale(.968)}.btn:disabled{opacity:.5}.btn-sm{min-height:2.75rem;padding:0 .85rem;font-size:.8125rem}.btn-lg{min-height:3rem;padding:0 1.25rem;font-size:.9375rem}.btn-primary{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--on-accent)}.btn-primary:hover:not(:disabled){filter:brightness(.92);background-color:var(--accent-primary)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover:not(:disabled){background-color:color-mix(in oklab, var(--accent-primary) 88%, var(--text-primary))}}.btn-quiet{background-color:var(--bg-surface);border-color:var(--border-hairline);color:var(--text-primary)}.btn-quiet:hover:not(:disabled){background-color:var(--bg-hover)}.btn-ghost{color:var(--text-secondary);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary)}.btn-icon{min-width:2.75rem;padding:0}.btn-danger{background-color:var(--danger-soft);border-color:var(--danger);color:var(--danger)}@media (width>=640px){.btn-sm{min-height:2.25rem}.btn-icon.btn-sm{min-width:2.25rem}}.chip{border-radius:var(--radius);border:1px solid var(--border-hairline);background-color:var(--bg-surface);min-height:2.25rem;color:var(--text-secondary);white-space:nowrap;transition:background-color .2s var(--ease-glide), border-color .2s var(--ease-glide), color .2s var(--ease-glide), transform .2s var(--ease-spring);align-items:center;gap:.35rem;padding:0 .7rem;font-size:.8125rem;font-weight:500;line-height:1.1;display:inline-flex;position:relative}.chip:after{content:"";position:absolute;inset:-.25rem -.1rem}.chip:hover{background-color:var(--bg-hover);transform:translateY(-1px)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{border-color:var(--accent-primary);background-color:var(--accent-primary-soft);color:var(--accent-primary);font-weight:600}.chip-count{font-family:var(--font-mono);opacity:.85;font-size:.75rem}.field{border-radius:var(--radius);border:1px solid var(--border-strong);background-color:var(--bg-surface);width:100%;min-height:2.75rem;color:var(--text-primary);padding:0 .75rem;font-size:1rem}.field::placeholder{color:var(--text-muted)}textarea.field{min-height:0;padding:.6rem .75rem;line-height:1.45}select.field{width:auto;padding-right:1.75rem}@media (width>=640px) and (pointer:fine){.field{min-height:2.25rem;font-size:.875rem}}.modal-dialog{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background-color:var(--bg-page);color:var(--text-primary);box-shadow:var(--shadow-pop);overscroll-behavior:contain;width:100%;max-width:min(100vw - 1.5rem,64rem);max-height:calc(100dvh - 1.5rem);margin:auto;padding:0;overflow:hidden}.modal-dialog[open]{flex-direction:column;display:flex}.modal-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:scrim-in .24s var(--ease-glide)}.modal-dialog[data-size=sm]{max-width:36rem}.modal-dialog[data-variant=side],.modal-dialog[data-variant=left]{border-width:0;border-radius:0;height:100dvh;max-height:100dvh;margin:0}.modal-dialog[data-variant=side]{border-left-width:1px;max-width:min(100vw,42rem);margin-left:auto}.modal-dialog[data-variant=left]{border-right-width:1px;max-width:min(88vw,21rem);margin-right:auto}.modal-dialog[open]{animation:modal-in .22s var(--ease-glide)}.modal-dialog[data-variant=side][open]{animation:modal-in-right .26s var(--ease-glide)}.modal-dialog[data-variant=left][open]{animation:modal-in-left .26s var(--ease-glide)}.modal-body{overscroll-behavior:contain;min-height:0;padding-bottom:env(safe-area-inset-bottom);flex:1;overflow-y:auto}.cover{aspect-ratio:2/3;isolation:isolate;background-color:var(--bg-surface);box-shadow:var(--cover-shadow);transition:transform .35s var(--ease-glide), box-shadow .35s var(--ease-glide);border-radius:3px;position:relative;overflow:hidden;container-type:inline-size}.cover:after{content:"";z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--cover-edge);background:linear-gradient(90deg, var(--cover-crease-dark) 0, transparent 2.2%, var(--cover-crease-light) 3.4%, transparent 5.5%);position:absolute;inset:0}.cover[data-variant=list]:after{background:0 0}.cover[data-empty=true]{box-shadow:none;border:1px dashed var(--border-strong);background:0 0}.cover[data-empty=true]:after{display:none}.cover[data-variant=drawer]{box-shadow:var(--cover-shadow-lift);border-radius:4px}.cover:before{content:"";z-index:3;pointer-events:none;opacity:0;transition:transform .65s var(--ease-glide), opacity .25s ease;background:linear-gradient(115deg,#0000 28%,#fffaf024 50%,#0000 72%);position:absolute;inset:0;transform:translate(-115%)}.cover[data-variant=list]:before,.cover[data-empty=true]:before{display:none}.cover-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .35s ease-out;position:absolute;inset:0}.cover-img[data-loaded=true]{opacity:1}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.book-tile:hover .cover,.shelf-book:hover .cover{box-shadow:var(--cover-shadow-lift);transform:translateY(-5px)scale(1.012)}.book-tile:hover .cover:before,.shelf-book:hover .cover:before{opacity:1;transform:translate(115%)}.book-tile:active .cover,.shelf-book:active .cover{transition-duration:.12s;transform:translateY(-1px)scale(.982)}}.gcover{--gc-line:var(--gc-hue);--gc-rule:#646c7857}@supports (color:color-mix(in lab, red, red)){.gcover{--gc-line:color-mix(in oklab, var(--gc-hue) 38%, transparent)}}.gcover{--gc-rule:var(--gc-hue)}@supports (color:color-mix(in lab, red, red)){.gcover{--gc-rule:color-mix(in oklab, var(--gc-hue) 46%, transparent)}}.gcover{font-family:var(--font-serif);color:var(--text-primary);background-color:var(--bg-card);background-color:var(--gc-hue);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.gcover{background-color:color-mix(in oklab, var(--gc-hue) var(--gc-mix), var(--bg-card))}}.gcover-motif{border-bottom:1px solid var(--gc-rule);background-color:var(--bg-surface);background-color:var(--gc-hue);flex:0 0 27%;position:relative}@supports (color:color-mix(in lab, red, red)){.gcover-motif{background-color:color-mix(in oklab, var(--gc-hue) 10%, transparent)}}.gcover-motif:before{content:"";position:absolute;inset:0;-webkit-mask-image:linear-gradient(#16181cf2,#16181c4d);mask-image:linear-gradient(#16181cf2,#16181c4d)}.gcover[data-motif=lines] .gcover-motif:before{background:repeating-linear-gradient(to bottom, var(--gc-line) 0 1px, transparent 1px 2.6cqw)}.gcover[data-motif=grid] .gcover-motif:before{background:linear-gradient(var(--gc-line) 1px, transparent 1px) 0 0 / 6cqw 6cqw, linear-gradient(90deg, var(--gc-line) 1px, transparent 1px) 0 0 / 6cqw 6cqw}.gcover[data-motif=hatch] .gcover-motif:before{background:repeating-linear-gradient(135deg, var(--gc-line) 0 1px, transparent 1px 3cqw)}.gcover[data-motif=arcs] .gcover-motif:before{background:repeating-radial-gradient(circle at 0% 100%, var(--gc-line) 0 1px, transparent 1px 4.4cqw)}.gcover-body{flex-direction:column;flex:auto;gap:3.2cqw;min-height:0;padding:6.5cqw 8cqw 0 10cqw;display:flex;overflow:hidden}.gcover-title,.gcover-sub,.gcover-author{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.gcover-title{letter-spacing:-.005em;text-wrap:balance;-webkit-line-clamp:5;line-clamp:5;font-size:max(13px,9cqw);font-weight:600;line-height:1.13}.gcover-sub{color:var(--text-secondary);text-wrap:balance;-webkit-line-clamp:2;line-clamp:2;font-size:max(11px,5.2cqw);font-style:italic;line-height:1.25}.gcover-author{color:var(--text-secondary);text-wrap:pretty;-webkit-line-clamp:2;line-clamp:2;font-size:max(11px,5.4cqw);line-height:1.25}.gcover-foot{border-top:1px solid var(--gc-rule);font-family:var(--font-sans);justify-content:space-between;align-items:baseline;gap:2cqw;margin:0 8cqw 0 10cqw;padding:3cqw 0 6cqw;display:flex}.gcover-source{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;min-width:0;color:var(--gc-ink);font-size:max(9.5px,4.3cqw);font-weight:700;overflow:hidden}.gcover-year{font-family:var(--font-mono);color:var(--text-secondary);flex:none;font-size:max(9.5px,4.3cqw)}@container (width<=190px){.gcover-title{-webkit-line-clamp:4;line-clamp:4}.gcover-sub{display:none}.gcover-author{-webkit-line-clamp:1;line-clamp:1}}@container (width<=100px){.gcover-body{padding:7cqw 7cqw 0 9cqw}.gcover-title{-webkit-line-clamp:4;line-clamp:4;font-size:14cqw}.gcover-author,.gcover-source{display:none}.gcover-foot{justify-content:flex-end;padding-bottom:5cqw}.gcover-year{font-size:9px}}.book-tile{border-radius:var(--radius);content-visibility:auto;contain-intrinsic-size:auto 340px;min-width:0;animation:tile-enter .38s var(--ease-glide) backwards;animation-delay:calc(min(var(--stagger-i,0), 8) * 24ms);flex-direction:column;gap:.625rem;padding:.375rem .25rem .5rem;display:flex;position:relative}:is(.book-tile:has(.card-link:focus-visible),.book-row:has(.card-link:focus-visible)){outline:2px solid var(--accent-upn);outline-offset:1px}.cover-slot{position:relative}.tile-title{font-family:var(--font-serif);margin:0;font-size:.9375rem;font-weight:600;line-height:1.25}.tile-title>.card-link{-webkit-line-clamp:2;line-clamp:2;text-wrap:balance;-webkit-box-orient:vertical;width:100%;display:-webkit-box;overflow:hidden}.book-tile:hover .tile-title .card-link,.book-row:hover .tile-title .card-link{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.tile-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.35;overflow:hidden}.tile-author{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.35;overflow:hidden}.tile-text{color:var(--accent-jade);align-items:center;gap:.3rem;margin:0;font-size:.75rem;font-weight:600;line-height:1.35;display:inline-flex}.tile-text[data-state=none]{color:var(--text-muted);font-weight:500}.tile-text[data-state=resume]{color:var(--accent-primary)}.book-row{border-bottom:1px solid var(--border-hairline);border-radius:var(--radius);content-visibility:auto;contain-intrinsic-size:auto 100px;transition:background-color .2s var(--ease-glide), transform .2s var(--ease-glide);animation:tile-enter .32s var(--ease-glide) backwards;animation-delay:calc(min(var(--stagger-i,0), 8) * 22ms);align-items:center;gap:.875rem;padding:.625rem .25rem;display:flex;position:relative}.book-row:hover{background-color:var(--bg-hover)}@supports (color:color-mix(in lab, red, red)){.book-row:hover{background-color:color-mix(in oklab, var(--bg-hover) 55%, transparent)}}.book-row:hover{transform:translate(3px)}@media (pointer:coarse) and (prefers-reduced-motion:no-preference){.book-tile:active .cover,.shelf-book:active .cover{transition-duration:.12s;transform:scale(.975)}.book-row:active{background-color:var(--bg-hover);transform:scale(.992)}}.card-link{text-align:left;font:inherit;color:inherit;background:0 0;border:0;padding:0}.card-link:focus-visible{outline:none}.card-link:after{content:"";z-index:1;position:absolute;inset:0}.card-action{z-index:2;position:relative}.cover-bookmark{z-index:3;border-radius:var(--radius-lg);border:1px solid var(--border-hairline);background-color:var(--bg-elevated);justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex;position:absolute;top:.75rem;right:.625rem}@supports (color:color-mix(in lab, red, red)){.cover-bookmark{background-color:color-mix(in oklab, var(--bg-elevated) 92%, transparent)}}.cover-bookmark{color:var(--text-secondary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .15s, background-color .15s, color .15s, transform .2s var(--ease-spring)}.cover-bookmark:active{transform:scale(.9)}.cover-bookmark:after{content:"";position:absolute;inset:-.375rem}.cover-bookmark:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.cover-bookmark[aria-pressed=true]{color:var(--accent-primary);border-color:var(--accent-primary)}@supports (color:color-mix(in lab, red, red)){.cover-bookmark[aria-pressed=true]{border-color:color-mix(in oklab, var(--accent-primary) 45%, transparent)}}@media (hover:hover) and (pointer:fine){.book-tile .cover-bookmark[aria-pressed=false]{opacity:0}.book-tile:hover .cover-bookmark,.book-tile:focus-within .cover-bookmark{opacity:1}}.cover-progress{z-index:3;border-radius:0 0 3px 3px;position:absolute;bottom:0;left:0;right:0}.progress-track{background-color:#16181c38;background-color:var(--text-primary);width:100%;height:3px}@supports (color:color-mix(in lab, red, red)){.progress-track{background-color:color-mix(in oklab, var(--text-primary) 22%, transparent)}}.progress-track{overflow:hidden}.dark .progress-track{background-color:#edeff338;background-color:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.dark .progress-track{background-color:color-mix(in oklab, var(--text-primary) 22%, transparent)}}.progress-fill{background-color:var(--accent-primary);height:100%}.shelf-scroll{--shelf-gutter:1rem;margin-inline:calc(var(--shelf-gutter) * -1);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--shelf-gutter);scrollbar-width:none;padding-top:.5rem;overflow-x:auto}.shelf-scroll::-webkit-scrollbar{display:none}@media (width>=640px){.shelf-scroll{--shelf-gutter:0px}}.shelf-books{width:max-content;min-width:100%;padding:.25rem var(--shelf-gutter) .75rem;align-items:flex-end;gap:.875rem;margin:0;list-style:none;display:flex;position:relative}.shelf-books:after{content:"";background:linear-gradient(to bottom, var(--shelf-top) 0 38%, var(--shelf-front) 38% 100%);border-top:1px solid var(--border-hairline);height:.75rem;box-shadow:0 3px 5px -2px var(--shelf-shade);position:absolute;bottom:0;left:0;right:0}.shelf-books>li{z-index:1;scroll-snap-align:start;width:4.75rem;animation:shelf-book-in .45s var(--ease-glide) backwards;animation-delay:calc(min(var(--stagger-i,0), 10) * 32ms);flex:none;position:relative}@media (width>=640px){.shelf-books>li{width:6.75rem}}@media (width>=1280px){.shelf-books>li{width:7.5rem}}.shelf-book{background:0 0;border:0;border-radius:3px;width:100%;padding:0;display:block}.skeleton{background-color:var(--bg-surface);background-image:linear-gradient(105deg, transparent 20%, var(--bg-elevated) 50%, transparent 80%);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.skeleton{background-image:linear-gradient(105deg, transparent 20%, color-mix(in oklab, var(--bg-elevated) 65%, transparent) 50%, transparent 80%)}}.skeleton{border-radius:var(--radius-sm);animation:skeleton-shimmer 1.6s var(--ease-glide) infinite;background-size:220% 100%}.skeleton-cover{background-color:var(--bg-surface);background-image:linear-gradient(105deg, transparent 20%, var(--bg-elevated) 50%, transparent 80%), repeating-linear-gradient(0deg, var(--text-primary) 0 1px, transparent 1px 4px), radial-gradient(circle at 30% 20%, var(--text-primary) .5px, transparent 1px);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.skeleton-cover{background-image:linear-gradient(105deg, transparent 20%, color-mix(in oklab, var(--bg-elevated) 55%, transparent) 50%, transparent 80%), repeating-linear-gradient(0deg, color-mix(in oklab, var(--text-primary) 2.5%, transparent) 0 1px, transparent 1px 4px), radial-gradient(circle at 30% 20%, color-mix(in oklab, var(--text-primary) 5%, transparent) .5px, transparent 1px)}}.skeleton-cover{animation:skeleton-shimmer 1.6s var(--ease-glide) infinite;background-size:220% 100%,auto,7px 7px}.continue-card{transition:transform .25s var(--ease-glide), box-shadow .25s var(--ease-glide), border-color .2s var(--ease-glide);animation:tile-enter .36s var(--ease-glide) backwards;animation-delay:calc(min(var(--stagger-i,0), 6) * 35ms)}.continue-card:hover{box-shadow:var(--shadow-card);border-color:var(--border-strong);transform:translateY(-2px)}.toast{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:80;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background-color:var(--bg-elevated);max-width:min(32rem,100vw - 2rem);box-shadow:var(--shadow-pop);animation:toast-in .3s var(--ease-spring);align-items:center;gap:.6rem;padding:.6rem .75rem .6rem 1rem;font-size:.875rem;display:flex;position:fixed;transform:translate(-50%)}.callout{border-radius:var(--radius);border:1px solid var(--border-hairline);background-color:var(--bg-surface);align-items:flex-start;gap:.6rem;padding:.65rem .8rem;font-size:.875rem;display:flex}.callout[data-tone=error]{border-color:var(--danger);background-color:var(--danger-soft)}.callout[data-tone=ok]{border-color:var(--accent-moss);background-color:var(--ok-soft)}.callout[data-tone=warn]{border-color:var(--accent-ochre);background-color:var(--warn-soft)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:0}.left-0{left:0}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.z-30{z-index:30}.z-40{z-index:40}.z-\[60\]{z-index:60}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-3{margin:calc(var(--spacing) * 3)}.-mx-3{margin-inline:calc(var(--spacing) * -3)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-px{height:1px}.max-h-72{max-height:calc(var(--spacing) * 72)}.min-h-0{min-height:0}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-dvh{min-height:100dvh}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:66.6667%}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-11\/12{width:91.6667%}.w-14{width:calc(var(--spacing) * 14)}.w-36{width:calc(var(--spacing) * 36)}.w-48{width:calc(var(--spacing) * 48)}.w-72{width:calc(var(--spacing) * 72)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[65ch\]{max-width:65ch}.max-w-\[1440px\]{max-width:1440px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-transparent{border-color:#0000}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:var(--spacing)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.35rem\]{font-size:1.35rem}.text-\[1\.375rem\]{font-size:1.375rem}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}:is(:where(.peer):checked~.peer-checked\:ring-2){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(:where(.peer):focus-visible~.peer-focus-visible\:outline-2){outline-style:var(--tw-outline-style);outline-width:2px}:is(:where(.peer):focus-visible~.peer-focus-visible\:outline-offset-2){outline-offset:2px}@media (hover:hover){.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:underline:hover{text-decoration-line:underline}}@media (width>=340px){.min-\[340px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=40rem){.sm\:mx-0{margin-inline:0}.sm\:mt-4{margin-top:calc(var(--spacing) * 4)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:min-h-9{min-height:calc(var(--spacing) * 9)}.sm\:min-h-10{min-height:calc(var(--spacing) * 10)}.sm\:w-52{width:calc(var(--spacing) * 52)}.sm\:min-w-\[9rem\]{min-width:9rem}.sm\:flex-1{flex:1}.sm\:flex-none{flex:none}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-0{padding-inline:0}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-6{padding-top:calc(var(--spacing) * 6)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[1\.75rem\]{font-size:1.75rem}}@media (width>=48rem){.md\:mx-auto{margin-inline:auto}.md\:ml-0{margin-left:0}.md\:flex{display:flex}.md\:hidden{display:none}.md\:min-h-11{min-height:calc(var(--spacing) * 11)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:max-w-2xl{max-width:var(--container-2xl)}.md\:flex-row{flex-direction:row}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:p-4{padding:calc(var(--spacing) * 4)}.md\:py-3{padding-block:calc(var(--spacing) * 3)}}@media (width>=64rem){.lg\:mx-0{margin-inline:0}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:basis-full{flex-basis:100%}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-wrap{flex-wrap:wrap}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.lg\:self-start{align-self:flex-start}.lg\:overflow-visible{overflow:visible}.lg\:px-0{padding-inline:0}.lg\:pb-0{padding-bottom:0}}@media (width>=80rem){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=96rem){.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-page:#faf9f6;--bg-surface:#f2efe9;--bg-elevated:#fcfbf8;--bg-card:#fdfcf9;--bg-hover:#eae6dd;--text-primary:#16181c;--text-secondary:#484c54;--text-muted:#5e636e;--border-hairline:#16181c1a;--border-strong:#16181c38;--scrim:#0e11168c;--accent-primary:#1758c4;--accent-primary-soft:#1758c41a;--on-accent:#faf9f6;--accent-upn:var(--accent-primary);--logo-ink:#092e63;--logo-wordmark:#092d63;--accent-crimson:var(--accent-primary);--accent-crimson-soft:var(--accent-primary-soft);--accent-jade:#1f6b58;--accent-jade-fill:#2e8b74;--accent-ochre:#7a5612;--accent-ochre-fill:#b8863b;--accent-moss:#3f6a58;--accent-slate:#435362;--danger:#a12a2b;--danger-soft:#a12a2b1a;--ok-soft:#3f6a581f;--warn-soft:#b8863b29;--area-natural-sciences:#46545b;--area-natural-sciences-text:#46545b;--area-engineering-tech:#356585;--area-engineering-tech-text:#356585;--area-medical-health:#9e2a2b;--area-medical-health-text:#9e2a2b;--area-agricultural-sciences:#4d6b53;--area-agricultural-sciences-text:#4d6b53;--area-social-sciences:#b8863b;--area-social-sciences-text:#7a5612;--area-humanities:#7d4e57;--area-humanities-text:#7d4e57;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--font-sans:"Source Sans 3", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--radius-sm:3px;--radius:4px;--radius-lg:6px;--shadow-card:0 1px 2px #16181c0f, 0 4px 14px #16181c0f;--shadow-pop:0 10px 40px #16181c38;--cover-edge:#16181c24;--cover-shadow:0 1px 1px #16181c1a, 0 4px 10px -2px #16181c29;--cover-shadow-lift:0 2px 2px #16181c1a, 0 10px 20px -6px #16181c4d;--cover-crease-dark:#16181c29;--cover-crease-light:#fcfbf83d;--gc-mix:16%;--shelf-top:#e6e0d3;--shelf-front:#cfc7b4;--shelf-shade:#16181c24;--ease-glide:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-page:#0e1116;--bg-surface:#151921;--bg-elevated:#1b202a;--bg-card:#13171e;--bg-hover:#212734;--text-primary:#edeff3;--text-secondary:#b4bac6;--text-muted:#8b93a3;--border-hairline:#edeff31a;--border-strong:#edeff338;--scrim:#05070aad;--accent-primary:#5b9bff;--accent-primary-soft:#5b9bff29;--on-accent:#0e1116;--logo-ink:#dce7fa;--logo-wordmark:#edf2fb;--accent-jade:#47b89c;--accent-jade-fill:#47b89c;--accent-ochre:#d9a24f;--accent-ochre-fill:#d9a24f;--accent-moss:#7cc3a3;--accent-slate:#9db0ba;--danger:#f08a8b;--danger-soft:#f08a8b24;--ok-soft:#7cc3a324;--warn-soft:#d9a24f29;--area-natural-sciences:#9db0ba;--area-natural-sciences-text:#9db0ba;--area-engineering-tech:#7db3d6;--area-engineering-tech-text:#7db3d6;--area-medical-health:#f08a8b;--area-medical-health-text:#f08a8b;--area-agricultural-sciences:#8fc09a;--area-agricultural-sciences-text:#8fc09a;--area-social-sciences:#e0b35e;--area-social-sciences-text:#e0b35e;--area-humanities:#d49aab;--area-humanities-text:#d49aab;--shadow-card:0 1px 2px #00000059, 0 4px 14px #00000040;--shadow-pop:0 10px 40px #0000008c;--cover-edge:#edeff338;--cover-shadow:0 0 0 1px #edeff30d, 0 4px 12px -2px #0009;--cover-shadow-lift:0 0 0 1px #edeff31a, 0 12px 24px -6px #000000b3;--cover-crease-dark:#05070a4d;--cover-crease-light:#edeff324;--gc-mix:18%;--shelf-top:#262d3a;--shelf-front:#1b212b;--shelf-shade:#0006}@keyframes scrim-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes modal-in-right{0%{opacity:.35;transform:translate(28px)}}@keyframes modal-in-left{0%{opacity:.35;transform:translate(-28px)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)scale(.96)}}@keyframes tile-enter{0%{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes shelf-book-in{0%{opacity:0;transform:translateY(14px)}}@keyframes bookmark-pop{0%{transform:scale(.75)}55%{transform:scale(1.26)rotate(-6deg)}to{transform:scale(1)rotate(0)}}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.cover-bookmark[aria-pressed=true] svg{animation:bookmark-pop .36s var(--ease-spring)}@keyframes logo-unfurl{0%{opacity:0;transform:translateY(3px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes wing-beat-l{0%,to{transform:rotate(0)}45%{transform:rotate(-10deg)translateY(-4px)}}@keyframes wing-beat-r{0%,to{transform:rotate(0)}45%{transform:rotate(10deg)translateY(-4px)}}@keyframes feather-lag{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}@keyframes head-bob{0%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(2.5deg)translateY(-3px)}}@keyframes tail-balance{0%,to{transform:rotate(0)}50%{transform:rotate(-2.5deg)translateY(3px)}}@keyframes pages-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.coleebri-mark{animation:logo-unfurl .55s var(--ease-glide) both}.coleebri-wing-l{transform-origin:372px 350px;animation:wing-beat-l .65s var(--ease-glide) infinite paused}.coleebri-wing-r{transform-origin:652px 350px;animation:wing-beat-r .65s var(--ease-glide) infinite paused}.coleebri-feather{transform-origin:512px 380px;animation:feather-lag .65s var(--ease-glide) infinite paused}.coleebri-feather-2{animation-delay:55ms}.coleebri-feather-3{animation-delay:.11s}.coleebri-head{transform-origin:512px 380px;animation:head-bob 1.3s var(--ease-glide) infinite paused}.coleebri-tail{transform-origin:512px 510px;animation:tail-balance .65s var(--ease-glide) infinite paused}.coleebri-page-l,.coleebri-page-r{transform-origin:512px 500px;animation:pages-breathe 1.3s var(--ease-glide) infinite paused}.coleebri-page-r{animation-delay:90ms}.coleebri-brand:hover .coleebri-wing-l,.coleebri-brand:hover .coleebri-wing-r,.coleebri-brand:hover .coleebri-feather,.coleebri-brand:hover .coleebri-head,.coleebri-brand:hover .coleebri-tail,.coleebri-brand:hover .coleebri-page-l,.coleebri-brand:hover .coleebri-page-r,.coleebri-brand:focus-within .coleebri-wing-l,.coleebri-brand:focus-within .coleebri-wing-r,.coleebri-brand:focus-within .coleebri-feather,.coleebri-brand:focus-within .coleebri-head,.coleebri-brand:focus-within .coleebri-tail,.coleebri-brand:focus-within .coleebri-page-l,.coleebri-brand:focus-within .coleebri-page-r,.coleebri-mark:hover .coleebri-wing-l,.coleebri-mark:hover .coleebri-wing-r,.coleebri-mark:hover .coleebri-feather,.coleebri-mark:hover .coleebri-head,.coleebri-mark:hover .coleebri-tail,.coleebri-mark:hover .coleebri-page-l,.coleebri-mark:hover .coleebri-page-r{animation-play-state:running}.anim-icon-theme,.anim-icon-bookmark,.anim-icon-search{transition:transform .35s var(--ease-spring)}button:hover .anim-icon-theme,button:focus-visible .anim-icon-theme{transform:rotate(22deg)scale(1.1)}button:hover .anim-icon-bookmark,button:focus-visible .anim-icon-bookmark{transform:translateY(-1.5px)scale(1.08)}button:hover .anim-icon-search,button:focus-visible .anim-icon-search{transform:scale(1.1)rotate(-8deg)}@keyframes subtle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.anim-reactive-spin{animation:6s linear infinite paused subtle-spin}.group:hover .anim-reactive-spin,button:hover .anim-reactive-spin,button:focus-visible .anim-reactive-spin{animation-play-state:running}.pdf-text-layer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;-webkit-user-select:text;user-select:text;line-height:1;position:absolute;inset:0;overflow:hidden}.pdf-text-layer span{white-space:pre;color:#0000;cursor:text;transform-origin:0 0;position:absolute}.pdf-text-layer span::selection{background:#b8863b59}.pdf-text-layer mark.pdf-match{color:#0000;outline:1px solid var(--accent-primary);background:#b8863b73;border-radius:2px}@supports (color:color-mix(in lab, red, red)){.pdf-text-layer mark.pdf-match{outline:1px solid color-mix(in oklab, var(--accent-primary) 70%, transparent)}}.pdf-night-canvas{filter:invert(.91)hue-rotate(180deg)contrast(.94)sepia(.1)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100dvh}.shelves-dialog{height:85dvh}.shelves-nav{max-height:34dvh}@media (width>=768px){.shelves-nav{max-height:none}}.quickbar-scroll{scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-block:.25rem}.quickbar-scroll::-webkit-scrollbar{display:none}.quickbar-scroll>*{scroll-snap-align:start}@keyframes chip-pop{0%{opacity:0;transform:translateY(4px)scale(.94)}}.chip-enter{animation:chip-pop .24s var(--ease-spring) backwards}.bluecode-link{color:var(--text-secondary);transition:color .2s var(--ease-glide), border-color .2s var(--ease-glide);border-bottom:1px solid #0000;font-weight:600;text-decoration:none}.bluecode-link:hover,.bluecode-link:focus-visible{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.bluecode-ig-btn{border:1px solid var(--border-hairline);background-color:var(--bg-surface);min-height:2.75rem;color:var(--text-secondary);white-space:nowrap;transition:background-color .2s var(--ease-glide), border-color .2s var(--ease-glide), color .2s var(--ease-glide), transform .2s var(--ease-spring);border-radius:999px;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.75rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.bluecode-ig-btn svg{transition:transform .28s var(--ease-spring);flex:none}.bluecode-ig-btn:hover,.bluecode-ig-btn:focus-visible{background-color:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}.bluecode-ig-btn:hover svg,.bluecode-ig-btn:focus-visible svg{color:var(--accent-primary);transform:scale(1.12)rotate(-6deg)}.bluecode-ig-btn:active{transform:scale(.96)}@media (width>=640px){.bluecode-ig-btn{min-height:2.125rem}}@media (width<=639.98px){.book-tile{animation-duration:.24s;animation-delay:calc(min(var(--stagger-i,0), 4) * 18ms)}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:var(--bg-page)}.cover-bookmark{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:var(--bg-elevated)}}.rd-loader-card{border:1px solid var(--border-strong);background:var(--bg-elevated);text-align:center;width:min(100%,27.5rem);color:var(--text-primary);animation:rd-loader-enter .34s var(--ease-glide) both;border-radius:1.125rem;margin:auto;padding:2rem 1.5rem 1.75rem;position:relative;overflow:hidden;box-shadow:0 22px 48px #0f172a1f,0 2px 8px #0f172a0f}.dark .rd-loader-card{background:#1c222d;box-shadow:0 24px 54px #0000007a,0 0 0 1px #ffffff0d}.rd-loader-card:before{content:"";opacity:.9;background:linear-gradient(90deg,#096fc4 0%,#0adbf5 50%,#0f766e 100%);height:3px;position:absolute;inset:0 0 auto}@keyframes rd-loader-enter{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.rd-loader-scene{flex-direction:column;justify-content:center;align-items:center;width:9.5rem;margin:0 auto 1.25rem;padding-top:.25rem;display:flex;position:relative}.rd-loader-halo{pointer-events:none;background:radial-gradient(circle,#0adbf529 0%,#0f766e0f 52%,#0000 74%);border-radius:999px;width:6.75rem;height:6.75rem;margin-left:-3.375rem;animation:3.2s ease-in-out infinite rd-halo-pulse;position:absolute;top:0;left:50%}@keyframes rd-halo-pulse{0%,to{opacity:.72;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}.rd-loader-mark{z-index:2;filter:drop-shadow(0 6px 14px #096fc429);animation:3.2s ease-in-out infinite rd-mark-hover;position:relative}@keyframes rd-mark-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.rd-loader-folio{perspective:520px;background:linear-gradient(135deg,#115e59,#094a7a);border-radius:.375rem .375rem .5rem .5rem;justify-content:center;align-items:stretch;width:7.75rem;height:4.375rem;margin-top:-.25rem;padding:.25rem;display:flex;position:relative;box-shadow:0 10px 20px #092e632e}.rd-loader-page{background:#fbf8f1;flex-direction:column;flex:1;justify-content:center;gap:.375rem;padding:.55rem .5rem;display:flex;position:relative}.dark .rd-loader-page{background:#272f3d}.rd-loader-page--left{border-radius:.2rem 0 0 .2rem;box-shadow:inset -4px 0 8px #0f172a14}.rd-loader-page--right{border-radius:0 .2rem .2rem 0;box-shadow:inset 4px 0 8px #0f172a14}.rd-loader-spine{background:#0f172a29;width:2px}.dark .rd-loader-spine{background:#ffffff24}.rd-loader-ink{background:#4755693d;border-radius:999px;height:3px;display:block}.dark .rd-loader-ink{background:#cbd5e13d}.rd-loader-ink--a{width:88%}.rd-loader-ink--b{width:72%}.rd-loader-ink--c{width:58%}.rd-loader-ink--d{width:64%}.rd-loader-leaf{transform-origin:0;background:#fffcf5;border-left:1px solid #0f172a1a;border-radius:0 .2rem .2rem 0;width:calc(50% - .3rem);animation:2.4s cubic-bezier(.45,.05,.55,.95) infinite rd-leaf-turn;position:absolute;top:.25rem;bottom:.25rem;left:50%;box-shadow:2px 0 8px #0f172a1f}.dark .rd-loader-leaf{background:#30394a;border-left-color:#ffffff24}@keyframes rd-leaf-turn{0%{opacity:0;transform:rotateY(0)}12%{opacity:.96}58%{opacity:.96;transform:rotateY(-172deg)}75%,to{opacity:0;transform:rotateY(-178deg)}}.rd-loader-ribbon{clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);background:#d97706;width:.55rem;height:.7rem;margin-left:-.275rem;position:absolute;bottom:-.45rem;left:50%;box-shadow:0 2px 4px #00000038}.rd-loader-eyebrow{font-family:var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--accent-upn,#0f766e);margin:0 0 .35rem;font-size:.6875rem;font-weight:700}.rd-loader-title{font-family:var(--font-serif);color:var(--text-primary);text-wrap:balance;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:clamp(1.0625rem,2.2vw,1.25rem);font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.rd-loader-author{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:.375rem 0 0;font-size:.875rem;overflow:hidden}.rd-loader-progress-wrap{border-top:1px solid var(--border);text-align:left;margin-top:1.35rem;padding-top:1rem}.rd-loader-status-row{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.rd-loader-status{color:var(--text-primary);font-size:.8125rem;font-weight:600}.rd-loader-pct{font-family:var(--font-mono);color:var(--accent-upn,#0f766e);font-size:.75rem;font-weight:600}.rd-loader-track{background:var(--bg-hover);border-radius:999px;height:5px;position:relative;overflow:hidden}.rd-loader-bar{background:linear-gradient(90deg,#096fc4,#0adbf5 55%,#0f766e);border-radius:999px;height:100%;transition:width .25s ease-out;display:block}.rd-loader-bar--indeterminate{width:42%;animation:1.5s cubic-bezier(.4,0,.2,1) infinite rd-indeterminate}@keyframes rd-indeterminate{0%{transform:translate(-110%)}to{transform:translate(255%)}}.rd-loader-telemetry{font-family:var(--font-mono);color:var(--text-muted);margin:.5rem 0 0;font-size:.75rem;line-height:1.4}@media (width<=639.98px){.rd-loader-card{padding:1.5rem 1.125rem 1.375rem}}@media (prefers-reduced-motion:reduce){.rd-loader-card,.rd-loader-halo,.rd-loader-mark,.rd-loader-leaf,.rd-loader-bar--indeterminate{animation:none!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes spin{to{transform:rotate(360deg)}}
