.submission-modal{max-width:780px;background:#151c28;border-color:rgba(255,255,255,.14)}
.submission-body{max-height:calc(100vh - 176px);overflow-y:auto;padding-bottom:12px}
.submission-modal .modal-h{background:linear-gradient(90deg,#282f3d,#181f2b)}
.submission-intro{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding:11px 13px;border:1px solid rgba(255,58,58,.2);border-radius:10px;background:rgba(255,58,58,.055)}
.submission-intro b{color:#fff;font-size:13px}.submission-intro span{color:#8e9aab;font-size:11px;line-height:1.6}
.submission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.submission-grid-wide{grid-column:1/-1}
.submission-body .inp,.submission-body select.inp{height:42px}.submission-body select.inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8390a2 50%),linear-gradient(135deg,#8390a2 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.submission-map-card{margin:3px 0 16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(8,12,18,.48);overflow:hidden}
.submission-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.08)}
.submission-map-head>div:first-child{display:flex;flex-direction:column;gap:3px}.submission-map-head b{color:#fff;font-size:12px}.submission-map-head span{color:#798698;font-size:10px}
.submission-coordinate-tabs{display:flex;gap:5px;padding:3px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.025)}
.submission-coordinate-tab{padding:6px 9px;border-radius:6px;color:#8390a2;font-size:10.5px;font-weight:800;transition:.16s}.submission-coordinate-tab.on{background:rgba(255,58,58,.14);color:#ff8a8a}
.submission-map-stage{position:relative;height:310px;display:grid;place-items:center;overflow:hidden;cursor:crosshair;background-color:#0a1018;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:28px 28px}
.submission-map-stage img{width:100%;height:100%;object-fit:contain;display:none;pointer-events:none;user-select:none}
.submission-map-empty{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#687588;font-size:11.5px;text-align:center}
.submission-map-marker{position:absolute;z-index:3;width:34px;height:34px;transform:translate(-50%,-50%);place-items:center;border-radius:50%;border:2px solid rgba(255,255,255,.92);box-shadow:0 6px 16px rgba(0,0,0,.5);pointer-events:none}
.submission-map-marker i{font-style:normal;font-size:10px;font-weight:900;color:#fff}
.submission-map-marker.skill{background:linear-gradient(135deg,#ff4b58,#a91624)}.submission-map-marker.character{background:linear-gradient(135deg,#58b9ff,#245eb3)}
.submission-map-hint{padding:9px 13px;color:#8290a3;font-size:10.5px;border-top:1px solid rgba(255,255,255,.07)}
.submission-upload-field{margin-top:2px}.submission-upload{display:flex!important;align-items:center;gap:12px;padding:12px 13px;border:1px dashed rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.018);cursor:pointer;transition:.16s}.submission-upload:hover{border-color:rgba(255,58,58,.55);background:rgba(255,58,58,.055)}.submission-upload input{display:none}.submission-upload b{flex:none;padding:7px 10px;border-radius:7px;background:rgba(255,58,58,.13);color:#ff8a8a;font-size:11px}.submission-upload span{color:#7f8c9e;font-size:10.5px;line-height:1.5}
.submission-image-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.submission-image-list:empty{display:none}
.submission-image-item{position:relative;height:104px;border:1px solid rgba(255,255,255,.1);border-radius:9px;overflow:hidden;background:#0c121b}.submission-image-item img{width:100%;height:100%;object-fit:cover}.submission-image-item button{position:absolute;right:6px;top:6px;width:24px;height:24px;border-radius:7px;background:rgba(0,0,0,.66);color:#fff;font-size:16px;line-height:1}.submission-image-item span{position:absolute;left:0;right:0;bottom:0;padding:14px 7px 5px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#d7dce4;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.submission-label-row{display:flex;align-items:center;justify-content:space-between}.submission-label-row span{color:#687588;font-size:10px}.submission-textarea{min-height:104px!important}.submission-form-hint{margin-bottom:4px;padding:8px 10px;border-radius:7px;background:rgba(255,255,255,.025)}
@media(max-width:640px){.submission-modal{max-width:100%}.submission-body{max-height:calc(100vh - 150px);padding:15px 14px 8px}.submission-grid{grid-template-columns:1fr}.submission-grid-wide{grid-column:auto}.submission-map-head{align-items:flex-start;flex-direction:column}.submission-coordinate-tabs{width:100%}.submission-coordinate-tab{flex:1}.submission-map-stage{height:230px}.submission-image-list{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-image-item{height:92px}.submission-upload{align-items:flex-start;flex-direction:column;gap:7px}.submission-modal .modal-f{padding-bottom:14px}}

/* polished create-point workspace */
.submission-modal{max-width:1080px;display:flex;flex-direction:column}
.submission-topbar{padding:14px 22px;background:linear-gradient(90deg,#202837,#141b26)}
.submission-title-wrap{display:flex;flex-direction:column;gap:3px}.submission-kicker{color:#ff7c88;font:800 9px/1 var(--num);letter-spacing:1.8px}.submission-title-wrap h3{gap:8px}.submission-topbar .modal-x{flex:none}
.submission-body{max-height:calc(100vh - 168px);padding:18px 22px 12px}
.submission-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(270px,.78fr);gap:16px;align-items:start}
.submission-main{min-width:0}
.submission-section{margin-bottom:14px;padding:15px;border:1px solid rgba(255,255,255,.095);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.submission-section-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.07)}
.submission-step{width:31px;height:31px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(255,58,58,.13);border:1px solid rgba(255,58,58,.26);color:#ff8490;font:800 10px/1 var(--num);box-shadow:0 5px 14px rgba(255,58,58,.1)}
.submission-section-head h4{margin:0;color:#fff;font-size:13.5px;font-weight:800}.submission-section-head p{margin:4px 0 0;color:#788598;font-size:10.5px;line-height:1.45}
.submission-body .submission-grid{gap:0 14px}.submission-body .field:last-child{margin-bottom:0}
.submission-aside{position:sticky;top:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.submission-aside-hero{padding:16px;border:1px solid rgba(255,58,58,.2);border-radius:14px;background:radial-gradient(circle at 100% 0,rgba(255,58,58,.16),transparent 55%),#151d29}.submission-aside-hero span{color:#ff7e89;font:800 9px/1 var(--num);letter-spacing:1.4px}.submission-aside-hero h4{margin:9px 0 6px;color:#fff;font-size:16px}.submission-aside-hero p{margin:0;color:#8895a8;font-size:11px;line-height:1.65}
.submission-aside-card{padding:14px;border:1px solid rgba(255,255,255,.085);border-radius:13px;background:rgba(7,11,17,.34)}.submission-aside-card h4{margin:0 0 11px;color:#fff;font-size:12px}.submission-aside-card p{margin:0;color:#8b98aa;font-size:10.5px;line-height:1.7}
.submission-aside-card ol{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.submission-aside-card li{position:relative;padding-left:24px}.submission-aside-card li::before{content:"";position:absolute;left:4px;top:5px;width:8px;height:8px;border-radius:50%;background:#ff4655;box-shadow:0 0 0 4px rgba(255,70,85,.1)}.submission-aside-card li b{display:block;color:#dfe6f0;font-size:11px}.submission-aside-card li span{display:block;margin-top:2px;color:#788598;font-size:9.5px}
.submission-aside-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.submission-aside-tags span{padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075);color:#9aa7b8;font-size:9.5px}
.submission-map-card{margin:0}.submission-map-stage{height:330px}.submission-map-hint{padding:10px 14px;background:rgba(255,255,255,.018)}
.submission-upload-field{margin:0}.submission-footer{align-items:center;justify-content:space-between;gap:16px;padding:12px 22px 15px;border-top:1px solid rgba(255,255,255,.08);background:rgba(11,16,24,.78)}
.submission-actions{display:flex;gap:9px;flex:none}.submission-form-hint{max-width:680px;margin:0}.submission-footer .btn{min-width:96px;justify-content:center}
body.create-route{overflow:hidden}
body.create-route .submission-mask{padding:0;background:#0b1018}
body.create-route .submission-modal{width:100%;height:100vh;max-width:none;border:0;border-radius:0;box-shadow:none}
body.create-route .submission-body{flex:1;max-height:none;min-height:0;overflow-y:auto;padding:20px 24px}
body.create-route .submission-footer{padding-right:24px;padding-left:24px}
@media(max-width:860px){.submission-layout{grid-template-columns:1fr}.submission-aside{position:static}.submission-modal{max-width:100%}.submission-body{max-height:calc(100vh - 156px);padding:15px 14px 10px}.submission-map-stage{height:250px}.submission-footer{align-items:stretch;flex-direction:column;padding:12px 14px 14px}.submission-actions{width:100%}.submission-actions .btn{flex:1}.submission-form-hint{max-width:none}}
/* create route: fixed header + two-column workspace */
body.create-route{overflow:hidden!important}
body.create-route .submission-mask{top:70px!important;bottom:0!important;height:auto!important;padding:0!important;z-index:90!important;background:#0b1018!important}
body.create-route .submission-modal{position:relative!important;width:100%!important;height:100%!important;max-width:none!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.create-route .submission-topbar{display:none!important}
body.create-route .submission-body{flex:1!important;height:auto!important;max-height:none!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0!important;background:#0b1018!important}
body.create-route .submission-layout{display:grid!important;grid-template-columns:350px minmax(0,1fr)!important;gap:0!important;align-items:start!important;min-height:100%!important}
body.create-route .submission-main{display:contents!important}
body.create-route .submission-main>.submission-section{grid-column:1!important;margin:0!important;padding:16px 20px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;border-radius:0!important;background:#151c28!important;box-shadow:none!important}
body.create-route .submission-main>.submission-section:nth-child(1){grid-row:1!important}
body.create-route .submission-main>.submission-section:nth-child(3){grid-row:2!important}
body.create-route .submission-main>.submission-section:nth-child(4){grid-row:3!important;padding-bottom:94px!important}
body.create-route .submission-main>.submission-section:nth-child(2){grid-column:2!important;grid-row:1 / span 3!important;position:sticky!important;top:0!important;height:calc(100vh - 70px)!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#151c28!important}
body.create-route .submission-main>.submission-section:nth-child(2)>.submission-section-head{display:none!important}
body.create-route .submission-main>.submission-section:nth-child(2) .submission-map-card{flex:1!important;height:100%!important;margin:0!important;border:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;background:#151c28!important}
body.create-route .submission-main>.submission-section:nth-child(2) .submission-map-head{padding:18px 20px!important;background:rgba(21,28,40,.96)!important}
body.create-route .submission-main>.submission-section:nth-child(2) .submission-map-stage{flex:1!important;height:auto!important;min-height:0!important;background-color:#0a1018!important}
body.create-route .submission-main>.submission-section:nth-child(2) .submission-map-hint{padding:11px 20px!important;border-top:1px solid rgba(255,255,255,.08)!important;background:#151c28!important}
body.create-route .submission-aside{display:none!important}
body.create-route .submission-body .submission-grid{grid-template-columns:1fr!important;gap:0!important}
body.create-route .submission-footer{position:absolute!important;left:0!important;bottom:0!important;width:350px!important;z-index:20!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:12px 20px!important;background:#111722!important;border-top:1px solid rgba(255,255,255,.09)!important;box-shadow:0 -12px 26px rgba(0,0,0,.22)!important}
body.create-route .submission-form-hint{max-width:none!important;font-size:10px!important;line-height:1.5!important}
body.create-route .submission-actions{width:100%!important}
body.create-route .submission-actions .btn{flex:1!important}
@media(max-width:900px){body.create-route .submission-layout{grid-template-columns:280px minmax(0,1fr)!important}body.create-route .submission-footer{width:280px!important}}
@media(max-width:720px){body.create-route .submission-layout{display:block!important}body.create-route .submission-main>.submission-section:nth-child(2){position:relative!important;height:420px!important}body.create-route .submission-footer{position:sticky!important;width:100%!important}}

/* create route: simplified reference-style form */
body.create-route .submission-main>.submission-section>.submission-section-head{display:none!important}
body.create-route .submission-main>.submission-section{padding:14px 20px!important;background:#151c28!important}
body.create-route .submission-body .submission-grid{grid-template-columns:1fr 1fr!important;gap:0 10px!important}
body.create-route .submission-body .submission-grid>.field:first-child{grid-column:1 / -1!important}
body.create-route .submission-body .submission-grid-wide{grid-column:auto!important}
body.create-route .submission-body .field{margin-bottom:13px!important}
body.create-route .submission-body .field>label,body.create-route .submission-body .submission-label-row>label{font-size:11.5px!important;color:#dfe6f0!important}
body.create-route .submission-body .inp{height:40px!important;font-size:12px!important}
body.create-route .submission-section{margin-bottom:0!important;border-radius:0!important;box-shadow:none!important;background:#151c28!important}
body.create-route .submission-upload{padding:12px!important}
body.create-route .submission-upload b{font-size:11px!important}
body.create-route .submission-upload span{font-size:10px!important}
body.create-route .submission-footer .submission-form-hint{display:none!important}
body.create-route .submission-footer .submission-form-hint.err{display:block!important;padding:8px 10px!important;border:1px solid rgba(255,58,58,.28)!important;border-radius:7px!important;background:rgba(255,58,58,.10)!important;color:#ff9a9a!important}
body.create-route .submission-footer{padding-top:14px!important;padding-bottom:14px!important}

/* create route: map card selector */
.submission-map-select{position:relative;width:100%}
.submission-map-trigger{width:100%;height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.035);color:#dfe6f0;text-align:left;cursor:pointer}
.submission-map-trigger:hover{border-color:rgba(255,58,58,.42);background:rgba(255,58,58,.055)}
.submission-map-trigger img{width:28px;height:28px;flex:none;border-radius:6px;object-fit:cover;display:none}
.submission-map-trigger span:nth-child(2){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.submission-map-arrow{color:#8592a5;transition:transform .18s}
.submission-map-trigger[aria-expanded="true"] .submission-map-arrow{transform:rotate(180deg)}
.submission-map-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);width:300px;max-height:286px;overflow-y:auto;z-index:60;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#131b27;box-shadow:0 18px 42px rgba(0,0,0,.46)}
.submission-map-menu.open{display:block}
.submission-map-option{width:100%;display:flex;align-items:center;gap:10px;padding:7px;border:0;border-radius:8px;background:transparent;color:#dfe6f0;text-align:left;cursor:pointer}
.submission-map-option:hover,.submission-map-option.on{background:rgba(255,58,58,.12)}
.submission-map-option img{width:72px;height:44px;flex:none;border-radius:7px;object-fit:cover;background:#0b1119}
.submission-map-option span{min-width:0;flex:1;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.submission-map-empty-option{padding:16px 10px;text-align:center;color:#798698;font-size:11px}
body.create-route .submission-map-select-field{position:relative;z-index:8}
@media(max-width:720px){.submission-map-menu{width:min(300px,calc(100vw - 42px));right:auto;left:0}}

/* create route: mode slider + polished map scrollbar */
.submission-mode-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;height:40px;padding:3px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.035);overflow:hidden}
.submission-mode-slider{position:absolute;left:3px;top:3px;width:calc(50% - 3px);height:calc(100% - 6px);border-radius:6px;background:linear-gradient(135deg,#ff4957,#d92d3b);box-shadow:0 5px 14px rgba(255,58,58,.25);transition:transform .22s ease}
.submission-mode-switch.defense .submission-mode-slider{transform:translateX(100%)}
.submission-mode-option{position:relative;z-index:1;height:32px;border:0;border-radius:6px;background:transparent;color:#8996a8;font-size:11.5px;font-weight:700;cursor:pointer;transition:color .18s}
.submission-mode-option.on{color:#fff}
.submission-map-menu{scrollbar-width:thin;scrollbar-color:#ff5360 rgba(255,255,255,.06)}
.submission-map-menu::-webkit-scrollbar{width:7px}
.submission-map-menu::-webkit-scrollbar-track{margin:5px 0;border-radius:999px;background:rgba(255,255,255,.045)}
.submission-map-menu::-webkit-scrollbar-thumb{border:2px solid #131b27;border-radius:999px;background:linear-gradient(180deg,#ff5260,#c92735)}
.submission-map-menu::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ff6b77,#e03543)}

/* map selector: align menu and scrollbar to left */
.submission-map-menu{left:0!important;right:auto!important;direction:rtl!important;padding-left:11px!important;padding-right:6px!important}
.submission-map-option{direction:ltr!important;text-align:left!important}
.submission-map-menu::-webkit-scrollbar{width:7px}
.submission-map-menu::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}
.submission-map-menu::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff5260,#c92735)}

/* map selector: refined chevron arrow */
.submission-map-arrow{width:24px!important;height:24px!important;display:grid!important;place-items:center!important;flex:none!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:7px!important;background:rgba(255,255,255,.045)!important;color:#8f9bad!important;transform:none!important;transition:background .18s ease,border-color .18s ease,color .18s ease!important}
.submission-map-arrow svg{width:14px!important;height:14px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;transition:transform .22s ease!important}
.submission-map-trigger:hover .submission-map-arrow{border-color:rgba(255,58,58,.35)!important;background:rgba(255,58,58,.08)!important;color:#ff7682!important}
.submission-map-trigger[aria-expanded="true"] .submission-map-arrow{border-color:rgba(255,58,58,.42)!important;background:rgba(255,58,58,.13)!important;color:#ff7d88!important}
.submission-map-trigger[aria-expanded="true"] .submission-map-arrow svg{transform:rotate(180deg)!important}

/* create route: hero avatar selector */
.submission-hero-trigger img{width:28px!important;height:28px!important;border-radius:50%!important;object-fit:cover!important}
.submission-hero-option img{width:44px!important;height:44px!important;border-radius:50%!important;object-fit:cover!important;background:#0b1119!important}
.submission-hero-option span{font-size:12px!important;font-weight:600!important}
.submission-hero-select-field{position:relative;z-index:8}

/* create route: hero avatar rounded-square */
.submission-hero-trigger img{border-radius:8px!important}
.submission-hero-option img{border-radius:10px!important}

/* create route: hero selector avatars only */
.submission-hero-menu{width:96px!important;padding-left:11px!important;padding-right:6px!important}
.submission-hero-option{justify-content:center!important;padding:6px!important}
.submission-hero-option span{display:none!important}
.submission-hero-option img{width:54px!important;height:54px!important;border-radius:10px!important}
.submission-hero-trigger img{border-radius:8px!important}
#submissionHeroTriggerName{min-width:0}

/* selector menus: show all items without internal scrolling */
.submission-map-menu{width:300px!important;max-height:none!important;overflow:visible!important;direction:ltr!important;padding:6px!important}
.submission-map-option{padding:4px 7px!important}
.submission-map-option img{width:64px!important;height:38px!important}
.submission-hero-menu{display:none!important;width:300px!important;max-height:none!important;overflow:visible!important;direction:ltr!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;padding:10px!important}
.submission-hero-menu.open{display:grid!important}
.submission-hero-option{display:grid!important;place-items:center!important;padding:4px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:10px!important;background:rgba(255,255,255,.025)!important}
.submission-hero-option:hover{background:rgba(255,58,58,.12)!important;border-color:rgba(255,58,58,.35)!important}
.submission-hero-option img{width:48px!important;height:48px!important;border-radius:9px!important}


/* create route: role-linked skill selector */
.submission-skill-select-field{position:relative;z-index:7}
.submission-skill-combo{position:relative;width:100%}
.submission-skill-input{padding-right:44px!important}
.submission-skill-input::placeholder{color:#6f7c90}
.submission-skill-toggle{position:absolute;right:7px;top:7px;width:26px;height:26px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.09);border-radius:7px;background:rgba(255,255,255,.045);color:#8f9bad;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.submission-skill-toggle .submission-map-arrow{width:18px!important;height:18px!important;display:grid!important;place-items:center!important;border:0!important;background:transparent!important}
.submission-skill-toggle:not(:disabled):hover{border-color:rgba(255,58,58,.35)!important;background:rgba(255,58,58,.08)!important;color:#ff7682!important}
.submission-skill-toggle[aria-expanded="true"]{border-color:rgba(255,58,58,.42)!important;background:rgba(255,58,58,.13)!important;color:#ff7d88!important}
.submission-skill-toggle[aria-expanded="true"] .submission-map-arrow svg{transform:rotate(180deg)!important}
.submission-skill-toggle:disabled{opacity:.42;cursor:not-allowed}
.submission-skill-menu{width:100%!important;max-height:none!important;overflow:visible!important;direction:ltr!important;left:0!important;right:auto!important;padding:6px!important}
.submission-skill-option{display:flex!important;align-items:center!important;gap:10px!important;min-height:44px!important;padding:6px 9px!important;border:1px solid transparent!important;border-radius:8px!important;direction:ltr!important}
.submission-skill-option:hover{background:rgba(255,58,58,.12)!important;border-color:rgba(255,58,58,.22)!important}
.submission-skill-option img{width:30px!important;height:30px!important;flex:none!important;border-radius:7px!important;object-fit:cover!important;background:#0b1119!important}
.submission-skill-option span{display:block!important;min-width:0!important;flex:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important;font-weight:600!important}


/* create route: no page scrollbar and themed map wheel */
html.create-route-root,html:has(body.create-route){height:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
html.create-route-root body,body.create-route{height:100vh!important;overflow:hidden!important;overscroll-behavior:none!important}
body.create-route .submission-body{scrollbar-width:none!important;-ms-overflow-style:none!important}
body.create-route .submission-body::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.submission-map-grid{display:none!important;width:min(300px,calc(100vw - 40px))!important;max-height:clamp(180px,calc(100vh - 250px),420px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:44px!important;gap:2px!important;direction:ltr!important;padding:6px 4px 6px 6px!important;scrollbar-width:thin!important;scrollbar-color:#ff5360 rgba(255,255,255,.065)!important}
.submission-map-grid.open{display:grid!important}
.submission-map-grid .submission-map-option{min-width:0!important;padding:3px 7px!important}
.submission-map-grid .submission-map-option img{width:64px!important;height:38px!important}
.submission-map-grid .submission-map-option span{font-size:12px!important}
.submission-map-grid::-webkit-scrollbar{width:8px!important}
.submission-map-grid::-webkit-scrollbar-track{margin:5px 0!important;border-radius:999px!important;background:rgba(255,255,255,.05)!important}
.submission-map-grid::-webkit-scrollbar-thumb{border:2px solid #131b27!important;border-radius:999px!important;background:linear-gradient(180deg,#ff5260,#c92735)!important}
.submission-map-grid::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ff6b77,#e03543)!important}


/* create route: selector stacking order */
body.create-route .submission-map-select-field{z-index:30!important}
body.create-route .submission-hero-select-field{z-index:20!important}
body.create-route .submission-skill-select-field{z-index:10!important}


/* hero and skill icons: square rounded and transparency-safe */
.submission-hero-option img{width:100%!important;height:auto!important;min-width:0!important;max-width:48px!important;max-height:48px!important;aspect-ratio:1 / 1!important;object-fit:contain!important;box-sizing:border-box!important;padding:1px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:10px!important;background:rgba(255,255,255,.035)!important}
.submission-hero-option:hover img{border-color:rgba(255,82,96,.32)!important;background:rgba(255,82,96,.07)!important}
.submission-hero-trigger img{width:28px!important;height:28px!important;aspect-ratio:1 / 1!important;object-fit:contain!important;box-sizing:border-box!important;padding:1px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important}
.submission-skill-option img{object-fit:contain!important;box-sizing:border-box!important;padding:1px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:8px!important;background:rgba(255,255,255,.03)!important}


/* hero avatar tiles: refined without layout changes */
.submission-hero-option{position:relative!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:11px!important;background:radial-gradient(circle at 50% 30%,rgba(255,82,96,.10) 0%,rgba(255,82,96,0) 68%),linear-gradient(145deg,rgba(255,255,255,.055) 0%,rgba(255,255,255,.012) 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 5px 14px rgba(0,0,0,.16)!important}
.submission-hero-option:hover{border-color:rgba(255,82,96,.36)!important;background:radial-gradient(circle at 50% 30%,rgba(255,82,96,.18) 0%,rgba(255,82,96,0) 70%),linear-gradient(145deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,.018) 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 7px 18px rgba(255,58,58,.14)!important}
.submission-hero-option img{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:9px!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))!important}


/* hero tiles: single outer frame with full hover fill */
.submission-hero-option{aspect-ratio:1 / 1!important;padding:0!important;overflow:hidden!important;border-radius:11px!important;background:radial-gradient(circle at 50% 30%,rgba(255,82,96,.10) 0%,rgba(255,82,96,0) 68%),linear-gradient(145deg,rgba(255,255,255,.055) 0%,rgba(255,255,255,.012) 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 5px 14px rgba(0,0,0,.16)!important}
.submission-hero-option img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))!important}
.submission-hero-option:hover,.submission-hero-option:focus-visible{border-color:#ff5a67!important;background:linear-gradient(135deg,#ff4957 0%,#d92d3b 100%)!important;box-shadow:0 7px 18px rgba(255,58,58,.30),inset 0 1px 0 rgba(255,255,255,.18)!important}
.submission-hero-option:hover img,.submission-hero-option:focus-visible img{background:transparent!important;border-color:transparent!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35)) brightness(1.04)!important}

/* submission images: reference-style vertical sections */
.submission-image-sections{display:flex!important;flex-direction:column!important;gap:18px!important;width:100%!important}
.submission-image-section{display:block!important;width:100%!important}
.submission-image-section-title{display:flex!important;align-items:center!important;margin:0 0 10px!important;color:#e0e0e0!important;font-size:16px!important;font-weight:500!important;line-height:1.3!important}
.submission-image-required{margin-left:8px!important;color:#ff3a3a!important;font-size:13px!important;font-weight:400!important}
.submission-image-drop{display:flex!important;align-items:stretch!important;flex-wrap:nowrap!important;gap:15px!important;width:100%!important;min-height:120px!important}
.submission-image-preview{display:flex!important;align-items:stretch!important;gap:15px!important;flex:1 1 100%!important;min-width:0!important}
.submission-image-preview:empty{display:none!important}
.submission-image-section.has-image .submission-image-preview{flex:1 1 calc(50% - 8px)!important;max-width:calc(50% - 8px)!important}
.submission-image-section.has-two-images .submission-image-preview{flex:1 1 100%!important;max-width:100%!important}
.submission-image-upload{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 100%!important;min-height:120px!important;padding:0!important;border:2px dashed rgba(255,255,255,.30)!important;border-radius:8px!important;background:rgba(255,255,255,.012)!important;color:rgba(255,255,255,.70)!important;text-align:center!important;cursor:pointer!important;transition:border-color .18s ease,background .18s ease,color .18s ease!important}
.submission-image-section.has-image .submission-image-upload{flex:1 1 calc(50% - 8px)!important;max-width:calc(50% - 8px)!important}
.submission-image-section.has-two-images .submission-image-upload{display:none!important}
.submission-image-upload:hover{border-color:rgba(255,82,96,.68)!important;background:rgba(255,58,58,.07)!important;color:#ff7581!important}
.submission-image-upload input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.submission-image-plus{margin-right:8px!important;font-size:24px!important;font-weight:400!important;line-height:1!important}
.submission-image-upload-text{font-size:16px!important;font-weight:400!important}
.submission-image-thumb{position:relative!important;flex:1 1 0!important;min-width:0!important;height:120px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:8px!important;overflow:hidden!important;background:#0c121b!important}
.submission-image-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}
.submission-image-thumb button{position:absolute!important;right:6px!important;top:6px!important;z-index:2!important;width:24px!important;height:24px!important;border-radius:7px!important;background:rgba(0,0,0,.68)!important;color:#fff!important;font-size:16px!important;line-height:1!important}
.submission-image-thumb span{position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:2!important;padding:15px 7px 5px!important;overflow:hidden!important;background:linear-gradient(transparent,rgba(0,0,0,.84))!important;color:#e4eaf2!important;font-size:9px!important;text-overflow:ellipsis!important;white-space:nowrap!important}
@media(max-width:480px){.submission-image-sections{gap:15px!important}.submission-image-drop{gap:10px!important;min-height:104px!important}.submission-image-preview{gap:10px!important}.submission-image-upload{min-height:104px!important}.submission-image-section.has-image .submission-image-preview,.submission-image-section.has-image .submission-image-upload{flex-basis:calc(50% - 5px)!important;max-width:calc(50% - 5px)!important}.submission-image-thumb{height:104px!important}.submission-image-section-title{font-size:15px!important}.submission-image-required{font-size:11px!important}}
@media(max-width:480px){.submission-image-section.has-two-images .submission-image-preview{flex-basis:100%!important;max-width:100%!important}}


/* submission images: uploaded preview stays left */
.submission-image-section.has-image .submission-image-preview{order:-1!important}
.submission-image-section.has-image .submission-image-upload{order:0!important}


/* create map: complete fit and reference-style draggable markers */
body.create-route .submission-map-stage{position:relative!important;overflow:hidden!important}
body.create-route .submission-map-stage #submissionMapImage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
.submission-marker-line{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:4!important;overflow:visible!important;pointer-events:none!important;display:none}
.submission-marker-line line{vector-effect:non-scaling-stroke!important}
.submission-marker-line #submissionMarkerLineGlow{stroke:rgba(255,58,58,.20)!important;stroke-width:6!important;stroke-linecap:round!important}
.submission-marker-line #submissionMarkerLine{stroke:#ff5c5c!important;stroke-width:2!important;stroke-linecap:round!important;stroke-dasharray:5 4!important;filter:drop-shadow(0 0 4px rgba(255,58,58,.65))!important}
.submission-map-marker{width:34px!important;height:34px!important;z-index:6!important;place-items:center!important;overflow:hidden!important;border:2px solid #ff3a3a!important;border-radius:50%!important;background:rgba(8,12,18,.78)!important;box-shadow:0 6px 16px rgba(0,0,0,.48),0 0 0 2px rgba(255,58,58,.10)!important;pointer-events:auto!important;cursor:grab!important;touch-action:none!important;user-select:none!important;transition:box-shadow .12s ease!important}
.submission-map-marker img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:50%!important;background:rgba(0,0,0,.24)!important;pointer-events:none!important}
.submission-map-marker.skill{border-color:#ff3a3a!important;background:rgba(255,58,58,.20)!important}
.submission-map-marker.character{border-color:#ff3a3a!important;background:rgba(255,58,58,.20)!important;box-shadow:0 6px 16px rgba(0,0,0,.48),0 0 0 2px rgba(255,58,58,.10)!important}
.submission-map-marker.dragging{cursor:grabbing!important;box-shadow:0 10px 24px rgba(0,0,0,.55),0 0 0 4px rgba(255,58,58,.16)!important}


/* create map: zoomable canvas and controls */
.submission-map-canvas{position:absolute!important;transform-origin:center center!important;transition:none!important;will-change:transform!important;z-index:2!important}
.submission-map-canvas.zooming{transition:transform .14s ease-out!important}
.submission-map-canvas #submissionMapImage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important}
.submission-map-controls{position:absolute!important;right:18px!important;bottom:18px!important;z-index:30!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important}
.submission-map-controls button{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;padding:0!important;border:1px solid rgba(255,58,58,.45)!important;border-radius:8px!important;background:rgba(12,18,27,.86)!important;color:#fff!important;font-size:18px!important;line-height:1!important;cursor:pointer!important;box-shadow:0 6px 16px rgba(0,0,0,.28)!important;transition:background .18s ease,border-color .18s ease,transform .18s ease!important}
.submission-map-controls button:hover{background:#ff3a3a!important;border-color:#ff5a67!important;transform:translateY(-1px)!important}
.submission-map-controls span{display:grid!important;place-items:center!important;min-width:46px!important;height:24px!important;padding:0 7px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:999px!important;background:rgba(12,18,27,.78)!important;color:#c8d2df!important;font-size:10px!important;font-weight:700!important}
.submission-map-marker{transform-origin:center center!important}
.submission-map-marker.dragging{box-shadow:0 10px 24px rgba(0,0,0,.55),0 0 0 4px rgba(255,58,58,.16)!important}


/* create map: left-button panning cursor */
.submission-map-canvas{cursor:grab!important}
.submission-map-stage.map-panning,.submission-map-stage.map-panning .submission-map-canvas{cursor:grabbing!important}
.submission-map-stage.map-panning .submission-map-canvas{transition:none!important}


/* interaction performance and defense color */
.submission-map-marker.dragging{transition:none!important}
.submission-mode-slider{transition:transform .22s ease,background .22s ease,box-shadow .22s ease!important}
.submission-mode-switch.defense .submission-mode-slider{background:linear-gradient(135deg,#38a8ff 0%,#1f64d8 100%)!important;box-shadow:0 5px 14px rgba(38,132,255,.32)!important}
.submission-mode-switch.defense .submission-mode-option.on{color:#fff!important}


/* interaction performance: compositor isolation */
.submission-map-stage{contain:layout paint!important;isolation:isolate!important}
.submission-map-canvas{backface-visibility:hidden!important;contain:layout paint style!important}
.submission-map-marker{backface-visibility:hidden!important;will-change:transform!important}


/* create route: remove underlying page compositing */
body.create-route>#homeView,body.create-route>#detailView,body.create-route>#profileView,body.create-route>#postDetailView,body.create-route>#publicUserView,body.create-route>#gamePreview{display:none!important}


/* QQ Browser software-compositing fallback */
html.qq-browser .submission-map-stage{contain:none!important;background-image:none!important;background-color:#0a1018!important;isolation:auto!important}
html.qq-browser .submission-map-canvas{contain:none!important;backface-visibility:visible!important;transition:none!important;will-change:transform!important}
html.qq-browser .submission-map-marker{backface-visibility:visible!important;box-shadow:0 2px 6px rgba(0,0,0,.35)!important;transition:none!important}
html.qq-browser .submission-marker-line line{filter:none!important}


/* map stage: reference background */
body.create-route .submission-main>.submission-section:nth-child(2) .submission-map-stage{background-color:#151c28!important;background-image:none!important}


/* drag interpolation for high-refresh displays */
.submission-map-marker.dragging,html.qq-browser .submission-map-marker.dragging{transition:none!important}

/* create route: remove black gaps between form sections */
body.create-route .submission-mask,
body.create-route .submission-body,
body.create-route .submission-layout {
  background-color: #151c28 !important;
}

/* ===== 创建点位：参考旧站的已有技能点位 ===== */
.submission-existing-legend{display:flex;align-items:center;gap:8px;color:#8794a6;font-size:10px;white-space:nowrap}
.submission-existing-legend[hidden]{display:none}
.submission-existing-legend span{display:inline-flex;align-items:center;gap:4px;color:inherit}
.submission-existing-legend i{display:block;width:7px;height:7px;border-radius:50%}
.submission-existing-legend i.skill{background:rgba(255,91,104,.9);box-shadow:0 0 0 2px rgba(255,91,104,.14)}
.submission-existing-legend b{color:#fff;font-weight:700}
.submission-existing-layer{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:visible}
.submission-existing-point{position:absolute;left:0;top:0;width:40px;height:40px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;z-index:3;transform-origin:center center;will-change:transform;transition:opacity .2s ease}
.submission-existing-point.is-dimmed{opacity:.2;pointer-events:none}
.submission-existing-point.is-highlighted{z-index:9}
.submission-existing-marker{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,58,58,.25);border:2px solid rgba(255,58,58,.6);overflow:hidden;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.submission-existing-marker img{width:24px;height:24px;display:block;object-fit:cover;pointer-events:none}
.submission-existing-marker i{font-style:normal;font-size:10px;font-weight:900;color:#fff}
.submission-existing-point:hover .submission-existing-marker{background:rgba(255,58,58,.5);border-color:rgba(255,58,58,.8);transform:scale(1.2)}
.submission-existing-tooltip{position:absolute;top:-10px;right:-10px;transform:translate(100%,-100%);width:220px;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(0,0,0,.88);box-shadow:0 4px 15px rgba(0,0,0,.3);color:#fff;font-size:12px;line-height:1.4;text-align:left;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:20}
.submission-existing-tooltip b{display:block;margin-bottom:6px;color:#ff3a3a;font-weight:600}
.submission-existing-tooltip span{display:block;margin-bottom:8px;color:#fff}
.submission-existing-tooltip em{display:block;color:#a0aec0;font-size:11px;font-style:italic}
.submission-existing-point:hover .submission-existing-tooltip{opacity:1;visibility:visible}
html.qq-browser .submission-existing-point,html.qq-browser .submission-existing-marker{transition:none!important}
@media(max-width:640px){.submission-existing-legend{gap:6px;font-size:10px}.submission-existing-point{width:36px;height:36px}.submission-existing-marker{width:28px;height:28px}.submission-existing-marker img{width:22px;height:22px}.submission-existing-tooltip{width:190px;padding:10px;font-size:11px}}
