:root{--paper:#f4efe6;--paper-2:#ede6d9;--surface:#fbf8f2;--ink:#211d17;--ink-soft:#6a6255;--ink-faint:#9a9385;--line:#e0d8c8;--line-soft:#ece5d7;--c1:#b11248;--c2:#f60;--c3:#ffa100;--accent:#e2571a;--accent-ink:#fff;--accent-wash:#fbeede;--radius:14px;--shadow-sm:0 1px 2px #211d170d;--shadow:0 2px 6px #211d170d, 0 18px 40px -18px #211d1738;--font-display:"Playfair Display", Georgia, "Times New Roman", serif;--font-body:"Golos Text", ui-sans-serif, system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-color:var(--paper);background-image:radial-gradient(120% 80% at 50% -20%,#ffa10029,#ff66000f 34%,#b1124808 55%,#0000 72%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");background-attachment:fixed;min-height:100vh;line-height:1.55}.page{max-width:720px;margin:0 auto;padding:0 22px 96px}.page--landing{flex-direction:column;min-height:100vh;display:flex}.page--landing .hero{flex-direction:column;flex:auto;justify-content:center;align-items:center;padding-bottom:0;animation:.6s cubic-bezier(.16,1,.3,1) both rise;display:flex}.page--landing .searchbar{width:100%}.page--results{animation:none}.page--results .hero{padding-top:40px}.hero{text-align:center;padding:8px 0 12px}.hero__logo{color:var(--ink);margin-bottom:26px;transition:transform .3s;display:inline-flex}.hero__logo:hover{transform:translateY(-2px)}.hero__kicker{letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin:0 0 26px;font-size:12px;font-weight:600}.hero__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 30px;font-size:clamp(34px,6vw,56px);font-style:italic;font-weight:600;line-height:1.04}.page--results .hero__title{margin-bottom:22px;font-size:clamp(26px,4vw,34px)}.page--results .hero__kicker{font-size:11px}.searchbar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:7px 7px 7px 20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.searchbar:focus-within{box-shadow:0 0 0 2px var(--accent), var(--shadow);border-color:#0000}.searchbar__icon{color:var(--ink-faint);flex:none}.searchbar__input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:10px 4px;font-family:inherit;font-size:17px}.searchbar__input::placeholder{color:var(--ink-faint)}.searchbar__btn{color:var(--accent-ink);cursor:pointer;background:linear-gradient(135deg, var(--c1), var(--c2) 62%, var(--c3));background-position:0%;background-size:140% 140%;border:none;border-radius:999px;flex:none;padding:12px 26px;font-family:inherit;font-size:15px;font-weight:600;transition:background-position .4s,filter .2s,opacity .2s}.searchbar__btn:hover{background-position:100%}.searchbar__btn:disabled{opacity:.55;cursor:default}.results{flex-direction:column;gap:4px;margin-top:34px;display:flex}.results__meta{font-family:var(--font-body);color:var(--ink-soft);letter-spacing:.02em;border-bottom:1px solid var(--line);margin-bottom:8px;padding:0 2px 18px;font-size:13px}.results__meta strong{color:var(--ink);font-weight:700}.results__query{font-family:var(--font-display);color:var(--accent);font-style:italic}.notice{text-align:center;color:var(--ink-soft);font-size:15px;font-family:var(--font-display);padding:56px 0;font-style:italic}.notice--error{font-family:var(--font-body);color:#9b2c2c;border-radius:var(--radius);background:#fbeceb;border:1px solid #f1cfcb;padding:16px;font-style:normal}.card{border-bottom:1px solid var(--line-soft);gap:20px;padding:26px 8px 24px 40px;animation:.5s cubic-bezier(.16,1,.3,1) both rise;display:flex;position:relative}.card__index{font-family:var(--font-display);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;position:absolute;top:28px;left:0}.card__cover{background:var(--paper-2);width:92px;height:128px;box-shadow:var(--shadow-sm), 0 10px 22px -12px #211d1766;border-radius:6px;flex:none;transition:transform .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.card:hover .card__cover{transform:translateY(-3px)rotate(-1deg)}.card__cover img{object-fit:cover;width:100%;height:100%;display:block}.card__cover--empty{width:100%;height:100%;font-family:var(--font-display);color:var(--accent);place-items:center;font-style:italic;font-weight:600;display:grid}.card__body{flex-direction:column;flex:1;min-width:0;display:flex}.card__title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 10px;font-size:21px;font-weight:600;line-height:1.25}.card__title-link{color:var(--ink);background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;text-decoration:none;transition:background-size .3s,color .2s}.card__title-link:hover{color:var(--accent);background-size:100% 1.5px}.card__meta{letter-spacing:.02em;color:var(--ink-soft);flex-wrap:wrap;gap:4px 18px;margin-bottom:12px;font-size:12px;display:flex}.card__label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:600}.card__summary{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 16px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.card__actions{gap:10px;margin-top:auto;display:flex}.btn{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:9px 16px;font-size:12.5px;font-weight:600;text-decoration:none;transition:filter .2s,background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{color:var(--accent-ink);background:linear-gradient(135deg, var(--c1), var(--c2) 62%, var(--c3))}.btn--primary:hover{filter:brightness(1.06)saturate(1.05)}.btn--ghost{color:var(--ink-soft);border-color:var(--line);background:0 0}.btn--ghost:hover{color:var(--ink);border-color:var(--accent);background:var(--accent-wash)}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:34px 0 8px;display:flex}.pagination__btn{border:1px solid var(--line);background:var(--surface);min-width:40px;height:40px;color:var(--ink);font-size:14px;font-weight:600;font-family:var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;padding:0 10px;transition:border-color .2s,background .2s,color .2s}.pagination__btn:hover:not(:disabled):not(.is-active){border-color:var(--accent);color:var(--accent)}.pagination__btn.is-active{color:var(--accent-ink);background:linear-gradient(135deg, var(--c1), var(--c2) 62%, var(--c3));cursor:default;border-color:#0000}.pagination__btn:disabled{opacity:.35;cursor:default}.pagination__gap{color:var(--ink-faint);-webkit-user-select:none;user-select:none;padding:0 2px}.footer{text-align:center;letter-spacing:.04em;color:var(--ink-faint);padding:40px 0 8px;font-size:12.5px}.page--landing .footer{padding-bottom:28px}.footer p{margin:0}.footer a{color:var(--ink-soft);border-bottom:1px solid #0000;font-weight:600;text-decoration:none;transition:color .2s,border-color .2s}.footer a:hover{color:var(--accent);border-color:var(--accent)}.footer__heart{background:linear-gradient(135deg, var(--c1), var(--c2) 62%, var(--c3));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:13px}.card--skeleton{animation:none}.skeleton{background:linear-gradient(90deg,#e7dfd0 25%,#f0e9db 37%,#e7dfd0 63%) 0 0/400% 100%;border-radius:6px;animation:1.4s infinite shimmer}.card--skeleton .card__cover{box-shadow:none;background:0 0}.skeleton--line{height:13px;margin-bottom:11px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.card{gap:16px;padding-left:30px}.card__cover{width:74px;height:104px}.searchbar__btn{padding:12px 18px}}
