:root{--ink:#262820;--muted:#72756d;--cream:#f2eee6;--paper:#fbf9f5;--sage:#aeb7a1;--sage2:#697260;--line:#d9d5cc}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}.hidden{display:none!important}.shell{min-height:100vh;display:flex;flex-direction:column}
header{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2628201d;background:#f2eee6e8;backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:baseline;gap:14px}.brand b{font-family:'Playfair Display',serif;font-size:30px;letter-spacing:.12em}.brand span,.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:600}.outline{background:transparent;border:1px solid var(--ink);border-radius:999px;padding:10px 14px}
.login{min-height:calc(100vh - 145px);display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;padding:8vh 8vw}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500}h1{font-size:clamp(48px,6vw,88px);line-height:.97;margin:12px 0}h1 em{color:var(--sage2)}h2{font-size:38px;line-height:1.1;margin:10px 0}
.lead{max-width:620px;color:var(--muted);font-size:18px;line-height:1.65}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span,.filters button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:12px;background:#ffffff45}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:40px;box-shadow:0 18px 60px #25262112}.muted,.note{color:var(--muted);line-height:1.6}
.panel label{display:block;font-size:12px;font-weight:600;margin:26px 0 8px}.panel input{width:100%;padding:15px;border:1px solid var(--line);border-radius:12px}.panel button{width:100%;margin-top:12px;padding:16px;border:0;border-radius:12px;background:var(--ink);color:white;font-weight:600}
.small{font-size:11px;color:var(--muted);text-align:center}.status{font-size:13px}.library{padding:7vh 5vw}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:2vh 2vw 6vh}.hero h1{font-size:clamp(46px,5.3vw,76px)}.note{max-width:320px}
.filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 2vw 22px}.filters button{cursor:pointer}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 2vw}.card{min-height:310px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:25px;display:flex;flex-direction:column;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 14px 36px #25262110}
.num{font-family:'Playfair Display',serif;font-size:48px;color:var(--sage)}.cat{margin-top:auto;font-size:10px;letter-spacing:.18em;font-weight:600}.card h3{font-size:28px;line-height:1.05;margin:10px 0}.card p{color:var(--muted);font-size:13px;line-height:1.55}.card button{align-self:flex-start;border:0;border-radius:10px;background:var(--ink);color:white;padding:11px 14px;font-size:11px;font-weight:600;cursor:pointer}
.updates{margin:38px 2vw 0;background:var(--sage2);color:white;border-radius:22px;padding:32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.updates h3{font-size:30px;margin:0}.updates>span{border:1px solid #ffffff80;border-radius:999px;padding:10px 14px;font-size:10px;letter-spacing:.15em}
.blocked{min-height:calc(100vh - 145px);display:grid;place-items:center;padding:30px}.blocked .panel{max-width:600px;text-align:center}footer{margin-top:auto;border-top:1px solid #2628201d;padding:24px 5vw;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
@media(max-width:900px){.login{grid-template-columns:1fr;padding:6vh 6vw}.grid{grid-template-columns:repeat(2,1fr)}.hero{display:block}.note{margin-top:25px}}@media(max-width:620px){header{height:72px}.brand span{display:none}.login{padding:5vh 5vw}.panel{padding:28px 22px}.library{padding:4vh 3vw}.grid{grid-template-columns:1fr}.updates{align-items:flex-start;flex-direction:column}footer{flex-direction:column;gap:8px}}
