@font-face{font-family:Poppins;font-weight:500;src:url(/assets/fonts/Poppins-Medium.ttf)}
@font-face{font-family:Poppins;font-weight:600;src:url(/assets/fonts/Poppins-SemiBold.ttf)}
@font-face{font-family:Inter;font-weight:100 900;src:url(/assets/fonts/Inter.ttf)}
:root{--gold:#d9b25f;--bg:#0b0b0b}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:#fff;font-family:Inter,system-ui,sans-serif;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
main{max-width:440px;margin:0 auto;padding:18px 22px 22px;min-height:100vh;display:flex;flex-direction:column;align-items:center;text-align:center}
.brand{display:flex;align-items:center;gap:14px;margin-top:6px}
.brand img{width:62px;height:auto}
.brand .wm{font:600 17px Poppins;letter-spacing:5px}
.kick{font:500 11px Poppins;letter-spacing:2.2px;color:#8a8a8a;text-transform:uppercase;margin-top:20px}
.sub{font:500 11px Poppins;letter-spacing:1.6px;color:#6f6f6f;text-transform:uppercase;margin-top:6px}
.art{margin:18px 0 6px;width:176px;height:176px;border-radius:50%;border:1.5px solid #1f1f1f;display:flex;align-items:center;justify-content:center}
.art span{font-size:76px;line-height:1}
.art svg{width:176px;height:184px}
.msg{font:600 23px/1.32 Poppins;margin-top:12px;max-width:360px}
.pills{display:flex;gap:10px;margin:20px 0 18px}
.pill{height:42px;border:1px solid #444;border-radius:999px;display:flex;align-items:center;gap:8px;padding:0 18px;font:600 14px Poppins;color:#eee;background:none;cursor:pointer}
.pill.on svg path{fill:#e5484d;stroke:#e5484d}
.btns{width:100%;display:flex;flex-direction:column;gap:12px}
.btn{height:60px;width:100%;border:1.5px solid #fff;border-radius:14px;display:flex;align-items:center;justify-content:center;font:600 17px Poppins;color:#fff;background:none;cursor:pointer}
.btn:active{background:#1a1a1a}
.nav{width:100%;text-align:left;margin-top:14px}
.back{font:500 14px Poppins;color:#bbb;background:none;border:0;cursor:pointer}
.title{font:600 23px Poppins;margin-top:14px}
.list{width:100%;margin:16px 0 18px;text-align:left}
.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #1f1f1f}
.row:last-child{border-bottom:1px solid #1f1f1f}
.d{width:50px;flex:none;font:500 10px/1.35 Poppins;color:#777;letter-spacing:.8px;text-transform:uppercase}
.d b{display:block;font:600 12px Poppins;color:#ddd;letter-spacing:1.4px}
.em{font-size:22px;width:30px;flex:none;text-align:center}
.t{font:500 14px/1.35 Inter;color:#eee}
.foot{font:400 11px/1.45 Inter;color:#6a6a6a;margin-top:22px}
.foot u{color:#9a9a9a;text-underline-offset:2px}
.foot p{margin-top:8px}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:#222;border:1px solid #444;padding:10px 18px;border-radius:999px;font:500 13px Poppins;opacity:0;transition:.25s;pointer-events:none}
.toast.show{opacity:1}
[hidden]{display:none!important}

.btnsub{margin:-6px 0 10px;text-align:center;font-size:12px;opacity:.6;letter-spacing:.02em}


.shirtpg .kick{font-size:15px;font-weight:700;color:#f5f5f5;opacity:1;letter-spacing:.14em}
.shirtpg .sub{font-size:14px;font-weight:600;color:#e6e6e6;opacity:1;letter-spacing:.08em}

.reacts{display:flex;gap:8px}
.pill.r{padding:0 13px;font-size:19px;transition:transform .15s}
.pill.r.on{border-color:var(--gold);background:#1c1810}
.pill.r.pop{animation:pop .3s}
@keyframes pop{50%{transform:scale(1.2)}}
.sendcard{background:none;border:0;color:var(--gold);font:600 14px Poppins;margin:-6px 0 16px;cursor:pointer}
.suggest{width:100%;max-width:400px;margin:22px auto 4px;text-align:left}
.suggest label{display:block;font:600 13px Poppins;color:#bbb;margin-bottom:6px;letter-spacing:.04em}
.suggest textarea,.suggest input{width:100%;box-sizing:border-box;background:#141414;border:1px solid #2a2a2a;border-radius:10px;color:#eee;font:14px Inter,sans-serif;padding:9px 10px}
.suggest textarea{resize:vertical}
.suggest .srow{display:flex;gap:8px;margin-top:8px}
.suggest .srow button{background:none;border:1px solid #666;border-radius:10px;color:#eee;font:600 14px Poppins;padding:0 16px;cursor:pointer}
.suggest .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.smsg{font-size:12px;color:#999;margin-top:6px;min-height:1em}
#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
@media (prefers-reduced-motion: reduce){#fx{display:none}}

.product{display:flex;align-items:center;gap:16px;width:100%;box-sizing:border-box;margin:4px 0 14px;padding:12px;border:1.5px solid #fff;border-radius:14px;background:#000;color:#fff;text-decoration:none}
.product img{width:130px;height:130px;object-fit:cover;border-radius:10px;border:1px solid #333;background:#161616;flex:none}
.product .pname{display:flex;flex-direction:column;font:600 17px/1.25 Poppins;text-align:left}
.product small{font:500 13px Poppins;color:#cfcfcf;margin-top:6px}
.product:not(:has(img)){justify-content:center;height:60px;padding:0 14px}
.product:not(:has(img)) .pname{flex-direction:row;align-items:baseline;gap:10px}
.product:not(:has(img)) small{margin-top:0}

/* long-title fixes (2026-10-15): keep the arrow with "See this shirt", balance the name/date heading so the date stays together */
.product small{white-space:nowrap;flex:none}
.product .pname{min-width:0}
.shirtpg .sub{text-wrap:balance}
@media (max-width:350px){.brand .wm{letter-spacing:3px;font-size:15px}.brand{gap:10px}}

.landing .blurb{max-width:330px;margin:16px auto 22px;font:400 15px/1.55 Inter;color:#cfcfcf}
.landing .btns{margin-top:2px}


/* ---- shirt pages: one phone screen, no scrolling (2026-10-17). Sizes scale with viewport height; floor values fit 375x667. ---- */
.onescreen main{min-height:100vh;min-height:100dvh;padding:10px 20px calc(10px + env(safe-area-inset-bottom))}
.onescreen .brand{margin-top:2px;gap:12px}
.onescreen .brand img{width:clamp(46px,6.2vh,58px)}
.onescreen .brand .wm{font-size:15px;letter-spacing:4px}
.onescreen .kick{margin-top:clamp(10px,2.2vh,20px);font-size:13px}
.onescreen .sub{margin-top:4px;font-size:12.5px;letter-spacing:.07em;line-height:1.35}
.onescreen .art{margin:clamp(10px,2.2vh,20px) 0 0;width:clamp(104px,19vh,164px);height:clamp(104px,19vh,164px)}
.onescreen .art span{font-size:clamp(46px,8.2vh,70px)}
.onescreen .art svg{width:auto;height:clamp(104px,19vh,164px)}
.onescreen .msg{font-size:clamp(19px,2.6vh,22px);line-height:1.28;margin-top:clamp(10px,2vh,18px)}
.onescreen .pills{margin:clamp(12px,2.2vh,22px) 0 clamp(6px,1.2vh,12px)}
.onescreen .pill{height:38px}
.onescreen .sendcard{margin:0 0 clamp(10px,2.2vh,22px);font-size:13.5px}
.onescreen .btns{gap:clamp(8px,1.3vh,12px)}
.onescreen .btn{height:clamp(46px,6vh,56px);font-size:16px}
.onescreen .btnsub{margin:-4px 0 2px;font-size:11.5px}
.onescreen .foot{margin-top:auto;padding-top:12px;font-size:10.5px;line-height:1.4}
.onescreen .foot p{margin-top:4px}
.fbbtn{align-self:center;height:32px;padding:0 16px;margin-top:2px;border:1px solid #444;border-radius:999px;background:none;color:#bdbdbd;font:500 12.5px Poppins;cursor:pointer}
.fbbtn:active{background:#1a1a1a}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* Past Moods: compact so 7 rows fit */
.onescreen #v-past .nav{margin-top:4px}
.onescreen .title{font-size:20px;margin-top:6px}
.onescreen #v-past .sub{margin-top:2px}
.onescreen .list{margin:8px 0 10px}
.onescreen .row{padding:clamp(6px,1.25vh,11px) 0;gap:10px}
.onescreen .d{width:44px;font-size:9px}
.onescreen .d b{font-size:11px}
.onescreen .em{font-size:18px;width:26px}
.onescreen .t{font-size:clamp(13px,1.7vh,14.5px);line-height:1.3}
/* Feedback view */
.fbq{font:500 14px/1.4 Inter;color:#cfcfcf;margin:6px 0 10px}
.opts{display:flex;flex-direction:column;gap:7px;text-align:left}
.opt{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #2a2a2a;border-radius:10px;background:#101010;font:500 14px Inter;color:#eee;cursor:pointer}
.opt input{accent-color:#d9b25f;width:17px;height:17px;flex:none}
.opt:has(input:checked){border-color:var(--gold);background:#1c1810}
#fbwrite,#fbmsg,#fbemail{width:100%;background:#141414;border:1px solid #2a2a2a;border-radius:10px;color:#eee;font:14px Inter,sans-serif;padding:9px 10px}
#fbwrite{margin-top:0}
#fbmsg{resize:none;display:block}
#fbemail{margin-top:7px;display:block}
.fblab{display:block;text-align:left;font:600 13px Poppins;color:#bbb;letter-spacing:.04em;margin:14px 0 6px}
.fbsend{margin-top:12px}
.fbmsg{font-size:12px;color:#aaa;margin-top:8px;min-height:1.2em}
.fbthanks{margin:60px 0 20px;font:600 20px/1.4 Poppins;color:#fff}
#v-fb .back{padding:4px 0}
@media (max-height:700px){.onescreen .foot p{display:none}.onescreen .art{width:96px;height:96px}.onescreen .art svg{height:96px}.onescreen .art span{font-size:44px}.onescreen .foot{padding-top:6px}}

/* ---- footer link row (all pages) + info pages (About, FAQ, Contact, Privacy) + landing compaction (2026-10-17) ---- */
.fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 2px;font:500 11.5px/1 Inter}
.fnav a{color:#b5b5b5;padding:7px 6px;text-underline-offset:2px}
.fnav a:hover,.fnav a:focus-visible{color:#fff;text-decoration:underline}
.fnav a+a::before{content:"·";color:#555;margin-right:8px;margin-left:-4px}
.fline{margin-top:2px}
.onescreen .fnav{font-size:11px}
.onescreen .fnav a{padding:5px 5px}
.info main{padding-bottom:26px}
.info .btns.top{margin-top:16px}
.info .btns.bottom{margin-top:26px}
.doc{width:100%;text-align:left;margin-top:22px;font:400 15px/1.6 Inter;color:#cfcfcf}
.doc h1{font:600 24px/1.25 Poppins;color:#fff;margin-bottom:12px}
.doc h2{font:600 13px Poppins;letter-spacing:2.4px;text-transform:uppercase;color:#8a8a8a;margin:28px 0 10px}
.doc p{margin-top:10px}
.doc .lead{font:500 17px/1.5 Inter;color:#f2f2f2}
.doc .note{font-size:13.5px;color:#9a9a9a}
.doc a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.doc b{color:#f2f2f2;font-weight:600}
.doc ol,.doc ul{list-style:none}
.doc .steps li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #1f1f1f}
.doc .steps li:last-child{border-bottom:1px solid #1f1f1f}
.doc .steps .n{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;font:600 13px Poppins;margin-top:1px}
.doc .tips li{padding:10px 0 10px 14px;border-left:2px solid #2a2a2a;margin-top:10px}
.doc .links{line-height:2}
.faq details{border-top:1px solid #1f1f1f}
.faq details:last-child{border-bottom:1px solid #1f1f1f}
.faq summary{list-style:none;cursor:pointer;min-height:48px;padding:12px 32px 12px 2px;position:relative;font:600 15px/1.4 Poppins;color:#f2f2f2;display:flex;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:500 22px Poppins;color:var(--gold)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 14px;padding-right:6px}
.doc form{margin-top:6px}
.doc #cmsg,.doc #cemail{width:100%;background:#141414;border:1px solid #2a2a2a;border-radius:10px;color:#eee;font:16px Inter,sans-serif;padding:10px 12px;display:block}
.doc #cemail{min-height:48px}
.doc #cmsg{resize:vertical;min-height:120px}
.doc .fbsend{margin-top:14px;color:#fff;text-decoration:none}
.doc .fbthanks{text-align:center;margin:50px 0 20px}
.doc .fbmsg{text-align:left}
.doc .fblab{margin-top:16px}
/* landing page: fit one screen on short phones (verified 360x640, 375x667, 390x844, 430x932) */
@media (max-height:780px){
 .landing main{padding-top:10px;padding-bottom:12px}
 .landing .brand img{width:50px}.landing .brand .wm{font-size:15px;letter-spacing:4px}
 .landing .kick{margin-top:12px}
 .landing .art{margin:10px 0 0;width:120px;height:120px}.landing .art span{font-size:52px}
 .landing .msg{font-size:21px;margin-top:10px}
 .landing .blurb{margin:10px auto 14px;font-size:14px;line-height:1.5}
 .landing .foot{margin-top:auto;padding-top:10px}
}
@media (max-height:680px){.landing .blurb{font-size:13.5px;line-height:1.45;margin:8px auto 10px}.landing .art{width:96px;height:96px}.landing .art span{font-size:42px}.landing .foot p{display:none}}
@media (max-height:700px){.onescreen .fnav a{padding:3px 5px}.onescreen .fline{margin-top:0}}
