@import "https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--sans-serif:"Noto Sans","Noto Sans JP","Noto Sans KR","Noto Naskh Arabic","Noto Sans Thai","Noto Sans Hebrew","Noto Sans Bengali",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-family:Shippori Mincho,serif;font-weight:400;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}#root{width:100%;min-height:100vh}button{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;font-family:inherit}button:focus-visible{outline-offset:2px;outline:2px solid #ffffff80}.omikuji-container{background:radial-gradient(circle,#ffd7001a 0%,#0000 50%),linear-gradient(#1a0000 0%,#4a0000 50%,#1a0000 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:auto}.omikuji-container:before{content:"⛩️";opacity:.3;font-size:4rem;animation:6s ease-in-out infinite float;position:absolute;top:4%}.omikuji-container:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffd70008 2px 4px);position:absolute;inset:0}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.particles{pointer-events:none;position:fixed;inset:0;overflow:hidden}.particle{opacity:0;background:radial-gradient(circle,gold 0%,#0000 70%);border-radius:50%;width:4px;height:4px;animation:linear infinite rise;position:absolute;bottom:-10px;box-shadow:0 0 10px gold}@keyframes rise{0%{opacity:0;bottom:-10px;transform:translate(0)scale(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateX(calc(-50px + 100px*var(--random,.5)))scale(1.5);bottom:110vh}}.title-container{text-align:center;flex-direction:column;align-items:center;margin-bottom:3rem;display:flex}.title{color:gold;text-shadow:0 0 10px #ffd700cc,0 0 20px #ffd70099,0 0 30px #ffd70066,2px 2px 4px #000c;letter-spacing:.3em;padding:0 1rem;font-size:3rem;font-weight:700;position:relative}.title:before,.title:after{content:"✦";color:gold;font-size:1.5rem;animation:2s ease-in-out infinite sparkle;position:absolute}.title:before{top:50%;left:-10px;transform:translateY(-50%)}.title:after{animation-delay:1s;top:50%;right:-10px;transform:translateY(-50%)}@keyframes sparkle{0%,to{opacity:1;transform:translateY(-50%)scale(1)}50%{opacity:.5;transform:translateY(-50%)scale(1.2)}}.about{color:gold;cursor:pointer;letter-spacing:.08em;text-shadow:0 0 12px #ffd70073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000059;border:2px solid #d4af37cc;border-radius:999px;margin:0 auto;padding:.3rem .9rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.about:hover{background:#0000008c;border-color:#ffd700f2;transform:translateY(-1px)}.about:active{transform:translateY(0)}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:linear-gradient(135deg,#fff9e6 0%,#fffef0 100%);border:3px solid #d4af37;border-radius:12px;width:min(560px,100%);padding:22px 20px 18px;position:relative;box-shadow:0 0 30px #ffd70059,0 16px 60px #000000b3,inset 0 0 60px #ffd7001f}.modal-close{color:#8b0000;cursor:pointer;background:#00000026;border:2px solid #d4af37d9;border-radius:999px;width:40px;height:40px;font-size:1.6rem;line-height:1;position:absolute;top:10px;right:10px}.modal-title{color:#8b0000;letter-spacing:.1em;text-shadow:0 0 18px #ffd70059;margin:0 0 12px}.modal-text{color:#2b1a1a;margin:0;font-weight:700;line-height:1.8}.modal-actions{justify-content:flex-end;margin-top:18px;display:flex}.modal-ok{color:gold;cursor:pointer;letter-spacing:.08em;background:linear-gradient(135deg,#8b0000 0%,#dc143c 50%,#8b0000 100%);border:2px solid #d4af37;border-radius:10px;padding:.7rem 1.2rem;font-weight:700}.omikuji-box{background:linear-gradient(135deg,#fff9e6 0%,#fffef0 100%);border:3px solid #d4af37;border-top:8px solid #8b0000;border-radius:5px;width:90%;min-width:280px;max-width:400px;padding:3rem 2rem;position:relative;box-shadow:0 0 20px #ffd70066,0 10px 40px #00000080,inset 0 0 60px #ffd7001a}.omikuji-box:before{content:"⛩️";filter:drop-shadow(0 2px 4px #00000080);font-size:2rem;position:absolute;top:-25px;left:50%;transform:translate(-50%)}.omikuji-box:after{content:"";background:linear-gradient(90deg,#0000,#d4af37,#0000);width:60%;height:3px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.box-content{margin-bottom:2rem}.box-text{color:#8b0000;text-shadow:0 0 10px #ffd70066;letter-spacing:.3em;white-space:nowrap;font-size:1.5rem;font-weight:700}.draw-button{color:gold;cursor:pointer;text-shadow:0 0 10px #ffd700cc,2px 2px 4px #000c;letter-spacing:.2em;background:linear-gradient(135deg,#8b0000 0%,#dc143c 50%,#8b0000 100%);border:3px solid #d4af37;border-radius:5px;width:100%;padding:1rem 2rem;font-size:1.3rem;font-weight:700;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 15px #8b000099,0 0 20px #ffd7004d,inset 0 1px #ffd7004d}.draw-button:before{content:"";background:linear-gradient(45deg,#0000 30%,#ffd7004d 50%,#0000 70%);width:200%;height:200%;animation:3s infinite shine;position:absolute;top:-50%;left:-50%}@keyframes shine{0%{transform:translate(-100%)translateY(-100%)rotate(45deg)}to{transform:translate(100%)translateY(100%)rotate(45deg)}}.draw-button:hover{border-color:gold;transform:translateY(-2px);box-shadow:0 6px 20px #8b0000cc,0 0 30px #ffd70080,inset 0 1px #ffd70080}.draw-button:active{transform:translateY(0)}@keyframes shake{0%,to{transform:translate(0)rotate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)rotate(-2deg)}20%,40%,60%,80%{transform:translate(10px)rotate(2deg)}}.shaking{animation:.5s infinite shake}.result-container{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.result-paper{background:linear-gradient(135deg,#fff9e6 0%,#fffef0 100%);border:4px solid #d4af37;border-top:12px solid #8b0000;border-radius:5px;width:90%;min-width:280px;max-width:420px;padding:2rem 1.5rem;animation:1s ease-out fadeIn;position:relative;overflow-x:hidden;box-shadow:0 0 30px #ffd70080,0 10px 40px #00000080,inset 0 0 80px #ffd70026}.result-paper::-webkit-scrollbar{width:8px}.result-paper::-webkit-scrollbar-track{background:#d4af371a;border-radius:4px}.result-paper::-webkit-scrollbar-thumb{background:linear-gradient(#d4af37 0%,#8b0000 100%);border-radius:4px}.result-paper::-webkit-scrollbar-thumb:hover{background:linear-gradient(gold 0%,#dc143c 100%)}@keyframes torii-glow{0%,to{filter:drop-shadow(0 2px 8px #000c)}50%{filter:drop-shadow(0 0 20px #ffd700cc)drop-shadow(0 2px 8px #000c)}}.result-paper:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,#0000,#0000 10px,#d4af370d 10px 11px),repeating-linear-gradient(0deg,#0000,#0000 10px,#d4af370d 10px 11px);border-radius:5px;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.result-title{color:#8b0000;letter-spacing:.5em;text-shadow:0 0 10px #ffd70080;text-align:center;border-bottom:3px double #d4af37;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem;position:relative}.result-title:before,.result-title:after{content:"◆";color:#d4af37;font-size:.8rem;position:absolute;top:50%;transform:translateY(-50%)}.result-title:before{left:-15px}.result-title:after{right:-15px}.result-text{color:#8b0000;text-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70099,0 0 60px #ffd70066,3px 3px 6px #000c,-2px -2px 4px #ffffff80;letter-spacing:.2em;text-align:center;margin:2rem 0;padding:0 40px;font-size:4rem;font-weight:700;animation:2s infinite divine-pulse,3s ease-in-out infinite text-glow;position:relative}.result-text:before{content:"※";color:#d4af37;font-size:1.5rem;animation:4s linear infinite rotate;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.result-text:after{content:"※";color:#d4af37;font-size:1.5rem;animation:4s linear infinite reverse rotate;position:absolute;top:50%;right:5px;transform:translateY(-50%)}@keyframes divine-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes text-glow{0%,to{text-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70099,0 0 60px #ffd70066,3px 3px 6px #000c,-2px -2px 4px #ffffff80}50%{text-shadow:0 0 30px gold,0 0 60px #ffd700cc,0 0 90px #ffd70099,3px 3px 6px #000c,-2px -2px 4px #fffc}}@keyframes rotate{0%{transform:translateY(-50%)rotate(0)}to{transform:translateY(-50%)rotate(360deg)}}.result-description{border-top:2px double #d4af37;margin-top:2rem;padding-top:1.5rem;position:relative}.result-subtitle{color:#666;margin-top:.5rem;margin-bottom:1.5rem;font-size:.7rem;line-height:1.4}.result-description{text-align:left;margin-top:1.5rem}.section{border-bottom:1px dashed #d4af374d;margin-bottom:1.5rem;padding-bottom:1rem}.section:last-of-type{border-bottom:none}.section.advice{border-bottom:2px solid #d4af37;padding-bottom:1.5rem}.section-title{color:#8b0000;letter-spacing:.1em;margin-bottom:.8rem;font-size:1rem;font-weight:700}.section-text{color:#333;letter-spacing:.03em;word-break:keep-all;overflow-wrap:break-word;font-size:.85rem;line-height:1.8}.section-text strong{color:#8b0000;text-shadow:0 0 5px #ffd70066;font-weight:700}.fortune-item{background:#8b000008;border-left:3px solid #8b0000;border-radius:3px;margin-bottom:1rem;padding:.8rem}.fortune-item h4{color:#8b0000;margin-bottom:.4rem;font-size:.9rem;font-weight:700}.fortune-item p{color:#444;word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:.8rem;line-height:1.7}.lucky-item{color:#8b0000;align-items:center;gap:.5rem;margin:.5rem 0;font-size:1.1rem;font-weight:700;display:flex}.lucky-desc{color:#666;word-break:keep-all;overflow-wrap:break-word;margin:.3rem 0 0;font-size:.75rem;font-style:italic}.god-message{text-align:center;background:linear-gradient(135deg,#8b00001a 0%,#8b00000d 100%);border:2px solid #8b0000;border-radius:5px;margin-top:1.5rem;padding:1rem}.god-message p:first-child{color:#8b0000;text-shadow:0 0 10px #ffd70080;margin-bottom:.5rem;font-size:.85rem;font-weight:700}.god-message p:last-child{color:#333;margin:0;font-size:.9rem;font-weight:700;line-height:1.6}.button-group{flex-direction:column;gap:.8rem;width:100%;max-width:420px;padding:0 1rem;display:flex}.share-button,.reset-button{color:gold;cursor:pointer;text-shadow:0 0 10px #ffd70099,2px 2px 4px #000c;letter-spacing:.2em;background:linear-gradient(135deg,#8b0000 0%,#dc143c 50%,#8b0000 100%);border:3px solid #d4af37;border-radius:5px;width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:700;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 15px #8b000099,0 0 20px #ffd7004d}.share-button{background:linear-gradient(135deg,#405de6 0%,#5851db 25%,#833ab4 50%,#c13584 75%,#e1306c 100%);box-shadow:0 4px 15px #e1306c80,0 0 20px #5851db4d}.share-button:hover{border-color:gold;transform:translateY(-2px);box-shadow:0 6px 20px #e1306cb3,0 0 30px #5851db80}.reset-button{padding:1rem 3rem}.reset-button:before{content:"";background:linear-gradient(90deg,#0000,#ffd7004d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.reset-button:hover:before{left:100%}.reset-button:hover{border-color:gold;transform:translateY(-2px);box-shadow:0 6px 20px #8b0000cc,0 0 30px #ffd70080}.reset-button:active{transform:translateY(0)}.feedback-message{font-family:var(--sans-serif);color:#888;text-align:center;letter-spacing:.05em;opacity:.8;margin-top:3rem;font-size:.75rem}.copyright{font-family:var(--sans-serif);color:#666;text-align:center;letter-spacing:.1em;margin-top:2rem;font-size:.8rem}.copyright.initial-screen{margin-top:8rem}.copyright a{color:#534b83;font-weight:700}.debug-toggle{color:gold;cursor:pointer;z-index:9999;background:#000000b3;border:2px solid #d4af37;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;transition:all .3s;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 15px #00000080}.debug-toggle:hover{background:#000000e6;transform:scale(1.1);box-shadow:0 6px 20px #ffd70066}.share-popup{color:#fff;cursor:pointer;z-index:9998;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#405de6 0%,#5851db 25%,#833ab4 50%,#c13584 75%,#e1306c 100%);border-radius:35px;align-items:center;gap:10px;padding:14px 20px;transition:all .3s;animation:.5s ease-out popupBounce,1.5s ease-in-out .5s infinite popupPulse;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 40px #e1306ccc,0 0 60px #5851db99,0 0 100px #833ab466}.share-popup:hover{transform:scale(1.1)translateY(-4px);box-shadow:0 16px 50px #e1306c,0 0 80px #5851dbcc,0 0 120px #833ab499}.share-popup-text{letter-spacing:.08em;text-shadow:2px 2px 6px #0009,0 0 10px #ffffff4d;font-size:1rem;font-weight:700}@keyframes popupBounce{0%{opacity:0;transform:translateY(50px)scale(.8)}50%{transform:translateY(-10px)scale(1.05)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes popupPulse{0%,to{transform:scale(1);box-shadow:0 12px 40px #e1306ccc,0 0 60px #5851db99,0 0 100px #833ab466}50%{transform:scale(1.03);box-shadow:0 16px 50px #e1306c,0 0 80px #5851dbcc,0 0 120px #833ab499}}.share-container{z-index:9998;background:radial-gradient(circle,#ffd70026 0%,#0000 50%),linear-gradient(#1a0000 0%,#4a0000 50%,#1a0000 100%);justify-content:center;align-items:center;width:1080px;height:1920px;padding:140px 60px 40px;display:none;position:fixed;top:0;left:-9999px}.share-container.debug-mode{border:4px solid gold;display:flex;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)scale(.4);box-shadow:0 0 100px #ffd70080}.share-container.debug-mode:before{content:"プレビュー (1080×1920)";color:gold;z-index:10;background:#000c;border:2px solid #d4af37;border-radius:5px;padding:10px 20px;font-size:2rem;font-weight:700;position:absolute;top:10px;left:10px}.share-content{flex-direction:column;gap:35px;width:100%;height:100%;display:flex;position:relative}.share-header{text-align:center;border-bottom:4px double #d4af37;padding-bottom:20px;position:relative}.share-title{color:gold;text-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70099,0 0 60px #ffd70066,4px 4px 8px #000c;letter-spacing:.3em;font-size:3.7rem;font-weight:700}.share-torii{font-size:6rem}.share-result{text-align:center;background:linear-gradient(135deg,#fff9e6f2 0%,#fffef0f2 100%);border:6px solid #d4af37;border-radius:20px;padding:30px 40px;box-shadow:0 0 60px #ffd70099,0 20px 80px #0009}.share-result-label{color:#8b0000;letter-spacing:.5em;text-shadow:0 0 20px #ffd70080;margin-bottom:20px;font-size:2.3rem;font-weight:700}.share-result-text{color:#8b0000;text-shadow:0 0 40px #ffd700cc,0 0 80px #ffd70099,6px 6px 12px #000c;letter-spacing:.2em;margin:-1rem 0;font-size:8rem;font-weight:700}.share-overall{background:#fff9e61a;border:3px solid #d4af37;border-radius:15px;padding:30px}.share-section-text{color:#fff9e6;letter-spacing:.05em;text-shadow:2px 2px 4px #000c;word-break:keep-all;overflow-wrap:break-word;font-size:1.8rem;line-height:1.8}.share-footer{text-align:center;background:#8b00004d;border:3px solid #8b0000;border-radius:15px;padding:30px}.share-lucky-title{color:gold;letter-spacing:.1em;text-shadow:0 0 20px #ffd700cc,2px 2px 4px #000c;margin-bottom:20px;font-size:1.6rem;font-weight:700}.share-lucky-name{color:gold;text-shadow:0 0 20px #ffd700cc;word-break:keep-all;margin:18px 0;font-size:2.2rem;font-weight:700}.share-lucky-desc{color:#fff9e6;text-shadow:1px 1px 3px #000c;word-break:keep-all;overflow-wrap:break-word;margin:18px 0 0;font-size:1.8rem;line-height:1.7}.share-watermark{font-family:var(--sans-serif);text-align:center;color:#ffd70080;letter-spacing:.1em;text-shadow:2px 2px 4px #000c;word-wrap:break-word;overflow-wrap:break-word;margin-top:auto;font-size:1.5rem;font-weight:700;line-height:1.6}@media (max-width:480px){.title{font-size:2.5rem}.result-text{font-size:3rem}.result-paper{padding:1.5rem 1rem}.section-text{font-size:.8rem}.fortune-item{padding:.6rem}.fortune-item h4{font-size:.85rem}.fortune-item p{font-size:.75rem}.share-button,.reset-button{padding:.9rem 1.5rem;font-size:.95rem}.debug-toggle{width:40px;height:40px;font-size:1.2rem;top:10px;right:10px}.share-container.debug-mode{transform:translate(-50%,-50%)scale(.25)}.share-container.debug-mode:before{padding:8px 15px;font-size:1.5rem}}
