:root{color:#222;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#eef5fb;font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.5}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{min-width:320px;min-height:100vh}button,textarea,input{font:inherit}*{box-sizing:border-box}.app{width:100%;min-height:100vh;padding:24px}.parent-site-link{color:#2f6db3;margin-bottom:10px;font-size:.9rem;display:inline-block}.parent-site-link:visited{color:#2f6db3}.app-header{text-align:center;margin-bottom:32px}.app-header h1{margin:0;font-size:2.75rem}.app-header p{margin-top:8px;font-size:1.2rem}.app-main{grid-template-columns:minmax(440px,520px) minmax(450px,650px);justify-content:center;align-items:start;gap:40px;max-width:1250px;margin:0 auto;display:grid}.editor-panel,.wheel-panel{background-color:#fff;border:1px solid #d0d0d0;border-radius:12px;padding:24px}.editor-panel h2{text-align:center;margin-top:0}.wheel-panel{text-align:center}.selection-mode{background-color:#f7f9fb;border:0;border-radius:8px;min-width:0;margin:0 0 18px;padding:10px 12px 12px}.selection-mode legend{color:#333;margin-bottom:7px;padding:0;font-size:.95rem;font-weight:700}.selection-mode-options{gap:5px;display:grid}.selection-mode-option{color:#444;cursor:pointer;align-items:flex-start;gap:9px;font-size:.95rem;line-height:1.35;display:flex}.selection-mode-option input{cursor:pointer;flex:none;width:16px;height:16px;margin:2px 0 0}.selection-mode-option span{flex:1}.selection-mode-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.selection-mode-row .selection-mode-option{flex:1}.raffle-option{color:#444;white-space:nowrap;cursor:pointer;align-items:center;gap:5px;margin-top:1px;font-size:.9rem;display:flex}.raffle-option input{cursor:pointer;width:15px;height:15px;margin:0}.raffle-option-disabled{cursor:not-allowed;opacity:.65}.raffle-option-disabled input{cursor:not-allowed}.selection-mode:disabled .selection-mode-option,.selection-mode:disabled .raffle-option{cursor:not-allowed;opacity:.65}.selection-mode:disabled .selection-mode-option input,.selection-mode:disabled .raffle-option input{cursor:not-allowed}.raffle-generator{background-color:#f7f9fb;border:1px solid #ddd;border-radius:8px;margin:0 0 18px;padding:12px}.raffle-generator h3{color:#333;margin:0 0 4px;font-size:1rem}.raffle-generator-description{color:#666;margin:0;font-size:.85rem;line-height:1.4}.raffle-generator-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:10px;display:grid}.raffle-generator-fields label{color:#333;gap:5px;font-size:.9rem;font-weight:600;display:grid}.raffle-generator-fields input{color:#222;width:100%;font:inherit;text-align:center;background-color:#fff;border:1px solid #c9c9c9;border-radius:7px;padding:8px 10px}.raffle-generator-fields input:focus{border-color:#2f6db3;outline:2px solid #2f6db333}.raffle-generator-fields input:disabled{color:#666;background-color:#f5f5f5}.raffle-generator-button{color:#fff;cursor:pointer;background-color:#2f6db3;border:1px solid #2f6db3;border-radius:7px;width:100%;margin-top:10px;padding:9px 12px;font-weight:600}.raffle-generator-button:hover:not(:disabled){filter:brightness(1.08)}.raffle-generator-button:disabled{opacity:.55;cursor:not-allowed}.raffle-generator-error{color:#a32920;background-color:#fff3f2;border:1px solid #e4aaa5;border-radius:6px;margin-top:10px;padding:7px 9px;font-size:.85rem;line-height:1.4}.choice-lists{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.choice-lists-remove-mode{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.choice-list-column,.winners-list-column{min-width:0}.choice-list-column h3,.winners-list-column h3{text-align:center;color:#333;margin:0 0 8px;font-size:1rem}.choice-list-column textarea{color:#222;width:100%;height:260px;font:inherit;resize:none;background-color:#fff;border:1px solid #c9c9c9;border-radius:8px;padding:10px;line-height:1.4;display:block}.choice-list-column textarea:focus{border-color:#2f6db3;outline:2px solid #2f6db333}.choice-list-column textarea:disabled{color:#666;background-color:#f5f5f5}.choice-count{color:#666;text-align:left;margin-top:6px;font-size:.85rem}.winners-list{text-align:left;background-color:#f7f9fb;border:1px solid #c9c9c9;border-radius:8px;width:100%;height:260px;padding:10px 12px;overflow-y:auto}.winners-list ol{margin:0;padding-left:28px}.winners-list li{color:#333;padding:5px 4px;line-height:1.35}.winners-list li+li{border-top:1px solid #e2e2e2}.winners-list-placeholder{color:#888;text-align:center;justify-content:center;align-items:center;height:100%;font-size:.9rem;display:flex}.editor-buttons{gap:10px;margin-top:12px;display:flex}.update-button,.clear-button{flex:1}.pointer-spring-wrapper{transform-origin:250px 20px;transform-box:view-box}.pointer-spring{animation:.18s ease-out pointerSpring}@keyframes pointerSpring{0%{transform:rotate(0)}35%{transform:rotate(5deg)}65%{transform:rotate(-2deg)}to{transform:rotate(0)}}.spin-button{letter-spacing:.08em;color:#fff;cursor:pointer;background:linear-gradient(#ff8a3d 0%,#e35a1f 100%);border:none;border-radius:999px;margin-top:16px;padding:14px 30px;font-size:1.15rem;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 6px 14px #0000002e,inset 0 2px #ffffff40}.spin-button:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-2px);box-shadow:0 9px 18px #00000038,inset 0 2px #ffffff40}.spin-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 4px 10px #0000002e,inset 0 2px #ffffff2e}.spin-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.winner-display{background-color:#f8f8f8;border:1px solid #d6d6d6;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:74px;margin-top:18px;padding:12px 24px;transition:transform .2s,box-shadow .2s,background-color .2s;display:flex}.winner-placeholder{color:#666;font-size:1rem}.winner-label{letter-spacing:.08em;text-transform:uppercase;color:#666;font-size:.85rem;font-weight:700}.winner-name{color:#222;margin-top:2px;font-size:1.5rem;font-weight:700}.winner-ticket-emphasis{font-weight:800}.winner-display-active{background-color:#fff8e8;border-color:#d6a62d;transform:translateY(-1px);box-shadow:0 5px 14px #0000001f}.list-file-section{border-top:1px solid #ddd;margin-top:24px;padding-top:20px}.list-name-label{color:#333;margin-bottom:6px;font-weight:600;display:block}.optional-label{color:#777;font-weight:400}.list-name-input{background-color:#fff;border:1px solid #c9c9c9;border-radius:7px;width:100%;padding:9px 10px}.list-name-input:focus{border-color:#2f6db3;outline:2px solid #2f6db333}.list-file-buttons{gap:10px;margin-top:10px;display:flex}.export-list-button,.import-list-button{color:#222;cursor:pointer;background-color:#f7f7f7;border:1px solid #b8b8b8;border-radius:7px;flex:1;padding:9px 12px;font-weight:600}.export-list-button:hover:not(:disabled),.import-list-button:hover:not(:disabled){background-color:#eee}.export-list-button:disabled,.import-list-button:disabled{opacity:.55;cursor:not-allowed}.hidden-file-input{display:none}.list-privacy-note{color:#666;margin:10px 0 0;font-size:.82rem;line-height:1.4}.list-transfer-message{color:#444;background-color:#f3f6f8;border-radius:6px;margin-top:8px;padding:7px 9px;font-size:.85rem}.app-info{color:#444;background-color:#fff;border:1px solid #ddd;border-radius:10px;width:min(1100px,100% - 32px);margin:28px auto 20px;padding:22px 24px;line-height:1.6}.app-info h2{color:#333;margin:0 0 12px;font-size:1.35rem}.app-info h3{color:#333;margin:20px 0 8px;font-size:1.1rem}.app-info p{margin:0 0 12px}.app-info p:last-child{margin-bottom:0}@media (width<=950px){.app-main{grid-template-columns:1fr;max-width:650px}.app{padding:16px}.app-header h1{font-size:2.2rem}}.app-footer{color:#777;justify-content:center;align-items:center;gap:10px;margin:28px auto 0;font-size:.9rem;display:flex}.app-footer a{color:#555;text-decoration:none}.app-footer a:hover{text-decoration:underline}@media (width<=600px){.choice-lists,.choice-lists-remove-mode{grid-template-columns:1fr}.choice-list-column textarea,.winners-list{height:220px}.raffle-generator-fields{grid-template-columns:1fr}}
