.analytics-event-chip-panel{border-radius:.375rem;margin-top:.375rem;padding:.75rem;background-color:#ecf8f9!important;border:1px solid #48b2bf47!important}@media (min-width:40rem){.analytics-event-chip-panel{padding:1rem}}.analytics-event-chip-row{flex-wrap:wrap;gap:.75rem;max-width:100%;display:flex}.analytics-event-chip{box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;outline:none;flex-shrink:0;align-items:center;gap:.5rem;min-width:0;max-width:100%;padding:.5rem .875rem;font-size:.6875rem;font-weight:400;line-height:1.4;display:inline-flex;box-shadow:0 1px 2px #0000000d;color:#2a7d87!important;background-color:#fff!important;border:1px solid #e5e7eb!important}.analytics-event-chip>span:first-child{min-width:0}.analytics-event-chip:hover{background-color:#48b2bf1f!important;border-color:#48b2bf8c!important}.analytics-event-chip:focus-visible{outline-offset:2px;outline:2px solid #48b2bf80!important}@media (min-width:40rem){.analytics-event-chip{padding:.5rem 1rem;font-size:.75rem}}.analytics-event-suggest-btn{color:#404040!important}.analytics-event-suggest-btn[data-analytics-event-selected=true]{font-weight:500;color:#2a7d87!important;background-color:#48b2bf1f!important}.analytics-event-suggest-btn[data-analytics-event-selected=true] svg{color:#48b2bf!important}.analytics-event-suggest-btn:not([data-analytics-event-selected=true]):hover{color:#2a7d87!important;background-color:#ecf8f9!important}
.session-trace-page{flex-direction:column;gap:1.5rem;display:flex;position:relative}.session-trace-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(70% 80% at 15% 0,#48b2bf1c 0%,#0000 65%),radial-gradient(50% 60% at 85% 5%,#6d28d912 0%,#0000 60%);border-radius:1rem;height:14rem;position:absolute;inset:-.5rem -.75rem auto}.session-trace-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.session-trace-page-header-text h1,.session-trace-page-header-text h2{letter-spacing:-.025em;color:#0f172a;margin:0;font-weight:700}.session-trace-page-header-text h1{font-size:1.5rem;line-height:2rem}.session-trace-page-header-text h2{font-size:1.25rem;line-height:1.75rem}.session-trace-page-header-desc{color:#475569;max-width:42rem;margin:.25rem 0 0;font-size:.875rem;line-height:1.25rem}.session-trace-kpi-card{box-sizing:border-box;text-align:left;background:linear-gradient(145deg,#fff 0%,#f8fafc 55%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;width:100%;padding:1.25rem;display:flex;box-shadow:0 1px 3px #0f172a0f,0 4px 12px #0f172a0a}.session-trace-kpi-card--billing{background:linear-gradient(145deg,#fffbeb 0%,#fef3c7 42%,#fff 100%);border-color:#f59e0b47}.session-trace-kpi-card--interactive{cursor:pointer;transition:border-color .15s,box-shadow .15s}.session-trace-kpi-card--interactive:hover{background:linear-gradient(145deg,#fff 0%,#f0fafb 55%,#e6f7f9 100%);border-color:#48b2bf66;box-shadow:0 8px 24px #48b2bf1f}.session-trace-kpi-card--interactive:focus-visible{outline-offset:2px;outline:2px solid #48b2bf66}.session-trace-kpi-value{font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:#0f172a;margin:0;font-size:1.875rem;font-weight:700;line-height:2.25rem}.session-trace-kpi-label{color:#475569;margin:.5rem 0 0;font-size:.875rem;font-weight:500;line-height:1.25rem}.session-trace-widget{box-sizing:border-box;background:linear-gradient(#fff 0%,#fafbfc 100%);border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0f172a0f,0 4px 12px #0f172a0a}.session-trace-widget-header{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 42%,#f0fdfa 100%);border-bottom:1px solid #fff9;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.session-trace-widget-title{color:#0f172a;margin:0;font-size:1rem;font-weight:600;line-height:1.5rem}.session-trace-widget-subtitle{color:#64748b;margin:.125rem 0 0;font-size:.875rem;line-height:1.25rem}.session-trace-widget-chevron{color:#94a3b8}.session-trace-widget-body{background:linear-gradient(#fff 0%,#f8fafc 100%);padding:1.25rem}.session-trace-widget-toolbar{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.session-trace-widget-icon-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.session-trace-widget-icon-btn:hover{background:linear-gradient(135deg,#f8fafc 0%,#f0fafb 100%)}.session-trace-widget-icon-btn:disabled{opacity:.5;cursor:not-allowed}.session-trace-filter-badge{color:#fff;background:linear-gradient(135deg,#5ec4cf 0%,#48b2bf 50%,#3a9aa6 100%);border-radius:9999px;justify-content:center;align-items:center;min-width:1rem;height:1rem;padding:0 .25rem;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-.125rem;right:-.125rem;box-shadow:0 1px 4px #48b2bf59}.session-trace-kpi-icon-wrap{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.session-trace-kpi-icon--slate{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}.session-trace-kpi-icon-color--slate{color:#475569}.session-trace-kpi-icon--brand{background:linear-gradient(135deg,#48b2bf38 0%,#48b2bf1a 100%)}.session-trace-kpi-icon-color--brand{color:#48b2bf}.session-trace-kpi-icon--violet{background:linear-gradient(135deg,#ede9fe 0%,#ddd6fe 100%)}.session-trace-kpi-icon-color--violet{color:#7c3aed}.session-trace-kpi-icon--cyan{background:linear-gradient(135deg,#cffafe 0%,#a5f3fc 100%)}.session-trace-kpi-icon-color--cyan{color:#0891b2}.session-trace-kpi-icon--amber{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.session-trace-kpi-icon-color--amber{color:#b45309}.session-trace-kpi-icon--emerald{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%)}.session-trace-kpi-icon-color--emerald,.session-trace-trend--up,.session-trace-trend--live{color:#059669}.session-trace-trend--down{color:#dc2626}.session-trace-trend--neutral{color:#2563eb}.session-trace-trend-icon-wrap{border-radius:.5rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.session-trace-trend-icon--up,.session-trace-trend-icon--live{color:#059669;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%)}.session-trace-trend-icon--down{color:#dc2626;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%)}.session-trace-trend-icon--neutral{color:#2563eb;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.session-trace-skeleton{background:linear-gradient(90deg,#f1f5f9 0%,#e2e8f0 50%,#f1f5f9 100%) 0 0/200% 100%;border-radius:.5rem;animation:1.5s ease-in-out infinite session-trace-skeleton-shimmer}@keyframes session-trace-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.session-trace-contact-shimmer{width:7.5rem;max-width:100%}.session-trace-duration-shimmer{vertical-align:middle;background:#e2e8f0;border-radius:.375rem;width:3.5rem;height:1rem;display:inline-block;position:relative;overflow:hidden}.session-trace-duration-shimmer:after{content:"";background-image:linear-gradient(90deg,#fff0 0%,#ffffffd9 50%,#fff0 100%);animation:1.4s ease-in-out infinite session-trace-shimmer-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes session-trace-shimmer-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes session-trace-pulse{0%,to{opacity:1}50%{opacity:.5}}.session-trace-kpi-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (min-width:40rem){.session-trace-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.session-trace-kpi-grid--overview{grid-template-columns:repeat(5,minmax(0,1fr))}.session-trace-kpi-grid--channel{grid-template-columns:repeat(3,minmax(0,1fr))}}.session-trace-charts-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (min-width:48rem){.session-trace-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.session-trace-donut-row{flex-direction:column;align-items:stretch;gap:1.5rem;display:flex}@media (min-width:48rem){.session-trace-donut-row{flex-direction:row;align-items:center}.session-trace-donut-chart-wrap{flex:1;min-width:0}.session-trace-donut-legend{flex:none;min-width:9rem;padding-right:.25rem}}.session-trace-donut-legend{padding:.25rem 0}.session-trace-chart-box{width:100%;height:14rem;min-height:14rem;position:relative}.session-trace-chart-box--tall{height:18rem;min-height:18rem}.session-trace-chart-box .recharts-responsive-container,.session-trace-chart-box--tall .recharts-responsive-container{min-height:inherit;width:100%!important;height:100%!important}.session-trace-donut-center{z-index:1;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;padding:0 .5rem;display:flex;position:absolute;inset:0}.session-trace-donut-center-value{font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:#0f172a;margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}.session-trace-donut-center-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0;font-size:.6875rem;font-weight:600;line-height:1.2}.session-trace-timeframe-toolbar{align-items:center;gap:.25rem;display:none}@media (min-width:48rem){.session-trace-timeframe-toolbar{display:flex}}.session-trace-timeframe-mobile{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.25rem;padding:.25rem;display:flex}@media (min-width:48rem){.session-trace-timeframe-mobile{display:none}}.session-trace-timeframe-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:.375rem;height:2rem;padding:0 .75rem;font-size:.75rem;font-weight:500;line-height:1;transition:background-color .15s,color .15s}.session-trace-timeframe-btn:hover{background:#f1f5f9}.session-trace-timeframe-btn--active{color:#fff;background:linear-gradient(135deg,#5ec4cf 0%,#48b2bf 50%,#3a9aa6 100%);box-shadow:0 2px 8px #48b2bf59}.session-trace-timeframe-mobile .session-trace-timeframe-btn--active{color:#0f172a;background:linear-gradient(#fff 0%,#f0fafb 100%);box-shadow:0 1px 2px #0f172a1a}.session-trace-daily-legend{color:#475569;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;font-size:.8125rem;font-weight:500;display:flex}.session-trace-daily-legend-item{align-items:center;gap:.375rem;display:inline-flex}.session-trace-daily-legend-dot{border-radius:9999px;flex-shrink:0;width:.625rem;height:.625rem}.session-trace-filter-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (min-width:48rem){.session-trace-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-trace-filter-user{grid-column:1/-1}}@media (min-width:64rem){.session-trace-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.session-trace-filter-user{grid-column:span 2}}.session-trace-user-dropdown{max-height:14rem;overflow:auto}.session-trace-chart-box .recharts-wrapper:focus,.session-trace-chart-box .recharts-wrapper:focus-visible,.session-trace-chart-box--tall .recharts-wrapper:focus,.session-trace-chart-box--tall .recharts-wrapper:focus-visible,.session-trace-chart-box svg:focus,.session-trace-chart-box--tall svg:focus{outline:none!important}.session-trace-view-toggle{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.625rem;padding:.25rem .5rem;display:flex}.session-trace-view-toggle-option{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.25rem .375rem;font-size:.8125rem;font-weight:500;transition:color .15s,background-color .15s}.session-trace-view-toggle-option:hover{color:#334155;background:#ffffffb3}.session-trace-view-toggle-option--active{color:#0f172a;background:linear-gradient(#fff 0%,#f0fafb 100%);font-weight:600;box-shadow:0 1px 4px #48b2bf26}.session-trace-view-toggle-label{color:#334155;cursor:pointer;font-size:.875rem;font-weight:500}.session-trace-view-toggle--modes{flex-wrap:wrap;gap:.25rem;padding:.25rem}.session-trace-view-toggle--modes .session-trace-view-toggle-option{border-radius:.375rem;padding:.375rem .625rem;font-size:.8125rem}.session-trace-apis-list{flex-direction:column;gap:1rem;display:flex}.session-trace-api-card{background:linear-gradient(#fff 0%,#faf5ff 100%);border:1px solid #6d28d933;border-radius:.75rem;overflow:hidden;box-shadow:0 2px 10px #6d28d914}.session-trace-api-card-header{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 48%,#faf5ff 100%);border-bottom:1px solid #6d28d91f;padding:.875rem 1rem}.session-trace-api-card-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.session-trace-api-card-index{color:#6d28d9;font-size:.75rem;font-weight:700}.session-trace-api-card-title{color:#4c1d95;flex:1;min-width:0;margin:0;font-size:1rem;font-weight:600}.session-trace-api-status--ok{font-variant-numeric:tabular-nums;color:#065f46;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:700}.session-trace-api-status--err{font-variant-numeric:tabular-nums;color:#991b1b;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:700}.session-trace-api-status--warn{font-variant-numeric:tabular-nums;color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:700}.session-trace-api-status--pending{font-variant-numeric:tabular-nums;color:#475569;background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:700}.session-trace-tts-section{border-top:1px solid #94a3b840;margin:.75rem 1rem 0;padding-top:.75rem}.session-trace-tts-section-label{letter-spacing:.04em;text-transform:uppercase;color:#7c3aed;margin:0 0 .5rem;font-size:.75rem;font-weight:700}.session-trace-tts-tools-line{color:#334155;margin:0;font-size:.875rem}.session-trace-tts-event-list{margin:0;padding:0;list-style:none}.session-trace-tts-event-row{text-align:left;color:#334155;cursor:pointer;background:0 0;border:0;border-radius:.375rem;grid-template-columns:auto 5.5rem minmax(7rem,1fr) minmax(0,2fr);align-items:baseline;gap:.5rem;width:100%;padding:.375rem .25rem;font-size:.8125rem;display:grid}.session-trace-tts-event-row:hover{background:#c084fc14}.session-trace-tts-event-time{font-variant-numeric:tabular-nums;color:#64748b}.session-trace-tts-event-type{color:#6b21a8;font-weight:600}.session-trace-tts-event-summary{text-overflow:ellipsis;white-space:nowrap;color:#475569;min-width:0;overflow:hidden}.session-trace-api-card-meta{color:#64748b;margin:.375rem 0 0;font-size:.8125rem;line-height:1.45}.session-trace-api-user-query{background:linear-gradient(135deg,#f0fafb 0%,#e6f7f9 100%);border:1px solid #48b2bf47;border-radius:.5rem;margin:.75rem 1rem 0;padding:.625rem .875rem}.session-trace-api-user-query-label{letter-spacing:.06em;text-transform:uppercase;color:#2d8a94;margin:0;font-size:.6875rem;font-weight:700}.session-trace-api-user-query-text{color:#0f172a;white-space:pre-wrap;word-break:break-word;margin:.375rem 0 0;font-size:.875rem;line-height:1.5}.session-trace-api-user-query-missing{color:#94a3b8;margin:.75rem 1rem 0;font-size:.8125rem;font-style:italic}.session-trace-api-json-section{margin:.75rem 1rem 0}.session-trace-api-json-section:last-child{margin-bottom:1rem}.session-trace-api-json-label{letter-spacing:.04em;text-transform:uppercase;color:#475569;margin:0 0 .375rem;font-size:.75rem;font-weight:700}.session-trace-api-response-missing{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:.5rem;margin:0;padding:.75rem;font-size:.8125rem}.session-trace-session-billing{flex-direction:column;gap:1rem;display:flex}.session-trace-billing-rows{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.session-trace-billing-row{background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.5rem;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 1rem;display:flex}.session-trace-billing-row--llm{border-left:4px solid #0284c7}.session-trace-billing-row--stt{border-left:4px solid #7c3aed}.session-trace-billing-row--tts{border-left:4px solid #db2777}.session-trace-billing-row-main{flex:1;min-width:0}.session-trace-billing-row-kind{letter-spacing:.04em;text-transform:uppercase;color:#334155;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:700;display:inline-block}.session-trace-billing-row-brief{color:#475569;margin:.375rem 0 0;font-size:.8125rem;line-height:1.45}.session-trace-billing-row-cost{font-variant-numeric:tabular-nums;color:#b45309;flex-shrink:0;font-size:.9375rem;font-weight:700}.session-trace-billing-total-bar{background:linear-gradient(120deg,#fffbeb 0%,#fef3c7 45%,#fff 100%);border:1px solid #f59e0b59;border-radius:.75rem;padding:1rem 1.25rem}.session-trace-billing-total-label{color:#92400e;font-size:.875rem;font-weight:600}.session-trace-billing-total-value{font-variant-numeric:tabular-nums;color:#b45309;margin-top:.25rem;font-size:1.5rem;font-weight:700;display:block}.session-trace-billing-total-hint{color:#78716c;margin:.5rem 0 0;font-size:.75rem}.session-trace-chat-panel{background:linear-gradient(#f8fafc 0%,#f0fafb 45%,#fff 100%);border:1px solid #48b2bf2e;border-radius:.75rem;box-shadow:inset 0 1px #fffc}.session-trace-chat-scroll{flex-direction:column;gap:.25rem;max-height:min(75dvh,640px);padding:1rem 1.25rem;display:flex;overflow-y:auto}.session-trace-chat-empty{text-align:center;color:#64748b;background:linear-gradient(145deg,#f8fafc 0%,#f0fafb 100%);border-radius:.5rem;padding:3rem 1.5rem;font-size:.875rem;line-height:1.5}.session-trace-chat-date-separator,.session-trace-chat-turn-separator{justify-content:center;align-items:center;padding:.75rem 0;display:flex}.session-trace-chat-date-separator span,.session-trace-chat-turn-separator span{color:#64748b;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-radius:9999px;padding:.375rem 1rem;font-size:.75rem;font-weight:500}.session-trace-chat-turn-separator span{color:#2d8a94;background:linear-gradient(135deg,#e6f7f7 0%,#d1f5f7 100%)}.session-trace-chat-block-inner{padding:.375rem 0}.session-trace-chat-row{align-items:flex-end;gap:.75rem;width:100%;display:flex}.session-trace-chat-row.is-user{flex-direction:row;justify-content:flex-end}.session-trace-chat-row.is-assistant{flex-direction:row;justify-content:flex-start}.session-trace-chat-avatar{border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.session-trace-chat-avatar--user{color:#fff;background:linear-gradient(135deg,#5ec4cf 0%,#48b2bf 50%,#3a9aa6 100%);box-shadow:0 2px 6px #48b2bf59}.session-trace-chat-avatar--assistant{color:#475569;background:linear-gradient(135deg,#fff 0%,#f1f5f9 100%);border:1px solid #e2e8f0}.session-trace-chat-bubble-col{flex-direction:column;gap:.25rem;min-width:0;max-width:42rem;display:flex}.session-trace-chat-bubble-col.is-user{align-items:flex-end}.session-trace-chat-bubble-col.is-assistant{align-items:flex-start}.session-trace-chat-bubble{word-break:break-word;max-width:100%;padding:.625rem 1rem;font-size:.875rem;line-height:1.5}.session-trace-chat-bubble p{white-space:pre-wrap;margin:0}.session-trace-chat-bubble.is-user{color:#fff;background:linear-gradient(135deg,#5ec4cf 0%,#48b2bf 48%,#3a9aa6 100%);border-radius:1rem 1rem .375rem;box-shadow:0 2px 8px #48b2bf40}.session-trace-chat-bubble.is-assistant{color:#1e293b;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:1rem 1rem 1rem .375rem;box-shadow:0 1px 3px #0f172a0f}.session-trace-chat-time{color:#64748b;padding:0 .25rem;font-size:.75rem;line-height:1.25}.session-trace-chat-time.is-user{text-align:right}.session-trace-chat-time.is-assistant{text-align:left}.session-trace-page>.session-trace-kpi-grid+.session-trace-widget .session-trace-widget-header{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 42%,#f0fdfa 100%);border-bottom-color:#48b2bf33}.session-trace-page>.session-trace-kpi-grid+.session-trace-widget+.session-trace-widget .session-trace-widget-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 48%,#fff 100%);border-bottom-color:#64748b26}.session-trace-page>.session-trace-charts-grid+.session-trace-widget .session-trace-widget-header{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 42%,#fff7ed 100%);border-bottom-color:#f59e0b33}.session-trace-page>.session-trace-page-header+.session-trace-widget+.session-trace-widget .session-trace-widget-header,.session-trace-charts-grid .session-trace-widget:first-child .session-trace-widget-header{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 48%,#faf5ff 100%);border-bottom-color:#6d28d926}.session-trace-charts-grid .session-trace-widget:nth-child(2) .session-trace-widget-header{background:linear-gradient(135deg,#ecfeff 0%,#cffafe 48%,#f0fdfa 100%);border-bottom-color:#0891b226}.session-trace-kpi-grid--overview .session-trace-kpi-card:first-child{background:linear-gradient(145deg,#fff 0%,#f0fafb 100%)}.session-trace-kpi-grid--overview .session-trace-kpi-card:nth-child(2){background:linear-gradient(145deg,#fff 0%,#ecfdf5 100%)}.session-trace-kpi-grid--overview .session-trace-kpi-card:nth-child(4){background:linear-gradient(145deg,#fff 0%,#f5f3ff 100%)}.session-trace-kpi-grid--overview .session-trace-kpi-card:nth-child(5){background:linear-gradient(145deg,#fff 0%,#ecfeff 100%)}.session-trace-kpi-grid--overview .session-trace-kpi-card:nth-child(6){background:linear-gradient(145deg,#fff 0%,#fffbeb 100%)}.session-trace-loading{background:linear-gradient(145deg,#fff 0%,#f0fafb 50%,#e8f4f8 100%);border:1px dashed #48b2bf59;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:5rem 1.5rem;display:flex}.session-trace-loading--compact{background:0 0;border:none;padding:4rem 1rem}.session-trace-loading p{color:#64748b;margin:0;font-size:.875rem;font-weight:500}.session-trace-empty{text-align:center;color:#64748b;background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);border-radius:.75rem;margin:0;padding:3rem 1.5rem;font-size:.875rem;line-height:1.5}.session-trace-footer-hint{text-align:center;color:#64748b;margin:0;font-size:.875rem;line-height:1.5}.session-trace-back-btn{color:#475569;cursor:pointer;background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;line-height:1.25rem;display:inline-flex;box-shadow:0 1px 2px #0f172a0d}.session-trace-back-btn:hover{color:#0f172a;background:linear-gradient(135deg,#f8fafc 0%,#f0fafb 100%);border-color:#48b2bf59}.session-trace-primary-btn{color:#fff!important;background:linear-gradient(135deg,#5ec4cf 0%,#48b2bf 45%,#3a9aa6 100%)!important;border:none!important;box-shadow:0 2px 8px #48b2bf59!important}.session-trace-primary-btn:hover:not(:disabled){background:linear-gradient(135deg,#48b2bf 0%,#3da4b0 45%,#2d8a96 100%)!important}.session-trace-billing-block{background:linear-gradient(120deg,#fffbeb 0%,#fef3c7 45%,#fff 100%);border:1px solid #f59e0b59;border-radius:.75rem;margin-top:1rem;padding:1rem 1.25rem;box-shadow:0 2px 12px #f59e0b1a}.session-trace-user-picked{background:linear-gradient(135deg,#f0fafb 0%,#e6f7f9 100%);border:1px solid #48b2bf40;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.session-trace-user-dropdown{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 8px 24px #0f172a1a}.session-trace-user-dropdown button:hover{background:linear-gradient(90deg,#48b2bf14 0%,#0000 100%)}.session-trace-data-table-wrap{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.5rem;margin:0 -.25rem;overflow-x:auto}.session-trace-data-table-wrap table thead tr{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%)!important}.session-trace-data-table-wrap table tbody tr{transition:background-color .12s}.session-trace-data-table-wrap table tbody tr:hover{background:linear-gradient(90deg,#48b2bf14 0%,#0000 100%)!important}.session-trace-pagination{border-top:1px solid #f1f5f9;justify-content:space-between;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.session-trace-badge-live{color:#065f46;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.session-trace-badge-ended{color:#475569;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.session-trace-badge-demo{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:9999px;align-items:center;margin-left:.35rem;padding:.125rem .5rem;font-size:.75rem;font-weight:650;display:inline-flex}.session-trace-status-cell{flex-wrap:wrap;align-items:center;gap:.25rem;display:inline-flex}.session-trace-list-table table{border-collapse:separate;border-spacing:0}.session-trace-list-th{letter-spacing:.06em;text-transform:uppercase;color:#64748b;white-space:nowrap;font-size:.625rem;font-weight:600}.session-trace-list-th--llm{color:#6d28d9}.session-trace-list-th--stt{color:#0369a1}.session-trace-list-th--tts{color:#b45309}.session-trace-list-row td{vertical-align:middle}.session-trace-list-td{padding:.625rem .75rem;font-size:.8125rem;line-height:1.35}.session-trace-list-td--id{max-width:6.5rem}.session-trace-list-td--contact{max-width:min(200px,30vw)}.session-trace-list-td--models{min-width:7.5rem;max-width:min(180px,28vw)}.session-trace-list-td--duration{white-space:nowrap}.session-trace-list-id{text-overflow:ellipsis;white-space:nowrap;color:#334155;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:.375rem;max-width:100%;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:500;display:inline-block;overflow:hidden}.session-trace-list-when{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;color:#334155;max-width:100%;font-size:.75rem;font-weight:500;display:inline-block;overflow:hidden}.session-trace-list-duration{font-variant-numeric:tabular-nums;color:#334155;background:#f8fafc;border-radius:.375rem;align-items:center;padding:.125rem .4375rem;font-size:.75rem;font-weight:600;display:inline-flex}.session-trace-list-contact{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:.8125rem;font-weight:500;display:block;overflow:hidden}.session-trace-list-empty{color:#cbd5e1;font-size:.8125rem;font-weight:500}.session-trace-transport-badge{letter-spacing:.02em;text-transform:lowercase;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.session-trace-transport-badge--livekit{color:#5b21b6;background:linear-gradient(135deg,#ede9fe 0%,#ddd6fe 100%)}.session-trace-transport-badge--websocket{color:#0369a1;background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%)}.session-trace-transport-badge--default{color:#475569;background:#f1f5f9}.session-trace-models-inline{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:.125rem;max-width:100%;display:flex;overflow:hidden}.session-trace-models-inline__item{flex-shrink:1;align-items:center;gap:.125rem;min-width:0;display:inline-flex}.session-trace-models-inline__sep{color:#cbd5e1;flex-shrink:0;font-size:.625rem;font-weight:600}.session-trace-model-pill{border:1px solid #0000;border-radius:.25rem;align-items:center;gap:.1875rem;min-width:0;max-width:100%;padding:0 .25rem 0 .125rem;line-height:1.35;display:inline-flex;overflow:hidden}.session-trace-model-pill__tag{letter-spacing:.02em;flex-shrink:0;font-size:.5625rem;font-weight:800}.session-trace-model-pill__name{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.625rem;font-weight:500;overflow:hidden}.session-trace-model-pill--llm{color:#6d28d9;background:#faf5ff;border-color:#ddd6fe}.session-trace-model-pill--llm .session-trace-model-pill__tag{color:#7c3aed}.session-trace-model-pill--stt{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.session-trace-model-pill--stt .session-trace-model-pill__tag{color:#0284c7}.session-trace-model-pill--tts{color:#b45309;background:#fffbeb;border-color:#fde68a}.session-trace-model-pill--tts .session-trace-model-pill__tag{color:#d97706}.session-trace-list-cost{font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.session-trace-list-cost--total{color:#92400e}.session-trace-list-cost--llm{color:#6d28d9}.session-trace-list-cost--stt{color:#0369a1}.session-trace-list-cost--tts{color:#b45309}.session-trace-list-cost__live{background:#10b981;border-radius:9999px;flex-shrink:0;width:.375rem;height:.375rem;display:inline-block;box-shadow:0 0 0 2px #10b98140}.session-trace-list-count{font-variant-numeric:tabular-nums;color:#334155;font-size:.75rem;font-weight:600}.session-trace-list-usage{text-overflow:ellipsis;white-space:nowrap;color:#64748b;max-width:11rem;font-size:.6875rem;line-height:1.4;display:block;overflow:hidden}.session-trace-agent-filter-label-icon{flex-shrink:0}.session-trace-agent-filter-trigger{border-radius:.75rem}.session-trace-agent-filter-content{min-width:16rem;max-height:min(20rem, var(--radix-select-content-available-height,20rem));background:#fff!important;border:1px solid #e2e8f0!important;border-radius:.75rem!important;padding:.5rem!important;overflow:hidden!important;box-shadow:0 10px 24px #0f172a1a,0 4px 10px #0f172a0d!important}.session-trace-agent-filter-content [data-slot=select-viewport]{overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;height:auto!important;max-height:min(18rem, var(--radix-select-content-available-height,18rem))!important;padding:0!important;overflow:hidden auto!important}.session-trace-agent-filter-content [data-slot=select-viewport]::-webkit-scrollbar{width:6px}.session-trace-agent-filter-content [data-slot=select-viewport]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:9999px;margin:.25rem 0}.session-trace-agent-filter-content [data-slot=select-viewport]::-webkit-scrollbar-thumb{background:#c4b5fd;border-radius:9999px}.session-trace-agent-filter-content [data-slot=select-viewport]::-webkit-scrollbar-thumb:hover{background:#a78bfa}.session-trace-agent-filter-content [data-slot=select-scroll-up-button],.session-trace-agent-filter-content [data-slot=select-scroll-down-button]{display:none}.session-trace-agent-filter-group-label{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin:0;padding:.5rem .625rem .375rem;font-size:.625rem;font-weight:700}.session-trace-agent-filter-separator{background:#f1f5f9!important;margin:.375rem 0!important}.session-trace-agent-filter-item{cursor:pointer;margin-bottom:.25rem;transition:background-color .15s,border-color .15s,box-shadow .15s;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:.5rem!important;padding:.625rem 2rem .625rem .75rem!important}.session-trace-agent-filter-item:last-child{margin-bottom:0}.session-trace-agent-filter-item:hover,.session-trace-agent-filter-item[data-highlighted]{box-shadow:0 1px 3px #8b5cf61f;background:#f5f3ff!important;border-color:#ddd6fe!important}.session-trace-agent-filter-item[data-state=checked]{box-shadow:inset 0 0 0 1px #8b5cf626;background:linear-gradient(90deg,#ede9fe 0%,#f5f3ff 100%)!important;border-color:#c4b5fd!important}.session-trace-agent-filter-item [data-slot=select-item-indicator] svg{color:#7c3aed}.session-trace-agent-filter-option{align-items:center;gap:.625rem;width:100%;min-height:1.25rem;display:flex}.session-trace-agent-filter-option-label{color:#1e293b;font-size:.8125rem;font-weight:500;line-height:1.25rem}.session-trace-agent-filter-option-label--muted{color:#475569}.session-trace-agent-filter-dot{border-radius:9999px;flex-shrink:0;width:.5rem;height:.5rem;display:inline-block;box-shadow:0 0 0 2px #fffffff2}.session-trace-agent-filter-dot--any{background:#cbd5e1}.session-trace-booking-provider-filter-label-icon{color:#d97706;background:#fffbeb;flex-shrink:0}.session-trace-booking-provider-filter-trigger{border-radius:.75rem}.session-trace-booking-provider-filter-trigger:hover{box-shadow:0 4px 12px #f59e0b1f;border-color:#fcd34d!important}.session-trace-booking-provider-filter-trigger:focus-visible{box-shadow:0 0 0 2px #fbbf2459;border-color:#f59e0b!important}.session-trace-booking-provider-filter-trigger--active{background:linear-gradient(90deg,#fffbebe6 0%,#fff 100%)!important;border-color:#fcd34d!important}.session-trace-booking-provider-filter .session-trace-agent-filter-item:hover,.session-trace-booking-provider-filter .session-trace-agent-filter-item[data-highlighted]{box-shadow:0 1px 3px #f59e0b24;background:#fffbeb!important;border-color:#fde68a!important}.session-trace-booking-provider-filter .session-trace-agent-filter-item[data-state=checked]{box-shadow:inset 0 0 0 1px #f59e0b2e;background:linear-gradient(90deg,#fef3c7 0%,#fffbeb 100%)!important;border-color:#fcd34d!important}.session-trace-booking-provider-filter .session-trace-agent-filter-item [data-slot=select-item-indicator] svg{color:#d97706}.session-trace-list-td--agents{min-width:8rem;max-width:14rem}.session-trace-agents-single-line{text-overflow:ellipsis;white-space:nowrap;color:#6d28d9;font-size:.6875rem;font-weight:500;line-height:1.35;display:block;overflow:hidden}.session-trace-booking-summary{text-overflow:ellipsis;white-space:nowrap;color:#475569;max-width:10rem;font-size:.6875rem;font-weight:500;display:block;overflow:hidden}.session-trace-agent-charts-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:1024px){.session-trace-agent-charts-grid{grid-template-columns:1.2fr 1fr}}.session-trace-agent-bar-chart{min-height:16rem}.session-trace-turn-filter-bar{background:linear-gradient(#f0fafb80 0%,#0000 100%);border-bottom:1px solid #f1f5f9;border-radius:.5rem .5rem 0 0;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;padding-left:.25rem;padding-right:.25rem;display:flex}.session-trace-spreadsheet-shell{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:2px solid #cbd5e1;border-radius:.375rem;min-width:0;box-shadow:0 4px 16px #0f172a14}.session-trace-spreadsheet-scroll{cursor:grab;max-width:100%;max-height:min(88vh,880px);overflow:auto}.session-trace-spreadsheet-empty{text-align:center;color:#64748b;background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);border:2px dashed #cbd5e1;border-radius:.375rem;padding:3rem 1.5rem;font-size:.875rem}.session-trace-spreadsheet-th{text-align:left;color:#0f172a;white-space:nowrap;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:1px solid #cbd5e1;min-width:0;padding:.5rem;font-size:.875rem;font-weight:600;line-height:1.25rem}.session-trace-spreadsheet-td{vertical-align:top;color:#0f172a;white-space:normal;word-break:break-word;border:1px solid #cbd5e1;min-width:0;padding:.5rem;font-size:.875rem;line-height:1.25rem}.session-trace-spreadsheet-row{background:#fff;border-bottom:1px solid #cbd5e1;border-left-style:solid;border-left-width:3px;transition:background-color .12s}.session-trace-spreadsheet-row:nth-child(2n){background:linear-gradient(90deg,#f8fafc 0%,#fff 100%)}.session-trace-spreadsheet-row:hover{background:linear-gradient(90deg,#48b2bf1a 0%,#fff 100%)!important}.session-trace-spreadsheet-row--speech{border-left-color:#f59e0b}.session-trace-spreadsheet-row--llm{border-left-color:#0284c7}.session-trace-spreadsheet-row--api{border-left-color:#7c3aed}.session-trace-spreadsheet-row--tool{border-left-color:#059669}.session-trace-spreadsheet-row--tts{border-left-color:#f43f5e}.session-trace-spreadsheet-row--agent{border-left-color:#0d9488}.session-trace-spreadsheet-row--error{border-left-color:#dc2626}.session-trace-spreadsheet-row--other{border-left-color:#94a3b8}.session-trace-spreadsheet-row--turn-break{border-top:3px solid #f59e0b}.session-trace-detail-btn{color:#5b21b6;cursor:pointer;background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%);border:1px solid #6d28d940;border-radius:.375rem;justify-content:center;align-items:center;min-width:3.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;line-height:1.25rem;transition:border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.session-trace-detail-btn:hover{border-color:#6d28d973;box-shadow:0 2px 8px #6d28d926}.session-trace-detail-btn:focus-visible{outline-offset:2px;outline:2px solid #6d28d966}.session-trace-event-dialog{padding:1.25rem 1.5rem 1.5rem;background:linear-gradient(#fff 0%,#f8fafc 100%)!important;border-color:#48b2bf33!important;max-width:min(48rem,100vw - 2rem)!important}.session-trace-event-dialog-body{border-radius:.5rem;max-height:min(72dvh,640px);padding:.125rem;overflow:auto}.session-trace-json-wrap{background:linear-gradient(#0f172a 0%,#1e293b 100%);border-top:1px solid #334155}.session-trace-json-pre{white-space:pre;word-break:normal;color:#e2e8f0;tab-size:2;-webkit-font-smoothing:antialiased;margin:0;padding:.875rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8125rem;line-height:1.65;overflow:auto}.session-trace-json-pre code{white-space:pre;min-width:min-content;display:block}.session-trace-json-key{color:#7dd3fc}.session-trace-json-string{color:#86efac}.session-trace-json-number{color:#fcd34d}.session-trace-json-bool{color:#f9a8d4;font-weight:600}.session-trace-json-null{color:#94a3b8;font-style:italic}.session-trace-json-punct{color:#cbd5e1}.session-trace-json-truncated{color:#fbbf24;font-style:italic;font-weight:600}.session-trace-json-fold{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.session-trace-json-fold--raw{border-color:#48b2bf40}.session-trace-json-fold-summary{cursor:pointer;color:#334155;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;line-height:1.25rem;list-style:none;transition:background-color .15s;display:flex}.session-trace-json-fold-summary::-webkit-details-marker{display:none}.session-trace-json-fold-summary:before{content:"▸";color:#64748b;flex-shrink:0;width:.875rem;font-size:.75rem;transition:transform .15s;display:inline-flex}.session-trace-json-fold[open]>.session-trace-json-fold-summary:before{transform:rotate(90deg)}.session-trace-json-fold-summary:hover{background:linear-gradient(90deg,#48b2bf14 0%,#0000 100%)}.session-trace-json-fold .session-trace-json-wrap{border-radius:0 0 .375rem .375rem}.session-trace-json-fold .session-trace-json-pre{scrollbar-width:thin;scrollbar-color:#475569 #1e293b}.session-trace-json-fold .session-trace-json-pre::-webkit-scrollbar{width:.5rem;height:.5rem}.session-trace-json-fold .session-trace-json-pre::-webkit-scrollbar-thumb{background:#475569;border-radius:9999px}.session-trace-json-fold .session-trace-json-pre::-webkit-scrollbar-track{background:#1e293b}.session-trace-event-card{border:1px solid #e2e8f0;border-left-width:6px;border-radius:.5rem;min-width:0;padding:.75rem;font-size:.875rem;line-height:1.25rem;box-shadow:0 1px 3px #0f172a0f}.session-trace-event-card--speech{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 40%,#fff 100%);border-color:#f59e0b4d}.session-trace-event-card--llm{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 40%,#fff 100%);border-color:#0ea5e94d}.session-trace-event-card--api{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 40%,#fff 100%);border-color:#6d28d940}.session-trace-event-card--tool{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 40%,#fff 100%);border-color:#05966940}.session-trace-event-card--tts{background:linear-gradient(135deg,#fff1f2 0%,#ffe4e6 40%,#fff 100%);border-color:#f43f5e40}.session-trace-event-card--agent{background:linear-gradient(135deg,#f0fdfa 0%,#ccfbf1 40%,#fff 100%);border-color:#0d948847}.session-trace-event-card--error{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 40%,#fff 100%);border-color:#dc262640}.session-trace-event-card--other{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 40%,#fff 100%);border-left-color:#64748b}.session-trace-event-chip{letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600;line-height:1rem}.session-trace-event-chip--speech{color:#78350f;background:linear-gradient(135deg,#fde68a 0%,#fcd34d 100%)}.session-trace-event-chip--llm{color:#0c4a6e;background:linear-gradient(135deg,#bae6fd 0%,#7dd3fc 100%)}.session-trace-event-chip--api{color:#4c1d95;background:linear-gradient(135deg,#ddd6fe 0%,#c4b5fd 100%)}.session-trace-event-chip--tool{color:#064e3b;background:linear-gradient(135deg,#a7f3d0 0%,#6ee7b7 100%)}.session-trace-event-chip--tts{color:#881337;background:linear-gradient(135deg,#fecdd3 0%,#fda4af 100%)}.session-trace-event-chip--agent{color:#115e59;background:linear-gradient(135deg,#99f6e4 0%,#5eead4 100%)}.session-trace-event-chip--error{color:#7f1d1d;background:linear-gradient(135deg,#fecaca 0%,#fca5a5 100%)}.session-trace-event-chip--other{color:#1e293b;background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%)}.voice-chat-ai-hub-hero{background:linear-gradient(135deg,#48b2bf24 0%,#4a1fce14 48%,#ffffffeb 100%);border:1px solid #48b2bf38;border-radius:.875rem;padding:.25rem 1.25rem 1rem;box-shadow:0 4px 20px #48b2bf14}.voice-chat-ai-hub-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (min-width:40rem){.voice-chat-ai-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.voice-chat-ai-hub-card--traces{background:linear-gradient(145deg,#fff 0%,#f0fafb 55%,#e6f7f9 100%)!important;border-color:#48b2bf47!important}.voice-chat-ai-hub-card--traces:hover{border-color:#48b2bf73!important;box-shadow:0 8px 24px #48b2bf24!important}.voice-chat-ai-hub-card--settings{background:linear-gradient(145deg,#fff 0%,#f5f3ff 55%,#ede9fe 100%)!important;border-color:#6d28d933!important}.voice-chat-ai-hub-card--settings:hover{border-color:#6d28d959!important;box-shadow:0 8px 24px #6d28d91a!important}.voice-settings-page{position:relative}.voice-settings-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(80% 70% at 20% 0,#48b2bf1f 0%,#0000 70%);border-radius:1rem;height:12rem;position:absolute;inset:-.5rem -.75rem auto}.voice-settings-back-row{margin-bottom:.25rem}.voice-settings-back-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.375rem .625rem;font-size:.875rem;font-weight:500;line-height:1.25rem;display:inline-flex}.voice-settings-back-btn:hover{color:#0f172a;background:linear-gradient(135deg,#f8fafc 0%,#f0fafb 100%)}.voice-settings-banner{color:#92400e;background:linear-gradient(120deg,#fffbeb 0%,#fef3c7 45%,#fde68a 100%);border:1px solid #fbbf2473;border-radius:.75rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5;position:relative;overflow:hidden;box-shadow:0 2px 12px #f59e0b1f}.voice-settings-banner:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff8c 0%,#0000 70%);border-radius:50%;width:8rem;height:8rem;position:absolute;top:-40%;right:-5%}.voice-settings-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;gap:.25rem;margin:.75rem 0 1rem;padding:.25rem;display:inline-flex}.voice-settings-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.voice-settings-tab:hover{color:#0f172a;background:#ffffffb3}.voice-settings-tab--active{color:#0f766e;background:#fff;box-shadow:0 1px 3px #0f172a14}.voice-settings-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.voice-settings-sticky-bar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff7 0%,#f0fafbf7 50%,#e0f7faf7 100%);border:1px solid #48b2bf59;border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;bottom:.75rem;box-shadow:0 4px 20px #48b2bf2e,0 0 0 1px #48b2bf1a}.voice-settings-sticky-bar-text{color:#0f172a;margin:0;font-size:.875rem;font-weight:500}.voice-settings-section{background:linear-gradient(#fff 0%,#fafbfc 100%);border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0f172a0f,0 4px 12px #0f172a0a}.voice-settings-section-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #fff9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.voice-settings-section--tone-brand .voice-settings-section-header{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 42%,#f0fdfa 100%);border-bottom-color:#48b2bf33}.voice-settings-section--tone-violet .voice-settings-section-header{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 48%,#faf5ff 100%);border-bottom-color:#6d28d926}.voice-settings-section--tone-cyan .voice-settings-section-header{background:linear-gradient(135deg,#ecfeff 0%,#cffafe 48%,#f0fdfa 100%);border-bottom-color:#0891b22e}.voice-settings-section--tone-slate .voice-settings-section-header{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom-color:#64748b26}.voice-settings-section--tone-amber .voice-settings-section-header{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 48%,#fff7ed 100%);border-bottom-color:#f59e0b33}.voice-settings-section--tone-emerald .voice-settings-section-header{background:linear-gradient(135deg,#ecfdf5 0%,#a7f3d0 35%,#f0fdf4 100%);border-bottom-color:#0596692e}.voice-settings-section-title{color:#0f172a;margin:0;font-size:1rem;font-weight:600;line-height:1.5rem}.voice-settings-section-meta{color:#64748b;margin:.125rem 0 0;font-size:.75rem;line-height:1.25rem}.voice-settings-section-body{background:linear-gradient(#fff 0%,#f8fafc 100%);padding:1.25rem}.voice-settings-reset-btn{color:#475569;cursor:pointer;background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;line-height:1.25rem}.voice-settings-reset-btn:hover{color:#0f172a;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-color:#cbd5e1}.voice-settings-fields-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (min-width:48rem){.voice-settings-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.voice-settings-field{background:linear-gradient(160deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.625rem;flex-direction:column;gap:.5rem;padding:.875rem 1rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.voice-settings-field--dirty{background:linear-gradient(145deg,#f0fdf9 0%,#e6f7f9 50%,#d4f1f4 100%);border-color:#48b2bf;box-shadow:0 0 0 1px #48b2bf40,0 4px 14px #48b2bf1a}.voice-settings-field-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.voice-settings-field-label{color:#0f172a;margin:0;font-size:.875rem;font-weight:600;line-height:1.25rem}.voice-settings-field-key{color:#94a3b8;word-break:break-all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6875rem;line-height:1.25rem}.voice-settings-field-hint{color:#64748b;margin:0;font-size:.75rem;line-height:1.25rem}.voice-settings-field-hint strong{color:#475569;font-weight:600}.voice-settings-badge{letter-spacing:.01em;white-space:nowrap;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;line-height:1.25rem;display:inline-flex}.voice-settings-badge--db{color:#0e7490;background:linear-gradient(135deg,#48b2bf38 0%,#2d9aa824 100%);border:1px solid #48b2bf66}.voice-settings-badge--env{color:#64748b;background:linear-gradient(135deg,#fff 0%,#f1f5f9 100%);border:1px solid #e2e8f0}.voice-settings-input{box-sizing:border-box;color:#0f172a;background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}.voice-settings-input:focus{border-color:#48b2bf;outline:none;box-shadow:0 0 0 3px #48b2bf33}.voice-settings-provider-toggle{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:.625rem;gap:.375rem;padding:.25rem;display:inline-flex}.voice-settings-provider-option{color:#64748b;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;line-height:1.25rem}.voice-settings-provider-option:hover{color:#334155;background:#f1f5f9}.voice-settings-provider-option--active{color:#fff;background:linear-gradient(135deg,#5ec4cf 0%,#48b2bf 45%,#3a9aa6 100%);box-shadow:0 2px 8px #48b2bf66}.voice-settings-provider-option--active:hover{color:#fff;background:linear-gradient(135deg,#48b2bf 0%,#3da4b0 45%,#2d8a96 100%)}.voice-settings-switch-row{align-items:center;gap:.625rem;display:flex}.voice-settings-switch-label{color:#475569;font-size:.875rem;font-weight:500}.voice-settings-audit-section{margin-top:.5rem;padding-top:.25rem}.voice-settings-audit-title{color:#0f172a;margin:0;font-size:1.125rem;font-weight:600;line-height:1.5rem}.voice-settings-audit-desc{color:#64748b;margin:.25rem 0 1rem;font-size:.875rem;line-height:1.45}.voice-settings-footer{color:#64748b;margin:0;padding:0 .25rem;font-size:.75rem;line-height:1.5}.voice-settings-loading{background:linear-gradient(145deg,#fff 0%,#f0fafb 50%,#e8f4f8 100%);border:1px dashed #48b2bf59;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:5rem 1.5rem;display:flex}.voice-settings-loading p{color:#64748b;margin:0;font-size:.875rem}.voice-settings-section--advanced .voice-settings-section-header{cursor:pointer;-webkit-user-select:none;user-select:none}.voice-settings-section-chevron{color:#94a3b8;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;transition:transform .2s;display:flex}.voice-settings-section-chevron--open{transform:rotate(180deg)}.session-trace-flow{flex-direction:column;gap:.75rem;display:flex}.session-trace-flow-grid-wrap{background:linear-gradient(#f8fafc 0%,#fff 36%);border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.session-trace-flow-grid-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:stretch;display:grid}.session-trace-flow-grid-corner{border-right:1px solid #e2e8f0}.session-trace-flow-grid-header-cell{letter-spacing:.08em;text-transform:uppercase;text-align:center;color:#334155;border-right:1px solid #e2e8f0;padding:.65rem .75rem;font-size:.75rem;font-weight:700}.session-trace-flow-grid-header-cell:last-child{border-right:none}.session-trace-flow-grid-header-cell--stt{color:#0369a1;background:#f0f9ff}.session-trace-flow-grid-header-cell--llm{color:#6d28d9;background:#f5f3ff}.session-trace-flow-grid-header-cell--tool{color:#b45309;background:#fffbeb}.session-trace-flow-grid-header-cell--tts{color:#a21caf;background:#fdf4ff}.session-trace-flow-hint{color:#64748b;margin:0;font-size:.8125rem}.session-trace-flow-turn-label{letter-spacing:.04em;text-transform:uppercase;color:#334155;white-space:nowrap;pointer-events:none;min-width:88px;padding:.35rem .5rem;font-size:.8125rem;font-weight:700}.session-trace-flow-canvas{min-height:420px;overflow:hidden}.session-trace-flow-canvas .react-flow{width:100%;height:100%}.session-trace-flow-minimap{border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden}.session-trace-flow-node{box-sizing:border-box;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.625rem;flex-direction:column;gap:.15rem;width:208px;min-height:104px;padding:.5rem .625rem;transition:box-shadow .15s,border-color .15s;display:flex;box-shadow:0 1px 2px #0f172a0f}.session-trace-flow-node:hover,.session-trace-flow-node--selected{border-color:#48b2bf;box-shadow:0 0 0 2px #48b2bf33,0 4px 12px #0f172a14}.session-trace-flow-node--error{background:#fef2f2;border-color:#fca5a5}.session-trace-flow-node--warn{background:#fffbeb;border-color:#fcd34d}.session-trace-flow-node--stt{border-left:4px solid #0ea5e9}.session-trace-flow-node--llm{border-left:4px solid #8b5cf6}.session-trace-flow-node--tool{border-left:4px solid #f59e0b}.session-trace-flow-node--http{border-left:4px solid #10b981}.session-trace-flow-node--tts{border-left:4px solid #d946ef}.session-trace-flow-node--delivery{border-left:4px solid #6366f1}.session-trace-flow-node--routing{border-left:4px solid #14b8a6}.session-trace-flow-node--outcome{border-left:4px solid #64748b}.session-trace-flow-node--connect,.session-trace-flow-node--agent{border-left:4px solid #94a3b8}.session-trace-flow-node-lane{letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-size:.625rem;font-weight:700;display:block}.session-trace-flow-node-label{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.8125rem;font-weight:600;line-height:1.25;display:block;overflow:hidden}.session-trace-flow-node-sublabel{color:#475569;-webkit-line-clamp:2;white-space:normal;word-break:break-word;-webkit-box-orient:vertical;flex:1;margin-top:.1rem;font-size:.6875rem;line-height:1.35;display:-webkit-box;overflow:hidden}.session-trace-flow-node-duration{font-variant-numeric:tabular-nums;color:#0f766e;background:#ccfbf1;border-radius:9999px;margin-top:.25rem;padding:.1rem .45rem;font-size:.625rem;font-weight:600;display:inline-block}.session-trace-flow-handle{background:#48b2bf!important;border:1px solid #fff!important;width:7px!important;height:7px!important}.session-trace-flow-detail-dialog{gap:.75rem;width:min(56rem,100vw - 2rem);padding:1.25rem 1.5rem 1.5rem;max-width:min(56rem,100vw - 2rem)!important}.session-trace-flow-detail-header{border-bottom:1px solid #e2e8f0;gap:.75rem;padding-bottom:.25rem}.session-trace-flow-detail-lane{letter-spacing:.06em;text-transform:uppercase;border-radius:9999px;flex-shrink:0;padding:.3rem .7rem;font-size:.6875rem;font-weight:700}.session-trace-flow-detail-lane--stt{color:#0369a1;background:#e0f2fe}.session-trace-flow-detail-lane--llm{color:#6d28d9;background:#ede9fe}.session-trace-flow-detail-lane--tool{color:#b45309;background:#fef3c7}.session-trace-flow-detail-lane--tts{color:#a21caf;background:#fae8ff}.session-trace-flow-detail-lane--connect,.session-trace-flow-detail-lane--routing,.session-trace-flow-detail-lane--agent,.session-trace-flow-detail-lane--http,.session-trace-flow-detail-lane--delivery,.session-trace-flow-detail-lane--outcome{color:#475569;background:#f1f5f9}.session-trace-flow-detail-summary{color:#334155;word-break:break-word;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin:0;padding:.65rem .75rem;font-size:.875rem;line-height:1.45}.session-trace-flow-detail-meta{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.session-trace-flow-detail-meta-item{flex-direction:column;gap:.1rem;min-width:0;max-width:100%;display:inline-flex}.session-trace-flow-detail-meta-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;font-size:.6875rem;font-weight:600}.session-trace-flow-detail-meta-value{color:#0f172a;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;line-height:1.35}.session-trace-flow-detail-body{max-height:min(72dvh,680px);padding-right:.25rem}.session-trace-flow-detail-event+.session-trace-flow-detail-event{border-top:1px dashed #cbd5e1;margin-top:1rem;padding-top:1rem}.session-trace-flow-detail-event-header{margin-bottom:.625rem}.session-trace-flow-detail-event-title{color:#0f172a;margin:0;font-size:.9375rem;font-weight:600}.session-trace-flow-detail-event-meta{color:#64748b;margin:.2rem 0 0;font-size:.8125rem}.session-trace-flow-detail-event .session-trace-event-card{padding:.875rem 1rem}.game-map-builder{min-width:0}.game-map-builder-top{margin-bottom:.75rem}.game-map-builder-title{color:#0f172a;margin:.35rem 0 .15rem;font-size:1.35rem;font-weight:700}.game-map-builder-hint{color:#64748b;margin:0;font-size:.875rem}.game-map-builder-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:.875rem;min-height:min(72dvh,720px);display:grid}@media (max-width:960px){.game-map-builder-layout{grid-template-columns:1fr}}.game-map-builder-map-pane{background:#0f172a;border:1px solid #cbd5e1;border-radius:.75rem;min-height:420px;position:relative;overflow:hidden}.game-map-builder-map{width:100%;height:100%;min-height:420px}.game-map-builder-map-overlay{z-index:3;background:#fffffff0;border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.4rem .65rem;display:flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 2px 8px #0f172a1f}.game-map-builder-map-overlay label{color:#0f172a;white-space:nowrap;cursor:pointer;margin:0;font-size:.75rem;font-weight:600}.game-map-builder-map-loading,.game-map-builder-map-fallback{z-index:2;color:#f8fafc;pointer-events:none;background:#0f172a8c;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:flex;position:absolute;inset:0}.game-map-builder-map-fallback{pointer-events:auto;text-align:center;background:#1e293b;padding:1.5rem}.game-map-builder-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.75rem;min-height:0;max-height:min(72dvh,720px);padding:.75rem;display:flex;overflow:auto}.game-map-builder-tabs{background:#f1f5f9;border-radius:.5rem;flex-shrink:0;grid-template-columns:1fr 1fr;gap:.35rem;padding:.25rem;display:grid}.game-map-builder-tab{letter-spacing:.01em;color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:.375rem;padding:.45rem .4rem;font-size:.6875rem;font-weight:650;line-height:1.25}.game-map-builder-tab:hover{color:#0f172a;background:#ffffff8c}.game-map-builder-tab--active{color:#0f172a;background:#fff;box-shadow:0 1px 2px #0f172a14}.game-map-builder-algo-meta{gap:.4rem;margin:0;display:grid}.game-map-builder-algo-meta>div{grid-template-columns:6.5rem 1fr;gap:.5rem;font-size:.8125rem;display:grid}.game-map-builder-algo-meta dt{color:#64748b;margin:0;font-weight:600}.game-map-builder-algo-meta dd{color:#0f172a;word-break:break-word;margin:0}.game-map-builder-algo-json{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#0f172a;border:1px solid #e2e8f0;border-radius:.5rem;max-height:22rem;margin:0;padding:.65rem .75rem;font-size:.6875rem;line-height:1.45;overflow:auto}.game-map-builder-section h3{letter-spacing:.02em;text-transform:uppercase;color:#475569;margin:0 0 .5rem;font-size:.8125rem;font-weight:700}.game-map-builder-latlng{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem;display:grid}.game-map-builder-radius-slider{accent-color:#48b2bf;cursor:ew-resize;width:100%;margin:.35rem 0 .45rem}.game-map-builder-palette{flex-direction:column;gap:.25rem;display:flex}.game-map-builder-palette-item{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;transition:background .15s,border-color .15s;display:flex}.game-map-builder-palette-item:hover{background:#f1f5f9}.game-map-builder-palette-item--active{background:#ecfeff;border-color:#48b2bf}.game-map-builder-swatch{border:1px solid;border-radius:.2rem;flex-shrink:0;width:.875rem;height:.875rem}.game-map-builder-palette-label{color:#0f172a;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;font-weight:500}.game-map-builder-palette-count{color:#64748b;background:#e2e8f0;border-radius:999px;padding:.05rem .4rem;font-size:.6875rem;font-weight:600}.game-map-builder-course-results{border:1px solid #e2e8f0;border-radius:.5rem;max-height:10rem;margin:.4rem 0 0;padding:0;list-style:none;overflow:auto}.game-map-builder-course-results button{text-align:left;color:#0f172a;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f1f5f9;width:100%;padding:.5rem .65rem;font-size:.8125rem;display:block}.game-map-builder-course-results li:last-child button{border-bottom:0}.game-map-builder-course-results button:hover{background:#f8fafc}.game-map-builder-actions{border-top:1px solid #e2e8f0;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.game-map-builder-actions>button{flex:1}.game-map-builder-palette--compact{max-height:11rem;overflow:auto}.game-map-builder-section--edit{background:#fffbeb;border:1px solid #fde68a;border-radius:.5rem;padding:.65rem}.game-map-builder-object-groups{flex-direction:column;gap:.35rem;display:flex}.game-map-builder-object-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden}.game-map-builder-object-group-header{text-align:left;cursor:pointer;background:#f1f5f9;border:0;align-items:center;gap:.4rem;width:100%;padding:.45rem .5rem;display:flex}.game-map-builder-object-group-header:hover{background:#e2e8f0}.game-map-builder-object-list{background:#fff;flex-direction:column;gap:.2rem;margin:0;padding:.25rem;list-style:none;display:flex}.game-map-builder-object-item{text-align:left;color:#334155;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.375rem;justify-content:space-between;align-items:center;gap:.35rem;width:100%;padding:.4rem .5rem;font-size:.75rem;display:flex}.game-map-builder-object-item:hover{background:#f8fafc}.game-map-builder-object-item--active{color:#0f172a;background:#fffbeb;border-color:#f59e0b;font-weight:600}.game-map-builder-object-item-delete{color:#94a3b8;border-radius:.25rem;padding:.15rem;display:inline-flex}.game-map-builder-object-item-delete:hover{color:#dc2626;background:#fef2f2}.game-map-hole-label{text-shadow:0 0 2px #fff,0 0 3px #fff}.game-map-hole-flag-label{text-shadow:0 0 2px #fff,0 0 3px #fff,0 1px 2px #0f172a59}.game-map-metric-label{white-space:nowrap;text-overflow:ellipsis;background:#ffffffe0;border-radius:3px;max-width:220px;padding:1px 4px;line-height:1.2;overflow:hidden;box-shadow:0 1px 2px #0f172a2e}.game-map-line-guide-label{white-space:nowrap;background:#dbeafef0;border-radius:3px;padding:1px 4px;box-shadow:0 1px 2px #2563eb2e}.session-trace-play{flex-direction:column;gap:.75rem;min-height:28rem;display:flex}.session-trace-play-banner{color:#334155;background:#f1f5f9;border-radius:.5rem;align-items:center;gap:.5rem;margin:0;padding:.5rem .75rem;font-size:.8125rem;display:inline-flex}.session-trace-play-banner--warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.session-trace-play-body{grid-template-columns:minmax(0,1.6fr) minmax(16rem,.9fr);gap:.75rem;min-height:22rem;display:grid}@media (max-width:900px){.session-trace-play-body{grid-template-columns:1fr}}.session-trace-play-map-pane{background:#0f172a;border:1px solid #e2e8f0;border-radius:.75rem;min-height:22rem;position:relative;overflow:hidden}.session-trace-play-map{width:100%;height:100%;min-height:22rem}.session-trace-play-map-label{z-index:2;color:#0f172a;background:#ffffffeb;border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;position:absolute;top:.75rem;left:.75rem;box-shadow:0 1px 2px #0f172a1f}.session-trace-play-chat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.5rem;min-height:22rem;max-height:28rem;padding:.75rem;display:flex;overflow:hidden}.session-trace-play-chat-title{color:#0f172a;margin:0;font-size:.8125rem;font-weight:600}.session-trace-play-chat-empty{text-align:center;color:#64748b;flex:1;justify-content:center;align-items:center;margin:0;padding:1rem;font-size:.8125rem;line-height:1.45;display:flex}.session-trace-play-chat-list{flex-direction:column;flex:1;gap:.5rem;display:flex;overflow-y:auto}.session-trace-play-bubble{border-radius:.625rem;padding:.625rem .75rem;font-size:.8125rem;line-height:1.45}.session-trace-play-bubble p{white-space:pre-wrap;word-break:break-word;margin:.25rem 0 0}.session-trace-play-bubble-role{letter-spacing:.02em;text-transform:uppercase;opacity:.75;font-size:.6875rem;font-weight:700}.session-trace-play-bubble--user{color:#134e4a;background:#dff6f8;align-self:flex-end;max-width:95%}.session-trace-play-bubble--assistant{color:#1e293b;background:#fff;border:1px solid #e2e8f0;align-self:flex-start;max-width:95%}.session-trace-play-pose{color:#64748b;border-top:1px solid #e2e8f0;margin:0;padding-top:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6875rem}.session-trace-play-transport{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.625rem .75rem;padding:.625rem .75rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.session-trace-play-transport-btn{flex-shrink:0}.session-trace-play-time{color:#334155;flex-shrink:0;min-width:5.5rem;font-size:.8125rem;font-weight:600}.session-trace-play-scrubber{accent-color:#48b2bf;cursor:pointer;flex:12rem;min-width:8rem}.session-trace-play-rate{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:inline-flex;overflow:hidden}.session-trace-play-rate button{color:#64748b;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.session-trace-play-rate button+button{border-left:1px solid #e2e8f0}.session-trace-play-rate button.is-active{color:#0f766e;background:#dff6f8}.session-trace-play-meta{color:#94a3b8;flex-shrink:0;font-size:.75rem}.game-map-public-page{background:#0f172a;height:100dvh;overflow:hidden}.game-map-share-shell{--share-tools-w:22.5rem;color:#e2e8f0;background:#0b1220;width:100%;height:100dvh;display:flex;overflow:hidden}.game-map-share-tools{flex:0 0 var(--share-tools-w);width:var(--share-tools-w);z-index:5;background:#0f172a;border-right:1px solid #94a3b82e;flex-direction:column;gap:.65rem;max-width:100%;min-height:0;padding:.75rem;display:flex;position:relative;overflow:hidden}.game-map-share-tools-actions{flex-wrap:wrap;flex-shrink:0;gap:.4rem;display:flex}.game-map-share-tool-btn{color:#e2e8f0;cursor:pointer;background:#1e293be6;border:1px solid #94a3b847;border-radius:.55rem;align-items:center;gap:.35rem;padding:.45rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.game-map-share-tool-btn:hover{background:#334155f2}.game-map-share-tool-btn.is-active{color:#e0f2fe;background:#0ea5e92e;border-color:#38bdf8}.game-map-share-tools-panels{flex:0 auto;min-height:0;max-height:42%;position:relative;overflow:auto}.game-map-share-tools .game-map-mock-panel,.game-map-share-tools .game-map-exp-panel{z-index:2;width:100%;height:auto;max-height:none;margin-bottom:.5rem;position:relative;inset:auto}.game-map-share-tools .game-map-mock-transport{z-index:2;width:100%;margin-top:.35rem;position:relative;bottom:auto;left:auto;transform:none}.game-map-share-chat{color:#0f172a;background:#fff;border:1px solid #94a3b838;border-radius:.85rem;flex-direction:column;flex:auto;min-height:12rem;display:flex;overflow:hidden}.game-map-share-chat .game-map-public-chat-header{flex-shrink:0}.game-map-share-chat .game-map-public-chat-messages{flex:auto;min-height:0}.game-map-share-preview{background:#111827;flex-direction:column;flex:auto;gap:.65rem;min-width:0;padding:.75rem;display:flex}.game-map-share-preview-chrome{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.65rem 1rem;display:flex}.game-map-share-mode-toggle{background:#1e293bf2;border:1px solid #94a3b840;border-radius:.65rem;padding:.2rem;display:inline-flex}.game-map-share-mode-btn{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600}.game-map-share-mode-btn.is-active{color:#0f172a;background:#f8fafc}.game-map-share-device-field{color:#cbd5e1;align-items:center;gap:.45rem;font-size:.8rem;display:inline-flex}.game-map-share-device-label{letter-spacing:.02em;font-weight:600}.game-map-share-device-select{color:#f8fafc;background:#0f172a;border:1px solid #94a3b859;border-radius:.5rem;max-width:min(18rem,55vw);padding:.4rem .55rem;font-size:.8rem}.game-map-share-preview-stage{flex:auto;justify-content:center;align-items:center;min-height:0;padding:.35rem;display:flex;overflow:auto}.game-map-share-frame{background:#0f172a;position:relative;overflow:hidden;box-shadow:0 18px 50px #00000073}.game-map-share-frame--laptop{border:1px solid #94a3b833;border-radius:.75rem;width:100%;height:100%}.game-map-share-frame--mobile{border:3px solid #1e293b;border-radius:1.35rem;outline:1px solid #94a3b840;flex:none;max-width:100%;max-height:100%}.game-map-share-frame .game-map-public{width:100%;height:100%;min-height:0}.game-map-scorecard-fab{right:.85rem;bottom:calc(var(--game-map-score-dock-h,5.5rem) + .75rem);z-index:29;width:var(--ft-fab,2.5rem);height:var(--ft-fab,2.5rem);border:1.5px solid var(--ft-green,#0f7a28);background:var(--ft-paper,#fff);color:var(--ft-green,#0f7a28);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;box-shadow:0 6px 18px #1c1c1a2e}.game-map-scorecard-fab:hover{background:var(--ft-paper-soft,#f3f7f4)}.game-map-scorecard-fab.is-active{background:var(--ft-green,#0f7a28);border-color:var(--ft-green,#0f7a28);color:#fff}.game-map-camera-fab-stack{right:.85rem;bottom:calc(var(--game-map-score-dock-h,5.5rem) + .75rem);z-index:29;pointer-events:auto;flex-direction:column;align-items:center;gap:.55rem;display:flex;position:absolute}.game-map-camera-fab-group{flex-direction:column;align-items:center;gap:.35rem;display:flex}.game-map-camera-fab-group--actions{border-top:1px solid #1c1c1a1f;padding-top:.35rem}.game-map-map-fab{width:var(--ft-fab,2.5rem);height:var(--ft-fab,2.5rem);background:var(--ft-paper,#fff);color:var(--ft-ink,#1c1c1a);cursor:pointer;border:1px solid #1c1c1a14;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 6px 18px #1c1c1a29}.game-map-map-fab:hover:not(:disabled){background:var(--ft-paper-soft,#f3f7f4)}.game-map-map-fab.is-active{background:var(--ft-green,#0f7a28);border-color:var(--ft-green,#0f7a28);color:#fff;box-shadow:0 6px 16px #0f7a2847}.game-map-map-fab.is-active.is-live{box-shadow:0 0 0 2px #0f7a2847,0 6px 16px #0f7a2847}.game-map-map-fab--scorecard{border:1.5px solid var(--ft-green,#0f7a28);color:var(--ft-green,#0f7a28)}.game-map-map-fab--scorecard.is-active{background:var(--ft-green,#0f7a28);border-color:var(--ft-green,#0f7a28);color:#fff}.game-map-map-fab:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.game-map-relocate-pin{left:50%;top:calc(50% - var(--game-map-score-dock-h,5.5rem) * .18);z-index:28;pointer-events:none;flex-direction:column;align-items:center;transition:transform .15s;display:flex;position:absolute;transform:translate(-50%,-100%)}.game-map-relocate-pin.is-lifting{transform:translate(-50%,calc(-100% - .35rem))}.game-map-relocate-pin-icon{width:2.25rem;height:2.25rem;color:var(--ft-green,#0f7a28);fill:#1db954;stroke:var(--ft-green-deep,#0a5c1c);filter:drop-shadow(0 4px 10px #1c1c1a47)}.game-map-relocate-pin-dot{background:#1c1c1a66;border-radius:999px;width:.4rem;height:.4rem;margin-top:-.15rem}.game-map-relocate-bar{left:.65rem;right:.65rem;bottom:calc(var(--game-map-score-dock-h,5.5rem) + .55rem);z-index:30;border-radius:var(--ft-radius-card,.7rem);background:var(--ft-paper,#fff);border:1px solid var(--ft-line,#dde5e1);pointer-events:auto;color:var(--ft-ink,#1c1c1a);flex-direction:column;gap:.45rem;padding:.65rem .75rem;display:flex;position:absolute;box-shadow:0 12px 28px #1c1c1a2e}.game-map-relocate-hint{color:var(--ft-muted,#6b6b66);text-align:center;margin:0;font-size:.8125rem;font-weight:600}.game-map-relocate-actions{gap:.45rem;display:flex}.game-map-relocate-btn{border-radius:var(--ft-radius-control,.55rem);cursor:pointer;border:0;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .65rem;font-size:.8125rem;font-weight:650;display:inline-flex}.game-map-relocate-btn--cancel{background:var(--ft-paper-soft,#f3f7f4);color:var(--ft-ink,#1c1c1a);border:1px solid var(--ft-line,#dde5e1)}.game-map-relocate-btn--confirm{background:var(--ft-green,#0f7a28);color:#fff}.game-map-relocate-btn--confirm:hover{background:var(--ft-green-deep,#0a5c1c)}.game-map-public:has(.game-map-relocate-bar) .game-map-camera-fab-stack{bottom:calc(var(--game-map-score-dock-h,5.5rem) + 5.25rem)}@media (max-width:900px){.game-map-share-shell{flex-direction:column}.game-map-share-tools{border-bottom:1px solid #94a3b82e;border-right:0;flex:none;width:100%;max-height:42dvh}.game-map-share-preview{flex:auto;min-height:0}}.game-map-public{--ft-ink:#1c1c1a;--ft-muted:#6b6b66;--ft-line:#dde5e1;--ft-paper:#fff;--ft-paper-soft:#f3f7f4;--ft-green:#0f7a28;--ft-green-deep:#0a5c1c;--ft-green-mid:#1a9e3c;--ft-scrim:#1c1c1a52;--ft-radius-sheet:1rem 1rem 0 0;--ft-radius-card:.7rem;--ft-radius-control:.55rem;--ft-fab:2.5rem;color:#f8fafc;background:#0f172a;width:100%;height:100dvh;position:relative;overflow:hidden}.game-map-public-map{z-index:0;background:#0f172a;position:absolute;inset:0}.game-map-public-map-loading,.game-map-public-center-state{z-index:1;color:#e2e8f0;pointer-events:none;background:#0f172a73;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.875rem;display:flex;position:absolute;inset:0}.game-map-public-center-state{pointer-events:auto;background:#0f172a;min-height:100dvh;position:relative}.game-map-public-center-state--error{color:#be123c;background:#f8fafc}.game-map-public-error-card{color:#be123c;background:#fff;border:1px solid #fecdd3;border-radius:1rem;max-width:28rem;margin:1.5rem;padding:1.25rem 1.5rem;font-size:.875rem;box-shadow:0 4px 20px #0f172a14}.game-map-public-map-error{z-index:2;color:#92400e;background:#fffbeb;border:1px solid #fbbf2473;border-radius:.75rem;max-width:32rem;margin:0 auto;padding:.75rem 1rem;font-size:.875rem;position:absolute;top:5.5rem;left:1rem;right:1rem;box-shadow:0 8px 24px #0f172a33}.game-map-public-top{inset-inline:0;z-index:10;pointer-events:none;background:linear-gradient(#0f172ad1 0%,#0f172a59 55%,#0000 100%);padding:1rem 1rem 4rem;position:absolute;top:0}.game-map-public-top-inner{pointer-events:auto;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;max-width:72rem;margin:0 auto;display:flex}.game-map-public-badge{color:#ffffffeb;letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.35rem;margin-bottom:.5rem;padding:.25rem .65rem;font-size:.6875rem;font-weight:600;display:inline-flex}.game-map-public-badge svg{color:#7dd3da}.game-map-public-title{letter-spacing:-.02em;color:#fff;text-shadow:0 1px 2px #00000059;text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,36rem);margin:0;font-size:1.35rem;font-weight:650;overflow:hidden}.game-map-public-meta{color:#ffffffb8;margin:.35rem 0 0;font-size:.875rem}.game-map-public-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.game-map-public-chip{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.game-map-public-chip:hover{background:#ffffff2e}.game-map-public-chip--accent{background:#48b2bf47;border-color:#48b2bfa6}.game-map-public-chip--accent:hover{background:#48b2bf61}.game-map-public-sheet{inset-inline:0;z-index:20;flex-direction:column;transition:height .28s;display:flex;position:absolute;bottom:0}.game-map-public-sheet--collapsed{height:4.5rem}.game-map-public-sheet--half{height:min(42vh,420px)}.game-map-public-sheet--full{height:min(78vh,720px)}.game-map-public-sheet-inner{color:#0f172a;background:#fffffff7;border:1px solid #e2e8f0d9;border-bottom:none;border-radius:1rem 1rem 0 0;flex-direction:column;flex:1;width:100%;max-width:72rem;min-height:0;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 -12px 40px #0f172a59}.game-map-public-sheet-bar{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.game-map-public-sheet-grab{cursor:pointer;text-align:left;min-width:0;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:.75rem;padding:0;display:flex}.game-map-public-sheet-handle{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:2.5rem;height:.25rem;display:block}.game-map-public-sheet-bar-title{color:#0f172a;font-size:.875rem;font-weight:650}.game-map-public-sheet-bar-sub{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.75rem;overflow:hidden}.game-map-public-modes{align-items:center;gap:.25rem;display:flex}.game-map-public-mode{color:#475569;text-transform:capitalize;cursor:pointer;background:#f1f5f9;border:0;border-radius:999px;padding:.3rem .65rem;font-size:.6875rem;font-weight:650}.game-map-public-mode.is-active{color:#fff;background:#0f172a}.game-map-public-sheet-body{flex:1;min-height:0;padding:.85rem 1rem 1.25rem;overflow-y:auto}.game-map-public-sheet-collapsed-hint{color:#475569;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.55rem 1rem;font-size:.875rem;display:flex}.game-map-public-details{flex-direction:column;gap:.65rem;display:flex}.game-map-public-details>details{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.game-map-public-details>details>summary{cursor:pointer;color:#0f172a;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1rem;font-size:.875rem;font-weight:650;list-style:none;display:flex}.game-map-public-details>details>summary::-webkit-details-marker{display:none}.game-map-public-details>details>summary:after{content:"";border-bottom:2px solid #94a3b8;border-right:2px solid #94a3b8;flex-shrink:0;width:.5rem;height:.5rem;transition:transform .15s;transform:rotate(45deg)}.game-map-public-details>details[open]>summary:after{margin-top:.25rem;transform:rotate(225deg)}.game-map-public-details-body{color:#334155;white-space:pre-wrap;padding:0 1rem 1rem;font-size:.875rem;line-height:1.55}.game-map-public-details-empty{color:#64748b}.game-map-public-hole-list{flex-direction:column;gap:.45rem;padding:0 .65rem .75rem;display:flex}.game-map-public-hole-list details{background:#f8fafc;border:1px solid #f1f5f9;border-radius:.55rem;overflow:hidden}.game-map-public-hole-list details>summary{cursor:pointer;color:#1e293b;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.65rem .75rem;font-size:.875rem;font-weight:600;list-style:none;display:flex}.game-map-public-hole-list details>summary::-webkit-details-marker{display:none}.game-map-public-hole-num{color:#2f7f88;background:#48b2bf29;border-radius:.375rem;justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;font-size:.75rem;font-weight:700;display:inline-flex}.game-map-public-hole-body{color:#334155;white-space:pre-wrap;padding:0 .75rem .75rem;font-size:.875rem;line-height:1.55}@media (max-width:640px){.game-map-public-title{font-size:1.15rem}.game-map-public-sheet-bar-copy{display:none}}.game-map-public-brand{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a8c;border:1px solid #ffffff24;border-radius:.75rem;align-items:center;gap:.55rem;margin-bottom:.65rem;padding:.4rem .7rem .4rem .45rem;display:inline-flex;box-shadow:0 4px 18px #00000040}.game-map-public-brand-mark{width:auto;height:1.75rem;display:block}.game-map-public-brand-word{letter-spacing:-.02em;color:#fff;font-size:1rem;font-weight:700}.game-map-public-chat-root{z-index:30;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.75rem;display:flex;position:absolute;bottom:7.25rem;right:1rem}.game-map-public-chat-root>*{pointer-events:auto}.game-map-public-chat-launcher{color:#fff;cursor:pointer;background:#028ff5;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.875rem;font-weight:650;display:inline-flex;box-shadow:0 8px 24px #028ff566}.game-map-public-chat-launcher:hover{background:#0277cf}.game-map-public-chat-panel{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;flex-direction:column;width:min(22.5rem,100vw - 2rem);max-height:min(32rem,100dvh - 8rem);display:flex;overflow:hidden;box-shadow:0 16px 48px #0f172a47}.game-map-public-chat-header{color:#fff;background:#028ff5;flex-shrink:0;align-items:center;gap:.65rem;padding:.75rem .85rem;display:flex}.game-map-public-chat-header-avatar{background:#fff3;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex;overflow:hidden}.game-map-public-chat-header-avatar svg{width:1.15rem;height:1.15rem}.game-map-public-chat-header-copy{flex:1;min-width:0}.game-map-public-chat-header-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;font-weight:650;overflow:hidden}.game-map-public-chat-header-sub{opacity:.85;margin:.1rem 0 0;font-size:.6875rem}.game-map-public-chat-close{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:.35rem;padding:.25rem;display:inline-flex}.game-map-public-chat-close:disabled{opacity:.45;cursor:not-allowed}.game-map-public-chat-close:hover:not(:disabled){background:#ffffff26}.game-map-public-chat-messages{background:#f8fafc;flex-direction:column;flex:1;gap:.75rem;min-height:12rem;padding:.85rem;display:flex;overflow-y:auto}.game-map-public-chat-row{align-items:flex-start;gap:.45rem;display:flex}.game-map-public-chat-row--user{justify-content:flex-end}.game-map-public-chat-avatar{color:#64748b;background:#e2e8f0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;margin-top:.15rem;display:flex}.game-map-public-chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:.65rem;max-width:80%;padding:.5rem .7rem;font-size:.8125rem;line-height:1.45}.game-map-public-chat-bubble--bot{color:#0f172a;background:#fff;border:1px solid #e2e8f0}.game-map-public-chat-bubble--user{color:#fff;background:#028ff5}.game-map-public-chat-typing{color:#64748b;padding:0 .25rem;font-size:.75rem}.game-map-public-chat-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:.5rem;margin:0 .85rem .5rem;padding:.5rem .65rem;font-size:.75rem}.game-map-public-chat-composer{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:.45rem;padding:.55rem;display:flex}.game-map-public-chat-input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:.55rem;outline:none;flex:1;min-width:0;padding:.55rem .7rem;font-size:.8125rem}.game-map-public-chat-input:focus{border-color:#028ff5;box-shadow:0 0 0 2px #028ff526}.game-map-public-chat-send{color:#fff;cursor:pointer;background:#028ff5;border:0;border-radius:.55rem;flex-shrink:0;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;display:inline-flex}.game-map-public-chat-send:hover:not(:disabled){background:#0277cf}.game-map-public-chat-send:disabled{opacity:.55;cursor:not-allowed}@media (max-width:640px){.game-map-public-chat-root{bottom:7rem;right:.75rem}.game-map-public-chat-panel{width:min(100vw - 1.5rem,22.5rem)}}.session-trace-agent-state-card{flex-direction:column;gap:.85rem;display:flex}.session-trace-agent-state-step{background:#f8fafc;border:1px solid #0f172a14;border-radius:.75rem;padding:.75rem .85rem}.session-trace-agent-state-step--user{border-left:3px solid #0284c7}.session-trace-agent-state-step--tool{border-left:3px solid #059669}.session-trace-agent-state-step--assistant{border-left:3px solid #0d9488}.session-trace-agent-state-text{color:#0f172a;white-space:pre-wrap;margin:.25rem 0 .5rem;font-size:.9rem;line-height:1.45}.session-trace-agent-state-chips{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.35rem 0;display:flex}.session-trace-agent-state-chips-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-right:.15rem;font-size:.7rem;font-weight:600}.session-trace-agent-state-chip{border-radius:9999px;padding:.1rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;font-weight:600}.session-trace-agent-state-chip--added{color:#166534;background:#dcfce7}.session-trace-agent-state-chip--changed{color:#92400e;background:#fef3c7}.session-trace-agent-state-chip--cleared{color:#991b1b;background:#fee2e2}.session-trace-agent-state-before-after{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.session-trace-agent-state-step--delta{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 35%,#fff 100%);border-left:3px solid #d97706}.session-trace-agent-state-delta-summary{flex-direction:column;gap:.35rem;margin:.4rem 0 .65rem;display:flex}.session-trace-agent-state-tools{flex-direction:column;gap:.65rem;display:flex}.session-trace-agent-state-tools-heading{margin:.25rem 0 0}.session-trace-agent-state-fold-btn{color:#0f766e;cursor:pointer;text-align:left;background:0 0;border:0;margin-top:.4rem;padding:0;font-size:.8rem;font-weight:600}.session-trace-agent-state-fold-btn:hover{text-decoration:underline}.session-trace-agent-state-badge{letter-spacing:.03em;text-transform:uppercase;color:#115e59;background:#ccfbf1;border-radius:9999px;margin-left:auto;padding:.15rem .55rem;font-size:.68rem;font-weight:700}.session-trace-agent-state-badge--muted{color:#475569;background:#e2e8f0}.game-map-mock-fab{z-index:22;color:#f8fafc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;background:#0f172ae0;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .8rem .55rem .65rem;font-size:.8125rem;font-weight:600;display:inline-flex;position:absolute;top:6.75rem;left:.75rem;box-shadow:0 8px 24px #00000059}.game-map-mock-fab:hover{background:#0f172af5;border-color:#48b2bf8c}.game-map-mock-fab--active{color:#ecfeff;background:#0f766e;border-color:#14b8a6}.game-map-mock-fab svg{color:#7dd3da;flex-shrink:0}.game-map-mock-fab--active svg{color:#ecfeff}.game-map-mock-fab-label{white-space:nowrap;line-height:1}.game-map-public.game-map-mock-drawing .game-map-public-map,.game-map-public.game-map-mock-drawing .game-map-public-map *{cursor:crosshair!important}.game-map-mock-panel{z-index:24;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e2e8f0;pointer-events:auto;background:#0f172aeb;border:1px solid #e2e8f059;border-radius:.875rem;flex-direction:column;width:min(22rem,100vw - 1.5rem);display:flex;position:absolute;top:5.5rem;bottom:5.5rem;right:.75rem;overflow:hidden;box-shadow:0 12px 40px #00000059}.game-map-mock-panel-header{border-bottom:1px solid #94a3b840;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .875rem;display:flex}.game-map-mock-panel-title{color:#f8fafc;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;display:inline-flex}.game-map-mock-icon-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.4rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.game-map-mock-icon-btn:hover{color:#f8fafc;background:#94a3b826}.game-map-mock-panel-body{flex-direction:column;flex:auto;gap:1rem;padding:.75rem .875rem 1rem;display:flex;overflow:auto}.game-map-mock-section{flex-direction:column;gap:.5rem;display:flex}.game-map-mock-section-title{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:.7rem;font-weight:700}.game-map-mock-btn-row{flex-wrap:wrap;gap:.375rem;display:flex}.game-map-mock-btn{color:#e2e8f0;cursor:pointer;background:#1e293be6;border:1px solid #94a3b859;border-radius:.45rem;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.game-map-mock-btn:hover:not(:disabled){color:#fff;border-color:#48b2bf8c}.game-map-mock-btn:disabled{opacity:.45;cursor:not-allowed}.game-map-mock-btn--ghost{background:0 0}.game-map-mock-btn--primary{color:#ecfeff;background:#0f766e;border-color:#0f766e}.game-map-mock-btn--primary:hover:not(:disabled){background:#0d9488;border-color:#0d9488}.game-map-mock-btn--danger{color:#fda4af;border-color:#fb718559}.game-map-mock-hint{color:#94a3b8;margin:0;font-size:.72rem;line-height:1.35}.game-map-mock-error{color:#fda4af;margin:0;font-size:.75rem}.game-map-mock-field{color:#94a3b8;flex-direction:column;gap:.2rem;font-size:.7rem;display:flex}.game-map-mock-field input{color:#f8fafc;background:#0f172abf;border:1px solid #94a3b859;border-radius:.4rem;width:100%;padding:.4rem .5rem;font-size:.8125rem}.game-map-mock-field input:disabled{opacity:.5}.game-map-mock-subgrid{grid-template-columns:1fr auto;align-items:end;gap:.4rem;display:grid}.game-map-mock-subgrid--3{grid-template-columns:repeat(3,1fr)}.game-map-mock-chip-list{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.game-map-mock-chip-list li{color:#99f6e4;background:#48b2bf26;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .4rem;font-size:.68rem;display:inline-flex}.game-map-mock-chip-list button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 .1rem;font-size:.85rem;line-height:1}.game-map-mock-route-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.game-map-mock-route-item{background:#1e293b8c;border:1px solid #94a3b840;border-radius:.55rem;flex-direction:column;gap:.4rem;padding:.55rem .6rem;display:flex}.game-map-mock-route-meta{flex-direction:column;gap:.1rem;display:flex}.game-map-mock-route-meta strong{color:#f8fafc;font-size:.8125rem}.game-map-mock-route-meta span{color:#94a3b8;font-size:.7rem}.game-map-mock-transport{z-index:26;color:#0f172a;pointer-events:auto;background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;width:min(48rem,100vw - 1.5rem);padding:.55rem .75rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0f172a47}.game-map-mock-transport-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.45rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.game-map-mock-transport-btn:disabled{opacity:.4;cursor:not-allowed}.game-map-mock-transport-time{color:#334155;flex-shrink:0;min-width:5.5rem;font-size:.8125rem;font-weight:600}.game-map-mock-scrubber{accent-color:#48b2bf;cursor:pointer;flex:10rem;min-width:7rem}.game-map-mock-rate{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:inline-flex;overflow:hidden}.game-map-mock-rate button{color:#64748b;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.game-map-mock-rate button+button{border-left:1px solid #e2e8f0}.game-map-mock-rate button.is-active{color:#0f766e;background:#dff6f8}.game-map-mock-transport-meta{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:8rem;font-size:.75rem;overflow:hidden}@media (max-width:640px){.game-map-mock-fab{top:auto;bottom:5.75rem;left:.5rem}.game-map-mock-panel{width:auto;max-height:45dvh;inset:auto .5rem 4.5rem}.game-map-mock-transport{bottom:.5rem}}.game-map-oncourse-fab{top:10.25rem}.game-map-exp-fab{top:13.75rem}.game-map-auth-fab{top:17.25rem}.game-map-exp-logs-fab{top:20.75rem}.game-map-score-dock{--dock-ease:cubic-bezier(.22, 1, .36, 1);--dock-dur:.42s;z-index:28;pointer-events:none;color:var(--ft-ink,#1c1c1a);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.game-map-score-dock-scrim{background:var(--ft-scrim,#1c1c1a52);cursor:pointer;opacity:0;pointer-events:none;height:100dvh;transition:opacity .32s var(--dock-ease);border:0;margin:0;padding:0;position:absolute;inset:0}.game-map-score-dock-scrim.is-open{opacity:1;pointer-events:auto}.game-map-score-dock-panel{pointer-events:auto;background:var(--ft-paper,#fff);border-radius:var(--ft-radius-sheet,1rem 1rem 0 0);border-top:1px solid var(--ft-line,#dde5e1);width:min(100%,28rem);padding:0 0 env(safe-area-inset-bottom,0);touch-action:pan-y;max-height:min(72dvh,36rem);transition:max-height var(--dock-dur) var(--dock-ease), box-shadow var(--dock-dur) var(--dock-ease), transform var(--dock-dur) var(--dock-ease);will-change:max-height;flex-direction:column;margin:0 auto;display:flex;position:relative;box-shadow:0 -8px 28px #1c1c1a1f,inset 0 -1px #ffffffb3}.game-map-score-dock--expanded .game-map-score-dock-panel{max-height:min(78dvh,40rem);box-shadow:0 -14px 40px #1c1c1a2e,inset 0 -1px #ffffffbf}.game-map-score-dock-toggle{cursor:pointer;width:100%;color:var(--ft-muted,#6b6b66);background:0 0;border:0;flex-direction:column;align-items:center;gap:.2rem;padding:.55rem 1rem .15rem;display:flex}.game-map-score-dock-handle{width:2.25rem;height:.28rem;transition:width .28s var(--dock-ease), background .28s ease;background:#c5d0ca;border-radius:999px}.game-map-score-dock--expanded .game-map-score-dock-handle{background:#a8b8b0;width:2.65rem}.game-map-score-dock-caret{opacity:.85;transition:transform var(--dock-dur) var(--dock-ease), opacity .25s ease;transform:rotate(0)}.game-map-score-dock--expanded .game-map-score-dock-caret{transform:rotate(180deg)}.game-map-score-dock-hole{transition:padding-bottom .28s var(--dock-ease);justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .85rem .75rem;display:flex}.game-map-score-dock--expanded .game-map-score-dock-hole{padding-bottom:.55rem}.game-map-score-dock-chevron{border:1px solid var(--ft-line,#dde5e1);border-radius:var(--ft-radius-control,.55rem);background:var(--ft-paper-soft,#f3f7f4);width:2.5rem;height:2.5rem;color:var(--ft-ink,#1c1c1a);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.game-map-score-dock-chevron:hover:not(:disabled){background:#e8f0eb;border-color:#c5d0ca}.game-map-score-dock-chevron:disabled{opacity:.35;cursor:default}.game-map-score-dock-hole-meta{flex-direction:column;flex:1;align-items:center;gap:.05rem;min-width:0;display:flex}.game-map-score-dock-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--ft-green,#0f7a28);font-size:.68rem;font-weight:700}.game-map-score-dock-hole-num{color:var(--ft-ink,#1c1c1a);letter-spacing:-.03em;font-size:1.55rem;font-weight:700;line-height:1.1}.game-map-score-dock-par{color:var(--ft-muted,#6b6b66);font-size:.8rem;font-weight:500}.game-map-score-dock-body-wrap{transition:grid-template-rows var(--dock-dur) var(--dock-ease);grid-template-rows:0fr;display:grid}.game-map-score-dock--expanded .game-map-score-dock-body-wrap{grid-template-rows:1fr}.game-map-score-dock-body-clip{min-height:0;overflow:hidden}.game-map-score-dock-body{-webkit-overflow-scrolling:touch;touch-action:pan-y;opacity:0;filter:blur(2px);transition:opacity .28s ease, transform var(--dock-dur) var(--dock-ease), filter .3s ease, border-color .28s ease;pointer-events:none;border-top:1px solid #0000;flex-direction:column;gap:.85rem;padding:.85rem 1rem 1rem;display:flex;overflow-y:auto;transform:translateY(.65rem)}.game-map-score-dock--expanded .game-map-score-dock-body{opacity:1;filter:blur();border-top-color:var(--ft-line,#dde5e1);pointer-events:auto;transition-delay:40ms,0s,0s,50ms;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.game-map-score-dock,.game-map-score-dock-scrim,.game-map-score-dock-panel,.game-map-score-dock-handle,.game-map-score-dock-caret,.game-map-score-dock-hole,.game-map-score-dock-body-wrap,.game-map-score-dock-body{transition:none!important}.game-map-score-dock-body{filter:none}}.game-map-score-dock-tees{flex-direction:column;gap:.45rem;display:flex}.game-map-score-dock-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ft-green,#0f7a28);font-size:.68rem;font-weight:700}.game-map-score-dock-tee-track{-webkit-overflow-scrolling:touch;scrollbar-width:thin;touch-action:pan-x;gap:.45rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.game-map-score-dock-tee{border-radius:var(--ft-radius-control,.55rem);border:1px solid var(--ft-line,#dde5e1);background:var(--ft-paper-soft,#f3f7f4);min-width:4.75rem;color:var(--ft-ink,#1c1c1a);cursor:pointer;text-align:left;flex-direction:column;flex:none;align-items:flex-start;gap:.1rem;padding:.55rem .75rem;display:inline-flex}.game-map-score-dock-tee:hover{background:#e8f0eb;border-color:#c5d0ca}.game-map-score-dock-tee.is-active{border-color:var(--ft-green,#0f7a28);background:var(--ft-green,#0f7a28);color:#fff}.game-map-score-dock-tee-name{font-size:.88rem;font-weight:600;line-height:1.2}.game-map-score-dock-tee-yd{opacity:.72;font-size:.72rem;font-weight:500}.game-map-score-dock-tee.is-active .game-map-score-dock-tee-yd{opacity:.85}.game-map-ft-overlay{z-index:30;pointer-events:none;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.game-map-ft-overlay--scorecard{justify-content:flex-start;align-items:stretch;padding:.45rem}.game-map-ft-overlay--sheet{align-items:flex-end;padding:0}.game-map-ft-overlay-backdrop{background:var(--ft-scrim,#1c1c1a52);cursor:pointer;pointer-events:auto;border:0;margin:0;padding:0;position:absolute;inset:0}.game-map-ft-icon-btn{border-radius:var(--ft-radius-control,.55rem);border:1px solid var(--ft-line,#dde5e1);background:var(--ft-paper,#fff);width:2rem;height:2rem;color:var(--ft-ink,#1c1c1a);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.game-map-ft-icon-btn--muted{border-color:var(--ft-line,#dde5e1);color:var(--ft-muted,#6b6b66)}.game-map-ft-msg{color:var(--ft-muted,#6b6b66);text-align:center;margin:0;font-size:.875rem}.game-map-ft-msg--error{color:#cb1d32}.game-map-ft-scorecard-popup{--sc-ink:#1c1c1a;--sc-ink-strong:#121211;--sc-muted:#5f635f;--sc-line:#1c281e1f;--sc-par:#0f7a2814;--sc-green:#0f7a28;--sc-green-deep:#0a5c1c;--sc-head:#f3f7f4eb;--sc-cell:clamp(.52rem, calc(86cqh / var(--ft-rows,22)), .78rem);--sc-pad-y:clamp(.02rem, calc(16cqh / var(--ft-rows,22)), .26rem);--sc-pad-x:clamp(.1rem, .9cqw, .35rem);z-index:1;pointer-events:auto;width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;color:var(--sc-ink);isolation:isolate;background:radial-gradient(110% 70% at 8% 0,#a0dcaa73 0%,#0000 55%),radial-gradient(80% 60% at 100% 100%,#062814b3 0%,#0000 50%),linear-gradient(152deg,#0c3d20 0%,#138038 40%,#0d5a2c 72%,#062012 100%);border:1px solid #ffffff38;border-radius:.9rem;flex-direction:column;flex:auto;align-self:stretch;padding:.45rem .4rem .4rem .35rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff3,0 16px 36px #00000059;container:scorecard/size}.game-map-ft-scorecard-popup-offset{z-index:0;pointer-events:none;background:linear-gradient(165deg,#ffffff29 0%,#ffffff0a 100%);border:1px solid #ffffff2e;border-radius:.7rem;position:absolute;inset:.55rem .15rem .15rem .55rem;transform:translate(.38rem,.38rem)}.game-map-ft-scorecard-popup-glow{z-index:0;pointer-events:none;background:radial-gradient(at 28% 18%,#c8f0d238,#0000 62%);height:48%;position:absolute;inset:-15% -8% auto}.game-map-ft-scorecard-popup-surface{z-index:1;-webkit-backdrop-filter:blur(16px)saturate(1.05);background:#fcfdfbe0;border:1px solid #ffffff8c;border-radius:.65rem;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffbf,0 10px 24px #00000029}.game-map-ft-scorecard-popup-head{border-bottom:1px solid var(--sc-line);background:linear-gradient(#f3f7f4f2 0%,#ffffffb3 100%);flex-shrink:0;justify-content:space-between;align-items:center;gap:.45rem;padding:clamp(.4rem,1.3cqh,.65rem) clamp(.5rem,2cqw,.75rem);display:flex}.game-map-ft-scorecard-popup-brand{color:#fff;background:linear-gradient(160deg,#1db954 0%,#0f7a28 100%);border:1px solid #0a5c1c59;border-radius:.45rem;flex-shrink:0;justify-content:center;align-items:center;width:clamp(1.7rem,4.6cqh,2.1rem);height:clamp(1.7rem,4.6cqh,2.1rem);display:inline-flex;box-shadow:0 2px 6px #0f7a2847}.game-map-ft-scorecard-flag{width:clamp(.85rem,2.4cqh,1.05rem);height:clamp(.85rem,2.4cqh,1.05rem)}.game-map-ft-scorecard-popup-head-text{flex:1;min-width:0}.game-map-ft-scorecard-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--sc-green);margin:0 0 .05rem;font-size:clamp(.48rem,1.25cqh,.62rem);font-weight:700;line-height:1.2}.game-map-ft-scorecard-title{letter-spacing:-.03em;color:var(--sc-ink-strong);margin:0;font-size:clamp(.9rem,2.45cqh,1.18rem);font-weight:700;line-height:1.1}.game-map-ft-scorecard-course{color:var(--sc-muted);letter-spacing:.02em;margin:.08rem 0 0;font-size:clamp(.5rem,1.25cqh,.66rem);font-weight:500}.game-map-ft-scorecard-close{width:clamp(1.5rem,4.2cqh,1.85rem);height:clamp(1.5rem,4.2cqh,1.85rem);color:var(--sc-ink);background:#ffffffeb;border-color:#1c1c1a1f}.game-map-ft-scorecard-close:hover{background:#fff}.game-map-ft-scorecard-popup-body{background:0 0;flex-direction:column;flex:1;gap:clamp(.28rem,.9cqh,.45rem);min-height:0;padding:clamp(.32rem,1cqh,.5rem) clamp(.4rem,1.7cqw,.6rem) clamp(.35rem,1cqh,.5rem);display:flex;overflow:hidden}.game-map-ft-scorecard-popup-body .game-map-ft-msg{color:var(--sc-muted)}.game-map-ft-scorecard-legend{flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.2rem,.7cqh,.35rem) clamp(.3rem,1.2cqw,.5rem);display:grid}.game-map-ft-scorecard-legend[data-players="1"],.game-map-ft-scorecard-legend[data-players="2"],.game-map-ft-scorecard-legend[data-players="3"]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.game-map-ft-scorecard-legend-item{background:#f3f7f4e6;border:1px solid #0f7a281f;border-radius:.45rem;align-items:center;gap:.3rem;min-width:0;padding:clamp(.15rem,.55cqh,.28rem) clamp(.25rem,1cqw,.4rem);display:flex}.game-map-ft-scorecard-legend-ini{color:#fff;letter-spacing:.02em;background:linear-gradient(160deg,#1db954 0%,#0f7a28 100%);border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;min-width:clamp(1.15rem,3.4cqh,1.45rem);height:clamp(1.15rem,3.4cqh,1.45rem);padding:0 .2rem;font-size:clamp(.5rem,1.35cqh,.62rem);font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0f7a2840}.game-map-ft-scorecard-legend-meta{flex-direction:column;gap:.05rem;min-width:0;line-height:1.15;display:flex}.game-map-ft-scorecard-legend-name{color:var(--sc-ink-strong);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.52rem,1.45cqh,.7rem);font-weight:600;overflow:hidden}.game-map-ft-scorecard-legend-vs{color:var(--sc-green);letter-spacing:.01em;font-size:clamp(.45rem,1.2cqh,.6rem);font-weight:600}.game-map-ft-scorecard-grid{-webkit-backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #1c281e24;border-radius:.5rem;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:inset 0 1px #fffc}.game-map-ft-scorecard-table{border-collapse:collapse;table-layout:fixed;width:100%;height:100%}.game-map-ft-scorecard-table th,.game-map-ft-scorecard-table td{height:calc(100% / var(--ft-rows,22));padding:var(--sc-pad-y) var(--sc-pad-x);text-align:center;font-size:var(--sc-cell);font-variant-numeric:tabular-nums;color:var(--sc-ink);border-right:1px solid var(--sc-line);border-bottom:1px solid var(--sc-line);vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;background:#ffffff8c;font-weight:500;line-height:1.05;overflow:hidden}.game-map-ft-scorecard-table th:last-child,.game-map-ft-scorecard-table td:last-child{border-right:0}.game-map-ft-scorecard-table tbody tr:last-child td{border-bottom:0}.game-map-ft-scorecard-table th:first-child,.game-map-ft-scorecard-table td:first-child{text-align:left;background:#f3f7f4d9;width:18%;padding-left:clamp(.3rem,1.4cqw,.55rem);font-weight:650}.game-map-ft-scorecard-table th:nth-child(2),.game-map-ft-scorecard-table td:nth-child(2){width:12%}.game-map-ft-scorecard-table thead th{color:#fff;letter-spacing:.04em;text-transform:uppercase;font-weight:700;font-size:clamp(.48rem, calc(78cqh / var(--ft-rows,22)), .68rem);text-shadow:0 1px #00000026;background:linear-gradient(#1db954 0%,#0f7a28 100%);border-bottom-color:#0a5c1c;border-right-color:#ffffff38}.game-map-ft-scorecard-table thead th:first-child{background:linear-gradient(#1db954 0%,#0f7a28 100%)}.game-map-ft-scorecard-table tbody tr:nth-child(2n):not(.game-map-ft-scorecard-summary) td{background:#f3f7f4a6}.game-map-ft-scorecard-table tbody tr:nth-child(2n):not(.game-map-ft-scorecard-summary) td:first-child{background:#e8f0eae6}.game-map-ft-scorecard-par{color:var(--sc-muted);font-weight:600;background:var(--sc-par)!important}.game-map-ft-scorecard-hole{color:var(--sc-ink-strong);font-weight:700}.game-map-ft-scorecard-summary td{color:#fff;letter-spacing:.04em;border-bottom-color:#0f2f1b;border-right-color:#ffffff1f;font-weight:700;background:#143d24!important}.game-map-ft-scorecard-summary td:first-child{background:#123620!important}.game-map-ft-scorecard-summary[data-summary=TOTAL] td{border-bottom-color:#084816;background:#0a5c1c!important}.game-map-ft-scorecard-summary[data-summary=TOTAL] td:first-child{background:#094f18!important}.game-map-ft-scorecard-footer{display:none}.game-map-ft-enter-sheet{z-index:1;pointer-events:auto;color:#343433;background:#fff;border-radius:1.25rem 1.25rem 0 0;flex-direction:column;width:100%;max-height:min(55dvh,32rem);display:flex;position:relative;overflow:hidden;box-shadow:0 -8px 28px #0000002e}.game-map-ft-enter-handle{background:#ccc;border-radius:999px;flex-shrink:0;width:2.5rem;height:.3125rem;margin:.65rem auto .15rem}.game-map-ft-enter-head{justify-content:space-between;align-items:center;padding:.25rem 1rem .5rem;display:flex}.game-map-ft-enter-title{color:#343433;margin:0;font-size:1.05rem;font-weight:700}.game-map-ft-enter-body{-webkit-overflow-scrolling:touch;flex-direction:column;gap:.85rem;padding:.25rem 1.15rem 1.25rem;display:flex;overflow-y:auto}.game-map-ft-hole-nav{justify-content:space-between;align-items:center;gap:.35rem;padding-bottom:.25rem;display:flex}.game-map-ft-tee-row{align-items:center;gap:.65rem;display:flex}.game-map-ft-tee-label{color:#475569;flex-shrink:0;font-size:.85rem;font-weight:600}.game-map-ft-tee-select{color:#0f172a;background:#fff;border:1px solid #dbe3f0;border-radius:.5rem;flex:1;min-width:0;padding:.45rem .65rem;font-size:.9rem}.game-map-ft-chevron{width:2.25rem;height:2.25rem;color:var(--ft-green,#0f7a28);cursor:pointer;border-radius:var(--ft-radius-control,.55rem);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.game-map-ft-chevron:hover{background:#0f7a2814}.game-map-ft-hole-meta{flex:1;justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.game-map-ft-hole-label{color:#343433;font-size:1.15rem;font-weight:600}.game-map-ft-hole-label--muted{color:#acacac}.game-map-ft-hole-num{color:#343433;font-size:1.15rem;font-weight:600}.game-map-ft-player-chips{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.game-map-ft-chip{border-radius:var(--ft-radius-control,.55rem);border:1.5px solid var(--ft-line,#dde5e1);background:var(--ft-paper-soft,#f3f7f4);min-width:2.5rem;height:2.5rem;color:var(--ft-ink,#1c1c1a);letter-spacing:.02em;cursor:pointer;padding:0 .55rem;font-size:.75rem;font-weight:700}.game-map-ft-chip.is-active{background:var(--ft-green-mid,#1a9e3c);border-color:var(--ft-green,#0f7a28);color:#fff}.game-map-ft-stepper{justify-content:space-between;align-items:center;gap:.65rem;padding:.35rem .15rem;display:flex}.game-map-ft-stepper-btn{border-radius:var(--ft-radius-control,.55rem);background:var(--ft-green,#0f7a28);color:#fff;cursor:pointer;border:0;flex-shrink:0;justify-content:center;align-items:center;width:5rem;height:5rem;display:inline-flex}.game-map-ft-stepper-btn:hover:not(:disabled){background:var(--ft-green-deep,#0a5c1c)}.game-map-ft-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.game-map-ft-stepper-value{border-radius:var(--ft-radius-control,.55rem);background:var(--ft-paper-soft,#f3f7f4);border:1px solid var(--ft-line,#dde5e1);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;min-height:5rem;padding:.5rem .65rem;display:flex}.game-map-ft-stepper-count{color:var(--ft-ink,#1c1c1a);font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:900;line-height:1}.game-map-ft-stepper-label{color:var(--ft-green,#0f7a28);text-align:center;font-size:1rem;font-weight:700;line-height:1.2}.game-map-ft-stepper-label--sm{font-size:.8125rem}.game-map-ft-enter-actions{gap:.65rem;display:flex}.game-map-ft-btn{border-radius:var(--ft-radius-control,.55rem);cursor:pointer;border:0;flex:1;justify-content:center;align-items:center;gap:.35rem;min-height:2.75rem;padding:.65rem .85rem;font-size:.9375rem;font-weight:800;display:inline-flex}.game-map-ft-btn:disabled{opacity:.35;cursor:not-allowed}.game-map-ft-btn--finish{color:#fff;background:#cb1d32}.game-map-ft-btn--confirm{background:var(--ft-green,#0f7a28);color:#fff}.game-map-ft-btn--confirm:hover:not(:disabled){background:var(--ft-green-deep,#0a5c1c)}.game-map-ft-btn--ghost{background:var(--ft-paper-soft,#f3f7f4);color:var(--ft-ink,#1c1c1a);border:1px solid var(--ft-line,#dde5e1);font-weight:600}.game-map-ft-party{color:#676767;border-top:1px solid #eaf2f5;margin-top:.15rem;padding-top:.55rem;font-size:.8125rem}.game-map-ft-party summary{cursor:pointer;color:#343433;margin-bottom:.5rem;font-weight:600}.game-map-ft-party-row{gap:.5rem;margin-bottom:.55rem;display:flex}.game-map-ft-field{color:#676767;flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:flex}.game-map-ft-field input{color:#343433;background:#fff;border:1px solid #dfdfe2;border-radius:.35rem;padding:.55rem .65rem;font-size:.875rem}.game-map-ft-field input:focus{border-color:var(--ft-green,#0f7a28);outline:2px solid #0f7a2840}@media (max-width:640px){.game-map-ft-overlay--scorecard{padding:.35rem}.game-map-ft-enter-sheet{max-height:min(62dvh,34rem)}.game-map-ft-stepper-btn{width:4.25rem;height:4.25rem}.game-map-ft-stepper-value{min-height:4.25rem}}.game-map-score-sheet{z-index:28;pointer-events:none;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.game-map-score-sheet-inner{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2e8f0;background:#0f172af5;border:1px solid #e2e8f047;border-bottom:none;border-radius:1rem 1rem 0 0;flex-direction:column;max-height:min(55dvh,28rem);display:flex;overflow:hidden;box-shadow:0 -12px 40px #0006}.game-map-score-sheet-handle{background:#94a3b88c;border-radius:999px;flex-shrink:0;width:2.5rem;height:.28rem;margin:.55rem auto .15rem}.game-map-score-sheet-header{border-bottom:1px solid #94a3b838;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .875rem .55rem;display:flex}.game-map-score-sheet-title{letter-spacing:-.01em;color:#f8fafc;margin:0;font-size:1rem;font-weight:700}.game-map-score-sheet-body{-webkit-overflow-scrolling:touch;flex-direction:column;gap:.75rem;padding:.75rem .875rem 1.25rem;display:flex;overflow-y:auto}.game-map-score-sheet-muted{color:#94a3b8;margin:0;font-size:.875rem}.game-map-score-party{color:#94a3b8;border-top:1px solid #94a3b833;margin-top:.25rem;padding-top:.5rem;font-size:.8125rem}.game-map-score-party summary{cursor:pointer;color:#cbd5e1;margin-bottom:.5rem;font-weight:600}.game-map-score-party[open] summary{margin-bottom:.65rem}.game-map-oncourse-panel{z-index:24;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e2e8f0;pointer-events:auto;background:#0f172af0;border:1px solid #e2e8f059;border-radius:.875rem;flex-direction:column;width:min(22rem,100vw - 1.5rem);display:flex;position:absolute;top:5.5rem;bottom:5.5rem;left:.75rem;overflow:hidden;box-shadow:0 12px 40px #00000059}.game-map-oncourse-header{border-bottom:1px solid #94a3b840;justify-content:space-between;align-items:center;padding:.75rem .875rem;display:flex}.game-map-oncourse-title{align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;display:inline-flex}.game-map-oncourse-body{flex-direction:column;flex:auto;gap:1rem;padding:.75rem .875rem 1rem;display:flex;overflow:auto}.game-map-oncourse-user{justify-content:space-between;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.game-map-oncourse-hole-row{align-items:center;gap:.5rem;display:flex}.game-map-oncourse-hole-meta{text-align:center;flex-direction:column;flex:1;gap:.15rem;display:flex}.game-map-oncourse-big-btn{color:#f8fafc;cursor:pointer;background:#1e293bf2;border:1px solid #94a3b866;border-radius:.65rem;width:3rem;height:3rem;font-size:1.25rem;font-weight:700}.game-map-oncourse-player-chips{flex-wrap:wrap;gap:.4rem;display:flex}.game-map-oncourse-chip{color:#e2e8f0;cursor:pointer;background:#1e293bcc;border:1px solid #94a3b859;border-radius:.65rem;min-height:2.75rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600}.game-map-oncourse-chip--initials{letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;min-width:2.75rem;padding:0;font-size:.75rem;font-weight:800;display:inline-flex}.game-map-oncourse-chip.is-active{color:#ecfeff;background:#0f766e;border-color:#14b8a6}.game-map-oncourse-stepper{grid-template-columns:4.5rem 1fr 4.5rem;align-items:center;gap:.5rem;margin-top:.35rem;display:grid}.game-map-oncourse-stepper-btn{color:#042f2e;cursor:pointer;background:#14b8a6;border:none;border-radius:.75rem;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;display:inline-flex}.game-map-oncourse-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.game-map-oncourse-stepper-value{background:#0f172ae6;border:1px solid #94a3b847;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-height:4.5rem;padding:.35rem;display:flex}.game-map-oncourse-stepper-count{color:#f8fafc;font-size:2.25rem;font-weight:800;line-height:1}.game-map-oncourse-stepper-label{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;text-align:center;min-height:1rem;font-size:.6875rem;font-weight:700}.game-map-oncourse-score-actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.65rem;display:grid}.game-map-oncourse-finish-btn,.game-map-oncourse-confirm-btn{cursor:pointer;border:none;border-radius:.65rem;justify-content:center;align-items:center;gap:.35rem;min-height:2.75rem;font-size:.8125rem;font-weight:700;display:inline-flex}.game-map-oncourse-finish-btn{color:#fff;background:#cb1d32}.game-map-oncourse-confirm-btn{color:#042f2e;background:#14b8a6}.game-map-oncourse-finish-btn:disabled,.game-map-oncourse-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.game-map-oncourse-card-player{color:#94a3b8;margin:0 0 .45rem;font-size:.75rem}.game-map-oncourse-scorecard{background:#0f172a8c;border:1px solid #94a3b840;border-radius:.65rem;overflow:hidden}.game-map-oncourse-scorecard-row{color:#e2e8f0;text-align:center;border-bottom:1px solid #94a3b81f;grid-template-columns:1fr 1fr 1fr;gap:.25rem;padding:.4rem .55rem;font-size:.75rem;display:grid}.game-map-oncourse-scorecard-row:last-child{border-bottom:none}.game-map-oncourse-scorecard-row--head{color:#f8fafc;text-transform:uppercase;letter-spacing:.03em;background:#1e293b;font-size:.6875rem;font-weight:700}.game-map-oncourse-scorecard-row--summary{color:#fff;background:#334155;font-weight:700}@media (max-width:640px){.game-map-oncourse-fab{top:auto;bottom:9.5rem}.game-map-exp-fab{top:auto;bottom:13rem}.game-map-auth-fab{top:auto;bottom:16.5rem}.game-map-exp-logs-fab{top:auto;bottom:20rem}.game-map-oncourse-panel{width:auto;max-height:50dvh;inset:auto .5rem 7.5rem}.game-map-score-sheet-inner{max-height:min(55dvh,26rem)}}.game-map-exp-panel{border-color:#a78bfa59}.game-map-exp-calc-panel{border-color:#38bdf866;width:min(26rem,100vw - 1.5rem);left:.75rem;right:auto}.game-map-exp-calc-panel-body{flex-direction:column;gap:.5rem;min-height:0;display:flex}.game-map-exp-calc-actions--bar{flex-shrink:0}.game-map-exp-calc-box--panel{flex:1;min-height:12rem;max-height:none}.game-map-exp-hint{color:#94a3b8;margin:0 0 .75rem;font-size:.75rem;line-height:1.45}.game-map-exp-status,.game-map-exp-meta{color:#cbd5e1;align-items:center;gap:.4rem;margin-bottom:.65rem;font-size:.75rem;display:inline-flex}.game-map-exp-yard-size{flex-direction:column;gap:.4rem;margin-bottom:.75rem;display:flex}.game-map-exp-yard-size-label{letter-spacing:.02em;color:#94a3b8;text-transform:uppercase;font-size:.7rem;font-weight:600}.game-map-exp-yard-size-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.game-map-exp-yard-size-value{text-align:center;font-variant-numeric:tabular-nums;color:#e2e8f0;min-width:3.25rem;font-size:.8rem}.game-map-exp-error{color:#fecaca;background:#7f1d1d73;border:1px solid #f8717159;border-radius:.5rem;margin-bottom:.65rem;padding:.5rem .6rem;font-size:.75rem}.game-map-exp-holes{flex-direction:column;gap:.4rem;display:flex}.game-map-exp-hole{background:#0f172a8c;border:1px solid #94a3b838;border-radius:.55rem;overflow:hidden}.game-map-exp-hole-summary{cursor:pointer;color:#f1f5f9;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.game-map-exp-hole-summary::-webkit-details-marker{display:none}.game-map-exp-hole-count{color:#94a3b8;margin-left:.45rem;font-size:.7rem;font-weight:500}.game-map-exp-tees{flex-direction:column;gap:.3rem;margin:0;padding:0 .45rem .5rem;list-style:none;display:flex}.game-map-exp-tee{color:#e2e8f0;cursor:pointer;text-align:left;background:#1e293bbf;border:1px solid #94a3b833;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.45rem .55rem;font-size:.78rem;display:flex}.game-map-exp-tee:hover{border-color:#a78bfa8c}.game-map-exp-tee--active{background:#9d174d59;border-color:#e879f9}.game-map-exp-tee-dist{color:#94a3b8;font-variant-numeric:tabular-nums}.game-map-exp-empty{color:#94a3b8;padding:.5rem .35rem;font-size:.75rem}.game-map-exp-calc{background:#0f172aa6;border:1px solid #94a3b838;border-radius:.55rem;margin:0 0 .75rem;overflow:hidden}.game-map-exp-calc-header{border-bottom:1px solid #94a3b82e;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .55rem;display:flex}.game-map-exp-calc-title{color:#e2e8f0;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;display:inline-flex}.game-map-exp-calc-count{color:#94a3b8;font-size:.65rem;font-weight:500}.game-map-exp-calc-actions{align-items:center;gap:.35rem;display:inline-flex}.game-map-exp-calc-btn{color:#cbd5e1;cursor:pointer;background:#1e293be6;border:1px solid #94a3b847;border-radius:.4rem;align-items:center;gap:.25rem;padding:.28rem .45rem;font-size:.68rem;display:inline-flex}.game-map-exp-calc-btn:hover:not(:disabled){color:#f1f5f9;border-color:#a78bfa8c}.game-map-exp-calc-btn:disabled{opacity:.45;cursor:not-allowed}.game-map-exp-calc-box{color:#94a3b8;white-space:pre-wrap;word-break:break-word;max-height:180px;margin:0;padding:.5rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.62rem;line-height:1.45;overflow:auto}@media (max-width:640px){.game-map-exp-calc-panel{width:auto;max-height:50dvh;inset:auto .5rem 4.5rem}}
