:root {
  --ink:#2d2926;
  --paper:#fbf5e8;
  --paper2:#f1e4c7;
  --rust:#a54832;
  --rust-dark:#773122;
  --sage:#68745e;
  --gold:#c99b45;
  --line:#d9caaa;
  --white:#fffdf8;
  --shadow:0 18px 50px rgba(45,41,38,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:linear-gradient(180deg,#f5ecd8 0%,#fbf8f0 36%,#f2e9d7 100%);min-height:100vh}
a{color:inherit}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}
.site-header{border-bottom:1px solid rgba(45,41,38,.14);background:rgba(251,245,232,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.04em}.brand-mark{width:38px;height:38px;border:2px solid var(--rust);border-radius:50%;display:grid;place-items:center;color:var(--rust);font-size:20px}.navlinks{display:flex;align-items:center;gap:20px}.navlinks a{text-decoration:none;font-size:14px;font-weight:700}.navlinks .button{color:white}
.button{appearance:none;border:0;border-radius:999px;background:var(--rust);color:white;padding:13px 21px;font:700 14px/1.1 Arial,sans-serif;letter-spacing:.02em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 5px 0 var(--rust-dark)}.button:hover{transform:translateY(1px);box-shadow:0 4px 0 var(--rust-dark)}.button.secondary{background:var(--sage);box-shadow:0 5px 0 #4e5947}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}.button.small{padding:9px 14px;font-size:12px}
.hero{padding:84px 0 62px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.eyebrow{font:700 12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.2em;color:var(--rust);margin-bottom:18px}.hero h1,.page-title{font-size:clamp(46px,7vw,86px);line-height:.92;margin:0 0 22px;letter-spacing:-.04em}.hero h1 em{font-weight:400;color:var(--rust)}.lead{font-size:19px;line-height:1.65;color:#5a514b;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.passport-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:34px;transform:rotate(1.5deg);position:relative}.passport-card:before{content:'TRAVELING BOOK';position:absolute;right:24px;top:24px;border:2px solid var(--rust);color:var(--rust);border-radius:50%;width:104px;height:104px;display:grid;place-items:center;text-align:center;font:800 12px/1.25 Arial,sans-serif;letter-spacing:.1em;transform:rotate(12deg);opacity:.83}.passport-card h3{font-size:28px;margin:0 120px 8px 0}.passport-card .rule{height:1px;background:var(--line);margin:24px 0}.journey{display:grid;grid-template-columns:22px 1fr;gap:13px}.journey-line{width:2px;background:repeating-linear-gradient(to bottom,var(--rust) 0 6px,transparent 6px 12px);margin:10px auto}.stop{padding:8px 0 18px}.stop strong{display:block}.stop span{font-size:13px;color:#72665e}.stamp-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.stamp{border:1px solid var(--line);padding:7px 10px;border-radius:3px;font:700 11px Arial,sans-serif;text-transform:uppercase;color:var(--sage);transform:rotate(-1deg)}
.section{padding:68px 0}.section.alt{background:rgba(255,253,248,.66);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section h2{font-size:42px;margin:0 0 12px}.section-sub{font-size:17px;color:#6b6059;margin:0 0 34px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step,.card{background:rgba(255,253,248,.9);border:1px solid var(--line);padding:28px;box-shadow:0 8px 25px rgba(45,41,38,.06)}.step-num{font-size:42px;color:var(--gold);font-style:italic}.step h3{margin:10px 0;font-size:22px}.step p{margin:0;color:#675c54;line-height:1.55}.lookup{display:flex;gap:10px;max-width:620px}.lookup input{flex:1}
.page{padding:58px 0 90px}.page-head{margin-bottom:34px}.page-head .page-title{font-size:clamp(42px,6vw,70px)}.page-head p{font-size:18px;color:#665b54;max-width:700px;line-height:1.6}.panel{background:rgba(255,253,248,.94);border:1px solid var(--line);box-shadow:var(--shadow);padding:30px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font:700 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:#665a50}.field input,.field textarea,.field select,.lookup input{width:100%;border:1px solid #cfc0a2;background:#fffdf8;border-radius:6px;padding:13px 14px;font:16px Georgia,serif;color:var(--ink);outline:none}.field input:focus,.field textarea:focus,.field select:focus,.lookup input:focus{border-color:var(--rust);box-shadow:0 0 0 3px rgba(165,72,50,.10)}.field textarea{min-height:108px;resize:vertical}.form-actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}.notice{padding:14px 16px;background:#eef1e9;border-left:4px solid var(--sage);margin:18px 0;color:#4c5845}.error{background:#f8e8e3;border-left-color:var(--rust);color:#772e22}.hidden{display:none!important}
.success-box{margin-top:28px}.bookplate-wrap{display:grid;grid-template-columns:1fr .85fr;gap:28px;align-items:start;margin-top:24px}.bookplate{width:min(100%,420px);aspect-ratio:3/4;background:#fffaf0;border:2px solid var(--ink);outline:1px solid var(--ink);outline-offset:-8px;padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow)}.bookplate .mini{font:800 11px Arial,sans-serif;letter-spacing:.18em;color:var(--rust)}.bookplate h2{font-size:34px;margin:10px 0 8px}.bookplate p{font-size:14px;line-height:1.45;margin:5px 0}.bookplate .qr{width:150px;height:150px;background:white;border:8px solid white;margin:15px 0}.bookplate .code{font:800 17px Arial,sans-serif;letter-spacing:.12em}.bookplate .motto{margin-top:10px;font-style:italic;color:#6b5d52}.help-list{padding-left:20px;line-height:1.7;color:#5f554e}
.book-hero{display:grid;grid-template-columns:1fr .82fr;gap:28px;align-items:start}.book-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.pill{background:#efe3ca;border:1px solid #ddcaa5;border-radius:999px;padding:7px 11px;font:700 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.stat{border:1px solid var(--line);padding:16px;text-align:center}.stat strong{display:block;font-size:30px}.stat span{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#776b61}.timeline{margin-top:28px}.timeline-item{display:grid;grid-template-columns:28px 1fr;gap:14px;position:relative}.timeline-item:not(:last-child):before{content:'';position:absolute;left:13px;top:28px;bottom:-10px;border-left:2px dotted #c9b996}.dot{width:14px;height:14px;border:3px solid var(--rust);background:var(--paper);border-radius:50%;margin:4px 0 0 7px;z-index:1}.timeline-content{padding-bottom:25px}.timeline-content h4{margin:0 0 4px;font-size:19px}.timeline-content time{font:12px Arial,sans-serif;color:#82766c}.timeline-content p{margin:8px 0 0;line-height:1.5;color:#5e544d}.admin-table-wrap{overflow:auto;border:1px solid var(--line);background:white}.admin-table{width:100%;border-collapse:collapse;min-width:860px}.admin-table th,.admin-table td{text-align:left;padding:13px 14px;border-bottom:1px solid #eee4d2;vertical-align:top}.admin-table th{font:800 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;background:#f8f1e3}.admin-table td{font-size:14px}.admin-table a{color:var(--rust);font-weight:700}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.admin-stats .stat{background:#fffdf8}.footer{padding:36px 0;border-top:1px solid var(--line);font-size:13px;color:#766b62}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:820px){.hero-grid,.grid-2,.bookplate-wrap,.book-hero{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.passport-card{transform:none}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.navlinks a:not(.button){display:none}.stats,.admin-stats{grid-template-columns:repeat(2,1fr)}.hero{padding-top:55px}.lookup{flex-direction:column}}
@media(max-width:480px){.wrap{width:min(100% - 22px,1120px)}.panel{padding:20px}.stats,.admin-stats{grid-template-columns:1fr 1fr}.hero h1{font-size:49px}.passport-card{padding:24px}.passport-card:before{width:80px;height:80px;font-size:9px}.passport-card h3{margin-right:88px}.bookplate{padding:20px}}
@media print{body{background:white}.site-header,.page-head,.panel>h2,.bookplate-wrap>.panel,.footer,.no-print,.notice{display:none!important}.page,.section{padding:0}.wrap{width:100%;margin:0}.success-box{display:block!important;margin:0}.bookplate-wrap{display:block;margin:0}.bookplate{box-shadow:none;width:3in;height:4in;aspect-ratio:auto;margin:0 auto;padding:.18in;page-break-inside:avoid}.bookplate .qr{width:1.15in;height:1.15in;margin:.08in}.bookplate h2{font-size:22pt;margin:.05in}.bookplate p{font-size:8.5pt}.bookplate .code{font-size:10pt}}

.auth-grid .field{margin-bottom:16px}.field small{font:12px Arial,sans-serif;color:#766b62}.privacy-note{margin-top:20px}.signed-in-line{margin:-4px 0 22px;color:#665b54}.my-books-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.book-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.travel-book-card{background:rgba(255,253,248,.95);border:1px solid var(--line);padding:26px;box-shadow:0 8px 25px rgba(45,41,38,.06)}.travel-book-card h2{font-size:28px;margin:4px 0 5px}.book-author{margin:0 0 20px;color:#6b6059}.book-card-stats{display:grid;gap:8px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#665b54}.book-card-stats span{font-size:14px}.bookplate .code{font:900 30px/1.1 Arial,sans-serif;letter-spacing:.08em;padding:12px 16px;margin-top:8px;border:2px solid var(--ink);background:#fffdf8;display:inline-block}.bookplate .code-label{font:800 12px Arial,sans-serif;letter-spacing:.18em;color:var(--rust);margin-top:4px}.book-id-callout{display:inline-block;margin:10px 0 16px;padding:12px 16px;border:2px solid var(--gold);background:#fff7df;font:800 24px/1.2 Arial,sans-serif;color:var(--ink)}
@media(max-width:820px){.book-card-grid{grid-template-columns:1fr}}
@media print{.bookplate .code{font-size:14pt;padding:.05in .08in}.bookplate .code-label{font-size:7pt}}
