:root{--ink:#271f1b;--paper:#f5eddc;--verm:#8f2724;--gold:#b7873f;--indigo:#26334b;--line:#d2b988}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#fff9ea,#e8dcc5);color:var(--ink);font-family:ui-serif,Georgia,serif;min-height:100vh}header,main,footer{width:min(720px,100%);margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:18px}.wordmark{letter-spacing:.12em}.wordmark b{display:block;font-size:.72rem}button{border:0;border-radius:999px;background:var(--verm);color:white;padding:13px 18px;font-weight:800;letter-spacing:.06em;cursor:pointer}.secondary{background:var(--indigo)}.quiet{background:transparent;color:var(--ink);border:1px solid var(--line)}main{padding:0 14px 48px}.panel{margin:12px 0;padding:24px;border:1px solid var(--line);background:rgba(255,250,238,.92);box-shadow:0 14px 40px #3b29182a;border-radius:24px}.hero{text-align:center;overflow:hidden}.eyebrow{font:700 .7rem ui-sans-serif,sans-serif;letter-spacing:.18em;color:var(--verm)}h1{font-size:clamp(2rem,8vw,4rem);line-height:.95;margin:14px 0}h1 span{font-size:.48em;font-weight:500}.tube{width:150px;height:235px;margin:28px auto 14px;border-radius:28px 28px 45px 45px;background:linear-gradient(90deg,#5d201b,#a44435 50%,#5d201b);border:7px solid #43211b;position:relative;box-shadow:inset 0 0 24px #1d0b08aa,0 14px 25px #0003;touch-action:none}.rim{position:absolute;left:-14px;right:-14px;top:-11px;height:29px;border-radius:50%;background:#321711;border:5px solid #b07b47}.sticks{position:absolute;top:-8px;left:20px;right:20px;color:#b98b53;letter-spacing:-3px;font:44px monospace;overflow:hidden;height:60px}.bodymark{font-size:4rem;color:#e9c678;margin-top:78px}.shaking{animation:shake .14s linear infinite}.shaking .sticks{animation:rattle .09s alternate infinite}.number-stick{height:0;opacity:0;transition:.45s ease;margin:auto;width:48px;background:#c4975f;border-radius:8px;padding:8px 4px;color:#3a2118;overflow:hidden}.number-stick span{font-size:.55rem;writing-mode:vertical-rl}.number-stick b{display:block;font-size:1.35rem}.number-stick.out{height:118px;opacity:1;transform:translateY(-25px)}@keyframes shake{25%{transform:rotate(-5deg) translateX(-5px)}75%{transform:rotate(5deg) translateX(5px)}}@keyframes rattle{to{transform:translateX(7px)}}.controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.micro{font:.72rem ui-sans-serif,sans-serif;opacity:.66}.paper{animation:paper .6s ease}@keyframes paper{from{transform:scaleY(.06);opacity:.2}to{transform:none;opacity:1}}.rank{text-align:center}.rank span{font-size:3rem}.rank h2{margin:0;font-size:1.1rem;letter-spacing:.12em}.message{text-align:center;font-size:1.35rem}.character-card{text-align:center;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fffaf0}.character-card img,.share-card img{display:block;width:min(100%,360px);aspect-ratio:1;object-fit:cover;border-radius:18px;margin:10px auto}.character-card>span{font:bold .72rem ui-sans-serif,sans-serif;letter-spacing:.2em;color:var(--gold)}.luck-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:14px 0}.luck-grid div{padding:12px;background:#eee2ca;border-radius:12px}.luck-grid small,.luck-grid b{display:block}.luck-grid small{font:.6rem ui-sans-serif,sans-serif}.timer{text-align:center;font-size:clamp(2.1rem,14vw,4rem);font-variant-numeric:tabular-nums;margin:18px;overflow-wrap:anywhere}.share-card{text-align:center;background:linear-gradient(155deg,#fff7df,#ead4a6);border:3px double var(--gold)}.share-card img{width:min(80%,320px)}.section-head{display:flex;justify-content:space-between;align-items:center}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.collection-grid article{min-height:125px;text-align:center;background:#e9dcc4;border-radius:12px;padding:6px;font-size:.7rem}.collection-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.silhouette{filter:brightness(0);opacity:.18}footer{padding:22px 18px 50px;font: .72rem/1.5 ui-sans-serif,sans-serif;opacity:.7}@media(max-width:520px){.panel{padding:18px}.luck-grid{grid-template-columns:1fr 1fr}.luck-grid div:first-child{grid-column:1/-1}.controls button{flex:1}.collection-grid{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

