:root{--bg: #000;--fg: #f7f2f5;--muted: #9a8f96;--pink: #ffb6d5;--pink-deep: #ff7fb3;--line: rgba(255, 182, 213, .14);--glass: rgba(8, 6, 8, .62);--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Geist", system-ui, -apple-system, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg)}body{font-family:var(--mono);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::selection{background:var(--pink);color:#000}.ascii-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:block}.ascii-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 50% 45%,#000000b8,#00000040 70%,#0000008c),linear-gradient(to bottom,rgba(0,0,0,.5),transparent 18%,transparent 80%,rgba(0,0,0,.6))}.nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(16px,4vw,40px)}.wordmark{font-weight:600;font-size:15px;letter-spacing:-.02em}.wordmark span{color:var(--pink)}.wordmark .dot{font-weight:800;background:linear-gradient(90deg,#ffb6d5,#cdb4ff,#aae1ff,#b4f5d7,#ffd7b4,#ffb6d5);background-size:400% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:dot-shift 4s linear infinite}@keyframes dot-shift{to{background-position:400% 0}}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--muted);transition:color .2s,background .2s}.icon-btn:hover{color:var(--pink);background:#ffb6d514}main{position:relative;z-index:2;max-width:920px;margin:0 auto;padding:120px 16px}.hero{text-align:center;margin:8vh 0 56px}.hero h1{font-family:var(--mono);font-size:clamp(48px,11vw,112px);font-weight:500;letter-spacing:-.06em;line-height:1;margin:0;text-shadow:0 0 40px rgba(255,182,213,.18);animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.hero h1 span{color:var(--pink)}.cursor{display:inline-block;width:.5em;height:.82em;margin-left:.08em;vertical-align:-.04em;background:var(--pink);box-shadow:0 0 24px #ffb6d580;animation:blink 1.1s steps(1,end) infinite}@keyframes blink{50%{opacity:0}}.hl{background:#000000d1;padding:2px 7px;border-radius:5px;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:0 0 0 1px #ffffff0d}.hl-pink{background:#1c0812e0;box-shadow:0 0 0 1px #ffb6d52e}.hero .saying{margin:20px 0 0;min-height:1.9em;color:#e6dbe1;font-size:14px;letter-spacing:.02em;animation:rise .9s .12s cubic-bezier(.2,.7,.2,1) both}.tabs{display:flex;gap:4px;justify-content:center;margin-bottom:28px;animation:rise .9s .2s cubic-bezier(.2,.7,.2,1) both}.tabs button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;color:var(--muted);border:1px solid transparent;transition:all .2s}.tabs button em{font-style:normal;font-size:11px;opacity:.6}.tabs button:hover{color:var(--fg)}.tabs button{background:#000000b3}.tabs button.on{color:var(--pink);border-color:var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.card{position:relative;display:flex;gap:16px;align-items:center;padding:18px;border-radius:20px;background:var(--glass);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;animation:rise .8s calc(.28s + var(--i) * .07s) cubic-bezier(.2,.7,.2,1) both}.card:hover{transform:translateY(-3px);border-color:#ffb6d559;box-shadow:0 10px 40px -10px #ff7fb34d}.card:hover .app-icon{transform:scale(1.06) rotate(-3deg)}.card:hover .card-arrow{color:var(--pink);transform:translate(2px,-2px)}.card-text{min-width:0;flex:1}.card h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.02em}.card p{margin:6px 0 10px;color:#cfc3ca;line-height:1.7!important;font-size:12.5px;line-height:1.4}.card-arrow{position:absolute;top:16px;right:16px;color:#4a4248;transition:all .25s}.chips,.meta-row{display:flex;flex-wrap:wrap;gap:6px}.chips span,.meta-row span{font-size:11px;padding:3px 8px;border-radius:6px;color:#d8ccd3;background:#000c;border:1px solid rgba(255,255,255,.09)}.app-icon{width:64px;height:64px;border-radius:22%;flex-shrink:0;object-fit:cover;box-shadow:0 6px 24px #0009,0 0 0 1px #ffffff14;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.app-icon.xl{width:104px;height:104px}.app-icon.sm{width:24px;height:24px;border-radius:7px;box-shadow:none}.empty{display:grid;place-items:center;gap:10px;padding:64px 0;color:var(--muted);animation:rise .6s both}.empty p{margin:0;font-size:13px}.project{max-width:640px;margin:0 auto}.back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#d8ccd3;padding:6px 12px 6px 10px;border-radius:999px;background:#000000d1;border:1px solid rgba(255,255,255,.07);margin-bottom:40px;transition:color .2s,gap .2s}.back:hover{color:var(--pink);gap:10px;border-color:#ffb6d54d}.project-head{display:flex;gap:24px;align-items:center;animation:rise .8s cubic-bezier(.2,.7,.2,1) both}.project-head h1{margin:0;font-size:clamp(40px,8vw,64px);font-weight:500;letter-spacing:-.05em;line-height:1}.project-head p{margin:12px 0 0;line-height:1.8;color:var(--pink);font-size:14px}.meta{display:grid;gap:10px;margin:36px 0 28px;animation:rise .8s .1s cubic-bezier(.2,.7,.2,1) both}.meta-row{align-items:center}.meta-row svg{color:var(--muted);margin-right:4px}.features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.features li{display:flex;align-items:center;gap:12px;padding:16px;border-radius:16px;font-size:13px;background:var(--glass);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .25s,transform .25s;animation:rise .7s calc(.18s + var(--i) * .05s) cubic-bezier(.2,.7,.2,1) both}.features li svg{color:var(--pink);flex-shrink:0}.features li:hover{border-color:var(--line);transform:translateY(-2px)}.pair{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:10px 16px 10px 14px;border-radius:999px;font-size:13px;color:var(--muted);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .2s,color .2s;animation:rise .8s .5s cubic-bezier(.2,.7,.2,1) both}.pair strong{color:var(--fg);font-weight:500}.pair:hover{border-color:#ffb6d580;color:var(--pink)}.bg-switch{position:fixed;z-index:10;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:2px;padding:4px;border-radius:999px;background:#0a080ab3;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.bg-switch button{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;color:#6f656b;transition:color .2s,background .2s}.bg-switch button:hover{color:var(--fg)}.bg-switch button.on{color:#000;background:var(--pink)}.bg-switch button:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);white-space:nowrap;pointer-events:none;font-size:11px;padding:4px 8px;border-radius:6px;background:#111;color:var(--fg);border:1px solid rgba(255,255,255,.08);opacity:0;transition:opacity .15s,transform .15s}.bg-switch button:hover:after{opacity:1;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 520px){main{padding-top:96px}.project-head{gap:16px}.app-icon.xl{width:80px;height:80px}.features{grid-template-columns:1fr 1fr;gap:8px}.features li{flex-direction:column;align-items:flex-start;gap:10px;padding:14px;font-size:12px}}
