.app-update{width:100%;margin:18px 0 0;padding:12px 14px;border:1px solid #d9e1e5;border-radius:8px;background:#ffffffd9;color:#3c5964;text-align:left;font-size:12px;line-height:1.6}.app-update-row{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center}.app-installed{font-weight:650;margin-right:auto}.app-update button,.app-update a{font:inherit;color:#235d50;background:#e5f3ed;border:1px solid #bbd5c8;border-radius:5px;padding:6px 10px;min-height:34px;text-decoration:none;cursor:pointer}.app-update button:disabled{opacity:.6;cursor:default}.app-update button:focus-visible,.app-update a:focus-visible{outline:2px solid #e0551f;outline-offset:2px}.app-update p{margin:7px 0 0;color:#607781;font-size:12px}.app-update ul{margin:6px 0 0;padding-left:18px}.app-update [hidden]{display:none}.touch-layout-safe-area{position:fixed;inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);visibility:hidden;pointer-events:none}.touch-layout-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#08111deb;color:#e2eaf2;font-family:system-ui,sans-serif;overscroll-behavior:contain}.touch-layout-preview{position:absolute;top:0;right:0;bottom:0;left:0}.touch-layout-preview [data-control]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.touch-layout-preview .tc-weapon-bar{display:flex}.touch-layout-preview .tc-weapon{display:grid;place-items:center;box-sizing:border-box}.touch-layout-preview .layout-selected{outline:2px dashed #83efd4;outline-offset:4px}.touch-layout-panel{position:absolute;top:max(6px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(360px,calc(100vw - 24px));box-sizing:border-box;border:1px solid #7694ad66;border-radius:12px;padding:9px 12px;background:#111e2bf5;box-shadow:0 4px 24px #0006;font-size:12px}.touch-layout-heading,.touch-layout-slider,.touch-layout-actions{display:flex;align-items:center;gap:10px}.touch-layout-heading{justify-content:space-between;margin-bottom:7px}.touch-layout-panel select,.touch-layout-panel button,.touch-layout-launch{font:inherit;color:#e2eaf2;border:1px solid #ffffff38;background:#23384b;border-radius:6px;padding:6px 8px;cursor:pointer}.touch-layout-heading select{width:155px}.touch-layout-slider{margin:5px 0}.touch-layout-slider span{width:40px}.touch-layout-slider input{flex:1;min-width:0;accent-color:#75dbc8}.touch-layout-slider output{width:36px;text-align:right;font-variant-numeric:tabular-nums}.touch-layout-actions{margin-top:7px}.touch-layout-actions button{flex:1}.touch-layout-actions button:last-child{background:#256b62}.touch-layout-panel small{display:block;color:#a9becd;margin-top:6px;font-size:10px}.touch-layout-launch{width:100%;padding:9px}.settings-row input[type=checkbox]{width:20px;height:20px;accent-color:#75dbc8}[data-open-feedback]{cursor:pointer}.feedback-entry{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid #597b85;border-radius:6px;background:#172a32;color:#c9e3e6;font:13px/1.3 system-ui,sans-serif}.feedback-entry:hover{background:#25434d}.feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:22000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overscroll-behavior:contain;padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#060f19df;color:#e7eff3;font:14px/1.6 system-ui,Microsoft YaHei,sans-serif;touch-action:pan-y}.feedback-overlay[hidden],.feedback-overlay [hidden]{display:none!important}.feedback-dialog{box-sizing:border-box;width:min(100%,600px);margin:auto 0;padding:22px;border:1px solid #4b6373;border-radius:12px;background:#13212c;box-shadow:0 16px 48px #0008;text-align:left}.feedback-dialog *{box-sizing:border-box}.feedback-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.feedback-dialog h2{margin:0;color:#edf6fa;font-size:21px;line-height:1.4}.feedback-dialog header p{margin:5px 0 0;color:#a8bfce;font-size:13px}.feedback-dialog button{min-height:40px;padding:8px 12px;border:1px solid #58788c;border-radius:6px;background:#203c4e;color:#e5f1f7;font:inherit;font-size:13px;line-height:1.4;cursor:pointer}.feedback-dialog .feedback-close{padding:4px 10px;min-width:40px;font-size:24px;background:transparent}.feedback-dialog button:disabled{opacity:.55;cursor:default}.feedback-dialog button:hover:not(:disabled){filter:brightness(1.15)}.feedback-dialog :focus-visible{outline:2px solid #85dfc2;outline-offset:3px}.feedback-connection{padding:10px 12px;margin:16px 0;border-radius:6px;color:#c5d8e2;background:#1d3240;font-size:12px}.feedback-dialog fieldset{min-width:0;padding:0;margin:0;border:0}.feedback-field{display:grid;gap:5px;margin-top:12px;color:#d4e4ed;font-size:13px}.feedback-dialog select,.feedback-dialog textarea{width:100%;min-height:42px;padding:10px;border:1px solid #526c7c;border-radius:6px;background:#0d1b25;color:#eef5f8;font:16px/1.5 system-ui,sans-serif;touch-action:auto;user-select:text;-webkit-user-select:text}.feedback-dialog textarea{resize:vertical;max-height:42vh}.feedback-dialog textarea::placeholder{color:#839eaf;font-size:14px}.feedback-draft-row{display:flex;justify-content:space-between;gap:12px;margin:5px 0 13px;color:#8eafbf;font-size:11px}.feedback-count{white-space:nowrap}.feedback-include{display:flex;align-items:center;gap:9px;cursor:pointer}.feedback-include input{width:18px;height:18px;accent-color:#89dbb6}.feedback-help{margin:4px 0 10px;color:#a4bfce;font-size:12px}.feedback-preview{border:1px solid #365363;border-radius:6px;padding:8px 12px}.feedback-preview summary{cursor:pointer;font-size:12px}.feedback-dialog .feedback-refresh{margin:10px 0 0;min-height:34px;padding:6px 10px;font-size:12px}.feedback-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,monospace;color:#aac7d6;max-height:200px;overflow-y:auto;user-select:text;-webkit-user-select:text}.feedback-status{margin:12px 0;color:#a4e4c5;font-size:13px;overflow-wrap:anywhere}.feedback-status.error{color:#ffc0ad}.feedback-status:empty{margin:14px 0 0}.feedback-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.feedback-dialog .feedback-submit{margin-left:auto;background:#85d9b5;border-color:#85d9b5;color:#122a22;font-weight:700}.feedback-copy-fallback{display:block;margin-top:14px;font-size:12px;color:#b9d1df}.feedback-copy-fallback textarea{margin-top:6px;font-size:12px}@media(max-width:460px),(max-height:500px){.feedback-overlay{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.feedback-dialog{padding:14px}.feedback-field{margin-top:8px}.feedback-connection{margin:10px 0;padding:8px}.feedback-dialog .feedback-submit{flex-grow:1}}.campus-nav-launch{cursor:pointer;pointer-events:auto!important;z-index:810!important}.touch-device #hud.campus-nav-layer{z-index:810}#mission-bearing[hidden]{display:none}.campus-nav-hud{position:fixed;z-index:810;max-width:174px;display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid #91e5cf55;border-radius:7px;background:#102129dc;color:#e5f1ee;font:11px/1.3 system-ui,sans-serif;text-align:left;cursor:pointer;pointer-events:auto}#mp-minimap.campus-nav-launch,#mp-hud .campus-nav-hud{z-index:14!important}.campus-nav-hud[hidden]{display:none}.campus-nav-hud>span:last-child{min-width:0}.campus-nav-hud strong,.campus-nav-hud small{display:block}.campus-nav-hud strong{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campus-nav-hud small{color:#b5d6ca;font-size:9px;margin-top:2px}.campus-nav-arrow{flex:0 0 15px;color:#7bf0d0;font-size:21px;text-align:center}.campus-nav-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:grid;place-items:center;padding:8px;box-sizing:border-box;background:#07121dcc;color:#e4edf4;font:13px/1.4 system-ui,sans-serif}.campus-nav-panel{box-sizing:border-box;width:min(710px,calc(100vw - 24px));max-height:calc(100dvh - 16px);overflow:auto;padding:12px;border:1px solid #7896af66;border-radius:12px;background:#142331;box-shadow:0 12px 40px #0008}.campus-nav-heading,.campus-nav-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.campus-nav-panel p{margin:4px 0 8px;color:#b2c5d3;font-size:11px}.campus-nav-body{display:flex;gap:12px;align-items:flex-start}.campus-nav-body canvas{flex-shrink:0;border:1px solid #ffffff24;border-radius:6px;cursor:pointer}.campus-nav-targets{flex:1;min-width:0;max-height:min(302px,calc(100dvh - 148px));overflow-y:auto;overscroll-behavior:contain}.campus-nav-panel button{font:inherit;color:#e5edf5;background:#253d50;border:1px solid #ffffff26;border-radius:6px;padding:7px 10px;cursor:pointer}.campus-nav-panel button:disabled{opacity:.5;cursor:default}.campus-nav-targets button{width:100%;text-align:left;margin-bottom:5px}.campus-nav-targets button.selected{border-color:#70dec3;background:#255347}.campus-nav-targets small{display:block;margin-top:3px;font-size:10px;color:#afc8d8}.campus-nav-actions{margin-top:8px;justify-content:flex-end}@media(max-height:420px){.campus-nav-panel{padding:8px}.campus-nav-panel button{padding:5px 8px}}.map-preview{display:flex;align-items:center;gap:12px;text-align:left;margin:12px 0;padding:10px;border:1px solid #d9e2e6;border-radius:8px;background:#f4f8fa;color:#314b57}.map-preview[hidden],.recent-maps[hidden]{display:none}.map-preview>img{width:160px;height:90px;object-fit:cover;border-radius:5px;flex-shrink:0;background:#dce6ec}.map-preview-copy{min-width:0}.map-preview strong{display:block;font-size:14px;line-height:1.4}.map-preview p{margin:5px 0 7px;font-size:12px;line-height:1.6;color:#576d77}.map-tags{display:flex;flex-wrap:wrap;gap:5px}.map-tags span{border-radius:4px;padding:2px 6px;color:#276351;background:#e0f0e9;font-size:11px;white-space:nowrap}#level-buttons .level-btn{flex-direction:row;justify-content:flex-start;gap:8px;padding:8px;text-align:left;min-height:76px}.level-btn>img{flex-shrink:0;width:56px;height:48px;object-fit:cover;border-radius:4px;background:#dce6ec}.level-btn.locked>img{opacity:.65}.map-card-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.map-card-name{font-size:13px}.recent-maps{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0;text-align:left;color:#5c707c;font-size:12px}.recent-maps button{font:inherit;color:#315e68;border:1px solid #cbdce1;border-radius:5px;padding:7px 9px;min-height:34px;background:#fff;cursor:pointer}.recent-maps button:disabled{opacity:.55;cursor:default}.recent-maps button:focus-visible{outline:2px solid #e0551f;outline-offset:2px}@media(max-width:640px){.map-preview>img{width:120px;height:80px}.map-preview{gap:9px;padding:8px}.level-btn>img{width:48px;height:44px}.map-card-name{font-size:12px}}@media(max-width:360px){.map-preview>img{width:90px;height:76px}#level-buttons .level-btn{flex-direction:column;text-align:center}.level-btn>img{width:100%;height:54px}}
