:root{--bg1:#ffe9a8;--bg2:#ffd0e0;--ink:#2b2140;--ink-soft:#6b6375;--white:#fffdf7;--primary:#ff5d73;--primary-dark:#e0405a;--accent:#7c5cff;--gold:#ffb400;--radius:18px;--shadow:0 8px 24px #2b214029;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(160deg, var(--bg1), var(--bg2) 70%);background-attachment:fixed;min-height:100svh;margin:0}#root{justify-content:center;min-height:100svh;display:flex}.app{flex-direction:column;gap:18px;width:100%;max-width:480px;padding:24px 20px 48px;display:flex}.hero{text-align:center;margin-top:8px}.hero-badge{background:var(--ink);color:var(--white);letter-spacing:.08em;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-block}.title{letter-spacing:.04em;text-shadow:3px 3px #ffffffb3;margin:12px 0 8px;font-size:44px;font-weight:900}.title-accent{color:var(--primary)}.subtitle{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.7}.panel{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel-title{margin:0 0 12px;font-size:15px;font-weight:800}.name-list{flex-direction:column;gap:8px;display:flex}.name-row{gap:8px;display:flex}.name-input{color:var(--ink);background:#faf8ff;border:2px solid #e8e2f4;border-radius:12px;outline:none;flex:1;padding:12px 14px;font-size:16px;transition:border-color .15s}.name-input:focus{border-color:var(--accent)}.btn-icon{color:var(--ink-soft);cursor:pointer;background:#f1edfa;border:none;border-radius:12px;width:44px;font-size:14px}.btn-icon:active{background:#e3dcf5}.btn-ghost{width:100%;color:var(--accent);cursor:pointer;background:0 0;border:2px dashed #cfc6e8;border-radius:12px;margin-top:10px;padding:11px;font-size:14px;font-weight:700}.hint{color:var(--primary-dark);margin:10px 0 0;font-size:12px}.target-row{gap:8px;display:flex}.mode-desc{color:var(--ink-soft);margin:10px 0 0;font-size:12px;line-height:1.7}.chip{color:var(--ink-soft);cursor:pointer;background:#faf8ff;border:2px solid #e8e2f4;border-radius:999px;flex:1;padding:11px 0;font-size:14px;font-weight:700;transition:all .15s}.chip-on{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;box-shadow:0 5px 0 var(--primary-dark);letter-spacing:.06em;border:none;border-radius:999px;padding:16px;font-size:18px;font-weight:900;transition:transform 80ms,box-shadow 80ms}.btn-primary:active{box-shadow:0 1px 0 var(--primary-dark);transform:translateY(4px)}.btn-primary:disabled{cursor:not-allowed;background:#cfc9d9;box-shadow:0 5px #b3adc2}.btn-big{padding:20px;font-size:24px}.rules{border-radius:var(--radius);color:var(--ink-soft);background:#fff9;padding:14px 18px;font-size:13px}.rules summary{cursor:pointer;color:var(--ink);font-weight:800}.rules ol{margin:10px 0 4px;padding-left:20px;line-height:1.8}.pool-count{color:var(--ink-soft);margin-left:6px;font-size:12px;font-weight:600}.pack-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pack-chip{color:var(--ink-soft);cursor:pointer;background:#faf8ff;border:2px solid #e8e2f4;border-radius:12px;align-items:center;gap:7px;padding:11px 12px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.pack-chip-on{border-color:var(--accent);color:var(--ink);background:#efe9ff}.pack-emoji{font-size:17px}.pack-name{text-align:left;flex:1}.pack-count{color:var(--ink-soft);font-size:11px;font-weight:600}.custom-topics{margin-top:12px;font-size:13px}.custom-topics summary{cursor:pointer;color:var(--accent);font-weight:700}.custom-textarea{width:100%;color:var(--ink);resize:vertical;background:#faf8ff;border:2px solid #e8e2f4;border-radius:12px;outline:none;margin-top:10px;padding:10px 12px;font-family:inherit;font-size:14px}.custom-textarea:focus{border-color:var(--accent)}.custom-hint{color:var(--ink-soft);margin:6px 0 0;font-size:11px}.site-footer{flex-direction:column;align-items:center;gap:10px;margin-top:10px;padding-top:6px;display:flex}.tip-link{background:var(--gold);color:#fff;border-radius:999px;padding:11px 22px;font-size:14px;font-weight:800;text-decoration:none;display:inline-block;box-shadow:0 4px #d99a00}.tip-link:active{transform:translateY(3px);box-shadow:0 1px #d99a00}.footer-links{gap:16px;display:flex}.footer-link{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;text-decoration:underline}.footer-copy{color:var(--ink-soft);font-size:11px}.policy{font-size:14px;line-height:1.8}.policy-title{margin:0 0 8px;font-size:20px;font-weight:900}.policy h2{margin:18px 0 6px;font-size:15px;font-weight:800}.policy p{color:var(--ink-soft);margin:0}.policy a{color:var(--accent)}.policy-date{font-size:12px;margin-top:18px!important}.ad-slot{min-height:0}.game-header{color:var(--ink-soft);justify-content:space-between;font-size:13px;font-weight:800;display:flex}.scoreboard{flex-wrap:wrap;gap:6px;display:flex}.score-chip{background:#ffffffd9;border:2px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:flex}.score-chip.is-parent{border-color:var(--gold)}.parent-mark{background:var(--gold);color:#fff;border-radius:6px;margin-right:5px;padding:1px 5px;font-size:10px}.score-dots{gap:3px;display:flex}.dot{background:#e4def2;border-radius:50%;width:9px;height:9px}.dot-on{background:var(--primary)}.card{background:var(--white);box-shadow:var(--shadow);text-align:center;border:3px solid var(--ink);border-radius:24px;margin-top:8px;padding:44px 28px;animation:.35s ease-out card-in;transform:rotate(-1.2deg)}@keyframes card-in{0%{opacity:0;transform:rotate(-1.2deg)translateY(18px)scale(.96)}to{opacity:1;transform:rotate(-1.2deg)translateY(0)scale(1)}}.card-label{background:var(--ink);color:var(--white);letter-spacing:.2em;border-radius:999px;margin-bottom:18px;padding:4px 16px;font-size:12px;font-weight:800;display:inline-block}.card-text{font-size:28px;font-weight:900;line-height:1.5}.stage-hint{text-align:center;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.7}.countdown{justify-content:center;align-items:center;min-height:300px;display:flex}.countdown-num{color:var(--primary);text-shadow:6px 6px #fffc;font-size:140px;font-weight:900;animation:.9s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(1)}to{opacity:.9;transform:scale(.92)}}.point-screen{text-align:center;padding:60px 0 30px}.point-text{color:var(--primary);text-shadow:4px 4px #ffffffd9;font-size:52px;font-weight:900;animation:.5s ease-in-out shake}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)scale(1.1)}75%{transform:rotate(3deg)scale(1.05)}}.point-sub{color:var(--ink-soft);margin-top:14px;font-size:16px;font-weight:700}.input-help{text-align:center;flex-direction:column;gap:4px;margin-top:10px;font-size:16px;font-weight:800;display:flex}.input-help-sub{color:var(--ink-soft);font-size:12px;font-weight:500}.player-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.player-btn{background:var(--white);color:var(--ink);cursor:pointer;border:3px solid #e4def2;border-radius:16px;padding:20px 8px;font-size:17px;font-weight:800;transition:all .12s}.player-btn-on{border-color:var(--gold);background:#fff6dc;transform:scale(1.03)}.winner-screen{text-align:center;flex-direction:column;gap:16px;margin-top:30px;display:flex}.winner-emoji{font-size:80px;animation:1s ease-in-out infinite alternate bounce}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-14px)}}.winner-title{text-shadow:3px 3px #ffffffbf;margin:0;font-size:30px;font-weight:900}.ranking{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 18px}.rank-row{border-bottom:1px dashed #e4def2;justify-content:space-between;padding:10px 4px;font-size:16px;font-weight:700;display:flex}.rank-row:last-child{border-bottom:none}.rank-winner{color:var(--primary)}.rank-winner .rank-name:after{content:" 👑"}
