/* One software volume, warm paper and sage cloth. No simulated software UI. */
.software-library-page{padding-top:55px;padding-bottom:70px}
.software-library-header{margin-bottom:35px;max-width:650px}
.software-library-eyebrow,.software-shelf-index{font:11px/1.6 var(--font);letter-spacing:.18em;color:#72806c}
.software-library-header h1{font-size:clamp(32px,4vw,48px);font-weight:550;letter-spacing:.03em;margin:12px 0 16px}
.software-library-header>p:last-child{font-size:14px;line-height:1.9;color:#6c796b}
.software-shelf{position:relative;display:grid;grid-template-columns:minmax(230px,.9fr) minmax(0,1fr);align-items:center;gap:60px;padding:48px 58px 34px;background:radial-gradient(ellipse at 12% 25%,#e5eddf 0,transparent 60%),#f5f6ef;border:1px solid #dbe2d3;border-radius:18px;isolation:isolate}
.software-shelf:after{content:'';position:absolute;left:35px;right:35px;bottom:57px;height:12px;border-radius:3px;background:linear-gradient(#d6d9c6,#e4e4d5 70%,#c7cbb9);box-shadow:0 10px 17px #3a513310;z-index:-1}
.software-shelf-volume{display:flex;align-items:center;flex-direction:column;min-width:0;position:relative;padding-top:8px}
.software-book-cover{--cover:#3f624e;position:relative;display:block;width:244px;height:318px;padding:0;border:0;background:transparent;text-align:center;color:#f6f3df;transform:rotate(-5deg);transition:transform .28s ease;isolation:isolate}
.software-cover-face{position:absolute;inset:0 7px 3px 0;display:flex;align-items:center;flex-direction:column;padding:23px 22px 20px 32px;border-radius:4px 9px 9px 4px;background:linear-gradient(90deg,#274b3a 0,#3b5e49 7%,#466951 12%,#3e604b 16%,#476b55 100%);box-shadow:inset 0 0 0 1px #ffffff18,inset 13px 0 12px #12251b28,8px 16px 28px #2b412b24;z-index:2}
.software-cover-face:after{content:'';position:absolute;inset:13px 13px 13px 25px;border:1px solid #d2d5a344;border-radius:2px 5px 5px 2px;pointer-events:none}
.software-cover-pages{position:absolute;inset:5px 0 0 10px;border-radius:3px 8px 8px 3px;background:repeating-linear-gradient(0deg,#f2efe2 0 2px,#d5d6c6 2px 3px);box-shadow:4px 5px 1px #bec6b6;transform:skewY(1deg)}
.software-cover-edition{font-size:9px;letter-spacing:.16em;opacity:.68}
.software-cover-monogram{font:italic 64px/1 Georgia,serif;letter-spacing:-.06em;margin-top:35px;color:#e5e5c8}
.software-cover-title{font:500 23px/1.5 Georgia,serif;letter-spacing:.02em;margin-top:17px}
.software-cover-rule{width:31px;height:1px;background:#cbd1a6;margin:16px 0 13px}
.software-cover-category{font-size:11px;letter-spacing:.18em;color:#dde1cb}
.software-cover-author{font-size:10px;letter-spacing:.18em;margin-top:auto;opacity:.76}
.software-cover-bookmark{position:absolute;width:13px;height:33px;right:32px;bottom:-17px;background:#b4bd8c;clip-path:polygon(0 0,100% 0,100% 100%,50% 81%,0 100%);z-index:1}
.software-book-cover:hover,.software-book-cover:focus-visible{transform:rotate(-2deg) translateY(-8px)}
.software-book-cover:focus-visible{outline:3px solid #6c956e;outline-offset:13px;border-radius:8px}
.software-cover-hint{position:relative;margin-top:33px;font-size:11px;letter-spacing:.1em;color:#64745e;background:#f4f6ee;padding:2px 11px;z-index:1}
.software-shelf-note{padding-bottom:32px;min-width:0}
.software-shelf-note h3{font:500 clamp(31px,3.2vw,45px)/1.3 Georgia,serif;color:#2b503a;letter-spacing:-.03em;margin:14px 0 10px}
.software-shelf-category{font-size:14px;letter-spacing:.15em;color:#546c51;margin-bottom:20px}
.software-shelf-summary{font-size:14px;line-height:1.95;color:#64725f;max-width:390px}
.software-shelf-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px;font-size:10px;color:#73816b}
.software-shelf-tags span{padding:4px 9px;border:1px solid #d5ddca;border-radius:4px;background:#ffffff70}
.software-shelf-invitation{margin-top:24px;font-size:12px;color:#77856e}
.software-book-dialog{width:min(1160px,calc(100vw - 64px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;background:transparent;color:#2d4636;overflow:auto;overscroll-behavior:contain;border-radius:13px;box-shadow:0 35px 110px #172c3059}
.software-book-dialog::backdrop{background:#1a3029a8;backdrop-filter:blur(5px)}
.software-book-shell{background:#f7f6ee;border-radius:13px;overflow:hidden}
.software-book-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 24px;background:#f2f3e8f7;border-bottom:1px solid #dce0cf;font-size:11px;letter-spacing:.08em}
.software-book-close{border:1px solid #cfd8c5;border-radius:6px;padding:7px 11px;background:#fafbf4;color:#36543e;font-size:12px;white-space:nowrap}
.software-book-spread{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.software-book-page{min-width:0;padding:26px 34px 32px;background:#fcfbf4}
.software-book-visual{display:flex;flex-direction:column;background:linear-gradient(90deg,#f6f6ed,#fcfbf4 88%,#e8e7d8 100%);border-right:1px solid #cdd3bd}
.software-book-copy{background:linear-gradient(90deg,#eeeee2,#fffdf6 6%,#fffdf6 96%,#f5f3e7)}
.software-page-running{display:flex;justify-content:space-between;gap:15px;font:9px/1.5 var(--font);letter-spacing:.16em;color:#8a947f;border-bottom:1px solid #dfe3d3;padding-bottom:12px;margin-bottom:23px}
.software-interface{margin:auto 0;min-width:0}
.software-interface img{width:100%;height:auto;display:block;object-fit:contain;border:1px solid #d2d9cd;border-radius:5px;box-shadow:0 9px 24px #2b453b0e;background:#fff}
.software-interface figcaption{font-size:11px;line-height:1.8;color:#82907b;margin-top:12px}
.software-interface-pending{display:grid;align-content:center;gap:18px;aspect-ratio:1.35;border:1px dashed #cbd4bd;border-radius:6px;text-align:center;color:#839077;background:#f2f4e9}
.software-interface-pending>span{font:26px Georgia,serif}.software-interface-pending>p{font-size:12px}
.software-page-footnote{font-size:11px;color:#89937f;padding-top:28px;margin-top:auto}
.software-book-category{font-size:11px;letter-spacing:.16em;color:#7c8b71;margin-top:2px}
.software-book-title{font:500 clamp(30px,3vw,43px)/1.25 Georgia,serif;letter-spacing:-.03em;margin:11px 0 13px}
.software-book-facts{font-size:11px;color:#7e8b75}
.software-book-summary{font-size:14px;line-height:1.9;color:#52684f;margin-top:22px}
.software-book-features{margin:24px 0 25px}.software-book-features>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:13px;padding:12px 0;border-top:1px solid #e0e4d5;font-size:12px;line-height:1.85}.software-book-features dt{font-weight:550;color:#405d44}.software-book-features dd{margin:0;color:#77846d}
.software-book-channels{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-top:1px solid #dce2d1;padding-top:22px}
.software-release-link{display:inline-block;background:#365b42;color:#fffdf4;padding:12px 18px;border-radius:6px;font-size:13px;font-weight:550}
.software-repository-link{font-size:12px;color:#61755a;text-decoration:underline;text-underline-offset:4px}
.software-release-pending{font-size:13px;color:#6c7c60;font-weight:550}.software-channel-note{font-size:11px;line-height:1.8;color:#8a947f}
.software-book-author{font-size:10px;color:#89937d;margin-top:24px}
.software-book-dialog[open] .software-book-spread{animation:software-book-open .28s ease-out both}
@keyframes software-book-open{from{opacity:0;transform:perspective(1400px) rotateX(3deg) scale(.985)}to{opacity:1;transform:none}}
@media(min-width:1500px){.software-book-dialog{width:1230px}.software-book-page{padding:28px 39px 35px}}
@media(max-width:1000px){.software-shelf{gap:30px;padding:40px 30px 30px}.software-book-dialog{width:calc(100vw - 36px)}.software-book-page{padding:22px 25px 28px}.software-book-spread{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:700px){.software-shelf{grid-template-columns:1fr;gap:30px;padding:33px 25px 29px}.software-shelf:after{left:22px;right:22px;top:378px;bottom:auto}.software-shelf-note{padding-bottom:0;text-align:center}.software-shelf-summary{margin-left:auto;margin-right:auto}.software-shelf-tags{justify-content:center}.software-shelf-invitation{margin-top:18px}.software-book-cover{width:225px;height:298px}.software-cover-monogram{margin-top:30px}.software-cover-hint{margin-top:30px}.software-book-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:10px}.software-book-toolbar{padding:11px 15px;font-size:10px}.software-book-spread{grid-template-columns:1fr}.software-book-page{padding:20px 24px 27px}.software-book-visual{border-right:0;border-bottom:1px solid #d5dbc8;background:linear-gradient(#f6f6ed,#fcfbf4)}.software-book-copy{background:#fffdf6}.software-page-running{margin-bottom:17px}.software-interface{max-width:600px;width:100%;margin:0 auto}.software-page-footnote{padding-top:17px}.software-book-title{font-size:36px}.software-book-features>div{grid-template-columns:72px minmax(0,1fr);gap:10px}.software-release-link{width:100%;text-align:center}.software-book-channels{align-items:stretch}.software-repository-link{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.software-book-cover{transition:none}.software-book-cover:hover,.software-book-cover:focus-visible{transform:rotate(-5deg)}.software-book-dialog[open] .software-book-spread{animation:none}}
