.tool-page{padding:42px 0 80px}.tool-page-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.tool-header{margin-bottom:20px}.tool-title-line{align-items:center;gap:15px;display:flex}.tool-title-line .tool-card-icon{width:52px;height:52px;font-size:22px}.tool-title-line h1{letter-spacing:-1.5px;margin:0;font-size:34px}.tool-header p{color:var(--muted);margin:9px 0 0 67px;font-size:14px}.generator-card{border:1px solid var(--line);background:#fff;border-radius:21px;overflow:hidden;box-shadow:0 16px 50px #2f174b12}.generator-top{background:radial-gradient(circle at 50% 40%,#faf7ff,#fff 64%);flex-direction:column;justify-content:center;align-items:center;min-height:410px;padding:30px;display:flex}.generator-card-compact .generator-top{min-height:230px}.generator-controls{border-top:1px solid var(--line);background:#fff;padding:23px 28px}.form-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.field{flex-direction:column;gap:7px;margin-bottom:13px;display:flex}.field label{color:#5f556b;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:800}.input,.textarea,.select{width:100%;color:var(--ink);background:#fff;border:1px solid #ded5e8;border-radius:10px;outline:none}.input,.select{height:43px;padding:0 12px}.textarea{resize:vertical;min-height:120px;padding:12px;line-height:1.5}.input:focus,.textarea:focus,.select:focus{border-color:#9f7dd3;box-shadow:0 0 0 3px #f1ebfa}.generate-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b4ee9,#6825cc);border:0;border-radius:12px;width:100%;height:50px;font-weight:850;box-shadow:0 9px 22px #6d28d933}.generate-btn:hover{filter:brightness(1.05)}.result-label{color:#887d92;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:10px;font-size:10px;font-weight:850}.big-result{letter-spacing:-2.5px;text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:clamp(34px,5vw,64px);font-weight:900;line-height:1.08}.sub-result{color:#756a81;text-align:center;margin-top:12px;font-size:13px}.result-actions{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:24px;display:flex}.privacy-note{color:#26785b;background:#effaf5;border-radius:11px;gap:10px;padding:13px;font-size:11px;line-height:1.5;display:flex}.wheel-tool{background:conic-gradient(#6d28d9 0 60deg,#9f67ed 60deg 120deg,#d6bcfa 120deg 180deg,#7c3aed 180deg 240deg,#b786f5 240deg 300deg,#efe7fb 300deg);border:8px solid #fff;border-radius:50%;width:270px;height:270px;transition:transform 2.8s cubic-bezier(.16,.75,.18,1);position:relative;box-shadow:0 15px 45px #4824753d,0 0 0 1px #ddd2e9}.wheel-tool.spinning{transform:rotate(1530deg)}.wheel-tool:after{content:"";background:#2b1644;border:6px solid #fff;border-radius:50%;width:52px;height:52px;margin:auto;position:absolute;inset:0}.wheel-tool-pointer{z-index:2;border-top:26px solid #28153f;border-left:13px solid #0000;border-right:13px solid #0000;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.wheel-winner{text-align:center;background:#fff;border:1px solid #ded1ef;border-radius:12px;margin-top:18px;padding:9px 18px;box-shadow:0 8px 22px #361a5817}.wheel-winner span{color:#8c8196;text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:800;display:block}.wheel-winner strong{color:#6d28d9;margin-top:3px;font-size:20px;display:block}.dice-result{color:#6d28d9;background:#fff;border:1px solid #e3d8ef;border-radius:25px;place-items:center;width:120px;height:120px;font-size:60px;display:grid;box-shadow:0 18px 45px #3a1a6029}.color-result{border-radius:22px;align-items:flex-end;width:min(360px,90%);height:190px;padding:18px;display:flex;box-shadow:inset 0 0 0 1px #0000000f,0 20px 40px #28143c24}.color-chip{background:#ffffffe6;border-radius:9px;padding:9px 13px;font-size:13px;font-weight:850}.teams-result{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:12px;width:100%;display:grid}.team-box{border:1px solid var(--line);background:#fff;border-radius:13px;padding:16px}.team-box h4{color:#6d28d9;text-transform:uppercase;letter-spacing:.5px;margin:0 0 9px;font-size:12px}.team-box div{border-bottom:1px dashed #eee8f3;padding:5px 0;font-size:13px}.dynamic-wheel-wrap{width:280px;height:280px;position:relative}.dynamic-wheel{will-change:transform;border:9px solid #fff;border-radius:50%;width:280px;height:280px;transition:transform 4s cubic-bezier(.08,.76,.12,1),box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 18px 48px #3d1c6640,0 0 0 1px #ddd2e9}.dynamic-wheel.is-spinning{box-shadow:0 24px 60px #56249f6b,0 0 0 7px #a765f621}.wheel-segment-label{z-index:1;color:#fff;text-align:center;text-shadow:0 1px 2px #00000040;transform-origin:42px 8px;width:84px;height:16px;font-size:9px;font-weight:850;position:absolute;top:calc(50% - 8px);left:calc(50% - 42px)}.wheel-center{z-index:2;color:#fff;cursor:pointer;background:#25153c;border:6px solid #fff;border-radius:50%;place-items:center;width:55px;height:55px;margin:auto;padding:0;font-size:9px;font-weight:900;transition:transform 4s cubic-bezier(.08,.76,.12,1),background .2s,box-shadow .2s;display:grid;position:absolute;inset:0}.wheel-center:hover:not(:disabled){background:#6d28d9;box-shadow:0 0 0 5px #7c3aed2e}.wheel-center:focus-visible{outline-offset:4px;outline:3px solid #c4a2ff}.wheel-center:disabled{cursor:wait}.probability-list{gap:5px;max-height:150px;margin:-3px 0 13px;display:grid;overflow:auto}.probability-list div{color:#6f647a;background:#f6f2fa;border-radius:8px;justify-content:space-between;padding:7px 9px;font-size:11px;display:flex}.probability-list strong{color:#6d28d9}.check-row{color:#655a70;align-items:center;gap:8px;min-height:42px;font-size:12px;font-weight:700;display:flex}.check-row input{accent-color:#7c3aed}.inline-actions,.preset-row,.deck-status{align-items:center;gap:8px;margin:9px 0 14px;display:flex}.preset-row .input,.preset-row .select{flex:1}.audit-log{border:1px solid var(--line);color:#776c82;border-radius:10px;margin-top:12px;padding:10px;font-size:11px}.audit-log summary{cursor:pointer;color:#5e5369;font-weight:800}.audit-log div{border-bottom:1px dashed var(--line);padding:7px 0}.multi-wheel-controls{grid-template-columns:1fr 1fr;gap:12px;display:grid}.multi-wheel-stage{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;width:100%;display:flex}.multi-wheel-stage .dynamic-wheel-wrap,.multi-wheel-stage .dynamic-wheel{width:190px;height:190px}.multi-wheel-stage .wheel-segment-label{display:none}.multi-wheel-stage>div{color:#6d28d9;justify-items:center;gap:12px;display:grid}.multi-wheel-stage .wheel-tool-pointer{top:-6px}.bingo-card{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(5,1fr);width:min(440px,100%);padding:12px;display:grid;box-shadow:0 15px 35px #2d14461f}.bingo-head{grid-column:1/-1;grid-template-columns:repeat(5,1fr);display:grid}.bingo-head strong{text-align:center;color:#6d28d9;padding:10px;font-size:22px}.bingo-card>span{aspect-ratio:1;border:1px solid #eee8f3;place-items:center;font-size:14px;font-weight:800;display:grid}.bingo-card .free{color:#fff;background:#7c3aed;font-size:10px}.bracket{gap:18px;width:100%;padding:5px 3px 20px;display:flex;overflow:auto}.bracket-round{flex-direction:column;justify-content:space-around;gap:12px;min-width:150px;display:flex}.bracket-round h4{color:#7c3aed;text-align:center;text-transform:uppercase;font-size:11px}.bracket-match{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 5px 12px #28143c0d}.bracket-match span{border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px;display:block}.assignment-list,.order-list{gap:8px;width:min(550px,100%);display:grid}.assignment-list>div,.order-list>div{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:12px;padding:11px 14px;display:flex}.assignment-list span{color:#918699;text-transform:uppercase;margin-left:auto;font-size:10px}.order-list span{color:#fff;background:#7c3aed;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;font-weight:800;display:grid}.seating-grid{gap:9px;width:100%;display:grid}.seating-grid div{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;place-items:center;min-height:65px;padding:9px;display:grid}.seating-grid small{color:#9a8fa3;text-transform:uppercase;font-size:8px}.seating-grid strong{font-size:11px}.dice-row,.coin-row,.card-row{flex-wrap:wrap;justify-content:center;gap:12px;max-width:100%;display:flex}.game-in-progress{align-content:center;align-items:center;min-height:140px}.game-in-progress>strong{text-align:center;color:#766a80;letter-spacing:.15px;width:100%;font-size:12px}.dice-row .dice-result{border-radius:18px;width:82px;height:82px;font-size:36px}.dice-result.is-rolling{animation:.5s linear infinite dice-roll}.coin{color:#6d28d9;background:linear-gradient(145deg,#fff,#e9def9);border:3px solid #cbb6e7;border-radius:50%;place-items:center;width:86px;height:86px;font-size:27px;font-weight:900;display:grid;box-shadow:0 10px 24px #34185426}.coin.is-flipping{animation:.65s linear infinite coin-flip}.playing-card{background:#fff;border:1px solid #dcd3e5;border-radius:9px;width:70px;height:98px;padding:9px;font-size:20px;font-weight:900;box-shadow:0 8px 18px #26143a1f}.playing-card.red{color:#dc2626}.playing-card.card-back{color:#fff;background:repeating-linear-gradient(45deg,#6d28d9 0 7px,#8d52e8 7px 14px);place-items:center;display:grid}.playing-card.is-dealing{animation:.72s ease-in-out infinite alternate card-deal}.roulette-result{color:#fff;text-align:center;border:8px solid #fff;border-radius:50%;place-items:center;width:145px;height:145px;font-size:50px;font-weight:900;display:grid;box-shadow:0 15px 35px #1e142833}.roulette-result small{grid-column:1;font-size:10px;display:block}.roulette-loader{color:#fff;background:conic-gradient(#dc2626 0 25%,#171717 25% 50%,#dc2626 50% 75%,#171717 75%);border:10px solid #fff;border-radius:50%;align-content:center;place-items:center;gap:8px;width:170px;height:170px;animation:.65s linear infinite roulette-spin;display:grid;box-shadow:0 16px 34px #23143238}.roulette-loader span{font-size:57px;line-height:1}.roulette-loader strong{color:#fff;font-size:10px}.bottle-stage{justify-items:center;gap:24px;display:grid}.bottle{color:#7c3aed;transform-origin:50%;place-items:center;width:210px;height:62px;font-size:72px;transition:transform 1.3s cubic-bezier(.17,.76,.22,1);display:grid}.bottle.is-spinning{transition:transform 4s cubic-bezier(.08,.76,.12,1)}.ball-machine{background:radial-gradient(circle at 50% 20%,#faf6ff,#e7daf9);border:1px solid #d8c8ec;border-radius:50% 50% 22px 22px;justify-content:center;align-items:center;gap:8px;width:230px;min-height:145px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -12px 20px #5c2c941a,0 16px 32px #32174d1f}.ball-machine span{color:#5d24b0;background:#fff;border:1px solid #cbb8e9;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;animation:.55s ease-in-out infinite alternate ball-bounce;display:grid}.ball-machine strong{color:#6d5a80;font-size:11px;position:absolute;bottom:16px}.game-loading{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-height:140px;display:flex}.game-loading span{color:#6d28d9;background:#f0e8ff;border-radius:18px;place-items:center;width:64px;height:64px;font-size:31px;animation:.72s ease-in-out infinite alternate game-pulse;display:grid}.game-loading span:nth-child(2){animation-delay:.16s}.game-loading span:nth-child(3){animation-delay:.32s}@keyframes dice-roll{0%{transform:rotate(0)scale(1)}25%{transform:rotate(95deg)translateY(-12px)scale(.9)}55%{transform:rotate(210deg)translateY(8px)scale(1.08)}to{transform:rotate(360deg)scale(1)}}@keyframes coin-flip{0%{transform:rotateY(0)translateY(0)}50%{transform:rotateY(540deg)translateY(-15px)}to{transform:rotateY(1080deg)translateY(0)}}@keyframes card-deal{0%{transform:translate(-16px,9px)rotate(-8deg)}to{transform:translate(16px,-8px)rotate(8deg)}}@keyframes roulette-spin{to{transform:rotate(360deg)}}@keyframes ball-bounce{0%{transform:translateY(9px)rotate(-8deg)}to{transform:translateY(-17px)rotate(8deg)}}@keyframes game-pulse{0%{transform:translateY(5px)rotate(-4deg)}to{transform:translateY(-10px)rotate(4deg)scale(1.08)}}.deck-status{color:#6d6278;background:#f6f2fa;border-radius:9px;justify-content:space-between;padding:9px 11px;font-size:11px;font-weight:750}.strength-meter{background:#eee7f4;border-radius:8px;height:8px;margin-top:5px;overflow:hidden}.strength-meter span{height:100%;transition:width .25s;display:block}.field-note{color:#8c8097;margin-top:3px;font-size:10px;display:block}.option-grid{grid-template-columns:repeat(2,1fr);gap:4px 12px;margin-bottom:12px;display:grid}.creative-list{gap:9px;width:100%;display:grid}.creative-list>div{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:flex-start;gap:12px;padding:12px;display:flex}.creative-list span{color:#6d28d9;background:#f0e8ff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:10px;font-weight:900;display:grid}.creative-list p{color:#4f455a;margin:2px 0;font-size:12px;line-height:1.55}.design-preview{border-radius:23px;align-items:flex-end;width:min(520px,100%);height:260px;padding:17px;display:flex;box-shadow:0 18px 40px #28143c29}.design-preview code,.css-preview code{color:#25153c;overflow-wrap:anywhere;background:#ffffffe6;border-radius:8px;max-width:100%;padding:8px 10px;font-size:10px}.contrast-preview{border:1px solid #7f7f7f33;border-radius:22px;align-content:center;place-items:center;gap:8px;width:min(520px,100%);height:260px;display:grid}.contrast-preview strong{font-size:82px;line-height:1}.contrast-preview span{font-size:13px;font-weight:800}.css-preview{justify-items:center;gap:35px;width:min(520px,100%);display:grid}.css-preview>div{color:#6d28d9;background:#fff;place-items:center;width:220px;height:160px;font-weight:900;display:grid}.palette-preview{border-radius:20px;width:100%;height:260px;display:flex;overflow:hidden}.palette-preview div{flex:1;justify-content:center;align-items:flex-end;padding:12px;display:flex}.palette-preview span{color:#25153c;background:#ffffffd9;border-radius:6px;padding:5px;font-size:9px;font-weight:800}.avatar-preview{color:#fff;border-radius:50%;place-items:center;width:190px;height:190px;font-size:58px;font-weight:900;display:grid;box-shadow:0 15px 40px #30164c33}.color-stop-row{gap:8px;margin-bottom:14px;display:flex}.color-stop-row input{cursor:pointer;background:0 0;border:0;width:48px;height:42px}.generator-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-top:12px;padding:11px 13px;font-size:12px;font-weight:700;line-height:1.5}.restored-result{color:#5c4376;background:#f3ecff;border:1px solid #d8c5f1;border-radius:11px;width:min(620px,100%);margin-bottom:18px;padding:12px 40px 12px 14px;position:relative}.restored-result span{text-transform:uppercase;letter-spacing:.8px;font-size:8px;font-weight:900;display:block}.restored-result strong{overflow-wrap:anywhere;margin-top:3px;font-size:13px;display:block}.restored-result button{color:#705d84;cursor:pointer;background:0 0;border:0;font-size:20px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.tool-guide{max-width:930px}.guide-intro{max-width:760px;margin-bottom:32px}.guide-intro h2{letter-spacing:-1px;margin:7px 0 12px;font-size:34px}.guide-intro p,.guide-card p,.guide-faq p{color:var(--muted);font-size:14px;line-height:1.8}.guide-grid{grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;display:grid}.guide-card,.guide-block,.guide-faq{border:1px solid var(--line);background:#fff;border-radius:17px;padding:25px}.guide-card h3,.guide-block h3,.guide-faq h3{margin:0 0 10px;font-size:17px}.guide-card p{margin:0}.guide-limits{border-left:4px solid #d97706}.guide-block{margin:16px 0}.guide-block ol{grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 0;padding:0;list-style:none;display:grid}.guide-block li{color:var(--muted);align-items:flex-start;gap:10px;font-size:13px;line-height:1.65;display:flex}.guide-block li span{background:var(--purple-soft);width:25px;height:25px;color:var(--purple);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:900;display:grid}.guide-block li p{margin:1px 0 0}.guide-faq{margin-top:16px}.guide-faq>h3{margin-top:6px;font-size:22px}.guide-faq details{border-top:1px solid var(--line);padding:15px 0}.guide-faq details:last-child{padding-bottom:0}.guide-faq summary{cursor:pointer;color:var(--ink);font-size:13px;font-weight:800}.guide-faq details p{margin:9px 0 0}.dark .tool-page{background:#1b1322}.dark .generator-card,.dark .generator-controls,.dark .team-box,.dark .input,.dark .textarea,.dark .select,.dark .wheel-winner,.dark .guide-card,.dark .guide-block,.dark .guide-faq{color:var(--ink);background:#271b31}.dark .probability-list div,.dark .deck-status{color:var(--ink);background:#2c2036;border-color:#4a3957}.dark .bracket-match,.dark .assignment-list>div,.dark .order-list>div,.dark .seating-grid div,.dark .creative-list>div,.dark .bingo-card{background:#2c2036}.dark .generator-top{background:radial-gradient(circle at 50% 40%,#2b1d37,#21172a 68%)}.dark .dice-result,.dark .color-chip{color:#24152f;background:#eee7f5}.dark .generator-error{color:#fecaca;background:#3b171d;border-color:#7f1d1d}@media (max-width:980px){.tool-page-grid{grid-template-columns:1fr}.tool-sidebar{grid-template-columns:1fr 1fr;gap:14px;display:grid}}@media (max-width:640px){.tool-page{padding-top:28px}.tool-title-line h1{font-size:27px}.tool-header p{margin-left:0}.generator-top{min-height:350px;padding:20px}.generator-controls{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.tool-sidebar,.teams-result,.multi-wheel-controls{grid-template-columns:1fr}.dynamic-wheel-wrap,.dynamic-wheel{width:250px;height:250px}.wheel-segment-label{transform-origin:42px 8px}.bracket{padding-bottom:12px}.seating-grid{grid-template-columns:repeat(2,1fr)!important}.preset-row{flex-direction:column;align-items:stretch}.guide-grid,.guide-block ol{grid-template-columns:1fr}.guide-intro h2{font-size:27px}.guide-card,.guide-block,.guide-faq{padding:20px}}@media print{.tool-header,.tool-sidebar,.no-print{display:none!important}.tool-page,.generator-card,.generator-top{color:#111!important;box-shadow:none!important;background:#fff!important}.tool-page-grid{display:block}.generator-card{border:0}.printable-result{min-height:0;padding:10mm}@page{margin:12mm}}
