@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--ink: #0a0c11;--panel: #11151d;--panel2: #171c27;--panel3: #1e2533;--line: rgba(255, 255, 255, .07);--line2: rgba(255, 255, 255, .13);--tx: #edeff5;--tx2: #9298a8;--tx3: #5a6275;--acc: #2d7bff;--acc2: #1856c6;--acc-soft: rgba(45, 123, 255, .14);--ok: #2bc58a;--warn: #e9b23b;--bad: #f1543d;--mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:var(--ink);color:var(--tx);font-size:14px}input,button,textarea,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff1c;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.eyebrow{font:600 9px/1 var(--mono);letter-spacing:1.5px;color:var(--tx3);text-transform:uppercase}.field-label{font:600 10px/1 var(--mono);letter-spacing:1px;color:var(--tx2);text-transform:uppercase;margin-bottom:8px;display:block}.input{width:100%;background:var(--panel2);border:1px solid var(--line2);border-radius:9px;color:var(--tx);padding:11px 13px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.input::placeholder{color:var(--tx3)}.btn{width:100%;background:var(--acc);color:#fff;border:1px solid var(--acc);border-radius:9px;padding:11px 14px;font-weight:800;font-size:13px;letter-spacing:.3px;cursor:pointer;transition:box-shadow .15s,background .15s,opacity .15s}.btn:hover{box-shadow:0 5px 16px #2d7bff80}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.add-carpet-panel .eyebrow{color:var(--tx2)}.add-carpet-panel__submit:disabled{background:#1e4f9f;border-color:#285fb8;color:#d8e5ff;opacity:1}.game-overview{display:flex;height:100%;min-height:0;background:var(--ink)}.game-overview__stage{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px;gap:12px}.game-overview__toolbar{display:flex;align-items:center;gap:18px;flex:none;flex-wrap:wrap}.game-overview__focus{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:9px 12px;border:1px solid var(--line2);border-radius:11px;background:var(--panel2)}.game-overview__focus-number{width:30px;height:30px;flex:none;display:grid;place-items:center;border:2px solid;border-radius:50%;background:var(--ink);color:var(--tx);font:800 9px var(--mono)}.game-overview__focus-identity{min-width:150px;flex:1;display:flex;flex-direction:column;gap:3px}.game-overview__focus-identity strong{overflow:hidden;color:var(--tx);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.game-overview__focus small,.game-overview__focus-measure small{color:var(--tx3);font:600 8.5px var(--mono);letter-spacing:.7px;text-transform:uppercase}.game-overview__focus-measure{min-width:142px;display:flex;flex-direction:column;gap:4px;padding-left:14px;border-left:1px solid var(--line)}.game-overview__focus-measure strong{display:flex;align-items:center;gap:6px;color:var(--tx);font:700 10.5px var(--mono);white-space:nowrap}.measure-dot{width:7px;height:7px;flex:none;border-radius:50%}.measure-dot--reference{background:#38d6ff}.measure-dot--gap{background:var(--warn)}.game-overview__title{margin-top:5px;font-size:17px;font-weight:800}.game-overview__legend{margin-left:auto;display:flex;gap:14px;color:var(--tx2);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.5px}.game-overview__legend span{display:flex;align-items:center;gap:6px}.game-overview__legend i{width:18px;height:2px;display:inline-block}.game-overview__reference{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line2);border-radius:9px;background:var(--panel)}.game-overview__reference>span{padding:0 7px;color:var(--tx3);font:600 9px var(--mono);letter-spacing:.8px;text-transform:uppercase}.game-overview__reference button{border:0;border-radius:6px;padding:6px 9px;background:transparent;color:var(--tx2);font-size:11.5px;font-weight:700;cursor:pointer}.game-overview__reference button.is-active{background:#177c9d;color:#fff}.game-overview__edit{border:1px solid var(--acc);border-radius:9px;padding:9px 12px;background:var(--acc);color:#fff;font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap}.game-overview__edit:hover{box-shadow:0 5px 16px #2d7bff59}.game-overview__map-wrap{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line2);border-radius:14px;background:#0d1711;box-shadow:inset 0 0 80px #00000047}.game-overview__zoom{position:absolute;z-index:2;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--line2);border-radius:10px;background:#0a0c11eb;box-shadow:0 8px 24px #0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-overview__zoom button{min-width:31px;height:31px;display:grid;place-items:center;padding:0 9px;border:1px solid var(--line2);border-radius:7px;background:var(--panel2);color:var(--tx);font-size:17px;font-weight:800;cursor:pointer}.game-overview__zoom button:hover:not(:disabled){border-color:var(--acc);background:var(--acc-soft)}.game-overview__zoom button:disabled{color:var(--tx3);cursor:not-allowed;opacity:.5}.game-overview__zoom output{min-width:48px;color:var(--tx2);font:700 10px var(--mono);text-align:center}.game-overview__zoom .game-overview__zoom-reset{width:auto;font-size:10.5px;white-space:nowrap}.game-overview__map{display:block;width:100%;height:100%;max-width:100%;max-height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.game-overview__map.is-panning{cursor:grabbing}.map-end-label,.map-carpet-label{fill:#f4f7fa;font-family:var(--mono);font-weight:700}.map-end-label{fill:#83b691;font-size:11px;letter-spacing:2px}.map-carpet-label{font-size:11px;letter-spacing:.5px}.map-carpet-index text{fill:#fff;font:800 9px var(--mono)}.game-overview__carpet{cursor:pointer}.game-overview__carpet:hover polygon{filter:brightness(1.25)}.map-dimension line{fill:none}.map-dimension--gap line,.map-dimension--gap circle{stroke:var(--warn)}.map-dimension--gap circle{fill:#0a0c11}.map-dimension--reference line,.map-dimension--reference circle{stroke:#38d6ff}.map-dimension--reference circle{fill:#0a0c11}.game-overview__hint{flex:none;color:var(--tx3);font-size:11.5px;text-align:center}.game-overview__rail{width:326px;flex:none;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--panel)}.game-overview__rail-head{display:flex;flex-direction:column;gap:6px;padding:18px;border-bottom:1px solid var(--line)}.game-overview__rail-head strong{font-size:18px}.game-overview__rail-head>span{color:var(--tx2);font-size:11.5px}.game-overview__cards{min-height:0;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:7px}.overview-card{position:relative;width:100%;display:grid;grid-template-columns:30px 1fr auto;gap:10px;padding:12px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--tx);text-align:left;cursor:pointer}.overview-card:hover,.overview-card.is-active{border-color:var(--acc);background:var(--acc-soft)}.overview-card__number{width:28px;height:28px;display:grid;place-items:center;align-self:center;border:2px solid;border-radius:50%;color:var(--tx);background:var(--ink);font:800 9px var(--mono)}.overview-card__main{min-width:0;display:flex;flex-direction:column;gap:4px}.overview-card__title{overflow:hidden;color:var(--tx);font-size:12.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.overview-card__position{color:var(--tx2);font-size:11px}.overview-card__measures{display:flex;gap:10px;color:var(--tx3);font:500 9.5px var(--mono)}.overview-card__measures b{color:var(--tx)}.overview-card__status{font:700 8px var(--mono);letter-spacing:.6px;text-transform:uppercase}@media(max-width:1500px){.game-overview__legend{display:none}}@media(max-width:1050px){.game-overview{flex-direction:column}.game-overview__stage{padding:12px;gap:8px}.game-overview__toolbar{gap:8px}.game-overview__toolbar>div:first-child{margin-right:auto}.game-overview__title{font-size:15px}.game-overview__reference{margin-left:auto}.game-overview__edit{padding:8px 10px}.game-overview__zoom{top:8px}.game-overview__focus{gap:9px;padding:7px 9px}.game-overview__focus-measure{min-width:126px;padding-left:9px}.game-overview__rail{width:100%;height:198px;border-top:1px solid var(--line);border-left:0}.game-overview__rail-head{display:none}.game-overview__cards{flex-direction:row;overflow-x:auto;overflow-y:hidden}.overview-card{min-width:278px}}.help-tip{position:relative;display:inline-flex;vertical-align:middle;margin-left:6px}.help-tip__trigger{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--line2);border-radius:50%;background:var(--panel2);color:var(--tx2);font:700 12px Archivo,sans-serif;cursor:help}.help-tip__trigger:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.help-tip__content{position:absolute;top:calc(100% + 6px);left:-120px;z-index:60;width:240px;max-width:calc(100vw - 40px);padding:10px 12px;border:1px solid var(--line2);border-radius:8px;background:var(--panel3);box-shadow:0 8px 24px #0006;color:var(--tx);font:400 12px/1.5 Archivo,sans-serif;text-transform:none;letter-spacing:normal;text-align:left}.help-tip__content:before{content:"";position:absolute;bottom:100%;left:0;width:100%;height:7px}
