:root{--ink:#2c2117;--gold:#a66c20;--paper:#e7d0a0;--red:#7b2822;--muted:#6e5a40}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:#ead9b0;font-family:Georgia,'Times New Roman',serif;background:#17100b radial-gradient(circle at 50% 0,#624126 0,#24160e 44%,#0c0907 100%) fixed}.mist{position:fixed;inset:0;pointer-events:none;opacity:.25;background:repeating-linear-gradient(105deg,transparent 0 90px,#fff1 92px 93px);animation:mist 14s ease-in-out infinite}@keyframes mist{50%{transform:translateX(2%);opacity:.12}}header{min-height:108px;padding:16px clamp(16px,5vw,70px);display:flex;align-items:center;gap:18px;border-bottom:1px solid #d9a44155;background:#100b08e8;position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}header img{width:76px;height:76px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 4px 8px #000)}h1{margin:3px 0;font-size:clamp(25px,4vw,42px);color:#f0c56b;text-shadow:0 2px #000}small{letter-spacing:2px;color:#bba787}nav{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}button,input,select,textarea{font:inherit}button{border:1px solid #b98337;background:linear-gradient(#50361f,#281a10);color:#f6ddb0;padding:10px 15px;border-radius:7px;cursor:pointer;transition:.18s}button:hover{filter:brightness(1.18);transform:translateY(-1px)}button.danger{border-color:#8d3932;background:#3d1714}.wrap{width:min(1280px,95%);margin:34px auto}.book{position:relative;color:var(--ink);padding:clamp(22px,4vw,52px);border:1px solid #aa7b3b;border-radius:8px;background-color:var(--paper);background-image:linear-gradient(90deg,#9b672933 0,transparent 4%,transparent 49.6%,#69411728 50%,transparent 50.5%,transparent 96%,#8d5c2633 100%),repeating-linear-gradient(0deg,#fff0 0 30px,#68471d0a 31px),radial-gradient(ellipse at center,#f7e9c5 0,#e6cd98 74%,#b98445 130%);box-shadow:0 18px 70px #000c,inset 0 0 45px #70431555}.book:before,.book:after{content:"";position:absolute;top:12px;bottom:12px;width:2px;background:#80532644}.book:before{left:13px}.book:after{right:13px}.book-heading{text-align:center;margin-bottom:24px}.book-heading span{font-size:12px;letter-spacing:3px;color:#7b5428}.book-heading h2{margin:8px 0 5px;font-size:clamp(30px,5vw,52px);color:#492c18}.book-heading p{margin:0;color:var(--muted)}.hero{text-align:center;padding:9vh 20px}.panel{background:linear-gradient(145deg,#2b2017f5,#130f0cf5);color:#ead9b0;border:1px solid #8a6537;border-radius:14px;padding:22px;box-shadow:0 16px 50px #0009}.login{max-width:430px;margin:6vh auto}.login label,label{display:block;margin:14px 0 6px;color:inherit}input,select,textarea{width:100%;background:#fff8e5d9;border:1px solid #8b673a;color:#261b12;padding:11px;border-radius:6px}textarea{min-height:160px;resize:vertical}.toolbar{display:grid;grid-template-columns:1fr minmax(210px,320px) auto;gap:10px;margin:22px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.card{background:#f7e8c0;border:1px solid #aa7b3b;border-radius:9px;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;color:var(--ink);box-shadow:0 5px 14px #64421d25;cursor:pointer}.card:hover,.card:focus-visible{transform:translateY(-7px) rotate(.25deg);border-color:#7f4e15;box-shadow:0 18px 28px #3b210a48;outline:none}.image-frame{height:290px;display:grid;place-items:center;padding:10px;background:linear-gradient(135deg,#3b291b,#15100c);position:relative;overflow:hidden}.card img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;filter:drop-shadow(0 5px 7px #0008);transition:transform .28s,filter .28s}.card:hover img{transform:scale(1.035);filter:drop-shadow(0 8px 12px #000b) brightness(.78)}.open-hint{position:absolute;inset:auto 14px 14px;padding:8px;border:1px solid #e4bd72;background:#180e08d9;color:#f7dfae;text-align:center;border-radius:6px;opacity:0;transform:translateY(8px);transition:.25s}.card:hover .open-hint,.card:focus-visible .open-hint{opacity:1;transform:none}.card section{padding:14px}.card h3{margin:8px 0 6px;color:#4c2c16;font-size:18px;line-height:1.18}.price,.detail-price{color:#8e5311;font-weight:700}.category{display:inline-block;padding:4px 8px;border:1px solid #9c7545;border-radius:99px;font-size:11px;background:#e2c98f;color:#50351b}.excerpt{color:#665137;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:58px;font-size:14px;line-height:1.35}.actions{display:flex;gap:8px;margin-top:12px}.actions button{flex:1;padding:8px}.heart.active{color:#ff7777;border-color:#bc5149}.selection{position:sticky;bottom:10px;margin-top:20px;padding:15px 18px;background:#2a1b11f2;color:#f7dfae;border:1px solid #bd873e;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 30px #0008}.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.modal{position:fixed;inset:0;background:#000d;display:grid;place-items:center;padding:18px;z-index:10}.modal-sheet{width:min(920px,100%);max-height:94vh;overflow:auto;position:relative}.close{position:sticky;float:right;top:0;z-index:2;font-size:24px;padding:3px 11px}.detail{display:grid;grid-template-columns:minmax(250px,42%) 1fr;gap:25px}.detail-image{min-height:420px;display:grid;place-items:center;background:#0e0b08;border:1px solid #72502d;border-radius:8px;padding:12px}.detail-image img{width:100%;height:100%;max-height:65vh;object-fit:contain}.detail h2{font-size:clamp(27px,4vw,42px);color:#f0c56b;margin:10px 0}.detail-price{font-size:23px;color:#e8af45;margin-bottom:18px}.description{line-height:1.55;color:#dfceb0}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.request{border-bottom:1px solid #634d31;padding:13px 0}.empty{text-align:center;padding:60px;color:var(--muted)}.check{width:auto}footer{text-align:center;padding:38px;color:#ad9b7e}footer a{color:#d9a441}@media(max-width:760px){header{position:relative;align-items:flex-start}header img{width:56px;height:56px}nav{margin-left:0}.toolbar{grid-template-columns:1fr}.detail{grid-template-columns:1fr}.detail-image{min-height:280px}.row{grid-template-columns:1fr}.wrap{width:96%;margin-top:18px}.book{padding:24px 16px}.grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}.image-frame{height:230px}}
