@media (width>=769px){.app-shell-card{border-radius:var(--radius-md);color:var(--text-on-surface);background:#fafcf9;border:1px solid #d9e4d8;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000014}.app-shell-card:before{content:"";background:#2f6b2f;height:3px;position:absolute;top:0;left:0;right:0}.app-shell-card--interactive{cursor:pointer;transition:border-color .15s,box-shadow .15s}.app-shell-card--interactive:hover{border-color:#c5d4c4;box-shadow:0 4px 12px #0000001a}}@media (width<=768px){.app-shell-page-screen{padding:var(--space-md)}.app-shell-page-header{align-items:stretch;gap:var(--space-sm);flex-direction:column}.app-shell-page-body{max-width:100%}}@media (width<=768px){.app-shell-page .btn{min-height:44px}}.auth-page{min-height:100svh;padding:var(--space-lg);background:linear-gradient(180deg, var(--grass-dark) 0%, #0f2f0f 100%);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px;padding:var(--space-lg);background:var(--surface);color:var(--text-on-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.auth-card h1{margin:0 0 var(--space-xs);font-size:1.5rem}.auth-card-subtitle{margin:0 0 var(--space-lg);color:#4a5f4a;font-size:14px}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.auth-form .field-label{color:#4a5f4a}.auth-show-password{margin:calc(-1 * var(--space-xs)) 0 0;color:#4a5f4a;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:flex}.auth-show-password input{cursor:pointer;width:16px;height:16px;margin:0}.auth-error{color:var(--danger);border-radius:var(--radius-sm);background:#a8323214;border:1px solid #a8323240;margin:0;padding:10px 12px;font-size:13px}.auth-success{color:var(--grass-dark);border-radius:var(--radius-sm);background:#2d6a2d1a;border:1px solid #2d6a2d40;margin:0;padding:10px 12px;font-size:13px}.auth-switch{margin:var(--space-md) 0 0;text-align:center;color:#4a5f4a;font-size:14px}.auth-switch button{color:var(--grass-mid);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.auth-loading{min-height:100svh;color:var(--text-muted);justify-content:center;align-items:center;font-size:15px;display:flex}@media (width<=768px){.auth-page{padding:var(--space-md);padding-top:max(var(--space-lg), env(safe-area-inset-top));padding-bottom:max(var(--space-lg), env(safe-area-inset-bottom));align-items:flex-start}.auth-card{max-width:none;padding:var(--space-md)}.auth-card h1{font-size:1.35rem}.auth-form .btn,.auth-switch button{min-height:44px}.auth-form .input-field{min-height:44px;font-size:16px}}.accept-invite-page{gap:var(--space-md);flex-direction:column}.accept-invite-card{margin-bottom:0}.accept-invite-notice{color:#4a5f4a;margin:0 0 16px;font-size:13px;line-height:1.45}.accept-invite-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.accept-invite-actions{flex-direction:column}.accept-invite-actions .btn{width:100%;min-height:44px}}.admin-template-edit-bar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--panel-bg,#1a2332);border-bottom:1px solid var(--border-subtle,#ffffff1f);display:flex}.admin-template-edit-bar-main{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.admin-template-edit-bar-title{margin:0;font-weight:600}.admin-template-edit-bar-subtitle{color:var(--text-muted,#b8c4d6);margin:0}.admin-template-edit-bar-hint{color:var(--text-muted,#b8c4d6);margin:0;font-size:.875rem}.admin-template-edit-bar-label-field{align-items:center;gap:var(--space-sm);display:flex}.admin-template-edit-bar-label-field span{white-space:nowrap}.admin-template-edit-bar-label-field .input-field{min-width:220px}.admin-template-edit-bar-actions{gap:var(--space-sm);flex-shrink:0;display:flex}@media (width<=900px){.admin-template-edit-bar{flex-direction:column;align-items:stretch}.admin-template-edit-bar-actions{justify-content:flex-end}}.load-play-overlay{z-index:1100;padding:var(--space-md);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.load-play-dialog{width:min(96vw,560px);max-height:min(88vh,720px);padding:var(--space-lg);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-on-surface);flex-direction:column;display:flex;overflow:hidden}.load-play-dialog-title{margin:0 0 var(--space-md);font-size:1.15rem;font-weight:700}.load-play-filters{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;flex-shrink:0;display:flex}.load-play-filters-row{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.load-play-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated,var(--surface));flex:auto;min-height:180px;max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.load-play-list-empty{padding:var(--space-md);color:var(--text-muted);text-align:center;font-size:14px}.load-play-list-item{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-on-surface);text-align:left;cursor:pointer;font:inherit;background:0 0;padding:10px 12px;display:block}.load-play-list-item:last-child{border-bottom:none}.load-play-list-item:hover{background:var(--surface-hover,#ffffff0a)}.load-play-list-item.is-selected{background:var(--accent-muted,#3b82f626)}.load-play-list-item-name{font-size:14px;font-weight:600;display:block}.load-play-list-item-meta{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.load-play-dialog-actions{margin-top:var(--space-md);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:10px;display:flex}@media (width<=768px){.load-play-overlay{align-items:stretch;padding:0}.load-play-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:var(--space-md);border-radius:0}.load-play-filters-row{grid-template-columns:1fr}.load-play-list{flex:auto;max-height:none}.load-play-dialog-actions{flex-direction:column-reverse;align-items:stretch}.load-play-dialog-actions .btn{width:100%;min-height:44px}.load-play-filters .input-field,.load-play-filters .select-field{min-height:44px;font-size:16px}.load-play-list-item{min-height:48px;padding:12px 14px}}.play-field-preview{background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block;overflow:hidden}.play-field-preview-svg{width:100%;height:100%;display:block}.play-field-preview .field-play-area{pointer-events:none}.play-field-preview .player-marker,.play-field-preview .defender-marker{pointer-events:none;cursor:default}.play-field-preview-path{pointer-events:none}.play-field-preview .field-viewbox-bg{fill:var(--field-viewbox-bg)}.play-field-preview .field-turf{fill:var(--field-turf)}.play-field-preview .turf-stripe-light{fill:var(--field-turf-stripe-light);opacity:var(--field-turf-stripe-light-opacity)}.play-field-preview .turf-stripe-dark{fill:var(--field-turf-stripe-dark);opacity:var(--field-turf-stripe-dark-opacity)}.play-field-preview .field-boundary{fill:none;stroke:var(--field-line);stroke-width:.35px}.play-field-preview .field-endzone{fill:var(--field-endzone)}.play-field-preview .goal-line{stroke:var(--field-goal-line);stroke-width:.45px}.play-field-preview .yard-line{stroke:var(--field-line)}.play-field-preview .yard-line-minor{stroke-width:.14px;opacity:.9}.play-field-preview .yard-line-major{stroke-width:.32px}.play-field-preview .hash-mark{stroke:var(--field-line);stroke-width:.1px;opacity:.85}.play-field-preview .los-line{stroke:var(--field-los);stroke-width:.18px;stroke-dasharray:.5 .45}.play-field-preview .field-side-locked{fill:var(--field-side-locked)}.play-field-preview .player-symbol{fill:var(--field-player-symbol-fill);stroke:var(--field-player-symbol-stroke);stroke-width:var(--field-player-symbol-stroke-width,.12px);paint-order:stroke fill;text-anchor:middle;dominant-baseline:central;font-family:Arial,Helvetica,sans-serif;font-weight:900}.play-field-preview .player-label{fill:var(--field-player-label-fill);stroke:var(--field-player-label-stroke);stroke-width:.08px;paint-order:stroke fill;text-anchor:middle;dominant-baseline:hanging;font-family:Arial,Helvetica,sans-serif;font-size:1.05px;font-weight:700}.play-field-preview .defender-symbol{fill:var(--field-defender-symbol-fill);stroke:var(--field-defender-symbol-stroke);stroke-width:var(--field-defender-symbol-stroke-width,.12px);paint-order:stroke fill;text-anchor:middle;dominant-baseline:central;font-family:Arial,Helvetica,sans-serif;font-weight:900}.play-field-preview .defender-label{fill:var(--field-defender-label-fill);stroke:var(--field-defender-label-stroke);stroke-width:.08px;paint-order:stroke fill;text-anchor:middle;dominant-baseline:hanging;font-family:Arial,Helvetica,sans-serif;font-size:1.05px;font-weight:700}.play-field-preview .route-arrow-head-filled{fill:var(--field-route-arrow-fill,#111)}@media print{.play-field-preview-svg{width:100%;height:100%}}.play-thumbnail{flex-direction:column;gap:8px;min-width:0;height:100%;min-height:0;display:flex}.play-thumbnail-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;height:100%;color:var(--text-on-surface);cursor:pointer;text-align:left;padding:8px;transition:border-color .15s,box-shadow .15s}.play-thumbnail-button:hover,.play-thumbnail-button:focus-visible{border-color:var(--accent,#3b82f6);box-shadow:var(--shadow-sm,0 2px 8px #0000001f);outline:none}.play-thumbnail-static{box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:4px;height:100%;padding:4px}.play-thumbnail-preview{aspect-ratio:60.3/54.5;border-radius:var(--radius-sm);background:var(--field-card-bg,#fff);border:1px solid var(--field-card-border,#0000001f);flex:auto;min-height:0;overflow:hidden}.play-thumbnail-name{color:inherit;text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}@media (width<=768px){.play-thumbnail-button{min-height:48px;padding:10px}.play-thumbnail-name{white-space:normal;font-size:14px}}@media print{.play-thumbnail-button{box-shadow:none;cursor:default;border:1px solid #999;padding:4px}.play-thumbnail-name{color:#000;font-size:10px}.play-thumbnail-preview{background:#fff;border-color:#ccc}}.confirm-dialog-overlay{z-index:1000;padding:var(--space-md);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{width:min(100%,420px);padding:var(--space-lg);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.confirm-dialog-message{margin:0 0 var(--space-lg);color:var(--text-on-surface);font-size:15px;line-height:1.5}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width<=768px){.confirm-dialog-overlay{padding:var(--space-sm);align-items:center}.confirm-dialog{width:100%;max-height:calc(100dvh - var(--space-md) * 2);overflow-y:auto}.confirm-dialog-actions{flex-direction:column-reverse;align-items:stretch}.confirm-dialog-actions .btn{width:100%;min-height:44px}}.save-playbook-pdf-dialog-overlay{z-index:1200}.save-playbook-pdf-dialog{width:min(100%,440px)}.save-playbook-pdf-dialog-title{margin:0 0 var(--space-sm);color:var(--text-on-surface);font-size:1.15rem;font-weight:700}.save-playbook-pdf-dialog-message{margin:0 0 var(--space-md);color:var(--text-on-surface);font-size:15px;line-height:1.5}.save-playbook-pdf-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.share-playbook-dialog-overlay{z-index:1300}.share-playbook-dialog{max-width:440px}.share-playbook-dialog-title{margin:0 0 12px;font-size:1.1rem}.share-playbook-message{color:var(--text-muted,#4a5f4a);margin:0 0 14px;font-size:13px;line-height:1.45}.share-playbook-form,.share-playbook-success{flex-direction:column;gap:12px;display:flex}.share-playbook-note{resize:vertical;min-height:72px}.share-playbook-success-message{color:var(--success-text,#1f6b3a);margin:0;font-size:13px;font-weight:600}@media (width<=768px){.share-playbook-dialog-overlay{padding:var(--space-sm)}.share-playbook-dialog{width:100%;max-width:none;max-height:calc(100dvh - var(--space-md) * 2);overflow-y:auto}.share-playbook-form .btn{width:100%;min-height:44px}}.play-library-overlay{z-index:1100;padding:var(--space-md);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.play-library-dialog{width:min(96vw,1200px);max-height:min(92vh,900px);padding:var(--space-lg);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-on-surface);flex-direction:column;display:flex;overflow:hidden}.play-library-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);flex-shrink:0;display:flex}.play-library-header-main{min-width:0}.play-library-title{margin:0 0 4px;font-size:1.35rem}.play-library-subtitle{color:var(--text-muted);margin:0;font-size:13px}.play-library-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.play-library-layout-label{color:var(--text-muted);font-size:12px;font-weight:600}.play-library-layout-select,.play-library-filter-select{min-width:88px}.play-library-export-actions{align-items:center;gap:8px;display:inline-flex}.play-library-share{position:relative}.play-library-share-menu{z-index:1200;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:160px;box-shadow:var(--shadow-md);flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.play-library-share-menu .btn{justify-content:flex-start;min-height:36px;font-size:13px}.play-library-section-title{color:var(--text-on-surface);border-bottom:1px solid var(--border-strong);grid-column:1/-1;margin:0;padding:4px 0 0;font-size:.95rem;font-weight:700}.play-library-print-section-title{color:#111;flex-shrink:0;margin:0;font-size:14pt;font-weight:700}.play-library-grid{grid-template-columns:repeat(var(--library-cols), minmax(0, 1fr));grid-template-rows:repeat(var(--library-rows), minmax(120px, 1fr));flex:auto;gap:14px;min-height:360px;display:grid;overflow:auto}.play-library-empty{padding:var(--space-lg) 0;text-align:center;color:var(--text-muted);margin:0;font-size:14px}.play-library-pagination{margin-top:var(--space-md);flex-shrink:0;justify-content:center;align-items:center;gap:12px;display:flex}.play-library-page-indicator{color:var(--text-muted);font-size:13px}.print-only,.play-library-print-only{display:none}.play-library-print-page{box-sizing:border-box;page-break-after:always;background:#fff;flex-direction:column;gap:.12in;width:8.5in;height:11in;padding:.4in;display:flex}.play-library-print-grid{grid-template-columns:repeat(var(--library-cols), minmax(0, 1fr));grid-template-rows:repeat(var(--library-rows), minmax(0, 1fr));flex:auto;gap:.2in;min-height:0;display:grid}@media (width<=768px){.play-library-overlay{align-items:stretch;padding:0}.play-library-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:var(--space-md);border-radius:0}.play-library-header{gap:var(--space-sm);flex-direction:column}.play-library-header-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%}.play-library-header-actions .btn,.play-library-header-actions .select-field{width:100%;min-height:44px}.play-library-layout-label{margin-bottom:2px;display:block}.play-library-layout-select,.play-library-filter-select{width:100%;min-width:0}.play-library-export-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.play-library-export-actions .btn{flex:calc(50% - 4px);min-height:44px}.play-library-share{flex:calc(50% - 4px)}.play-library-share>.btn{width:100%}.play-library-grid{gap:10px;min-height:200px;grid-template-rows:auto!important;grid-template-columns:1fr!important}.play-library-pagination .btn{min-width:44px;min-height:44px}}@media print{body.play-library-printing>:not(.play-library-print-only){display:none!important}body.play-library-printing .play-library-print-only{display:block!important}.no-print{display:none!important}@page{size:letter portrait;margin:0}body{background:#fff;margin:0}.play-library-print-page:last-child{page-break-after:auto}}.category-selector{flex-direction:column;gap:6px;display:flex}.category-multiselect{position:relative}.category-multiselect-trigger{box-sizing:border-box;text-align:left;cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);width:100%;min-height:32px;color:var(--text-on-surface);appearance:none;box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23143d14' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;margin:0;padding:5px 28px 5px 10px;font-family:inherit;font-size:13px;font-weight:400;line-height:1.5;display:block}.category-multiselect-trigger:hover:not(:disabled){background-color:var(--surface);border-color:var(--border-strong);color:var(--text-on-surface)}.category-multiselect-trigger:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring);outline:none}.category-multiselect-trigger:disabled{cursor:not-allowed;background-color:var(--surface-muted);color:var(--text-disabled);border-color:var(--border);opacity:1}.category-multiselect-trigger-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.category-multiselect-trigger-placeholder{color:var(--text-disabled)}.category-multiselect-panel{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);max-height:200px;box-shadow:var(--shadow-md);padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.category-multiselect-panel-inline{max-height:200px;box-shadow:none;position:static;overflow-y:auto}.category-multiselect-group{flex-direction:column;gap:2px;display:flex}.category-multiselect-group+.category-multiselect-group{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.category-multiselect-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:0 4px 4px;font-size:10px;font-weight:700}.category-multiselect-option{color:var(--text-on-surface);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:5px 8px;font-family:inherit;font-size:13px;font-weight:400;display:flex}.category-multiselect-option:hover{background:var(--surface-hover)}.category-multiselect-option:has(input:checked){background:var(--surface-hover);color:var(--text-on-surface)}.category-multiselect-option input{accent-color:var(--border-strong);margin:0}.category-tags{flex-wrap:wrap;gap:4px;display:flex}.category-tag{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:28px;color:var(--text-on-surface);align-items:center;gap:4px;padding:2px 8px;font-family:inherit;font-size:13px;font-weight:400;display:inline-flex}.category-tag-remove{width:16px;height:16px;color:var(--text-on-surface);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.category-tag-remove:hover{background:var(--surface-hover)}.category-selector-empty{color:var(--text-disabled);margin:0;font-size:13px}.new-play-setup-dialog{width:min(100%,520px);max-height:90vh;padding:var(--space-md);flex-direction:column;display:flex;overflow:hidden}.new-play-setup-dialog-title{margin:0 0 var(--space-sm);color:var(--text-on-surface);flex-shrink:0;font-size:1.15rem;font-weight:700}.new-play-setup-dialog-form{flex-direction:column;flex:auto;gap:0;min-height:0;display:flex}.new-play-setup-dialog-body{gap:var(--space-sm);flex-direction:column;flex:auto;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.new-play-setup-dialog-form .form-group{margin:0}.new-play-setup-dialog-body .field-label{margin-bottom:4px}.new-play-setup-dialog-body .input-field,.new-play-setup-dialog-body .select-field{min-height:34px;padding:6px 10px}.new-play-setup-dialog-category .category-multiselect-panel-inline{max-height:160px}.new-play-setup-dialog-notes{resize:vertical;min-height:56px}.new-play-setup-dialog-actions{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.new-play-setup-dialog-field-error{color:#b42318;margin:4px 0 0;font-size:.85rem}.new-play-setup-dialog-form .input-field-invalid{border-color:#b42318}.category-reminder-dialog{width:min(100%,480px)}.category-reminder-dialog-select{width:min(100%,520px)}.category-reminder-dialog-title{margin:0 0 var(--space-sm);color:var(--text-on-surface);font-size:1.15rem;font-weight:700}.category-reminder-dialog-message{margin:0 0 var(--space-md);color:var(--text-on-surface);font-size:15px;line-height:1.5}.category-reminder-dialog-selector{margin-bottom:var(--space-md)}.category-reminder-dialog-selector .category-multiselect-panel-inline{max-height:220px}.category-reminder-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.beautify-route-control{border:1px solid var(--field-card-border,#0000001f);border-radius:var(--radius-sm,4px);background:var(--field-controls-bg,#00000005);flex-wrap:wrap;align-items:center;gap:10px;padding:4px 8px;display:flex}.beautify-route-control-title{color:var(--field-hint-color);white-space:nowrap;font-size:11px;font-weight:600}.beautify-route-control-slider-label{align-items:center;gap:8px;margin:0;display:flex}.beautify-route-control-label{color:var(--field-hint-color);white-space:nowrap;font-size:11px}.beautify-route-control-slider{width:120px;margin:0}.beautify-route-control-value{font-variant-numeric:tabular-nums;min-width:24px;color:var(--field-hint-color);font-size:11px}.beautify-route-control-actions{flex-wrap:wrap;gap:6px;display:flex}.beautify-route-control-actions .btn{min-height:30px;padding:4px 12px;font-size:12px}.endpoint-marker-selector{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.endpoint-marker-selector-label{color:var(--field-hint-color);white-space:nowrap;font-size:11px}.endpoint-marker-toggle{flex-wrap:wrap;gap:4px;display:flex}.endpoint-marker-toggle-btn{border:1px solid var(--field-card-border,#00000026);border-radius:var(--radius-sm,4px);min-height:30px;color:inherit;cursor:pointer;background:0 0;padding:4px 10px;font-size:11px}.endpoint-marker-toggle-btn:hover:not(:disabled){background:#0000000a}.endpoint-marker-toggle-btn-active{background:var(--field-controls-active-bg,#00000014);border-color:var(--field-controls-active-border,#00000040)}.endpoint-marker-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.field-action-context-menu{z-index:2000;border:1px solid var(--sidebar-border,#ffffff24);border-radius:var(--radius-sm);background:var(--surface-card,#1a2a1c);min-width:200px;max-width:min(280px,100vw - 16px);box-shadow:var(--shadow-md);padding:6px 0;font-size:12px;position:fixed}.field-action-context-menu-section{border-bottom:1px solid var(--sidebar-border,#ffffff1a);padding:4px 0}.field-action-context-menu-section:last-child{border-bottom:none}.field-action-context-menu-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:4px 12px 2px;font-size:10px;font-weight:700;display:block}.field-action-context-menu-item{width:100%;color:var(--text-light);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 12px;font-family:inherit;font-size:12px;display:block}.field-action-context-menu-item:hover:not(:disabled){background:var(--surface-hover,#ffffff14)}.field-action-context-menu-item:disabled{opacity:.45;cursor:not-allowed}.field-action-context-menu-item-danger{color:#f87171}.field-action-context-menu-item-active{color:var(--grass-mid,#2d6a2d);font-weight:700}.field-action-context-menu-item-with-submenu{position:relative}.field-action-context-menu-item-with-submenu-disabled{opacity:.45;pointer-events:none}.field-action-context-menu-item-parent{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-action-context-menu-item-chevron{opacity:.65;font-size:14px;line-height:1}.field-action-context-menu-submenu{z-index:1;border:1px solid var(--sidebar-border,#ffffff24);border-radius:var(--radius-sm);background:var(--surface-card,#1a2a1c);min-width:108px;box-shadow:var(--shadow-md);padding:4px 0;display:none;position:absolute;top:0;left:100%}.field-action-context-menu-item-with-submenu:hover .field-action-context-menu-submenu,.field-action-context-menu-item-with-submenu:focus-within .field-action-context-menu-submenu{display:block}.app-theme-light .field-action-context-menu{background:#fff;border-color:#e0e0e0}.app-theme-light .field-action-context-menu-item{color:#1a2a1c}.app-theme-light .field-action-context-menu-item-active{color:#2d6a2d}.app-theme-light .field-action-context-menu-submenu{background:#fff;border-color:#e0e0e0}.route-endpoint-marker{fill:var(--field-route-vertex-fill,#fff);pointer-events:none}.block-endpoint-marker{fill:var(--block-orange,#c45c00);pointer-events:none}.block-path,.block-segment-group{pointer-events:none}.block-path-hit{fill:none;stroke:#0000;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;pointer-events:stroke}.block-segment{fill:none;stroke:var(--block-orange,#c45c00);stroke-width:.21px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;cursor:pointer}.block-segment-selected{stroke-width:.34px;filter:drop-shadow(0 0 .35px var(--block-orange,#c45c00))}.block-line{fill:none;stroke:var(--block-orange,#c45c00);stroke-width:.21px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.block-line-draft{stroke:#444;stroke-dasharray:.7 .45;opacity:.7}.block-end-bar{fill:none;stroke:var(--block-orange,#c45c00);stroke-width:.35px;stroke-linecap:round;pointer-events:none}.block-end-bar-draft{opacity:.7}.block-vertex-handle{fill:var(--block-orange,#c45c00);opacity:.45;pointer-events:none}.block-vertex-handle-hit{pointer-events:all;cursor:pointer}.block-vertex-handle-selected{opacity:1;stroke:#00000059;stroke-width:.08px}.block-endpoint-handle-hit{fill:#0000;pointer-events:all;cursor:grab}.block-endpoint-handle-hit:active{cursor:grabbing}.motion-path,.motion-segment-group{pointer-events:none}.motion-path-hit{fill:none;stroke:#0000;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;pointer-events:stroke}.motion-segment{fill:none;stroke-width:.18px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.5 .45;pointer-events:none;cursor:pointer}.motion-segment-jog{stroke:gold}.motion-segment-sprint{stroke:#22c55e}.motion-segment-selected{stroke-width:.34px}.motion-line-draft{fill:none;stroke-width:.18px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.5 .45;opacity:.65;pointer-events:none}.motion-line-draft-jog{stroke:gold}.motion-line-draft-sprint{stroke:#22c55e}.motion-vertex-handle{opacity:.45;pointer-events:none}.motion-vertex-handle-jog{fill:gold}.motion-vertex-handle-sprint{fill:#22c55e}.motion-vertex-handle-hit{pointer-events:all;cursor:pointer}.motion-vertex-handle-selected{opacity:1;stroke:#00000059;stroke-width:.08px}.motion-endpoint-marker{pointer-events:none}.motion-endpoint-marker-jog{fill:gold}.motion-endpoint-marker-sprint{fill:#22c55e}.motion-endpoint-handle-hit{fill:#0000;pointer-events:all;cursor:grab}.motion-endpoint-handle-hit:active{cursor:grabbing}.route-path,.route-segment-group{pointer-events:none}.route-path-hit{fill:none;stroke:#0000;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;pointer-events:stroke}.route-segment{fill:none;stroke:var(--field-route-stroke,#fff);stroke-width:.21px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;cursor:pointer}.route-segment-selected{stroke-width:.34px;filter:drop-shadow(0 0 .35px var(--field-route-stroke,#fff))}.route-line-draft{fill:none;stroke:var(--field-route-stroke,#fff);stroke-width:.21px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.8 .5;opacity:.65;pointer-events:none}.route-vertex-handle{fill:var(--field-route-vertex-fill,#fff);opacity:.45;pointer-events:none}.route-vertex-handle-hit{pointer-events:all;cursor:pointer}.route-vertex-handle-selected{opacity:1;stroke:var(--field-route-vertex-stroke,#00000059);stroke-width:.08px}.route-endpoint-handle-hit{fill:#0000;pointer-events:all;cursor:grab}.route-endpoint-handle-hit:active{cursor:grabbing}.field-container.field-display-green{--field-container-bg:#1e4d22;--field-viewbox-bg:#1e4d22;--field-turf:#3f9a46;--field-turf-stripe-light:#48a84f;--field-turf-stripe-dark:#358a3c;--field-turf-stripe-light-opacity:.55;--field-turf-stripe-dark-opacity:.45;--field-line:#fff;--field-yard-number:#fff;--field-yard-number-stroke:#0003;--field-yard-arrow:#fff;--field-los:#ffffffb3;--field-endzone:#2d6a2d;--field-goal-line:#fff;--field-player-symbol-fill:#fff;--field-player-symbol-stroke:#1a1a1a;--field-player-symbol-stroke-width:.12px;--field-player-label-fill:#fff;--field-player-label-stroke:#1a1a1a;--field-defender-symbol-fill:#fff;--field-defender-symbol-stroke:#1a1a1a;--field-defender-symbol-stroke-width:.12px;--field-defender-label-fill:#fff;--field-defender-label-stroke:#1a1a1a;--field-marker-shadow:none;--field-route-stroke:#fff;--field-route-vertex-fill:#fff;--field-route-vertex-stroke:#00000059;--field-route-arrow-fill:#fff;--field-side-locked:#00000024;--field-hint-color:#ffffffbf;--field-hint-bg:#00000040;--field-controls-bg:#0000004d;--field-alignment-grid-minor:#dcdcdc42;--field-alignment-grid-major:#c3c3c380}.field-container.field-display-white{--field-container-bg:#fff;--field-viewbox-bg:#fff;--field-turf:#fff;--field-turf-stripe-light:#f3f3f3;--field-turf-stripe-dark:#fff;--field-turf-stripe-light-opacity:1;--field-turf-stripe-dark-opacity:1;--field-line:#111;--field-yard-number:#111;--field-yard-number-stroke:transparent;--field-yard-arrow:#111;--field-los:#e6b800;--field-endzone:#d8d8d8;--field-goal-line:#111;--field-player-symbol-fill:#fff;--field-player-symbol-stroke:#111;--field-player-symbol-stroke-width:.5px;--field-player-label-fill:#111;--field-player-label-stroke:#fff;--field-defender-symbol-fill:#111;--field-defender-symbol-stroke:#fff;--field-defender-symbol-stroke-width:.5px;--field-defender-label-fill:#111;--field-defender-label-stroke:#fff;--field-marker-shadow:drop-shadow(0 0 .12px #fff) drop-shadow(0 0 .35px #0006);--field-route-stroke:#111;--field-route-vertex-fill:#111;--field-route-vertex-stroke:#00000059;--field-route-arrow-fill:#111;--field-side-locked:#0000000f;--field-hint-color:#000000b3;--field-hint-bg:#0000000f;--field-controls-bg:#0000000f;--field-alignment-grid-minor:#82828233;--field-alignment-grid-major:#5a5a5a6b}.field-container{background:var(--field-container-bg);flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.route-hint{text-align:center;color:var(--field-hint-color);background:var(--field-hint-bg);flex-shrink:0;margin:0;padding:4px 8px;font-size:11px}.field-stack{flex-direction:column;align-items:stretch;min-height:0;display:flex}.route-draw-controls{background:var(--field-card-bg,var(--field-controls-bg));border:1px solid var(--field-card-border,transparent);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--field-card-shadow,none);z-index:2;border-bottom:none;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;display:flex}.route-draw-controls .btn{min-height:30px;padding:4px 12px;font-size:12px}.route-draw-hint{color:var(--field-hint-color);font-size:11px}.field-viewport{flex:1 1 0;width:100%;min-height:0;overflow:visible}.field-svg{width:100%;height:100%;min-height:0;display:block;overflow:visible}.field-viewbox-bg{fill:var(--field-viewbox-bg)}.field-turf{fill:var(--field-turf)}.turf-stripe{pointer-events:none}.turf-stripe-light{fill:var(--field-turf-stripe-light);opacity:var(--field-turf-stripe-light-opacity)}.turf-stripe-dark{fill:var(--field-turf-stripe-dark);opacity:var(--field-turf-stripe-dark-opacity)}.field-boundary{fill:none;stroke:var(--field-line);stroke-width:.35px;pointer-events:none}.field-endzone{fill:var(--field-endzone);pointer-events:none}.goal-line{stroke:var(--field-goal-line);stroke-width:.45px;pointer-events:none}.yard-line{stroke:var(--field-line);pointer-events:none}.yard-line-minor{stroke-width:.14px;opacity:.9}.yard-line-major{stroke-width:.32px;opacity:1}.hash-mark{stroke:var(--field-line);stroke-width:.1px;opacity:.85;pointer-events:none}.field-alignment-grid,.field-alignment-grid-line,.player-alignment-guides,.player-alignment-guide{pointer-events:none}.player-alignment-guide-horizontal,.player-alignment-guide-vertical{stroke:var(--field-alignment-guide,#dcdcdcb8);stroke-width:.1px;stroke-dasharray:.55 .45}.app-theme-light .player-alignment-guide-horizontal,.app-theme-light .player-alignment-guide-vertical{stroke:var(--field-alignment-guide,#4646468c)}.field-alignment-grid-line-minor{stroke:var(--field-alignment-grid-minor,#dcdcdc42);stroke-width:.07px}.field-alignment-grid-line-major{stroke:var(--field-alignment-grid-major,#c3c3c380);stroke-width:.15px}.yard-numbers-sideline{pointer-events:none}.yard-number-sideline{fill:var(--field-yard-number);text-anchor:middle;dominant-baseline:middle;paint-order:stroke fill;stroke:var(--field-yard-number-stroke);stroke-width:.08px;font-family:Arial,Helvetica,sans-serif;font-size:3.6px;font-weight:700}.yard-number-arrow{fill:var(--field-yard-arrow);pointer-events:none}.los-line{stroke:var(--field-los);stroke-width:.18px;stroke-dasharray:.5 .45;pointer-events:none}.field-side-locked{fill:var(--field-side-locked);pointer-events:none}.player-marker{cursor:grab;pointer-events:all}.player-marker:active{cursor:grabbing}.player-marker-locked{cursor:not-allowed;opacity:.72}.player-hit-area,.defender-hit-area{fill:#0000;pointer-events:all}.player-symbol{fill:var(--field-player-symbol-fill);stroke:var(--field-player-symbol-stroke);stroke-width:var(--field-player-symbol-stroke-width,.12px);paint-order:stroke fill;text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none;filter:var(--field-marker-shadow,none);font-family:Arial,Helvetica,sans-serif;font-weight:900}.player-marker-selected .player-symbol{stroke-width:calc(var(--field-player-symbol-stroke-width,.12px) + .06px)}.player-label{fill:var(--field-player-label-fill);text-anchor:middle;dominant-baseline:hanging;paint-order:stroke fill;stroke:var(--field-player-label-stroke);stroke-width:.1px;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;font-family:Arial,Helvetica,sans-serif;font-size:.85px;font-weight:600}.defender-label{fill:var(--field-defender-label-fill,#fff);text-anchor:middle;dominant-baseline:hanging;paint-order:stroke fill;stroke:var(--field-defender-label-stroke,#1a1a1a);stroke-width:.12px;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;font-family:Arial,Helvetica,sans-serif;font-size:.85px;font-weight:600}.player-marker:hover .player-label,.player-marker-selected .player-label,.defender-marker:hover .defender-label,.defender-marker-selected .defender-label{opacity:1}.defender-marker{cursor:grab;pointer-events:all}.defender-marker:active{cursor:grabbing}.defender-marker-locked{cursor:not-allowed;opacity:.72}.defender-marker-selected .defender-symbol{stroke-width:calc(var(--field-defender-symbol-stroke-width,.12px) + .06px)}.defender-symbol{fill:var(--field-defender-symbol-fill,#fff);stroke:var(--field-defender-symbol-stroke,#1a1a1a);stroke-width:var(--field-defender-symbol-stroke-width,.12px);paint-order:stroke fill;text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none;filter:var(--field-marker-shadow,none);font-family:Arial,Helvetica,sans-serif;font-weight:900}.field-svg .route-arrow-head-filled{fill:var(--field-route-arrow-fill);stroke:none}.field-svg .block-segment{stroke-width:.21px}.field-svg .block-segment-selected{stroke-width:.34px}.field-svg .block-line{fill:none;stroke:#e87820;stroke-width:.21px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.field-svg .block-line-draft{stroke:#e87820;stroke-dasharray:.7 .45;opacity:.7}.field-svg .block-end-bar{fill:none;stroke:#e87820;stroke-width:.24px;stroke-linecap:round;pointer-events:none}.field-svg .block-end-bar-draft{opacity:.7}.field-zoom-control{border:1px solid var(--field-card-border,#ffffff29);border-radius:var(--radius-sm,4px);background:var(--field-card-bg,#142016e6);box-shadow:var(--shadow-sm,0 1px 3px #0003);align-items:center;gap:4px;padding:2px;display:inline-flex}.app-theme-light .field-zoom-control{background:#fffffff2;border-color:#0000001f}.field-zoom-control-btn{border:1px solid var(--field-card-border,#fff3);border-radius:var(--radius-sm,4px);width:24px;height:24px;color:var(--field-hint-color,#edf5ed);cursor:pointer;background:#ffffff14;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.app-theme-light .field-zoom-control-btn{color:#2f3b30;background:#f3f5f3;border-color:#00000024}.field-zoom-control-btn:hover:not(:disabled){background:#ffffff29}.app-theme-light .field-zoom-control-btn:hover:not(:disabled){background:#e8ece8}.field-zoom-control-btn:disabled{opacity:.35;cursor:not-allowed}.field-zoom-control-value{text-align:center;min-width:3rem;color:var(--field-hint-color,#edf5ed);-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600}.app-theme-light .field-zoom-control-value{color:#2f3b30}.page-toolbar-layout{justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:36px;display:flex}.page-toolbar-layout-left{flex:0 auto;align-items:center;gap:8px;min-width:0;display:flex}.page-toolbar-layout-actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}@media (width<=768px){.page-toolbar-layout{flex-wrap:wrap;gap:8px}.page-toolbar-layout-actions{width:100%}.page-toolbar-layout-actions .btn{flex:auto;min-height:44px}}.play-type-selector{padding:6px var(--space-sm);background:var(--play-type-selector-bg);border-radius:var(--radius-sm);flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:8px;display:flex}.play-type-selector .btn{min-height:32px;padding:4px 14px;font-size:13px;font-weight:600}.drive-start-selector{margin-bottom:var(--space-sm)}.drive-start-selector-compact{margin-bottom:0}.formation-selector{flex-direction:column;gap:8px;display:flex}.formation-selector-opponent{border-top:1px solid var(--border-subtle,#00000014);flex-direction:column;gap:6px;padding-top:4px;display:flex}.formation-selector-opponent-label{margin:0}.formation-selector-actions{grid-template-columns:1fr 1fr;gap:6px;padding-top:0;display:grid}.formation-selector-actions .btn:only-child{grid-column:1/-1}.formation-selector-actions .btn{width:100%;min-height:32px;padding:6px 10px;font-size:13px}.formation-selector-hint{color:var(--text-muted);margin:0;font-size:11px;line-height:1.45}.notes-section{background:var(--surface-card);border:1px solid var(--surface-card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.notes-toggle{background:var(--panel-toggle-bg);width:100%;color:var(--text-light);cursor:pointer;text-align:left;border:none;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;display:flex}.notes-toggle:hover{background:var(--panel-toggle-hover)}.notes-toggle-title{letter-spacing:.06em;text-transform:uppercase;color:var(--panel-toggle-title);flex:1;font-size:12px;font-weight:700}.notes-chevron{color:var(--text-muted);font-size:11px}.notes-body{padding:0 14px 14px}.notes-textarea{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-on-surface);resize:vertical;min-height:80px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.5}.notes-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring);outline:none}.notes-textarea::placeholder{color:#888}.play-setup-panel .notes-section .notes-toggle{padding:10px 12px}.play-setup-panel .notes-section .notes-body{padding:0 12px 12px}.manage-categories-list{margin:0 0 var(--space-lg);flex-direction:column;gap:8px;max-height:240px;display:flex;overflow-y:auto}.manage-categories-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.manage-categories-name{color:var(--text-on-surface);font-size:14px;font-weight:600}.manage-categories-empty{margin:0 0 var(--space-md);color:var(--text-muted);font-size:14px}.manage-categories-add{margin-bottom:var(--space-md);gap:8px;display:flex}.manage-categories-add .input-field{flex:1;min-width:0}.manage-categories-error{margin:0 0 var(--space-md);color:var(--danger);font-size:13px;font-weight:600}.play-controls{flex-direction:column;gap:10px;width:100%;display:flex}.play-controls-library,.play-controls-information{gap:10px}.play-controls .form-group{flex:auto;min-width:0;margin:0}.play-controls-manage-btn,.play-controls-library-btn{width:100%}.play-controls-filters{flex-direction:column;gap:6px;padding-top:2px;display:flex}.play-controls-filters-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:10px;font-weight:700}.play-controls-filters-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}@media (width<=768px){.play-controls-filters-row{grid-template-columns:1fr}.play-controls-library-btn,.play-controls-library .select-field{min-height:44px}}.assignment-panel{background:var(--surface-card);border:1px solid var(--surface-card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-shrink:0;width:240px;overflow:hidden}.assignment-panel.is-collapsed{width:auto;min-width:0}.assignment-panel-toggle{background:var(--panel-toggle-bg);width:100%;color:var(--text-light);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:left;border:none;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:12px;font-weight:700;display:flex}.assignment-panel-toggle:hover{background:var(--panel-toggle-hover)}.assignment-panel-toggle-title{color:var(--panel-toggle-title);flex:1}.assignment-panel-badge{background:var(--grass-mid);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.assignment-panel-chevron{color:var(--text-muted);font-size:11px}.assignment-panel-body{padding:10px 12px 12px}.assignment-player-picker{width:100%;min-height:32px;margin-bottom:12px;font-size:13px}.assignment-slot-id{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:11px;font-weight:600}.assignment-label-input{box-sizing:border-box;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:4.5rem;color:var(--text-on-surface);margin-bottom:12px;padding:6px 8px;font-family:inherit;font-size:14px;font-weight:700}.assignment-label-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring);outline:none}.assignment-label-input:read-only{opacity:.85;cursor:default}.assignment-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.assignment-textarea{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-on-surface);resize:vertical;min-height:88px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.45}.assignment-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring);outline:none}.assignment-placeholder{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.play-setup-panel .assignment-panel,.play-setup-panel .assignment-panel.is-collapsed{width:100%}@media (width<=900px){.assignment-panel,.assignment-panel.is-collapsed{width:100%}}.section-help-tooltip{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.section-help-tooltip-trigger{border:1px solid var(--text-muted);width:14px;height:14px;color:var(--text-muted);cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:Georgia,Times New Roman,serif;font-size:9px;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.section-help-tooltip-trigger:hover,.section-help-tooltip-trigger:focus-visible{color:var(--text-on-surface);border-color:var(--border-strong);background:var(--surface-hover);outline:none}.section-help-tooltip-bubble{text-align:left;text-transform:none;letter-spacing:normal;white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;width:max-content;max-width:220px;color:var(--text-on-surface);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md,0 4px 12px #0003);pointer-events:none;padding:6px 8px;font-size:11px;font-weight:500;line-height:1.35}.section-help-tooltip-bubble-portal{z-index:1000}.play-actions-groups{flex-direction:column;gap:8px;width:100%;display:flex}.play-actions-group{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.play-actions-group-single{grid-template-columns:1fr}.play-actions-groups .sidebar-btn{width:100%;min-height:32px;padding:6px 8px;font-size:12px}.play-actions-full-width{grid-column:1/-1}.play-actions-divider{background:var(--border);height:1px;margin:2px 0}.drawing-mode-selector{flex-direction:column;gap:8px;width:100%;display:flex}.drawing-mode-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;display:flex;overflow:visible}.drawing-mode-toggle-three,.drawing-mode-toggle-four{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.drawing-mode-toggle-three .drawing-mode-toggle-btn:nth-child(3){border-top:1px solid var(--border-strong);border-right:none;grid-column:1/-1;font-size:12px}.drawing-mode-toggle-btn{border:none;border-right:1px solid var(--border-strong);background:var(--surface);min-width:0;min-height:32px;color:var(--text-on-surface);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:6px 4px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,color .15s;overflow:hidden}.drawing-mode-toggle-three .drawing-mode-toggle-btn:last-child,.drawing-mode-toggle-four .drawing-mode-toggle-btn:nth-child(2n){border-right:none}.drawing-mode-toggle-four .drawing-mode-toggle-btn:nth-child(n+3){border-top:1px solid var(--border-strong)}.drawing-mode-toggle:not(.drawing-mode-toggle-three):not(.drawing-mode-toggle-four) .drawing-mode-toggle-btn:last-child{border-right:none}.drawing-mode-toggle-btn:hover:not(:disabled){background:var(--surface-hover)}.drawing-mode-toggle-btn:disabled{opacity:.45;cursor:not-allowed}.drawing-mode-toggle-btn-active{background:var(--grass-mid);color:#fff}.drawing-mode-toggle-btn-active:hover:not(:disabled){background:var(--grass-dark);color:#fff}.drawing-mode-toggle-btn-block.drawing-mode-toggle-btn-active{background:var(--block-orange)}.drawing-mode-toggle-btn-block.drawing-mode-toggle-btn-active:hover:not(:disabled){background:var(--block-orange-dark)}.drawing-mode-toggle-btn-motion.drawing-mode-toggle-btn-active{background:#f97316}.drawing-mode-toggle-btn-motion.drawing-mode-toggle-btn-active:hover:not(:disabled){background:#ea580c}.motion-type-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid;overflow:visible}.motion-type-toggle-btn{border:none;border-right:1px solid var(--border-strong);background:var(--surface);min-width:0;min-height:28px;color:var(--text-on-surface);cursor:pointer;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,color .15s}.motion-type-toggle-btn:last-child{border-right:none}.motion-type-toggle-btn:hover:not(:disabled){background:var(--surface-hover)}.motion-type-toggle-btn:disabled{opacity:.45;cursor:not-allowed}.motion-type-toggle-btn-jog.motion-type-toggle-btn-active{color:#1a1a1a;background:gold}.motion-type-toggle-btn-sprint.motion-type-toggle-btn-active{color:#fff;background:#22c55e}.play-setup-panel{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;width:320px;max-height:calc(100svh - 88px);display:flex;overflow:hidden}.play-setup-header{border-bottom:1px solid var(--sidebar-border);background:var(--sidebar-header-bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.play-setup-title{letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-section-title);margin:0;font-size:12px;font-weight:700}.play-setup-collapse{min-height:28px;padding:2px 8px;font-size:12px}.play-setup-body{flex-direction:column;flex:1;min-height:0;display:flex}.play-setup-sections{flex:1;min-height:0;padding:6px 0 8px;overflow-y:auto}.sidebar-section{border-bottom:1px solid var(--sidebar-border);padding:10px 12px 12px}.sidebar-section-library{padding-top:8px}.sidebar-section-last{border-bottom:none}.sidebar-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-section-title);margin:0 0 10px;font-size:11px;font-weight:700}.sidebar-section-drawing-tools{background:var(--sidebar-drawing-tools-bg);border-bottom:1px solid var(--sidebar-border);border-top:2px solid var(--grass-mid,#2d6a2d);padding:12px}.sidebar-section-title-prominent{letter-spacing:.1em;margin-bottom:12px;font-size:12px}.play-setup-panel .sidebar-section-drawing-tools .drawing-mode-selector{gap:10px}.play-setup-panel .sidebar-section-drawing-tools .drawing-mode-toggle-btn{min-height:36px;font-size:12px}.play-setup-panel .sidebar-section-drawing-tools .motion-type-toggle-btn{min-height:32px}.sidebar-section-collapsible{padding:0}.sidebar-section-toggle{text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;font-family:inherit;display:flex}.sidebar-section-toggle:hover{background:var(--surface-hover,#0000000a)}.sidebar-section-title-row{flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.sidebar-section-toggle-btn{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;min-width:0;padding:0;font-family:inherit;display:inline-flex}.sidebar-section-chevron-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;display:inline-flex}.sidebar-section-toggle-title{margin:0}.sidebar-section-chevron{color:var(--text-muted);flex-shrink:0;font-size:11px}.sidebar-section-body{padding:0 12px 12px}.sidebar-section-drawing-tools .sidebar-section-toggle{padding:12px}.sidebar-section-drawing-tools .sidebar-section-body{padding:0 12px 12px}.sidebar-section-library.sidebar-section-collapsible .sidebar-section-toggle{padding-top:8px}.sidebar-section-advanced .sidebar-section-body,.sidebar-section-body .assignment-panel-embedded,.sidebar-section-body .notes-section-embedded{width:100%}.sidebar-section-body .assignment-panel-embedded,.sidebar-section-body .notes-section-embedded{box-shadow:none;background:0 0;border:none;border-radius:0}.sidebar-section-body .assignment-panel-embedded .assignment-panel-body,.sidebar-section-body .notes-section-embedded .notes-body{padding:0}.play-setup-panel .sidebar-field-label{margin-bottom:4px;font-size:10px}.play-setup-panel .sidebar-control{min-height:32px;padding:5px 10px;font-size:13px}.play-setup-panel .sidebar-btn{min-height:32px;padding:6px 10px;font-size:12px}.play-setup-reopen{z-index:100;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em;border:1px solid var(--sidebar-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--sidebar-reopen-bg);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);border-left:none;padding:14px 8px;font-family:inherit;font-size:12px;font-weight:700;position:fixed;top:50%;left:0;transform:translateY(-50%)}.play-setup-reopen:hover{background:var(--sidebar-reopen-hover)}@media (width<=768px){.play-setup-panel{border-right:none;border-bottom:1px solid var(--sidebar-border);width:100%;max-height:min(45vh,420px)}.play-setup-reopen{writing-mode:horizontal-tb;border-radius:var(--radius-sm);border:1px solid var(--sidebar-border);min-height:44px;padding:10px 14px;top:auto;bottom:12px;left:12px;transform:none}}.field-grid-control{border:1px solid var(--field-card-border,#ffffff29);border-radius:var(--radius-sm,4px);background:var(--field-card-bg,#142016e6);min-width:48px;height:28px;box-shadow:var(--shadow-sm,0 1px 3px #0003);color:var(--field-hint-color,#edf5ed);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.app-theme-light .field-grid-control{color:#2f3b30;background:#fffffff2;border-color:#0000001f}.field-grid-control:hover{background:#ffffff29}.app-theme-light .field-grid-control:hover{background:#e8ece8}.field-grid-control.is-active{background:#ffffff38;border-color:#ffffff59}.app-theme-light .field-grid-control.is-active{background:#dce8dc;border-color:#00000038}.app-shell-page{background:var(--app-bg);height:100%;min-height:0;color:var(--text-light);flex-direction:column;display:flex}.app-shell-page-screen{min-height:0;padding:var(--space-md);flex:1;overflow:auto}.app-shell-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.app-shell-page-header-main{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.app-shell-page-header h1{margin:0 0 4px;font-size:1.4rem}.app-shell-page-subtitle{color:var(--text-muted,#666);margin:0;font-size:13px}.app-shell-page-body{max-width:900px}.app-shell-page-error,.app-shell-page-readonly,.app-shell-page-loading,.app-shell-page-empty{margin:0 0 var(--space-md);font-size:13px}.app-shell-page-error{color:var(--danger)}@media (width>=769px){.app-shell-card{border-radius:var(--radius-md);color:var(--text-on-surface);background:#fafcf9;border:1px solid #d9e4d8;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000014}.app-shell-card:before{content:"";background:#2f6b2f;height:3px;position:absolute;top:0;left:0;right:0}.app-shell-card--interactive{cursor:pointer;transition:border-color .15s,box-shadow .15s}.app-shell-card--interactive:hover{border-color:#c5d4c4;box-shadow:0 4px 12px #0000001a}}@media (width<=768px){.app-shell-page-screen{padding:var(--space-md)}.app-shell-page-header{align-items:stretch;gap:var(--space-sm);flex-direction:column}.app-shell-page-body{max-width:100%}}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--text-on-surface);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-hover);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.4;cursor:not-allowed;background:var(--surface-muted);color:var(--text-disabled);border-color:var(--border);box-shadow:none}.btn-primary{background:var(--grass-mid);color:#fff;border-color:var(--grass-dark)}.btn-primary:hover:not(:disabled){background:var(--grass-dark);color:#fff}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-active{background:var(--gold);color:var(--gold-text);border-color:var(--gold-border)}.btn-active:hover:not(:disabled){background:var(--gold);color:var(--gold-text)}.btn-toggle-active{background:var(--grass-mid);color:#fff;border-color:var(--grass-dark)}.btn-toggle-blocking.btn-toggle-active{background:var(--block-orange);border-color:var(--block-orange-dark)}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.input-field,.select-field{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:38px;color:var(--text-on-surface);padding:8px 12px;font-family:inherit;font-size:14px}.input-field:focus,.select-field:focus,.textarea-field:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring);outline:none}.textarea-field{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-on-surface);resize:vertical;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.5}.textarea-field::placeholder{color:#888}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-group{flex-direction:column;flex:160px;min-width:140px;display:flex}.form-group-grow{flex:2 220px}@media (width<=768px){.app-shell-page .btn{min-height:44px}}.app{background:var(--app-bg);color:var(--text-light);flex-direction:column;display:flex;overflow:hidden}.main-app .app{flex:1;height:100%;min-height:0}.app-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.app-body.setup-collapsed .canvas-area{width:100%}.canvas-area{gap:var(--space-xs);min-width:0;min-height:0;padding:var(--space-xs) var(--space-sm) var(--space-sm);background:var(--canvas-bg);flex-direction:column;flex:1;display:flex;overflow:hidden}.save-message{padding:8px var(--space-md);text-align:center;color:var(--gold-text);background:var(--gold);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-shrink:0;margin:0;font-size:13px;font-weight:600}.save-message-readonly{color:#edf5ed;background:#00000059}.app-theme-light .save-message-readonly{color:#3d5240;background:#e8ece8}.field-stage{flex:1;justify-content:center;align-items:stretch;min-height:0;display:flex;overflow:hidden}.field-workspace{flex-direction:column;flex:1 1 0;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.field-column{overscroll-behavior:contain;flex:1 1 0;width:100%;min-width:0;min-height:0;overflow:auto;container-type:size}.field-workspace-status{border-top:1px solid var(--field-card-border,#ffffff1f);background:var(--canvas-bg);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:28px;padding:2px 8px 4px;display:flex}.field-workspace-toolbar-host{flex:auto;align-items:center;min-width:0;display:flex;overflow:hidden}.field-workspace-status-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.field-workspace-toolbar-host .route-draw-controls{border-bottom:1px solid var(--field-card-border,transparent);border-radius:var(--radius-sm);box-shadow:none;padding:4px 8px}.field-zoom-workspace{box-sizing:border-box;place-items:center;width:max-content;min-width:100%;height:max-content;min-height:100%;display:grid}.field-zoom-slot{--field-zoom:1;--field-base-w:min(100cqw, calc(100cqh * 60.3 / 54.5));width:calc(var(--field-base-w) * var(--field-zoom));flex-direction:column;flex-shrink:0;align-items:stretch;display:flex}.field-zoom-scaler{--field-base-w:min(100cqw, calc(100cqh * 60.3 / 54.5));width:var(--field-base-w);transform:scale(var(--field-zoom));transform-origin:top;flex-shrink:0;align-self:center;position:relative}.field-column .field-zoom-scaler .field-stack{flex-direction:column;flex:none;align-items:stretch;width:100%;min-height:0;display:flex}.field-column .field-container{background:var(--field-card-bg,transparent);border:1px solid var(--field-card-border);border-radius:var(--radius-md);width:100%;height:auto;min-height:0;box-shadow:var(--field-card-shadow);flex:none;overflow:hidden}.field-column .field-viewport{aspect-ratio:60.3/54.5;flex:none;width:100%;min-height:0;overflow:hidden}.play-designer-mobile-notice{text-align:center;color:var(--text-light);border-radius:var(--radius-sm);background:#00000059;flex-shrink:0;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.app-theme-light .play-designer-mobile-notice{color:#3d5240;background:#e8ece8;border:1px solid #c5d4c4}.play-designer-mobile-access{display:none}@media (width<=768px){.play-designer-mobile-access{padding:0 var(--space-sm) 8px;flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.play-designer-mobile-access .btn{flex:calc(50% - 4px);min-height:44px}.play-designer-mobile-setup-btn{flex:100%}.play-designer-mobile-notice{margin:0 var(--space-sm) 8px;padding:8px 10px;font-size:12px}.app{height:auto;min-height:100svh;overflow:hidden auto}.app-body{flex-direction:column;overflow:visible}.canvas-area{flex-direction:column;min-height:0;display:flex;overflow:visible}.field-stage{flex:auto;min-height:280px}.field-column{-webkit-overflow-scrolling:touch;overflow:auto}.field-zoom-slot,.field-zoom-scaler{--field-base-w:min(100cqw, calc(100cqh * 60.3 / 54.5))}.field-column .field-zoom-scaler .field-stack{width:100%}.field-column .field-container{width:100%;height:auto}.field-column .field-viewport{width:100%}}.feedback-dialog{width:min(100%,480px)}.feedback-dialog-title{margin:0 0 var(--space-md);color:var(--text-on-surface);font-size:1.15rem;font-weight:700}.feedback-dialog-form{gap:var(--space-md);flex-direction:column;display:flex}.feedback-dialog-message{margin:0;font-size:14px;font-weight:600}.feedback-dialog-message-success{color:var(--grass-dark)}.feedback-dialog-message-error{color:var(--danger)}.feedback-dialog-textarea{resize:vertical;min-height:120px}.feedback-dialog-actions{margin-top:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.feedback-review-dialog{flex-direction:column;width:min(100%,640px);max-height:min(85vh,720px);display:flex}.feedback-review-dialog-title{margin:0 0 var(--space-md);color:var(--text-on-surface);font-size:1.15rem;font-weight:700}.feedback-review-dialog-status,.feedback-review-dialog-empty{margin:0 0 var(--space-md);color:var(--text-muted,var(--header-text-muted));font-size:14px}.feedback-review-dialog-error{margin:0 0 var(--space-md);color:var(--danger);font-size:14px;font-weight:600}.feedback-review-list{margin:0 0 var(--space-md);gap:var(--space-sm);flex-direction:column;flex:auto;min-height:0;padding:0;list-style:none;display:flex;overflow-y:auto}.feedback-review-item{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised,var(--surface))}.feedback-review-item-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.feedback-review-item-title{color:var(--text-on-surface);margin:0;font-size:15px;font-weight:700;line-height:1.3}.feedback-review-type{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--text-muted,var(--header-text-muted));border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.feedback-review-type-issue{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border-strong))}.feedback-review-type-enhancement{color:var(--grass-dark);border-color:color-mix(in srgb, var(--grass-dark) 35%, var(--border-strong))}.feedback-review-item-description{margin:0 0 var(--space-sm);color:var(--text-on-surface);white-space:pre-wrap;font-size:14px;line-height:1.45}.feedback-review-item-meta{color:var(--text-muted,var(--header-text-muted));word-break:break-word;margin:0;font-size:12px}.feedback-review-meta-label{text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:700}.feedback-review-page-link{color:var(--link-color,var(--grass-dark))}.feedback-review-item-footer{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.feedback-review-item-meta-group{gap:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex}.feedback-review-resolve-btn{min-height:28px;padding:2px 10px;font-size:12px}.feedback-review-dialog-actions{margin-top:var(--space-sm);justify-content:flex-end;display:flex}@media (width<=768px){.feedback-review-dialog{width:100%;max-height:calc(100dvh - var(--space-md) * 2)}.feedback-review-resolve-btn{min-height:44px;padding:8px 12px;font-size:13px}.feedback-review-dialog-actions .btn{width:100%;min-height:44px}}.help-dialog{flex-direction:column;width:min(100%,640px);max-height:min(88vh,760px);padding:0;display:flex;overflow:hidden}.help-dialog-header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.help-dialog-title{color:var(--text-on-surface);margin:0;font-size:1.15rem;font-weight:700}.help-dialog-close{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-on-surface);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;font-size:1.35rem;line-height:1;transition:background .15s;display:inline-flex}.help-dialog-close:hover{background:#ffffff0f}.help-dialog-body{padding:var(--space-sm) var(--space-lg) var(--space-lg);overflow-y:auto}.help-accordion-section{border-bottom:1px solid var(--border)}.help-accordion-section:last-child{border-bottom:none}.help-accordion-header{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;color:var(--text-on-surface);text-align:left;cursor:pointer;background:0 0;border:none;padding:12px 0;font-family:inherit;font-size:14px;font-weight:600;display:flex}.help-accordion-header:hover{color:var(--grass-mid)}.help-accordion-chevron{color:var(--text-muted);flex-shrink:0;font-size:12px}.help-accordion-body{padding:0 0 14px}.help-dialog-paragraph{color:var(--text-on-surface);margin:0 0 10px;font-size:14px;line-height:1.55}.help-dialog-paragraph:last-child{margin-bottom:0}.help-dialog-list{color:var(--text-on-surface);margin:0 0 10px;padding-left:1.25rem;font-size:14px;line-height:1.55}.help-dialog-list:last-child{margin-bottom:0}.help-dialog-list li+li{margin-top:6px}@media (width<=768px){.help-dialog{width:100%;max-height:calc(100dvh - var(--space-md) * 2)}.help-dialog-header{padding:var(--space-md)}.help-dialog-body{padding:var(--space-sm) var(--space-md) var(--space-md)}.help-accordion-header{min-height:44px;padding:10px 0}}.app-shell-nav{flex-shrink:0;align-items:center;gap:4px;display:flex}.app-shell-nav-btn{border:1px solid var(--header-border);border-radius:var(--radius-sm);min-height:30px;color:var(--header-text);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 12px;font-size:12px;font-weight:600}.app-shell-nav-btn.is-active{background:var(--play-type-selector-bg,var(--surface));color:var(--header-title-color);border-color:var(--border-strong)}@media (width<=768px){.app-shell-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;order:2;width:100%;max-width:100%;padding-bottom:2px;overflow-x:auto}.app-shell-nav::-webkit-scrollbar{display:none}.app-shell-nav-btn{flex-shrink:0;min-height:44px;padding:8px 14px;font-size:13px}}@media print{.app-shell-nav{display:none!important}}.header{background:var(--header-bg);border-bottom:1px solid var(--header-border);box-shadow:var(--shadow-sm);flex-shrink:0;padding:6px 12px}.header-inner{align-items:center;gap:12px;min-height:36px;display:flex}.header-brand{flex:none;min-width:0}.header-brand-link{max-width:100%;color:inherit;cursor:pointer;border-radius:var(--radius-sm,4px);text-decoration:none;transition:opacity .15s,color .15s;display:inline-block}.header-brand-link:hover{opacity:.82;text-underline-offset:2px;text-decoration:underline}.header-brand-link:focus-visible{outline:2px solid var(--header-title-color,currentColor);outline-offset:2px}.header-title{color:var(--header-title-color);letter-spacing:-.2px;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;overflow:hidden}.header-spacer{flex:auto;min-width:0}.header-actions{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.header-team-group,.header-account-group{align-items:center;gap:6px;min-width:0;display:flex}.header-account-group{border-left:1px solid var(--header-divider);padding-left:4px}.header-user-label{letter-spacing:.03em;text-transform:uppercase;color:var(--header-text-muted);white-space:nowrap;font-size:11px;font-weight:600}.header-user-email{color:var(--header-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;overflow:hidden}.header-team-name{color:var(--header-text);white-space:nowrap;font-size:12px;font-weight:600}.header-role-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--header-text-muted);border:1px solid var(--header-divider);white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700}.header-team-select{min-width:120px;max-width:160px;min-height:30px;padding:3px 8px;font-size:12px}.header-action-btn{white-space:nowrap;min-height:30px;padding:3px 10px;font-size:12px}.header-action-btn.is-active{background:var(--play-type-selector-bg,var(--surface));border-color:var(--border-strong,var(--border));color:var(--header-title-color,var(--header-text))}@media (width<=768px){.header{padding:8px 10px}.header-inner{flex-direction:column;align-items:stretch;gap:8px}.header-spacer{display:none}.header-actions{flex-direction:column;flex:auto;align-items:stretch;gap:8px;width:100%}.header-team-group,.header-account-group{flex-wrap:wrap;gap:8px;width:100%}.header-account-group{border-left:none;border-top:1px solid var(--header-divider);padding-top:8px;padding-left:0}.header-team-select{flex:140px;min-width:0;max-width:none;min-height:44px}.header-action-btn{min-height:44px;padding:8px 12px;font-size:13px}.header-user-email{flex:auto;min-width:0;max-width:none;font-size:12px}}@media (width<=1100px){.header-inner{flex-wrap:wrap;row-gap:6px}.header-spacer{display:none}.header-actions{flex-wrap:wrap;flex:100%;justify-content:flex-end}}@media (width<=600px){.header-title{font-size:.9rem}}.app-shell-page-toolbar{background:var(--header-bg);border-bottom:1px solid var(--header-border);box-shadow:var(--shadow-sm);flex-shrink:0;padding:6px 12px}.app-shell-page-toolbar .play-type-selector{background:0 0;justify-content:flex-start;padding:0}.app-shell-page-toolbar .play-type-selector .btn{min-height:30px;padding:3px 12px;font-size:12px}.app-shell-page-toolbar .admin-template-edit-bar{background:0 0;border-bottom:none;padding:0}@media (width<=600px){.app-shell-page-toolbar{padding:6px 8px}}.admin-templates-page{overflow:hidden}.admin-templates-content{gap:var(--space-md);flex-direction:column;display:flex}.admin-templates-status{border-radius:var(--radius-sm);background:var(--surface-hover);color:var(--text-on-surface);margin:0;padding:.65rem .85rem}.admin-templates-status.is-error{color:#b91c1c;background:#b91c1c1f}.admin-templates-section{flex-direction:column;gap:.75rem;display:flex}.admin-templates-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-templates-section-header h2{margin:0;font-size:1.1rem}.admin-templates-list{flex-direction:column;gap:.65rem;display:flex}.admin-template-card{border-radius:var(--radius-sm);justify-content:space-between;gap:1rem;padding:.85rem 1rem;display:flex}@media (width<=768px){.admin-template-card{background:var(--surface);color:var(--text-on-surface);border:1px solid var(--border-strong)}}.admin-template-card-main h3{margin:0 0 .35rem;font-size:1rem}.admin-template-meta{color:var(--text-muted);flex-wrap:wrap;gap:.5rem .85rem;margin:0;font-size:.85rem;display:flex}.admin-template-default{color:var(--grass-dark);font-weight:700}.admin-template-actions{flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:.45rem;display:flex}.admin-template-editor-backdrop{z-index:40;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.admin-template-editor{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border-strong);flex-direction:column;gap:.85rem;width:min(720px,100%);max-height:calc(100vh - 2rem);padding:1rem;display:flex;overflow:auto}.admin-template-editor h2{margin:0;font-size:1.15rem}.admin-template-field{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.admin-template-json{border:1px solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;width:100%;min-height:180px;padding:.65rem;font-family:Consolas,Courier New,monospace;font-size:.82rem}.admin-template-editor-actions{gap:.5rem;display:flex}@media (width<=768px){.admin-template-card{flex-direction:column}}.team-calendar-month{flex-direction:column;gap:12px;display:flex}.team-calendar-month-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.team-calendar-month-title{margin:0;font-size:1.1rem;font-weight:700}.team-calendar-month-nav{flex-wrap:wrap;gap:8px;display:flex}.team-calendar-month-grid{flex-direction:column;gap:4px;display:flex}.team-calendar-month-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.team-calendar-month-weekday{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#666);text-align:center;padding:4px 6px;font-size:11px;font-weight:700}.team-calendar-month-cells{grid-template-rows:repeat(6,minmax(88px,1fr));grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.team-calendar-month-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:88px;color:var(--text-on-surface);flex-direction:column;gap:4px;padding:6px;display:flex;overflow:hidden}.team-calendar-month-cell.is-outside-month{background:var(--play-type-selector-bg,var(--surface));opacity:.72}.team-calendar-month-cell.is-today .team-calendar-month-day-number{background:var(--grass-mid);color:#fff}.team-calendar-month-day-number{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.team-calendar-month-events{flex-direction:column;gap:3px;min-height:0;display:flex;overflow:hidden}.team-calendar-month-event-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--play-type-selector-bg,var(--surface));width:100%;min-width:0;color:var(--text-on-surface);text-align:left;cursor:pointer;align-items:baseline;gap:4px;padding:3px 6px;font-family:inherit;font-size:11px;line-height:1.3;display:flex}.team-calendar-month-event-chip:hover{border-color:var(--border-strong,var(--border));background:var(--surface-hover)}.team-calendar-month-event-chip.is-past{opacity:.72}.team-calendar-month-event-chip.is-continuation{font-style:italic}.team-calendar-month-event-time{color:var(--text-muted,#666);flex-shrink:0;font-weight:600}.team-calendar-month-event-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width>=769px){.team-calendar-month{display:flex}.team-calendar-month.app-shell-card{padding:var(--space-md)}.app-shell-card .team-calendar-month-cell{background:#fafcf9;border-color:#d9e4d8}.app-shell-card .team-calendar-month-cell.is-outside-month{background:#f5f8f4}}@media (width<=768px){.team-calendar-month,.team-calendar-view-toggle-month{display:none}}.team-calendar-list{gap:var(--space-md);flex-direction:column;display:flex}.team-calendar-list-section{flex-direction:column;gap:10px;display:flex}.team-calendar-list-section-title{color:var(--text-muted,#666);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.95rem;font-weight:700}.team-calendar-list-section-items{flex-direction:column;gap:10px;display:flex}.team-calendar-list-item{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}@media (width<=768px){.team-calendar-list-item{background:var(--surface);color:var(--text-on-surface);border:1px solid var(--border);border-radius:var(--radius-md)}}.team-calendar-list-item.is-past{opacity:.92;border-color:var(--border)}.team-calendar-list-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.team-calendar-list-item h2{margin:0;font-size:1.05rem}.team-calendar-past-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#666);background:var(--play-type-selector-bg,var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.team-calendar-list-meta{color:var(--text-muted,#666);margin:0 0 8px;font-size:12px}.team-calendar-list-location{margin:0 0 8px;font-size:13px;font-weight:600}.team-calendar-list-description{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.5}.team-calendar-list-actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.team-calendar-editor{max-width:720px}.team-calendar-month-wrap{max-width:900px}@media (width>=769px){.team-calendar-month-wrap{width:100%}}.team-calendar-editor-form{gap:var(--space-md);flex-direction:column;display:flex}.team-calendar-editor-description{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.team-calendar-editor-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=768px){.team-calendar-list-item{flex-direction:column}.team-calendar-list-actions{flex-direction:row;width:100%}}.team-hub-content{flex-direction:column;display:flex}.team-hub-dashboard{flex-direction:column;gap:10px;display:flex}.team-hub-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.team-hub-card{flex-direction:column;gap:8px;min-height:0;padding:13px;display:flex}@media (width<=768px){.team-hub-card{background:var(--surface);color:var(--text-on-surface);border:1px solid var(--border);border-radius:var(--radius-md)}}.team-hub-card-clickable:focus-visible{outline:2px solid var(--grass-mid,#2d6a2d);outline-offset:2px}.team-hub-card-heading{align-items:center;gap:8px;min-width:0;display:flex}.team-hub-card-heading h2{text-transform:uppercase;letter-spacing:.04em;min-width:0;color:var(--text-muted,#666);flex:1;margin:0;font-size:.9rem;font-weight:700}.team-hub-card-status{flex-shrink:0;min-width:0;min-height:20px}.team-hub-card-icon{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--play-type-selector-bg,var(--surface));width:28px;height:28px;color:var(--text-on-surface);flex-shrink:0;justify-content:center;align-items:center;display:flex}.team-hub-card-icon svg{width:16px;height:16px}.team-hub-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.team-hub-card-title{margin:0;font-size:1.05rem;line-height:1.3}.team-hub-card-meta{color:var(--text-muted,#666);margin:0;font-size:12px}.team-hub-card-detail{margin:0;font-size:13px;line-height:1.4}.team-hub-card-preview{color:var(--text-muted,#666);margin:0;font-size:13px;line-height:1.45}.team-hub-card-empty{color:var(--text-muted,#666);margin:0;font-size:13px}.team-hub-card-actions{margin-top:auto;padding-top:6px}.team-hub-updates-list,.team-hub-messages-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.team-hub-update-item,.team-hub-message-item{border-bottom:1px solid var(--border);padding-bottom:8px}.team-hub-update-item:last-child,.team-hub-message-item:last-child{border-bottom:none;padding-bottom:0}.team-hub-update-title-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:2px;display:flex}.team-hub-update-title{font-size:14px;font-weight:600;line-height:1.3}.team-hub-update-preview{color:var(--text-on-surface);margin:2px 0 0;font-size:13px;line-height:1.4}.team-hub-home-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--header-title-color,var(--text-on-surface));background:var(--play-type-selector-bg,var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.team-hub-message-meta{color:var(--text-muted,#666);margin:0 0 2px;font-size:11px}.team-hub-message-preview{margin:0;font-size:13px;line-height:1.4}.team-hub-quick-actions-hint{color:var(--text-muted,#666);margin:0;font-size:13px;line-height:1.4}.team-hub-quick-actions-buttons{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.team-hub-quick-actions-buttons .btn{justify-content:center}@media (width<=768px){.team-hub-row{grid-template-columns:1fr}.team-hub-quick-actions-buttons{flex-direction:column}.team-hub-quick-actions-buttons .btn,.team-hub-card-actions .btn{width:100%;min-height:44px}}@media (width<=1100px){.team-hub-row{grid-template-columns:1fr}}.team-messaging-page-screen{flex-direction:column;display:flex}.team-messaging-chat{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.team-messaging-messages{background:var(--surface);min-height:0;color:var(--text-on-surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-md);flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.team-messaging-message{border-radius:var(--radius-md);background:var(--play-type-selector-bg,var(--surface));border:1px solid var(--border);max-width:85%;padding:10px 12px}.team-messaging-message.is-own{background:var(--grass-mid);color:#fff;border-color:#0000;align-self:flex-end}.team-messaging-message-meta{opacity:.85;margin:0 0 4px;font-size:11px}.team-messaging-message-body{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.45}.team-messaging-compose{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.team-messaging-compose-row{flex:1;gap:8px;min-width:0;display:flex}.team-messaging-compose-body{resize:vertical;flex:1;min-height:44px;font-family:inherit;font-size:14px;line-height:1.4}.team-messaging-compose .btn,.team-messaging-compose-send{align-self:flex-end}@media (width>=769px){.team-messaging-page-screen.app-shell-page-screen{overflow:hidden}.team-messaging-chat{flex:1;width:100%;max-width:620px;min-height:0}.team-messaging-chat.app-shell-page-body{max-width:620px}.team-messaging-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.team-messaging-messages{background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;gap:10px;min-height:0;margin-bottom:0;padding:12px;display:flex;overflow-y:auto}.team-messaging-page-empty{text-align:center;margin:auto}.team-messaging-message{max-width:75%;color:inherit;background:0 0;border:none;padding:0;display:flex}.team-messaging-message.is-own{color:inherit;background:0 0;align-self:flex-end}.team-messaging-message-bubble{background:var(--play-type-selector-bg,var(--surface));border:1px solid var(--border);border-radius:10px;min-width:0;padding:8px 12px}.team-messaging-message.is-own .team-messaging-message-bubble{background:var(--grass-mid);color:#fff;border-color:#0000}.team-messaging-message-meta{opacity:.85;margin:0 0 6px;font-size:11px;line-height:1.3}.team-messaging-message-body{font-size:14px;line-height:1.45}.team-messaging-compose{border-top:1px solid var(--border);background:0 0;flex-direction:column;flex-shrink:0;gap:0;padding:10px 12px}.team-messaging-compose-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.team-messaging-compose-row{align-items:flex-end;gap:10px;width:100%;display:flex}.team-messaging-compose-body{resize:none;flex:1;min-width:0;min-height:44px;max-height:120px}.team-messaging-compose-send{flex-shrink:0;align-self:flex-end}}@media (width<=768px){.team-messaging-page-screen.app-shell-page-screen{overflow:visible}.team-messaging-messages{min-height:240px;max-height:50vh}.team-messaging-compose-row{flex-direction:column;align-items:stretch}.team-messaging-compose .btn,.team-messaging-compose-send{align-self:stretch;width:100%;min-height:44px}}.delete-team-dialog-warning{margin:0 0 var(--space-md);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);background:#b428281f;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45}.delete-team-dialog-label{margin-bottom:6px;display:block}.delete-team-dialog-input{width:100%;margin-bottom:var(--space-md)}.delete-team-dialog-error{margin:0 0 var(--space-md);color:var(--danger);font-size:13px;font-weight:600}.invite-member-dialog{max-width:440px}.invite-member-dialog-title{margin:0 0 12px;font-size:1.1rem}.invite-member-message{color:var(--text-muted,#4a5f4a);margin:0 0 14px;font-size:13px;line-height:1.45}.invite-member-form,.invite-member-success{flex-direction:column;gap:12px;display:flex}.invite-member-link-input{font-size:12px}.invite-member-success-message{color:var(--success-text,#1f6b3a);margin:0;font-size:13px;font-weight:600}@media (width<=768px){.invite-member-dialog{width:100%;max-width:none;max-height:calc(100dvh - var(--space-md) * 2);overflow-y:auto}.invite-member-form .btn{width:100%;min-height:44px}}.team-management-content{flex-direction:column;gap:24px;display:flex}.team-management-overview{padding:16px 18px}.team-management-overview h2{margin:0 0 14px;font-size:1.15rem}.team-overview-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px;margin:0;display:grid}.team-overview-item{flex-direction:column;gap:4px;display:flex}.team-overview-item dt{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#666);margin:0;font-size:12px;font-weight:600}.team-overview-item dd{margin:0;font-size:14px;font-weight:500}.team-management-section{flex-direction:column;gap:16px;display:flex}.team-management-danger-zone{border-color:#fecaca;padding:16px 18px}.team-management-danger-zone h2{color:#b91c1c;margin:0 0 8px;font-size:1.15rem}.team-management-danger-zone-description{color:var(--text-muted,#666);max-width:640px;margin:0 0 14px;font-size:14px}.team-management-delete-team-btn{align-self:flex-start}.team-management-section-header h2{margin:0 0 6px;font-size:1.15rem}.team-management-section-description{color:var(--text-muted,#666);margin:0;font-size:14px}.team-roster-table-wrap{overflow-x:auto}.team-roster-table{border-collapse:collapse;width:100%;font-size:14px}.team-roster-table th,.team-roster-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:12px 14px}.team-roster-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#666);background:var(--surface,transparent);font-size:12px;font-weight:600}.team-roster-primary{font-weight:500;display:block}.team-roster-meta{color:var(--text-muted,#666);margin-top:4px;font-size:12px;display:block}.team-roster-status{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-sm);border:1px solid var(--border);padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.team-roster-status.is-active{color:#166534;background:#dcfce7;border-color:#86efac}.team-roster-status.is-pending{color:#92400e;background:#fef3c7;border-color:#fcd34d}.team-roster-status.is-expired,.team-roster-status.is-revoked{color:var(--text-muted,#666);background:var(--surface,#f5f5f5)}.team-roster-actions{flex-wrap:wrap;gap:8px;display:flex}.team-roster-action-btn{white-space:nowrap}.team-roster-no-actions{color:var(--text-muted,#666)}@media (width<=768px){.team-roster-table thead{display:none}.team-roster-table tbody tr{background:var(--surface);color:var(--text-on-surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px;padding:14px 16px;display:block}.team-roster-table tbody tr:last-child{margin-bottom:0}.team-roster-table td{border-bottom:none;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.team-roster-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#666);flex-shrink:0;font-size:12px;font-weight:600}.team-roster-table td[data-label=Actions]{flex-direction:column;align-items:stretch}.team-roster-table td[data-label=Actions]:before{margin-bottom:4px}.team-roster-actions{flex-direction:column}.team-roster-action-btn{width:100%;min-height:44px}}.team-updates-list{flex-direction:column;gap:10px;display:flex}.team-updates-list-item{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}@media (width<=768px){.team-updates-list-item{background:var(--surface);color:var(--text-on-surface);border:1px solid var(--border);border-radius:var(--radius-md)}}.team-updates-list-item.is-pinned{border-color:var(--border-strong,var(--border))}.team-updates-list-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.team-updates-list-item h2{margin:0;font-size:1.05rem}.team-updates-pinned-badge,.team-updates-home-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--header-title-color,var(--text-on-surface));background:var(--play-type-selector-bg,var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.team-updates-list-meta{color:var(--text-muted,#666);margin:0 0 10px;font-size:12px}.team-updates-list-body{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.5}.team-updates-list-actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.team-updates-editor{max-width:720px}.team-updates-editor-form{gap:var(--space-md);flex-direction:column;display:flex}.team-updates-editor-body{resize:vertical;min-height:160px;font-family:inherit;line-height:1.5}.team-updates-pin-row{flex-direction:column;gap:10px;margin:0;display:flex}.team-updates-pin-label{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.team-updates-pin-label input{cursor:pointer;width:16px;height:16px;margin:0}.team-updates-editor-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=768px){.team-updates-list-item{flex-direction:column}.team-updates-list-actions{flex-direction:row;width:100%}}.wristband-card-face{box-sizing:border-box;color:#111;background:#fff;border:1px dashed #333;overflow:hidden}.wristband-card-table{border-collapse:collapse;table-layout:fixed;border-spacing:0;width:100%;height:100%}.wristband-card-table th,.wristband-card-table td{vertical-align:middle;text-align:center;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #000;margin:0;padding:1px 3px;font-size:8px;line-height:1.2;overflow:hidden}.wristband-card-table th{font-size:9px;font-weight:700}.wristband-card-number-col{width:2ch;min-width:2ch;max-width:2ch;padding-left:1px;padding-right:1px}.wristband-card-name-col{width:auto}.wristband-card-cut-buffer{box-sizing:content-box;padding:.5in;display:inline-block}.wristband-editor-preview .wristband-card-cut-buffer{background:#ebebeb;outline:1px dashed #999}@media print{.wristband-card-face{border:1px dashed #000}.wristband-card-cut-buffer{box-sizing:content-box;padding:.5in}.wristband-card-table th,.wristband-card-table td{border:1px solid #000!important}}.wristband-play-selector{flex-direction:column;gap:8px;display:flex}.wristband-play-selector-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.wristband-play-selector-header h3{margin:0;font-size:14px}.wristband-play-selector-empty{color:var(--text-muted,#666);margin:0;font-size:13px}.wristband-play-selector-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wristband-play-selector-item{background:var(--surface-muted,#f5f5f5);border:1px solid var(--border,#ddd);border-radius:var(--radius-sm,4px);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.wristband-play-selector-actions{flex-shrink:0;gap:4px;display:flex}.btn-small{min-height:26px;padding:2px 8px;font-size:11px}.wristband-print-sheet{box-sizing:border-box;page-break-after:always;background:#fff;margin:0 auto}.wristband-print-grid{width:100%;height:100%;display:grid}.wristband-print-slot{box-sizing:border-box;justify-content:center;align-items:center;padding:0;display:flex}.wristband-print-slot .wristband-card-cut-buffer{box-sizing:content-box;padding:.5in}.wristband-print-slot .wristband-card-face{border:1px dashed #000;flex-shrink:0}@media print{@page{size:letter portrait;margin:0}body{background:#fff;margin:0}.wristband-print-sheet{box-shadow:none;margin:0}}.wristband-card-list{flex-direction:column;gap:10px;display:flex}.wristband-card-list-item{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}@media (width<=768px){.wristband-card-list-item,.wristband-editor-form,.wristband-editor-preview,.wristband-print-view{background:var(--surface);color:var(--text-on-surface);border:1px solid var(--border);border-radius:var(--radius-md)}}.wristband-card-list-item h2{margin:0 0 4px;font-size:1rem}.wristband-card-list-item p{color:#555;margin:0;font-size:12px}.wristband-card-list-actions{flex-wrap:wrap;gap:6px;display:flex}.wristband-editor{gap:var(--space-lg);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;max-width:900px;display:grid}.wristband-editor-form{padding:var(--space-md);flex-direction:column;gap:14px;display:flex}.wristband-editor-size-row,.wristband-editor-headings{grid-template-columns:1fr 1fr;gap:12px;display:grid}.wristband-editor-actions,.wristband-print-actions{flex-wrap:wrap;gap:8px;display:flex}.wristband-editor-preview{padding:var(--space-md)}.wristband-editor-preview h2{margin:0 0 8px;font-size:1rem}.wristband-editor-preview-meta,.wristband-print-meta{color:#555;margin:0 0 12px;font-size:12px}.wristband-print-view{max-width:900px;padding:var(--space-md)}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block!important}.wristband-page{background:#fff;min-height:auto}}@media (width<=900px){.wristband-editor{grid-template-columns:1fr}}.main-app{flex-direction:column;height:100svh;display:flex;overflow:hidden}.main-app-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.main-app-body>.app,.main-app-body>.wristband-page,.main-app-body>.admin-templates-page,.main-app-body>.team-updates-page,.main-app-body>.team-messaging-page,.main-app-body>.team-calendar-page,.main-app-body>.team-hub-page,.main-app-body>.team-management-page{flex:1;height:100%;min-height:0;overflow:hidden}.main-app-body>.wristband-page,.main-app-body>.team-management-page{overflow:auto}.main-app-playbook-deep-link-status,.main-app-playbook-deep-link-error{flex-shrink:0;margin:0;padding:8px 16px;font-size:14px}.main-app-playbook-deep-link-status{color:var(--text-muted);background:var(--surface-muted,#0000000a)}.main-app-playbook-deep-link-error{color:var(--danger,#b42318);background:#b4231814;border-bottom:1px solid #b4231833}@media (width<=768px){.main-app{height:auto;min-height:100svh;overflow:hidden auto}.main-app-body{flex:auto;overflow:visible}.main-app-body>.team-hub-page,.main-app-body>.team-updates-page,.main-app-body>.team-messaging-page,.main-app-body>.team-calendar-page,.main-app-body>.team-management-page,.main-app-body>.wristband-page,.main-app-body>.admin-templates-page{height:auto;min-height:0;overflow:visible}.main-app-body>.app{flex:auto;min-height:50vh;overflow:visible}}.app-theme-light{--app-bg:#f0f0f0;--canvas-bg:#f0f0f0;--header-bg:#fff;--header-border:#e0e0e0;--header-title-color:#143d14;--header-text:#3d5240;--header-text-muted:#6b7c6e;--header-divider:#e0e0e0;--sidebar-bg:#fafafa;--sidebar-header-bg:#fff;--sidebar-border:#e5e5e5;--sidebar-section-title:#2a3d2c;--sidebar-drawing-tools-bg:#2d6a2d14;--sidebar-reopen-bg:#2d6a2d;--sidebar-reopen-hover:#3d8a3d;--text-light:#1a2a1c;--text-muted:#5a6e5c;--surface-card:#fff;--surface-card-border:#e0e0e0;--border:#e5e5e5;--border-strong:#c5ccc6;--surface-hover:#f0f4f0;--panel-toggle-bg:#f0f0f0;--panel-toggle-hover:#e8e8e8;--panel-toggle-title:#2a3d2c;--field-card-bg:#fff;--field-card-border:#e0e0e0;--field-card-shadow:0 2px 16px #0000001a;--play-type-selector-bg:#f0f0f0}@media (width>=769px){.app-theme-light{--app-bg:#f2f7f2;--canvas-bg:#f2f7f2}}.app-theme-dark{--app-bg:#143d14;--canvas-bg:#143d14;--header-bg:linear-gradient(180deg, #1a4d1a 0%, #143d14 100%);--header-border:#ffffff1f;--header-title-color:#f0c040;--header-text:#edf5ed;--header-text-muted:#b8d4b8;--header-divider:#ffffff26;--sidebar-bg:#0003;--sidebar-header-bg:#143d14;--sidebar-border:#ffffff1f;--sidebar-section-title:#f0c040;--sidebar-drawing-tools-bg:#2d6a2d47;--sidebar-reopen-bg:#2d6a2d;--sidebar-reopen-hover:#3d8a3d;--text-light:#edf5ed;--text-muted:#b8d4b8;--surface-card:#ffffff0f;--surface-card-border:#ffffff24;--border:#ffffff1f;--border-strong:#2d6a2d;--surface-hover:#f0f7f0;--panel-toggle-bg:#0000001f;--panel-toggle-hover:#0003;--panel-toggle-title:#f0c040;--field-card-bg:transparent;--field-card-border:transparent;--field-card-shadow:none;--play-type-selector-bg:#0003}:root{--grass-dark:#143d14;--grass-mid:#2d6a2d;--grass-light:#3d8a3d;--gold:#f0c040;--gold-border:#c9a020;--gold-text:#2a2000;--gold-ring:#f0c04047;--block-orange:#c45c00;--block-orange-dark:#8b4000;--danger:#a83232;--surface:#fff;--surface-hover:#f0f7f0;--surface-muted:#e8ece8;--surface-card:#ffffff0f;--surface-card-border:#ffffff24;--text-light:#edf5ed;--text-muted:#b8d4b8;--text-on-surface:#143d14;--text-disabled:#7a8f7a;--border:#ffffff1f;--border-strong:#2d6a2d;--shadow-sm:0 1px 4px #0000002e;--shadow-md:0 4px 16px #00000038;--radius-sm:6px;--radius-md:10px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;color:var(--text-on-surface);background-color:var(--app-bg,#f0f0f0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{overflow-x:clip}body{min-width:320px;margin:0;overflow-x:clip}#root{width:100%;min-height:100svh}button{font-family:inherit}
