:root{color-scheme:dark;--dark:#0a1015;--ink:#ecede5;--muted:#a1aea6;--gold:#dfc690;--accent:#cfe0c2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--dark);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}h1 i,h2 i{color:var(--gold);font-weight:400}.grain{position:fixed;inset:0;pointer-events:none;z-index:7;opacity:.22;background:repeating-linear-gradient(100deg,#fff1 0px,transparent 1px,transparent 8px)}.top{max-width:1520px;height:78px;margin:auto;padding:0 clamp(18px,5vw,75px);border-bottom:1px solid #b4c8ac22;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:8}.identity{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:15px;letter-spacing:.16em;font-weight:700}.identity em{font-style:normal;color:var(--gold);font-weight:400}.identity small{display:block;color:#91a198;letter-spacing:.31em;font-size:8px;font-weight:400}.identity-mark{display:grid;place-items:center;border:1px solid #ddc99588;color:#d3dfc9;width:40px;height:40px;border-radius:9px;font:29px Georgia,serif}.top nav{display:flex;gap:35px;color:#aab8ad;font-size:12px}.top nav a:hover{color:white}.open{font-size:10px;white-space:nowrap;padding:9px 13px;border:1px solid #a4c38c44;color:#c5dfb7;border-radius:40px}.hero{max-width:1520px;margin:auto;display:grid;grid-template-columns:1fr 1.07fr;min-height:635px;align-items:center;gap:3vw;padding:80px clamp(18px,5vw,75px)}.intro{position:relative;z-index:3}.kicker{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.21em;color:var(--gold)}.kicker span{margin:0 10px}.hero h1{font-size:clamp(54px,6.6vw,98px);line-height:1.04;white-space:nowrap;margin:30px 0 24px}.summary{font-size:15px;max-width:490px;line-height:1.95;color:#aab8b0}.buttons{display:flex;gap:14px;margin:29px 0 64px;flex-wrap:wrap}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:15px 22px;border:1px solid #9db49b61;border-radius:4px;font-size:12px;font-weight:700}.primary{background:#d6e5cb;color:#132219;border-color:#d6e5cb}.primary:hover{background:white}.secondary:hover{border-color:white}.metrics{display:flex;align-items:center;gap:24px}.metrics>div{display:flex;flex-direction:column;gap:4px}.metrics strong{font:36px Georgia,serif}.metrics small{color:#879b8f;font-size:10px;letter-spacing:.03em}.metrics i{height:39px;width:1px;background:#ffffff25}.stage{perspective:900px;position:relative;max-width:680px;width:100%;aspect-ratio:1.14;margin:auto}.room{position:absolute;inset:10% 9% 17%;border:1px solid #adc09c55;border-radius:4px;background:radial-gradient(ellipse at 49% 34%,#2a3731,#121c21 57%,#080f16);box-shadow:0 20px 95px #03090a,0 0 80px #d9c98a12 inset;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease;transform-style:preserve-3d}.room:before,.room:after{content:"";position:absolute;top:0;bottom:0;width:9%;background:linear-gradient(90deg,#374b3f,#101921);box-shadow:inset 0 0 15px #aeac8a44}.room:before{left:0;transform-origin:left;transform:rotateY(-37deg)}.room:after{right:0;transform-origin:right;transform:rotateY(37deg)}.back-sign{position:absolute;left:33%;right:33%;top:3%;height:22%;border:1px solid #c9b88d44;background:linear-gradient(135deg,#2b4036b3,#152021a8);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.back-sign span{font:52px Georgia,serif;color:#dfcfaa}.back-sign small{font:6px Arial,sans-serif;letter-spacing:.2em;color:#d3d1b8;white-space:nowrap}.book-shelf{position:absolute;left:9%;right:9%;height:18%;display:flex;gap:clamp(2px,.48vw,6px);justify-content:center;align-items:flex-end;padding:0 10px 3px;border-bottom:9px solid #5c6658;box-shadow:0 7px 0 #172021,0 12px 15px #0009;transform:translateZ(20px)}.shelf-1{top:29%}.shelf-2{top:51%}.shelf-3{top:73%}.spine{border:0;padding:0 2px;flex:1;min-width:0;max-width:46px;height:var(--height);color:#f1e2b8;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#0006,#fff2 15%,transparent 40%,#0005 94%),var(--cover);box-shadow:inset 0 0 0 1px #e9d7aa70,4px 2px 8px #0009;display:flex;align-items:center;justify-content:center;transition:transform .18s,filter .18s;transform-origin:bottom}.spine:hover,.spine:focus-visible{transform:translateY(-12px) rotateZ(-4deg);filter:brightness(1.3);z-index:2}.spine span{font:clamp(7px,.65vw,10px) Georgia,serif;writing-mode:vertical-rl;transform:rotate(180deg);max-height:90%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.05em}.ground{position:absolute;bottom:-7%;left:9%;right:9%;height:15%;background:linear-gradient(#60756852,#071017);transform:rotateX(70deg);transform-origin:top;box-shadow:0 1px #ccbea97c}.stage-legend{position:absolute;bottom:-2%;left:0;right:0;text-align:center;color:#8ca198;font-size:9px;letter-spacing:.22em}.marquee{border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;max-width:1520px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:21px clamp(18px,5vw,75px);gap:12px;color:#8da194;font-size:10px;letter-spacing:.17em}.marquee b{color:var(--gold);font-weight:400}.collection{max-width:1520px;padding:98px clamp(18px,5vw,75px) 110px;margin:auto}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.section-head h2,.future h2{font-size:clamp(49px,5vw,77px);line-height:1.12;margin:22px 0}.section-head p:not(.kicker),.future p:not(.kicker){max-width:570px;line-height:1.9;color:#a7b7ac}.section-head>span{font:29px Georgia,serif;color:var(--gold);white-space:nowrap}.section-head>span small{font:9px Arial,sans-serif;letter-spacing:.2em;color:#87978d}.filters{margin:43px 0 16px;display:flex;gap:13px}.filters label{display:flex;align-items:center;gap:12px;padding:0 17px;background:#142023;border:1px solid #ffffff30;border-radius:6px;width:100%;max-width:650px;color:#91a79c}.filters input{border:0;background:none;color:white;outline:none;height:50px;min-width:0;flex:1;font-size:13px}.filters label:focus-within{border-color:#d6c392}.toggle{display:flex;background:#172425;border:1px solid #ffffff30;border-radius:6px;padding:4px;white-space:nowrap}.toggle button{border:0;border-radius:4px;background:none;color:#b5c3b7;padding:0 18px;font-size:11px}.toggle .chosen{background:#d1e0c6;color:#132418}.count{font-size:10px;color:#8da596;letter-spacing:.08em}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.book-card{display:flex;flex-direction:column;text-align:left;min-height:266px;padding:20px;background:linear-gradient(140deg,#19282a,#0d151b);color:#edf0e9;border:1px solid #ffffff1f;border-radius:8px;transition:transform .2s,border-color .2s}.book-card:hover,.book-card:focus-visible{transform:translateY(-5px);border-color:#dac89180}.book-id{color:#c9b68a;font:11px Georgia,serif;letter-spacing:.08em}.book-icon{font:48px Georgia,serif;color:var(--gold);margin:18px 0 13px}.book-title{font:21px Georgia,serif;line-height:1.18}.book-author{font-size:11px;color:#a4b3a7;line-height:1.45;margin-top:10px}.book-tag{margin-top:auto;border-top:1px solid #ffffff20;padding-top:15px;display:flex;justify-content:space-between;font-size:10px;color:#92aa9b}.book-tag.available{color:#d6d5a3}.book-tag span{color:#c8d6ca;font-size:16px}.future{padding:80px max(5vw,18px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;background:radial-gradient(ellipse at 25% 45%,#243b32,#101b1d 50%,#0a1116);border-block:1px solid #ffffff23}.future>div:last-child{max-width:620px}.ticket-wrap{display:flex;justify-content:center;padding:15px}.ticket{width:min(100%,420px);min-height:280px;padding:30px;border:1px solid #d2c18c7c;border-radius:17px;transform:rotate(-5deg);background:linear-gradient(145deg,#2e4a40,#192729 70%,#353a2d);box-shadow:15px 26px 65px #0008,0 0 0 8px #d5d4ac0a;display:flex;flex-direction:column}.ticket>div{font-size:11px;letter-spacing:.19em;color:#e8e9d6}.ticket p{margin:37px 0 8px;color:#a9c0a8;font:10px Arial,sans-serif;letter-spacing:.17em}.ticket strong{font:33px Georgia,serif;line-height:1.15;color:#f5efd5}.ticket span{margin-top:auto;font-size:9px;letter-spacing:.13em;color:#aabea9}.promise{margin-top:23px;color:#cadabc;font-size:12px}.footer{max-width:1520px;min-height:194px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:35px;padding:50px clamp(18px,5vw,75px)}.footer strong{font-size:17px;letter-spacing:.15em}.footer strong em{font-style:normal;font-weight:400;color:var(--gold)}.footer p,.footer>div:nth-child(2),.footer small{font-size:10px;color:#8da094;line-height:2;letter-spacing:.05em}.footer a{text-decoration:underline}.overlay{position:fixed;inset:0;background:#020608e8;z-index:30;display:grid;place-items:center;padding:20px;overflow:auto}.overlay[hidden]{display:none}.detail-panel{width:min(100%,600px);max-height:90vh;overflow:auto;padding:36px;background:linear-gradient(155deg,#243a32,#10191e);border:1px solid #dac58b66;position:relative;border-radius:13px}.dismiss{width:38px;height:38px;border-radius:50%;border:1px solid #ffffff47;background:#ffffff12;color:inherit;position:absolute;top:17px;right:19px}.detail-mark{font:72px Georgia,serif;color:#dbc48d;margin:16px 0}.detail-panel h2{font-size:45px;margin:10px 40px 12px 0;line-height:1.2}.detail-panel .author{color:#d1c28d}.detail-intro{color:#b6c2b7;line-height:1.85}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.detail-actions button,.detail-actions a{padding:12px 17px;background:#d9e6cb;color:#132319;border:0;border-radius:5px;font-size:12px;font-weight:700}.detail-actions a{border:1px solid #d2d0af70;background:transparent;color:#d9e6cb}.detail-note{font-size:11px;color:#a5b6a8}.reader{background:#efeade;color:#29362e;height:min(96vh,920px);width:min(100%,1030px);border-radius:10px;display:flex;flex-direction:column;position:relative}.reader-header{position:relative;padding:21px 32px 13px;border-bottom:1px solid #d1d0c2}.reader-header small{font-size:9px;letter-spacing:.17em;color:#806d51}.reader-header h2{font-size:28px;margin:6px 42px 0 0}.reader .dismiss{color:#2b4130;border-color:#a3b2a8;background:#e6e3d5}.reader-menu{display:flex;align-items:center;gap:9px;padding:12px 30px;border-bottom:1px solid #cecdc0}.reader-menu button,.reader-footer button{border:1px solid #a9b7a6;background:transparent;padding:7px 12px;border-radius:5px;color:#324338}.reader-menu span{margin-left:auto;font-size:12px}.reader-body{flex:1;overflow:auto;padding:32px clamp(18px,7vw,100px);white-space:pre-wrap;overflow-wrap:anywhere;font:var(--reader-font,18px)/1.82 Georgia,serif}.reader-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 30px;border-top:1px solid #cecdc0;font-size:12px}.reader-footer button:disabled{opacity:.35}.locked{overflow:hidden}@media(max-width:1050px){.top nav{gap:20px}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:6vw}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.open{display:none}}@media(max-width:730px){.top{height:70px}.top nav a:first-child{display:none}.top nav{gap:15px;font-size:11px}.identity{font-size:12px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:65px;padding-bottom:72px}.hero h1{font-size:clamp(46px,11vw,73px);white-space:normal}.buttons{margin-bottom:40px}.stage{width:100%;max-width:560px}.marquee{overflow:hidden;white-space:nowrap}.marquee span:nth-of-type(n+4),.marquee b:nth-of-type(n+4){display:none}.collection{padding-top:75px}.section-head>span{display:none}.filters{flex-wrap:wrap}.filters label{max-width:none}.toggle{min-height:48px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.book-card{min-height:245px;padding:14px}.book-title{font-size:18px}.future{grid-template-columns:1fr;gap:30px;padding:40px 18px 70px}.ticket{transform:rotate(-3deg)}.footer{flex-wrap:wrap}.reader-body{padding:18px}.reader-header{padding:18px}.reader-menu,.reader-footer{padding:10px 14px}}@media(max-width:365px){.cards{grid-template-columns:1fr}.top nav a:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.room{transform:none!important}}
