:root{--bg: #0c0c0c;--fg: #f4f1ea;--muted: #7a7670;--line: rgba(244, 241, 234, .14);--panel: #141414;--accent: #f4f1ea;--font: "Space Grotesk", system-ui, sans-serif;--display: "Archivo Black", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit;text-decoration:none}.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(12rem,36rem) 1fr auto;gap:1.25rem 1.75rem;align-items:center;padding:1.15rem clamp(1rem,3vw,2rem);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top-actions{justify-self:end}.btn-upload{position:relative;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--fg);padding:.55rem .95rem;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.btn-upload:hover{border-color:var(--fg)}.btn-upload.is-signed-in{border-color:#f4f1ea59}.btn-upload-dot{position:absolute;top:.35rem;right:.35rem;width:.4rem;height:.4rem;border-radius:50%;background:#9ec8a0}.brand{font-family:var(--display);font-size:clamp(1.1rem,2.5vw,1.45rem);letter-spacing:-.03em;line-height:1}.search{display:flex;min-width:0;width:100%}.search input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--fg);padding:.85rem 0;font-size:1.15rem;outline:none}@media (max-width: 640px){.top{grid-template-columns:1fr auto;gap:.85rem}.top .search{grid-column:1 / -1}}.search input:focus{border-bottom-color:var(--fg)}.search input::placeholder{color:var(--muted)}.catalog{flex:1;padding:clamp(1rem,3vw,2rem)}.explore{margin:0 0 1.5rem;max-width:52rem}.explore-title{margin:0 0 .45rem;font-family:var(--display);font-size:clamp(1.35rem,3.2vw,2rem);letter-spacing:-.03em;line-height:1.1}.explore-lead{margin:0 0 1rem;color:var(--muted);font-size:.95rem;line-height:1.45;max-width:36rem}.explore-cats{display:flex;flex-wrap:wrap;gap:.45rem .55rem}.explore-cat{display:inline-block;padding:.35rem .7rem;border:1px solid var(--line);color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease}.explore-cat:hover,.explore-cat.is-active{color:var(--fg);border-color:#f4f1ea66;background:#f4f1ea0f}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:.85rem}.shirt{margin:0;padding:0;border:1px solid var(--line);color:inherit;text-decoration:none;display:block;background:linear-gradient(45deg,#2a2a2a 25%,transparent 25%),linear-gradient(-45deg,#2a2a2a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a2a 75%),linear-gradient(-45deg,transparent 75%,#2a2a2a 75%),#1a1a1a;background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;aspect-ratio:1;overflow:hidden;cursor:pointer}.shirt img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .35s ease}.shirt:hover img{transform:scale(1.03)}.shirt.is-active{outline:1px solid var(--fg);outline-offset:2px}.shirt.is-fresh-hour{border-color:#39ff14;border-width:2px}.shirt.is-fresh-days{border-color:#00e5ff;border-width:2px}.shirt.is-broken{opacity:.35;pointer-events:none}.shirt-incoming{cursor:default;pointer-events:none;border-style:dashed;border-color:#f4f1ea38;background:linear-gradient(120deg,#121212,#1c1c1c,#121212 90%);background-size:220% 100%;animation:shimmer 2.4s ease-in-out infinite;display:grid;place-items:center;opacity:0;animation-name:shimmer,fadeInOut;animation-duration:2.4s,2.8s;animation-timing-function:ease-in-out,ease-in-out;animation-iteration-count:infinite,infinite}.incoming-pulse{width:1.75rem;height:1.75rem;border-radius:50%;border:2px solid rgba(244,241,234,.35);border-top-color:var(--fg);animation:spin 1.1s linear infinite}.focus{position:relative;display:grid;gap:1.25rem;padding:clamp(1rem,3vw,2rem);border-bottom:1px solid var(--line);grid-template-columns:1fr;animation:riseIn .45s cubic-bezier(.22,1,.36,1) both}@media (min-width: 720px){.focus{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start}}.focus-close{position:absolute;top:.65rem;right:.65rem;z-index:2;width:2.5rem;height:2.5rem;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--fg);font-size:1.65rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}.focus-close:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.focus-art{aspect-ratio:1;background:var(--panel);border:1px solid var(--line);overflow:hidden}.focus-art img{width:100%;height:100%;object-fit:cover;display:block}.focus-mockup{aspect-ratio:1 / 1;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;transition:background-color .35s ease}.focus-mockup.is-black{background:#2a2a2a}.focus-mockup.is-white{background:#e8e4dc}.tee-stage{position:relative;width:100%;height:100%;max-width:28rem;margin:0 auto;transform:scale(1.34);transform-origin:50% 22%}.tee-photo{width:100%;height:100%;object-fit:contain;object-position:center 18%;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}@media (max-width: 640px){.tee-stage{transform:scale(1.22);transform-origin:50% 20%}}.tee-print-slot{position:absolute;left:33.53%;top:17.67%;width:33.67%;height:44.87%;display:flex;align-items:flex-start;justify-content:center;pointer-events:none;z-index:1}.tee-print{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center top;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));opacity:.97}.focus-mockup.is-black .tee-print{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35)) contrast(1.03);opacity:1}.focus-mockup.is-white .tee-print{filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));opacity:.98}.linkish{margin-top:.55rem;padding:0;border:none;background:none;color:var(--muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.linkish:hover{color:var(--fg)}.size-guide{margin-top:.75rem;border:1px solid var(--line);padding:.75rem;background:var(--panel)}.size-guide table{width:100%;border-collapse:collapse;font-size:.82rem}.size-guide th,.size-guide td{text-align:left;padding:.35rem .25rem;border-bottom:1px solid var(--line)}.size-guide tr.is-current td{color:var(--fg);font-weight:600}.size-guide .hint{margin:.65rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}.trust-list{list-style:none;margin:1.25rem 0 0;padding:0;color:var(--muted);font-size:.85rem;line-height:1.55}.trust-list li{padding-left:.9rem;position:relative}.trust-list li:before{content:"";position:absolute;left:0;top:.55em;width:.35rem;height:.35rem;background:var(--muted);border-radius:50%}.buy-sub{margin:.55rem 0 0;text-align:center;color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:baseline;padding:1.25rem clamp(1rem,3vw,2rem) 1.75rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.foot-contact{color:var(--muted);text-decoration:none;margin-left:auto}.foot-contact:hover{color:var(--fg)}.foot-seo{display:flex;flex-wrap:wrap;gap:.5rem 1rem;width:100%;margin-top:.35rem}.foot-seo a{color:var(--muted);text-decoration:none}.foot-seo a:hover{color:var(--fg)}.legal{width:min(42rem,100%);margin:0 auto;padding:1.5rem clamp(1rem,3vw,2rem) 3rem;text-transform:none;letter-spacing:normal}.legal-head h1{font-family:var(--display);font-size:clamp(1.75rem,4vw,2.4rem);margin:0 0 .75rem;letter-spacing:.02em}.legal-lead{margin:0 0 1.25rem;color:var(--muted);line-height:1.5}.legal-lead a{color:var(--fg);text-decoration:underline;text-underline-offset:.15em}.legal-toc{display:flex;flex-wrap:wrap;gap:.65rem 1.15rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.legal-toc a{color:var(--muted)}.legal-toc a:hover{color:var(--fg)}.legal-block{padding:1.75rem 0 0;scroll-margin-top:5rem}.legal-block h2{font-family:var(--display);font-size:1.15rem;margin:0 0 .85rem;letter-spacing:.03em}.legal-block h3{font-size:.95rem;margin:1.25rem 0 .5rem;font-weight:600}.legal-block p,.legal-block li{color:color-mix(in srgb,var(--fg) 88%,var(--muted));line-height:1.55;font-size:.95rem}.legal-block ul{margin:.75rem 0;padding-left:1.15rem}.legal-block li+li{margin-top:.45rem}.legal-dl{display:grid;grid-template-columns:7.5rem 1fr;gap:.45rem 1rem;margin:1rem 0 0;font-size:.95rem}@media (max-width: 520px){.legal-dl{grid-template-columns:1fr;gap:.15rem 0}.legal-dl dt{margin-top:.55rem}.legal-dl dt:first-child{margin-top:0}}.legal-dl dt{color:var(--muted);margin:0}.legal-dl dd{margin:0;line-height:1.45}.legal-dl a{color:var(--fg);text-decoration:underline;text-underline-offset:.15em}.legal-form{margin:.75rem 0 0;padding:1rem 1.1rem;background:var(--panel);border:1px solid var(--line);font-size:.82rem;line-height:1.45;white-space:pre-wrap;overflow-x:auto;color:color-mix(in srgb,var(--fg) 85%,var(--muted))}.legal-back{margin:2.5rem 0 0;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.legal-back a{color:var(--muted)}.legal-back a:hover{color:var(--fg)}.focus-body{max-width:28rem;display:flex;flex-direction:column;min-height:100%}.focus-title{margin:0 0 .45rem;font-family:var(--display);font-size:clamp(1.25rem,2.8vw,1.75rem);letter-spacing:-.03em;line-height:1.15}.focus-desc{margin:0 0 1.15rem;color:var(--muted);font-size:.9rem;line-height:1.45}.focus-options .field:last-child{margin-bottom:0}.focus-buy{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.buy-btn{width:100%;padding:1.05rem 1.25rem;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}.share-btn{width:100%;margin-top:.65rem;padding:.85rem 1.25rem;border:1px solid var(--line);background:transparent;color:var(--fg);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.share-btn:hover{border-color:#f4f1ea66;background:#f4f1ea0d}.share-btn.is-pulse{border-color:#f4f1ea8c;animation:share-pulse 1.6s ease-in-out 3}@keyframes share-pulse{0%,to{opacity:1}50%{opacity:.55}}.share-note{margin:.55rem 0 0;text-align:center;color:var(--muted);font-size:.78rem;letter-spacing:.04em}.catalog-label{font-family:var(--display);font-size:1rem;letter-spacing:-.02em;margin:0 0 1rem;color:var(--muted);font-weight:400}.load-more{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 0 .5rem}.load-more-sentinel{width:1px;height:1px;pointer-events:none}.load-more-btn{padding:.7rem 1.4rem;border:1px solid var(--line);background:transparent;color:var(--fg);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.load-more-btn:hover:not(:disabled){border-color:#f4f1ea66;background:#f4f1ea0d}.load-more-btn:disabled{opacity:.5;cursor:default}.load-more-end{margin:1.25rem 0 0;text-align:center;color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes fadeInOut{0%,to{opacity:.35}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.note{color:var(--muted);margin:2rem 0;font-size:.95rem}.note.bad{color:#ff6b4a;margin:0 0 1rem}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:40}.sheet{position:fixed;z-index:50;inset:auto 0 0;max-height:min(92vh,680px);overflow:auto;background:var(--bg);border-top:1px solid var(--line);padding:1.25rem clamp(1rem,3vw,2rem) 1.75rem;display:grid;gap:1.25rem}@media (min-width: 720px){.sheet{inset:12vh auto auto 50%;transform:translate(-50%);width:min(560px,92vw);max-height:76vh;border:1px solid var(--line);grid-template-columns:1fr 1fr}}.sheet-art{aspect-ratio:1;background:var(--panel);border:1px solid var(--line)}.sheet-art img{width:100%;height:100%;object-fit:cover;display:block}.field{margin-bottom:1rem}.field label{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--fg);padding:.5rem .8rem}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.buy-btn{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--bg);font-weight:700}.buy-btn:disabled{opacity:.4;cursor:not-allowed}.focus-secondary{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem;margin-top:.75rem}.focus-secondary .share-btn{flex:1;width:auto;margin-top:0}.fav-btn{flex:0 0 auto;display:inline-grid;place-items:center;min-width:3rem;padding:.85rem .95rem;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer}.fav-btn:hover{border-color:#f4f1ea66;background:#f4f1ea0d}.fav-btn.is-on{color:#e8a0a0;border-color:#e8a0a073}.fav-heart{display:block}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1.25rem;background:#000000b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal.sheet{position:relative;display:block;width:min(26rem,100%);max-height:min(90dvh,36rem);overflow:auto;padding:1.75rem 1.5rem 1.5rem;background:var(--panel);border:1px solid var(--line);color:var(--fg)}.modal-close{position:absolute;top:.65rem;right:.75rem;cursor:pointer;border:none;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1}.modal-title{margin:0 0 .5rem;font-family:var(--display);font-size:1.35rem;letter-spacing:-.03em}.modal-lead{margin:0 0 1.25rem;color:var(--muted);font-size:.95rem;line-height:1.45}.modal-note{margin:.75rem 0 0;color:var(--muted);font-size:.9rem}.modal-error{margin:.85rem 0 0;color:#e8a0a0;font-size:.85rem}.btn-google{cursor:pointer;width:100%;border:1px solid var(--fg);background:var(--fg);color:var(--bg);font-weight:600;padding:.85rem 1rem}.btn-upload-zone{cursor:pointer;width:100%;border:1px dashed var(--line);background:transparent;color:var(--fg);padding:1.75rem 1rem}.btn-upload-zone:disabled{opacity:.5;cursor:wait}.btn-text{cursor:pointer;margin-top:1rem;border:none;background:transparent;color:var(--muted);padding:0;font-size:.85rem;text-decoration:underline;text-underline-offset:.2em}.modal-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.modal-tabs button{cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--muted);padding:.4rem .75rem;font-size:.8rem}.modal-tabs button.is-on{color:var(--fg);border-color:var(--fg)}.upload-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.upload-chip{cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--fg);padding:.3rem .55rem;font-size:.75rem;margin-right:.5rem}.upload-prompt{color:var(--muted);font-size:.8rem}.fav-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.fav-tile{display:block;width:100%;padding:0;border:1px solid var(--line);background:#1a1a1a;cursor:pointer}.fav-tile:hover{border-color:var(--fg)}.fav-grid img{width:100%;aspect-ratio:1;object-fit:cover;background:#1a1a1a;display:block}
