@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700;9..144,800&family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#f6f1e8;--bg-deep:#ebe4d9;--panel:#ffffffa8;--panel-strong:#fffaf3;--line:#3c2f2329;--line-strong:#3c2f2347;--text:#271b12;--muted:#705b48;--accent:#d6682f;--accent-2:#0f6c88;--chip:#f2e7d4;--shadow-soft:0 14px 34px #4e371e21;--shadow-strong:0 20px 44px #4a301933;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Space Grotesk,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(1000px 560px at -10% -20%,#0f6c8829,#0000 70%),radial-gradient(900px 540px at 120% 4%,#d6682f33,#0000 72%),linear-gradient(#f9f4ed 0%,#f1eadf 45%,#f7f2e9 100%);margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.page-shell{min-height:100vh}.hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff8c,#0000 70%);height:72%;position:absolute;inset:-40% -15% auto}.hero:after{content:"";pointer-events:none;background-image:linear-gradient(#271b120b 1px,#0000 1px),linear-gradient(90deg,#271b120b 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.hero-content{z-index:1;width:min(1160px,100% - 32px);margin:0 auto;padding:78px 0 56px;animation:.56s ease-out both rise-fade;position:relative}.eyebrow,.dialog-kicker{color:var(--accent-2);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem}h1{letter-spacing:-.035em;color:#1f130c;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(2.8rem,8.4vw,6.4rem);font-weight:800;line-height:.94}.prompt{color:var(--accent);text-shadow:0 0 20px #d6682f4d}.intro{color:#5b4636;max-width:720px;margin:24px 0 0;font-size:clamp(1rem,2vw,1.16rem);line-height:1.72}.status-line{color:var(--muted);align-items:center;gap:9px;margin-top:24px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.81rem;display:flex}.status-dot{background:var(--accent);border-radius:99px;width:8px;height:8px;box-shadow:0 0 12px #d6682f8c}.content{width:min(1160px,100% - 32px);margin:0 auto;padding:34px 0 56px}.mini-header{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-soft);will-change:opacity, transform;background:#f6f1e8e6;transition:opacity 80ms linear,transform 80ms linear;position:fixed;top:0;left:0;right:0}.mini-header-content{align-items:center;gap:20px;width:min(1160px,100% - 32px);margin:0 auto;padding:12px 0;display:flex}.mini-header-title{letter-spacing:-.02em;color:#1f130c;white-space:nowrap;flex:none;margin:0;font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:800}.mini-search-box{flex:auto;min-height:40px}@media (width<=600px){.mini-header-title{display:none}}.toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.search-box,.sort-box{border:1px solid var(--line);min-height:48px;color:var(--muted);background:#ffffff8f;border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex;box-shadow:inset 0 1px #ffffffe6}.search-box:focus-within,.sort-box:focus-within{border-color:#d6682f8c;box-shadow:0 0 0 3px #d6682f24}.search-box input,.sort-box select{width:100%;color:var(--text);background:0 0;border:0;outline:0}.search-box input::placeholder{color:#957c66}.sort-box select{cursor:pointer}.sort-box option{background:#fffdf9}.tag-strip{scrollbar-width:none;gap:8px;padding:18px 0 8px;display:flex;overflow-x:auto}.tag-strip::-webkit-scrollbar{display:none}.tag-button{border:1px solid var(--line);color:#6c5848;background:var(--chip);cursor:pointer;border-radius:999px;flex:none;padding:8px 12px;transition:transform .16s,border-color .16s,background .16s,color .16s}.tag-button:hover{color:#2a1e14;border-color:var(--line-strong);transform:translateY(-1px)}.tag-button.active{color:#fff9f0;background:linear-gradient(110deg,#c75b27,#e57c3b);border-color:#bb5121;font-weight:700;box-shadow:0 8px 22px #c75b2747}.results-meta{color:#7f6854;justify-content:space-between;padding:14px 2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;display:flex}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tile{text-align:left;border:1px solid var(--line);min-height:260px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);background:linear-gradient(#ffffffdb,#faf3e9d1);border-radius:22px;flex-direction:column;justify-content:space-between;gap:20px;padding:19px;transition:transform .18s,border-color .18s,box-shadow .18s;animation:.52s cubic-bezier(.2,.8,.2,1) both tile-enter;display:flex;position:relative;overflow:hidden}.tile:before{content:"";background-image:var(--tile-logo);opacity:0;filter:grayscale(.25)saturate(.9)contrast(.92);pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .18s;position:absolute;inset:0}.tile.has-logo:before{opacity:.16}.tile.has-logo:hover:before{opacity:.24}.tile>*{z-index:1;position:relative}.tile:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#fff9ee5c,#f4e8d9a6);position:absolute;inset:0}.tile:hover{box-shadow:var(--shadow-strong);border-color:#c75b276b;transform:translateY(-5px)}.tile-topline{justify-content:space-between;align-items:flex-start;display:flex}.external-mark{color:#8a725c}.icon-frame{background:#ffffffdb;border:1px solid #30221733;border-radius:16px;place-items:center;width:58px;height:58px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffe6}.icon-frame img{object-fit:contain;width:34px;height:34px}.tile .icon-frame{background:linear-gradient(#fffdf9,#f6ead7);border-color:#30221740;border-radius:19px;width:68px;height:68px;box-shadow:inset 0 1px #fff,0 10px 24px #482f1933}.tile .icon-frame img{width:42px;height:42px}.fallback-letter{color:var(--accent);font-size:1.2rem;font-weight:800;display:none}.icon-frame.icon-fallback .fallback-letter{display:block}.icon-frame.icon-white-bg{background:#fff;border-color:#1717174d}.tile-copy h2{letter-spacing:-.015em;margin:0;font-family:Fraunces,Georgia,serif;font-size:1.17rem}.tile-copy p{color:#6e5948;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:9px 0 0;font-size:.92rem;line-height:1.56;display:-webkit-box;overflow:hidden}.tile-tags,.dialog-tags{flex-wrap:wrap;gap:7px;display:flex}.tile-tags span,.dialog-tags span{color:#826e5d;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.empty-state{text-align:center;color:#7a624f;background:#ffffff8f;border:1px dashed #3d2e224d;border-radius:20px;padding:44px 20px}.empty-state span{color:var(--accent);font-family:IBM Plex Mono,ui-monospace,monospace}.empty-state button{cursor:pointer;color:#fff9f0;background:linear-gradient(110deg,#d6682f,#ea8648);border:0;border-radius:10px;padding:9px 12px;font-weight:700}footer{border-top:1px solid var(--line);color:#7b6552;justify-content:space-between;gap:18px;width:min(1160px,100% - 32px);margin:0 auto;padding:22px 0 36px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;display:flex}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1f150c57;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{background:linear-gradient(#fffaf3,#f5ebdd);border:1px solid #3e2d2133;border-radius:24px;width:min(520px,100%);padding:28px;position:relative;box-shadow:0 32px 90px #3925143b}.dialog-icon{width:70px;height:70px;margin-bottom:24px}.dialog-icon img{width:42px;height:42px}.dialog h2{letter-spacing:-.03em;margin:0;font-family:Fraunces,Georgia,serif;font-size:2rem}.dialog-description{color:#705b49;line-height:1.72}.dialog-tags{margin-top:20px}.close-button{border:1px solid var(--line);color:#7a614f;cursor:pointer;background:#ffffffbf;border-radius:11px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:16px;right:16px}.dialog-actions{gap:10px;margin-top:28px;display:flex}.launch-button,.secondary-button{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.launch-button{color:#fff9f0;background:linear-gradient(110deg,#c75b27,#df7839);border:0}.secondary-button{color:#5e4939;border:1px solid var(--line);background:0 0}.tile:nth-child(2n){animation-delay:40ms}.tile:nth-child(3n){animation-delay:80ms}.tile:nth-child(4n){animation-delay:.12s}@keyframes rise-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tile-enter{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=840px){.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.hero-content{padding:52px 0 38px}.content{padding-top:24px}.toolbar,.tile-grid{grid-template-columns:1fr}.tile{min-height:220px}.tile-copy p{-webkit-line-clamp:2}footer{flex-direction:column}.dialog{padding:24px}}@media (hover:hover) and (pointer:fine){.tile-copy p{opacity:0;max-height:0;margin-top:0;transition:max-height .18s,opacity .18s,margin .18s}.tile:hover .tile-copy p,.tile:focus-visible .tile-copy p{opacity:1;max-height:5em;margin-top:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
