.omikuji-app{font-family:Patrick Hand,cursive;position:relative;max-width:600px;margin:0 auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.omikuji-app .draw-count{text-align:center;font-family:Caveat,cursive;font-size:22px;color:#4a4a6a;margin-bottom:20px;padding:8px 20px;border:2px dashed #4a4a6a;border-radius:12px;background:#fff6;display:inline-block;width:100%}.omikuji-app .draw-count span{color:#e74c3c;font-weight:700;font-size:28px}.omikuji-app .stage{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;min-height:420px;margin-bottom:20px}.omikuji-app canvas#mainCanvas{display:block;touch-action:none}.omikuji-app .cta-btn{font-family:Caveat,cursive;font-size:26px;font-weight:700;padding:12px 40px;border:3px solid #1a1a2e;border-radius:14px;background:#f0e6d3;color:#1a1a2e;cursor:pointer;transition:all .15s;letter-spacing:2px;box-shadow:4px 4px #1a1a2e;margin-top:16px}.omikuji-app .cta-btn:hover:not(:disabled){background:#e8dcc5;transform:translate(-2px,-2px);box-shadow:6px 6px #1a1a2e}.omikuji-app .cta-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #1a1a2e}.omikuji-app .cta-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:2px 2px #1a1a2e}.omikuji-app .hint-text{text-align:center;color:#4a4a6a;font-size:14px;margin-top:8px;min-height:20px;font-style:italic}.omikuji-app .result-overlay{display:none;position:fixed;inset:0;background:#1a1a2e80;z-index:50;backdrop-filter:blur(2px)}.omikuji-app .result-overlay.show{display:block}.omikuji-app .result-card{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-60%) scale(.85);width:min(520px,94vw);background:#fdf6e3;border:3px solid #1a1a2e;border-radius:20px;padding:28px 28px 22px;z-index:100;box-shadow:8px 8px #1a1a2e;opacity:0;transition:all .35s cubic-bezier(.34,1.56,.64,1);background-image:repeating-linear-gradient(transparent,transparent 31px,#c8d8e8 31px,#c8d8e8 32px)}.omikuji-app .result-card.show{display:block;opacity:1;transform:translate(-50%,-50%) scale(1)}.omikuji-app .result-rank{font-family:Caveat,cursive;font-size:clamp(48px,12vw,72px);font-weight:700;text-align:center;line-height:1;margin-bottom:8px;text-decoration:underline;text-decoration-style:wavy;text-underline-offset:6px}.omikuji-app .result-direction{text-align:center;font-family:Caveat,cursive;font-size:22px;color:#4a4a6a;margin-bottom:12px;letter-spacing:1px}.omikuji-app .result-section{border-top:2px dashed #4a4a6a;padding-top:12px;margin-top:12px}.omikuji-app .result-label{font-size:13px;color:#4a4a6a;text-transform:uppercase;letter-spacing:2px;margin-bottom:4px}.omikuji-app .result-comment{font-family:Caveat,cursive;font-size:19px;line-height:1.6;color:#1a1a2e}.omikuji-app .result-advice{font-family:Caveat,cursive;font-size:17px;line-height:1.6;color:#1a1a2e;margin-top:4px}.omikuji-app .result-drink{font-family:Caveat,cursive;font-size:24px;font-weight:700;text-align:center;margin-top:4px;color:#1a1a2e}.omikuji-app .result-remain{text-align:center;font-family:Caveat,cursive;font-size:17px;color:#4a4a6a;margin-top:14px}.omikuji-app .result-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;justify-content:center}.omikuji-app .result-actions button{font-family:Patrick Hand,cursive;font-size:14px;padding:8px 18px;border:2px solid #1a1a2e;border-radius:10px;background:#f0e6d3;color:#1a1a2e;cursor:pointer;transition:all .15s;white-space:nowrap}.omikuji-app .result-actions button:hover{background:#e8dcc5;transform:translateY(-1px)}.omikuji-app .result-actions button:active{transform:translateY(1px)}.omikuji-app .result-actions .share-x{background:#000;color:#fff;border-color:#000}.omikuji-app .result-actions .share-x:hover{background:#222}.omikuji-app .result-actions .share-line{background:#06c755;color:#fff;border-color:#06c755}.omikuji-app .result-actions .share-line:hover{background:#05a847}.omikuji-app .loading-text{text-align:center;font-family:Caveat,cursive;font-size:18px;color:#4a4a6a;animation:omikujiPulse 1.2s ease-in-out infinite;padding:16px 0;display:block}@keyframes omikujiPulse{0%,to{opacity:1}50%{opacity:.4}}.omikuji-app .exhausted{display:none;text-align:center;padding:32px 20px;border:3px dashed #e74c3c;border-radius:20px;background:#e74c3c0d;margin-top:20px}.omikuji-app .exhausted.show{display:block}.omikuji-app .exhausted p{font-family:Caveat,cursive;font-size:22px;color:#1a1a2e;line-height:1.7}
