*{box-sizing:border-box}body{margin:0;background:#f6f0e5;color:#1a1b3d;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:inherit}header{height:82px;background:#191a39;color:#fff7d6;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #7d74b5}header>a{font:25px Georgia,serif;letter-spacing:2px}header span{display:block;font:9px Arial;letter-spacing:3px;margin-top:7px}nav{display:flex;align-items:center;gap:28px;font-size:13px}button{border:1px solid #c9bfd7;background:transparent;padding:10px 15px;border-radius:24px}header button{color:#fff7d6;border-color:#7e739d}b{margin-left:8px}main{display:grid;grid-template-columns:350px 1fr;max-width:1550px;margin:auto}aside{padding:42px 30px;border-right:1px solid #d7ced9;position:sticky;top:0;height:calc(100vh - 82px);overflow:auto}h1{font:78px Georgia,serif;letter-spacing:-5px;margin:12px 0 24px}h2{font:42px Georgia,serif;margin:20px 0}.eyebrow{font-size:9px;letter-spacing:2px;line-height:1.8}.intro{font:20px/1.5 Georgia,serif;margin-bottom:30px}label{display:block;font-size:12px;margin:14px 0 9px}input,textarea{width:100%;background:#fffaf2;border:1px solid #c9bfd7;padding:13px;border-radius:8px;color:#1a1b3d}#cats{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}#cats button{font-size:11px;padding:7px 10px}button.active{background:#27254e;color:#fff7d6}#list{display:grid;gap:3px}#list button{text-align:left;border:0;border-radius:4px;font-size:13px;padding:11px;display:flex;gap:14px}#list small{opacity:.65}footer{margin-top:35px;display:grid;gap:12px;font-size:12px}.reader{padding:24px 5vw 40px;background:radial-gradient(ellipse at 80% 55%,#d7cee5,transparent 65%),#eee8e0;min-height:calc(100vh - 82px)}.readerbar{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:680px;margin:0 auto 20px;font-size:12px}.readerbar>div{display:flex;align-items:center;gap:10px;white-space:nowrap}.readerbar button{padding:7px 12px}#zoom{display:block;width:min(100%,600px);margin:auto;box-shadow:0 15px 40px #29203b30}#page{display:block;width:100%;height:auto}#variants{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:24px auto 0;max-width:680px}#variants button{background:#fffaf4;font-size:12px}#variants button.active{background:#27254e;color:#fff7d6}.hint{font-size:11px;color:#615e75;text-align:center;line-height:1.6}dialog{border:1px solid #c9bfd7;border-radius:14px;padding:32px;max-width:520px;width:calc(100% - 28px);background:#fff8e9;color:#1a1b3d}dialog::backdrop{background:#15132b9c}.close{float:right;padding:3px 10px;font-size:25px}#chosen>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #ddd3dd;font-size:13px}#chosen button{padding:5px 10px}textarea{min-height:100px;resize:vertical}.primary{display:block;padding:16px;background:#27254e;color:#fff7d6;text-align:center;border-radius:24px;margin-top:20px;font-size:13px}:focus-visible{outline:3px solid #8870be;outline-offset:3px}@media(max-width:800px){header{height:73px;padding:0 18px}header>a{font-size:19px}nav{gap:12px;font-size:11px}header button{padding:9px 10px}main{display:block}aside{position:static;height:auto;padding:24px 18px;border-right:0}h1{font-size:58px;letter-spacing:-3px;margin:8px 0 15px}.intro{font-size:17px;margin:0 0 15px}#list{display:flex;overflow:auto;max-height:95px}#list button{flex-shrink:0;max-width:240px;border:1px solid #d7ced9}#cats{margin:13px 0}footer{display:none}.reader{padding:18px 12px 30px;min-height:0}.readerbar{gap:8px;font-size:11px}.readerbar>span{max-width:55%}.readerbar button{padding:7px 10px}#zoom{max-width:540px}#variants{margin-top:18px}}
#explore3d{display:block;margin:20px auto 0;background:#29254f;color:#fff7d6;padding:13px 28px;letter-spacing:.4px}#explore3d[hidden]{display:none}#viewerDialog{width:min(900px,calc(100% - 24px));max-width:900px;max-height:95dvh;overflow:auto;padding:24px}.viewer-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.viewer-heading h2{font-size:30px;margin:8px 0 15px}.viewer-heading .eyebrow{margin:0}#closeViewer{font-size:25px;padding:3px 12px}#modelPart{font:inherit;background:#fffcf5;border:1px solid #c9bfd7;padding:9px;border-radius:7px;min-width:200px;max-width:100%;color:#1a1b3d}.modelStage{position:relative;background:radial-gradient(ellipse,#faf7fc,#e5ddec);border-radius:12px;margin-top:16px;overflow:hidden}model-viewer{width:100%;height:min(54dvh,520px);min-height:260px;touch-action:none;--progress-bar-color:#7561a7;--poster-color:transparent}#modelStatus{position:absolute;bottom:20px;left:15px;right:15px;margin:0;text-align:center;pointer-events:none;font-size:13px;color:#34304e}#modelStatus[hidden]{display:none}.model-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}.model-controls button[aria-pressed=true]{background:#29254f;color:#fff7d6}@media(max-width:600px){#viewerDialog{padding:18px}.viewer-heading h2{font-size:25px}.model-controls button{font-size:12px;padding:10px 13px}model-viewer{height:43dvh;min-height:240px}}

#modelFallback{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 65px);object-fit:contain;pointer-events:none}#modelFallback[hidden]{display:none}.model-controls button:disabled{opacity:.4;cursor:default}
.softwareModel{display:block;width:100%;height:min(54dvh,520px);min-height:260px;touch-action:none;cursor:grab}.softwareModel:active{cursor:grabbing}model-viewer[hidden]{display:none}#cats{gap:8px}#cats button{border:1px solid #bcb1cc;background:#fffcf5;font-size:12px;line-height:1.2;padding:10px 15px;min-height:38px}#cats button.active{background:#29254f;color:#fff7d6;border-color:#29254f}#jump{display:none}#book{margin:0 auto;perspective:2000px}#book img{width:100%;height:100%;object-fit:contain}.reader{padding-left:24px;padding-right:24px;overflow:hidden}.readerbar{max-width:1000px}@media(max-width:800px){#cats{flex-wrap:nowrap;overflow-x:auto;padding:3px 0 9px;scrollbar-width:none}#cats button{flex:0 0 auto;padding:10px 15px}#list{display:none}#jump{display:block;width:100%;font:14px Arial;padding:12px;border:1px solid #c9bfd7;border-radius:8px;background:#fffaf2;color:#1a1b3d}.reader{padding:16px 8px 28px}.readerbar{padding:0 8px}.softwareModel{height:43dvh}}

#zoom[hidden]{display:none}

/* Keep full-resolution artwork in native images on high-density screens. */
#book .book-page{overflow:hidden;background:#fffaf2}
#book .book-page img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto;user-select:none;-webkit-user-drag:none}
