:root{--bg:#0f1412;--bg-elevated:#18201c;--bg-soft:#22302a;--line:#31433b;--text:#e8efe9;--muted:#9aada3;--accent:#d4a017;--accent-2:#7dce9a;--danger:#e26d6d;--shadow:0 16px 40px rgba(0,0,0,0.28)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top,#24352c 0,transparent 42%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:24px 0 64px}.hq-page{display:grid;grid-gap:16px;gap:16px;width:min(1200px,calc(100vw - 32px));margin:0 auto}.hq-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.hq-sidebar{position:-webkit-sticky;position:sticky;top:24px;padding:16px}.hq-sidebar-title{margin:0 0 8px;font-weight:700;font-size:15px;line-height:1.3}.hq-nav{display:grid;grid-gap:4px;gap:4px}.hq-nav-item{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:none;color:var(--muted);cursor:pointer;text-decoration:none}.hq-nav-item:hover{color:var(--text);background:rgba(255,255,255,.03)}.hq-nav-item.active{background:var(--bg-soft);border-color:var(--line);color:var(--text);font-weight:600}.hq-content{display:grid;grid-gap:16px;gap:16px;min-width:0}@media (max-width:760px){.hq-layout{grid-template-columns:1fr}.hq-sidebar{position:static}.hq-nav{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}.header{justify-content:space-between;margin-bottom:32px}.header,.header__end{display:flex;align-items:center;gap:16px}.header__end{min-width:0}.auth-shell{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 160px)}.auth-card{width:min(460px,100%)}.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;object-fit:cover;color:#fff;font-size:13px;font-weight:600;line-height:1;flex-shrink:0}.user-menu{position:relative;flex-shrink:0}.user-menu__trigger{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:inherit;cursor:pointer}.user-menu__name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.user-menu__dropdown{position:absolute;top:calc(100% + 8px);right:0;left:auto;z-index:30;display:grid;min-width:180px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--bg-elevated);box-shadow:var(--shadow)}.user-menu__item{display:block;width:100%;padding:10px 12px;border:0;border-radius:8px;background:none;color:var(--text);text-align:left;text-decoration:none;cursor:pointer}.user-menu__item:hover{background:rgba(255,255,255,.06)}.page-shell{display:grid;grid-gap:16px;gap:16px}.page-back{margin:0;color:var(--muted);font-size:14px}.profile-page{align-items:start}.profile-avatar-row{display:grid;grid-gap:12px;gap:12px;margin-bottom:16px}.brand{display:flex;flex-direction:column;gap:2px}.brand strong{letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.nav{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.nav a,.nav button.link{color:var(--muted);background:none;border:0;padding:0;cursor:pointer}.nav a.active,.nav a:hover,.nav button.link:hover{color:var(--text)}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.card.subtle{background:var(--bg-soft);box-shadow:none;padding:14px}.hero{padding:36px;margin-bottom:20px}.hint,.muted{color:var(--muted)}.warn-text{color:var(--warn,#b45309)}.ok-text{color:var(--ok,#15803d)}.team-toast{position:fixed;bottom:24px;left:50%;z-index:1000;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:min(420px,calc(100vw - 32px));padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--bg);box-shadow:0 12px 32px color-mix(in srgb,var(--text) 18%,transparent),0 2px 8px color-mix(in srgb,var(--text) 8%,transparent);transform:translateX(-50%);animation:team-toast-in .28s ease-out}.team-toast__message{margin:0;font-size:14px;line-height:1.45}.team-toast__dismiss{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}@keyframes team-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.content-flash{border-radius:8px;animation:content-flash-pulse 2s ease-out}@keyframes content-flash-pulse{0%{background:color-mix(in srgb,var(--accent) 18%,transparent)}to{background:transparent}}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;background:var(--bg-soft);color:var(--accent-2);font-size:12px}.badge.warn{color:var(--accent)}.badge.danger{color:var(--danger)}.badge.ok{color:#2f9e44}.badge.countdown{justify-content:center;min-width:7.25ch;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-variant-numeric:tabular-nums;font-feature-settings:"tnum","tnum";letter-spacing:.02em}.badge.countdown--open{min-width:auto;font-family:inherit;font-variant-numeric:normal;font-feature-settings:normal;letter-spacing:normal}.form.compact{gap:8px}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.form{display:grid;grid-gap:12px;gap:12px}.field,label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:14px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;border:1px solid var(--line);background:#101714;color:var(--text);border-radius:12px;padding:10px 12px}.checkbox-field{position:relative;display:flex;align-items:flex-start;gap:12px;cursor:pointer;color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-field-input{position:absolute;top:1px;left:0;width:22px;height:22px;margin:0;padding:0;opacity:0;cursor:pointer}.checkbox-field-box{flex-shrink:0;width:22px;height:22px;margin-top:1px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#101714;color:transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.checkbox-field-box svg{display:block}.checkbox-field-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.checkbox-field-label{font-size:14px;line-height:1.4;font-weight:500}.checkbox-field-hint{color:var(--muted);font-size:13px;line-height:1.45}.checkbox-field:hover .checkbox-field-box{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.checkbox-field-input:focus-visible+.checkbox-field-box{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-2) 35%,transparent);border-color:var(--accent-2)}.checkbox-field-input:checked+.checkbox-field-box{background:var(--accent);border-color:var(--accent);color:#1b1403}.checkbox-field-input:disabled+.checkbox-field-box{opacity:.45}.checkbox-field-input:disabled~.checkbox-field-copy{opacity:.65}.checkbox-field:has(.checkbox-field-input:disabled){cursor:not-allowed}textarea{min-height:110px;resize:vertical}.button,a.button,button.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:10px 14px;background:var(--accent);color:#1b1403;font-weight:700;cursor:pointer}.button.secondary,a.button.secondary{background:var(--bg-soft);color:var(--text)}.button.danger{background:#5d2a2a;color:#ffd7d7}.button.icon-button{min-width:40px;padding:10px 12px;font-size:18px;line-height:1}.error{color:var(--danger)}.placement-points-list{display:grid;grid-gap:8px;gap:8px}.placement-points-row{display:grid;grid-gap:6px;gap:6px}.placement-points-row>label{color:var(--muted);font-size:14px}.placement-points-field{display:flex;align-items:center;gap:8px}.placement-points-field input{flex:1 1;min-width:0}.placement-points-field .button.danger.icon-button{flex-shrink:0;min-width:36px;width:36px;height:36px;padding:0;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted)}.placement-points-field .button.danger.icon-button:not(:disabled):hover{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:#ffb4b4}.placement-points-field .button.danger.icon-button:disabled{opacity:.35;cursor:not-allowed}.code-block{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.code-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 110px;grid-gap:8px;gap:8px;align-items:end}@media (max-width:640px){.code-row{grid-template-columns:1fr}.level-form-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.level-form-tab{justify-content:center}}.code-row .button.icon-button,.code-row .search-select-trigger,.code-row input,.code-row select{min-height:42px}.list{display:grid;grid-gap:12px;gap:12px}.list .card:hover,.list a.card:hover{border-color:#4d6a5c}h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.1}h2{font-size:22px}.confirm-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.62)}.confirm-dialog{width:min(100%,420px);margin:0}.confirm-actions{justify-content:flex-end;margin-top:16px}.modal-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.62)}.modal-panel{width:min(100%,480px);max-height:min(90vh,900px);margin:0;display:flex;flex-direction:column}.modal-panel.wide{width:min(100%,820px);max-height:min(92vh,920px)}.modal-panel.full-height{height:calc(100dvh - 40px);max-height:calc(100dvh - 40px)}.modal-panel.full-height .modal-head{flex-shrink:0}.modal-panel.full-height .modal-body{flex:1 1;min-height:0;display:flex;flex-direction:column}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-head h2{margin:0;flex:1 1}.modal-close{padding:6px 10px;min-width:36px}.modal-body{overflow-y:auto;min-height:0}.modal-body:has(.level-form){overflow:hidden;display:flex;flex-direction:column}.level-form{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1 1}.level-form-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.level-form-tabs{display:flex;flex-wrap:wrap;gap:6px}.level-form-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font-size:14px;text-decoration:none}.level-form-tab:hover{color:var(--text);background:rgba(255,255,255,.03)}.level-form-tab.active{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--bg-soft);font-weight:600}.level-form-tab .badge{font-size:11px;padding:2px 7px}.level-form-scroll{overflow-y:auto;min-height:0;flex:1 1;padding-right:4px}.level-form-panel{display:none}.level-form-panel.active{display:block}.level-form-footer{flex-shrink:0;display:grid;grid-gap:10px;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.level-form-footer-actions{display:flex;justify-content:flex-end}.level-form-footer .error{margin:0}.form-section{display:grid;grid-gap:12px;gap:12px}.form-section-head h3{margin:0 0 4px;font-size:16px}.form-section-head .hint{margin:0}.form-section-body{display:grid;grid-gap:12px;gap:12px}.code-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.level-card.draggable{cursor:-webkit-grab;cursor:grab}.level-card.dragging{opacity:.55}.level-card.drag-over{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.level-card.locked{opacity:.92}.level-card-head{align-items:center}.level-actions{justify-content:space-between;width:100%}.level-handle{color:var(--muted);font-size:18px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 4px}.datetime-picker{position:relative}.datetime-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:#101714;color:var(--text);border-radius:12px;padding:10px 12px;cursor:pointer;text-align:left}.datetime-picker-trigger.empty{color:var(--muted)}.datetime-picker-trigger svg{flex-shrink:0;color:var(--accent)}.datetime-picker-popover{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:min(300px,calc(100vw - 48px));padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--bg-elevated);box-shadow:var(--shadow)}.datetime-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.datetime-picker-head .icon-button{min-width:34px;padding:6px 8px;font-size:20px}.datetime-picker-head strong{flex:1 1;text-align:center;font-size:15px}.datetime-picker-grid,.datetime-picker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.datetime-picker-weekdays{margin-bottom:6px;color:var(--muted);font-size:12px;text-align:center}.datetime-picker-day{aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:none;color:var(--text);cursor:pointer;font-size:14px}.datetime-picker-day.empty{pointer-events:none}.datetime-picker-day.today{border-color:var(--line)}.datetime-picker-day.selected{background:var(--accent);color:#1b1403;font-weight:700}.datetime-picker-day:not(.empty):hover{background:var(--bg-soft)}.datetime-picker-day.selected:hover{background:var(--accent)}.datetime-picker-time{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.datetime-picker-time-label{color:var(--muted);font-size:13px;font-weight:600}.datetime-picker-time-row{display:flex;align-items:center;gap:6px;flex-shrink:0}.datetime-picker-time-input{width:3.25rem;min-width:3.25rem;padding:8px 6px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-moz-appearance:textfield}.datetime-picker-time-input::-webkit-inner-spin-button,.datetime-picker-time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.datetime-picker-time-sep{color:var(--muted);font-size:18px;font-weight:600;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.datetime-picker-actions,.datetime-picker-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.datetime-picker-actions{justify-content:space-between}.datetime-picker-actions .button{flex:1 1}.search-select{position:relative;display:grid;grid-gap:6px;gap:6px}.search-select-caption{color:var(--muted);font-size:14px}.search-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:#101714;color:var(--text);border-radius:12px;padding:10px 12px;cursor:pointer;text-align:left}.search-select-trigger.empty strong{color:var(--muted);font-weight:400}.search-select-trigger:disabled{opacity:.6;cursor:not-allowed}.search-select-trigger.open svg{transform:rotate(180deg)}.search-select-trigger svg{flex-shrink:0;color:var(--muted);transition:transform .15s ease}.search-select-value{display:grid;grid-gap:2px;gap:2px;min-width:0}.search-select-value strong{font-weight:600}.search-select-value .muted{font-size:12px}.search-select-popover.compact{padding-top:8px}.search-select-popover{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:100%;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--bg-elevated);box-shadow:var(--shadow)}.search-select-search{margin-bottom:8px}.search-select-options{display:grid;grid-gap:4px;gap:4px;max-height:240px;overflow-y:auto}.search-select-option{display:grid;grid-gap:2px;gap:2px;width:100%;border:1px solid transparent;border-radius:10px;background:none;color:var(--text);padding:10px 12px;text-align:left;cursor:pointer}.search-select-option .muted{font-size:12px}.search-select-option.selected{border-color:var(--accent)}.search-select-option.highlighted,.search-select-option:hover{background:var(--bg-soft)}.search-select-option:disabled{opacity:.5;cursor:not-allowed}.search-select-empty{margin:0;padding:8px 4px}.organizer-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 12px}.organizer-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:var(--bg-elevated);color:var(--muted);padding:8px 14px;cursor:pointer}.organizer-tab.active{background:var(--bg-soft);color:var(--text);border-color:var(--accent)}.organizer-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.06);font-size:12px;font-weight:700}.organizer-hint{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.game-card{display:grid;grid-gap:12px;gap:12px}.game-card.status-live{border-color:var(--accent);box-shadow:0 0 0 1px rgba(212,160,23,.25)}.game-card-main{display:grid;grid-gap:6px;gap:6px;color:inherit}.game-card-main h2{margin:0}.game-card-actions{display:flex;flex-wrap:wrap;gap:8px}.rich-text{line-height:1.55;overflow-wrap:anywhere}.rich-text p{margin:0 0 .75em}.rich-text p:last-child{margin-bottom:0}.rich-text img,.rich-text-editor__content img{display:block;width:auto;height:auto;max-width:min(var(--rich-image-max-width,320px),100%);border-radius:8px;margin:.75em 0}.rich-text img[data-image-size=compact],.rich-text-editor__content img[data-image-size=compact]{--rich-image-max-width:160px}.rich-text img:not([data-image-size]),.rich-text img[data-image-size=medium],.rich-text-editor__content img:not([data-image-size]),.rich-text-editor__content img[data-image-size=medium]{--rich-image-max-width:320px}.rich-text img[data-image-size=large],.rich-text-editor__content img[data-image-size=large]{--rich-image-max-width:480px}.rich-text img[data-image-size=full],.rich-text-editor__content img[data-image-size=full]{--rich-image-max-width:100%}.rich-text img[data-image-zoom=true],.rich-text-editor__content img[data-image-zoom=true]{cursor:zoom-in}.rich-text-editor__toolbar-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:8px;border-top:1px solid var(--line);background:rgba(255,255,255,.02)}.rich-text-editor__toolbar-sub .rich-text-editor__toolbar-caption{margin-right:2px}.rich-text-editor__toolbar-image .rich-image-toolbar__size .search-select{display:inline-flex;flex-direction:row;align-items:center;gap:6px}.rich-text-editor__toolbar-image .rich-image-toolbar__size .search-select-caption{font-size:12px;color:var(--muted)}.rich-text-editor__toolbar-image .rich-image-toolbar__size .search-select-trigger{min-width:7rem;height:34px;padding:0 10px;border-radius:8px}.rich-text-editor__toolbar-image .rich-image-toolbar__size .search-select-value strong{font-size:13px;font-weight:500}.rich-text-editor__toolbar-image .checkbox-field.rich-image-toolbar__zoom{align-items:center;gap:8px;min-height:34px;margin-left:2px}.rich-text-editor__toolbar-image .checkbox-field.rich-image-toolbar__zoom .checkbox-field-box{margin-top:0}.rich-text-editor__toolbar-image .checkbox-field.rich-image-toolbar__zoom .checkbox-field-label{font-size:13px;font-weight:400;color:var(--muted);line-height:1.2}.rich-text-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.82)}.rich-text-lightbox__image{display:block;max-width:min(96vw,1200px);max-height:90vh;width:auto;height:auto;border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.35)}.rich-text-lightbox__close{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer}.rich-text-lightbox__close:hover{background:rgba(255,255,255,.24)}.rich-text .tableWrapper,.rich-text-editor__content .tableWrapper{overflow-x:auto;margin:.75em 0}.rich-text table,.rich-text-editor__content table{border-collapse:collapse;table-layout:fixed;width:100%;max-width:100%;margin:0}.rich-text td,.rich-text th,.rich-text-editor__content td,.rich-text-editor__content th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;box-sizing:border-box;position:relative}.rich-text-editor__content td:not([data-colwidth]):not(.column-resize-dragging),.rich-text-editor__content th:not([data-colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)}.rich-text-editor__content th{background:rgba(255,255,255,.06);font-weight:600}.rich-text-editor__content td{background:rgba(255,255,255,.02)}.rich-text-editor__content td>p,.rich-text-editor__content th>p{margin:0;min-height:1.25em}.rich-text-editor__content .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(212,160,23,.18);pointer-events:none}.rich-text a{color:var(--accent-2);text-decoration:underline}.rich-text-editor{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--bg-elevated);overflow:hidden}.rich-text-editor__toolbar{display:grid;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}.rich-text-editor__toolbar-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px}.rich-text-editor__toolbar-caption{font-size:12px;font-weight:600;color:var(--accent);margin-right:2px}.rich-text-editor__toolbar-sub button{font-size:12px;height:34px}.rich-text-editor__toolbar button{min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);color:var(--text);cursor:pointer}.rich-text-editor__toolbar button.is-active{background:rgba(212,160,23,.2);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(212,160,23,.35)}.rich-text-editor__toolbar button.is-active em,.rich-text-editor__toolbar button.is-active strong,.rich-text-editor__toolbar button.is-active u{color:inherit}.rich-text-editor__content{--default-cell-min-width:72px;min-height:120px;padding:12px 14px;outline:none;overflow-x:auto}.rich-text-editor__content a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.rich-text-editor__content a:hover{color:var(--accent)}.rich-text-editor__content:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.assignment-editor{display:grid;grid-gap:12px;gap:12px}.assignment-editor__surface{min-height:220px}.assignment-editor__gate{display:grid;grid-gap:12px;gap:12px;padding:12px}.assignment-editor__gate-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.assignment-editor__hint{margin:0}.rich-text-editor__toolbar-sep{width:1px;align-self:stretch;margin:4px;background:var(--border)}.gated-inline{display:inline;border-bottom:2px dotted var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border-radius:4px;padding:0 2px;cursor:pointer}.level-hint-card,.level-hints-editor{display:grid;grid-gap:12px;gap:12px}.level-hint-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.level-hints-player{margin-bottom:12px}.level-hints-player>strong{display:block;margin-bottom:6px;font-size:14px}.level-hints-player-list{display:grid;grid-gap:6px;gap:6px}.level-hint-player{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}.level-hint-player-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:22px}.level-hint-player-meta,.level-hint-player-side{display:flex;align-items:center;gap:6px;min-height:22px}.level-hint-player-meta{flex-wrap:wrap;min-width:0}.level-hint-player .badge{padding:2px 8px}.level-hint-player-side{justify-content:flex-end;flex-shrink:0}.level-hint-player-note,.level-hint-player-penalty{color:var(--muted);font-size:12px;line-height:1.35}.level-hint-player .button.compact{min-width:auto;height:auto;min-height:0;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.35;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-2) 35%,var(--line));background:color-mix(in srgb,var(--accent-2) 10%,var(--bg-soft));color:var(--accent-2)}.level-hint-player .button.compact:hover:not(:disabled){background:color-mix(in srgb,var(--accent-2) 18%,var(--bg-soft))}.level-hint-player .button.compact:disabled{opacity:.55;cursor:wait}.level-hint-player-text{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:14px}.level-hint-player-text p{margin-bottom:.4em}.play-panel-tabs{margin:12px 0 4px}.play-panel-layout{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.play-panel-level,.play-panel-level-list{display:grid;grid-gap:12px;gap:12px}.play-panel-level-list{gap:16px}.play-panel-level-title{margin:0}.play-panel-level-picker{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}.play-panel-level-picker:hover .play-panel-level-title{color:var(--accent)}.play-panel-sidebar{position:-webkit-sticky;position:sticky;top:16px;align-self:start;z-index:2}.play-panel-code-card{display:grid;grid-gap:12px;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft);max-height:calc(100vh - 32px);overflow:auto}.play-panel-code-form{margin:0}.play-panel-code-field{display:grid;grid-gap:6px;gap:6px}.play-panel-code-row{display:flex;align-items:center;gap:6px}.play-panel-code-row input{flex:1 1 auto;min-width:0;padding:8px 10px}.play-panel-code-submit{flex-shrink:0;min-width:0;min-height:0;height:auto;padding:8px 11px;border-radius:10px;font-size:16px;font-weight:700;line-height:1}.play-panel-code-history{display:grid;grid-gap:8px;gap:8px;padding-top:4px;border-top:1px solid var(--line)}.play-panel-code-history>strong{font-size:13px}.code-attempt-empty{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.code-attempt-list{--code-attempt-row-size:48px;--code-attempt-visible-rows:10;list-style:none;margin:0;display:grid;grid-gap:6px;gap:6px;max-height:calc(var(--code-attempt-visible-rows) * var(--code-attempt-row-size) + (var(--code-attempt-visible-rows) - 1) * 6px);overflow-y:auto;overscroll-behavior:contain;padding:0 2px 0 0}.code-attempt{box-sizing:border-box;min-height:var(--code-attempt-row-size);padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.02);font-size:13px;line-height:1.35}.code-attempt--correct{border-color:color-mix(in srgb,#2f9e44 55%,var(--line));background:color-mix(in srgb,#2f9e44 12%,transparent)}.code-attempt--trap,.code-attempt--wrong{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 12%,transparent)}.code-attempt--duplicate{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent)}.code-attempt-line{display:block}.code-attempt-line code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.code-attempt-sep{margin:0 4px;color:var(--muted)}.code-attempt-time{display:block;margin-top:2px;color:var(--muted);font-size:11px}.board-manual-levels{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.board-manual-levels-title{font-size:13px}.board-manual-levels-list{display:grid;grid-gap:6px;gap:6px;margin-top:6px}.board-manual-level{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.02)}.board-manual-level-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;font-size:13px;margin-bottom:4px}.location-map-picker{display:grid;grid-gap:10px;gap:10px}.location-map-address-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.location-map-address-field{flex:1 1 220px;min-width:0;display:grid;grid-gap:6px;gap:6px}.location-map-geocode-btn{flex-shrink:0;min-height:42px}.location-map-geocode-hint{margin:0}.location-map-picker-map{height:280px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#101714}.location-map-picker-loading{margin:0}.location-map-picker-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.location-map-picker-actions .hint{margin:0;flex:1 1 180px}.location-map-marker{width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid #1b1403;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent);cursor:-webkit-grab;cursor:grab}.location-map-marker:active{cursor:-webkit-grabbing;cursor:grabbing}.location-map-picker-map .maplibregl-ctrl-top-right{top:10px;right:10px}.location-map-picker-map .maplibregl-ctrl-group{background:#eef2ef;border:1px solid color-mix(in srgb,#1b1403 18%,transparent);border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.38);overflow:hidden}.location-map-picker-map .maplibregl-ctrl-group button{width:36px;height:36px;background:#eef2ef;border:0;border-radius:0}.location-map-picker-map .maplibregl-ctrl-group button+button{border-top:1px solid color-mix(in srgb,#1b1403 14%,transparent)}.location-map-picker-map .maplibregl-ctrl-group button:hover{background:color-mix(in srgb,var(--accent) 28%,#eef2ef)}.location-map-picker-map .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:brightness(.15)}.location-map-picker-map .maplibregl-ctrl-group button:hover .maplibregl-ctrl-icon{filter:brightness(0)}.play-standing-summary{margin:0 0 12px;color:var(--muted)}.board-team-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px}.board-team-filter-check{margin:0}.board-team-filter-count{font-size:13px}.board-team-card{padding:10px 12px}.board-team-summary{list-style:none;cursor:pointer}.board-team-summary::-webkit-details-marker{display:none}.board-team-body{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.board-team-head{gap:6px}.board-team-head .badge{font-size:12px;padding:2px 8px}.board-team-status{margin:4px 0 0;font-size:13px;line-height:1.35}.board-team-tools{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 8px;margin-top:6px}.board-team-tools .board-toolbar{flex:1 1 220px;min-width:0}.board-toolbar{display:grid;grid-gap:6px;gap:6px}.board-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.board-toolbar-group{display:inline-flex;align-items:center;gap:4px}.board-toolbar-hint{flex-wrap:nowrap}.board-toolbar-note{margin:0;font-size:12px;line-height:1.3}.board-toolbar-inline{margin:0;font-size:12px;white-space:nowrap}.board-input{width:auto;min-width:0;padding:5px 8px;border-radius:8px;font-size:13px;line-height:1.2}.board-input-minutes{width:48px}.board-input-points{width:56px}.board-input-hint{flex:1 1 120px;min-width:0}.board-btn{min-width:0;min-height:0;height:auto;padding:5px 9px;border-radius:8px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}.play-panel-head{flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px}.play-panel-head h2{margin:0}.play-history-list{margin-top:12px}.coordinates-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.static-location-map{margin:12px 0 8px}.static-location-map__preview{display:block;max-width:100%;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);text-decoration:none}.static-location-map__preview:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.static-location-map__canvas{position:relative;width:100%;background:#e8ecef;overflow:hidden}.static-location-map--compact{margin:8px 0}.static-location-map--compact .static-location-map__marker{width:14px;height:14px;margin:-14px 0 0 -7px}.play-history-item+.play-history-item{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.play-history-location{margin-top:8px}.play-history-location .coordinates-row{margin-top:6px}.game-center-map{margin-top:16px}.play-panel-scheduled-level{margin:12px 0;padding:12px}.board-team-scheduled{margin:6px 0 0;font-size:.92rem}.static-location-map__tile{position:absolute;height:auto;aspect-ratio:1;display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.static-location-map__marker{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-18px 0 0 -9px;border-radius:50% 50% 50% 0;background:#e53935;border:2px solid #fff;box-shadow:0 1px 4px rgb(0 0 0/35%);transform:rotate(-45deg);pointer-events:none}.static-location-map__caption{margin:6px 0 0;font-size:.8125rem;line-height:1.35}.copy-line{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:100%}.copy-line__value{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;word-break:break-all}.copy-line__copy{flex-shrink:0;min-width:32px;height:32px;padding:0}.level-timeline{display:grid;grid-gap:12px;gap:12px;margin-bottom:16px}.level-timeline--empty{padding:16px}.level-timeline-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.level-timeline-scroll{overflow-x:auto;padding-bottom:4px}.level-timeline-canvas{--timeline-label-width:108px;--timeline-track-min-width:612px;display:grid;grid-template-columns:var(--timeline-label-width) minmax(var(--timeline-track-min-width),max-content);grid-column-gap:12px;column-gap:12px;grid-row-gap:8px;row-gap:8px;width:max-content;min-width:100%}.level-timeline-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:stretch}.level-timeline-row--axis{align-items:end}.level-timeline-row-label{color:var(--muted);font-size:13px;line-height:1.3;padding:8px 0}.level-timeline-axis{min-width:var(--timeline-track-min-width)}.level-timeline-axis-inner{position:relative;height:34px;border-bottom:1px solid var(--line)}.level-timeline-tick{position:absolute;bottom:6px;transform:translateX(-50%);color:var(--muted);font-size:11px;line-height:1.2;white-space:nowrap}.level-timeline-tick--start{transform:translateX(0)}.level-timeline-tick--end{transform:translateX(-100%)}.level-timeline-marker{position:absolute;bottom:-1px;width:2px;height:10px;transform:translateX(-1px);pointer-events:none;border-radius:1px}.level-timeline-marker--start{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.level-timeline-marker--end{background:var(--danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 25%,transparent)}.level-timeline-track{position:relative;min-height:112px;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid var(--line)}.level-timeline-track-body{display:flex;flex-wrap:nowrap;align-items:stretch;gap:8px;min-height:112px;padding:8px;width:max-content;min-width:100%}.level-timeline-track-body--chain-only .level-timeline-main-chain:not(.level-timeline-main-chain--compact){flex:0 0 auto}.level-timeline-track-inner{position:relative;flex:1 0 auto;min-width:var(--timeline-track-min-width);min-height:96px}.level-timeline-main-chain{display:flex;align-items:stretch;gap:8px;min-width:0}.level-timeline-main-chain--compact{flex:0 0 auto;flex-shrink:0}.level-timeline-main-chain:not(.level-timeline-main-chain--compact){flex:1 0 auto;flex-wrap:nowrap}.level-timeline-chain-arrow{display:inline-flex;flex-shrink:0;align-items:center;color:var(--muted);font-size:18px;padding:0 2px}.level-timeline-empty{margin:0;padding:12px;color:var(--muted);font-size:13px}.level-timeline-block{display:grid;grid-gap:4px;gap:4px;align-content:start;padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:var(--bg-soft);color:inherit;text-align:left;cursor:pointer;overflow:hidden;min-height:92px;box-sizing:border-box}.level-timeline-block--chain{position:relative;flex:0 0 auto;width:180px;min-width:150px;max-width:220px}.level-timeline-block--bonus,.level-timeline-block--scheduled{position:absolute;top:4px;min-width:128px;max-height:calc(100% - 8px)}.level-timeline-block:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.level-timeline-block--main{background:color-mix(in srgb,var(--accent) 12%,var(--bg-soft))}.level-timeline-block--bonus{background:color-mix(in srgb,#c49a2e 16%,var(--bg-soft));border-color:color-mix(in srgb,#c49a2e 35%,var(--line))}.level-timeline-block--live{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.level-timeline-block-order{font-size:11px;color:var(--muted)}.level-timeline-block-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;line-height:1.35;overflow:hidden;overflow-wrap:anywhere;margin:0;font-weight:600}.level-timeline-block-meta{font-size:11px;color:var(--muted)}.level-timeline-block-schedule{font-size:10px;color:var(--muted);line-height:1.25}.level-timeline-legend{margin:0}@media (max-width:760px){.play-panel-layout{grid-template-columns:1fr}.play-panel-sidebar{position:-webkit-sticky;position:sticky;top:0}.play-panel-code-card{max-height:none}}.gated-inline.is-selected{outline:2px solid var(--warn);outline-offset:1px}.gated-inline__content{font-weight:600;color:var(--warn)}.button.compact{min-width:34px;height:34px;padding:0 10px}