*{box-sizing:border-box}:root{color-scheme:light;--paper:#fff;--ink:#262626;--muted:#686868;--line:#ededed;--accent:#e94e49}body{margin:0;background:#fff;color:var(--ink);font:15px/1.7 Arial,"Noto Sans CJK SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.game-sidebar{position:fixed;inset:0 auto 0 0;width:210px;padding:30px 24px;background:#fff;display:flex;flex-direction:column}.game-logo{font-size:32px;font-weight:900;letter-spacing:-1px;color:var(--accent);padding:0 10px}.game-logo span{font-size:12px;font-weight:400;letter-spacing:0;color:#595959;margin-left:7px}.game-nav{display:grid;gap:10px;margin-top:47px}.game-nav a{display:flex;align-items:center;gap:14px;padding:14px 17px;border-radius:28px;font-size:15px}.game-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.game-nav a.active,.game-nav a:hover{background:#f5f5f5}.game-nav a.active{font-weight:600}.game-author{margin-top:auto;padding:16px 10px;display:flex;gap:10px;align-items:center;font-size:12px}.game-avatar{display:grid;place-items:center;width:29px;height:29px;background:#f3e8df;border-radius:50%;color:#8f644d;font:bold italic 22px Georgia}.game-author small{display:block;font-size:12px;color:#595959}.game-page{margin-left:210px;padding:0 32px 0 24px;max-width:1500px}.game-topbar{height:95px;display:flex;align-items:center;justify-content:space-between;gap:20px}.game-topbar>a{font-size:13px;color:#666}.game-topbar .crumb{color:#595959;font-size:13px}.game-mobile-brand{display:none}.game-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.game-tabs a{padding:8px 16px;border-radius:24px;color:#666;font-size:14px}.game-tabs a.active{background:#f4f4f4;color:#262626;font-weight:600}.page-title h1{font-size:28px;line-height:1.4;margin:0 0 8px;font-weight:650;letter-spacing:-.5px}.page-title p{margin:0;color:#666;font-size:14px}.page-title{margin:8px 0 25px}.game-footer{padding:24px 0;margin-top:36px;border-top:1px solid #f0f0f0;color:#595959;font-size:12px}.game-main{padding:0 0 20px}button:not(.card):not(.stock):not(.empty-slot){border:1px solid #e5e5e5;background:#fff;padding:10px 17px;border-radius:22px;font-size:14px;font-weight:500;min-height:42px}button:not(.card):not(.stock):not(.empty-slot):hover:not(:disabled){background:#f6f6f6}button.accent{background:var(--accent)!important;border-color:var(--accent)!important;color:white!important}button:disabled:not(.card){opacity:1;color:#595959!important;background:#f1f1f1!important;border-color:#e8e8e8!important;box-shadow:none!important}dialog{border:1px solid #eee;border-radius:20px;padding:0;max-width:520px;width:calc(100% - 32px);background:white;color:#262626;box-shadow:0 16px 70px #0002}dialog::backdrop{background:#0005}.dialog-content{padding:28px}.dialog-content h2{font-size:23px;line-height:1.4}.dialog-content p,.dialog-content li{font-size:14px}.dialog-content ol{padding-left:22px}.dialog-content li{padding:5px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.eyebrow{font-size:12px;color:#595959;margin:0 0 8px;letter-spacing:.5px}@media(max-width:1000px){.game-sidebar{width:175px;padding:30px 15px}.game-page{margin-left:175px;padding:0 20px 0 15px}.game-nav a{padding:13px 12px;font-size:14px}}@media(max-width:650px){.game-sidebar{display:none}.game-page{margin:0;padding:0 17px}.game-topbar{height:70px;gap:10px}.game-mobile-brand{display:block;font-weight:900;font-size:26px;letter-spacing:-1px;color:var(--accent)}.game-topbar .crumb{display:none}.game-topbar>a{font-size:12px}.game-tabs{margin-bottom:24px;gap:2px}.game-tabs a{padding:8px 12px;font-size:13px}.page-title h1{font-size:25px}.page-title p{font-size:13px}.game-footer{font-size:12px}.dialog-content{padding:22px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(270px,.85fr);gap:44px;align-items:center;margin-top:32px}.ticket{grid-column:1;grid-row:1;text-align:center;background:#f7f7f5;border-radius:16px;padding:28px;min-height:430px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.draw-panel{grid-column:2;grid-row:1;min-width:0}.pool-info{display:flex;justify-content:space-between;gap:12px;padding:14px 0;margin-bottom:24px;border-bottom:1px solid #eee;font-size:13px;color:#666}.pool-info>span:last-child{white-space:nowrap}label{display:block;font-size:15px;margin-bottom:12px}label span{margin-left:10px;color:#595959;font-size:13px}textarea{width:100%;resize:vertical;min-height:112px;border:1px solid #e5e5e5;border-radius:12px;background:#fafafa;padding:15px;color:#262626;font-size:15px;line-height:1.7}textarea::placeholder{color:#595959;opacity:1}#draw{display:flex;justify-content:space-between;width:100%;margin-top:18px;background:var(--accent);color:#fff;border-color:var(--accent);padding:13px 20px;font-size:15px}#draw:hover:not(:disabled){background:#d7433e}#message{min-height:48px;font-size:13px;color:#666;margin-top:14px}.ticket-label{display:flex;justify-content:space-between;color:#595959;font-size:12px;margin-bottom:22px}.empty-ticket{width:165px;height:225px;border-radius:9px;background:#fff;margin:24px auto;display:grid;place-items:center;border:1px solid #e4e4df;box-shadow:0 6px 24px #00000009}.empty-ticket span{font-size:45px;font-weight:500;color:#b2aaa0}#placeholder p{font-size:15px;margin-bottom:5px}#placeholder small{font-size:13px;color:#595959}#art{display:block;width:100%;max-height:440px;object-fit:contain;border-radius:10px}#sentence{font-size:23px;line-height:1.7;margin:22px 0 6px;color:#262626;overflow-wrap:anywhere}#result{min-width:0}.footer-note{font-size:12px;color:#595959;margin:32px 0 0;padding-top:20px;border-top:1px solid #eee}@media(max-width:900px){.layout{gap:25px;grid-template-columns:minmax(0,1fr) minmax(240px,.9fr)}.ticket{padding:20px}}@media(max-width:750px){.layout{display:flex;flex-direction:column;gap:25px;margin-top:20px}.draw-panel,.ticket{width:100%;max-width:530px}.draw-panel{order:0}.ticket{order:1;min-height:360px}.pool-info{margin-bottom:18px}.empty-ticket{height:180px;margin:15px auto}#art{max-height:400px}#sentence{font-size:21px}.footer-note{font-size:12px}}
@media(max-width:650px){.game-topbar>a.game-mobile-brand{font-size:26px;color:var(--accent)}}

/* Keep secondary text readable without changing game state or layout. */
.game-author small,.game-logo span,.game-footer,.footer-note,.tile-meta{line-height:1.6}.game-tile p,.hub-note,.page-title p{color:#595959}button:disabled{color:#666!important;cursor:not-allowed}

/* Only animate while a draw request is pending; no artificial waiting. */
#draw.is-drawing{justify-content:center;gap:12px}
#draw.is-drawing::after{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:9px 0 currentColor,18px 0 currentColor;margin-right:18px;animation:draw-dots 1s ease-in-out infinite}
.ticket.is-drawing .empty-ticket{animation:draw-card 1.2s ease-in-out infinite;transform-origin:50% 80%}
@keyframes draw-dots{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes draw-card{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){#draw.is-drawing::after,.ticket.is-drawing .empty-ticket{animation:none;transform:none;opacity:1}}
