.wheel-app{--wheel-control-size:2.25rem;flex-direction:column;gap:2rem;width:100%;display:flex}.wheel-app button,.wheel-app label,.wheel-app .wheel-display-title,.wheel-app .wheel-items-heading,.wheel-app .wheel-presets-heading,.wheel-modal button,.wheel-modal label,.wheel-modal .wheel-modal-title{user-select:none}.wheel-main{align-items:start;gap:2rem;width:100%;display:grid}@media (width>=48rem){.wheel-main{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:2.5rem}}.wheel-stage{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.wheel-stage-header{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,40rem);display:flex}.wheel-fullscreen-btn{font-family:var(--font-ui);border:1px solid var(--line);background:var(--paper-elevated);color:var(--ink-muted);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.875rem;font-weight:600;line-height:1;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex}.wheel-fullscreen-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wheel-fullscreen-btn:disabled{opacity:.55;cursor:not-allowed}.wheel-fullscreen-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}:-webkit-any(.wheel-stage:fullscreen,.wheel-stage:-webkit-full-screen,.wheel-stage.is-fullscreen){background:var(--paper);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;height:100%;padding:clamp(1.5rem,4vw,3rem);display:flex}:is(.wheel-stage:fullscreen,.wheel-stage:fullscreen,.wheel-stage.is-fullscreen){background:var(--paper);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;height:100%;padding:clamp(1.5rem,4vw,3rem);display:flex}.wheel-stage:fullscreen .wheel-stage-header,.wheel-stage.is-fullscreen .wheel-stage-header{width:min(100%,52rem)}.wheel-stage:fullscreen .wheel-frame,.wheel-stage.is-fullscreen .wheel-frame{width:min(85vmin,52rem)}.wheel-stage:fullscreen .wheel-stage-outcome,.wheel-stage.is-fullscreen .wheel-stage-outcome{width:min(100%,52rem)}.wheel-display-title{font-family:var(--font-display);text-align:left;color:var(--ink);flex:1;min-width:0;margin:0;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;line-height:1.2}.wheel-frame{aspect-ratio:1;width:min(100%,40rem);position:relative}.wheel-app:not(.is-spinning) .wheel-frame:not(.is-empty){cursor:pointer}.wheel-app.is-spinning .wheel-frame{cursor:default}.wheel-frame.is-empty .wheel-pointer,.wheel-frame.is-empty .wheel-rotator-clip{visibility:hidden}.wheel-empty{border:1px dashed var(--line);background:var(--paper-elevated);font-family:var(--font-ui);color:var(--ink-muted);text-align:center;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:2rem;font-size:1rem;font-weight:500;line-height:1.5;display:flex;position:absolute;inset:0}.wheel-empty[hidden]{display:none}.wheel-pointer{border-left:.65rem solid #0000;border-right:.65rem solid #0000;border-top:1.1rem solid var(--accent);z-index:3;filter:drop-shadow(0 1px 1px #00000026);width:0;height:0;position:absolute;top:.2rem;left:50%;translate:-50%}.wheel-rotator-clip{border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden}.wheel-rotator{will-change:transform;width:100%;height:100%}.wheel-rotator.is-spinning{pointer-events:none}.wheel-rotator canvas{width:100%;height:100%;display:block}.wheel-spin-btn{z-index:3;font-family:var(--font-ui);border:1px solid var(--line);background:var(--paper-elevated);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.65rem 1.75rem;font-size:1rem;font-weight:600;line-height:1;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex;position:relative}.wheel-spin-icon{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.wheel-spin-label{line-height:1}.wheel-spin-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wheel-spin-btn:disabled{opacity:.55;cursor:not-allowed}.wheel-result{font-family:var(--font-ui);min-height:1.75rem;color:var(--ink);text-align:center;visibility:hidden;margin:0;font-size:1.125rem;font-weight:600;line-height:1.75rem}.wheel-result.is-visible{visibility:visible}.wheel-stage-outcome{flex-direction:column;gap:.5rem;width:min(100%,40rem);min-height:4.75rem;display:flex}.wheel-result-share{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:100%;min-height:2.5rem;display:grid}.wheel-result-share:not(.is-available){visibility:hidden;pointer-events:none}.wheel-result-download-btn,.wheel-result-copy-image-btn,.wheel-result-copy-text-btn,.wheel-share-wheel-btn{font:inherit;border:1px solid var(--line);background:var(--paper-elevated);color:var(--ink-muted);cursor:pointer;border-radius:.35rem;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .65rem;display:inline-flex}.wheel-result-download-btn:hover:not(:disabled),.wheel-result-copy-image-btn:hover:not(:disabled),.wheel-result-copy-text-btn:hover:not(:disabled),.wheel-share-wheel-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wheel-result-download-btn.is-success,.wheel-result-copy-image-btn.is-success,.wheel-result-copy-text-btn.is-success,.wheel-modal-primary-btn.is-success{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--paper-elevated))}.wheel-app.is-spinning .wheel-editor-actions,.wheel-app.is-spinning .wheel-presets-footer{opacity:.72}.wheel-editor{font-family:var(--font-ui);flex-direction:column;gap:1rem;min-width:0;min-height:0;display:flex;overflow:hidden}@media (width>=48rem){.wheel-editor{box-sizing:border-box}}.wheel-editor>.wheel-field{flex-shrink:0}.wheel-presets-footer{border-top:1px solid var(--line);flex-direction:column;gap:.65rem;padding-top:.25rem;display:flex}.wheel-presets-heading{color:var(--ink-muted);margin:0;font-size:.875rem;font-weight:600}.wheel-preset-list{flex-wrap:wrap;gap:.5rem;display:flex}.wheel-preset-btn{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink-muted);cursor:pointer;border-radius:999px;padding:.35rem .7rem;font-size:.8125rem}.wheel-preset-btn:hover{border-color:var(--accent);color:var(--accent)}.wheel-field{flex-direction:column;gap:.35rem;display:flex}.wheel-field label{color:var(--ink-muted);font-size:.875rem;font-weight:600}.wheel-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wheel-field input[type=text],.wheel-field input[type=number]{font:inherit;border:1px solid var(--line);background:var(--paper-elevated);color:var(--ink);border-radius:.35rem;padding:.5rem .65rem}.wheel-items-heading{color:var(--ink-muted);flex-shrink:0;margin:0;font-size:.875rem;font-weight:600}.wheel-items-scroll{overscroll-behavior:contain;border:1px solid var(--line);background:var(--paper-elevated);scrollbar-width:none;border-radius:.5rem;flex:auto;min-height:0;padding:.5rem;overflow-y:auto}@media (width<=47.99rem){.wheel-items-scroll{min-height:min(50vh,28rem)}}.wheel-items-scroll::-webkit-scrollbar{display:none}.wheel-items-scroll.has-overflow{mask-image:linear-gradient(#000 0% 88%,#0000 100%)}.wheel-items-scroll.has-overflow.at-bottom{mask-image:none}.wheel-items{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.wheel-item-row{border:1px solid var(--line);background:var(--paper);border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.wheel-item-row.is-hidden{opacity:.65}.wheel-item-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem .75rem;display:grid}.wheel-item-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.wheel-item-weight{flex:none;min-width:0}.wheel-item-weight-control{align-items:center;gap:.4rem;display:inline-flex}.wheel-weight-step-btn{width:var(--wheel-control-size);height:var(--wheel-control-size);border:1px solid var(--line);background:var(--paper-elevated);color:var(--ink-muted);cursor:pointer;touch-action:manipulation;user-select:none;box-sizing:border-box;border-radius:.35rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-flex}.wheel-weight-step-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wheel-weight-step-btn:active:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, var(--paper-elevated));border-color:var(--accent);color:var(--accent)}.wheel-weight-step-btn:disabled{opacity:.45;cursor:not-allowed}.wheel-item-weight-input{width:3.25rem;min-width:3.25rem;height:var(--wheel-control-size);box-sizing:border-box;border:1px solid var(--line);background:var(--paper-elevated);text-align:center;appearance:textfield;border-radius:.35rem;padding:0 .35rem;line-height:1}.wheel-item-weight-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.wheel-item-weight-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.wheel-icon-btn{width:var(--wheel-control-size);height:var(--wheel-control-size);box-sizing:border-box;border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:.35rem;justify-content:center;align-items:center;padding:0;display:inline-flex}.wheel-icon-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wheel-icon-btn:disabled{opacity:.45;cursor:not-allowed}.wheel-icon-btn--danger{color:#b42318;border-color:color-mix(in srgb, #b42318 35%, var(--line))}.wheel-icon-btn--danger:hover:not(:disabled){color:#b42318;background:#b4231814;border-color:#b42318}.wheel-editor-actions{flex-direction:column;flex-shrink:0;gap:.5rem;width:100%;display:flex}.wheel-editor-actions-row{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.wheel-add-btn,.wheel-bulk-btn,.wheel-saved-manage-btn,.wheel-history-btn{font:inherit;border:1px dashed var(--line);width:100%;color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:.35rem;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .85rem;display:inline-flex}.wheel-bulk-btn,.wheel-saved-manage-btn,.wheel-history-btn{background:var(--paper-elevated);border-style:solid}.wheel-action-icon{line-height:0;display:inline-flex}.wheel-add-btn:hover:not(:disabled),.wheel-bulk-btn:hover:not(:disabled),.wheel-saved-manage-btn:hover:not(:disabled),.wheel-history-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wheel-add-btn:disabled{opacity:.55;cursor:not-allowed}.wheel-status{color:var(--ink-subtle);flex-shrink:0;margin:0;font-size:.875rem}.wheel-status.is-error{color:#b42318}.wheel-modal-overlay{z-index:40;overscroll-behavior:none;background:color-mix(in srgb, var(--ink) 45%, transparent);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow:hidden}.wheel-modal{border:1px solid var(--line);background:var(--paper);border-radius:.75rem;flex-direction:column;width:min(100%,32rem);max-height:min(90vh,40rem);display:flex;box-shadow:0 16px 48px #0000002e}.wheel-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .75rem;display:flex}.wheel-modal-title{font-family:var(--font-ui);color:var(--ink);margin:0;font-size:1rem;font-weight:600}.wheel-modal-close{border:1px solid var(--line);width:2rem;height:2rem;color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:.35rem;justify-content:center;align-items:center;padding:0;display:inline-flex}.wheel-modal-close:before{content:none}.wheel-modal-close:hover{border-color:var(--accent);color:var(--accent)}.wheel-modal-body{flex-direction:column;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.wheel-modal-description{color:var(--ink-muted);margin:0;font-size:.875rem;line-height:1.5}.wheel-modal-error{color:#b42318;margin:0;font-size:.875rem}.wheel-modal-error[hidden]{display:none}.wheel-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.wheel-modal-primary-btn{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:.35rem;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .9rem;display:inline-flex}.wheel-modal-primary-btn:hover{filter:brightness(1.05)}.wheel-modal-secondary-btn{font:inherit;border:1px solid var(--line);background:var(--paper-elevated);color:var(--ink-muted);cursor:pointer;border-radius:.35rem;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .9rem;display:inline-flex}.wheel-modal-secondary-btn:hover{border-color:var(--accent);color:var(--accent)}.wheel-share-link-input{border:1px solid var(--line);background:var(--paper-elevated);width:100%;font:inherit;color:var(--ink);border-radius:.35rem;padding:.55rem .65rem}.wheel-bulk-textarea{font:inherit;border:1px solid var(--line);background:var(--paper-elevated);min-height:12rem;color:var(--ink);resize:vertical;border-radius:.5rem;padding:.65rem;line-height:1.5}.wheel-saved-save-row{align-items:stretch;gap:.5rem;display:flex}.wheel-saved-name-input{min-width:0;font:inherit;border:1px solid var(--line);background:var(--paper-elevated);color:var(--ink);border-radius:.35rem;flex:auto;padding:.5rem .65rem}.wheel-saved-list{flex-direction:column;gap:.5rem;max-height:14rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.wheel-saved-list[hidden]{display:none}.wheel-saved-row{border:1px solid var(--line);background:var(--paper-elevated);border-radius:.35rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;display:flex}.wheel-saved-name{color:var(--ink);min-width:0;font-size:.875rem;font-weight:500}.wheel-saved-actions{flex-shrink:0;gap:.35rem;display:flex}.wheel-saved-load-btn,.wheel-saved-delete-btn{font:inherit;border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:.3rem;padding:.3rem .55rem;font-size:.75rem}.wheel-saved-load-btn:hover{border-color:var(--accent);color:var(--accent)}.wheel-saved-delete-btn{color:#b42318;border-color:color-mix(in srgb, #b42318 35%, var(--line))}.wheel-saved-delete-btn:hover{color:#b42318;border-color:#b42318}.wheel-saved-empty{color:var(--ink-subtle);margin:0;font-size:.875rem}.wheel-saved-empty[hidden]{display:none}.wheel-history-scroll{overscroll-behavior:contain;border:1px solid var(--line);background:var(--paper-elevated);scrollbar-width:none;border-radius:.5rem;max-height:min(50vh,24rem);padding:.5rem;overflow-y:auto}.wheel-history-scroll::-webkit-scrollbar{display:none}.wheel-history-scroll.has-overflow{mask-image:linear-gradient(#000 0% 88%,#0000 100%)}.wheel-history-scroll.has-overflow.at-bottom{mask-image:none}.wheel-history-scroll[hidden]{display:none}.wheel-history-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.wheel-history-row{border:1px solid var(--line);background:var(--paper-elevated);border-radius:.35rem;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.45rem .55rem;display:flex}.wheel-history-label{color:var(--ink);overflow-wrap:anywhere;min-width:0;font-size:.875rem;font-weight:500}.wheel-history-time{color:var(--ink-subtle);white-space:nowrap;flex-shrink:0;font-size:.75rem}.wheel-history-empty{color:var(--ink-subtle);margin:0;font-size:.875rem}.wheel-history-empty[hidden]{display:none}@media (prefers-color-scheme:dark){.wheel-status.is-error,.wheel-modal-error{color:#f4a9a0}.wheel-icon-btn--danger{color:#f4a9a0;border-color:color-mix(in srgb, #f4a9a0 35%, var(--line))}.wheel-icon-btn--danger:hover:not(:disabled){color:#f4a9a0;background:#f4a9a01a;border-color:#f4a9a0}}
