body{margin:0}
a{color:inherit}
nav a:hover{color:#e8a6bb}
button,input{font:inherit}
:focus-visible{outline:3px solid #e8a6bb;outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:0 22px;border:0;border-radius:999px;background:#e8a6bb;color:#2a1a1e;font-weight:700;cursor:pointer;text-decoration:none}
.btn.alt{background:#f6d5df}
.btn.ghost{background:none;color:#a8446e;text-decoration:underline}
.btn.sm{padding:0 14px;min-width:44px}
.btn.mode{background:#fff;border:2px solid #e8a6bb}
.btn.mode.on{background:#e8a6bb}
.mcard{border:1px solid #e8a6bb66;border-radius:20px;padding:28px}
.mcard h3{margin:0 0 8px;font-family:'Yellowtail',cursive;font-weight:400;font-size:34px;color:#e8a6bb}
.mrow{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dotted #e8a6bb88}
.nm{flex:1}
.sold{font-size:14px;opacity:.75;white-space:nowrap}
.ob{max-width:720px;margin:0 auto;background:#fff;border:1px solid #f0d9df;border-radius:20px;padding:28px}
.sh{margin:0 0 8px;font-family:'Yellowtail',cursive;font-weight:400;font-size:34px;color:#a8446e}
.sh.big{font-size:40px}
.line{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dotted #e8a6bb}
.q{min-width:24px;text-align:center}
.lt{min-width:64px;text-align:right}
.tot{display:flex;justify-content:space-between;font-weight:700;font-size:20px;padding:16px 0}
.field{display:block;font-weight:700;margin:16px 0 6px}
.in{width:100%;box-sizing:border-box;min-height:44px;padding:10px 14px;border:1px solid #c9a5b0;border-radius:12px;background:#fff;color:#2a1a1e}
.modes,.row{display:flex;flex-wrap:wrap;gap:12px}
.err{margin:0 0 12px;color:#a8446e;font-weight:700}
.oid{font-size:32px;font-weight:700;letter-spacing:.08em;color:#a8446e;margin:0 0 4px}
.tile{aspect-ratio:1/1;background:#f6d5df;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#a8446e;font-size:14px}
#loader{position:fixed;inset:0;z-index:999;background:radial-gradient(circle at 50% 40%,#1f4a28,#0b1c0f);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:#fbeff2;cursor:pointer;transition:opacity .7s,visibility .7s;font-family:'DM Sans',sans-serif}
#loader[hidden]{display:none}
#loader.done{opacity:0;visibility:hidden}
#loader svg{width:min(340px,80vw);height:auto;overflow:visible}
#loader .L{opacity:0;transform-box:fill-box;transform-origin:50% 100%}
#loader h1{margin:0;font:400 clamp(2.4rem,9vw,3.6rem) 'Yellowtail','Brush Script MT',cursive;color:#e8a6bb;text-shadow:0 0 18px #e8a6bb66}
#loader p{margin:0;letter-spacing:.18em;font-size:.8rem;text-transform:uppercase;opacity:.85}
#loader small{margin-top:10px;font-size:12px;opacity:.6}
.dots::after{content:'';animation:d 1.4s steps(4) infinite}
@keyframes d{0%{content:''}25%{content:'.'}50%{content:'..'}75%,100%{content:'...'}}
