:root{--canvas: #f7f5ef;--ink: #1f2520;--muted-ink: #5c655e;--accent: #c0c963;--accent-ink: #24311e;--surface: #ffffff;--danger: #9b302c;--radius-lg: 28px;--radius-md: 16px;--shadow: 7px 9px 0 rgb(31 37 32 / 16%);font-family:Avenir Next,Avenir,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:light}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas);scrollbar-color:var(--muted-ink) var(--canvas)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}::-moz-selection{background:var(--accent);color:var(--accent-ink)}::selection{background:var(--accent);color:var(--accent-ink)}.presenter-shell{min-height:100dvh;display:grid;background:var(--canvas)}.phone-frame{display:flex;flex-direction:column;min-height:100dvh;background:var(--surface)}.screen{flex:1;padding:max(28px,env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column}.wordmark{color:var(--accent-ink);font-size:1.05rem;font-weight:800;letter-spacing:-.04em}.screen-copy{margin-top:clamp(3rem,13vw,5.5rem)}h1,h2,p{margin:0}h1{max-width:12ch;color:var(--ink);font-size:clamp(2.2rem,10vw,3rem);letter-spacing:-.04em;line-height:.98;text-wrap:balance}h2{font-size:1rem;letter-spacing:-.02em;line-height:1.15}.screen-copy>p:not(.event-name){max-width:34ch;margin-top:1rem;color:var(--muted-ink);font-size:.98rem;line-height:1.5}.event-name{margin-bottom:.65rem;color:var(--muted-ink);font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.button{min-height:44px;padding:11px 16px;border:0;border-radius:12px;color:var(--ink);font-weight:750;line-height:1.1;transition:transform .18s ease-out,box-shadow .18s ease-out,background-color .18s ease-out}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(1px)}.button--primary{background:var(--accent);color:var(--accent-ink);box-shadow:3px 4px #24311e33}.button--quiet{background:var(--surface);border:1px solid var(--ink)}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.pairing-action{display:grid;gap:14px;margin-top:auto}.fixture-code{color:var(--muted-ink);font-size:.78rem;font-weight:750;letter-spacing:.12em}.field-label{color:var(--muted-ink);font-size:.84rem;font-weight:750}.code-input{min-height:56px;padding:0 16px;border:1px solid var(--ink);border-radius:12px;background:var(--surface);color:var(--ink);font-size:1.6rem;letter-spacing:.14em}.state-message{margin-top:1.4rem;padding:.85rem 1rem;border-radius:var(--radius-md);font-size:.94rem;font-weight:650;line-height:1.42}.state-message--error{background:#faece9;color:var(--danger)}.control-actions{display:grid;gap:12px;margin-top:auto}.action-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:18px;border-radius:var(--radius-md);background:#f1f0ea}.action-row--accent{background:var(--accent)}.action-row p{max-width:23ch;margin-top:.45rem;color:var(--muted-ink);font-size:.84rem;line-height:1.4}.action-row--accent p{color:var(--accent-ink)}.action-row .button{max-width:126px}.hands-screen{overflow:hidden}.hands-screen .screen-copy{margin-top:2.75rem}.ladder{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:8px;min-height:240px;margin:2rem 0 1.35rem}.ladder-item{min-width:0;display:grid;gap:9px}.bar-stage{height:184px;display:flex;align-items:end;padding:4px;border-bottom:2px solid var(--ink);overflow:hidden}.bar{width:100%;height:100%;border-radius:10px 10px 3px 3px;background:#d8ddd6;transform:scaleY(var(--bar-scale));transform-origin:bottom;transition:transform .36s cubic-bezier(.22,1,.36,1),background-color .18s ease-out}.bar--complete{background:var(--accent)}.bar--active{background:var(--ink)}.bar-meta{display:grid;gap:4px}.bar-meta h2{overflow-wrap:anywhere;font-size:clamp(.74rem,3vw,.95rem)}.text-button{min-height:44px;padding:0;border:0;background:transparent;color:var(--ink);font-size:.82rem;font-weight:750;text-align:left;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.placing-label,.waiting-label{color:var(--muted-ink);font-size:.74rem;line-height:1.25}.placing-label{color:var(--accent-ink);font-weight:750}.placement-controls{display:grid;gap:12px;margin-top:auto;padding-top:14px}.placement-controls label{font-size:.93rem;font-weight:750}input[type=range]{width:100%;height:44px;margin:0;accent-color:var(--ink)}.placement-controls .button{width:100%}.review-footer{border-top:1px solid #d6d8d2;background:#f1f0ea}.scenario-picker summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;color:var(--muted-ink);font-size:.84rem;font-weight:750;cursor:pointer}.summary-simulation-label{color:var(--accent-ink);font-size:.71rem;letter-spacing:.07em;text-transform:uppercase}.scenario-panel{padding:4px 24px 22px}.simulation-label{color:var(--accent-ink);font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.scenario-panel>p:not(.simulation-label){margin-top:.45rem;color:var(--muted-ink);font-size:.84rem;line-height:1.4}.scenario-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.scenario-button{min-height:44px;padding:0 12px;border:1px solid var(--muted-ink);border-radius:999px;background:transparent;color:var(--ink);font-size:.82rem;font-weight:700}.scenario-button:hover{background:var(--surface)}.live-header{display:flex;flex-direction:column;gap:8px;padding:max(18px,env(safe-area-inset-top)) 24px 14px}.live-header .event-name{margin-bottom:0}.live-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}.library-screen .screen-copy,.live-screen .screen-copy,.waiting-screen .screen-copy{margin-top:1.5rem}.muted-copy{margin-top:1.4rem;color:var(--muted-ink);font-size:.94rem;line-height:1.45}.poll-grid{display:grid;gap:12px;margin-top:1.6rem}.poll-tile{min-height:72px;padding:16px 18px;border:1px solid #d6d8d2;border-radius:var(--radius-md);background:#f1f0ea;color:var(--ink);font-size:1.05rem;font-weight:700;line-height:1.3;text-align:left}.poll-tile:active{background:var(--accent)}.poll-tile:disabled{opacity:.55;cursor:not-allowed}.end-button{min-height:72px;font-size:1.25rem}.state-message--banner{background:#f1f0ea;color:var(--ink)}.confirm-panel{margin-top:1.4rem;padding:18px 20px;border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--surface)}.confirm-panel p{font-weight:650;line-height:1.4}.confirm-actions{display:flex;gap:12px;margin-top:14px}.confirm-actions .button{flex:1;min-height:44px}.toast{position:fixed;left:16px;right:16px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:14px;background:var(--ink);color:var(--surface);font-weight:650;box-shadow:var(--shadow)}.toast-action{min-height:44px;padding:0;border:0;background:transparent;color:var(--accent);font-weight:800;text-decoration:underline;text-underline-offset:3px}.live-shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--canvas)}.live-main{display:flex;flex-direction:column;flex:1;background:var(--surface)}@media (min-width: 768px){.presenter-shell{place-items:center;padding:40px}.phone-frame{width:420px;min-height:820px;max-height:calc(100dvh - 80px);border-radius:32px;box-shadow:var(--shadow);overflow:auto}.screen{min-height:742px}.live-shell{align-items:center;padding:48px 24px}.live-main{flex:none;width:min(920px,100%);border-radius:var(--radius-lg)}.live-main .screen{min-height:0;padding:8px 48px 48px}.live-main .live-header{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:32px 48px 20px}.live-main .live-header-actions{flex-wrap:nowrap;justify-content:flex-end}.live-main .poll-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.live-main .live-screen .pairing-action{justify-items:start;margin-top:2.5rem}.live-main .end-button{width:auto;min-width:220px;min-height:56px;font-size:1.1rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
