*{box-sizing:border-box;margin:0;padding:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}html{background-color:#f4f1ea;height:100%;overflow:hidden}body{color:#1c1c1c;background-color:#f4f1ea;background-image:linear-gradient(#ddd8cc .5px,#0000 .5px),linear-gradient(90deg,#ddd8cc .5px,#0000 .5px);background-size:32px 32px;background-attachment:fixed;height:100%;margin:0;padding:0;font-family:DM Sans,system-ui,sans-serif;overflow:hidden}#root{flex-direction:column;height:100%;display:flex}.container{flex-direction:column;width:100%;height:100%;display:flex}header{-webkit-backdrop-filter:blur(20px)saturate(180%);color:#1d1d1f;background:#ffffffbf;border-bottom:1px solid #00000014;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;min-height:50px;padding:.75rem clamp(.75rem,3vw,2rem);display:flex;box-shadow:0 1px 3px #0000000a}.header-left{flex-shrink:1;min-width:0}.header-left h1{margin:0;font-size:1.4rem}.header-right{flex-shrink:1;align-items:center;gap:clamp(.5rem,2vw,2rem);min-width:0;display:flex}.header-stats{-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;gap:clamp(.4rem,1vw,1rem);min-width:0;font-size:clamp(.7rem,1.2vw,.85rem);font-weight:500;display:flex;overflow:auto hidden}.header-stats::-webkit-scrollbar{display:none}.stat-separator{opacity:.2;color:#86868b}.header-stats-mobile{display:none}.editor-stats-wrap{align-items:center;min-width:0;display:flex}.editor-header .header-left{max-width:48%}.editor-metrics{align-items:center;gap:8px;width:100%;min-width:300px;display:flex}.editor-metric-details{flex-shrink:0;position:relative}.editor-metric-details-content{z-index:40;width:240px;max-height:60vh;position:absolute;top:100%;right:0;overflow-y:auto}@media (width<=768px){.editor-header .header-left{max-width:100%}.editor-metrics{gap:2px;min-width:0}.editor-stats-wrap{background:#f9fafb;border-top:1px solid #e4e7eb;order:10;min-height:36px;margin-top:6px;margin-left:-12px;margin-right:-12px;padding:6px 12px;overflow:visible;flex:100%!important}}.stat-value-mobile,.header-title-mobile{display:none}.main-layout{flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.sidebar{display:none!important}.panel{margin-bottom:2rem}.panel h2{color:#185fa5;border-bottom:2px solid #185fa5;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem}.form-group{margin-bottom:16px}.form-group label{color:#1c1c1c;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500;display:block}.form-group input,.form-group select{color:#1c1c1c;background:#f4f1ea;border:1px solid #1c1c1c;outline:none;width:100%;padding:10px 12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px}.form-group input:focus,.form-group select:focus{border-color:#d63a17;outline:none}.sidebar button{color:#fff;cursor:pointer;background-color:#185fa5;border:none;border-radius:4px;width:100%;padding:.7rem;font-size:.9rem;font-weight:500;transition:background-color .2s}.sidebar button:hover{background-color:#124a84}.sidebar button:active{transform:scale(.98)}.sidebar button#delete-mode{background-color:#c44}.sidebar button#delete-mode:hover{background-color:#a33}.sidebar button#delete-mode.active{background-color:#d55}.sidebar button#measure-mode{background-color:#ff5722}.sidebar button#measure-mode:hover{background-color:#e64a19}.sidebar button#measure-mode.active{background-color:#ff7043}.info-group{border-bottom:1px solid #eee;justify-content:space-between;padding:.5rem 0;display:flex}.info-group label{font-weight:500}.info-group span{color:#185fa5;font-weight:600}.info-text{background-color:#e1f5ee;border-left:3px solid #185fa5;border-radius:4px;margin-top:1rem;padding:.75rem}.info-text small{color:#555;line-height:1.4}.canvas-area{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:#fafafa;background-image:radial-gradient(#e5e7eb 1px,#0000 1px);background-size:24px 24px;flex:auto;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}#course-canvas{cursor:crosshair;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:#fff;display:block;width:100%!important;height:100%!important}#course-canvas.delete-mode{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cline x1='4' y1='4' x2='20' y2='20' stroke='%23dc2626' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='20' y1='4' x2='4' y2='20' stroke='%23dc2626' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") 12 12,crosshair}#course-canvas.measure-mode,#course-canvas.drawing-path{cursor:crosshair}#course-canvas.rotate-mode{cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8ZyBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPgogICAgPHBhdGggZD0iTSA4IDE2IEEgOCA4IDAgMSAxIDI0IDE2IiAvPgogICAgPHBhdGggZD0iTSA4IDE2IEwgNiAxMyBNIDggMTYgTCAxMSAxNSIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBkPSJNIDI0IDE2IEwgMjYgMTMgTSAyNCAxNiBMIDIxIDE1IiBzdHJva2Utd2lkdGg9IjIiLz4KICA8L2c+Cjwvc3ZnPgo=) 16 16,grab}.floating-toolbar{-webkit-backdrop-filter:blur(20px)saturate(180%);z-index:1000;background:#ffffffbf;border:1px solid #fff6;border-radius:9999px;flex-wrap:nowrap;gap:clamp(.2rem,.5vw,.5rem);max-width:95vw;padding:clamp(.4rem,.8vw,.75rem);transition:all .3s;position:fixed;bottom:30px;left:50%;overflow-x:visible;transform:translate(-50%);box-shadow:0 25px 50px -12px #00000040;display:flex!important}.toolbar-grip{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;display:flex}.toolbar-grip:active{cursor:grabbing}.floating-toolbar.positioned{bottom:auto;left:auto;transform:none}.floating-toolbar.dragging{opacity:.85;box-shadow:0 12px 48px #00000040;transition:none!important}.floating-toolbar.vertical{flex-direction:column}.floating-toolbar.vertical .toolbar-separator{width:40px;height:1px;margin:.5rem 0}.floating-toolbar.vertical .toolbar-grip{transform:rotate(90deg)}.tool-btn{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#f5f5f5;border:none;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.15rem;min-width:clamp(42px,6vw,70px);padding:clamp(.3rem,.5vw,.5rem) clamp(.4rem,.7vw,.75rem);transition:all .2s;position:relative;overflow:visible;display:flex!important}.tool-icon{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-size:clamp(1.2rem,2vw,1.8rem);transition:transform .2s;display:block}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;direction:ltr;font-family:Material Symbols Outlined;font-style:normal;font-weight:400;line-height:1;display:inline-block}.tool-label{color:#333;white-space:nowrap;font-size:clamp(.55rem,.8vw,.7rem);font-weight:500}.toolbar-separator{background:#e0e0e0;flex-shrink:0;width:1px;height:clamp(24px,4vw,40px);margin:0 clamp(.15rem,.4vw,.5rem)}.toolbar-toggle{display:none!important}.secondary-toolbar{display:contents}@media (width>=769px){.secondary-toolbar{display:contents!important}}.save-menu{z-index:1001;background:#fff;border-radius:8px;min-width:160px;margin-bottom:.5rem;position:absolute;bottom:100%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.save-menu-item{cursor:pointer;color:#333;padding:.75rem 1rem;font-size:.9rem;transition:background .2s}.save-menu-item:hover{background:#f0f0f0}.save-menu-item:not(:last-child){border-bottom:1px solid #e0e0e0}.element-menu{z-index:1001;background:#fff;border-radius:8px;min-width:160px;margin-bottom:.5rem;position:absolute;bottom:100%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.element-menu.menu-up{margin:0 0 .5rem;inset:auto auto 100% 50%;transform:translate(-50%)}.element-menu.menu-down{margin:.5rem 0 0;inset:100% auto auto 50%;transform:translate(-50%)}.element-menu.menu-left{margin:0 .5rem 0 0;inset:0 100% auto auto;transform:none}.element-menu.menu-right{margin:0 0 0 .5rem;inset:0 auto auto 100%;transform:none}.element-menu-item{cursor:pointer;color:#333;padding:.75rem 1rem;font-size:.9rem;transition:background .2s}.element-menu-item:hover{background:#f0f0f0}.element-menu-item:not(:last-child){border-bottom:1px solid #e0e0e0}.floating-toolbar>.tool-btn{visibility:visible;opacity:1;border:1px solid #0000001a}.tool-btn:hover{background:#185fa5;transform:translateY(-3px);box-shadow:0 6px 16px #185fa54d}.tool-btn:hover .tool-icon{transform:scale(1.1)}.tool-btn.active{color:#fff;background:#185fa5;box-shadow:0 4px 12px #185fa566}.tool-btn.active .tool-icon{filter:brightness(0)invert()}.tool-btn.active .tool-label{color:#fff}.tool-btn.has-submenu:after{content:"▾";color:#666;pointer-events:none;font-size:.7rem;line-height:1;position:absolute;bottom:4px;right:6px}.mode-indicator{bottom:calc(120px + env(safe-area-inset-bottom,0px));z-index:999;border-radius:12px;align-items:center;gap:.75rem;max-width:90vw;padding:.5rem 1rem;font-family:Inter,sans-serif;font-size:.85rem;animation:.2s modeSlideUp;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001a}.mode-indicator.delete{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.mode-indicator.measure{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.mode-indicator.trace{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.mode-indicator .mode-icon{font-size:1.2rem}.mode-indicator .mode-text{font-weight:500}.mode-indicator .mode-hint{opacity:.8;font-weight:400}.mode-indicator .mode-exit{color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;border-radius:6px;margin-left:.5rem;padding:.2rem .6rem;font-size:.8rem;font-weight:500}.mode-indicator .mode-exit:hover{background:#0000000d}@keyframes modeSlideUp{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.tool-submenu{opacity:0;pointer-events:none;background:#fff;border-radius:12px;flex-direction:column;gap:.25rem;min-width:200px;padding:.5rem;transition:opacity .15s;display:none;position:absolute;bottom:65px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000026}.tool-btn:hover .tool-submenu{transition-delay:0s;opacity:1!important;pointer-events:all!important;display:flex!important}.tool-submenu:hover{opacity:1!important;pointer-events:all!important;display:flex!important}.tool-btn:before{content:"";height:20px;display:none;position:absolute;bottom:52px;left:0;right:0}.tool-btn:hover:before{display:block}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.submenu-btn{text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:background .15s;display:flex}.submenu-btn:hover{background:#e1f5ee}.submenu-icon{font-size:1.2rem}.context-toolbar{-webkit-backdrop-filter:blur(20px)saturate(180%);z-index:999;background:#ffffffbf;border:1px solid #fff6;border-radius:9999px;align-items:center;gap:1rem;padding:.75rem 1.25rem;animation:.3s slideUp;display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 25px 50px -12px #00000040}.context-toolbar button{cursor:pointer;white-space:nowrap;background:#f5f5f5;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.context-toolbar button:hover{color:#fff;background:#185fa5;transform:translateY(-2px)}.settings-panel{z-index:1001;background:#fff;width:360px;height:100vh;padding:2rem;transition:right .3s;position:fixed;top:0;right:-360px;overflow-y:auto;box-shadow:-4px 0 16px #0000001a}.settings-panel.open{right:0}.panel-title{color:#185fa5;border-bottom:2px solid #185fa5;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.3rem}.close-panel{cursor:pointer;background:#f5f5f5;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.3rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.close-panel:hover{color:#fff;background:#185fa5;transform:rotate(90deg)}.settings-section{border-bottom:1px dashed #cfc8b8;margin-bottom:24px;padding-bottom:20px}.settings-section:last-child{border-bottom:none}.settings-section h3{color:#d63a17;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500}.settings-btn{color:#1c1c1c;cursor:pointer;letter-spacing:.5px;background:#f4f1ea;border:1px solid #1c1c1c;width:100%;margin-top:8px;padding:12px 16px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;font-weight:500;transition:background .2s}.settings-btn:hover{background:#ebe7dd}.settings-btn.primary,.settings-btn[class*=primary]{color:#f4f1ea;background:#d63a17;border-color:#d63a17}.settings-btn.primary:hover{background:#a82b0e}.settings-btn.primary:disabled{color:#9c9c8e;cursor:not-allowed;background:#cfc8b8;border-color:#cfc8b8}.add-panel{z-index:1002;background:#f4f1ea;border-left:1px solid #1c1c1c;width:360px;height:100vh;padding:2rem;transition:right .3s;position:fixed;top:0;right:-360px;overflow-y:auto}.add-panel.open{right:0}@media (width<=768px){header{height:auto;min-height:auto;padding:.4rem .75rem;flex-wrap:wrap!important}.header-left{min-width:0;flex:100%!important}.header-left h1{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.header-right{display:none!important}.header-stats-mobile{flex:100%;padding:.15rem 0 0 1.6rem;display:block!important}.header-stats-mobile .header-stats{align-items:center;gap:.4rem;font-size:.7rem;display:flex!important}.header-stats-mobile .stat-separator{opacity:.15;font-size:.6rem}.stat-label,.stat-value-desktop{display:none!important}.stat-value-mobile{display:inline!important}.hide-mobile,.header-subtitle-desktop,.header-eventname-desktop{display:none!important}.header-title-mobile{display:block!important}.editor-logo{display:none}.floating-toolbar,.floating-toolbar.vertical{justify-content:flex-start;gap:.25rem;padding:.5rem;overflow:auto hidden;border-radius:16px!important;flex-direction:row!important;width:calc(100% - 20px)!important;inset:auto auto 10px 10px!important;transform:none!important}.toolbar-grip{display:none!important}.tool-btn{width:50px;min-width:50px;height:50px;padding:.5rem;position:static}.tool-label{display:none}.toolbar-toggle{background:#185fa5;display:flex!important}.toolbar-toggle .tool-icon{color:#fff;font-size:1.8rem}.secondary-toolbar{opacity:0;pointer-events:none;background:#fff;border-radius:16px;justify-content:flex-start;gap:.25rem;width:calc(100% - 20px);padding:.5rem;transition:bottom .3s,opacity .3s;position:fixed;bottom:-100px;left:10px;overflow:auto hidden;box-shadow:0 8px 32px #00000026;display:flex!important}.secondary-toolbar.active{opacity:1;pointer-events:auto;bottom:70px}.secondary-toolbar .tool-btn{width:50px;min-width:50px;height:50px;padding:.5rem}.secondary-toolbar .tool-label{display:none}.tool-icon{font-size:1.5rem}.element-menu-item .material-symbols-outlined{vertical-align:middle;margin-right:.5rem;font-size:1.2rem}.tool-btn{overflow:visible!important}.element-menu{z-index:10000!important;width:auto!important;max-width:80vw!important;margin:0!important;position:fixed!important;bottom:auto!important;right:auto!important}.tool-submenu{left:auto;right:0;transform:none}.context-toolbar{flex-wrap:wrap;justify-content:center;width:calc(100% - 20px);bottom:130px;left:10px;transform:none}.secondary-toolbar.active~.context-toolbar{bottom:130px}.settings-panel,.add-panel{width:100%;right:-100%}.settings-panel.open,.add-panel.open{right:0}.quick-actions{grid-template-columns:repeat(auto-fit,40px);justify-content:center;border-radius:12px!important;gap:.2rem!important;padding:.3rem!important;display:grid!important;bottom:75px!important;left:10px!important;right:10px!important}.quick-actions button{width:40px!important;min-width:40px!important;height:40px!important}.quick-actions button span:last-child:not(.material-symbols-outlined),.quick-actions .quick-actions-separator{display:none}}@media (width<=1024px) and (width>=769px){.tool-label{display:none}.tool-btn{min-width:52px;padding:.4rem}.tool-icon{font-size:1.5rem}.toolbar-separator{height:30px}}@media (width<=480px){.floating-toolbar{gap:.2rem;padding:.4rem}.tool-btn{width:42px;height:42px}.tool-icon{font-size:1.2rem}}@media (width<=767px){*{-webkit-tap-highlight-color:#0000001a}button,[role=button],input,select,textarea{min-height:44px}.canvas-area{touch-action:manipulation}#course-canvas{touch-action:none}header{padding:.4rem .5rem}}@media (width>=768px) and (width<=1023px){header{padding:.5rem 1rem}.main-layout{padding-right:260px}}@media (width>=1024px){.main-layout{padding-right:300px}}.settings-modal-backdrop{z-index:2000;background:#1c1c1c8c;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;display:flex;position:fixed;top:0;left:0}.settings-modal{color:#1c1c1c;background:#f4f1ea;border:1px solid #1c1c1c;flex-direction:column;width:90%;max-width:640px;max-height:85vh;font-family:IBM Plex Sans,system-ui,sans-serif;display:flex;position:relative}.settings-modal:before,.settings-modal:after,.settings-modal>.settings-modal-header:before,.settings-modal>.settings-modal-header:after{content:"";pointer-events:none;z-index:2;width:10px;height:10px;position:absolute}.settings-modal:before{border-top:2px solid #d63a17;border-left:2px solid #d63a17;top:-1px;left:-1px}.settings-modal:after{border-top:2px solid #d63a17;border-right:2px solid #d63a17;top:-1px;right:-1px}.settings-modal>.settings-modal-header:before{border-bottom:2px solid #d63a17;border-left:2px solid #d63a17;position:fixed;top:auto;bottom:-1px;left:-1px}.settings-modal-header{border-bottom:1px dashed #cfc8b8;justify-content:space-between;align-items:center;padding:22px 26px 16px;display:flex}.settings-modal-header h2{color:#1c1c1c;letter-spacing:-.4px;margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:18px;font-weight:500}.settings-modal-close{cursor:pointer;color:#d63a17;background:#f4f1ea;border:1px solid #cfc8b8;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px;display:flex}.settings-modal-close:hover{color:#f4f1ea;background:#d63a17;border-color:#d63a17}.settings-modal-tabs{background:#ebe7dd;border-bottom:1px solid #cfc8b8;gap:0;padding:0 12px;display:flex}.settings-modal-tab{cursor:pointer;color:#6b6b62;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;transition:color .15s,border-color .15s}.settings-modal-tab:hover{color:#1c1c1c}.settings-modal-tab.active{color:#1c1c1c;border-bottom-color:#d63a17;font-weight:600}.settings-modal-content{flex:1;padding:20px 26px;overflow-y:auto}.settings-tab-content{flex-direction:column;gap:0;display:flex}@media (width<=768px){.settings-modal{width:95%;height:90vh;max-height:90vh}.settings-modal-tabs{padding:0}.settings-modal-tab{text-align:center;flex:1;padding:.7rem .5rem;font-size:.85rem}}.navigation-back{box-sizing:border-box;width:44px;height:44px;min-height:44px;color:var(--navigation-ink);background:var(--navigation-paper);border:1px solid var(--navigation-border);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.navigation-back:hover{background:var(--navigation-hover)}.navigation-back:focus-visible{outline:2px solid var(--navigation-focus);outline-offset:3px}.navigation-back:disabled{opacity:.55;cursor:wait}.navigation-back-arrow{color:currentColor;flex-shrink:0}.navigation-back-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[dir=rtl] .navigation-back-arrow{transform:scaleX(-1)}header.app-header{min-height:60px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f4f1ea;border-bottom:1px solid #ddd8cc;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.app-header-identity{flex-wrap:wrap;flex:1;align-items:center;gap:16px;min-width:0;display:flex}.app-header-brand{flex-shrink:0}.app-header-tools{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.app-header-tools>div>button{min-height:44px}.app-header-stat{flex-direction:column;font-size:12px;display:flex}.app-breadcrumbs{overflow-wrap:anywhere;flex-wrap:wrap;gap:6px;min-width:0;font-size:12px;display:flex}.app-breadcrumb{align-items:center;gap:6px;min-width:0;display:inline-flex}.app-breadcrumb button,.app-breadcrumb a{color:#6b6b62;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.app-breadcrumb-separator{color:#b8b0a0}@media (width<=700px){.app-header-tools .user-menu-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-header-with-back .app-header-identity{flex:100%;order:3}.app-header-with-back .app-header-brand,.app-header-with-back .app-header-identity:empty{display:none}.app-header-identity{gap:4px}.app-header-tools{min-width:0}}.site-navigation{z-index:40;flex-shrink:0;position:relative}.site-navigation>button{box-sizing:border-box;border:1px solid var(--navigation-border);background:var(--navigation-paper);width:44px;height:44px;min-height:44px;color:var(--navigation-ink);cursor:pointer;border-radius:5px;place-items:center;padding:0;display:grid}.site-navigation nav{background:var(--navigation-paper);width:max-content;max-width:min(280px,100vw - 24px);color:var(--navigation-ink);border:1px solid var(--navigation-border);box-shadow:var(--navigation-shadow);border-radius:6px;padding:6px;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0}.site-navigation nav a{box-sizing:border-box;min-height:44px;color:inherit;padding:12px;font:500 14px/1.4 DM Sans,sans-serif;text-decoration:none;display:block}.site-navigation nav a:hover{background:var(--navigation-hover)}.site-navigation :focus-visible{outline:2px solid var(--navigation-focus);outline-offset:2px}.app-header-brand{color:inherit;text-decoration:none}.site-navigation-start nav{inset-inline:0 auto}.dashboard-draft-actions{flex-wrap:wrap;gap:12px;display:flex}.dashboard-competition-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dashboard-competition-heading h2{font:600 28px/1.3 Lora,Georgia,serif}.dashboard-search{background:#fffdf9;border:1px solid #b8b0a0;border-radius:5px;align-items:center;gap:8px;width:min(420px,100%);margin-bottom:16px;padding:10px 12px;display:flex}.dashboard-search input{width:100%;min-width:0;font:inherit;color:#1c1c1c;background:0 0;border:none}.competition-list-heading,.competition-list-row{grid-template-columns:minmax(0,1fr) minmax(150px,210px) 100px 44px;align-items:center;gap:16px;padding:12px 16px;display:grid}.competition-list-heading{color:#f4f1ea;background:#2c2720;border-radius:8px 8px 0 0;font:500 11px/1.4 IBM Plex Mono,monospace}.competition-list-row{background:#fffdf9;border-bottom:1px solid #ddd8cc}.competition-list-row:last-child{border-bottom:0}.competition-open{text-align:start;color:#1c1c1c;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:44px;padding:0;display:flex}.competition-open:hover .competition-list-name{text-underline-offset:4px;text-decoration:underline}.competition-list-name{overflow-wrap:anywhere;max-width:100%;font:600 18px/1.4 Lora,Georgia,serif}.competition-list-site,.competition-list-dates,.competition-list-terrains{color:#6b6b62;overflow-wrap:anywhere;font:13px/1.5 DM Sans,sans-serif}.competition-delete{color:#6b6b62;cursor:pointer;background:0 0;border:1px solid #ddd8cc;border-radius:5px;width:44px;height:44px}.competition-delete:hover{color:#a82b0e;border-color:#a82b0e}.competition-delete .material-symbols-outlined{font-size:20px}.dashboard-main button:focus-visible,.dashboard-search:focus-within{outline-offset:3px;outline:2px solid #1d3a8a}@media (width<=700px){.dashboard-draft-actions{gap:8px;width:100%}.dashboard-draft-actions>button{flex:1;justify-content:center;min-width:0;min-height:44px;letter-spacing:0!important;padding:10px 12px!important;font:500 13px/1.4 DM Sans,sans-serif!important}.dashboard-competition-heading h2{font-size:24px}.dashboard-competition-heading>button{min-height:44px;letter-spacing:0!important;padding:10px 12px!important;font:600 13px/1.4 DM Sans,sans-serif!important}.competition-list-heading{display:none}.competition-list-row{grid-template-columns:minmax(0,1fr) 44px;gap:6px 12px;padding:16px}.competition-open{grid-area:1/1}.competition-list-dates{grid-area:2/1}.competition-list-terrains{grid-area:3/1}.competition-delete{grid-area:1/2;align-self:start}}.admin-users-panel{overflow-wrap:anywhere;min-width:0}.admin-users-toolbar{flex-wrap:wrap;min-width:0;max-width:100%}.admin-users-toolbar input{min-width:0;max-width:100%}@media (width<=767px){.admin-users-toolbar{width:100%}.admin-users-toolbar input{width:100%!important}.admin-users-toolbar button,.admin-users-toolbar a,.admin-users-toolbar select{max-width:100%;min-height:44px;white-space:normal!important}.admin-users-table,.admin-users-table thead,.admin-users-table tbody{width:100%;display:block;white-space:normal!important}.admin-users-table thead tr{flex-wrap:wrap;display:flex}.admin-users-table th{flex:auto;min-height:44px;white-space:normal!important;padding:12px!important}.admin-users-table th:nth-last-child(-n+2){display:none}.admin-users-table tbody tr{padding:16px;display:block;border-bottom-width:2px!important}.admin-users-table td{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid;text-align:start!important;white-space:normal!important;padding:6px 0!important}.admin-users-table td:before{content:attr(data-label);text-transform:none;opacity:.7;font-weight:400}.admin-users-table td:first-child,.admin-users-table td:last-child{display:block}.admin-users-table td:first-child{line-height:1.5;font-size:14px!important}.admin-users-table td:first-child:before,.admin-users-table td:last-child:before{margin-bottom:6px;font-size:11px;display:block}.admin-users-table td button{white-space:normal;max-width:100%;min-height:44px}.admin-users-panel .admin-detail-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.admin-users-panel .admin-user-competition,.admin-users-panel .admin-event-summary{flex-direction:column;gap:12px;align-items:stretch!important}.admin-event-summary>:last-child{text-align:start!important;margin-left:0!important}}.admin-competitions-panel{overflow-wrap:anywhere;min-width:0}.admin-competition-meta>span{min-width:0;max-width:100%}@media (width<=767px){.admin-competitions-panel{padding:16px 12px!important}.admin-competitions-toolbar input[type=text]{max-width:100%;min-height:44px;flex-basis:100%!important;min-width:0!important}.admin-competitions-panel .admin-competition-heading{grid-template-columns:20px minmax(0,1fr)!important;align-items:start!important;gap:12px!important;padding:14px 12px!important}.admin-competition-heading .admin-competition-name{line-height:1.4;white-space:normal!important;overflow:visible!important}.admin-competition-meta{flex-direction:column;line-height:1.5;gap:8px!important}.admin-competition-stats,.admin-competition-status{grid-column:2}.admin-competition-heading .admin-competition-stats{text-align:start!important;gap:8px!important}.admin-competition-stats>div{flex-wrap:wrap;justify-content:space-between!important}.admin-competitions-panel .admin-competition-body{padding:12px!important}.admin-competition-body .admin-competition-events{grid-template-columns:minmax(0,1fr)!important}}.competition-creation-page{color:#1c1c1c;min-height:100%}.competition-creation{width:min(1080px,100%);margin:0 auto;padding:32px 24px 56px}.creation-heading{margin-bottom:28px}.creation-heading h1{margin:0 0 10px;font:600 34px/1.2 Lora,Georgia,serif}.creation-heading p,.field-help{color:#6b6b62;line-height:1.5}.creation-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.creation-form{background:#fffdf9;border:1px solid #ddd8cc;border-radius:10px;min-width:0;padding:28px}.creation-required{color:#6b6b62;margin-bottom:24px;font-size:13px}.creation-form fieldset{border:0;min-width:0;margin:0 0 28px}.creation-form legend{margin-bottom:18px;font:600 21px/1.35 Lora,Georgia,serif}.creation-form label{margin:16px 0 7px;font-size:14px;font-weight:600;display:block}.creation-form input,.creation-form select{color:#1c1c1c;width:100%;min-width:0;min-height:46px;font:inherit;background:#fffdf9;border:1px solid #b8b0a0;border-radius:5px;padding:10px 12px;display:block}.creation-form input:focus-visible,.creation-form select:focus-visible,.creation-form button:focus-visible{outline-offset:3px;outline:2px solid #1d3a8a}.creation-form .field-help{margin-top:7px;font-size:13px}.creation-dates{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.creation-actions{border-top:1px solid #ddd8cc;flex-wrap:wrap;align-items:center;gap:12px;padding-top:24px;display:flex}.creation-form button{cursor:pointer;border-radius:5px;min-height:46px;padding:10px 18px;font:600 14px/1.4 DM Sans,sans-serif}.creation-submit{color:#fff;background:#d63a17;border:1px solid #a82b0e}.creation-cancel{color:#1c1c1c;background:0 0;border:1px solid #b8b0a0}.creation-form button:disabled{opacity:.55;cursor:wait}.creation-site-toggle{margin-top:12px}.creation-new-site{background:#ebe7dd;border-radius:5px;margin-top:16px;padding:4px 16px 16px}.creation-new-site button{margin-top:12px}.creation-error{color:#a82b0e;background:#fceddf;border-inline-start:3px solid #a82b0e;margin-bottom:18px;padding:12px;line-height:1.5}.creation-field-error{color:#a82b0e;margin-top:6px;font-size:13px;line-height:1.5}.creation-form [aria-invalid=true]{border-color:#a82b0e}.creation-guide{background:#ebe7dd;border-radius:10px;padding:24px}.creation-guide h2{margin:0 0 20px;font:600 21px/1.4 Lora,Georgia,serif}.creation-guide ol{padding-inline-start:22px}.creation-guide li{margin-bottom:18px;padding-inline-start:6px;line-height:1.5}.creation-guide p{color:#6b6b62;margin-top:4px;font-size:14px;line-height:1.6}.creation-publication{border-top:1px solid #cfc8b8;padding:20px 0}.creation-publication p{color:#6b6b62;margin-top:6px;font-size:14px;line-height:1.6}.creation-publication h3{font-size:15px}@media (width<=700px){.competition-creation{padding:24px 16px 40px}.creation-heading h1{font-size:28px}.creation-layout{grid-template-columns:minmax(0,1fr);gap:20px}.creation-form{padding:20px}.creation-dates{grid-template-columns:minmax(0,1fr);gap:0}}.material-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:20px;display:grid}.material-workspace--editing{flex:1;grid-template-columns:minmax(0,1fr) minmax(240px,300px) minmax(340px,380px);align-items:stretch;min-height:0}.material-workspace--editing>*{min-height:0;overflow-y:auto}.material-workspace-main{min-width:0}.material-obstacle-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px;display:grid}.material-stock{min-width:0;max-height:calc(90dvh - 150px);padding:12px;position:sticky;top:0;overflow-y:auto}.material-stock h3{margin:0 0 8px;font-size:17px}.material-stock p{margin:6px 0 12px;font-size:12px}.material-stock table{border-collapse:collapse;table-layout:fixed;width:100%;margin-bottom:14px;font-size:12px}.material-stock caption{text-align:start;margin-bottom:6px;font-weight:600}.material-stock th,.material-stock td{text-align:end;overflow-wrap:anywhere;border-bottom:1px solid;padding:6px 3px}.material-stock th:first-child{text-align:start;width:43%}.material-stock thead{font-size:10px}.material-obstacle-config{min-width:0;display:flex}.material-workspace--editing>.material-obstacle-config{overflow:hidden}.material-workspace--editing>.material-stock{max-height:none;position:static}.material-modal-content--editing{flex-direction:column;display:flex;overflow-y:hidden}@media (width<=1100px){.material-modal-content--editing{display:block;overflow-y:auto}.material-workspace,.material-workspace--editing{flex:none;grid-template-columns:minmax(0,1fr);gap:12px;min-height:auto}.material-workspace--editing>*{overflow-y:visible}.material-stock,.material-workspace--editing>.material-stock{max-height:none;position:static}.material-obstacle-config,.material-workspace--editing>.material-obstacle-config{grid-row:1;overflow:visible}}.public-competition-main{overflow-wrap:anywhere;min-width:0}.public-competition-row>*,.public-event-row>*{min-width:0}@media (width<=767px){.public-competition-page .public-competition-header{flex-wrap:wrap;gap:12px!important;padding:12px 16px!important}.public-competition-page .public-competition-header button{text-align:start;max-width:100%;min-height:44px}.public-competition-page .public-competition-strip{overflow-wrap:anywhere;flex-wrap:wrap;gap:6px 16px;padding:8px 16px!important}.public-competition-page .public-competition-main{padding:24px 16px 32px!important}.public-competition-page .public-competition-main h1{font-size:28px!important;line-height:1.2!important}.public-competition-page .public-competition-columns{display:none!important}.public-competition-page .public-competition-row,.public-competition-page .public-event-row{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:16px!important}.public-competition-row>:nth-child(2)>:first-child,.public-event-row>:nth-child(2)>:first-child{font-size:20px!important;line-height:1.3!important}.public-competition-row>:last-child{display:none}.public-event-row>:last-child{justify-self:start;max-width:100%;line-height:1.5;white-space:normal!important}}.public-event-page{height:100dvh!important}.public-event-page header,.public-event-strip{overflow-wrap:anywhere;min-width:0}.public-event-actions{flex-wrap:wrap}@media (width<=767px){.public-event-brand,.public-event-strip>:last-child{display:none}.public-event-actions button{white-space:normal;max-width:100%;min-height:44px}.public-event-page [role=group]{gap:4px!important}.public-event-page [role=group] button{font-size:13px;padding-inline:8px!important}}header.public-navigation-header{box-sizing:border-box;background:var(--navigation-paper);border-bottom:1px solid var(--navigation-border);min-height:60px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:40;flex-direction:row;flex-shrink:0;justify-content:flex-start;align-items:center;gap:12px;padding:8px 12px;display:flex;position:relative}.public-navigation-brand{color:inherit;min-width:0;text-decoration:none}.public-navigation-actions{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.public-navigation-actions>button{border-radius:5px;min-height:44px}@media (width<=550px){.public-event-page .public-navigation-brand{display:none}.public-navigation-header{gap:8px}.public-navigation-brand>div{font-size:11px!important}}
