*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";display:flex;flex-direction:column;min-height:100vh;line-height:1.6;background-color:#f4f7f6;color:#333;padding-top:70px;padding-bottom:50px}header{position:fixed;top:0;left:0;width:100%;background-color:#2c3e50;color:#ecf0f1;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;z-index:1000;height:70px;box-shadow:0 2px 4px rgba(0,0,0,.1)}header h1{font-size:1.8rem;margin:0;display:inline-block;margin-right:.5rem;font-weight:600}header .version{font-size:.9rem;opacity:.8;font-weight:300}header .return-button{color:#ecf0f1;background-color:#34495e;padding:.5rem 1rem;text-decoration:none;border-radius:4px;transition:background-color .3s ease;font-size:.9rem}header .return-button:hover{background-color:#4e6d8c}header .return-button i{margin-right:.5em}main{flex-grow:1;padding:1.5rem 2rem;max-width:1200px;margin:0 auto;width:100%}main .description{background-color:#e8f4fd;padding:.8rem 1.2rem;border-left:4px solid #3498db;margin-bottom:1.5rem;font-style:italic;color:#2c3e50;border-radius:0 4px 4px 0}.app-container{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:2rem;align-items:flex-start}.input-section h2,.picker-section h2,.results-section h2{margin-bottom:1rem;border-bottom:2px solid #bdc3c7;padding-bottom:.3rem;color:#34495e;font-weight:600}.input-section label[for=itemInput]{display:block;margin-bottom:.5rem;font-weight:600;color:#555}textarea#itemInput{width:100%;padding:.75rem;border:1px solid #bdc3c7;border-radius:4px;font-size:1rem;margin-bottom:.8rem;background-color:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}textarea#itemInput:focus{border-color:#3498db;box-shadow:0 0 0 2px rgba(52,152,219,.2);outline:0}.options-section{margin-top:.5rem;margin-bottom:1rem;padding:.75rem;background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px}.options-section label{display:flex;align-items:center;gap:.6em;font-size:.9rem;color:#495057;cursor:pointer;font-weight:500}.options-section label:nth-of-type(2){margin-top:.5em}.options-section input[type=checkbox]{cursor:pointer;width:1.1em;height:1.1em;accent-color:#007bff;vertical-align:middle}.input-button-group{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.input-button-group button{flex-grow:1;flex-basis:150px}#randomizeButton i{margin-left:.5em}#randomizeButton{background-color:#5dade2}#randomizeButton:hover:not(:disabled){background-color:#4a9ac4}.picker-section{display:flex;flex-direction:column;align-items:center}#wheelContainer{position:relative;width:350px;height:350px;margin:1rem auto;margin-bottom:1.5rem;overflow:hidden;border-radius:50%;border:4px solid #34495e;box-shadow:0 8px 16px rgba(0,0,0,.2),inset 0 4px 6px rgba(0,0,0,.1),inset 0 -4px 6px rgba(255,255,255,.3);background:radial-gradient(ellipse at center,#fff 70%,#e0e0e0 100%)}#wheelCanvas{display:block;width:100%;height:100%}#wheelPointer{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:0;color:transparent;z-index:10;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:20px solid #c0392b;text-indent:-9999px;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.4))}.results-section{display:flex;flex-direction:column}.picked-items-list-container{max-height:300px;overflow-y:auto;border:1px solid #bdc3c7;background-color:#fff;margin-bottom:1rem;border-radius:4px}#pickedList{padding-left:0;list-style:none;counter-reset:picked-counter}#pickedList li{padding:.4rem .5rem .4rem 4.5rem;border-bottom:1px dashed #ecf0f1;position:relative;counter-increment:picked-counter;color:#555;min-height:2.5em;display:flex;align-items:center}#pickedList li::before{content:counter(picked-counter);position:absolute;left:2.75rem;top:50%;transform:translateY(-50%);background-color:#3498db;color:#fff;font-size:.8em;font-weight:700;border-radius:50%;width:1.5em;height:1.5em;line-height:1.5em;text-align:center;z-index:1}#pickedList li.highlighted-item::after{content:'';position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #e74c3c;z-index:1}#pickedList li:last-child{border-bottom:none}.controls{margin-top:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%;max-width:250px;margin-left:auto;margin-right:auto}.controls #resetButton{width:100%}.load-save-stack{display:flex;flex-direction:column;gap:.5rem;width:100%}.load-save-stack button{width:100%}button{padding:.75rem 1.2rem;font-size:1rem;font-weight:500;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease,box-shadow .3s ease,transform .1s ease;box-shadow:0 2px 4px rgba(0,0,0,.1);text-align:center}button:hover:not(:disabled){background-color:#2980b9;box-shadow:0 4px 8px rgba(0,0,0,.15)}button:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 2px rgba(0,0,0,.1)}button:disabled{background-color:#bdc3c7;color:#7f8c8d;cursor:not-allowed;opacity:.7;box-shadow:none}#setItemsButton{background-color:#1abc9c}#setItemsButton:hover:not(:disabled){background-color:#16a085}#spinButton{width:100%;max-width:350px}#resetButton{background-color:#e74c3c}#resetButton:hover:not(:disabled){background-color:#c0392b}#loadButton,#saveButton{background-color:#2ecc71}#loadButton:hover:not(:disabled),#saveButton:hover:not(:disabled){background-color:#27ae60}.link-button{background:0 0;border:none;color:#bdc3c7;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0;box-shadow:none;font-weight:400;vertical-align:baseline}.link-button:hover{color:#ecf0f1;background:0 0}.link-button:active{transform:none}footer{position:fixed;bottom:0;left:0;width:100%;background-color:#2c3e50;color:#bdc3c7;padding:.8rem 2rem;text-align:center;font-size:.9rem;z-index:1000;height:50px;line-height:calc(50px - 1.6rem)}footer a{color:#bdc3c7;text-decoration:none;margin:0 .5rem;transition:color .3s ease}footer a:hover{color:#ecf0f1;text-decoration:underline}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.6);backdrop-filter:blur(3px)}.modal-content{background-color:#fefefe;margin:10% auto;padding:25px 30px;border:1px solid #bdc3c7;width:80%;max-width:600px;border-radius:8px;position:relative;box-shadow:0 5px 15px rgba(0,0,0,.3);animation:fadeInModal .3s ease-out}@keyframes fadeInModal{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin-top:0;color:#2c3e50;margin-bottom:1rem}.modal-content p{margin-bottom:1em;color:#555;line-height:1.7}.close-button{color:#aaa;position:absolute;top:10px;right:15px;font-size:28px;font-weight:700;transition:color .3s ease}.close-button:focus,.close-button:hover{color:#e74c3c;text-decoration:none;cursor:pointer}@media (max-width:992px){.app-container{grid-template-columns:1fr 1fr;gap:1.5rem}.input-section{grid-column:1/-1;margin-bottom:1.5rem}.picker-section{grid-column:1/2}.results-section{grid-column:2/3;display:flex;flex-direction:column;align-items:center}.picked-items-list-container,.results-options{width:100%;max-width:400px}.controls{margin-left:0;margin-right:0;align-items:stretch;max-width:300px}}@media (max-width:768px){header{padding:.8rem 1rem;height:auto;flex-direction:column;align-items:flex-start;padding-bottom:.5rem}header .return-button{margin-top:.5rem}body{padding-top:90px}main{padding:1rem}.app-container{grid-template-columns:1fr;gap:1rem}.input-section,.picker-section,.results-section{grid-column:1/-1}#wheelContainer{width:300px;height:300px}#spinButton{max-width:300px}.picked-items-list-container,.results-options{max-width:none}.controls{max-width:none;align-items:stretch}footer{padding:.5rem 1rem;font-size:.8rem;height:auto;line-height:1.5;padding-bottom:.5rem;text-align:left}body{padding-bottom:70px}.modal-content{width:90%;margin:15% auto}}