:root{--primary: #6c63ff;--primary-hover: #5a52e0;--danger: #ff4757;--success: #2ed573;--shadow-main: 0 8px 32px rgba(0, 0, 0, .1);--shadow-soft: 0 4px 20px rgba(0, 0, 0, .06)}[data-theme=dark]{--bg-start: #0F172A;--bg-end: #1E293B;--text-primary: #F1F5F9;--text-secondary: #94A3B8;--modal-bg: rgba(15, 23, 42, .92);--glass-bg: rgba(30, 41, 59, .6);--glass-bg-strong: rgba(30, 41, 59, .8);--border-light: rgba(255, 255, 255, .08);--border-lighter: rgba(255, 255, 255, .05);--shape-color-1: rgba(99, 102, 241, .15);--shape-color-2: rgba(16, 185, 129, .12);--shape-color-3: rgba(239, 68, 68, .1);--input-bg: rgba(30, 41, 59, .8);--input-border: rgba(255, 255, 255, .1)}[data-theme=light]{--bg-start: #F8FAFC;--bg-end: #E2E8F0;--text-primary: #0F172A;--text-secondary: #475569;--modal-bg: rgba(255, 255, 255, .92);--glass-bg: rgba(255, 255, 255, .6);--glass-bg-strong: rgba(255, 255, 255, .8);--border-light: rgba(0, 0, 0, .08);--border-lighter: rgba(0, 0, 0, .05);--shape-color-1: rgba(37, 99, 235, .1);--shape-color-2: rgba(245, 158, 11, .1);--shape-color-3: rgba(244, 63, 94, .08);--input-bg: rgba(255, 255, 255, .9);--input-border: rgba(0, 0, 0, .12)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}button,input,select,textarea,a,#spin-btn,.wheel-tab,#settings-btn,#fab-group button{-webkit-tap-highlight-color:transparent}body{font-family:Inter,sans-serif;background:linear-gradient(135deg,var(--bg-start) 0%,var(--bg-end) 100%);color:var(--text-primary);overflow:hidden;min-height:100vh;background-size:cover;background-position:center}#bg-shapes{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.shape{position:absolute;border-radius:50%;filter:blur(40px);opacity:.5}.shape-1{width:350px;height:350px;top:-5%;left:10%;background:radial-gradient(circle,var(--shape-color-1),transparent 70%);animation:float1 28s infinite ease-in-out}.shape-2{width:280px;height:280px;bottom:10%;right:5%;border-radius:30%;background:radial-gradient(circle,var(--shape-color-2),transparent 70%);animation:float2 24s infinite ease-in-out}.shape-3{width:200px;height:200px;top:30%;right:15%;background:radial-gradient(circle,var(--shape-color-3),transparent 70%);animation:float3 20s infinite ease-in-out}.shape-4{width:320px;height:320px;bottom:-5%;left:25%;border-radius:40%;background:radial-gradient(circle,var(--shape-color-1),transparent 70%);animation:float4 32s infinite ease-in-out}.shape-5{width:160px;height:160px;top:15%;right:30%;background:radial-gradient(circle,var(--shape-color-2),transparent 70%);animation:float5 22s infinite ease-in-out}.shape-6{width:240px;height:240px;top:55%;left:-3%;border-radius:35%;background:radial-gradient(circle,var(--shape-color-3),transparent 70%);animation:float6 26s infinite ease-in-out}.floating-text{position:absolute;font-family:Inter,sans-serif;font-weight:700;pointer-events:none;white-space:nowrap;opacity:0;animation:textFloat linear forwards}@keyframes textFloat{0%{opacity:0;transform:translateY(0) rotate(var(--rot))}10%{opacity:var(--max-opacity)}80%{opacity:var(--max-opacity)}to{opacity:0;transform:translateY(-120px) rotate(var(--rot))}}#theme-select{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--input-border, var(--border-light));background:var(--input-bg, var(--glass-bg));color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .2s}#theme-select:focus{outline:none;border-color:var(--primary)}select option{background-color:var(--modal-bg, #1E293B);color:var(--text-primary, #F1F5F9)}[data-theme=light] select option{background-color:#fff;color:#0f172a}[data-theme=dark] select option{background-color:#0f172a;color:#f1f5f9}#app-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;overflow:hidden;position:relative;z-index:1}#top-bar{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:100%;z-index:10}#wheel-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:8px 16px;background:var(--glass-bg-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:0 0 16px 16px;border-bottom:1px solid var(--border-light);border-left:1px solid var(--border-light);border-right:1px solid var(--border-light);box-shadow:var(--shadow-soft);max-width:min(88vw,1100px);margin:0 auto}.wheel-tab{padding:6px 16px;border-radius:8px;background:transparent;color:var(--text-secondary);border:none;cursor:pointer;transition:all .2s ease;font-family:inherit;font-weight:500;font-size:13px;white-space:nowrap}.wheel-tab:hover{background:#6c63ff1a;color:var(--text-primary)}.wheel-tab.active{background:#6c63ff33;color:var(--primary);font-weight:600;box-shadow:0 0 12px #6c63ff26}#settings-btn{position:fixed;top:12px;right:16px;z-index:20;width:44px;height:44px;border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;box-shadow:var(--shadow-soft)}#settings-btn:hover{background:var(--glass-bg-strong);color:var(--primary);transform:rotate(45deg)}#wheel-main{flex:1 1 0;min-height:0;min-width:0;width:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:6px;box-sizing:border-box;container-type:size}#wheel-area{position:relative;width:min(calc(100vw - 20px),calc(100vh - 170px),780px);height:min(calc(100vw - 20px),calc(100vh - 170px),780px);width:min(calc(100cqw - 12px),calc(100cqh - 12px),780px);height:min(calc(100cqw - 12px),calc(100cqh - 12px),780px);max-width:100%;max-height:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;margin:auto}#three-container{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}#three-container canvas{display:block;width:100%!important;height:100%!important}#arrow{position:absolute;z-index:5;cursor:grab;width:66px;height:44px;-webkit-user-select:none;user-select:none;touch-action:none}#arrow:active{cursor:grabbing}.arrow-inner{width:100%;height:100%;animation:arrowFloat 2.5s ease-in-out infinite;filter:drop-shadow(0 6px 12px rgba(255,71,87,.5)) drop-shadow(0 2px 4px rgba(0,0,0,.25));transition:filter .2s}#arrow:hover .arrow-inner{filter:drop-shadow(0 8px 20px rgba(255,71,87,.7)) drop-shadow(0 3px 6px rgba(0,0,0,.3))}@keyframes arrowFloat{0%,to{transform:translate(0)}50%{transform:translate(-6px)}}#spin-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;width:111px;height:111px;border-radius:50%;background:linear-gradient(135deg,#6c63ff,#4a42d4);color:#fff;font-family:inherit;font-weight:700;font-size:21px;letter-spacing:1.5px;border:none;cursor:pointer;box-shadow:0 8px 32px #6c63ff80;transition:all .2s}#spin-btn:hover{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 8px 32px #6c63ff99}#spin-btn:active{transform:translate(-50%,-50%) scale(.95)}#spin-btn .spin-text{display:inline-flex;align-items:center;justify-content:center;gap:1px}#spin-btn .spin-letter{display:inline-block;line-height:1;background:linear-gradient(180deg,#fff,#dcdcfff2,#b4afffd9,#fffffff2,#c8c3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4)) drop-shadow(0 0 6px rgba(108,99,255,.3));animation:textPulse 3s ease-in-out infinite}#spin-btn .spin-s{font-size:1.35em;font-weight:800}#spin-btn .spin-p{font-size:1.1em;font-weight:700}#spin-btn .spin-i{font-size:.9em;font-weight:700}#spin-btn .spin-n{font-size:.72em;font-weight:600}body.spinning #spin-btn,.spinning #spin-btn{animation:pulse 1.5s infinite}#fab-group{position:fixed;bottom:60px;right:24px;z-index:20;display:flex;flex-direction:column;gap:12px}#fab-group button{width:48px;height:48px;border-radius:50%;background:var(--glass-bg-strong);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;box-shadow:var(--shadow-soft)}#fab-group button:hover{transform:scale(1.1);background:#6c63ff33;color:var(--primary);border-color:#6c63ff4d;box-shadow:0 6px 24px #6c63ff33}#fab-group button:active{transform:scale(.95)}#fab-remove:hover{background:#ff475726!important;color:var(--danger)!important;border-color:#ff47574d!important}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center}.modal.hidden{display:none}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-content{position:relative;background:var(--modal-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-light);color:var(--text-primary);border-radius:20px;padding:32px;min-width:360px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000001f,0 0 0 1px #ffffff4d inset;animation:modalIn .25s ease-out}.modal-content h2{color:var(--text-primary);font-size:20px;font-weight:600;margin-bottom:20px}.modal-content h3{color:var(--text-secondary);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:1px;margin:20px 0 12px}.color-settings-group{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:14px 16px;background:var(--input-bg, var(--glass-bg));border:1px solid var(--input-border, var(--border-light));border-radius:12px}.color-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.color-setting-row label{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:0}.color-setting-row input[type=color]{width:44px;height:32px;border-radius:8px;border:1px solid var(--border-light);cursor:pointer;background:transparent;padding:2px}.form-error{color:#ff4757;font-size:13px;font-weight:500;margin-top:6px}.form-error.hidden{display:none}.export-import-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.export-import-actions button,.export-import-actions .btn-secondary-label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer}.btn-secondary-label{background:var(--btn-sec-bg, rgba(255,255,255,.08));color:var(--text-primary);border:1px solid var(--border-light);transition:all .2s ease}.btn-secondary-label:hover{background:var(--btn-sec-hover, rgba(255,255,255,.15))}[data-theme=dark] #settings-modal .file-upload-label,[data-theme=dark] #settings-modal #bg-reset,[data-theme=dark] #settings-modal #export-wheels-btn,[data-theme=dark] #settings-modal .btn-secondary-label,[data-theme=dark] #settings-modal .btn-secondary{color:#fff;background:#ffffff1a;border-color:#ffffff26}[data-theme=dark] #settings-modal .file-upload-label:hover,[data-theme=dark] #settings-modal #bg-reset:hover,[data-theme=dark] #settings-modal #export-wheels-btn:hover,[data-theme=dark] #settings-modal .btn-secondary-label:hover,[data-theme=dark] #settings-modal .btn-secondary:hover{color:#fff;background:#ffffff2e;border-color:#ffffff40}.file-share-hint{font-size:13px;color:var(--text-secondary);margin-top:12px;line-height:1.4}.file-share-hint a{color:var(--primary);font-weight:500;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.file-share-hint a:hover{color:var(--primary-hover)}.import-content{max-width:460px}.import-content p{color:var(--text-secondary);font-size:14px;margin-bottom:20px;line-height:1.5}.import-options-group{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.import-options-group button{display:flex;flex-direction:column;align-items:flex-start;padding:16px;border-radius:12px;text-align:left;cursor:pointer;transition:all .2s ease}.import-options-group button strong{font-size:15px;margin-bottom:4px}.import-options-group button span{font-size:13px;opacity:.85;font-weight:400;line-height:1.4}.btn-danger-outline{background:transparent;border:1px solid rgba(255,71,87,.4);color:#ff4757}.btn-danger-outline:hover{background:#ff47571f;border-color:#ff4757}.result-content{text-align:center}.result-content .modal-actions{justify-content:center}#result-badge{font-size:52px;margin-bottom:8px}#result-text{font-size:28px;font-weight:700;color:var(--text-primary);padding:16px 24px;border-radius:12px;margin:16px 0 24px;background:#6c63ff1a;border:1px solid rgba(108,99,255,.2)}.confirm-content{text-align:center}#confirm-message{color:var(--text-primary);font-size:16px;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group>label{display:block;color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-hint{color:#6b5b8d99;font-size:12px;margin:4px 0 8px}.modal-content input[type=text],.modal-content input[type=color],.modal-content select{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}input[type=text]{width:100%;padding:10px 14px;background:var(--input-bg, rgba(255, 255, 255, .5));border:1px solid var(--border-lighter);border-radius:10px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}input[type=text]:focus{border-color:#6c63ff66;box-shadow:0 0 0 3px #6c63ff1a}input[type=color]{width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;background:transparent;padding:0}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border-radius:6px;border:2px solid rgba(0,0,0,.1)}input[type=file]{display:none}.file-upload-label{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#ffffff80;border:1px solid var(--border-lighter);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.file-upload-label:hover{background:#ffffffb3;color:var(--text-primary)}#segments-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;margin-bottom:12px}.segment-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff6;border-radius:10px;border:1px solid rgba(0,0,0,.04)}.segment-row input[type=text]{flex:1}.segment-row input[type=color]{flex-shrink:0}.seg-text-color-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.seg-text-color-wrap span{font-size:9px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.seg-text-color-wrap input[type=color]{width:30px;height:30px}.segment-remove-btn{width:32px;height:32px;border-radius:8px;background:transparent;border:1px solid rgba(255,71,87,.25);color:var(--danger);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s;line-height:1;padding-bottom:2px}.segment-remove-btn:hover{background:#ff47571a}.btn-primary{padding:10px 24px;background:linear-gradient(135deg,#6c63ff,#5a52e0);color:#fff;border:none;border-radius:10px;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6c63ff59}.btn-secondary{padding:10px 24px;background:#ffffff80;border:1px solid var(--border-lighter);border-radius:10px;color:var(--text-secondary);font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#ffffffb3;color:var(--text-primary)}.btn-danger{padding:10px 24px;background:#ff47571a;border:1px solid rgba(255,71,87,.25);border-radius:10px;color:var(--danger);font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#ff475733}.btn-ghost{padding:8px 16px;background:transparent;border:1px dashed rgba(108,99,255,.3);border-radius:10px;color:var(--primary);font-family:inherit;font-weight:500;font-size:13px;cursor:pointer;width:100%;transition:all .2s}.btn-ghost:hover{border-color:#6c63ff80;background:#6c63ff0f}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 #6c63ff66}70%{box-shadow:0 0 0 14px #6c63ff00}to{box-shadow:0 0 #6c63ff00}}@keyframes textPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.floating-particle{position:absolute;pointer-events:none;will-change:transform;filter:blur(.5px)}@keyframes particleRise{0%{transform:translateY(110vh) rotate(0);opacity:0}5%{opacity:var(--p-opacity, .3)}90%{opacity:var(--p-opacity, .3)}to{transform:translateY(-15vh) rotate(var(--p-rotation, 360deg));opacity:0}}@keyframes particleSway{0%,to{margin-left:0}25%{margin-left:var(--p-sway, 25px)}75%{margin-left:calc(var(--p-sway, 25px) * -1)}}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.toggle-row>span{color:var(--text-secondary);font-size:14px}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#0000001a;border-radius:26px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s;box-shadow:0 2px 4px #00000026}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(25px,-25px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(-20px,-35px)}}@keyframes float3{0%,to{transform:translate(0)}50%{transform:translate(35px,15px)}}@keyframes float4{0%,to{transform:translate(0)}50%{transform:translate(-25px,25px)}}@keyframes float5{0%,to{transform:translate(0)}50%{transform:translate(18px,30px)}}@keyframes float6{0%,to{transform:translate(0)}50%{transform:translate(-30px,-20px)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::selection{background:#6c63ff33}@media(max-width:768px){#wheel-tabs{flex-wrap:wrap;justify-content:center;padding:8px 12px;gap:4px}.wheel-tab{padding:6px 14px;font-size:12px}#spin-btn{width:87px;height:87px;font-size:17px}#fab-group{bottom:108px;right:16px;gap:8px;z-index:20}#fab-group button{width:42px;height:42px}.modal-content{min-width:unset;width:92vw;padding:24px}#result-text{font-size:22px}}.ad-banner-top{display:flex;justify-content:center;align-items:center;width:100%;max-width:728px;min-height:90px;margin:4px auto 2px;flex-shrink:0;overflow:hidden}#site-footer{width:100%;flex-shrink:0;z-index:10;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-light);padding:8px 24px}.footer-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.footer-brand{font-size:13px;color:var(--text-secondary)}.footer-brand strong{color:var(--text-primary)}.footer-nav{display:flex;gap:20px}.footer-nav a{font-size:12px;color:var(--text-secondary);text-decoration:none;transition:color .2s}.footer-nav a:hover{color:var(--primary);text-decoration:underline}.footer-copy{font-size:11px;color:#00000059}@media(max-width:768px){.footer-content{flex-direction:column;text-align:center}.footer-nav{gap:12px;flex-wrap:wrap;justify-content:center}}
