.app-root{max-width:960px;margin:0 auto;padding:16px;container:app/inline-size}.app-title-section{text-align:center;margin-bottom:16px}.app-title-section h1{margin:0;line-height:1.2}.app-subtitle{color:#555;margin:6px 0 0;font-size:.95rem;line-height:1.4}.app-layout{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}.app-wheel-area{flex-direction:column;align-items:center;gap:12px;display:flex}.app-textareas{flex-direction:column;gap:16px;display:flex}.app-template-chips{margin:0}.app-template-chips-summary{color:var(--btn-tertiary-fg);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;padding:2px 4px;font-size:.85rem;list-style:none;display:inline-flex}.app-template-chips-summary::-webkit-details-marker{display:none}.app-template-chips-summary:before{content:"▶";font-size:.7rem;transition:transform .12s ease-out}.app-template-chips[open]>.app-template-chips-summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.app-template-chips-summary:before{transition:none}}.app-template-chips-summary:hover{color:var(--btn-tertiary-fg-hover)}.app-template-chips-summary:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.app-template-chips-list{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.app-template-chip{border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:.85rem;line-height:1.2;transition:background-color .12s ease-out,border-color .12s ease-out,transform 80ms ease-out}.app-template-chip:hover{background:color-mix(in srgb, var(--fg) 8%, transparent);border-color:var(--fg)}.app-template-chip:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.app-template-chip{transition:none}}.app-template-chip:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.app-button-primary,.app-button-secondary,.app-button-tertiary,.app-button-destructive{cursor:pointer;border:1px solid #0000;border-radius:6px;min-height:44px;padding:10px 18px;font-family:inherit;font-size:.95rem;font-weight:500;line-height:1.2;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out,transform 80ms ease-out}.app-button-primary:active:not(:disabled),.app-button-secondary:active:not(:disabled),.app-button-tertiary:active:not(:disabled),.app-button-destructive:active:not(:disabled){transform:scale(.98)}.app-button-primary:focus-visible,.app-button-secondary:focus-visible,.app-button-tertiary:focus-visible,.app-button-destructive:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}.app-button-primary:disabled,.app-button-secondary:disabled,.app-button-tertiary:disabled,.app-button-destructive:disabled{opacity:.4;cursor:not-allowed}.app-button-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg);padding:12px 28px;font-size:1.05rem;font-weight:600}.app-button-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.app-button-secondary{color:#1f2937;background:#fff;border-color:#d1d5db}.app-button-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.app-button-destructive{color:var(--btn-destructive-fg);border-color:var(--btn-destructive-border);background:0 0}.app-button-destructive:hover:not(:disabled){background:var(--btn-destructive-bg-hover);border-color:var(--btn-destructive-fg)}.app-button-tertiary{color:var(--btn-tertiary-fg);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--btn-tertiary-decoration);text-decoration-color:var(--btn-tertiary-decoration);background:0 0;border:none;padding:8px 14px;text-decoration-thickness:1px}.app-button-tertiary:hover:not(:disabled){color:var(--btn-tertiary-fg-hover);text-decoration-color:currentColor}.app-draw-hint{color:#666;text-align:center;margin:0;font-size:.875rem}.app-winner{margin:0}.app-utility-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.app-copy-feedback{color:#555;white-space:nowrap;opacity:0;pointer-events:none;margin-top:4px;font-size:.85rem;transition:opacity .2s ease-out;position:absolute;top:100%;left:50%;transform:translate(-50%)}.app-copy-feedback[data-state=copied],.app-copy-feedback[data-state=failed],.app-copy-feedback[data-state=unsupported]{opacity:1}@media (prefers-reduced-motion:reduce){.app-copy-feedback{transition:none}}.app-hash-overlimit-warning{color:#b26500;text-align:center;max-width:360px;margin:8px 0 0;font-size:.85rem}.app-reset-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.app-clear-confirm-description{color:var(--fg);opacity:.75;margin:0;font-size:.9rem}.app-qr-modal{gap:16px}.app-qr-instruction{color:var(--fg);margin:0;font-size:.9rem}.app-qr-error{color:#b26500;text-align:center;max-width:200px;margin:0;font-size:.875rem}.app-qr-placeholder{width:256px;height:256px}@container app (width>=768px){.app-layout{grid-template-columns:1fr 1fr}}.fullview-overlay{background:var(--bg);z-index:50;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.fullview-exit-btn{color:var(--btn-tertiary-fg);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;min-height:44px;padding:8px 14px;font-family:inherit;font-size:.875rem;font-weight:500;transition:color .12s ease-out,border-color .12s ease-out;position:absolute;top:16px;right:16px}.fullview-exit-btn:hover{color:var(--btn-tertiary-fg-hover);border-color:var(--fg)}.fullview-exit-btn:focus-visible{outline:2px solid var(--focus-outline);outline-offset:2px}@media (prefers-reduced-motion:reduce){.fullview-exit-btn{transition:none}}:root{--bg:#fff;--fg:#222;--border:#ddd;--modal-bg:#fff;--modal-shadow:#0000004d;--modal-backdrop:#00000080;--btn-primary-bg:#1f2937;--btn-primary-bg-hover:#111827;--btn-primary-fg:#fff;--btn-destructive-fg:#b91c1c;--btn-destructive-border:#fca5a5;--btn-destructive-bg-hover:#fee2e2;--btn-tertiary-fg:#6b7280;--btn-tertiary-fg-hover:#1f2937;--btn-tertiary-decoration:#d1d5db;--focus-outline:#1f2937}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1a1a;--fg:#eee;--border:#444;--modal-bg:#2a2a2a;--modal-shadow:#0009;--modal-backdrop:#000000b3;--btn-primary-bg:#f3f4f6;--btn-primary-bg-hover:#fff;--btn-primary-fg:#111827;--btn-destructive-fg:#f87171;--btn-destructive-border:#991b1b;--btn-destructive-bg-hover:#7f1d1d;--btn-tertiary-fg:#9ca3af;--btn-tertiary-fg-hover:#f3f4f6;--btn-tertiary-decoration:#4b5563;--focus-outline:#f3f4f6}}:root[data-theme=dark]{--bg:#1a1a1a;--fg:#eee;--border:#444;--modal-bg:#2a2a2a;--modal-shadow:#0009;--modal-backdrop:#000000b3;--btn-primary-bg:#f3f4f6;--btn-primary-bg-hover:#fff;--btn-primary-fg:#111827;--btn-destructive-fg:#f87171;--btn-destructive-border:#991b1b;--btn-destructive-bg-hover:#7f1d1d;--btn-tertiary-fg:#9ca3af;--btn-tertiary-fg-hover:#f3f4f6;--btn-tertiary-decoration:#4b5563;--focus-outline:#f3f4f6}body{background:var(--bg);color:var(--fg)}.app-modal-backdrop{background:var(--modal-backdrop);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-modal-content{background:var(--modal-bg);color:var(--fg);text-align:center;min-width:280px;max-width:calc(100% - 32px);box-shadow:0 8px 32px var(--modal-shadow);border-radius:8px;flex-direction:column;align-items:center;gap:20px;padding:32px 40px;animation:.28s ease-out modal-fade-in;display:flex}.app-modal-title{margin:0;font-size:1.4rem}.app-modal-title strong{animation:.24s ease-out winner-pop;display:inline-block}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes winner-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.app-modal-content,.app-modal-title strong{animation:none}}.app-modal-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:flex}.app-modal-actions button>span[aria-hidden=true]{margin-right:6px}.app-modal-actions .app-button-destructive{margin-top:17px;position:relative}.app-modal-actions .app-button-destructive:before{content:"";background:var(--border);height:1px;position:absolute;top:-9px;left:0;right:0}.app-textarea-section label{margin-bottom:4px;display:block}.app-count-badge{color:#fff;background:#2563eb;border-radius:999px;justify-content:center;align-items:center;min-width:1.5em;height:1.4em;padding:0 6px;font-size:.85em;font-weight:600;line-height:1;display:inline-flex}.app-count-badge[data-empty=true]{color:#374151;background:#e5e7eb}.app-textarea-section textarea{box-sizing:border-box;background:var(--bg);width:100%;color:var(--fg);border:1px solid var(--border);field-sizing:content;min-height:8em;max-height:60vh}.app-text-stats{color:#666;margin:4px 0 0;font-size:.75rem}.app-error-boundary{text-align:center;max-width:480px;margin:64px auto;padding:24px;font-family:system-ui,-apple-system,sans-serif}.app-error-boundary details{text-align:left;color:#666;margin-top:16px}.app-error-boundary pre{white-space:pre-wrap;word-break:break-word;background:#f5f5f5;border-radius:4px;padding:8px;font-size:.85rem}.app-error-boundary button{cursor:pointer;margin-top:16px;padding:8px 24px;font-size:1rem}
