.skip{z-index:20;border-radius:var(--radius-button);background:var(--ink);color:var(--cream);padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;top:12px;left:16px;transform:translateY(calc(-100% - 40px))}.skip:focus,.skip:focus-visible{transform:none}.admin{isolation:isolate;flex-direction:column;gap:22px;max-width:880px;min-height:100dvh;margin:0 auto;padding:36px 20px 80px;display:flex;position:relative}.admin:before{content:"";z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}.admin.wide{max-width:960px}.admin.login{gap:12px;padding-top:10vh}.admin.login img{width:72px;height:72px}.admin.login .lede{letter-spacing:-.02em;color:color-mix(in srgb, var(--ink) 72%, var(--canvas));margin:0 0 8px;font-size:1.15rem;font-weight:500}.admin-bar,.actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-bar{z-index:10;background:color-mix(in srgb, var(--canvas) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);margin:-12px -8px 0;padding:12px 8px 16px;position:sticky;top:0}.actions{justify-content:flex-end}.actions.wrap{flex-wrap:wrap;justify-content:flex-start}.toolbar{align-items:center;display:flex}.admin h1{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(1.85rem,4vw,2.35rem);font-weight:700;line-height:1}.panel,.admin fieldset{background:var(--cream);border-radius:var(--radius-card);box-shadow:0 12px 32px color-mix(in srgb, var(--ink) 10%, transparent);border:0;flex-direction:column;gap:14px;padding:22px 22px 26px;display:flex}.admin.login .panel{max-width:24rem}.admin label{letter-spacing:.01em;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;display:flex}.admin input[type=text],.admin input[type=password],.admin input:not([type]){border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);background:#fff;border-radius:12px;padding:11px 13px;transition:border-color .2s,box-shadow .2s}.admin input:disabled{color:color-mix(in srgb, var(--ink) 70%, var(--cream));background:color-mix(in srgb, var(--cream) 70%, #fff)}.admin input:focus-visible,.admin button:focus-visible,.skip:focus-visible{outline:3px solid var(--clay);outline-offset:2px}.admin button{border-radius:var(--radius-button);background:var(--ink);color:var(--cream);cursor:pointer;border:0;align-self:flex-start;padding:12px 20px;font-weight:600;line-height:1;transition:background .2s,transform .2s cubic-bezier(.16,1,.3,1)}.admin button:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 88%, var(--cream))}.admin button:active:not(:disabled){transform:scale(.98)}.admin button:disabled{opacity:.55;cursor:default}.admin button.ghost{color:var(--ink);background:0 0;padding:12px 14px}.admin button.ghost:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 8%, transparent)}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.file{position:relative}.file input[type=file]{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-btn{background:color-mix(in srgb, var(--ink) 10%, var(--cream));cursor:pointer;border-radius:12px;align-self:flex-start;padding:10px 16px;font-weight:600;transition:background .2s}.file:hover .file-btn{background:color-mix(in srgb, var(--ink) 16%, var(--cream))}.file:focus-within .file-btn{outline:3px solid var(--clay);outline-offset:2px}.admin button.add{color:var(--ink);border:1.5px dashed color-mix(in srgb, var(--ink) 28%, transparent);border-radius:var(--radius-card);background:0 0;justify-content:center;align-self:stretch;padding:28px 20px}.admin button.add:hover:not(:disabled){background:var(--cream)}.thumb{object-fit:cover;background:color-mix(in srgb, var(--ink) 10%, var(--cream));border-radius:16px;width:56px;height:56px}.file .thumb,.card-edit .thumb{width:148px;height:148px;box-shadow:0 10px 24px color-mix(in srgb, var(--ink) 12%, transparent);border-radius:18px}.card-edit{grid-template-columns:148px 1fr;align-items:start;gap:18px;display:grid}.card-fields{flex-direction:column;gap:12px;min-width:0;display:flex}.deck-list{font-variant-numeric:tabular-nums;grid-template-columns:1fr;gap:16px;margin:0;padding:0;list-style:none;display:grid}.deck-list li{background:var(--cream);box-shadow:0 12px 32px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:20px;flex-direction:column;align-items:stretch;gap:12px;padding:12px;display:flex}.deck-list .thumb{aspect-ratio:1;border-radius:16px;width:100%;height:auto}.deck-meta{flex:1;min-width:0;padding:0 4px}.deck-list strong{letter-spacing:-.03em;text-wrap:balance;font-size:1.15rem;display:block}.deck-list p{margin:4px 0 0}.deck-list .actions{margin-top:auto;padding:0 4px 4px}.empty{background:var(--cream);border-radius:var(--radius-card);box-shadow:0 12px 32px color-mix(in srgb, var(--ink) 10%, transparent);flex-direction:column;gap:8px;padding:36px 28px 40px;display:flex}.empty p:first-child{letter-spacing:-.03em;margin:0;font-size:1.2rem;font-weight:700}.muted{color:color-mix(in srgb, var(--ink) 72%, var(--canvas));margin:0;font-weight:500}.error{color:var(--ink);margin:0;font-weight:600}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{pointer-events:none}.skel-lines{flex-direction:column;gap:8px;padding:4px;display:flex}.skel-lines span{background:color-mix(in srgb, var(--ink) 10%, var(--cream));border-radius:999px;height:12px;display:block}.skel-lines span:first-child{width:42%;height:16px}.skel-lines span:last-child{width:64%}@media (width>=700px){.admin:not(.wide):not(.login) .deck-list{grid-template-columns:1fr 1fr}}@media (width<=700px){.row,.card-edit{grid-template-columns:1fr}.admin-bar{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.admin button,.admin input,.file-btn,.skip{transition:none}.admin button:active:not(:disabled){transform:none}}.landing{overflow-x:hidden}.hero{grid-template-columns:1fr;align-items:start;gap:36px;max-width:1120px;margin:0 auto;padding:48px 24px 32px;display:grid}.hero-copy{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.hero-copy img{width:96px;height:96px}.hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.5rem,7vw,3.75rem);font-weight:700;line-height:1}.lede{text-wrap:balance;margin:0;font-size:1.2rem;font-weight:500;line-height:1.4}.stores{flex-wrap:wrap;align-items:center;gap:14px 20px;margin:8px 0 0;display:flex}.stores a{border-radius:var(--radius-button);background:var(--ink);color:var(--cream);white-space:nowrap;padding:14px 28px;font-weight:600;line-height:1;text-decoration:none;display:inline-block}.stores a:hover{background:color-mix(in srgb, var(--ink) 88%, var(--cream))}.stores a:active{transform:scale(.98)}.stores a:focus-visible{outline:3px solid var(--clay);outline-offset:3px}.stores span{color:color-mix(in srgb, var(--ink) 72%, var(--canvas));font-weight:600}.hero-cards{aspect-ratio:1;justify-self:center;width:min(480px,100%);position:relative}.hero-cards img{border-radius:var(--radius-card);width:58%;height:auto;box-shadow:0 10px 28px color-mix(in srgb, var(--ink) 18%, transparent);position:absolute}.hero-cards .card-back{top:14%;left:6%;transform:rotate(-9deg)}.hero-cards .card-face{bottom:8%;right:6%;transform:rotate(7deg)}.faces{max-width:1120px;margin:0 auto;padding:12px 0 48px}.faces h2{letter-spacing:-.03em;text-wrap:balance;margin:0;padding:0 24px;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:700;line-height:1.15}.face-row{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;margin:28px 0 0;padding:20px 24px 28px;list-style:none;display:flex;overflow-x:auto}.face-row img{border-radius:var(--radius-card);width:156px;height:156px;box-shadow:0 8px 22px color-mix(in srgb, var(--ink) 16%, transparent);scroll-snap-align:center;display:block}.note{max-width:1120px;margin:0 auto;padding:8px 24px 64px}.note p{text-wrap:balance;max-width:24rem;margin:0;font-size:1.15rem;font-weight:500;line-height:1.45}.foot{text-align:center;padding:24px}.foot p{letter-spacing:-.03em;margin:0;font-weight:700}.foot a{color:inherit;font-size:.95rem;font-weight:500}.privacy{flex-direction:column;gap:16px;max-width:36rem;margin:0 auto;padding:48px 24px 80px;display:flex}.privacy h1{letter-spacing:-.04em;margin:0}.privacy p{margin:0;font-weight:500;line-height:1.45}.privacy a{color:inherit;font-weight:700}@media (width>=768px){.hero{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:72px 32px 40px}.hero-cards{justify-self:end;width:100%}.faces{padding:8px 32px 56px}.faces h2{padding:0}.note{padding:8px 32px 80px}.face-row{justify-content:center;gap:18px;padding:28px 0 12px;overflow:visible}.face-row img{width:168px;height:168px}.face-row li:nth-child(odd) img{transform:rotate(-5deg)}.face-row li:nth-child(2n) img{transform:rotate(4deg)}.face-row li:hover img{transform:rotate(0)scale(1.04)}}@media (prefers-reduced-motion:reduce){.stores a:active,.hero-cards img,.face-row img,.face-row li:nth-child(odd) img,.face-row li:nth-child(2n) img,.face-row li:hover img{transform:none}}@media (prefers-reduced-motion:no-preference){.stores a,.face-row img{transition:transform .35s cubic-bezier(.16,1,.3,1),background .2s}}:root{--canvas:#cdd6c5;--ink:#384038;--cream:#f5f0e3;--clay:#d47a5c;--radius-card:24px;--radius-button:16px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font-family:ui-rounded,system-ui,sans-serif}button,input{font:inherit}
