:root{--paper:#f6f1e7;--ink:#1f2430;--denim:#3b5b8c;--tomato:#d9553f;--aqua:#4aa3a2;--mustard:#d9a93b;--pink:#e7a1b8;--line:#d9d0bf}
*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 Inter,system-ui,sans-serif}
a{color:var(--denim)}.wrap{max-width:520px;margin:0 auto;padding:40px 16px 60px}
.hero{text-align:center}.hero img{width:128px;height:128px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 4px 18px rgba(0,0,0,.12)}
h1{font-family:"League Spartan",sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:30px;margin:16px 0 2px}
.script{font-family:Yellowtail,cursive;font-size:30px;color:var(--tomato);margin:0}.bio{margin:10px 0 26px;color:#4b5261}
.links{display:grid;gap:12px}.btn{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:14px 18px;text-decoration:none;color:var(--ink);font-weight:600;box-shadow:4px 4px 0 var(--ink);transition:transform .08s}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.btn .dot{width:12px;height:12px;border-radius:50%;flex:none}
.btn small{margin-left:auto;font-weight:400;color:#6b7280}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:20px}.card{background:#fff;border:2px solid var(--ink);border-radius:12px;overflow:hidden;box-shadow:4px 4px 0 var(--ink);text-decoration:none;color:var(--ink)}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:#eee}.card p{margin:0;padding:8px 10px;font-size:14px;font-weight:600}
.piece img{width:100%;border:2px solid var(--ink);border-radius:12px;box-shadow:4px 4px 0 var(--ink)}
.pin{display:inline-flex;align-items:center;gap:8px;background:#e60023;color:#fff;border-radius:999px;padding:10px 18px;font-weight:700;text-decoration:none;margin-top:14px}
footer{margin-top:40px;text-align:center;font-size:13px;color:#8a8f9c}nav{font-size:14px;margin-bottom:18px}
@media(prefers-color-scheme:dark){:root{--paper:#1b1d24;--ink:#f1ede4;--line:#3a3f4c}body{color:var(--ink)}.btn,.card{background:#262932;color:var(--ink)}.bio{color:#b9bcc6}}
