:root{--bg:#efe6d2;--surface:#fbf0dc;--surface-soft:#f3e3c5;--text:#2c2118;--muted:#6e5842;--line:#c79f63;--brand:#244733;--brand-dark:#173021;--accent:#b58a45;--accent-deep:#7b2428;--wood:#6b442c;--wood-dark:#4a2b1b;--danger:#9d2b25;--shadow:0 18px 34px #1f120a38}*{box-sizing:border-box}body{background:var(--wood);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}body:before{content:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{min-height:100vh}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid #8f6238;justify-content:space-between;align-items:center;gap:20px;padding:18px clamp(18px,4vw,52px);display:flex;position:sticky;top:0}.brand{letter-spacing:0;align-items:center;gap:10px;font-weight:800;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 -3px #0000002e}.nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav a,.ghost-button,.primary-button,.danger-button,.icon-button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;transition:all .18s;display:inline-flex}.nav a,.ghost-button{color:var(--muted);background:0 0;padding:0 14px}.nav a:hover,.ghost-button:hover{color:var(--text);background:#e6d4b4}.primary-button{background:var(--brand);color:#fff;padding:0 16px;font-weight:700}.primary-button:hover{background:var(--brand-dark)}.danger-button{color:var(--danger);background:#f6dfd8;padding:0 16px}.icon-button{width:40px;color:var(--text);background:#ead8b8}.container{width:min(1160px,100% - 32px);margin:0 auto;padding:34px 0 60px}.hero{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:stretch;gap:28px;padding:34px 0 28px;display:grid}.hero h1{letter-spacing:0;margin:0;font-size:clamp(34px,4.5vw,56px);line-height:1.05}.hero p{max-width:660px;color:var(--muted);margin:18px 0 0;font-size:18px;line-height:1.55}.hero-copy{border:1px solid var(--line);border-left:8px solid var(--accent);background:var(--surface);min-height:100%;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;justify-content:center;padding:clamp(22px,4vw,36px);display:flex}.eyebrow{color:var(--accent-deep);letter-spacing:0;text-transform:uppercase;margin-bottom:12px;font-size:13px;font-weight:800;display:inline-flex}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.hero-stat{border:1px solid var(--line);background:#f5e5c7;border-radius:8px;align-content:center;gap:6px;min-height:104px;padding:14px;display:grid}.hero-stat svg{color:var(--brand)}.hero-stat strong{font-size:28px;line-height:1}.hero-stat span{color:var(--muted);font-size:13px}.hero-board{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:18px}.hero-board-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.hero-board-header h2{margin:0;font-size:24px;line-height:1.2}.shelf-list{gap:12px;display:grid}.shelf-book{border:1px solid var(--line);background:#f5e5c7;border-radius:8px;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:14px;padding:12px;transition:all .18s;display:grid}.shelf-book:hover{transform:translateY(-1px);box-shadow:0 10px 22px #3e261629}.shelf-book h3{margin:0;line-height:1.25}.shelf-cover{background:var(--accent-deep);color:#fff8ea;border:1px solid #8f6238;border-radius:6px;place-items:center;width:70px;height:92px;font-size:26px;font-weight:800;display:grid;overflow:hidden}.shelf-cover img{object-fit:cover;width:100%;height:100%}.empty-shelf{border:1px dashed var(--line);color:var(--muted);border-radius:8px;padding:18px}.toolbar,.panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.toolbar{border-top:5px solid var(--accent);grid-template-columns:1fr 190px 160px auto;gap:12px;margin:22px 0;padding:14px;display:grid}.catalog-toolbar{grid-template-columns:minmax(220px,1fr) 170px 170px 160px auto}.input,.textarea,.select{border:1px solid var(--line);width:100%;color:var(--text);background:#fff6e6;border-radius:8px;outline:none;min-height:44px;padding:0 12px}.textarea{resize:vertical;min-height:110px;padding:12px}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #29473424}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-top:5px solid #8f6238;border-radius:8px;padding:18px}.book-card{flex-direction:column;min-height:100%;display:flex}.rich-book-card{gap:14px}.book-card-top{grid-template-columns:104px minmax(0,1fr);align-items:start;gap:14px;display:grid}.book-card-main{min-width:0}.book-card-main h3{margin-top:6px}.catalog-cover{aspect-ratio:4/5;width:104px;font-size:30px}.book-info-grid{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:13px;display:grid}.book-info-grid span{align-items:center;gap:6px;min-width:0;display:inline-flex}.compact-badges{margin:0}.book-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:42px;display:-webkit-box;overflow:hidden}.book-cover{aspect-ratio:4/5;border:1px solid var(--line);background:var(--wood-dark);color:#fff8ea;border-radius:8px;place-items:center;width:100%;font-size:42px;font-weight:800;display:grid;overflow:hidden}.book-cover img{object-fit:cover;width:100%;height:100%}.book-card .book-cover{margin-bottom:14px}.small-cover{aspect-ratio:auto;width:72px;min-width:72px;height:92px;font-size:24px}.preview-cover{aspect-ratio:auto;text-align:center;width:120px;height:150px;font-size:16px}.detail-panel{grid-template-columns:190px minmax(0,1fr);gap:22px;display:grid}.book-page{gap:18px;display:grid}.book-detail-main{align-items:start}.book-detail-content{gap:12px;display:grid}.detail-cover{aspect-ratio:4/5;width:190px}.cover-uploader{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.cover-results{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.cover-result{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#fff6e6;border-radius:8px;gap:8px;min-height:100%;padding:10px;display:grid}.cover-result:hover,.cover-result.active{border-color:var(--brand);box-shadow:0 0 0 3px #29473424}.cover-result img{aspect-ratio:4/5;object-fit:cover;background:var(--wood-dark);border-radius:6px;width:100%}.cover-result span{font-weight:700;line-height:1.25}.cover-result small{color:var(--muted);line-height:1.35}.detail-actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.owner-reputation{border:1px solid var(--line);background:#f5e5c7;border-radius:8px;padding:14px}.owner-score-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.owner-score{border:1px solid var(--line);background:#fff6e6;border-radius:8px;gap:4px;padding:10px;display:grid}.owner-score strong{font-size:24px;line-height:1}.owner-score span{color:var(--muted);font-size:13px}.exchange-panel{border-top:5px solid var(--brand)}.request-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-label{color:var(--muted);gap:8px;font-size:14px;font-weight:700;display:grid}.field-with-action{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.choice-list{gap:8px;display:grid}.choice-item{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#fff6e6;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.choice-item:hover,.choice-item.active{border-color:var(--brand);box-shadow:0 0 0 3px #29473424}.choice-item span{font-weight:700}.choice-item small{color:var(--muted)}.review-card{border:1px solid var(--line);background:#fff6e6;border-radius:8px;padding:14px}.toast-stack{z-index:50;gap:10px;width:min(360px,100% - 32px);display:grid;position:fixed;top:88px;right:24px}.toast{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);color:var(--text);border-radius:8px;padding:14px 16px}.toast.success{color:var(--brand-dark);background:#edf4e8;border-color:#b9d0b5}.toast.error{color:var(--danger);background:#faebe5;border-color:#e0b2a9}.modal-backdrop{z-index:40;background:#2c211894;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--surface);width:min(640px,100%);box-shadow:var(--shadow);border-radius:8px;padding:20px}.modal-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-header h2{margin:0}.profile-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:18px;display:grid}.profile-tabs{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.tab-button{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.tab-button:hover,.tab-button.active{background:var(--brand);border-color:var(--brand);color:#fff8ea}.stacked-sections{gap:18px;display:grid}.literature-hero{justify-content:space-between;align-items:center;gap:22px;display:flex}.literature-hero h1{max-width:760px;margin:0;font-size:clamp(30px,4vw,46px);line-height:1.08}.review-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.literature-card{border-top-color:var(--brand)}.literature-note{position:sticky;top:94px}.wide-modal{width:min(860px,100%);max-height:calc(100vh - 44px);overflow:auto}.review-editor{min-height:240px}.review-text{margin-top:18px;line-height:1.7}.section-title{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.book-row{border:1px solid var(--line);background:#f5e5c7;border-radius:8px;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.card h3,.panel h2,.panel h3{letter-spacing:0;margin:0;line-height:1.25}.meta{color:var(--muted);font-size:14px;line-height:1.5}.badge-row{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.badge{color:#3b2b1d;background:#e6d1a8;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;display:inline-flex}.status{color:var(--accent-deep);background:#f0dcc8}.card-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.panel{padding:22px}.form{gap:14px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.auth-layout{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-aside{background:var(--wood-dark);color:#fff;flex-direction:column;justify-content:space-between;padding:clamp(28px,6vw,72px);display:flex}.auth-aside h1{margin:28px 0 16px;font-size:clamp(34px,6vw,56px);line-height:1.05}.auth-aside p{color:#fff8ead6;max-width:520px;line-height:1.6}.auth-main{place-items:center;padding:24px;display:grid}.auth-card{width:min(420px,100%)}.split{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.list{gap:12px;display:grid}.notice{color:var(--danger);background:#faebe5;border:1px solid #e0b2a9;border-radius:8px;padding:12px}.success{color:var(--brand-dark);background:#edf4e8;border-color:#b9d0b5}@media (max-width:880px){.hero,.auth-layout,.split,.review-layout,.toolbar,.catalog-toolbar,.grid,.form-grid,.field-with-action,.profile-layout,.detail-panel,.book-row,.book-card-top,.request-grid,.owner-score-grid{grid-template-columns:1fr}.detail-cover,.small-cover,.catalog-cover,.shelf-cover{aspect-ratio:4/5;width:100%;height:auto}.toast-stack{width:auto;top:82px;left:16px;right:16px}.hero-stats,.shelf-book{grid-template-columns:1fr}.hero-copy{border-left:0;padding-left:0}.auth-aside{min-height:320px}.literature-hero{flex-direction:column;align-items:stretch}.literature-note{position:static}}
