:root{--ink:#1A1A1A;--paper:#EDEBE4;--surface:#F6F3E9;--bronze:#734F2F;--coffee:#2D2011;--muted:#665d54;--line:rgba(26,26,26,.14);--serif:"Fraunces",Georgia,serif;--sans:"Work Sans",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.top{min-height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.top img{width:124px}.top nav{display:flex;gap:18px;font-size:13px}.hero{padding:62px 0 30px}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);font-weight:600}.hero h1{font:300 clamp(48px,7vw,82px)/.95 var(--serif);letter-spacing:-.055em;margin:12px 0 18px}.hero p{font-size:18px;line-height:1.55;color:#51463B;max-width:820px}.stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.pill{border:1px solid var(--line);background:var(--surface);padding:9px 12px;font-size:12px}.toolbar{display:grid;grid-template-columns:1fr 220px 220px;gap:10px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.field{height:44px;border:1px solid var(--line);background:var(--surface);padding:0 12px;font:400 14px var(--sans);outline:none}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:24px 0 72px}.card{background:var(--surface);border:1px solid var(--line);padding:22px;min-height:310px;display:flex;flex-direction:column}.card:hover{border-color:var(--bronze);transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;gap:10px}.tag{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);font-weight:600}.score{font:400 23px var(--serif)}.card h2{font:300 30px/1.04 var(--serif);letter-spacing:-.035em;margin:25px 0 12px}.card p{font-size:14px;line-height:1.55;color:#51463B}.meta{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.badge{font-size:10px;padding:5px 7px;border:1px solid var(--line)}.detail{padding:42px 0 90px}.back{font-size:13px;color:var(--bronze)}.detail-head{display:grid;grid-template-columns:1fr 260px;gap:30px;padding:32px 0;border-bottom:1px solid var(--line)}.detail h1{font:300 clamp(42px,6vw,72px)/.96 var(--serif);letter-spacing:-.05em;margin:10px 0}.lead{font-size:18px;line-height:1.55;color:#51463B}.score-box{background:var(--coffee);color:var(--paper);padding:24px;align-self:start}.score-box b{display:block;font:300 54px var(--serif);margin:10px 0}.section{padding:34px 0;border-bottom:1px solid var(--line);max-width:900px}.section h2{font:300 34px var(--serif);letter-spacing:-.035em;margin:0 0 14px}.section h3{font:400 20px var(--serif);margin:22px 0 8px}.section p,.section li{font-size:16px;line-height:1.7}.prompt-box{white-space:pre-wrap;background:#fffdf8;border:1px solid var(--line);padding:22px;font-size:14px;line-height:1.55;overflow:auto}.kv{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line)}.kv>div{padding:12px 0;border-bottom:1px solid var(--line)}.kv b{font-size:12px}.source{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:12px 0}.gate{position:fixed;inset:0;background:rgba(23,23,23,.9);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}.locked .gate{display:flex}.locked #app{filter:blur(3px);pointer-events:none}.gate-card{width:min(540px,100%);background:var(--paper);padding:32px}.gate-card img{width:126px;margin-bottom:20px}.gate-card h2{font:300 34px var(--serif);margin:10px 0}.btn{display:inline-block;border:0;background:var(--bronze);color:white;padding:13px 18px;cursor:pointer}.gate-error{display:block;min-height:20px;margin-top:8px;font-size:12px;color:#8a3528}.empty{padding:40px;border:1px solid var(--line);background:var(--surface)}@media(max-width:850px){.toolbar{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.detail-head{grid-template-columns:1fr}}@media(max-width:600px){.wrap{width:min(100% - 24px,1180px)}.grid{grid-template-columns:1fr}.top nav{display:none}.kv{grid-template-columns:1fr}.card{min-height:260px}}