:root{--bg:#050b12;--panel:#071018;--panel-2:#0a131d;--card:#0b141d;--border:#223140;--border-strong:#2b3d4f;--text:#f4f7fb;--muted:#aab6c3;--accent:#0b6cff;--accent-2:#3185ff;--green:#2fd08a;--yellow:#ffd12a;--shadow:0 18px 60px #00000042;--font:Inter, "SF Pro Display", "SF Pro Text", Helvetica, Arial, sans-serif;--radius:4px;--control-h:48px}*{box-sizing:border-box}[hidden]{display:none!important}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hide-force-values .force-value{display:none!important}.hide-labels .interaction-layer .object-label,.hide-measurements .interaction-layer .measure-line,.hide-measurements .interaction-layer .measure-point,.hide-measurements .interaction-layer .measure-label,.hide-measurements .coord-readout,.hide-measurements .scale,.hide-measurements .line-metric-scale{display:none}html,body{background:var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font);margin:0}button{appearance:none;color:inherit;font:inherit;background:0 0;border:0}.app-shell{border:1px solid var(--border);background:radial-gradient(circle at 48% 14%, #19364c40, transparent 30%), var(--bg);grid-template-columns:88px 284px minmax(0,1fr) 306px;width:100vw;height:100vh;display:grid;overflow:hidden}.nav-rail,.work-panel,.main-area,.inspector{border-right:1px solid var(--border);min-width:0;min-height:0}.nav-rail{background:#06101a;flex-direction:column;align-items:stretch;display:flex}.hamburger{place-items:center;gap:6px;width:100%;height:92px;padding:28px 0;display:grid}.hamburger span{background:var(--text);width:27px;height:2px;display:block}.nav-item,.nav-help{min-height:102px;color:var(--text);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;line-height:1.08;display:flex}.nav-item.active{background:linear-gradient(#0f7bff,#0869ed);box-shadow:inset 4px 0 #43a1ff}.settings-item{border-top:1px solid var(--border);margin-top:10px;padding-top:14px}.nav-spacer{flex:1}.guest-mode-status{border-top:1px solid var(--border);min-height:34px;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:7px 4px;font-size:9px;font-weight:750;line-height:1;display:flex}.guest-mode-dot{background:#8da0b2;border-radius:50%;width:6px;height:6px}.guest-mode-status small{color:#79adff;letter-spacing:.06em;border:1px solid #3185ff80;border-radius:2px;padding:2px 3px;font-size:7px}.nav-help{min-height:82px;font-size:13px}.global-dialog{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#01060bbd;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.global-dialog-card{border:1px solid var(--border-strong);background:#08121c;border-radius:7px;width:min(760px,100vw - 56px);max-height:calc(100vh - 56px);overflow:auto;box-shadow:0 28px 90px #0000008c}.global-dialog-header{z-index:2;border-bottom:1px solid var(--border);background:#08121cf5;justify-content:space-between;align-items:center;min-height:82px;padding:18px 22px;display:flex;position:sticky;top:0}.global-dialog-header span{color:var(--muted);letter-spacing:.12em;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.global-dialog-header h2{margin:0;font-size:24px}.global-dialog-header button{border:1px solid var(--border-strong);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:4px;font-size:25px}.global-dialog-header button:hover{color:var(--text);background:#ffffff0f}.settings-sections{grid-template-columns:1fr 1fr;gap:0;display:grid}.settings-sections section{border-bottom:1px solid var(--border);min-width:0;padding:20px 22px 24px}.settings-sections section:nth-child(odd){border-right:1px solid var(--border)}.settings-sections h3{letter-spacing:.07em;margin:0 0 14px;font-size:13px}.settings-sections label{min-height:42px;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.settings-sections select,.settings-sections input[type=number]{border:1px solid var(--border-strong);width:132px;height:36px;color:var(--text);font:inherit;background:#091520;border-radius:4px;padding:0 10px}.settings-sections input[type=checkbox]{width:34px;height:18px;accent-color:var(--accent)}.setting-with-unit{align-items:center;gap:7px;display:flex}.setting-with-unit input[type=number]{width:88px}.setting-with-unit b{min-width:36px;color:var(--text);font-size:11px;font-weight:700}.settings-secondary-button,.settings-file-button{border:1px solid var(--border-strong);width:100%;min-height:38px;color:var(--text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;margin-top:9px;font-size:13px;display:flex}.settings-export-link{color:#84b5ff;text-decoration:none}.settings-export-json{resize:vertical;border:1px solid var(--border-strong);color:#8fa4b8;background:#07121c;border-radius:4px;width:100%;height:76px;margin-top:9px;padding:8px 9px;font:10px/1.35 monospace}.settings-file-button input{display:none}.help-dialog-card{width:min(620px,100vw - 56px)}.projects-dialog-card{width:min(920px,100vw - 40px)}.projects-dialog-actions{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex}.projects-dialog-actions p{color:var(--muted);margin:0;font-size:13px}.projects-dialog-actions button,.project-row-actions button{border:1px solid var(--border-strong);border-radius:var(--radius);min-height:38px;color:var(--text);cursor:pointer;padding:0 14px;font-weight:750}.projects-dialog-actions button{align-items:center;gap:8px;display:flex}.projects-dialog-actions button.primary,.project-row-actions button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.projects-dialog-actions button:hover,.project-row-actions button:hover{background-color:#3185ff24;border-color:#3977bd}.cloud-persistence-panel{border-bottom:1px solid var(--border);background:#3185ff14;justify-content:space-between;align-items:center;gap:16px;padding:12px 22px;display:flex}.cloud-persistence-panel[hidden]{display:none}.cloud-persistence-panel strong{margin-bottom:3px;font-size:12px;display:block}.cloud-persistence-panel p{color:var(--muted);margin:0;font-size:11px}.cloud-persistence-actions{flex:none;gap:8px;display:flex}.cloud-persistence-actions button{border:1px solid var(--border-strong);border-radius:var(--radius);min-height:34px;color:var(--text);cursor:pointer;padding:0 11px;font-size:11px;font-weight:750}.cloud-persistence-actions button:hover{background:#3185ff24;border-color:#3977bd}.projects-list{gap:10px;padding:16px 22px 22px;display:grid}.projects-empty{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:6px;padding:42px 18px}.project-row{border:1px solid var(--border);background:#0d1d2ba8;border-radius:6px;grid-template-columns:minmax(150px,1.4fr) minmax(110px,.8fr) minmax(120px,1fr) minmax(120px,.8fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.project-row.current{box-shadow:inset 3px 0 0 var(--accent);border-color:#3185ffb8}.project-row-main{min-width:0}.project-row-main strong,.project-row-main input{text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.project-row-main strong{font-size:14px}.project-row-main input{border:1px solid var(--accent);height:34px;color:var(--text);font:inherit;background:#07121c;border-radius:4px;padding:0 9px}.project-row-main small,.project-row-meta small{color:#7890a5;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.project-row-main small{margin-top:5px}.project-row-meta{color:#c4d0dc;min-width:0;font-size:12px}.project-row-meta span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-row-actions{justify-content:flex-end;gap:6px;display:flex}.project-row-actions button{min-height:34px;padding-inline:9px;font-size:11px}@media (width<=820px){.projects-dialog-actions,.cloud-persistence-panel{flex-direction:column;align-items:stretch}.cloud-persistence-actions{flex-wrap:wrap}.project-row{grid-template-columns:1fr 1fr}.project-row-main,.project-row-actions{grid-column:1/-1}.project-row-actions{flex-wrap:wrap;justify-content:flex-start}}.subscription-dialog{background:radial-gradient(circle at 25% 20%,#005bca1c,#0000 34%),#01070ee0;padding:18px}.subscription-dialog-card{background:linear-gradient(145deg,#071522,#06111c 68%,#081624);border-color:#4e8bc7b8;border-radius:16px;width:min(1120px,100vw - 36px);max-height:calc(100vh - 36px);position:relative;overflow:auto}.subscription-close{z-index:3;border:1px solid var(--border-strong);color:#e7edf5;cursor:pointer;border-radius:9px;width:48px;height:48px;font-size:34px;font-weight:250;line-height:1;position:absolute;top:22px;right:24px}.subscription-close:hover,.subscription-close:focus-visible{background:#3185ff1a;border-color:#4e91d2;outline:none}.subscription-heading{text-align:center;padding:34px 88px 24px}.subscription-heading>span{color:#23a8ff;letter-spacing:.17em;border:1px solid #008eff66;border-radius:999px;padding:7px 14px;font-size:10px;font-weight:850;position:absolute;top:28px;left:34px}.subscription-heading h2{letter-spacing:-.035em;margin:15px 0 5px;font-size:clamp(30px,4vw,50px)}.subscription-heading p{color:#9fb0c5;margin:0;font-size:16px}.subscription-content{grid-template-columns:minmax(250px,.78fr) minmax(440px,1.35fr);gap:24px;padding:10px 34px 24px;display:grid}.subscription-current{border:1px solid var(--border-strong);text-align:center;background:#071421b8;border-radius:12px;min-width:0;padding:24px 28px}.subscription-current>small{color:#22a9ff;letter-spacing:.14em;font-size:10px;font-weight:850}.subscription-current h3{margin:12px 0 4px;font-size:25px}.subscription-current-price{justify-content:center;align-items:center;gap:7px;min-height:82px;display:flex}.subscription-current-price>strong{font-size:58px;line-height:1}.subscription-current-price>span{color:#aebcd0;text-align:left;font-size:21px;line-height:1.1}.subscription-current-price small{font-size:13px;font-weight:500}.subscription-active-badge{color:#30db79;background:#0f623724;border:1px solid #17ce6857;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin:10px auto 16px;padding:7px 15px;font-size:12px;display:flex}.subscription-active-badge>span{border:1px solid;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.subscription-period-note{color:#9db0c4;margin:-6px 0 14px;font-size:11px;line-height:1.4}.subscription-current ul{border-block:1px solid var(--border);text-align:left;gap:12px;margin:0;padding:17px 0;list-style:none;display:grid}.subscription-current li{color:#d3dce6;gap:9px;font-size:12px;line-height:1.35;display:flex}.subscription-current li span{color:#25aaff;font-weight:900}.subscription-link{color:#22a9ff;cursor:pointer;margin:16px auto 0;font-size:12px}.subscription-link:hover,.subscription-link:focus-visible{color:#8ad2ff;outline:none;text-decoration:underline}.subscription-choices{min-width:0}.subscription-pricing-toolbar{color:#8094a8;justify-content:flex-end;align-items:center;gap:10px;min-height:34px;margin-bottom:9px;font-size:10px;display:flex}.subscription-pricing-toolbar>span{margin-right:auto}.subscription-pricing-toolbar label{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;font-weight:750;display:flex}.subscription-pricing-toolbar select{border:1px solid var(--border-strong);color:#dce8f3;cursor:pointer;background:#081827;border-radius:5px;height:30px;padding:0 28px 0 9px;font:750 11px/1 inherit}.subscription-pricing-toolbar select:focus-visible{border-color:#22a9ff;outline:none}.subscription-pricing-toolbar select:disabled{opacity:.55;cursor:default}.subscription-pricing-toolbar button{color:#32adff;cursor:pointer;font-size:10px;font-weight:800}.subscription-pricing-toolbar button:hover{text-decoration:underline}.subscription-plan{border:1px solid var(--border);width:100%;min-height:88px;color:var(--text);text-align:left;cursor:pointer;background:#04101b75;border-radius:10px;grid-template-columns:24px minmax(0,1fr) 110px;align-items:center;gap:14px;padding:14px 18px;display:grid}.subscription-radio{border:2px solid #7188b5;border-radius:50%;width:21px;height:21px}.subscription-plan-copy{gap:4px;min-width:0;display:grid}.subscription-plan-copy>strong{align-items:center;gap:8px;font-size:20px;font-weight:650;display:flex}.subscription-plan-copy>span,.subscription-plan-copy>small{color:#9caec2;font-size:12px;line-height:1.35}.plan-active-label{color:#35d97c;text-transform:uppercase;border:1px solid #24cf6f59;border-radius:999px;padding:3px 7px;font-size:8px}.subscription-plan-price{text-align:right;justify-items:end;gap:5px;display:grid}.subscription-plan-price strong{font-size:18px}.subscription-plan-price small{color:#8ea0b5;font-size:11px}.subscription-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#087fff,#075eea);border:1px solid #3eabff;border-radius:9px;width:100%;min-height:58px;margin-top:14px;font-size:18px;font-weight:720;box-shadow:0 8px 26px #005cff33}.subscription-primary:hover:not(:disabled){filter:brightness(1.08)}.subscription-primary:focus-visible{outline-offset:2px;outline:2px solid #8ed4ff}.subscription-primary:disabled{border-color:var(--border-strong);color:#728599;cursor:default;box-shadow:none;background:#0b1b29}.subscription-support{margin-top:18px;display:block}.subscription-error{color:#faa;text-align:center;background:#5d141d3b;border:1px solid #ff6f6f73;border-radius:7px;margin:11px 0 0;padding:10px 12px;font-size:12px}.subscription-confirming{color:#9fc2e4;justify-content:center;align-items:center;gap:8px;margin-top:11px;font-size:11px;display:flex}.subscription-confirming span{border:2px solid #28577f;border-top-color:#22a9ff;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite subscriptionSpin}.subscription-confirming[hidden]{display:none}@keyframes subscriptionSpin{to{transform:rotate(360deg)}}.subscription-comparison{border:1px solid var(--border);background:#04101ba3;border-radius:8px;margin-top:16px;overflow:hidden}.subscription-comparison>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:42px;padding:0 12px;font-size:12px;display:flex}.subscription-comparison>header button{color:#9eb1c5;cursor:pointer;font-size:20px}.subscription-comparison-grid{grid-template-columns:minmax(125px,1.25fr) repeat(3,minmax(70px,1fr));display:grid}.subscription-comparison-grid>*{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;justify-content:center;align-items:center;min-height:38px;padding:8px;font-size:10px;display:flex}.subscription-comparison-grid>span{color:#aab9c8;text-align:left;justify-content:flex-start}.subscription-comparison-grid>b{color:#dbe6ef}.subscription-footer{border-top:1px solid var(--border);color:#8f9fbd;justify-content:center;align-items:center;gap:10px;min-height:58px;margin:0 34px;font-size:13px;display:flex}@media (width<=820px){.subscription-heading{padding:80px 22px 22px}.subscription-heading>span{left:22px}.subscription-content{grid-template-columns:1fr;padding-inline:18px}.subscription-current{padding:20px}.subscription-footer{margin-inline:18px}}@media (width<=520px){.subscription-plan{grid-template-columns:22px minmax(0,1fr)}.subscription-plan-price{text-align:left;grid-column:2;justify-items:start}.subscription-comparison-grid{grid-template-columns:110px repeat(3,minmax(64px,1fr));overflow-x:auto}}.account-dialog,.account-security-dialog{background:radial-gradient(circle at 24% 20%,#005bca1f,#0000 35%),#01070ee6}.account-dialog-card{background:radial-gradient(circle at 54% 18%,#18456c29,#0000 42%),linear-gradient(145deg,#071624fc,#030f1bfe);border:1px solid #3790eee6;border-radius:18px;width:min(920px,100vw - 40px);max-height:calc(100vh - 36px);padding:44px 40px 30px;position:relative;overflow:auto;box-shadow:0 30px 100px #000000a3,inset 0 0 65px #1551880d}.account-modal-close{z-index:3;color:#d7e2ef;cursor:pointer;border:1px solid #0000;border-radius:9px;width:48px;height:48px;font-size:34px;font-weight:300;line-height:1;position:absolute;top:28px;right:30px}.account-modal-close:hover{border-color:var(--border-strong);color:#fff;background:#3185ff14}.account-modal-close:focus-visible,.account-details-form button:focus-visible,.account-details-form input:focus-visible,.account-security-card button:focus-visible,.account-security-card input:focus-visible{outline-offset:2px;outline:3px solid #3e97ff6b}.account-modal-close.compact{width:42px;height:42px;font-size:29px;top:20px;right:20px}.account-modal-eyebrow{color:#73b1ff;letter-spacing:.08em;border:1px solid #2f8bea;border-radius:999px;align-items:center;min-height:34px;padding:0 18px;font-size:12px;font-weight:800;display:inline-flex}.account-modal-eyebrow.danger{color:#ff7f89;border-color:#ff596694}.account-modal-heading{margin-top:34px}.account-modal-heading h2,.account-security-card header h2{color:#f7f9fc;letter-spacing:-.025em;margin:0;font-size:36px}.account-modal-heading p,.account-security-card header p{color:#aebed0;margin:8px 0 0;font-size:18px;line-height:1.45}.account-profile-summary{align-items:center;gap:28px;margin:34px 0 28px;display:flex}.account-profile-avatar{color:#f7f9fc;background:radial-gradient(circle at 35% 30%,#173f6e,#07182a 72%);border:1px solid #318cff;border-radius:50%;flex:0 0 118px;place-items:center;width:118px;height:118px;display:grid;overflow:hidden;box-shadow:inset 0 0 30px #2882ff17}.account-profile-avatar img{object-fit:cover;width:100%;height:100%}.account-profile-avatar strong{letter-spacing:.02em;font-size:36px}.account-profile-copy{gap:7px;min-width:0;display:grid}.account-profile-copy>strong{color:#f6f9fd;font-size:22px}.account-profile-copy>span{color:#9fb1c4;font-size:17px}.account-provider-summary{align-items:center;gap:10px;display:flex}.account-provider-summary img{object-fit:contain;width:22px;height:22px}.account-email-provider-icon{border:1.5px solid #56a4ff;border-radius:2px;width:22px;height:16px;position:relative}.account-email-provider-icon:after{content:"";border-bottom:1.5px solid #56a4ff;border-right:1.5px solid #56a4ff;width:12px;height:10px;position:absolute;top:0;left:3px;transform:rotate(45deg)translate(-2px,-5px)}.account-details-form{background:#030e196b;border:1px solid #4c6f918c;border-radius:15px;gap:18px;padding:28px;display:grid}.account-details-form>label{color:#ccd8e5;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:18px;font-size:16px;display:grid}.account-details-form input,.account-readonly-field{background:#04111dc2;border:1px solid #496f93b8;border-radius:9px;width:100%;height:52px}.account-details-form>label>input{color:#f2f6fa;font:inherit;outline:0;padding:0 16px}.account-details-form>label>input:focus{border-color:#318cff;box-shadow:0 0 0 2px #318cff21}.account-readonly-field{grid-template-columns:minmax(0,1fr) 44px;align-items:center;display:grid}.account-readonly-field input{color:#788da2;height:50px;font:inherit;background:0 0;border:0;outline:0;padding:0 16px}.account-lock-icon{border:1.5px solid #4f657b;border-radius:2px;width:15px;height:13px;display:inline-block;position:relative}.account-lock-icon:before{content:"";border:1.5px solid #4f657b;border-bottom:0;border-radius:7px 7px 0 0;width:7px;height:8px;position:absolute;top:-8px;left:3px}.account-change-password,.account-save{cursor:pointer;border:1px solid #278aff;border-radius:9px;justify-content:center;align-items:center;gap:12px;width:100%;height:54px;font-size:18px;display:flex}.account-change-password{color:#62aaff;background:#03101d73}.account-change-password .account-lock-icon,.account-change-password .account-lock-icon:before{border-color:#278aff}.account-save{color:#fff;background:linear-gradient(#3489f6,#1f68d5);font-weight:750;box-shadow:inset 0 0 0 1px #ffffff1a}.account-save:disabled{color:#708499;cursor:not-allowed;box-shadow:none;background:#142a3f;border-color:#2a4d70}.account-form-message{color:#ff9b9b;text-align:center;min-height:18px;margin:-4px 0 -8px;font-size:12px}.account-danger-separator{background:#4966826b;height:1px;margin-top:2px}.account-delete{color:#ff626d;cursor:pointer;justify-self:center;align-items:center;gap:10px;padding:6px 16px;font-size:17px;display:flex}.account-trash-icon{border:1.5px solid;border-top:0;border-radius:0 0 2px 2px;width:14px;height:16px;position:relative}.account-trash-icon:before{content:"";border-top:1.5px solid;width:18px;position:absolute;top:-4px;left:-3px;box-shadow:6px -3px 0 -2px}.account-dialog-card>footer{color:#8295aa;text-align:center;padding-top:28px;font-size:15px}.account-security-card{background:linear-gradient(145deg,#071827,#03101c);border:1px solid #3790eed9;border-radius:16px;width:min(560px,100vw - 32px);padding:34px;position:relative;box-shadow:0 28px 90px #000000ad}.account-security-card header{margin:28px 0 24px;padding-right:30px}.account-security-card header h2{font-size:29px}.account-security-card header p{font-size:14px}.account-security-card form{gap:14px;display:grid}.account-security-card label{color:#aebed0;gap:6px;font-size:12px;font-weight:700;display:grid}.account-security-card input{border:1px solid var(--border-strong);color:#f2f6fa;width:100%;height:46px;font:inherit;background:#071522;border-radius:7px;outline:0;padding:0 13px}.account-security-card input:focus{border-color:#318cff}.account-security-card form>p{color:#ff9696;text-align:center;min-height:18px;margin:0;font-size:12px}.account-security-card form>div{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}.account-security-card form button{border:1px solid var(--border-strong);color:#cad7e4;cursor:pointer;border-radius:7px;height:44px}.account-security-card form button.primary{color:#fff;background:#1477ed;border-color:#278aff;font-weight:750}.account-security-card form button.danger{color:#fff;background:#7b202a;border-color:#a93643;font-weight:750}.account-details-form button:disabled,.account-security-card button:disabled,.account-security-card input:disabled{cursor:wait;opacity:.62}@media (width<=680px){.account-dialog-card{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:30px 20px 24px}.account-modal-heading{margin-top:24px}.account-modal-heading h2{font-size:30px}.account-profile-summary{gap:18px;margin-block:24px}.account-profile-avatar{flex-basis:82px;width:82px;height:82px}.account-profile-avatar strong{font-size:27px}.account-profile-copy>strong{font-size:18px}.account-profile-copy>span{font-size:14px}.account-details-form{padding:18px}.account-details-form>label{grid-template-columns:1fr;gap:7px}.account-modal-close{top:20px;right:18px}}.auth-dialog{background:radial-gradient(circle at 24% 24%,#005bca21,#0000 34%),radial-gradient(circle at 82% 76%,#e69d0012,#0000 31%),#01070ee0}.auth-dialog-card{background:radial-gradient(circle at 50% 25%,#153e622e,#0000 42%),linear-gradient(145deg,#071624fb,#030f1bfc);border:1px solid #4e8bc7c7;border-radius:18px;width:min(720px,100vw - 40px);height:min(690px,100vh - 40px);min-height:min(610px,100vh - 40px);position:relative;overflow:hidden;box-shadow:0 30px 100px #0000009e,inset 0 0 60px #1551880d}.auth-modal-close{z-index:3;border:1px solid var(--border-strong);color:#e8f1fb;cursor:pointer;border-radius:10px;width:54px;height:54px;font-size:35px;font-weight:300;line-height:1;position:absolute;top:24px;right:24px}.auth-modal-close:hover{background:#3185ff1a;border-color:#4e91d2}.auth-modal-close:active{transform:translateY(1px)}.auth-local-indicator{color:#77aef8;letter-spacing:.11em;border:1px solid #3185ff59;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800;position:absolute;top:25px;left:26px}.auth-dialog-form{grid-template-rows:auto minmax(0,1fr) auto;height:100%;padding:78px 74px 46px;display:grid}.auth-dialog-copy{text-align:center}.auth-dialog-copy>span{color:#2fb7ff;letter-spacing:.32em;font-size:13px;font-weight:750;display:block}.auth-dialog-copy h2{color:#f7f9fc;letter-spacing:-.025em;margin:26px 0 22px;font-size:clamp(36px,4vw,48px);line-height:1.04}.auth-dialog-copy p{color:#bccde0;max-width:510px;margin:0 auto;font-size:19px;line-height:1.5}.auth-dialog-stage{align-items:center;min-height:292px;display:grid}.auth-provider-view{align-content:center;gap:16px;width:100%;display:grid}.auth-provider-button{color:#f8fbff;cursor:pointer;background:#04111dc7;border:1px solid #557da4c7;border-radius:10px;justify-content:center;align-items:center;gap:20px;width:100%;height:72px;font-size:21px;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:flex}.auth-provider-button:active:not(:disabled){transform:translateY(1px)}.auth-provider-button:focus-visible,.auth-modal-close:focus-visible,.auth-not-now:focus-visible,.auth-dialog-footer button:focus-visible,.auth-email-actions button:focus-visible,.auth-forgot-password:focus-visible,.auth-password-control button:focus-visible{outline-offset:3px;outline:3px solid #3e97ff73}.auth-provider-button:disabled,.auth-email-actions button:disabled{cursor:wait;opacity:.62}.auth-google-button{background:linear-gradient(#1683ff,#0870ed);border-color:#4da9ff;box-shadow:0 0 0 4px #2d95ff1f,inset 0 0 0 1px #ffffff26}.auth-google-button:hover:not(:disabled){background:linear-gradient(#238dff,#0874f6)}.auth-google-button img{object-fit:contain;flex:0 0 28px;width:28px;height:28px}.auth-email-icon{border:2px solid #168cff;border-radius:3px;width:28px;height:21px;position:relative}.auth-email-icon:after{content:"";border-bottom:2px solid #168cff;border-right:2px solid #168cff;width:14px;height:14px;position:absolute;top:1px;left:4px;transform:rotate(45deg)translate(-2px,-6px)}.auth-not-now{color:#a9bfd4;cursor:pointer;justify-self:center;margin-top:8px;padding:8px 18px;font-size:17px}.auth-email-view{align-content:center;gap:9px;width:100%;min-height:290px;display:grid}.auth-field{color:#9fb2c6;letter-spacing:.04em;gap:5px;font-size:11px;font-weight:750;display:grid}.auth-field>input,.auth-password-control{border:1px solid var(--border-strong);background:#071522;border-radius:7px;width:100%;height:45px}.auth-field>input,.auth-password-control input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;padding:0 12px;font-size:14px}.auth-password-control{grid-template-columns:minmax(0,1fr) 54px;align-items:stretch;display:grid}.auth-password-control button{color:#76adff;cursor:pointer;font-size:11px}.auth-password-requirements{color:#8498ac;min-height:15px;margin:0;font-size:10px}.auth-form-message{color:#ff9696;text-align:center;min-height:18px;margin:0;font-size:11px;line-height:1.35}.auth-email-actions{grid-template-columns:112px 1fr;gap:10px;display:grid}.auth-email-actions button{border:1px solid var(--border-strong);cursor:pointer;border-radius:7px;height:43px}.auth-email-actions .primary{border-color:var(--accent-2);background:linear-gradient(#1683ff,#0870ed)}.auth-forgot-password{color:#33b7ff;cursor:pointer;justify-self:center;padding:6px 12px;font-size:11px}.auth-dialog-footer{text-align:center;align-self:end}.auth-dialog-footer>div{background:#5b77928c;height:1px;margin-bottom:27px}.auth-dialog-footer p{color:#9fb2c7;margin:0;font-size:16px}.auth-dialog-footer button{color:#25b6ff;cursor:pointer;padding:3px 5px}.auth-dialog-card[data-auth-panel=email] .auth-dialog-footer{visibility:hidden}.auth-dialog-card[data-auth-transitioning=true] .auth-dialog-form{opacity:.72}.help-view-badge{color:#76adff;letter-spacing:.06em;text-transform:uppercase;border:1px solid #3185ff8c;border-radius:999px;margin:22px 24px 0;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.help-intro{color:var(--text);margin:0 0 18px;font-size:18px;font-weight:700;line-height:1.4}.help-dialog-content ol{color:var(--muted);gap:10px;margin:0;padding-left:24px;font-size:14px;line-height:1.45;display:grid}.help-dialog-content li::marker{color:var(--accent-2);font-weight:800}.help-note{border-left:3px solid var(--accent);color:#c7d3df;background:#0b6cff17;margin:20px 0 0;padding:13px 14px;font-size:13px;line-height:1.45}.help-tip strong{color:#76adff;letter-spacing:.08em;margin-bottom:5px;font-size:11px;display:block}.help-tip p{margin:0}.help-dialog-footer{border-top:1px solid var(--border);color:var(--muted);gap:12px;padding:16px 24px 20px;font-size:12px;display:flex}.help-dialog-footer span{color:var(--green);text-transform:uppercase;font-weight:800}.help-dialog-footer p{margin:0}@media (width<=760px){.settings-sections{grid-template-columns:1fr}.settings-sections section:nth-child(odd){border-right:0}.auth-dialog-card{width:calc(100vw - 20px);height:calc(100vh - 20px);min-height:0}.auth-dialog-form{padding:70px 24px 32px}.auth-dialog-copy>span{font-size:10px}.auth-dialog-copy h2{margin:18px 0 14px;font-size:34px}.auth-dialog-copy p{font-size:15px}.auth-provider-button{height:60px;font-size:17px}.auth-dialog-stage{min-height:280px}.auth-modal-close{width:46px;height:46px;top:16px;right:16px}}@media (height<=850px){.hamburger{height:72px;padding-block:20px}.nav-item{gap:5px;min-height:82px;font-size:12px}.settings-item{margin-top:4px;padding-top:8px}.nav-help{gap:5px;min-height:62px;font-size:12px}}.work-panel,.inspector{background:var(--panel);overflow:hidden}.brand{border-bottom:1px solid var(--border);place-items:center;height:92px;padding:10px 14px;display:grid}.brand-logo-frame{place-items:center;width:100%;height:68px;display:grid}.brand-logo{width:min(100%,224px);height:auto;display:block}.panel-section{border-bottom:1px solid var(--border);margin:0 22px;padding:22px 0}.panel-section h2,.inspector h2,.inspect-card h3{letter-spacing:.02em;margin:0;font-size:15px;font-weight:800}.section-row{justify-content:space-between;align-items:center;display:flex}.secondary-button,.top-action,.select-control,.save-select,.save-row button,.quick-card button,.control,.zoom-control,.fit-control{height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);cursor:pointer;background:#0a131de0;justify-content:center;align-items:center;gap:10px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff04}.secondary-button{height:42px;padding:0 16px;font-size:14px}.plus,.chevron{width:16px;height:16px;display:inline-block;position:relative}.plus:before,.plus:after{content:"";background:currentColor;width:2px;height:12px;position:absolute;top:2px;left:7px}.plus:after{transform:rotate(90deg)}.chevron:before{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;position:absolute;top:2px;left:3px;transform:rotate(45deg)}.line-count{color:var(--muted);margin:24px 0 14px;font-size:16px}.hint-card{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#0b141de6;padding:16px 14px;font-size:14px;line-height:1.55}.line-list{gap:22px;margin:0;padding:28px 0 0;list-style:none;display:grid}.line-list li{grid-template-columns:18px 1fr 28px 22px;align-items:center;gap:12px;font-size:18px;display:grid}.line-list li.line-hidden .dot,.line-list li.line-hidden>span:nth-child(2){opacity:.42}.dot{border-radius:50%;width:14px;height:14px}.blue{background:var(--accent)}.green{background:var(--green)}.yellow{background:var(--yellow)}.mode-section{margin-top:auto}.mode-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.mode-button{border:1px solid var(--border-strong);background:var(--panel-2);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:4px;height:72px;font-size:13px;font-weight:650;display:flex}.mode-button.active,.view-tools button.active{border-color:var(--accent-2);background:linear-gradient(#0f7bff,#0869ed)}.status-section{border-bottom:0;min-height:158px}.ready-row{align-items:center;gap:12px;margin-top:18px;font-size:18px;font-weight:650;display:flex}.ready-row span{background:#55e6a8;border-radius:50%;width:14px;height:14px}.status-section p{color:var(--muted);font-size:16px;line-height:1.5}.main-area{background:var(--bg);grid-template-rows:92px minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--panel);z-index:20;grid-template-columns:minmax(100px,180px) minmax(140px,250px) minmax(6px,1fr) minmax(120px,170px) minmax(140px,190px) 42px 42px;align-items:start;column-gap:clamp(8px,1vw,16px);height:92px;padding:14px 18px 0;display:grid;position:relative;overflow:visible}.topbar>.top-field,.topbar>.top-action,.topbar>.designer-topbar,.topbar>.harbor-topbar,.topbar>.round-icon{transform:translateY(-8px)}.simulation-only.boat-field{grid-column:1}.simulation-only.harbor-field{grid-column:2}.simulation-only[data-action=new-simulation]{grid-column:4}.simulation-only[data-action=run-simulation]{grid-column:5}.topbar>.top-spacer{grid-column:3}.topbar>.round-icon[data-nav=Help]{grid-area:1/6}.topbar>.round-icon[data-nav=Settings]{grid-area:1/7}.boat-designer-view .topbar>.round-icon[data-nav=Help],.harbor-designer-view .topbar>.round-icon[data-nav=Help],.line-designer-view .topbar>.round-icon[data-nav=Help]{grid-column:3}.boat-designer-view .topbar>.round-icon[data-nav=Settings],.harbor-designer-view .topbar>.round-icon[data-nav=Settings],.line-designer-view .topbar>.round-icon[data-nav=Settings]{grid-column:4}.top-field{align-self:center;gap:5px;display:grid;position:relative}.top-field>span{color:var(--muted);letter-spacing:.05em;font-size:12px;font-weight:750}.harbor-field .select-control{width:100%}.select-control{justify-content:flex-start;width:100%;height:52px;padding:0 12px;font-size:16px}.select-control .chevron,.save-select .chevron{margin-left:auto}.top-action{width:100%;min-width:0;height:52px;margin-top:19px;padding:0 22px;font-size:15px;font-weight:700}.top-action.primary{border-color:var(--accent);background:linear-gradient(#0f7bff,#0869ed);min-width:0}.top-spacer{min-width:0}.account-area{min-width:0;position:relative}.account-trigger{cursor:pointer;text-align:left;background:radial-gradient(circle at 30% 0,#2670cf1f,#0000 48%),linear-gradient(145deg,#0d1f2ffa,#06121dfa);border:1px solid #3185ffb8;border-radius:14px;grid-template-columns:58px minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;min-height:94px;padding:14px 14px 14px 12px;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s;display:grid;box-shadow:inset 0 0 0 1px #6fb0ff0a,0 9px 25px #0000002e}.account-trigger:hover:not(:disabled),.account-trigger[aria-expanded=true]{background-color:#102235;border-color:#4c9bff;box-shadow:inset 0 0 0 1px #6fb0ff1a,0 10px 30px #0000003d}.account-trigger:active:not(:disabled){transform:translateY(1px)}.account-trigger:focus-visible{outline-offset:2px;outline:3px solid #3185ff4d}.account-trigger:disabled{cursor:wait;opacity:.72}.account-avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(145deg,#1756a085,#061c32eb);border:1px solid #599effb8;border-radius:50%;place-items:center;width:58px;height:58px;font-size:17px;font-weight:850;display:grid;box-shadow:inset 0 0 18px #3185ff17}.account-avatar-image{filter:brightness(0)invert();opacity:.92;width:32px;height:32px;display:block}.account-avatar.has-profile-image{overflow:hidden}.account-avatar.has-profile-image .account-avatar-image{object-fit:cover;filter:none;opacity:1;width:100%;height:100%}.account-avatar-initials{line-height:1}.account-area[data-auth-state=anonymous] .account-avatar{color:#eef6ff;background:linear-gradient(145deg,#123d6e85,#06182bf0);border-color:#5a9effb8}.account-area[data-auth-state=loading] .account-avatar{animation:1s ease-in-out infinite authPulse}.account-identity{gap:4px;min-width:0;display:grid}.account-identity>small{color:#9eb2c6;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;line-height:1.1;overflow:hidden}.account-primary-line,.account-secondary-line{align-items:center;gap:8px;min-width:0;display:flex}.account-primary-line strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.account-secondary-line{color:#91a4b8;font-size:10.5px;line-height:1.2}.account-secondary-line>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-provider-icon{flex:none;width:18px;height:18px}.account-cloud-icon{filter:brightness(0)saturate()invert(72%)sepia(11%)saturate(579%)hue-rotate(171deg)brightness(89%);flex:none;width:17px;height:17px}.account-chevron{filter:brightness(0)invert();opacity:.86;width:18px;height:18px;transition:transform .16s,opacity .16s;display:block}.account-trigger:hover .account-chevron{opacity:1}.account-trigger[aria-expanded=true] .account-chevron{transform:rotate(180deg)}.account-menu{z-index:80;border:1px solid var(--border-strong);background:#0a1722;border-radius:10px;width:100%;padding:7px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 55px #0000007a}.account-menu header{border-bottom:1px solid var(--border);gap:3px;padding:9px 9px 11px;display:grid}.account-menu header strong,.account-menu header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu header span{color:var(--muted);font-size:10px}.account-menu>button{color:#dce6ef;text-align:left;cursor:pointer;border-radius:4px;grid-template-columns:22px 1fr;align-items:center;width:100%;min-height:36px;padding:0 9px;font-size:12px;display:grid}.account-menu>button>span{color:#82b2fb;text-align:center}.account-menu-separator{background:var(--border);height:1px;margin:5px 4px}.account-error{z-index:90;color:#ff9b9b;background:#231116;border:1px solid #ff6f6f80;border-radius:7px;width:100%;padding:9px 11px;font-size:10px;line-height:1.4;position:absolute;top:calc(100% + 10px);right:0}@keyframes authPulse{50%{opacity:.35;transform:scale(.75)}}.round-icon{place-items:center;width:42px;height:42px;margin-top:22px;display:grid}.canvas-wrap{grid-template-rows:minmax(0,1fr) 88px;grid-template-columns:minmax(0,1fr);justify-items:stretch;min-width:0;min-height:0;padding:8px 10px 10px;display:grid;overflow:hidden}.canvas{--grid-size:48px;--grid-origin-x:50%;--grid-origin-y:50%;border:1px solid var(--border-strong);background:radial-gradient(circle at 52% 22%, #264c6438, transparent 40%), var(--panel);width:100%;min-width:0;max-width:100%;position:relative;overflow:hidden}.canvas.background-off{background:var(--panel)}.canvas.panning{cursor:grabbing}.grid-layer{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.grid-layer .grid-line{stroke:#ffffff13;stroke-width:1px;vector-effect:non-scaling-stroke}.grid-layer .axis-line{stroke:#ffffff47;stroke-width:1.25px}.canvas.background-off .grid-layer{display:none}.wind-overlay{--wind-angle:45deg;z-index:1;pointer-events:none;opacity:0;transition:opacity .35s;position:absolute;inset:0;overflow:hidden}.wind-overlay.simulation-active:not(.calm){opacity:1}.wind-tracer-field,.wind-ribbon-field{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wind-ribbon-field{display:none}.wind-tracer-field path,.wind-ribbon-field path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:blur(.22px)drop-shadow(0 0 1.5px #ffffff1f);will-change:d, opacity}.wind-field{display:none;position:absolute;inset:0}.wind-field i{width:var(--streak-width,1px);height:var(--streak-length,0px);filter:blur(.15px);opacity:var(--streak-opacity,0);transform-origin:50% 0;will-change:transform;background:linear-gradient(#fff0 0%,#ffffff80 12%,#ffffffad 24%,#ffffff42 48%,#fff0);border-radius:999px;position:absolute;top:0;left:0}body[data-wind-visual=ribbons] .wind-ribbon-field{display:block}body[data-wind-visual=ribbons] .wind-tracer-field,.boat-designer-view .wind-overlay,.harbor-designer-view .wind-overlay,body[data-simulation-mode=static] .wind-overlay,.reduced-motion .wind-overlay{display:none}@media (prefers-reduced-motion:reduce){.wind-overlay{display:none}}.simulation-setup-locked :is(button,input,select)[aria-disabled=true]{cursor:not-allowed;opacity:.42;filter:saturate(.35)}.simulation-setup-locked [aria-disabled=true]{pointer-events:none}.top-action.end-simulation{background:#75430a7a;border-color:#ffb54db8}.top-action .icon.stop-icon{background:currentColor;border-radius:2px;flex:0 0 14px;width:14px;height:14px;margin-inline:7px}.simulation-loading{z-index:30;color:#eef6ffe6;pointer-events:all;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#040d1647;flex-direction:column;justify-content:center;align-items:center;gap:13px;display:flex;position:absolute;inset:0}.simulation-loading strong{letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 8px #000000a6;font-size:12px}.simulation-loading-spinner{border:2px solid #ffffffeb;border-color:#ffffffeb #4d97ffb8 #ffffff29 #ffffff29;border-radius:50%;width:38px;height:38px;animation:.75s linear infinite simulation-loading-spin;box-shadow:0 0 22px #2d80ff33}@keyframes simulation-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.simulation-loading-spinner{animation-duration:1.8s}}.axis{display:none}.axis.vertical{width:1px;height:100%;top:0;left:50%}.axis.horizontal{width:100%;height:1px;top:50%;left:0}.boat-drawing{z-index:2;cursor:grab;pointer-events:none;width:150px;height:390px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.boat-drawing.custom-hull{display:none}.boat-drawing path{fill:none;stroke:#ffffffeb;stroke-width:2px}.interaction-layer{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.interaction-layer .mooring-object,.interaction-layer .boat-point{fill:var(--panel);stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .boat-point{fill:#071018;stroke:var(--accent-2)}.interaction-layer .boat-point-core{fill:var(--accent-2);stroke:#071018;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.interaction-layer .boat-point.selected-object{fill:var(--accent);stroke:#fff}.interaction-layer .boat-point.selected-object+.boat-point-core{fill:#fff;stroke:var(--accent)}.interaction-layer .connection-line{stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .dock-object{fill:#0a131db8;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .boat-hull{fill:#152d416b;fill-rule:evenodd;stroke:#fffffff0;stroke-width:2.2px;vector-effect:non-scaling-stroke}.interaction-layer .boat-hull.selected{stroke:var(--accent-2);stroke-width:3px}.interaction-layer .boat-detail{fill:none;stroke:#ffffffd1;stroke-width:1.7px;vector-effect:non-scaling-stroke}.interaction-layer .boat-control{fill:var(--panel);stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .boat-control.selected{fill:var(--accent);stroke:#fff}.interaction-layer .curve-control-line{stroke:#ffb347;stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.interaction-layer .curve-handle{fill:#ffb347;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .boat-reference-image{pointer-events:none}.interaction-layer .background-edit-frame{fill:none;stroke:#4d9cff;stroke-width:2px;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.interaction-layer .background-rotation-arm{stroke:#ffb347;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .background-resize-handle{fill:var(--panel);stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .background-rotation-handle{fill:#ffb347;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .scale-calibration-line{stroke:#ffb347;stroke-width:2.5px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.interaction-layer .scale-calibration-point{fill:#ffb347;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .object-label,.interaction-layer .measure-label{fill:#fff;paint-order:stroke;stroke:#050b12e6;stroke-width:4px;font-size:12px;font-weight:700}.interaction-layer .measure-line{stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.interaction-layer .measure-point{fill:var(--panel);stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.coord-readout{z-index:7;color:#f4f7fbd1;pointer-events:none;background:#050b12c2;border:1px solid #6984a085;border-radius:4px;min-width:92px;padding:7px 9px;font-size:12px;font-weight:650;line-height:1.35;position:absolute;bottom:16px;left:16px}.compass-rose{z-index:2;transform-origin:50%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 132 132' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-linejoin='round'%3E%3Ccircle cx='66' cy='72' r='37' stroke-width='1.45'/%3E%3Ccircle cx='66' cy='72' r='35' stroke-width='0.9'/%3E%3Ccircle cx='66' cy='72' r='8' stroke-width='1.7'/%3E%3Cpath d='M66 22 60 72 66 69 72 72zM66 122 60 72 66 75 72 72zM16 72 66 66 63 72 66 78zM116 72 66 66 69 72 66 78z' stroke-width='1.7'/%3E%3Cpath d='M29 35 57 68 66 72 62 63zM103 35 75 68 66 72 70 63zM103 109 75 76 66 72 70 81zM29 109 57 76 66 72 62 81z' stroke-width='1.45'/%3E%3C/g%3E%3Ctext x='66' y='17' text-anchor='middle' font-family='Arial, Helvetica, sans-serif' font-size='24' font-weight='700' fill='white'%3EN%3C/text%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:112px;height:112px;transition:transform .22s;position:absolute;top:52px;left:54px}.compass-rose span{display:none}.wind-control{--wind-angle:45deg;z-index:3;opacity:.86;transform-origin:100% 0;grid-template-rows:44px 28px 18px;grid-template-columns:42px 68px 42px;place-items:center;gap:1px 16px;display:grid;position:absolute;top:42px;right:18px;transform:scale(.72)}.wind-control button{background:#09121c85;border:1px solid #6984a0a8;border-radius:7px;grid-row:1;width:42px;height:42px}.wind-readout{text-align:center;color:#f4f7fbc2;grid-area:2/2;align-self:center;gap:0;display:grid}.wind-readout strong{letter-spacing:.02em;font-size:17px;line-height:1}.wind-readout span{font-size:12px;font-weight:600;line-height:1.1}.arrow-left,.arrow-right{border-bottom:3px solid #ffffffeb;border-left:3px solid #ffffffeb;width:16px;height:16px;display:inline-block}.arrow-left{transform:rotate(45deg)}.arrow-right{transform:rotate(225deg)}.wind-arrow{clip-path:none;width:40px;height:40px;transform:rotate(var(--wind-angle));transform-origin:50%;filter:drop-shadow(0 0 10px #ffffff1f);background:0 0;grid-area:1/2;transition:transform .12s linear;position:relative}.wind-arrow:before{content:"";background:#fff;width:6px;height:24px;position:absolute;top:12px;left:17px}.wind-arrow:after{content:"";border-bottom:15px solid #fff;border-left:12px solid #0000;border-right:12px solid #0000;width:0;height:0;position:absolute;top:4px;left:8px}.wind-control p{letter-spacing:.1em;color:#f4f7fbb8;grid-area:3/1/auto/4;margin:0;font-size:12px;font-weight:800}.scale{z-index:2;width:192px;position:absolute;bottom:42px;right:58px}.scale span{text-align:center;white-space:nowrap;margin-bottom:8px;font-size:16px;display:block}.scale i{border-top:1.5px solid #fff;border-left:1.5px solid #fff;border-right:1.5px solid #fff;height:10px;display:block}.scale-labels{justify-content:space-between;align-items:flex-start;width:100%;margin-top:3px;display:flex}.scale-labels b{white-space:nowrap;font-size:14px;font-weight:400;line-height:1}@media (width<=1100px){.scale{bottom:84px;right:14px}}.canvas-controls{border:1px solid var(--border);border-top:0;align-items:center;gap:22px;width:100%;min-width:0;max-width:100%;padding:18px 14px 0;display:flex;overflow:hidden}.control.pan{width:104px}.control.pan.active{background:var(--accent);border-color:#4d9cff}.control.background{justify-content:flex-start;width:220px;padding:0 16px}.control.background .toggle{margin-left:auto}.history-controls{grid-template-columns:44px 44px;gap:6px;margin-left:auto;display:grid}.history-controls button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-2);width:44px;height:44px;color:var(--text);cursor:pointer;place-items:center;padding:0;display:grid}.history-icon{background:currentColor;width:25px;height:25px;-webkit-mask:none 50%/contain no-repeat;mask:none 50%/contain no-repeat}.undo-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 7 4.5 12.5 10 18M5 12.5h10.2c5 0 8 2.6 8 7.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 7 4.5 12.5 10 18M5 12.5h10.2c5 0 8 2.6 8 7.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.redo-icon{transform:scaleX(-1);-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 7 4.5 12.5 10 18M5 12.5h10.2c5 0 8 2.6 8 7.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 7 4.5 12.5 10 18M5 12.5h10.2c5 0 8 2.6 8 7.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.history-controls button:hover:not(:disabled){border-color:var(--accent);background:#0b6cff1f}.history-controls button:disabled{opacity:.32;cursor:default}.zoom-control{gap:14px;width:230px;padding:0 12px 0 20px}.zoom-control button{border:1px solid var(--border-strong);border-radius:var(--radius);width:42px;height:36px;font-size:26px}.fit-control{width:50px}.toggle{background:var(--accent);border-radius:20px;width:52px;height:28px;position:relative}.toggle:not(.on){background:var(--panel-soft)}.toggle i{background:#fff;border-radius:50%;width:22px;height:22px;position:absolute;top:3px;right:3px}.toggle:not(.on) i{left:3px;right:auto}.inspector{border-right:0;padding:0 22px;overflow:auto}.inspector-account-slot{border-bottom:1px solid var(--border);padding:14px 0 16px}.inspector>.inspector-header{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:18px;height:62px;display:grid}.inspector>.inspector-header h2{margin-right:auto}.inspect-card{border-bottom:1px solid var(--border);padding:18px 0}.inspect-card h3{margin-bottom:14px}.selection-card strong{margin-bottom:14px;font-size:18px;display:block}.selection-card p{color:var(--muted);margin:0;line-height:1.55}.form-row{border:1px solid #223140cc;grid-template-columns:1fr 92px;align-items:center;height:40px;display:grid}.form-row span{color:var(--muted);padding-left:12px}.form-row input,.form-row select{width:100%;height:100%;color:var(--text);text-align:center;font:inherit;appearance:textfield;background:#07101880;border:0;border-left:1px solid #223140cc;outline:0;font-weight:760}.form-row select{text-align:left;appearance:auto;padding:0 8px;font-size:12px}.form-row input::-webkit-inner-spin-button{opacity:.45}.form-row input:focus,.form-row select:focus{box-shadow:inset 0 0 0 1px var(--accent);background:#0b6cff1f}.simulation-mode-selector{border:0;min-width:0;margin:0 0 12px;padding:0}.simulation-mode-selector legend{width:100%;color:var(--muted);letter-spacing:.02em;margin:0 0 8px;padding:0;font-size:12px;font-weight:720}.simulation-mode-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.simulation-mode-option{min-width:0;min-height:105px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:linear-gradient(155deg,#101d29eb,#071018f0);border:1px solid #374d61e6;border-radius:6px;padding:12px 10px 11px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;position:relative}.simulation-mode-option:hover:not(:disabled){background:linear-gradient(155deg,#142738f5,#08141ff5);border-color:#548fcde6;transform:translateY(-1px)}.simulation-mode-option:focus-visible{outline-offset:2px;outline:2px solid #509effe6}.simulation-mode-option.active,.simulation-mode-option[aria-pressed=true]{background:linear-gradient(150deg,#0e5bb452,#081828fa 72%);border-color:#2787ff;box-shadow:inset 0 0 0 1px #2787ff47,0 5px 18px #0058be1f}.simulation-mode-option:disabled{cursor:not-allowed;opacity:.58;transform:none}.simulation-mode-icon{color:#8ba0b3;background-color:currentColor;width:40px;height:28px;margin-bottom:8px;transition:color .16s;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.simulation-mode-option.active .simulation-mode-icon,.simulation-mode-option[aria-pressed=true] .simulation-mode-icon{color:#55a0ff}.dynamic-mode-icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2044'%20fill='none'%3e%3cg%20stroke='%23000'%20stroke-width='2.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M8%2012.5c8.4-6.1%2017.3-6.4%2027.6-3.8%207.7%202%2013.6%202.3%2016.8-1.2%202.8-3.1%201.2-7.1-2-7.4-3.2-.3-5.3%202.1-4.7%204.9'/%3e%3cpath%20d='M4%2025.1c10.6-9.7%2021.3-11.6%2035.8-7.9%2010.1%202.6%2017.4%205.6%2020.4.7%202.2-3.5.2-7.4-3.3-7.4-2.8%200-4.7%202.1-4.1%204.5'/%3e%3cpath%20d='M6.2%2034.4c10.1-8.8%2020.1-10.2%2032.8-6.6%207.9%202.2%2013.4%204.8%2018.2%202.4'/%3e%3cpath%20d='M13.4%2038.6c6.4-4.1%2013.5-4.2%2017.7-.9%203.7%202.9%202.8%206.1-.1%206.3'/%3e%3cpath%20d='M12.2%207.3c4-2.1%208.6-2.8%2013.3-2.3'%20stroke-dasharray='3.6%203.6'/%3e%3cpath%20d='M41.6%2036.1c3.5%201.5%206.8%202.2%209.8%202.1'%20stroke-dasharray='3.4%203.4'/%3e%3c/g%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2044'%20fill='none'%3e%3cg%20stroke='%23000'%20stroke-width='2.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M8%2012.5c8.4-6.1%2017.3-6.4%2027.6-3.8%207.7%202%2013.6%202.3%2016.8-1.2%202.8-3.1%201.2-7.1-2-7.4-3.2-.3-5.3%202.1-4.7%204.9'/%3e%3cpath%20d='M4%2025.1c10.6-9.7%2021.3-11.6%2035.8-7.9%2010.1%202.6%2017.4%205.6%2020.4.7%202.2-3.5.2-7.4-3.3-7.4-2.8%200-4.7%202.1-4.1%204.5'/%3e%3cpath%20d='M6.2%2034.4c10.1-8.8%2020.1-10.2%2032.8-6.6%207.9%202.2%2013.4%204.8%2018.2%202.4'/%3e%3cpath%20d='M13.4%2038.6c6.4-4.1%2013.5-4.2%2017.7-.9%203.7%202.9%202.8%206.1-.1%206.3'/%3e%3cpath%20d='M12.2%207.3c4-2.1%208.6-2.8%2013.3-2.3'%20stroke-dasharray='3.6%203.6'/%3e%3cpath%20d='M41.6%2036.1c3.5%201.5%206.8%202.2%209.8%202.1'%20stroke-dasharray='3.4%203.4'/%3e%3c/g%3e%3c/svg%3e")}.static-mode-icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3cg%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='24'%20cy='12.5'%20r='9.5'/%3e%3cpath%20d='M24%2022v10'/%3e%3cpath%20d='M6%2032h36'/%3e%3cpath%20d='M6%2041h36'/%3e%3c/g%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3cg%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='24'%20cy='12.5'%20r='9.5'/%3e%3cpath%20d='M24%2022v10'/%3e%3cpath%20d='M6%2032h36'/%3e%3cpath%20d='M6%2041h36'/%3e%3c/g%3e%3c/svg%3e")}.mode-copy{padding-right:12px;display:block}.mode-copy strong{color:#f5f8fc;font-size:12px;line-height:1.2;display:block}.mode-copy small{color:#8397aa;margin-top:4px;font-size:9px;line-height:1.3;display:block}.mode-check{border:1px solid #42596e;border-radius:50%;width:13px;height:13px;position:absolute;bottom:10px;right:9px}.simulation-mode-option.active .mode-check,.simulation-mode-option[aria-pressed=true] .mode-check{background:#2787ff;border-color:#2787ff}.simulation-mode-option.active .mode-check:after,.simulation-mode-option[aria-pressed=true] .mode-check:after{content:"";border-bottom:1.5px solid #fff;border-right:1.5px solid #fff;width:4px;height:6px;position:absolute;top:2px;left:3px;transform:rotate(45deg)}.simulation-mode-native{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.simulation-draft-status{background:#f6c24414;border:1px solid #f6c2445c;border-radius:4px;grid-template-columns:8px 1fr;align-items:center;column-gap:8px;margin-top:10px;padding:9px 10px;display:grid}.simulation-draft-status[hidden]{display:none}.simulation-draft-status>span{background:#f6c244;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #f6c24485}.simulation-draft-status strong{color:#f8d77e;font-size:11px}.simulation-draft-status small{color:var(--muted);grid-column:2;margin-top:2px;font-size:10px}.form-row.readonly input{color:#f4f7fb9e;cursor:not-allowed;background:#07101847}.form-row.readonly input::-webkit-inner-spin-button{display:none}.save-name-input{width:100%;height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-2);color:var(--text);outline:0;padding:0 11px}.save-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.save-picker{position:relative}.save-combo{grid-template-columns:minmax(0,1fr) 44px;display:grid}.save-combo .save-name-input{border-radius:var(--radius) 0 0 var(--radius)}.save-combo .save-select{border-radius:0 var(--radius) var(--radius) 0;border-left:0;width:44px;padding:0}.save-combo .save-select .chevron{margin:0}.save-menu{z-index:50;border:1px solid var(--border-strong);border-radius:var(--radius);max-height:190px;box-shadow:var(--shadow);background:#0d1823;padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.save-menu[hidden]{display:none}.save-menu-empty{color:var(--muted);text-align:center;padding:10px;font-size:12px}.save-menu-item{grid-template-columns:minmax(0,1fr) 32px;gap:3px;display:grid}.save-menu-item+.save-menu-item{margin-top:3px}.save-menu-item button{border-radius:3px;height:34px}.save-menu-choice{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 9px;overflow:hidden}.save-menu-choice.selected{border-color:var(--accent);background:#0b6cff38}.save-menu-delete{color:#ff8989;font-size:18px}.save-row{grid-template-columns:1fr 1fr .8fr;gap:10px;margin-top:10px;display:grid}.save-row button{height:42px}.view-tools{gap:10px;display:flex}.view-tools button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-2);place-items:center;width:46px;height:46px;display:grid}.quick-card{gap:8px;display:grid}.quick-card h3{margin-bottom:4px}.quick-card button{justify-content:flex-start;width:100%;padding-left:48px;font-size:16px}.specification-card h3{margin-bottom:14px}.specification-feature-paused{display:none!important}.specification-button{width:100%;height:var(--control-h);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;background:#0a131de0;border:1px solid #308bffb8;justify-content:flex-start;align-items:center;gap:14px;padding:0 18px;font-size:15px;font-weight:700;display:flex;box-shadow:inset 0 0 0 1px #ffffff04}.specification-button .icon{background:#4d9cff;width:30px;height:30px}.specification-button:hover{border-color:var(--accent);background:#0b6cff1f}.specification-button:focus-visible{outline-offset:2px;outline:2px solid #70adff}.specification-button:active{background:#0b6cff33}.specification-card p{color:var(--muted);text-align:center;margin:12px 4px 0;font-size:12px;line-height:1.45}.specification-overlay{z-index:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#01070de6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.specification-overlay[hidden]{display:none}.specification-shell{border:1px solid var(--border-strong);background:#07111a;border-radius:10px;grid-template-rows:64px minmax(0,1fr);width:min(1500px,100%);height:min(900px,100vh - 48px);min-height:0;display:grid;overflow:hidden;box-shadow:0 28px 80px #00000094}.specification-toolbar{border-bottom:1px solid var(--border);background:#08121cfa;justify-content:space-between;align-items:center;gap:20px;padding:0 18px 0 24px;display:flex}.specification-toolbar>span{color:var(--muted);letter-spacing:.11em;font-size:11px;font-weight:800}.specification-toolbar>div{align-items:center;gap:10px;display:flex}.specification-download,.specification-close{border:1px solid var(--border-strong);border-radius:var(--radius);height:40px;color:var(--text);font:inherit;cursor:pointer;background:#0a131de6;font-weight:700}.specification-download{border-color:#308bffb8;padding:0 20px}.specification-close{width:40px;padding:0;font-size:28px;font-weight:400;line-height:1}.specification-download:hover,.specification-close:hover{border-color:var(--accent);background:#0b6cff21}.specification-download:focus-visible,.specification-close:focus-visible{outline-offset:2px;outline:2px solid #70adff}.specification-document-host{min-width:0;min-height:0;padding:34px;overflow:hidden auto}.specification-document{width:min(1400px,100%);min-width:0;color:var(--text);margin:0 auto}.specification-document-header{border-bottom:1px solid var(--border-strong);grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);align-items:end;gap:40px;padding:0 0 26px;display:grid}.specification-document-header span{color:var(--accent-2);letter-spacing:.13em;font-size:11px;font-weight:800}.specification-document-header h1{letter-spacing:-.025em;margin:7px 0 0;font-size:32px}.specification-document-header dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;display:grid}.specification-document-header dl div,.specification-line-summary div{min-width:0}.specification-document dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.specification-document dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;font-weight:700}.specification-lines{gap:24px;padding-top:24px;display:grid}.specification-line{border:1px solid var(--border);break-inside:avoid-page;background:#040a10a3;border-radius:8px;min-width:0;padding:20px 18px 16px;overflow:hidden}.specification-line>header{justify-content:space-between;align-items:start;gap:30px;display:flex}.specification-line h2{margin:0;font-size:20px}.specification-line-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:340px;margin:0;display:grid}.specification-line-drawing{background:0 0;min-width:0;margin-top:8px;overflow:hidden}.specification-line-svg{width:100%;max-width:none;margin:0 auto}.specification-line-svg .assembled-line-component{cursor:default}.specification-line-svg .line-component-name{font-size:9px}.specification-line-svg .line-component-length{font-size:8px}.specification-line-svg .assembled-line-component:hover .line-component-geometry{color:inherit}.specification-line-svg .assembled-line-component:hover .line-component-name{fill:#f5f7fa}.line-specification-break rect{fill:#07111a;stroke:#cbd6e073;stroke-width:1px}.line-specification-break path{fill:none;stroke:#f5f7fa;stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.specification-component-list{grid-template-columns:repeat(var(--component-count), minmax(100px, 1fr));gap:4px;width:100%;min-width:0;margin:0;padding:0;list-style:none;display:grid;overflow-x:auto}.specification-component{background:#0a131d7a;border:1px solid #223140b8;border-radius:4px;grid-template-columns:18px minmax(0,1fr);gap:7px;min-width:0;padding:8px 7px;display:grid}.specification-component-order{color:#8fc0ff;border:1px solid #308bffa6;border-radius:50%;place-items:center;width:17px;height:17px;font-size:10px;font-weight:800;display:grid}.specification-component strong{overflow-wrap:anywhere;min-height:24px;margin:1px 0 4px;font-size:10px;line-height:1.2;display:block;overflow:hidden}.specification-component dl{gap:2px;margin:0;display:grid}.specification-component dl div{min-width:0;display:block}.specification-component dt{display:none}.specification-component dd{color:#dce5ed;overflow-wrap:anywhere;margin:0;font-size:9px;font-weight:650;line-height:1.25;overflow:hidden}.specification-no-components,.specification-empty{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;margin:22px 0 0;padding:22px}body.specification-open{overflow:hidden}@media (width<=760px){.specification-overlay{padding:10px}.specification-shell{grid-template-rows:58px minmax(0,1fr);height:calc(100vh - 20px)}.specification-document-host{padding:20px 14px}.specification-document-header{grid-template-columns:1fr;gap:20px}.specification-document-header dl{grid-template-columns:1fr 1fr}.specification-line>header{display:grid}.specification-line-summary{width:100%;min-width:0}.specification-component-list{grid-template-columns:repeat(var(--component-count), minmax(110px, 1fr))}}.icon{flex:none;width:28px;height:28px;display:inline-block;position:relative}.nav-item .icon{width:36px;height:36px}.mode-button .icon{width:42px;height:36px}.mode-button .select-icon{width:38px;height:39px}.mode-button .dock-icon{width:48px;height:34px}.mode-button .pile-icon{width:34px;height:40px}.mode-button .ring-icon{width:38px;height:40px}.mode-button .mooring-buoy-icon{width:34px;height:40px}.mode-button .cleat-icon{width:50px;height:30px}.mode-button .ruler-icon{width:38px;height:38px}.view-tools .icon{width:34px;height:34px}.quick-card .icon{width:36px;height:36px}.canvas-controls .icon{width:34px;height:34px}.select-control .icon,.top-action .icon{width:28px;height:28px}.select-icon,.dock-icon,.pile-icon,.ring-icon,.cleat-icon,.ruler-icon,.pulley-icon,.link-icon,.fit-icon,.hand-icon,.image-icon,.eraser-icon,.trash-icon,.reset-icon,.rotate-view-icon,.compass-mini,.boat-icon,.harbor-icon,.gear-icon,.help-icon,.sail-icon,.pin-icon,.new-doc-icon,.play-icon,.target-icon,.rotate-tool-icon,.damper-icon,.anchor-tool-icon,.mooring-buoy-icon{background:#fff;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.rotate-tool-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M39 17A17 17 0 0 0 10 12'/%3E%3Cpath d='M9 5v8h8'/%3E%3Cpath d='M9 31a17 17 0 0 0 29 5'/%3E%3Cpath d='M39 43v-8h-8'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M39 17A17 17 0 0 0 10 12'/%3E%3Cpath d='M9 5v8h8'/%3E%3Cpath d='M9 31a17 17 0 0 0 29 5'/%3E%3Cpath d='M39 43v-8h-8'/%3E%3C/g%3E%3C/svg%3E")}.damper-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 54 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h8l4-11 6 22 6-22 6 22 6-22 4 11h8'/%3E%3Ccircle cx='4' cy='21' r='3'/%3E%3Ccircle cx='50' cy='21' r='3'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 54 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h8l4-11 6 22 6-22 6 22 6-22 4 11h8'/%3E%3Ccircle cx='4' cy='21' r='3'/%3E%3Ccircle cx='50' cy='21' r='3'/%3E%3C/g%3E%3C/svg%3E")}.anchor-tool-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='8' r='5'/%3E%3Cpath d='M24 13v29M15 21h18M7 31c2 9 8 14 17 14s15-5 17-14M7 31l-4 5M41 31l4 5'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='8' r='5'/%3E%3Cpath d='M24 13v29M15 21h18M7 31c2 9 8 14 17 14s15-5 17-14M7 31l-4 5M41 31l4 5'/%3E%3C/g%3E%3C/svg%3E")}.mooring-buoy-icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2076'%20fill='none'%3e%3cg%20id='mooring-buoy-icon'%20stroke='%23fff'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3ccircle%20cx='32'%20cy='10'%20r='7.5'/%3e%3cpath%20d='M28.1%2016.4v8.1M35.9%2016.4v8.1M25.5%2024.5h13'/%3e%3cpath%20d='M25.5%2024.5C13.4%2027.7%206%2038.4%206%2051.5'/%3e%3cpath%20d='M38.5%2024.5C50.6%2027.7%2058%2038.4%2058%2051.5'/%3e%3cpath%20d='M6%2051.5c12.8%204.2%2039.2%204.2%2052%200'/%3e%3cpath%20d='M6%2051.5v5.4c12.8%204.2%2039.2%204.2%2052%200v-5.4'/%3e%3cpath%20d='M10%2063.5c11.8%203.7%2032.2%203.7%2044%200'/%3e%3cpath%20d='M18.5%2070.2c7.7%202.5%2019.3%202.5%2027%200'/%3e%3c/g%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2076'%20fill='none'%3e%3cg%20id='mooring-buoy-icon'%20stroke='%23fff'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3ccircle%20cx='32'%20cy='10'%20r='7.5'/%3e%3cpath%20d='M28.1%2016.4v8.1M35.9%2016.4v8.1M25.5%2024.5h13'/%3e%3cpath%20d='M25.5%2024.5C13.4%2027.7%206%2038.4%206%2051.5'/%3e%3cpath%20d='M38.5%2024.5C50.6%2027.7%2058%2038.4%2058%2051.5'/%3e%3cpath%20d='M6%2051.5c12.8%204.2%2039.2%204.2%2052%200'/%3e%3cpath%20d='M6%2051.5v5.4c12.8%204.2%2039.2%204.2%2052%200v-5.4'/%3e%3cpath%20d='M10%2063.5c11.8%203.7%2032.2%203.7%2044%200'/%3e%3cpath%20d='M18.5%2070.2c7.7%202.5%2019.3%202.5%2027%200'/%3e%3c/g%3e%3c/svg%3e")}.work-panel{flex-direction:column;display:flex}.brand{flex:0 0 92px}.layers-section{flex-direction:column;flex:300px;min-height:235px;padding-bottom:10px;display:flex;overflow:hidden}.mode-section{flex:none;margin-top:0;padding-top:14px;padding-bottom:14px}.status-section{flex:0 0 158px;padding-top:14px}.quick-card button.active{background:var(--accent);border-color:#4d9cff}.canvas.rotate-view-mode{cursor:crosshair}.canvas.rotating-view{cursor:grabbing}.layer-tabs{border-bottom:1px solid var(--border);grid-template-columns:1.25fr .72fr .92fr;gap:4px;margin-top:14px;padding-bottom:10px;display:grid}.layer-tabs button{border:1px solid var(--border);min-width:0;height:32px;color:var(--muted);background:var(--panel-2);cursor:pointer;border-radius:3px;padding:0 6px;font-size:10px;font-weight:750}.layer-tabs button.active{color:#fff;border-color:var(--accent);background:#0b6cff3d}.layer-content{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin;flex:1;min-height:0;padding:8px 2px 8px 0;overflow-y:auto}.layer-empty{border:1px solid var(--border);color:var(--muted);border-radius:4px;margin:8px 0;padding:12px;font-size:12px;line-height:1.45}.layer-group{margin-bottom:3px;position:relative}.layer-row{cursor:pointer;border:1px solid #0000;border-radius:3px;grid-template-columns:16px 12px minmax(0,1fr) 24px 22px;align-items:center;gap:6px;min-height:36px;padding:3px 3px 3px 5px;font-size:12px;display:grid}.layer-row:hover{background:#ffffff09}.layer-row.selected{border-color:var(--accent);background:#0b6cff2e}.layer-row.validation-invalid{background:#ff374e14;box-shadow:inset 3px 0 #ff6978}.layer-row.inactive{opacity:.38}.layer-row.child{grid-template-columns:12px minmax(0,1fr) 24px 22px;padding-left:23px}.layer-row .disclosure{color:var(--muted);text-align:center;font-size:10px}.layer-row .layer-type-icon{color:#c9d2dc;border:1px solid;border-radius:2px;width:10px;height:10px}.layer-row .line-swatch{border:0;border-radius:50%}.layer-row .layer-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layer-rename-input{border:1px solid var(--accent);color:#fff;width:100%;min-width:0;height:26px;font:inherit;background:#050b12;border-radius:2px;outline:none;padding:0 5px}.layer-eye,.layer-menu-button{width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:3px}.layer-eye:hover,.layer-menu-button:hover{color:#fff;background:#ffffff14}.layer-menu-button{font-size:17px;line-height:1}.layer-properties{border-left:1px solid var(--border-strong);color:var(--muted);background:#0b141db8;margin:2px 0 5px 34px;padding:8px;font-size:11px}.layer-property-row{justify-content:space-between;align-items:center;gap:6px;margin:4px 0;display:flex}.layer-property-row input,.selection-field input{border:1px solid var(--border-strong);color:#fff;background:#050b12;border-radius:3px;width:66px;height:26px;padding:0 6px}.layer-property-row input.invalid,.selection-field input.invalid{color:#ff8b8b;border-color:#ff6565}.property-warning{color:#ff7f7f;margin-top:5px;line-height:1.35}.layer-inline-action,.selection-action{border:1px solid var(--border-strong);background:var(--panel-2);color:#fff;cursor:pointer;border-radius:3px;width:100%;min-height:30px;margin-top:6px;font-size:11px}.selection-action.danger{color:#ff9797}.selection-action:disabled,.designer-wide-button:disabled{opacity:.35;cursor:not-allowed}.layer-menu{z-index:30;border:1px solid var(--border-strong);width:148px;box-shadow:var(--shadow);background:#0d1823;border-radius:4px;padding:4px;position:absolute;top:34px;right:2px}.layer-menu button{text-align:left;cursor:pointer;border-radius:2px;width:100%;height:30px;padding:0 8px;font-size:12px}.layer-menu button:hover{background:#ffffff12}.layer-menu.open-upward{top:auto;bottom:34px}.layer-menu-flip{align-items:center;gap:7px;display:flex}.layer-menu-flip span{color:var(--accent-2);font-size:15px;line-height:1}.layer-menu .delete{color:#ff7a7a}.line-summary-header,.mooring-overview-row{grid-template-columns:minmax(0,1.43fr) minmax(0,.83fr) minmax(0,.72fr) minmax(0,.58fr);align-items:center;gap:4px;display:grid}.line-summary-header{border-bottom:1px solid var(--border);color:var(--muted);padding:4px 2px 8px;font-size:9px;line-height:1.15}.line-summary-header span:not(:first-child){text-align:right}.line-summary-group{margin:0}.layer-row.mooring-overview-row{border-bottom:1px solid var(--border);border-radius:0;min-height:34px;padding:4px 2px;font-size:10px;position:relative}.line-summary-name{align-items:center;gap:4px;min-width:0;display:flex}.line-summary-name .disclosure{flex:0 0 9px;padding:0}.line-summary-name .line-swatch{flex:0 0 7px;width:7px;height:7px}.line-summary-name .layer-name{min-width:0}.line-summary-name .layer-rename-input{min-width:0;height:23px;padding-inline:2px}.line-summary-value{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0}.line-summary-state{background:var(--panel-2);text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:9px;min-width:0;padding:3px 2px;font-size:9px;overflow:hidden}.line-summary-actions{z-index:2;border:1px solid var(--border);background:var(--panel);border-radius:3px;gap:3px;padding:2px;display:none;position:absolute;top:100%;right:1px}.mooring-overview-row:hover .line-summary-actions,.mooring-overview-row:focus-within .line-summary-actions,.mooring-overview-row.selected .line-summary-actions{display:flex}.line-summary-count{color:var(--muted);text-align:right;margin:8px 2px 0;font-size:10px}.line-summary-group .layer-properties{margin-left:12px}.line-summary-group .layer-menu{top:58px}.line-summary-group .layer-menu.open-upward{top:auto;bottom:34px}.boat-drawing{transform:translate(-50%, -50%) rotate(var(--boat-angle,0deg));transform-origin:50%}.boat-drawing.selected path{stroke:var(--accent-2);stroke-width:3px}.interaction-layer .connection-line{cursor:pointer}.interaction-layer .connection-line.selected{stroke:var(--accent-2);stroke-width:4px}.interaction-layer .connection-line.hidden{opacity:.18}.interaction-layer .connection-line.slack{opacity:.48;stroke-dasharray:7 5}.interaction-layer .connection-line.taut{opacity:1}.interaction-layer .connection-line.overloaded,.interaction-layer .simulation-designed-line.overloaded{color:#ff9f43;stroke:#ff9f43}.interaction-layer .connection-line.overstretched{stroke-dasharray:4 3;stroke:#ff6b6b!important}.interaction-layer .simulation-designed-line{color:inherit;cursor:pointer}.interaction-layer .simulation-designed-hitarea{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke}.interaction-layer .simulation-designed-connector{display:none}.interaction-layer .simulation-line-component{color:inherit;pointer-events:none}.interaction-layer .simulation-line-component .line-simple-rope{stroke-width:3px}.interaction-layer .simulation-line-component .line-steel-spring-end-cap,.interaction-layer .simulation-line-component .line-steel-spring-middle{stroke-width:2px}.interaction-layer .simulation-designed-line.slack{opacity:.48}.interaction-layer .simulation-designed-line.taut{opacity:1}.interaction-layer .simulation-designed-line.hidden{opacity:.18}.interaction-layer .simulation-designed-line.selected{filter:drop-shadow(0 0 3px #4d9cff)}.interaction-layer .simulation-component-chain.overconstrained{opacity:.7}.interaction-layer .inactive-object,.boat-drawing.inactive{opacity:.12}.interaction-layer .dock-object{fill:url(#dockHatch)}.interaction-layer .dock-object.selected{stroke:var(--accent-2);stroke-width:3px}.interaction-layer .dock-collision-overlap{fill:#ff2438;fill-opacity:.92;stroke:#ff3044;stroke-width:5px;vector-effect:non-scaling-stroke;pointer-events:none}.interaction-layer .selected-object{stroke:var(--accent-2);stroke-width:3px}.interaction-layer .dock-control{fill:#071018;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .dock-control.selected{fill:var(--accent);stroke:#fff}.canvas.drawing-dock{cursor:crosshair}.interaction-layer .dock-draft-area{fill:url(#dockHatch);stroke:none;pointer-events:none}.interaction-layer .dock-draft-line,.interaction-layer .dock-draft-preview{fill:none;stroke:var(--accent-2);stroke-width:2.5px;vector-effect:non-scaling-stroke;pointer-events:none}.interaction-layer .dock-draft-closing{stroke:#4d9cff9e;stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.interaction-layer .dock-draft-point{fill:var(--accent-2);stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.interaction-layer .dock-draft-point.start{fill:#ffb347}.harbor-delete-element{justify-content:center;align-items:center;width:auto;min-height:28px;margin:12px 0 0 auto;padding:0 11px;display:flex}.interaction-layer .damper-symbol{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke;vector-effect:non-scaling-stroke}.interaction-layer .damper-backline{fill:none;stroke:#071018;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.interaction-layer .damper-backplate{fill:#071018;stroke:var(--border-strong);stroke-width:1px}.interaction-layer .damper-symbol.selected{stroke:var(--accent-2);stroke-width:4px}.interaction-layer .damper-symbol.inactive,.interaction-layer .damper-backline.inactive{opacity:.12}.interaction-layer .anchor-object{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.interaction-layer .pulley-object{fill:var(--panel);stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.interaction-layer .pulley-object.selected-object{fill:var(--panel);stroke:var(--accent-2);stroke-width:3px}.interaction-layer .mooring-buoy-object{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.interaction-layer .mooring-buoy-object.selected-object{stroke:var(--accent-2);stroke-width:3px}.interaction-layer .buoy-anchor-chain{fill:none;stroke:#ffffff94;stroke-width:1.6px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.interaction-layer .buoy-anchor-marker{fill:var(--panel);stroke:#ffffffe6;stroke-width:2px;vector-effect:non-scaling-stroke}.interaction-layer .buoy-anchor-marker.selected,.interaction-layer .buoy-anchor-chain.selected{stroke:var(--accent-2)}.interaction-layer .buoy-anchor-radius{fill:#3185ff0e;stroke:#3185ff9e;stroke-width:1.5px;stroke-dasharray:7 6;vector-effect:non-scaling-stroke;pointer-events:none}.interaction-layer .rotation-guide{fill:none;stroke:var(--accent-2);stroke-width:2px;stroke-dasharray:5 4}.canvas.adding-dock-point{cursor:crosshair}.canvas.adding-dock-point .dock-object.selected{stroke:var(--accent-2);stroke-width:4px;stroke-dasharray:7 4}.canvas.adding-boat-control{cursor:crosshair}.canvas.adding-boat-control .boat-hull.selected{stroke-dasharray:7 4;stroke-width:4px}.designer-left{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.harbor-left{flex-direction:column;min-height:0;display:flex;overflow:hidden}.harbor-layer-tabs{grid-template-columns:.7fr .9fr 1.5fr}.harbor-layer-tabs button{padding-inline:4px;font-size:10px}.harbor-layer-content{min-height:120px;padding-right:2px;overflow:auto}.harbor-mode-grid{grid-template-columns:repeat(2,1fr)}.harbor-mode-grid .mode-button{height:76px}.harbor-topbar,.designer-topbar,.line-designer-topbar{grid-column:1/3;justify-content:space-between;align-self:start;align-items:center;gap:24px;min-width:0;height:76px;display:flex}.harbor-topbar>div,.designer-topbar>div,.line-designer-topbar>div{gap:7px;display:grid}.harbor-topbar>div>span,.designer-topbar>div>span,.line-designer-topbar>div>span{color:var(--muted);letter-spacing:.08em;font-size:12px;font-weight:800}.harbor-topbar>div>strong,.designer-topbar>div>strong,.line-designer-topbar>div>strong{font-size:18px}.harbor-topbar .top-action,.designer-topbar .top-action,.line-designer-topbar .top-action{width:190px;height:52px;margin-top:0;padding-inline:22px}.harbor-designer-view .wind-control{display:none}.harbor-designer-view .topbar,.boat-designer-view .topbar{grid-template-columns:minmax(460px,1fr) minmax(10px,1fr) 42px 42px}.harbor-designer-view .top-spacer{display:none}.harbor-inspector{display:block}.harbor-reference-help{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.45}.harbor-selection-content strong{margin-bottom:7px;display:block}.harbor-selection-content p{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.5}.harbor-select-menu{z-index:20;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 14px 34px #0000005c}.harbor-select-menu button{width:100%;min-height:38px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px}.harbor-select-menu button:hover{background:#0b6cff29}.harbor-select-menu small{color:var(--muted);margin-top:3px;display:block}.line-designer-icon{background:#fff;width:42px;height:34px;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 56 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h10M42 20h10M14 20c0-9 13-9 13 0s13 9 13 0'/%3E%3Ccircle cx='8' cy='20' r='4'/%3E%3Ccircle cx='48' cy='20' r='4'/%3E%3C/g%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 56 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h10M42 20h10M14 20c0-9 13-9 13 0s13 9 13 0'/%3E%3Ccircle cx='8' cy='20' r='4'/%3E%3Ccircle cx='48' cy='20' r='4'/%3E%3C/g%3E%3C/svg%3E") 50%/contain no-repeat}.line-designer-left{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.line-component-layers{flex:1;min-height:190px;overflow:hidden}.line-component-count{color:var(--muted);white-space:nowrap;font-size:11px}.line-component-list{max-height:calc(100% - 36px);margin-top:12px;overflow-y:auto}.line-designer-layer-row{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;grid-template-columns:25px minmax(0,1fr) 25px 25px 27px;align-items:center;gap:4px;min-height:48px;margin-bottom:5px;padding:5px 7px;display:grid}.line-designer-layer-row:hover{background:#ffffff09}.line-designer-layer-row.selected{border-color:var(--accent);background:#0b6cff33}.line-component-index{color:var(--muted);font-size:10px;font-weight:800}.line-component-layer-name{gap:2px;min-width:0;font-size:12px;font-weight:700;display:grid}.line-component-layer-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.line-order-button,.line-remove-button{border:1px solid var(--border);cursor:pointer;border-radius:3px;width:25px;height:27px}.line-order-button:hover{border-color:var(--accent-2)}.line-order-button:disabled{opacity:.25;cursor:default}.line-remove-button{color:#ff8f8f;font-size:17px}.line-component-palette{flex:none;padding-block:14px}.component-palette-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;display:grid}.component-palette-button{border:1px solid var(--border-strong);border-radius:var(--radius);text-align:left;cursor:pointer;grid-template-columns:38px 1fr;align-items:center;gap:5px;min-height:42px;padding:4px 6px;font-size:10px;font-weight:700;display:grid}.component-palette-button:hover{border-color:var(--accent-2);background:#0b6cff1f}.component-symbol{color:var(--accent-2);text-align:center;font-size:22px}.component-artwork-icon{color:var(--accent-2);place-items:center;display:grid}.component-artwork-icon svg{display:block;overflow:visible}.component-palette-icon,.component-palette-icon svg{width:38px;height:28px}.component-artwork-icon .line-simple-rope{stroke-width:4px}.component-artwork-icon .line-steel-spring-end-cap,.component-artwork-icon .line-steel-spring-middle{stroke-width:2px}.line-designer-view .topbar{grid-template-columns:minmax(460px,1fr) minmax(10px,1fr) 42px 42px}.line-designer-view .top-spacer,.line-designer-view .canvas,.line-designer-view .canvas-controls{display:none}.line-designer-view .status-section{flex-basis:135px;min-height:135px;padding-block:14px}.line-designer-view .status-section p{margin-top:10px;font-size:11px}.line-designer-workspace{background-color:#07111a;flex-direction:column;flex:1;min-height:0;padding:42px 42px 24px;display:flex}.line-chain-heading{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.line-chain-heading>div:first-child{gap:6px;display:grid}.line-chain-heading span{color:var(--muted);letter-spacing:.09em;font-size:11px;font-weight:800}.line-chain-heading strong{font-size:22px}.line-design-summary{color:var(--muted);gap:18px;font-size:12px;display:flex}.line-design-summary strong{color:var(--text);font-size:12px}.line-chain-scroll{border:1px solid var(--border);background:#040a10ad;border-radius:8px;min-height:270px;margin-top:72px;padding:40px 28px 70px;overflow:auto hidden}.line-chain{justify-content:center;align-items:center;min-width:max-content;height:150px;display:flex}.line-chain-component{border:2px solid var(--border-strong);cursor:pointer;background:#0b1722;place-items:center;min-width:72px;height:74px;padding:10px 12px;transition:all .15s;display:grid;position:relative}.line-chain-component+.line-chain-component{margin-left:18px}.line-chain-component+.line-chain-component:before{content:"";background:var(--muted);width:20px;height:3px;position:absolute;right:100%}.line-chain-component:hover{border-color:var(--accent-2)}.line-chain-component.selected{border-color:var(--accent-2);background:#102844;box-shadow:0 0 0 3px #3185ff38}.line-chain-component .component-symbol{font-size:30px}.line-chain-component label{text-align:center;width:120px;font-size:11px;font-weight:700;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.line-chain-component small{color:var(--muted);white-space:nowrap;font-size:10px;position:absolute;top:calc(100% + 28px);left:50%;transform:translate(-50%)}.line-designer-view .line-chain-scroll{--line-grid-size:48px;background-color:#03090fd1;background-image:linear-gradient(#46647d29 1px,#0000 1px),linear-gradient(90deg,#46647d29 1px,#0000 1px);background-position:50%;background-size:var(--line-grid-size) var(--line-grid-size);min-height:320px;margin-top:42px;padding:28px 18px 52px;position:relative}.line-designer-view .line-chain{place-items:center;width:max-content;min-width:100%;height:260px;display:grid}.assembled-line-svg{flex:none;max-width:none;font-family:inherit;display:block;overflow:visible}.assembled-line-baseline{fill:none;stroke:#f7f9fb61;stroke-width:3px;vector-effect:non-scaling-stroke}.assembled-line-component{color:#f5f7fa;cursor:pointer;outline:none}.line-component-hitarea{fill:#0000;stroke:none}.line-component-geometry{color:inherit}.line-simple-rope{fill:none;stroke:currentColor;stroke-width:7px;stroke-linecap:butt;vector-effect:non-scaling-stroke}.line-reference-silhouette{vector-effect:non-scaling-stroke}.line-steel-spring-end-cap,.line-steel-spring-middle{fill:none;stroke:currentColor;stroke-width:2.695px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.line-rubber-spring-rounded-rect{fill:currentColor}.line-rubber-wrap-shadow,.line-rubber-wrap-highlight{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.line-rubber-wrap-shadow{stroke:#8794a0;stroke-width:1.25px}.line-rubber-wrap-highlight{stroke:#f5f7fab3;stroke-width:.55px}.line-part-connector,.line-fitting-shape,.line-chain-front-link,.line-chain-join,.line-spring-coil,.line-rope-body,.line-rope-twist,.line-damper-body,.line-damper-stem,.line-shackle-bow,.line-shackle-pin,.line-thimble-outer,.line-thimble-inner,.line-carabiner-body,.line-carabiner-gate,.line-carabiner-pivot,.line-swivel-eye,.line-swivel-stem,.line-swivel-body{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.line-part-connector{stroke-width:5px}.line-fitting-shape,.line-chain-front-link{stroke-width:4.5px}.line-chain-join{stroke-width:5px}.line-rope-body{fill:#f5f7fa;stroke-width:1px}.line-rope-twist{stroke:#071018;stroke-width:5px}.line-spring-coil{stroke-width:4px}.line-damper-body{fill:#f5f7fa;stroke-width:2px}.line-damper-stem{stroke-width:8px}.line-shackle-bow,.line-shackle-pin{stroke-width:7px}.line-shackle-nut,.line-thimble-neck,.line-swivel-body{fill:currentColor}.line-thimble-outer{fill:currentColor;stroke-width:1px}.line-thimble-inner{fill:#071018;stroke:#071018;stroke-width:1px}.line-carabiner-body{stroke-width:8px}.line-carabiner-gate{stroke:#071018;stroke-width:5px}.line-carabiner-pivot{fill:#071018;stroke-width:2px}.line-swivel-eye,.line-swivel-stem{stroke-width:7px}.line-swivel-body{stroke-width:1px}.line-component-name,.line-component-length,.line-total-label{fill:#f5f7fa;pointer-events:none}.line-component-name{font-size:11px;font-weight:700}.line-component-length{fill:var(--muted);font-size:10px;font-weight:600}.line-component-separator{fill:none;stroke:#cbd6e061;stroke-width:1px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke;pointer-events:none}.line-component-label-leader{fill:none;stroke:#cbd6e047;stroke-width:1px;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;pointer-events:none}.line-component-selection{fill:none;stroke:var(--accent-2);stroke-width:3px;stroke-linecap:round;opacity:0;vector-effect:non-scaling-stroke;pointer-events:none}.assembled-line-component:hover .line-component-geometry{color:#d9e8ff}.assembled-line-component:hover .line-component-name{fill:#d9e8ff}.assembled-line-component:focus-visible .line-component-selection,.assembled-line-component.selected .line-component-selection{opacity:1}.assembled-line-component.selected .line-component-name{fill:#73adff}.line-length-bracket{fill:none;stroke:#cbd6e09e;stroke-width:1.25px;vector-effect:non-scaling-stroke}.line-total-label{font-size:13px;font-weight:700}.line-chain-empty{width:520px;color:var(--muted);text-align:center;line-height:1.6}.line-chain-help{color:var(--muted);text-align:center;margin:18px 0 0;font-size:12px}.line-metric-scale{z-index:3;width:192px;height:38px;color:var(--text);pointer-events:none;align-content:end;display:grid;position:sticky;bottom:10px;left:calc(100% - 210px)}.line-metric-scale>span{white-space:nowrap;font-size:11px;font-weight:700;position:absolute;bottom:23px;right:0}.line-metric-scale>i{border:1px solid var(--text);border-bottom:0;width:100%;height:9px;position:relative}.line-scale-labels{justify-content:space-between;width:100%;font-size:10px;line-height:1;display:flex}.line-scale-labels b{white-space:nowrap;font-weight:600;transform:translate(-50%)}.line-scale-labels b:last-child{transform:translate(0)}.line-designer-controls{justify-content:center;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.line-designer-zoom-group{align-items:center;gap:12px;display:flex}.line-designer-controls .zoom-control{min-width:278px}.line-designer-controls .fit-control{width:48px;height:48px}.line-chain-scroll{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#60758a #0b1722}.line-chain-scroll:hover{scrollbar-color:#9badbd #0b1722}.line-chain-scroll::-webkit-scrollbar{height:12px}.line-chain-scroll::-webkit-scrollbar-track{background:#0b1722;border-radius:999px}.line-chain-scroll::-webkit-scrollbar-thumb{background:#60758a padding-box padding-box;border:3px solid #0b1722;border-radius:999px;min-width:48px}.line-chain-scroll:hover::-webkit-scrollbar-thumb{background:#9badbd padding-box padding-box;border-color:#0b1722}.line-chain-scroll:hover::-webkit-scrollbar-thumb:hover{background:#9badbd padding-box padding-box;border-color:#0b1722}.line-component-inspector{gap:12px;display:grid}.line-component-inspector>p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.line-component-inspector .designer-field+.designer-field{margin-top:0}.line-component-derived{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);gap:6px;padding:10px;font-size:11px;display:grid}.line-component-derived span,.line-summary-row{justify-content:space-between;gap:12px;display:flex}.line-component-derived strong,.line-summary-row strong{color:var(--text)}.line-design-properties{color:var(--muted);gap:8px;font-size:12px;display:grid}.line-summary-warning{color:#ffd88a;background:#ffbe2d12;border:1px solid #705828;margin-top:4px;padding:9px;font-size:11px;line-height:1.4}.line-design-save-name{border:1px solid var(--border-strong);border-radius:var(--radius) 0 0 var(--radius);background:var(--panel-2);width:100%;height:42px;color:var(--text);font:inherit;outline:none;padding:0 10px}.line-design-save-name:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.line-design-apply-dialog{z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#010509b8;place-items:center;display:grid;position:fixed;inset:0}.line-design-dialog-card{border:1px solid var(--border-strong);background:#0a141e;border-radius:8px;width:min(430px,100vw - 40px);padding:24px;box-shadow:0 24px 80px #0000008c}.line-design-dialog-card h2{margin:0 0 10px;font-size:19px}.line-design-dialog-card p{color:var(--muted);margin:0 0 16px;font-size:12px;line-height:1.5}.apply-line-design-select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-2);width:100%;height:44px;color:var(--text);padding:0 10px}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:18px;display:flex}.dialog-actions button{border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;min-width:105px;height:40px}.dialog-actions .primary{border-color:var(--accent);background:var(--accent)}.line-component-child{grid-template-columns:16px 28px minmax(0,1fr) auto;min-height:40px;padding-left:30px}.component-layer-icon,.component-layer-icon svg{width:28px;height:24px}.line-component-child .layer-eye,.line-component-child .layer-menu-button{display:none}.line-component-child-status{color:var(--muted);white-space:nowrap;font-size:10px}.line-component-child.selected{color:#fff}.designer-layers-section{flex:auto;min-height:180px;overflow:hidden}.designer-layer-content{max-height:calc(100% - 30px);margin-top:14px;overflow-y:auto}.designer-layer-tabs{grid-template-columns:1fr 1fr}.designer-layer-tabs button{font-size:11px}.designer-layer-row{text-align:left;cursor:pointer;border:1px solid #0000;border-radius:3px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:42px;padding:0 8px;display:grid}.designer-layer-group{margin-bottom:3px;position:relative}.designer-layer-group .designer-layer-row{grid-template-columns:18px minmax(0,1fr) auto 24px}.designer-layer-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.designer-layer-menu-button{width:24px;height:24px;color:var(--muted);cursor:pointer;border-radius:3px;font-size:17px;line-height:1}.designer-layer-menu-button:hover{color:#fff;background:#ffffff14}.designer-rename-input{height:28px}.designer-layer-group .layer-menu{top:38px}.designer-layer-group .layer-menu.open-upward{top:auto;bottom:38px}.designer-layer-row.child{color:var(--muted);padding-left:26px}.designer-layer-row.selected{color:#fff;border-color:var(--accent);background:#0b6cff33}.designer-layer-row small{color:var(--muted);font-size:11px}.structure-point-icon,.boat-point-layer-icon{border:2px solid var(--muted);background:var(--panel);width:12px;height:12px}.boat-point-layer-icon{border-color:var(--accent-2);width:10px;height:10px;margin:1px;transform:rotate(45deg)}.designer-tools-section{flex:none;padding-top:14px}.designer-mode-grid{grid-template-columns:repeat(2,1fr)}.designer-mode-grid .mode-button{height:76px}.boat-designer-view .wind-control,.boat-designer-view .top-spacer{display:none}.designer-inspector{display:block}.designer-field{color:var(--muted);gap:7px;font-size:12px;display:grid}.designer-field input,.designer-field select,.boat-save-name,.harbor-save-name{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-2);width:100%;height:42px;color:var(--text);font:inherit;outline:none;padding:0 10px}.designer-field input:focus,.designer-field select:focus,.boat-save-name:focus,.harbor-save-name:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.designer-dimensions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.shape-summary{color:var(--muted);gap:4px;margin:14px 0 10px;font-size:12px;display:grid}.shape-summary strong{color:var(--text);font-size:13px}.wind-profile-card{padding-block:0}.wind-profile-toggle{cursor:pointer;text-align:left;align-items:center;gap:12px;width:100%;min-height:54px;padding:0;display:flex}.wind-profile-toggle h3{margin:0}.wind-profile-chevron{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:9px;height:9px;margin-left:auto;transition:transform .16s;transform:rotate(45deg)translate(-2px,2px)}.wind-profile-toggle[aria-expanded=true] .wind-profile-chevron{transform:rotate(225deg)translate(-2px,2px)}.wind-profile-content{padding:0 0 16px}.wind-profile-help{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.45}.wind-profile-overview{border:1px solid var(--border);border-radius:var(--radius);background:#0a131da6;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px;min-height:70px;margin-bottom:12px;padding:9px 10px;display:grid}.wind-profile-diagram{width:104px;height:48px}.wind-profile-diagram path{fill:#3185ff1f;stroke:var(--accent-2);stroke-width:2px;vector-effect:non-scaling-stroke}.wind-profile-dimensions{gap:6px;display:grid}.wind-profile-dimensions label{color:var(--muted);grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:6px;font-size:9px;line-height:1.2;display:grid}.wind-profile-dimensions input{border:1px solid var(--border);background:var(--panel);width:58px;height:26px;color:var(--text);border-radius:3px;padding:0 6px;font-size:10px;font-weight:700}.wind-profile-content .designer-field+.designer-field{margin-top:10px}.designer-wide-button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-2);cursor:pointer;justify-content:center;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;display:flex}.designer-wide-button+.designer-wide-button{margin-top:8px}.designer-wide-button.danger{color:#ff9797;margin-top:12px}.designer-upload-button{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--panel-2);cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.designer-upload-button input{opacity:0;width:1px;height:1px;position:absolute}.background-empty-note,.scale-help{color:var(--muted);font-size:12px;line-height:1.5}.background-controls{gap:10px;margin-top:12px;display:grid}.background-primary-row{grid-template-columns:minmax(0,.8fr) minmax(132px,1.2fr);align-items:end;gap:10px;display:grid}.background-primary-row .background-edit-button{height:42px}.background-scale-tools{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:9px;padding:12px 0;display:grid}.background-scale-options{gap:10px;padding:2px 2px 0;display:grid}.background-scale-options[hidden]{display:none}.background-scale-button{justify-content:center;align-items:center;gap:10px;display:flex}.background-scale-button .icon{width:24px;height:24px}.background-scale-button.active{color:#fff;border-color:var(--accent);background:var(--accent)}.background-transform-summary{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);text-align:center;padding:9px 10px;font-size:12px}.background-edit-button.active{background:var(--accent);border-color:var(--accent-2)}.scale-result{gap:10px;display:grid}.scale-measured-distance{color:#ffcc83;font-size:12px}.set-scale-icon{background:#fff;width:38px;height:30px;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 56 34' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='25' r='5'/%3E%3Ccircle cx='48' cy='9' r='5'/%3E%3Cpath d='M12 23 44 11M18 20l3 5M27 16l3 5M36 12l3 5'/%3E%3C/g%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 56 34' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='25' r='5'/%3E%3Ccircle cx='48' cy='9' r='5'/%3E%3Cpath d='M12 23 44 11M18 20l3 5M27 16l3 5M36 12l3 5'/%3E%3C/g%3E%3C/svg%3E") 50%/contain no-repeat}.designer-selection-content strong{margin-bottom:7px;display:block}.designer-selection-content p{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.5}.boat-save-combo .boat-save-name,.harbor-save-combo .harbor-save-name{border-radius:var(--radius) 0 0 var(--radius)}.boat-select-menu{z-index:80;border:1px solid var(--border-strong);border-radius:var(--radius);max-height:260px;box-shadow:var(--shadow);background:#0d1823;padding:5px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto}.boat-select-menu button{text-align:left;cursor:pointer;border-radius:3px;gap:2px;width:100%;min-height:44px;padding:7px 10px;display:grid}.boat-select-menu button:hover{background:#0b6cff2e}.boat-select-menu small{color:var(--muted)}.selection-content .selection-field{margin-top:12px}.selection-field label{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.selection-meta{color:var(--muted);font-size:12px;line-height:1.5}@media (height<=900px){.mode-button{height:62px}.mode-grid{gap:6px;margin-top:9px}.mode-section{padding-top:10px;padding-bottom:10px}.status-section{flex-basis:150px;min-height:150px}.ready-row{margin-top:10px;font-size:15px}.status-section p{font-size:12px}}.select-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5v32l10-9 7 14 8-4-7-13h12L12 5z' fill='none' stroke='white' stroke-width='2.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5v32l10-9 7 14 8-4-7-13h12L12 5z' fill='none' stroke='white' stroke-width='2.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E")}.dock-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M5 10h38M5 30h38M5 5v30M43 5v30M13 10v20M20 10v20M27 10v20M34 10v20'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M5 10h38M5 30h38M5 5v30M43 5v30M13 10v20M20 10v20M27 10v20M34 10v20'/%3E%3C/g%3E%3C/svg%3E")}.pile-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 40 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='5' width='22' height='10' rx='5'/%3E%3Cpath d='M14 15v25M26 15v25M7 40h26'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 40 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='5' width='22' height='10' rx='5'/%3E%3Cpath d='M14 15v25M26 15v25M7 40h26'/%3E%3C/g%3E%3C/svg%3E")}.ring-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8'%3E%3Ccircle cx='22' cy='20' r='16'/%3E%3Ccircle cx='22' cy='36' r='7'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8'%3E%3Ccircle cx='22' cy='20' r='16'/%3E%3Ccircle cx='22' cy='36' r='7'/%3E%3C/g%3E%3C/svg%3E")}.cleat-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 56 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h48M4 9l13 2 4 13h-9v5h32v-5h-9l4-13 13-2M23 15h10l-2 9h-6z'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 56 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h48M4 9l13 2 4 13h-9v5h32v-5h-9l4-13 13-2M23 15h10l-2 9h-6z'/%3E%3C/g%3E%3C/svg%3E")}.ruler-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round' transform='rotate(-45 24 24)'%3E%3Crect x='8' y='16' width='32' height='14'/%3E%3Cpath d='M14 16v7M20 16v5M26 16v7M32 16v5M36 23h.1'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round' transform='rotate(-45 24 24)'%3E%3Crect x='8' y='16' width='32' height='14'/%3E%3Cpath d='M14 16v7M20 16v5M26 16v7M32 16v5M36 23h.1'/%3E%3C/g%3E%3C/svg%3E")}.compass-mini{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Ccircle cx='26' cy='26' r='17'/%3E%3Cpath d='M26 5v42M5 26h42M13 13l26 26M39 13L13 39'/%3E%3Cpath d='M26 9l5 17-5 17-5-17z'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Ccircle cx='26' cy='26' r='17'/%3E%3Cpath d='M26 5v42M5 26h42M13 13l26 26M39 13L13 39'/%3E%3Cpath d='M26 9l5 17-5 17-5-17z'/%3E%3C/g%3E%3C/svg%3E")}.boat-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linejoin='round'%3E%3Cpath d='M22 4l12 12-3 30H13l-3-30z'/%3E%3Crect x='17' y='17' width='10' height='14'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linejoin='round'%3E%3Cpath d='M22 4l12 12-3 30H13l-3-30z'/%3E%3Crect x='17' y='17' width='10' height='14'/%3E%3C/g%3E%3C/svg%3E")}.harbor-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M26 6v30M20 11a6 6 0 0 0 12 0a6 6 0 0 0-12 0M10 30c5 13 27 13 32 0M16 29l-7-7M36 29l7-7M26 36v8'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M26 6v30M20 11a6 6 0 0 0 12 0a6 6 0 0 0-12 0M10 30c5 13 27 13 32 0M16 29l-7-7M36 29l7-7M26 36v8'/%3E%3C/g%3E%3C/svg%3E")}.gear-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round'%3E%3Ccircle cx='26' cy='26' r='12'/%3E%3Ccircle cx='26' cy='26' r='4'/%3E%3Cpath d='M26 4v8M26 40v8M4 26h8M40 26h8M10 10l6 6M36 36l6 6M42 10l-6 6M16 36l-6 6'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round'%3E%3Ccircle cx='26' cy='26' r='12'/%3E%3Ccircle cx='26' cy='26' r='4'/%3E%3Cpath d='M26 4v8M26 40v8M4 26h8M40 26h8M10 10l6 6M36 36l6 6M42 10l-6 6M16 36l-6 6'/%3E%3C/g%3E%3C/svg%3E")}.help-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round'%3E%3Ccircle cx='22' cy='22' r='18'/%3E%3Cpath d='M17 17a5 5 0 0 1 10 1c0 5-5 4-5 9M22 33h.1'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round'%3E%3Ccircle cx='22' cy='22' r='18'/%3E%3Cpath d='M17 17a5 5 0 0 1 10 1c0 5-5 4-5 9M22 33h.1'/%3E%3C/g%3E%3C/svg%3E")}.sail-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3C31 10 35 20 34 31l-5 10H15l-5-10C9 20 13 10 22 3Z'/%3E%3Cpath d='M15 23h14v10H15zM22 7v13'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3C31 10 35 20 34 31l-5 10H15l-5-10C9 20 13 10 22 3Z'/%3E%3Cpath d='M15 23h14v10H15zM22 7v13'/%3E%3C/g%3E%3C/svg%3E")}.pin-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.5' stroke-linejoin='round'%3E%3Cpath d='M22 40s13-13 13-24a13 13 0 0 0-26 0c0 11 13 24 13 24z'/%3E%3Ccircle cx='22' cy='16' r='5'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.5' stroke-linejoin='round'%3E%3Cpath d='M22 40s13-13 13-24a13 13 0 0 0-26 0c0 11 13 24 13 24z'/%3E%3Ccircle cx='22' cy='16' r='5'/%3E%3C/g%3E%3C/svg%3E")}.new-doc-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5h18l8 8v26H9zM27 5v9h8M16 25h12M22 19v12'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5h18l8 8v26H9zM27 5v9h8M16 25h12M22 19v12'/%3E%3C/g%3E%3C/svg%3E")}.play-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 6v24l20-12z' fill='white'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 6v24l20-12z' fill='white'/%3E%3C/svg%3E")}.target-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round'%3E%3Ccircle cx='26' cy='26' r='15'/%3E%3Ccircle cx='26' cy='26' r='4'/%3E%3Cpath d='M26 4v12M26 36v12M4 26h12M36 26h12'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round'%3E%3Ccircle cx='26' cy='26' r='15'/%3E%3Ccircle cx='26' cy='26' r='4'/%3E%3Cpath d='M26 4v12M26 36v12M4 26h12M36 26h12'/%3E%3C/g%3E%3C/svg%3E")}.pulley-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 56' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='22' cy='8' r='6'/%3E%3Cpath d='M15 15c-5 6-7 20 0 30M29 15c5 6 7 20 0 30M15 15h14M15 45h14M22 45v7'/%3E%3Ccircle cx='22' cy='31' r='4'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 56' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='22' cy='8' r='6'/%3E%3Cpath d='M15 15c-5 6-7 20 0 30M29 15c5 6 7 20 0 30M15 15h14M15 45h14M22 45v7'/%3E%3Ccircle cx='22' cy='31' r='4'/%3E%3C/g%3E%3C/svg%3E")}.link-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='5' stroke-linecap='round' transform='rotate(-45 26 26)'%3E%3Crect x='5' y='18' width='23' height='16' rx='8'/%3E%3Crect x='24' y='18' width='23' height='16' rx='8'/%3E%3Cpath d='M20 26h12'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='5' stroke-linecap='round' transform='rotate(-45 26 26)'%3E%3Crect x='5' y='18' width='23' height='16' rx='8'/%3E%3Crect x='24' y='18' width='23' height='16' rx='8'/%3E%3Cpath d='M20 26h12'/%3E%3C/g%3E%3C/svg%3E")}.eye{cursor:pointer;background:0 0;border:0;width:30px;height:22px;padding:0;display:block;position:relative}.eye:before{content:"";clip-path:polygon(0 50%,12% 24%,30% 8%,50% 0,70% 8%,88% 24%,100% 50%,88% 76%,70% 92%,50% 100%,30% 92%,12% 76%);background:#f4f7fbf2;width:26px;height:14px;position:absolute;top:4px;left:2px}.eye:after{content:"";background:var(--panel);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:10px;box-shadow:inset 0 0 0 3px #f4f7fbf2}.eye.is-hidden{opacity:.72}.eye.is-hidden:after{content:"";width:24px;height:4px;box-shadow:0 0 0 2px var(--panel);background:#fff;border-radius:999px;top:10px;left:4px;transform:rotate(-45deg)}.eye.is-hidden:before{opacity:.82}.overflow:before{content:"";background:#fff;border-radius:50%;width:4px;height:4px;display:block;box-shadow:8px 0 #fff,16px 0 #fff}.fit-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18V7h11M30 7h11v11M41 30v11H30M18 41H7V30'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18V7h11M30 7h11v11M41 30v11H30M18 41H7V30'/%3E%3C/g%3E%3C/svg%3E")}.hand-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 56' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 50c-7-6-10-12-9-19 0-3 4-4 7-1V14a4 4 0 0 1 8 0v13-19a4 4 0 0 1 8 0v19-14a4 4 0 0 1 8 0v22c0 6-3 11-7 15'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 48 56' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 50c-7-6-10-12-9-19 0-3 4-4 7-1V14a4 4 0 0 1 8 0v13-19a4 4 0 0 1 8 0v19-14a4 4 0 0 1 8 0v22c0 6-3 11-7 15'/%3E%3C/g%3E%3C/svg%3E")}.image-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='36' height='26'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3Cpath d='M7 27l10-9 8 7 5-6 8 8'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 44 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='36' height='26'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3Cpath d='M7 27l10-9 8 7 5-6 8 8'/%3E%3C/g%3E%3C/svg%3E")}.eraser-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 34L29 10a5 5 0 0 1 7 0l7 6a5 5 0 0 1 .5 7L24 44H14z'/%3E%3Cpath d='M24 44h20M18 24l14 13'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 34L29 10a5 5 0 0 1 7 0l7 6a5 5 0 0 1 .5 7L24 44H14z'/%3E%3Cpath d='M24 44h20M18 24l14 13'/%3E%3C/g%3E%3C/svg%3E")}.trash-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 15h32M20 15V9h12v6M15 15l2.5 30h17L37 15'/%3E%3Cpath d='M23 23v14M29 23v14'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 15h32M20 15V9h12v6M15 15l2.5 30h17L37 15'/%3E%3Cpath d='M23 23v14M29 23v14'/%3E%3C/g%3E%3C/svg%3E")}.reset-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M42 18a18 18 0 1 0 1 18M42 18v-9M42 18h-9'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M42 18a18 18 0 1 0 1 18M42 18v-9M42 18h-9'/%3E%3C/g%3E%3C/svg%3E")}.rotate-view-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 54 54' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 19V9h10M34 9h10v10M44 35v10H34M20 45H10V35'/%3E%3Cpath d='M17 28a11 11 0 0 1 18-8l3 3M38 16v7h-7M37 28a11 11 0 0 1-18 8l-3-3M16 40v-7h7'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 54 54' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 19V9h10M34 9h10v10M44 35v10H34M20 45H10V35'/%3E%3Cpath d='M17 28a11 11 0 0 1 18-8l3 3M38 16v7h-7M37 28a11 11 0 0 1-18 8l-3-3M16 40v-7h7'/%3E%3C/g%3E%3C/svg%3E")}@media (width<=1280px){.app-shell{grid-template-columns:76px 258px minmax(0,1fr) 286px}.inspector{padding-inline:14px}.account-trigger{grid-template-columns:50px minmax(0,1fr) 16px;gap:8px;min-height:88px;padding:11px 10px}.account-avatar{width:50px;height:50px}.account-avatar-image{width:29px;height:29px}.account-primary-line strong{font-size:12px}.account-secondary-line{font-size:10px}.account-chevron{width:16px;height:16px}.topbar{grid-template-columns:minmax(90px,118px) minmax(120px,138px) minmax(4px,1fr) minmax(105px,122px) minmax(125px,142px) 38px 38px;column-gap:6px;padding-left:10px;padding-right:10px}.topbar>.round-icon{width:38px;height:38px}}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view){--bg:#f7f9fc;--panel:#fff;--panel-2:#f0f3f7;--card:#fff;--border:#e0e6ed;--border-strong:#cbd5e1;--text:#172232;--muted:#637286;--accent:#315f96;--accent-2:#315f96;--shadow:0 10px 30px #1422341f}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .app-shell{background:#fff;grid-template-columns:82px 310px minmax(0,1fr) 310px}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .nav-rail,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .work-panel,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .inspector,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .topbar{background:#fff}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .nav-item.active{color:#172232;background:#edf1f6;box-shadow:inset 3px 0 #506176}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .nav-item:hover,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .nav-help:hover{background:#f1f4f8}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .hamburger span{background:#172232}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .brand-logo{filter:brightness(0)saturate()}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .icon{background-color:#213047}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .top-action.primary{color:#fff;background:#263344;border-color:#263344}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .top-action.primary .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .control.active .icon{background-color:#fff}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) :is(.secondary-button,.top-action:not(.primary),.select-control,.save-select,.save-row button,.quick-card button,.control,.zoom-control,.fit-control,.history-controls button,.zoom-control button,.mode-button,.layer-tabs button){color:#172232;box-shadow:none;background:#fff;border-color:#d7dfe8}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-button.active,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .layer-tabs button.active{color:#172232;background:#e8edf3;border-color:#bdc9d7}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .layer-row:hover{background:#f4f6f9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .layer-row.selected{background:#eaf0f7;border-color:#b7c7d9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) :is(.layer-properties,.layer-menu,.layer-rename-input,.layer-property-row input,.selection-field input,.save-name-input,.save-menu){color:#172232;background:#fff}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .line-summary-header{color:#58677a;padding-block:8px;font-size:10px;font-weight:650}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .line-summary-state{color:#273747;background:#edf1f5}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-grid-primary{gap:7px;margin-top:12px}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button{gap:3px;height:68px;font-size:12px;font-weight:600}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button .icon{width:32px;height:30px}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button .cleat-icon{width:41px;height:25px}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button .dock-icon{width:40px;height:29px}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .more-tools{margin-top:11px}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .more-tools summary{color:#647286;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:31px;font-size:12px;font-weight:550;list-style:none;display:flex}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .more-tools summary::-webkit-details-marker{display:none}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .more-tools summary:hover{color:#25344a;background:#f1f4f8}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .more-tools summary:focus-visible{outline-offset:2px;outline:2px solid #72869d}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .more-tools-chevron{border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;transition:transform .12s;display:inline-block;transform:translateY(-2px)rotate(45deg)}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .more-tools[open] .more-tools-chevron{transform:translateY(2px)rotate(225deg)}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .more-tools:has(.mode-button.active) summary{color:#263344;font-weight:650}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-grid-extra{gap:7px;margin-top:6px}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .canvas{background:#fbfcfe;border-color:#d8e0e9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .grid-layer .grid-line{stroke:#e7ebf1}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .grid-layer .axis-line{stroke:#c6d0dc}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .interaction-layer :is(.mooring-object,.boat-control){fill:#fff;stroke:#243247}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .interaction-layer .boat-point{fill:#fff}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .interaction-layer .boat-point-core{stroke:#fff}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .interaction-layer .boat-hull{fill:#e2e8f038;stroke:#1f2e41}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .interaction-layer .boat-detail{stroke:#8493a7}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .interaction-layer .connection-line{stroke:#48576a}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .interaction-layer :is(.object-label,.measure-label){fill:#1f2e41;stroke:#fbfcfe}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .compass-rose{filter:brightness(0)opacity(.75)}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .coord-readout,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-control button{color:#263344;background:#fffffff2;border-color:#d8e0e9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) :is(.wind-readout,.wind-control p){color:#334155}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) :is(.arrow-left,.arrow-right){border-color:#344256}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-arrow:before{background:#344256}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-arrow:after{border-bottom-color:#344256}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .scale i{border-color:#344256}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-overlay :is(.wind-tracer-field,.wind-ribbon-field) stop{stop-color:#344b63}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-tracer-field stop:nth-child(2){stop-opacity:.42}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-tracer-field stop:nth-child(3){stop-opacity:.9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-tracer-field stop:nth-child(4){stop-opacity:.7}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-ribbon-field stop:is(:nth-child(2),:nth-child(4)){stop-opacity:.32}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-overlay :is(.wind-tracer-field,.wind-ribbon-field) path{filter:blur(.15px)drop-shadow(0 0 1px #ffffff8c)}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .wind-field i{background:linear-gradient(#344b6300,#344b6375 12%,#344b63bf 24%,#344b6359 48%,#344b6300)}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .form-row{border-color:#d8e0e9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .form-row input{background:#fff;border-left-color:#d8e0e9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .simulation-mode-option{background:#fff;border-color:#d8e0e9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .simulation-mode-option.active,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .simulation-mode-option[aria-pressed=true]{background:#eef2f7;border-color:#aab9ca;box-shadow:inset 0 0 0 1px #d8e0e9}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-copy strong{color:#172232}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-copy small{color:#637286}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .account-trigger{box-shadow:none;background:#fff;border-color:#d1dce7}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .account-trigger:hover:not(:disabled),body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .account-trigger[aria-expanded=true]{box-shadow:none;background:#f5f7fa;border-color:#aab9ca}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) :is(.account-identity>small,.account-secondary-line){color:#637286}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .account-chevron{filter:brightness(0)}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .account-menu{box-shadow:var(--shadow);background:#fff}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .account-menu>button{color:#172232}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .account-menu>button:hover{color:#172232;background:#eef2f7}@media (width<=1280px){body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .app-shell{grid-template-columns:76px 284px minmax(0,1fr) 286px}}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view){--bg:#f7f9fc;--panel:#fff;--panel-2:#f0f3f7;--card:#fff;--border:#e0e6ed;--border-strong:#cbd5e1;--text:#172232;--muted:#637286;--accent:#315f96;--accent-2:#315f96;--shadow:0 10px 30px #1422341f}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .app-shell{background:#fff;grid-template-columns:82px 310px minmax(0,1fr) 310px}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.nav-rail,.work-panel,.inspector,.topbar){background:#fff}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .hamburger span{background:#172232}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .brand-logo{filter:brightness(0)saturate()}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .icon{background-color:#213047}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .nav-item.active{color:#172232;background:#edf1f6;box-shadow:inset 3px 0 #506176}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.nav-item:hover,.nav-help:hover){background:#f1f4f8}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.secondary-button,.top-action:not(.primary),.select-control,.save-select,.save-row button,.quick-card button,.control,.zoom-control,.fit-control,.history-controls button,.zoom-control button,.mode-button,.layer-tabs button,.component-palette-button,.line-order-button,.line-remove-button,.dialog-actions button,.designer-wide-button,.layer-inline-action,.selection-action){color:#172232;box-shadow:none;background:#fff;border-color:#d7dfe8}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .top-action.primary,body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .dialog-actions .primary{color:#fff;background:#263344;border-color:#263344}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.top-action.primary .icon,.control.active .icon,.background-scale-button.active .icon){background-color:#fff}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.mode-button.active,.layer-tabs button.active,.designer-layer-tabs button.active,.designer-layer-row.selected,.layer-row.selected,.line-designer-layer-row.selected,.line-component-child.selected){color:#172232;box-shadow:none;background:#eaf2ff;border-color:#9dbde3}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.layer-row:hover,.designer-layer-row:hover,.line-designer-layer-row:hover,.component-palette-button:hover,.layer-menu button:hover){background:#f1f5fa}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.layer-properties,.hint-card,.line-component-derived,.background-transform-summary){color:#536275;background:#f8fafc;border-color:#d7dfe8}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.layer-menu,.save-menu,.boat-select-menu,.harbor-select-menu,.account-menu){color:#172232;box-shadow:var(--shadow);background:#fff;border-color:#d7dfe8}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.layer-menu button,.account-menu>button,.boat-select-menu button,.harbor-select-menu button){color:#172232}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.account-menu>button:hover,.boat-select-menu button:hover,.harbor-select-menu button:hover){color:#172232;background:#f1f5fa}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.layer-rename-input,.layer-property-row input,.selection-field input,.save-name-input,.designer-rename-input,.designer-field input,.designer-field select,.boat-save-name,.harbor-save-name,.line-design-save-name,.apply-line-design-select,.form-row input,.form-row select){color:#172232;background:#fff;border-color:#cbd5e1}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.designer-field input,.designer-field select,.selection-field input,.line-design-save-name,.boat-save-name,.harbor-save-name):focus{border-color:#315f96;box-shadow:0 0 0 2px #315f9624}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.form-row,.form-row input,.form-row select){border-color:#d7dfe8}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .form-row.readonly input{color:#627185;background:#f3f6f9}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .account-trigger{box-shadow:none;background:#fff;border-color:#d1dce7}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.account-trigger:hover:not(:disabled),.account-trigger[aria-expanded=true]){box-shadow:none;background:#f5f7fa;border-color:#aab9ca}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.account-identity>small,.account-secondary-line){color:#637286}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .account-chevron{filter:brightness(0)}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.line-remove-button,.save-menu-delete,.layer-menu .delete,.selection-action.danger){color:#b42335}body:is(.boat-designer-view,.harbor-designer-view) .canvas{background:#fbfcfe;border-color:#d8e0e9}body:is(.boat-designer-view,.harbor-designer-view) .grid-layer .grid-line{stroke:#e7ebf1}body:is(.boat-designer-view,.harbor-designer-view) .grid-layer .axis-line{stroke:#c6d0dc}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer :is(.mooring-object,.boat-control){fill:#fff;stroke:#243247}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer .dock-object{fill:#e0e8f16b;stroke:#243247}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer .boat-hull{fill:#e2e8f038;stroke:#1f2e41}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer .boat-detail{stroke:#8493a7}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer .connection-line{stroke:#48576a}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer .boat-point{fill:#fff}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer .boat-point-core{stroke:#fff}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer :is(.object-label,.measure-label){fill:#1f2e41;stroke:#fbfcfe}body:is(.boat-designer-view,.harbor-designer-view) .interaction-layer .background-resize-handle{stroke:#243247}body:is(.boat-designer-view,.harbor-designer-view) .coord-readout{color:#263344;background:#fffffff2;border-color:#d8e0e9}body:is(.boat-designer-view,.harbor-designer-view) .compass-rose{filter:brightness(0)opacity(.75)}body:is(.boat-designer-view,.harbor-designer-view) .scale i{border-color:#344256}body.line-designer-view .line-designer-workspace{background:#fbfcfe}body.line-designer-view .line-chain-scroll{scrollbar-color:#a4b2c2 #f3f6fa;background-color:#fbfcfe;background-image:linear-gradient(#e7ebf1 1px,#0000 1px),linear-gradient(90deg,#e7ebf1 1px,#0000 1px);border-color:#d8e0e9}body.line-designer-view .line-chain-scroll::-webkit-scrollbar-track{background:#f3f6fa}body.line-designer-view .line-chain-scroll::-webkit-scrollbar-thumb{background:#a4b2c2;border-color:#f3f6fa}body.line-designer-view .assembled-line-baseline{stroke:#8798ab}body.line-designer-view .assembled-line-component{color:#24364d}body.line-designer-view .assembled-line-component:hover .line-component-geometry{color:#315f96}body.line-designer-view .assembled-line-component:hover .line-component-name,body.line-designer-view .assembled-line-component.selected .line-component-name{fill:#315f96}body.line-designer-view .line-component-name,body.line-designer-view .line-total-label{fill:#1f2a37}body.line-designer-view .line-component-length{fill:#536275}body.line-designer-view .line-component-separator,body.line-designer-view .line-component-label-leader{stroke:#a4b2c2}body.line-designer-view .line-length-bracket{stroke:#64748b}body.line-designer-view .line-rope-body,body.line-designer-view .line-damper-body{fill:#24364d}body.line-designer-view .line-rope-twist,body.line-designer-view .line-thimble-inner,body.line-designer-view .line-carabiner-gate,body.line-designer-view .line-carabiner-pivot{stroke:#fbfcfe}body.line-designer-view .line-thimble-inner,body.line-designer-view .line-carabiner-pivot{fill:#fbfcfe}body.line-designer-view .line-rubber-wrap-highlight{stroke:#fbfcfe}body.line-designer-view .line-chain-component{background:#fff}body.line-designer-view .line-chain-component.selected{background:#eaf2ff}body.line-designer-view .line-design-dialog-card{color:#172232;box-shadow:var(--shadow);background:#fff}body.line-designer-view .line-summary-warning{color:#8c580b;background:#fff7e5;border-color:#e4cb8f}:is(.settings-dialog,.help-dialog,.projects-dialog,.account-dialog,.account-security-dialog){--text:#172232;--muted:#536275;--border:#d9e2ec;--border-strong:#cbd6e3;--accent:#315f96;--accent-2:#315f96;color:#172232;background:#18253566}:is(.settings-dialog,.help-dialog,.projects-dialog)>.global-dialog-card{color:#172232;background:#fff;border-color:#d2dde9;box-shadow:0 26px 76px #18253538}:is(.settings-dialog,.help-dialog,.projects-dialog) .global-dialog-header{background:#fffffff7;border-bottom-color:#d9e2ec}:is(.settings-dialog,.help-dialog,.projects-dialog) .global-dialog-header span{color:#637286}:is(.settings-dialog,.help-dialog,.projects-dialog) .global-dialog-header h2{color:#172232}:is(.settings-dialog,.help-dialog,.projects-dialog) .global-dialog-header button{color:#34445a;background:#fff;border-color:#d2dde9}:is(.settings-dialog,.help-dialog,.projects-dialog) .global-dialog-header button:hover{color:#172232;background:#edf3f9}.settings-sections section{border-color:#d9e2ec}.settings-sections h3{color:#243247}.settings-sections label{color:#536275}.settings-sections select,.settings-sections input[type=number]{color:#172232;background:#fff;border-color:#cbd6e3}.settings-sections select:focus-visible,.settings-sections input[type=number]:focus-visible,.settings-secondary-button:focus-visible,.settings-file-button:focus-within{outline-offset:2px;outline:2px solid #315f96}.setting-with-unit b{color:#536275}.settings-secondary-button,.settings-file-button{color:#243247;background:#fff;border-color:#cbd6e3}.settings-secondary-button:hover,.settings-file-button:hover{background:#edf3f9}.settings-secondary-button.danger{color:#b42335}.settings-export-link{color:#315f96}.settings-export-json{color:#243247;background:#f8fafc;border-color:#cbd6e3}.help-view-badge{color:#315f96;background:#f0f6fd;border-color:#adc6e4}.help-intro{color:#172232}.help-dialog-content ol{color:#536275}.help-dialog-content li::marker{color:#315f96}.help-note{color:#34445a;background:#f0f6fd;border-left-color:#315f96}.help-tip strong{color:#315f96}.help-dialog-footer{color:#536275;border-top-color:#d9e2ec}.help-dialog-footer span{color:#17734b}.account-dialog-card,.account-security-card{color:#172232;background:#fff;border-color:#cbd6e3;box-shadow:0 26px 76px #18253538}.account-modal-close{color:#34445a}.account-modal-close:hover{color:#172232;background:#edf3f9;border-color:#cbd6e3}.account-modal-eyebrow{color:#315f96;background:#f0f6fd;border-color:#b5cbe6}.account-modal-eyebrow.danger{color:#b42335;background:#fff5f5;border-color:#dfa4aa}.account-modal-heading h2,.account-security-card header h2{color:#172232}.account-modal-heading p,.account-security-card header p{color:#536275}.account-profile-avatar{color:#243247;background:#edf3f9;border-color:#b5cbe6}.account-profile-copy>strong{color:#172232}.account-profile-copy>span{color:#536275}.account-details-form{background:#f8fafc;border-color:#d9e2ec}.account-details-form>label{color:#34445a}.account-details-form input,.account-readonly-field{color:#172232;background:#fff;border-color:#cbd6e3}.account-details-form>label>input{color:#172232}.account-readonly-field input{color:#536275;background:0 0}.account-change-password{color:#315f96;background:#fff;border-color:#b5cbe6}.account-change-password:hover:not(:disabled){background:#edf3f9}.account-save{color:#fff;box-shadow:none;background:#24364d;border-color:#24364d}.account-save:hover:not(:disabled){background:#1c2c40}.account-save:disabled{color:#637286;box-shadow:none;background:#e9eef4;border-color:#cbd6e3}.account-form-message{color:#b42335}.account-form-message[data-kind=success]{color:#17734b}.account-danger-separator{background:#d9e2ec}.account-delete{color:#b42335}.account-dialog-card>footer{color:#637286}.account-security-card label{color:#536275}.account-security-card input{color:#172232;background:#fff;border-color:#cbd6e3}.account-security-card form>p{color:#b42335}.account-security-card form button{color:#243247;background:#fff;border-color:#cbd6e3}.account-security-card form button.primary{color:#fff;background:#24364d;border-color:#24364d}.account-security-card form button.danger{color:#fff;background:#b42335;border-color:#b42335}.account-menu{color:#172232;background:#fff;border-color:#d2dde9}.account-menu header{border-bottom-color:#d9e2ec}.account-menu header span{color:#536275}.account-menu>button{color:#172232}.account-menu>button:hover{color:#172232;background:#edf3f9}.account-menu>button>span{color:#315f96}.account-menu-separator{background:#d9e2ec}.projects-dialog-actions p{color:#536275}.project-row{color:#172232;background:#f8fafc;border-color:#d9e2ec}.project-row.current{border-color:#b5cbe6}.project-row-main input{color:#172232;background:#fff}.project-row-main small,.project-row-meta small{color:#637286}.project-row-meta{color:#34445a}.project-row-actions button.danger{color:#b42335}:is(.subscription-dialog,.auth-dialog){--text:#172232;--muted:#536275;--border:#d9e2ec;--border-strong:#cbd6e3;--accent:#315f96;--accent-2:#315f96;color:#172232;background:#18253566}:is(.subscription-dialog-card,.auth-dialog-card){color:#172232;background:#fff;border-color:#cbd6e3;box-shadow:0 26px 76px #18253538}:is(.subscription-close,.auth-modal-close){color:#34445a;background:#fff;border-color:#cbd6e3}:is(.subscription-close,.auth-modal-close):hover{color:#172232;background:#edf3f9;border-color:#9eb5d0}.subscription-heading>span{color:#315f96;background:#f0f6fd;border-color:#b5cbe6}.subscription-heading h2,.subscription-current h3,.subscription-current-price>strong,.subscription-plan-copy>strong,.subscription-plan-price strong,.subscription-comparison>header{color:#172232}.subscription-heading p,.subscription-current-price>span,.subscription-period-note,.subscription-pricing-toolbar,.subscription-plan-copy>span,.subscription-plan-copy>small,.subscription-plan-price small,.subscription-comparison-grid>span,.subscription-footer{color:#536275}.subscription-current{color:#172232;background:#f8fafc;border-color:#d9e2ec}.subscription-current>small,.subscription-current li span,.subscription-link,.subscription-pricing-toolbar button{color:#315f96}.subscription-current li,.subscription-comparison-grid>b{color:#243247}.subscription-active-badge,.plan-active-label{color:#17734b;background:#ebf8f1;border-color:#9acfb4}.subscription-link:hover,.subscription-link:focus-visible{color:#22496f}.subscription-pricing-toolbar select{color:#172232;background:#fff;border-color:#cbd6e3}.subscription-plan{color:#172232;background:#fff;border-color:#d9e2ec}.subscription-plan.selected{background:#eaf2ff;border-color:#315f96;box-shadow:inset 0 0 0 1px #315f9614}.subscription-radio{border-color:#73859b}.subscription-plan.selected .subscription-radio{background:#315f96;border-color:#315f96;box-shadow:inset 0 0 0 5px #fff}.subscription-plan:focus-visible,.subscription-pricing-toolbar select:focus-visible,.subscription-primary:focus-visible{outline-offset:2px;outline:2px solid #315f96}.subscription-primary{color:#fff;box-shadow:none;background:#24364d;border-color:#24364d}.subscription-primary:hover:not(:disabled){filter:none;background:#1c2c40}.subscription-primary:disabled{color:#637286;box-shadow:none;background:#e9eef4;border-color:#cbd6e3}.subscription-error{color:#a62132;background:#fff3f4;border-color:#e0a6ad}.subscription-confirming{color:#536275}.subscription-confirming span{border-color:#315f96 #cbd6e3 #cbd6e3}.subscription-comparison{background:#fff;border-color:#d9e2ec}.subscription-comparison>header button{color:#34445a}.auth-dialog-copy>span,.auth-local-indicator,.auth-forgot-password,.auth-dialog-footer button,.auth-password-control button{color:#315f96}.auth-dialog-copy h2{color:#172232}.auth-dialog-copy p,.auth-not-now,.auth-password-requirements,.auth-dialog-footer p{color:#536275}.auth-local-indicator{background:#f0f6fd;border-color:#b5cbe6}.auth-provider-button{color:#243247;background:#fff;border-color:#cbd6e3}.auth-provider-button:hover:not(:disabled){background:#f0f6fd;border-color:#a9bfd8}.auth-google-button{color:#fff;box-shadow:none;background:#24364d;border-color:#24364d}.auth-google-button:hover:not(:disabled){color:#fff;background:#1c2c40;border-color:#1c2c40}.auth-not-now:hover{color:#172232}.auth-field{color:#536275}.auth-field>input,.auth-password-control{color:#172232;background:#fff;border-color:#cbd6e3}.auth-field>input,.auth-password-control input{color:#172232}.auth-field>input::placeholder,.auth-password-control input::placeholder{color:#758396}.auth-field>input:focus,.auth-password-control:focus-within{border-color:#315f96;box-shadow:0 0 0 2px #315f9624}.auth-email-actions button:not(.primary){color:#243247;background:#fff;border-color:#cbd6e3}.auth-email-actions .primary{color:#fff;background:#24364d;border-color:#24364d}.auth-email-actions .primary:hover:not(:disabled){background:#1c2c40}.auth-form-message{color:#a62132}.auth-form-message.success{color:#17734b}.auth-dialog-footer>div{background:#d9e2ec}@page{size:A4 landscape;margin:12mm}@media print{html,body{width:auto;height:auto;background:#fff!important;overflow:visible!important}body>.app-shell{background:#fff!important;width:auto!important;min-width:0!important;height:auto!important;display:block!important}body>.app-shell>:not(.specification-overlay){display:none!important}.specification-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:0;position:static;display:block!important}.specification-overlay[hidden]{display:none!important}.specification-shell{width:auto;height:auto;box-shadow:none;background:#fff;border:0;border-radius:0;display:block;overflow:visible}.specification-toolbar{display:none!important}.specification-document-host{background:#fff;padding:0;overflow:visible}.specification-document{color:#111;width:auto;max-width:none}.specification-document-header{border-color:#777}.specification-document-header span{color:#184e8f}.specification-document dt,.specification-no-components,.specification-empty{color:#555}.specification-line{box-shadow:none;background:#fff;border-color:#aaa;margin:0 0 8mm}.specification-line-drawing{background-color:#fff;background-image:none;border-color:#bbb}.specification-line-svg .assembled-line-component{color:#111}.specification-line-svg :is(.line-component-name,.line-total-label){fill:#111}.specification-line-svg .line-component-length{fill:#555}.specification-line-svg :is(.line-component-separator,.line-component-label-leader,.line-length-bracket){stroke:#777}.specification-line-svg :is(.line-thimble-inner,.line-carabiner-gate,.line-carabiner-pivot){fill:#fff;stroke:#fff}.specification-line-svg .line-rope-twist{stroke:#fff}.line-specification-break rect{fill:#fff;stroke:#777}.line-specification-break path{stroke:#111}.specification-component{background:#fff;border-color:#bbb}.specification-component-list{grid-template-columns:repeat(var(--component-count), minmax(0, 1fr));gap:2px;overflow:visible}.specification-component{grid-template-columns:14px minmax(0,1fr);gap:3px;padding:5px 4px}.specification-component-order{width:13px;height:13px;font-size:7px}.specification-component strong{min-height:18px;font-size:8px}.specification-component dd{font-size:7px}.specification-component-order{color:#111;border-color:#555}.specification-component dd{color:#222}}.mode-grid-primary [data-tool=Select] .icon{background:#26364a;width:28px;height:28px;-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3cpath%20d='M11%207L16%2031.5L22.2%2025.8L29.3%2040L33%2038L25.9%2023.9L35.5%2023.2L11%207Z'%20stroke='%23000'%20stroke-width='2.1'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3cpath%20d='M11%207L16%2031.5L22.2%2025.8L29.3%2040L33%2038L25.9%2023.9L35.5%2023.2L11%207Z'%20stroke='%23000'%20stroke-width='2.1'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}body .main-area{grid-template-rows:78px minmax(0,1fr)}body .topbar{align-items:center;gap:9px;height:78px;padding:0 16px;display:flex}body .topbar>:is(.top-field,.top-action,.designer-topbar,.harbor-topbar,.line-designer-topbar){align-self:center;transform:none}body .topbar>.top-field{gap:3px}body .topbar .top-field>span{letter-spacing:.055em;font-size:10px;font-weight:700}body .topbar .select-control{border-radius:7px;gap:8px;min-width:0;height:40px;padding:0 10px;font-size:13px;font-weight:550}body .topbar .select-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}body .topbar .select-control .chevron{flex:0 0 12px}body .topbar .top-action{white-space:nowrap;min-width:0;height:40px;box-shadow:none;border-radius:7px;flex-wrap:nowrap;gap:8px;margin:0;padding:0 12px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}body .topbar .top-action .icon{flex:0 0 18px;width:18px;height:18px}body .topbar .top-action.primary{color:#fff;box-shadow:none;background:#263344;border-color:#263344}body .topbar .top-action.primary .icon{background:#fff}body .topbar>.boat-field{flex:0 142px;order:1;min-width:90px}body .topbar>.harbor-field{flex:0 174px;order:2;min-width:110px}body .topbar>[data-action=new-simulation]{flex:0 0 122px;order:3}body .topbar>.top-spacer{flex:4px;order:4;min-width:4px;display:block}body .topbar>.simulation-mode-topbar{border:0;flex:none;order:5;grid-area:auto;place-self:center;min-width:0;margin:0 3px 0 0;padding:0}body .topbar>[data-action=run-simulation]{flex:0 0 176px;order:6;width:176px;margin:0}.simulation-mode-topbar legend{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.simulation-mode-topbar .simulation-mode-options{align-items:center;gap:10px;display:flex}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .topbar .simulation-mode-option,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .topbar .simulation-mode-option:is(.active,[aria-pressed=true]){min-width:0;min-height:32px;box-shadow:none;white-space:nowrap;background:0 0;border:0;border-radius:4px;flex:none;align-items:center;gap:6px;padding:3px 2px;display:inline-flex;transform:none}body .topbar .simulation-mode-option:hover:not(:disabled){background:#f1f5fa;transform:none}.simulation-mode-topbar .mode-copy{padding:0}.simulation-mode-topbar .mode-copy strong{color:#263344;font-size:13px;font-weight:550;line-height:1}.simulation-mode-topbar .mode-check{background:#fff;border:1.5px solid #8d9daf;border-radius:4px;flex:0 0 16px;width:16px;height:16px;position:relative;inset:auto}.simulation-mode-topbar .simulation-mode-option:is(.active,[aria-pressed=true]) .mode-check{background:#315f96;border-color:#315f96}.simulation-mode-topbar .simulation-mode-option:is(.active,[aria-pressed=true]) .mode-check:after{border-bottom:2px solid #fff;border-right:2px solid #fff;width:4px;height:7px;top:1px;left:4px}body .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar){flex:auto;order:1;justify-content:space-between;align-items:center;gap:18px;width:100%;min-width:0;height:auto;margin:0;display:flex}body .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>div{gap:4px;min-width:0}body .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>div>span{letter-spacing:.07em;font-size:10px;font-weight:700}body .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>div>strong{font-size:15px;font-weight:600;line-height:1.2}body .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>.top-action{flex:0 0 176px;width:176px;height:40px;margin:0 0 0 auto;padding-inline:10px;font-size:12.5px}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>.top-spacer{display:none}@media (width<=1380px){body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .main-area{grid-template-rows:112px minmax(0,1fr)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar{flex-wrap:wrap;align-content:center;row-gap:3px;height:112px;padding-inline:10px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar>.top-spacer{display:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar>.simulation-mode-topbar{margin-left:auto}}body .topbar>:is(.boat-field,.harbor-field){display:block;position:relative;top:auto}body .topbar>:is(.boat-field,.harbor-field)>span:first-child{white-space:nowrap;line-height:1;position:absolute;bottom:calc(100% + 4px);left:0}body .topbar>.boat-field{flex:0 142px;min-width:0}body .topbar>.harbor-field{flex:0 174px;min-width:0}body .topbar .select-control{color:#263344;letter-spacing:-.01em;width:100%;height:40px;box-shadow:none;background:#fff;border:1px solid #d7dfe8;border-radius:7px;gap:6px;padding:0 9px;font-size:12.5px;font-weight:500}body .topbar .select-control .icon{flex:0 0 16px;width:16px;height:16px}body .topbar .select-control .select-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1 1 0;min-width:0;font-size:12.5px;font-weight:500;display:block;overflow:hidden}body .topbar .select-control .chevron{flex:0 0 12px;margin-left:auto;transform:scale(.8)}body .topbar .select-control:hover{background:#f8fafc;border-color:#b6c6d8}body .topbar .select-control:focus-visible{outline-offset:2px;outline:2px solid #94b5d9}body .topbar>.simulation-settings-wrap{flex:0 0 105px;order:5;align-self:center;width:105px;min-width:0;margin:0;position:relative}body .topbar .simulation-settings-trigger{box-sizing:border-box;color:#263344;width:100%;height:40px;font:600 13px/1 var(--font);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d7dfe8;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 10px;list-style:none;display:inline-flex}body .topbar .simulation-settings-trigger::-webkit-details-marker{display:none}body .topbar .simulation-settings-trigger::marker{content:""}body .topbar .simulation-settings-trigger:hover,body .topbar .simulation-settings-wrap[open] .simulation-settings-trigger{background:#f4f7fa;border-color:#b6c6d8}body .topbar .simulation-settings-trigger:focus-visible{outline-offset:2px;outline:2px solid #94b5d9}body .topbar .simulation-settings-glyph{flex:0 0 17px;width:17px;height:17px}body .topbar .simulation-settings-popover{box-sizing:border-box;z-index:35;color:#263344;background:#fff;border:1px solid #d7dfe8;border-radius:10px;width:320px;max-width:calc(100vw - 32px);max-height:calc(100vh - 125px);padding:18px;position:absolute;top:calc(100% + 11px);right:0;overflow-y:auto;box-shadow:0 14px 40px #1a2b3e26}body .simulation-settings-popover>h3{margin:0 0 16px;font-size:16px;font-weight:700}body .simulation-settings-eyebrow,body .simulation-settings-popover .simulation-card h3{color:#637286;letter-spacing:.055em;margin:0 0 10px;font-size:10px;font-weight:700}body .simulation-settings-popover .simulation-mode-topbar{border-bottom:1px solid #e0e6ed;margin:0 0 17px;padding:0 0 15px}body .simulation-settings-popover .simulation-mode-options{justify-content:flex-start;gap:18px}body .simulation-settings-popover .simulation-card .form-row{grid-template-columns:minmax(0,1fr) 86px;height:39px}body .simulation-settings-popover .simulation-card .form-row span{padding-left:10px;font-size:12px}body .simulation-settings-popover .simulation-card .form-row input{font-size:13px}body .simulation-settings-popover .simulation-draft-status{background:#fff9e9;border-color:#ead8ad}body .simulation-settings-popover .simulation-draft-status strong{color:#80601e}body .simulation-settings-popover .simulation-draft-status small{color:#637286}@media (width<=1380px){body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar>[data-action=run-simulation]{margin-left:auto}}.selection-card .selection-line{color:#263344;gap:11px;min-width:0;display:grid}.selection-card .selection-line .selection-line-name{margin:0;font-size:18px;line-height:1.25;display:block}.selection-card .selection-line-head{color:#64748b;justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.selection-card .selection-line-status{color:#44546a;background:#f3f6fa;border:1px solid #dbe3ed;border-radius:12px;flex:none;padding:3px 7px;font-size:10px;font-weight:700}.selection-card .selection-line .selection-field{margin:3px 0 1px}.selection-card .selection-line .selection-field label{font-size:13px}.selection-card .selection-line .selection-field input{width:70px;height:30px;font-size:13px}.selection-card .selection-line-row{color:#64748b;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;line-height:1.4;display:flex}.selection-card .selection-line .selection-line-row strong{color:#263344;text-align:right;margin:0;font-size:12px;font-weight:600;display:inline}.selection-card .selection-line-note{color:#64748b;font-size:11px;line-height:1.5}.selection-card .selection-advanced{border-top:1px solid #e2e8f0;margin-top:2px}.selection-card .selection-advanced>summary{color:#53647a;cursor:pointer;justify-content:space-between;align-items:center;min-height:38px;font-size:12px;list-style:none;display:flex}.selection-card .selection-advanced>summary::-webkit-details-marker{display:none}.selection-card .selection-advanced>summary:after{content:"⌄";font-size:17px;line-height:1}.selection-card .selection-advanced[open]>summary:after{transform:rotate(180deg)}.selection-card .selection-advanced>summary:focus-visible{outline-offset:2px;outline:2px solid #94b5d9}.selection-card .selection-advanced-content{gap:10px;padding:4px 0 8px;display:grid}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector>.inspector-header{flex:0 0 54px;height:54px;padding-right:38px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector>.inspector-account-slot{z-index:30;border:0;width:36px;padding:0;position:absolute;top:9px;right:16px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-trigger{border-radius:50%;grid-template-columns:1fr;place-items:center;gap:0;width:36px;height:36px;min-height:36px;padding:2px;display:grid}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-menu{width:260px;right:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector-simulation-tabs{background:#f4f6f9;border:1px solid #e1e7ef;border-radius:7px;flex:0 0 40px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector-simulation-tabs button{color:#657386;cursor:pointer;border:1px solid #0000;border-radius:5px;min-width:0;padding:0 6px;font-size:12px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector-simulation-tabs button[aria-selected=true]{color:#263344;background:#fff;border-color:#dce3eb;font-weight:650}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector-simulation-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:8px 2px 20px 0;overflow:hidden auto}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector-simulation-body .inspect-card{border-bottom:1px solid #e3e9f0;padding:10px 0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .quick-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .quick-card h3{grid-column:1/-1}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .quick-card button{justify-content:center;gap:5px;height:auto;min-height:36px;padding:6px;font-size:11px;line-height:1.25}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .quick-card .icon{flex:0 0 15px;width:15px;height:15px}:root{--ms-surface-app:#f7f9fc;--ms-surface-primary:#fff;--ms-surface-secondary:#f6f8fb;--ms-surface-subtle:#f1f4f8;--ms-surface-hover:#edf2f7;--ms-surface-selected:#e9f1fb;--ms-text-primary:#172232;--ms-text-secondary:#536275;--ms-text-tertiary:#758397;--ms-text-disabled:#9aa6b5;--ms-border-subtle:#e5eaf0;--ms-border-default:#d8e0e9;--ms-border-strong:#c5d0dc;--ms-accent:#315f96;--ms-accent-hover:#284f7f;--ms-accent-soft:#e9f1fb;--ms-focus-ring:#315f962e;--ms-success:#23855b;--ms-warning:#9a6813;--ms-danger:#b42335;--ms-font:Inter, "SF Pro Text", "SF Pro Display", Helvetica, Arial, sans-serif;--ms-font-size-xs:11px;--ms-font-size-sm:12px;--ms-font-size-md:13px;--ms-font-size-lg:15px;--ms-font-size-title:17px;--ms-space-1:4px;--ms-space-2:8px;--ms-space-3:12px;--ms-space-4:16px;--ms-space-5:20px;--ms-space-6:24px;--ms-radius-sm:4px;--ms-radius-md:6px;--ms-radius-lg:8px;--ms-control-h-sm:30px;--ms-control-h-md:36px;--ms-control-h-lg:42px;--ms-icon-sm:14px;--ms-icon-md:18px;--ms-icon-lg:22px;--ms-shadow-float:0 8px 24px #1722321a;--ms-shadow-dialog:0 24px 72px #1722322e}body{--bg:var(--ms-surface-app);--panel:var(--ms-surface-primary);--panel-2:var(--ms-surface-subtle);--card:var(--ms-surface-primary);--text:var(--ms-text-primary);--muted:var(--ms-text-secondary);--border:var(--ms-border-default);--border-strong:var(--ms-border-strong);--accent:var(--ms-accent);--accent-2:var(--ms-accent);--font:var(--ms-font);--radius:var(--ms-radius-sm);--shadow:var(--ms-shadow-float)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)){font-family:var(--ms-font);color:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.work-panel>.panel-section:first-child h2,.inspector>.inspector-header h2){color:var(--ms-text-primary);font-size:var(--ms-font-size-title);letter-spacing:-.01em;font-weight:700;line-height:1.15}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.panel-section:not(:first-child) h2,.inspect-card h3){color:var(--ms-text-primary);font-size:var(--ms-font-size-md);letter-spacing:.01em;font-weight:700;line-height:1.2}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card>p{color:var(--ms-text-secondary);font-size:var(--ms-font-size-md);line-height:1.5}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.selection-meta,.line-summary-header){color:var(--ms-text-tertiary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-field label{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);font-weight:500;line-height:1.4}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-field input{color:var(--ms-text-primary);font-family:var(--ms-font);font-size:var(--ms-font-size-md);font-weight:500}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.selection-meta,.selection-line-row,.selection-line-note){color:var(--ms-text-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-line .selection-line-row strong{color:var(--ms-text-primary);font-weight:600}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-line-note{color:var(--ms-text-tertiary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.secondary-button,.top-action,.select-control,.save-select,.save-row button,.quick-card button,.control,.zoom-control,.fit-control,.history-controls button,.layer-tabs button,.inspector-simulation-tabs button,.selection-field input){font-family:var(--ms-font);border-color:var(--ms-border-default);border-radius:var(--ms-radius-md);color:var(--ms-text-primary);box-shadow:none;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.secondary-button,.select-control,.save-select,.save-row button,.quick-card button,.control,.zoom-control,.fit-control,.history-controls button){background:var(--ms-surface-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.secondary-button,.select-control,.save-row button,.quick-card button,.control,.fit-control,.history-controls button):hover:not(:disabled){background:var(--ms-surface-hover);border-color:var(--ms-border-strong)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(button,input,select,.select-control):focus-visible{border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(button,input,select):disabled{color:var(--ms-text-disabled);cursor:default}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .top-action.primary{background:var(--ms-text-primary);border-color:var(--ms-text-primary);color:#fff;box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .top-action.primary:hover:not(:disabled){background:#223247;border-color:#223247}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-field input{background:var(--ms-surface-primary);border-color:var(--ms-border-default)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-field input:hover:not(:disabled){border-color:var(--ms-border-strong)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.layer-tabs,.inspector-simulation-tabs){border-radius:var(--ms-radius-lg);background:var(--ms-surface-subtle);border:0;gap:2px;padding:3px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-tabs{margin-top:14px;margin-bottom:7px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.layer-tabs button,.inspector-simulation-tabs button){border-radius:var(--ms-radius-md);color:var(--ms-text-secondary);box-shadow:none;background:0 0;border:1px solid #0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.layer-tabs button,.inspector-simulation-tabs button):hover:not(:disabled){color:var(--ms-text-primary);background:#ffffff94}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-tabs button.active,body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector-simulation-tabs button[aria-selected=true]{background:var(--ms-surface-primary);border-color:var(--ms-border-subtle);color:var(--ms-text-primary);font-weight:650;box-shadow:0 1px 2px #1722320d}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.secondary-button,.top-action:not(.primary)){background:var(--ms-surface-primary);border-color:var(--ms-border-default);color:var(--ms-text-primary);box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.secondary-button,.top-action:not(.primary)):hover:not(:disabled){background:var(--ms-surface-hover);border-color:var(--ms-border-strong)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-action.primary{background:var(--ms-text-primary);border-color:var(--ms-text-primary);color:#fff;font-weight:650}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-action.primary:hover:not(:disabled){background:#223247;border-color:#223247}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .quick-card button{border-color:var(--ms-border-subtle);min-height:34px;color:var(--ms-text-secondary);background:0 0;font-weight:500}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .quick-card button:hover:not(:disabled){background:var(--ms-surface-hover);border-color:var(--ms-border-default);color:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .quick-card button .icon{background-color:currentColor}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-field>span{color:var(--ms-text-tertiary);font-size:var(--ms-font-size-xs);letter-spacing:.055em;font-weight:650}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-field .select-control{background:var(--ms-surface-secondary);color:var(--ms-text-primary);border-color:#0000;box-shadow:inset 0 0 0 1px #d8e0e98c}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-field .select-control :is(.icon,.chevron){color:var(--ms-text-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-field .select-control:hover{background:var(--ms-surface-hover);border-color:var(--ms-border-default);box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-field .select-control:focus-visible{background:var(--ms-surface-primary);border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .select-label{color:var(--ms-text-primary);font-weight:550}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar>.boat-field{margin-right:-3px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar>[data-action=new-simulation]{margin-left:5px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar>.simulation-mode-topbar{margin-right:1px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-field>span{line-height:1}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-action:not(.primary) .icon{background-color:var(--ms-text-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-action.primary .icon{background-color:currentColor}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-content{padding-top:var(--ms-space-2)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .line-summary-header{border-bottom:1px solid var(--ms-border-subtle);min-height:30px;color:var(--ms-text-tertiary);letter-spacing:.01em;padding:5px 4px 7px;font-size:9px;font-weight:650;line-height:1.15}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-row.mooring-overview-row{border:0;border-bottom:1px solid var(--ms-border-subtle);min-height:36px;color:var(--ms-text-primary);font-size:var(--ms-font-size-xs);border-radius:4px;padding:5px 4px;transition:background-color .12s,box-shadow .12s}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-row.mooring-overview-row:hover{background:var(--ms-surface-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .line-summary-name{gap:6px;font-weight:550}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .line-summary-name .line-swatch{flex-basis:7px;width:7px;height:7px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mooring-overview-row>:not(.line-summary-name){color:var(--ms-text-secondary);font-variant-numeric:tabular-nums}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .line-summary-state{background:var(--ms-surface-subtle);color:var(--ms-text-secondary);border:0;border-radius:999px;padding:2px 5px;font-size:9px;font-weight:600;line-height:1.25}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.line-summary-header,.mooring-overview-row){grid-template-columns:minmax(0,1.42fr) minmax(46px,.72fr) minmax(42px,.62fr) minmax(44px,.62fr);column-gap:5px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .line-summary-state{text-overflow:clip;overflow:visible}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .work-panel .section-row>.secondary-button{height:var(--ms-control-h-md);border-color:var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);color:var(--ms-text-primary);font-size:var(--ms-font-size-md);box-shadow:none;gap:7px;padding:0 12px;font-weight:550}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .work-panel .section-row>.secondary-button:hover{background:var(--ms-surface-hover);border-color:var(--ms-border-strong)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .work-panel .section-row>.secondary-button .plus{width:14px;height:14px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-row.mooring-overview-row.selected{background:color-mix(in srgb, var(--ms-surface-selected) 55%, white);box-shadow:inset 2px 0 0 var(--ms-accent)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-row.mooring-overview-row.selected .line-summary-name{color:var(--ms-text-primary);font-weight:650}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-row.mooring-overview-row.selected>:not(.line-summary-name){color:var(--ms-text-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .layer-row.mooring-overview-row:focus-visible{outline:2px solid var(--ms-focus-ring);outline-offset:-2px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .connection-line.selected{stroke:revert;stroke-width:revert;filter:drop-shadow(0 0 1px #315f96b8) drop-shadow(0 0 3px var(--ms-focus-ring))}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .simulation-designed-line.selected{filter:drop-shadow(0 0 1px #315f96b8) drop-shadow(0 0 3px var(--ms-focus-ring))}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary{gap:7px;margin-top:10px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button{border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);height:60px;color:var(--ms-text-secondary);font-size:var(--ms-font-size-xs);box-shadow:none;gap:4px;padding:6px 4px;font-weight:550;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;position:relative}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button:hover{background:var(--ms-surface-secondary);border-color:var(--ms-border-default);color:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button.active{background:var(--ms-surface-selected);border-color:var(--ms-border-default);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button .icon{background-color:currentColor;width:26px;height:26px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button .cleat-icon{width:34px;height:22px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button .dock-icon{width:32px;height:23px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-grid-primary [data-tool=Select] .icon{background-color:currentColor;width:25px;height:25px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button:focus-visible{border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .more-tools{margin-top:7px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .more-tools summary{border-radius:var(--ms-radius-sm);width:fit-content;min-height:28px;color:var(--ms-text-tertiary);font-size:var(--ms-font-size-xs);background:0 0;border:0;gap:6px;margin:0 auto;padding:0 8px;font-weight:550}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .more-tools summary:hover{background:var(--ms-surface-secondary);color:var(--ms-text-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .more-tools summary:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .more-tools:has(.mode-button.active) summary{background:var(--ms-accent-soft);color:var(--ms-text-primary);font-weight:600}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-grid-extra{gap:7px;margin-top:5px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-grid-extra .mode-button{border-color:var(--ms-border-subtle);background:var(--ms-surface-primary);height:56px;color:var(--ms-text-secondary);font-size:var(--ms-font-size-xs);box-shadow:none;font-weight:550}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-grid-extra .mode-button:hover{background:var(--ms-surface-secondary);border-color:var(--ms-border-default);color:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-grid-extra .mode-button.active{background:var(--ms-surface-selected);border-color:var(--ms-border-default);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls{gap:10px;padding:12px 14px 0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.canvas-controls .control,.canvas-controls .zoom-control,.canvas-controls .fit-control,.canvas-controls .history-controls button){border-color:var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);height:40px;color:var(--ms-text-primary);box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .control.pan{gap:7px;width:88px;padding:0 11px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .control.background{gap:8px;width:190px;padding:0 11px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control{gap:8px;width:218px;padding:0 8px 0 13px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control>span{color:var(--ms-text-secondary);font-size:var(--ms-font-size-md)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control strong{min-width:43px;color:var(--ms-text-primary);font-size:var(--ms-font-size-md);font-variant-numeric:tabular-nums;text-align:center}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control button{border-color:var(--ms-border-subtle);border-radius:var(--ms-radius-sm);background:var(--ms-surface-primary);width:34px;height:30px;color:var(--ms-text-primary);padding:0;font-size:21px;line-height:1}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .fit-control{width:44px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls{grid-template-columns:40px 40px;gap:6px;margin-left:auto}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls button{width:40px;padding:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .icon{width:22px;height:22px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .history-icon{width:20px;height:20px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls button:disabled{opacity:.34;background:var(--ms-surface-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .control.pan.active{background:var(--ms-surface-selected);border-color:var(--ms-border-default);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .toggle{background:var(--ms-border-strong);border-radius:999px;flex:0 0 42px;width:42px;height:24px;transition:background-color .12s}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .toggle.on{background:var(--ms-accent)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .toggle i{width:18px;height:18px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control button:hover:not(:disabled){background:var(--ms-surface-hover);border-color:var(--ms-border-strong)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls button:disabled{opacity:.32;color:var(--ms-text-disabled);border-color:var(--ms-border-subtle);background:var(--ms-surface-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls :is(.control,.zoom-control button,.fit-control,.history-controls button):focus-visible{border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .control.pan.active .icon{background-color:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-line .selection-line-name{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);letter-spacing:-.01em;font-weight:700}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-line-head{color:var(--ms-text-tertiary);font-size:var(--ms-font-size-sm)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-line-status{background:var(--ms-surface-subtle);color:var(--ms-text-secondary);border:0;padding:2px 6px;font-size:9px;font-weight:650}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-line-row{min-height:24px;color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);align-items:center;line-height:1.35}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-line-row strong{color:var(--ms-text-primary);font-size:var(--ms-font-size-sm);font-variant-numeric:tabular-nums;font-weight:600}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-line-note{color:var(--ms-text-tertiary);font-size:var(--ms-font-size-xs);line-height:1.45}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-advanced{border-top:1px solid var(--ms-border-subtle);margin-top:3px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-advanced>summary{min-height:36px;color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);border-radius:var(--ms-radius-sm);font-weight:500}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-advanced>summary:hover{color:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-advanced>summary:after{color:var(--ms-text-tertiary);font-size:15px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-advanced>summary:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-advanced-content{gap:8px;padding:4px 0 9px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .boat-point{fill:var(--ms-surface-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .boat-point.selected-object{fill:var(--ms-surface-primary);stroke:var(--ms-accent);stroke-width:3px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .boat-point.selected-object+.boat-point-core{fill:var(--ms-accent);stroke:var(--ms-surface-primary);stroke-width:1.5px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .selected-object{stroke:var(--ms-accent);stroke-width:3px;filter:drop-shadow(0 0 2px var(--ms-surface-primary))}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .mooring-object.selected-object{fill:var(--ms-accent-soft)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-content .selection-action{border:1px solid var(--ms-border-default);background:var(--ms-surface-primary);color:var(--ms-text-secondary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-content .selection-action:not(:disabled):hover{border-color:var(--ms-border-strong);background:var(--ms-surface-hover);color:var(--ms-text-primary)}body.simulation-setup-locked .selection-content .selection-action[aria-disabled=true]{border-color:var(--ms-border-subtle);background:var(--ms-surface-secondary);color:var(--ms-text-disabled);opacity:1;filter:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .anchor-object{fill:none;stroke:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .anchor-object.selected-object{fill:none;stroke:var(--ms-accent);stroke-width:3px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .mooring-buoy-object{stroke:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .mooring-buoy-object.selected-object{stroke:var(--ms-accent)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .pulley-object{fill:var(--ms-surface-primary);stroke:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .pulley-object.selected-object{fill:var(--ms-surface-primary);stroke:var(--ms-accent);stroke-width:3px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.canvas-shell,.canvas-panel,.canvas-wrap,.canvas-stage),body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas{box-shadow:none;border-color:#0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) :is(.work-panel,.inspector){box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .work-panel .panel-section{border-top-color:var(--ms-border-subtle)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .work-panel .panel-section:first-child{border-top:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-content>:is(hr,.divider),body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspect-card>:is(hr,.divider){border-color:var(--ms-border-subtle)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-content{box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-button{box-shadow:none;background:0 0;border-color:#0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-button:hover{background:var(--ms-surface-hover);border-color:#0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-button.active{border-color:color-mix(in srgb, var(--ms-accent) 24%, transparent);background:var(--ms-surface-selected);box-shadow:inset 2px 0 0 var(--ms-accent)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .more-tools>summary{background:0 0;border-color:#0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .more-tools>summary:hover{background:var(--ms-surface-hover)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar{box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-action:not(.primary){box-shadow:none;background:0 0;border-color:#0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-action:not(.primary):hover{background:var(--ms-surface-hover);border-color:#0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-field{box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls{border-top-color:var(--ms-border-subtle);box-shadow:none;gap:4px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls>:is(.control,.fit-control){box-shadow:none;background:0 0;border-color:#0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls>:is(.control,.fit-control):hover{background:var(--ms-surface-hover)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control{border-color:var(--ms-border-subtle);box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls{gap:2px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls button{background:0 0;border-color:#0000}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card>p{max-width:230px;margin-top:6px;line-height:1.45}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button{box-shadow:none;background:0 0;border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button:hover{background:var(--ms-surface-hover);border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-grid-primary .mode-button.active{background:var(--ms-surface-selected);box-shadow:inset 2px 0 0 var(--ms-accent);border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-grid-extra .mode-button{box-shadow:none;background:0 0;border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-grid-extra .mode-button:hover{background:var(--ms-surface-hover);border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-grid-extra .mode-button.active{background:var(--ms-surface-selected);box-shadow:inset 2px 0 0 var(--ms-accent);border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .more-tools summary,body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar>.top-action:not(.primary){box-shadow:none;background:0 0;border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar>.top-action:not(.primary):hover{background:var(--ms-surface-hover);border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .mode-section .mode-button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas{box-shadow:none;border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-controls{border:0;border-top:1px solid var(--ms-border-subtle);box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .canvas-wrap{background:var(--ms-surface-primary)}:root{--ms-global-header-h:78px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .work-panel>.brand{box-sizing:border-box;height:var(--ms-global-header-h);min-height:var(--ms-global-header-h);border:0;border-bottom:1px solid var(--ms-border-subtle);background:var(--ms-surface-primary);box-shadow:none;justify-content:center;align-items:center;margin:0;padding-top:0;padding-bottom:0;display:flex}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .work-panel>.brand .brand-logo-frame{box-shadow:none;background:0 0;border:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar{box-sizing:border-box;height:var(--ms-global-header-h);min-height:var(--ms-global-header-h);border-bottom:1px solid var(--ms-border-subtle);box-shadow:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .work-panel>.brand,body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar{align-self:stretch}body:not(.line-designer-view) .canvas{position:relative}body:not(.line-designer-view) .canvas .compass-rose{transform-origin:50%;z-index:3;pointer-events:none;filter:brightness(0)opacity(.72);width:96px;height:96px;margin:0;position:absolute;top:22px;left:22px;transform:none}body:not(.line-designer-view) .canvas .compass-rose svg,body:not(.line-designer-view) .canvas svg.compass-rose{width:100%;height:100%;display:block}body:not(.line-designer-view) .canvas .compass-rose text,body:not(.line-designer-view) .canvas .compass-rose .north-label{font-size:12px;font-weight:700}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar [data-action=run-simulation][data-running=true] .icon{border-radius:2px;flex:0 0 13px;width:13px;height:13px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .topbar .top-action.end-simulation .icon.stop-icon{background:currentColor;border-radius:2px;flex:0 0 11px;width:11px;min-width:11px;max-width:11px;height:11px;min-height:11px;max-height:11px;margin-inline:4px}body.boat-designer-view .designer-inspector{font-family:var(--ms-font);color:var(--ms-text-primary)}body.boat-designer-view .designer-inspector .inspect-card{border:0;border-bottom:1px solid var(--ms-border-subtle);box-shadow:none;background:0 0;margin:0;padding:16px 0 18px}body.boat-designer-view .designer-inspector .inspect-card:first-child{padding-top:14px}body.boat-designer-view .designer-inspector .inspect-card:last-child{border-bottom:0}body.boat-designer-view .designer-inspector .inspect-card h3{color:var(--ms-text-primary);font-size:var(--ms-font-size-md);letter-spacing:.01em;margin:0 0 13px;font-weight:700;line-height:1.2}body.boat-designer-view .designer-inspector .designer-field{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);gap:6px;line-height:1.25}body.boat-designer-view .designer-inspector :is(.designer-field input,.designer-field select,.boat-save-name){border-color:var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);height:38px;color:var(--ms-text-primary);box-shadow:none}body.boat-designer-view .designer-inspector :is(.designer-field input,.designer-field select,.boat-save-name):focus{border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring)}body.boat-designer-view .designer-inspector .designer-dimensions{gap:10px;margin-top:10px}body.boat-designer-view .designer-inspector .shape-summary{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);gap:2px;margin:12px 0 10px}body.boat-designer-view .designer-inspector .shape-summary strong{color:var(--ms-text-primary);font-size:var(--ms-font-size-md);font-weight:700}body.boat-designer-view .designer-inspector .designer-wide-button,body.boat-designer-view .designer-inspector .save-row button,body.boat-designer-view .designer-inspector .save-select{border-color:var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);height:38px;min-height:38px;color:var(--ms-text-primary);box-shadow:none;font-size:var(--ms-font-size-md);font-weight:600;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s}body.boat-designer-view .designer-inspector :is(.designer-wide-button,.save-row button,.save-select):hover:not(:disabled){background:var(--ms-surface-hover);border-color:var(--ms-border-strong)}body.boat-designer-view .designer-inspector :is(.designer-wide-button,.save-row button,.save-select):focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.boat-designer-view .designer-inspector .designer-wide-button.danger{color:var(--ms-danger)}body.boat-designer-view .designer-inspector .wind-profile-card{padding:0}body.boat-designer-view .designer-inspector .wind-profile-toggle{min-height:52px;padding:0}body.boat-designer-view .designer-inspector .wind-profile-toggle h3{margin:0}body.boat-designer-view .designer-inspector .wind-profile-content{padding:0 0 16px}body.boat-designer-view .designer-inspector .wind-profile-help{color:var(--ms-text-secondary);margin-bottom:12px}body.boat-designer-view .designer-inspector .wind-profile-overview{border-color:var(--ms-border-subtle);border-radius:var(--ms-radius-md);background:var(--ms-surface-secondary);box-shadow:none}body.boat-designer-view .designer-inspector .wind-profile-dimensions label{color:var(--ms-text-secondary)}body.boat-designer-view .designer-inspector .wind-profile-dimensions input{border-color:var(--ms-border-default);background:var(--ms-surface-primary);color:var(--ms-text-primary)}body.boat-designer-view .designer-inspector .designer-selection-content strong{color:var(--ms-text-primary);margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.25}body.boat-designer-view .designer-inspector .designer-selection-content p{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);margin:0 0 10px;line-height:1.5}body.boat-designer-view .designer-inspector .designer-selection-content .designer-field{margin-top:10px}body.boat-designer-view .designer-inspector .designer-upload-button{border-color:var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-secondary);min-height:40px;color:var(--ms-text-primary);box-shadow:none;font-size:var(--ms-font-size-md);font-weight:600}body.boat-designer-view .designer-inspector .designer-upload-button:hover{background:var(--ms-surface-hover);border-color:var(--ms-border-strong)}body.boat-designer-view .designer-inspector .background-empty-note{color:var(--ms-text-tertiary);font-size:var(--ms-font-size-sm);margin-top:6px}body.boat-designer-view .designer-inspector :is(.background-transform-summary,.background-scale-tools){border-color:var(--ms-border-subtle)}body.boat-designer-view .designer-inspector .background-transform-summary{background:var(--ms-surface-secondary);color:var(--ms-text-secondary)}body.boat-designer-view .designer-inspector .scale-measured-distance{color:var(--ms-warning)}body.boat-designer-view .designer-inspector .boat-save-combo .boat-save-name{border-radius:var(--ms-radius-md) 0 0 var(--ms-radius-md)}body.boat-designer-view .designer-inspector .save-combo .save-select{border-radius:0 var(--ms-radius-md) var(--ms-radius-md) 0;border-left:0;width:40px}body.boat-designer-view .designer-inspector .save-row{gap:8px;margin-top:8px}body.boat-designer-view .designer-inspector .save-menu{border-color:var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);box-shadow:var(--ms-shadow-float)}body.boat-designer-view .designer-inspector .save-menu-choice:hover,body.boat-designer-view .designer-inspector .save-menu-delete:hover{background:var(--ms-surface-hover)}body.boat-designer-view .designer-inspector .save-menu-choice.selected{border-color:var(--ms-accent);background:var(--ms-accent-soft);color:var(--ms-text-primary)}body.boat-designer-view .designer-left .panel-section{border-bottom-color:var(--ms-border-subtle);margin-inline:22px;padding-top:18px;padding-bottom:18px}body.boat-designer-view .designer-left .panel-section>h2{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);letter-spacing:.01em;font-weight:700}body.boat-designer-view .designer-layer-tabs{border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-md);background:var(--ms-surface-secondary);gap:3px;margin-top:14px;padding:3px}body.boat-designer-view .designer-layer-tabs button{border-radius:var(--ms-radius-sm);height:32px;color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);box-shadow:none;background:0 0;border:1px solid #0000;padding-inline:8px;font-weight:550}body.boat-designer-view .designer-layer-tabs button:hover:not(:disabled){color:var(--ms-text-primary);background:#ffffffa6}body.boat-designer-view .designer-layer-tabs button.active{border-color:var(--ms-border-subtle);background:var(--ms-surface-primary);color:var(--ms-text-primary);font-weight:650;box-shadow:0 1px 2px #1722320d}body.boat-designer-view .designer-layer-content{margin-top:12px;padding-right:2px}body.boat-designer-view .designer-layer-group{margin-bottom:2px}body.boat-designer-view .designer-layer-row{border-radius:var(--ms-radius-sm);min-height:39px;color:var(--ms-text-primary);box-shadow:none;background:0 0;border:0;gap:8px;padding:0 7px}body.boat-designer-view .designer-layer-row:hover{background:var(--ms-surface-hover)}body.boat-designer-view .designer-layer-row.selected{background:var(--ms-surface-selected);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent);border:0}body.boat-designer-view .designer-layer-row.child{color:var(--ms-text-secondary);padding-left:26px}body.boat-designer-view .designer-layer-row.child.selected{color:var(--ms-text-primary)}body.boat-designer-view .designer-layer-name{color:inherit;font-size:13px;font-weight:500}body.boat-designer-view .designer-layer-row small{color:var(--ms-text-tertiary);font-size:var(--ms-font-size-xs)}body.boat-designer-view .designer-layer-row .disclosure{color:var(--ms-text-secondary)}body.boat-designer-view .designer-layer-menu-button{border-radius:var(--ms-radius-sm);width:24px;height:24px;color:var(--ms-text-tertiary);background:0 0;border:0}body.boat-designer-view .designer-layer-menu-button:hover{background:var(--ms-surface-hover);color:var(--ms-text-primary)}body.boat-designer-view :is(.structure-point-icon,.boat-point-layer-icon){border-color:var(--ms-text-tertiary);background:var(--ms-surface-primary)}body.boat-designer-view .boat-point-layer-icon{border-color:var(--ms-accent)}body.boat-designer-view .designer-tools-section{padding-top:18px}body.boat-designer-view .designer-mode-grid{gap:4px;margin-top:12px}body.boat-designer-view .designer-mode-grid .mode-button{border-radius:var(--ms-radius-md);height:62px;color:var(--ms-text-primary);box-shadow:none;font-size:var(--ms-font-size-md);background:0 0;border:0;gap:3px;font-weight:550}body.boat-designer-view .designer-mode-grid .mode-button:hover:not(:disabled){background:var(--ms-surface-hover);border:0}body.boat-designer-view .designer-mode-grid .mode-button.active{background:var(--ms-surface-selected);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent);border:0}body.boat-designer-view .designer-mode-grid .mode-button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.boat-designer-view .designer-mode-grid .mode-button .icon{background-color:currentColor;width:30px;height:30px}body.boat-designer-view .designer-mode-grid .mode-button .cleat-icon{width:34px;height:24px}body.boat-designer-view .designer-mode-grid .mode-button .ruler-icon,body.boat-designer-view .designer-mode-grid .mode-button .rotate-tool-icon{width:29px;height:29px}body.boat-designer-view .designer-mode-grid .mode-button.active .icon{background-color:var(--ms-text-primary)}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view){--ms-global-header-h:78px}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .work-panel>.brand{box-sizing:border-box;height:var(--ms-global-header-h);min-height:var(--ms-global-header-h);border:0;border-bottom:1px solid var(--ms-border-subtle);background:var(--ms-surface-primary);box-shadow:none;justify-content:center;align-items:center;margin:0;padding:0 14px;display:flex}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .work-panel>.brand .brand-logo-frame{box-shadow:none;background:0 0;border:0}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar{box-sizing:border-box;height:var(--ms-global-header-h);min-height:var(--ms-global-header-h);border-bottom:1px solid var(--ms-border-subtle);background:var(--ms-surface-primary);box-shadow:none;align-items:center;padding:0 16px;display:flex}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar){flex:auto;justify-content:space-between;align-self:stretch;align-items:center;gap:18px;width:100%;min-width:0;height:auto;margin:0;display:flex;transform:none}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>div{gap:3px;min-width:0;display:grid}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>div>span{color:var(--ms-text-tertiary);letter-spacing:.07em;font-size:10px;font-weight:700;line-height:1}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>div>strong{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2;overflow:hidden}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>.top-action{border:1px solid var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);width:176px;height:40px;color:var(--ms-text-primary);box-shadow:none;font-size:var(--ms-font-size-md);flex:0 0 176px;margin:0 0 0 auto;padding:0 12px;font-weight:600}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>.top-action:hover:not(:disabled){border-color:var(--ms-border-strong);background:var(--ms-surface-hover)}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>.top-action:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .topbar>:is(.designer-topbar,.harbor-topbar,.line-designer-topbar)>.top-action .icon{background-color:currentColor;flex:0 0 16px;width:16px;height:16px}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector{flex-direction:column;min-height:0;padding:0 16px;display:flex;position:relative;overflow:hidden}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector>.inspector-header{box-sizing:border-box;flex:0 0 var(--ms-global-header-h);height:var(--ms-global-header-h);min-height:var(--ms-global-header-h);border-bottom:1px solid var(--ms-border-subtle);align-items:center;padding:0 44px 0 0;display:flex}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector>.inspector-header h2{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);letter-spacing:.01em;margin:0;font-weight:700;line-height:1}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector-header>span{display:none}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector>.inspector-account-slot{z-index:30;background:0 0;border:0;width:36px;height:36px;padding:0;position:absolute;top:20px;right:16px}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-area{width:36px;min-width:36px}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-trigger{border:1px solid var(--ms-border-default);background:var(--ms-surface-primary);width:36px;min-width:36px;height:36px;min-height:36px;box-shadow:none;border-radius:50%;grid-template-columns:1fr;place-items:center;gap:0;padding:2px;display:grid}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-trigger:hover:not(:disabled),body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-trigger[aria-expanded=true]{border-color:var(--ms-border-strong);background:var(--ms-surface-hover)}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-trigger:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-avatar{width:30px;height:30px}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-avatar-image{width:19px;height:19px}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-avatar.has-profile-image .account-avatar-image{width:100%;height:100%}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector :is(.account-identity,.account-chevron){display:none}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .inspector .account-menu{width:260px;top:calc(100% + 8px);right:0}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.designer-inspector,.harbor-inspector,.line-designer-inspector){overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) :is(.designer-inspector,.harbor-inspector,.line-designer-inspector)>.inspect-card:first-child{border-top:0}body.boat-designer-view .canvas-controls{border:0;border-top:1px solid var(--ms-border-subtle);background:var(--ms-surface-primary);box-shadow:none}body.boat-designer-view .canvas-controls>:is(.control,.fit-control){min-height:var(--ms-control-h-lg);border-radius:var(--ms-radius-md);color:var(--ms-text-primary);box-shadow:none;background:0 0;border:1px solid #0000}body.boat-designer-view .canvas-controls>:is(.control,.fit-control):hover:not(:disabled){background:var(--ms-surface-hover);border-color:#0000}body.boat-designer-view .canvas-controls .control.pan{gap:7px;width:auto;min-width:86px;padding-inline:12px}body.boat-designer-view .canvas-controls .control.pan.active{background:var(--ms-surface-selected);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent);border-color:#0000}body.boat-designer-view .canvas-controls .control.background{gap:8px;width:auto;min-width:190px;padding-inline:12px}body.boat-designer-view .canvas-controls .background .icon{flex-basis:26px;width:26px;height:24px}body.boat-designer-view .canvas-controls .zoom-control{width:auto;min-width:190px;height:var(--ms-control-h-lg);border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);box-shadow:none;gap:4px;padding:0 6px}body.boat-designer-view .canvas-controls .zoom-control>span{min-width:48px;color:var(--ms-text-primary);font-size:var(--ms-font-size-md);text-align:center;font-weight:650}body.boat-designer-view .canvas-controls .zoom-control button{border-radius:var(--ms-radius-sm);width:34px;height:34px;color:var(--ms-text-primary);box-shadow:none;background:0 0;border:0;padding:0;font-size:21px;line-height:1}body.boat-designer-view .canvas-controls .zoom-control button:hover:not(:disabled){background:var(--ms-surface-hover);border:0}body.boat-designer-view .canvas-controls .zoom-control button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.boat-designer-view .canvas-controls .fit-control .icon{width:24px;height:24px}body.boat-designer-view .canvas-controls .history-controls button{border-radius:var(--ms-radius-md);width:40px;height:40px;color:var(--ms-text-secondary);box-shadow:none;background:0 0;border:0;padding:0}body.boat-designer-view .canvas-controls .history-controls button:hover:not(:disabled){background:var(--ms-surface-hover);color:var(--ms-text-primary);border:0}body.boat-designer-view .canvas-controls .history-controls button:disabled{opacity:.28;background:0 0}body.boat-designer-view .canvas-controls .history-controls button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.boat-designer-view .canvas-controls .toggle{background:var(--ms-accent);width:44px;height:24px;box-shadow:none;border:0;border-radius:999px}body.boat-designer-view .canvas-controls .toggle:not(.on){border:1px solid var(--ms-border-default);background:var(--ms-surface-subtle);border-radius:999px}body.boat-designer-view .canvas-controls .toggle:after{box-shadow:0 1px 3px #1722322e}body.boat-designer-view .canvas-controls>:is(.control,.fit-control):focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)){--ms-global-header-h:78px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector{flex-direction:column;min-height:0;padding:0 16px;display:flex;position:relative;overflow:hidden}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector>.inspector-header{box-sizing:border-box;flex:0 0 var(--ms-global-header-h);height:var(--ms-global-header-h);min-height:var(--ms-global-header-h);border-bottom:1px solid var(--ms-border-subtle);align-items:center;padding:0 44px 0 0;display:flex}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector>.inspector-header h2{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);letter-spacing:.01em;margin:0;font-weight:700;line-height:1}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector-header>span{display:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector>.inspector-account-slot{z-index:30;background:0 0;border:0;width:36px;height:36px;padding:0;position:absolute;top:20px;right:16px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-area{width:36px;min-width:36px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-trigger{border:1px solid var(--ms-border-default);background:var(--ms-surface-primary);width:36px;min-width:36px;height:36px;min-height:36px;box-shadow:none;border-radius:50%;grid-template-columns:1fr;place-items:center;gap:0;padding:2px;display:grid}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-trigger:hover:not(:disabled),body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-trigger[aria-expanded=true]{border-color:var(--ms-border-strong);background:var(--ms-surface-hover)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-trigger:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-avatar{width:30px;height:30px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-avatar-image{width:19px;height:19px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-avatar.has-profile-image .account-avatar-image{width:100%;height:100%}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector :is(.account-identity,.account-chevron){display:none}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .account-menu{width:260px;top:calc(100% + 8px);right:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector>:not(.inspector-header):not(.inspector-account-slot){min-width:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .segmented-tabs,body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .inspector-tabs,body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector .selection-project-tabs{margin-top:12px}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-content>strong{color:var(--ms-text-primary);margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.25}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-content>p{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);margin:0;line-height:1.5}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .selection-card .selection-meta{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);line-height:1.5}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .inspector>.inspector-header h2{letter-spacing:.01em;font-size:15px;font-weight:700;line-height:1}body .inspector>.inspector-header h2{letter-spacing:.01em!important;font-size:15px!important;font-weight:700!important;line-height:1!important}body.boat-designer-view .designer-inspector .boat-shape-card{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:10px;display:grid}body.boat-designer-view .designer-inspector .boat-shape-card>h3,body.boat-designer-view .designer-inspector .boat-shape-card>.designer-field,body.boat-designer-view .designer-inspector .boat-shape-card>.designer-dimensions{grid-column:1/-1}body.boat-designer-view .designer-inspector .boat-shape-card>.shape-summary{grid-column:1;align-self:center;min-width:0;margin:11px 0 0}body.boat-designer-view .designer-inspector .boat-shape-card>.shape-summary span{display:none}body.boat-designer-view .designer-inspector .boat-shape-card>.shape-summary strong{margin:0}body.boat-designer-view .designer-inspector .boat-shape-card>[data-designer-action=add-control-point]{white-space:nowrap;grid-column:2;width:auto;min-width:94px;height:34px;min-height:34px;margin-top:11px;padding:0 12px}body.boat-designer-view .designer-inspector .designer-selection-card{padding-top:14px;padding-bottom:15px}body.boat-designer-view .designer-inspector .designer-selection-content strong{margin-bottom:3px}body.boat-designer-view .designer-inspector .designer-selection-content p{margin-bottom:0}body.boat-designer-view .designer-inspector .boat-inspector-disclosure{border-bottom:1px solid var(--ms-border-subtle);padding:0;display:block}body.boat-designer-view .designer-inspector .boat-inspector-disclosure>summary{box-sizing:border-box;min-height:50px;color:var(--ms-text-primary);font-size:var(--ms-font-size-md);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:0;font-weight:700;line-height:1.2;list-style:none;display:flex}body.boat-designer-view .designer-inspector .boat-inspector-disclosure>summary::-webkit-details-marker{display:none}body.boat-designer-view .designer-inspector .boat-inspector-disclosure>summary:hover{color:var(--ms-text-primary)}body.boat-designer-view .designer-inspector .boat-inspector-disclosure>summary:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);border-radius:var(--ms-radius-sm);outline:none}body.boat-designer-view .designer-inspector .boat-disclosure-chevron{border-right:2px solid var(--ms-text-tertiary);border-bottom:2px solid var(--ms-text-tertiary);flex:0 0 9px;width:9px;height:9px;margin-right:3px;transition:transform .12s;position:relative;transform:rotate(45deg)}body.boat-designer-view .designer-inspector .boat-inspector-disclosure[open]>summary .boat-disclosure-chevron{transform:rotate(225deg)}body.boat-designer-view .designer-inspector .boat-inspector-disclosure[open]>summary{margin-bottom:12px}body.boat-designer-view .designer-inspector .boat-inspector-disclosure>:not(summary){margin-left:0;margin-right:0}body.boat-designer-view .designer-inspector .boat-inspector-disclosure[open]{padding-bottom:16px}body.boat-designer-view .canvas-controls{border:0;border-top:1px solid var(--ms-border-subtle);background:var(--ms-surface-primary);box-shadow:none;gap:10px;padding:12px 14px 0}body.boat-designer-view :is(.canvas-controls .control,.canvas-controls .zoom-control,.canvas-controls .fit-control,.canvas-controls .history-controls button){border:1px solid var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);height:40px;color:var(--ms-text-primary);box-shadow:none}body.boat-designer-view .canvas-controls .control.pan{gap:7px;width:88px;min-width:88px;padding:0 11px}body.boat-designer-view .canvas-controls .control.background{gap:8px;width:190px;min-width:190px;padding:0 11px}body.boat-designer-view .canvas-controls .control.background .toggle{margin-left:auto}body.boat-designer-view .canvas-controls .zoom-control{gap:8px;width:218px;min-width:218px;padding:0 8px 0 13px}body.boat-designer-view .canvas-controls .zoom-control>span{min-width:0;color:var(--ms-text-secondary);font-size:var(--ms-font-size-md);font-weight:400}body.boat-designer-view .canvas-controls .zoom-control strong{min-width:43px;color:var(--ms-text-primary);font-size:var(--ms-font-size-md);font-variant-numeric:tabular-nums;text-align:center;font-weight:650}body.boat-designer-view .canvas-controls .zoom-control button{border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-sm);background:var(--ms-surface-primary);width:34px;height:30px;color:var(--ms-text-primary);box-shadow:none;padding:0;font-size:21px;line-height:1}body.boat-designer-view .canvas-controls .fit-control{width:44px;min-width:44px;padding:0}body.boat-designer-view .canvas-controls .history-controls{grid-template-columns:40px 40px;gap:6px;margin-left:auto;display:grid}body.boat-designer-view .canvas-controls .history-controls button{width:40px;padding:0}body.boat-designer-view .canvas-controls .icon{background-color:currentColor;flex:0 0 22px;width:22px;height:22px}body.boat-designer-view .canvas-controls .history-icon{width:20px;height:20px}body.boat-designer-view .canvas-controls .control.pan.active{background:var(--ms-surface-selected);border-color:var(--ms-border-default);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent)}body.boat-designer-view .canvas-controls .control.pan.active .icon{background-color:var(--ms-text-primary)}body.boat-designer-view .canvas-controls .toggle{background:var(--ms-border-strong);width:42px;height:24px;box-shadow:none;border:0;border-radius:999px;flex:0 0 42px;transition:background-color .12s}body.boat-designer-view .canvas-controls .toggle.on{background:var(--ms-accent)}body.boat-designer-view .canvas-controls .toggle i{width:18px;height:18px}body.boat-designer-view .canvas-controls .zoom-control button:hover:not(:disabled){background:var(--ms-surface-hover);border-color:var(--ms-border-strong)}body.boat-designer-view .canvas-controls .history-controls button:disabled{opacity:.32;color:var(--ms-text-disabled);border-color:var(--ms-border-subtle);background:var(--ms-surface-secondary)}body.boat-designer-view .canvas-controls :is(.control,.zoom-control button,.fit-control,.history-controls button):focus-visible{border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.boat-designer-view .designer-inspector details.boat-inspector-disclosure:not([open])>:not(summary){display:none!important}body.boat-designer-view .designer-inspector details.boat-inspector-disclosure:not([open]){padding-top:0;padding-bottom:0}body.boat-designer-view .designer-inspector details.boat-inspector-disclosure>summary{min-height:48px;margin:0;padding:0}body.boat-designer-view .designer-inspector details.boat-inspector-disclosure[open]>summary{margin-bottom:12px}body.boat-designer-view .designer-inspector .boat-shape-card{padding-bottom:14px}body.boat-designer-view .designer-inspector .boat-shape-card>.shape-summary,body.boat-designer-view .designer-inspector .boat-shape-card>[data-designer-action=add-control-point]{margin-top:9px}body.boat-designer-view .canvas-controls{gap:6px}body.boat-designer-view .canvas-controls>*,body.boat-designer-view .canvas-controls .control,body.boat-designer-view .canvas-controls .zoom-control,body.boat-designer-view .canvas-controls .fit-control{margin-left:0;margin-right:0}body.boat-designer-view .canvas-controls .history-controls{gap:6px;margin-left:auto;margin-right:0}body.boat-designer-view .canvas-controls>:is(.control,.zoom-control,.fit-control){align-self:center}body.boat-designer-view .canvas-controls .control,body.boat-designer-view .canvas-controls .zoom-control,body.boat-designer-view .canvas-controls .fit-control{height:40px;min-height:40px}body.boat-designer-view .designer-inspector{flex-direction:column;display:flex}body.boat-designer-view .boat-inspector-tabs{border:1px solid var(--ms-border-subtle);background:var(--ms-surface-secondary);border-radius:7px;flex:0 0 40px;grid-template-columns:1fr 1fr;gap:3px;margin:0 0 4px;padding:3px;display:grid}body.boat-designer-view .boat-inspector-tabs button{min-width:0;color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:0 6px;font-weight:500}body.boat-designer-view .boat-inspector-tabs button:hover{color:var(--ms-text-primary);background:#ffffff94}body.boat-designer-view .boat-inspector-tabs button[aria-selected=true]{border-color:var(--ms-border-subtle);background:var(--ms-surface-primary);color:var(--ms-text-primary);font-weight:650;box-shadow:0 1px 2px #1722320d}body.boat-designer-view .boat-inspector-tabs button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.boat-designer-view .designer-inspector[data-boat-inspector-view=design] :is(.background-reference-card,.boat-save-card,.designer-view-card),body.boat-designer-view .designer-inspector[data-boat-inspector-view=project] :is(.boat-shape-card,.wind-profile-card,.designer-selection-card){display:none!important}body:not(.harbor-designer-view):not(.line-designer-view) .canvas-controls .control.background{box-sizing:border-box;font-family:var(--ms-font);white-space:nowrap;justify-content:flex-start;border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;width:190px!important;min-width:190px!important;height:40px!important;color:var(--ms-text-primary)!important;box-shadow:none!important;gap:8px!important;padding:0 11px!important;font-size:14px!important;font-weight:400!important;line-height:1!important}body:not(.harbor-designer-view):not(.line-designer-view) .canvas-controls .control.background .icon{background-color:currentColor;flex:0 0 22px!important;width:22px!important;height:22px!important}body:not(.harbor-designer-view):not(.line-designer-view) .canvas-controls .control.background .toggle{position:relative;background:var(--ms-border-strong)!important;width:42px!important;min-width:42px!important;height:24px!important;box-shadow:none!important;border:0!important;border-radius:999px!important;flex:0 0 42px!important;margin-left:auto!important}body:not(.harbor-designer-view):not(.line-designer-view) .canvas-controls .control.background .toggle.on{background:var(--ms-accent)!important}body:not(.harbor-designer-view):not(.line-designer-view) .canvas-controls .control.background .toggle i{box-shadow:none;background:#fff;border-radius:50%;position:absolute;top:3px;right:3px;width:18px!important;height:18px!important}body:not(.harbor-designer-view):not(.line-designer-view) .canvas-controls .control.background .toggle:not(.on) i{left:3px;right:auto}body.boat-designer-view .designer-inspector[data-boat-inspector-view=design] .boat-save-card{display:none!important}body.boat-designer-view .designer-inspector[data-boat-inspector-view=design] :is(.boat-shape-card,.wind-profile-card,.designer-selection-card,.background-reference-card,.designer-view-card){display:block!important}body.boat-designer-view .designer-inspector[data-boat-inspector-view=project] :is(.boat-shape-card,.wind-profile-card,.designer-selection-card,.background-reference-card,.designer-view-card){display:none!important}body.boat-designer-view .designer-inspector[data-boat-inspector-view=project] .boat-save-card{display:block!important}body.boat-designer-view .designer-inspector .designer-view-card>summary{cursor:default;min-height:42px}body.boat-designer-view .designer-inspector .designer-view-card .boat-disclosure-chevron{display:none}body.boat-designer-view .designer-inspector .designer-view-card[open]{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-bottom:14px;display:grid!important}body.boat-designer-view .designer-inspector .designer-view-card[open]>summary{grid-column:1/-1;margin:0}body.boat-designer-view .designer-inspector .designer-view-card .designer-wide-button{border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-md);width:100%;min-width:0;height:auto;min-height:34px;color:var(--ms-text-secondary);box-shadow:none;background:0 0;justify-content:center;gap:5px;margin:0;padding:6px;font-size:11px;font-weight:500;line-height:1.25}body.boat-designer-view .designer-inspector .designer-view-card .designer-wide-button:hover:not(:disabled){background:var(--ms-surface-hover);border-color:var(--ms-border-default);color:var(--ms-text-primary)}body.boat-designer-view .designer-inspector .background-reference-card>summary{min-height:46px}body.boat-designer-view .canvas-controls{gap:10px!important;padding:12px 14px 0!important}body.boat-designer-view .canvas-controls .control.pan{width:88px!important;min-width:88px!important}body.boat-designer-view .canvas-controls .control.background{width:190px!important;min-width:190px!important}body.boat-designer-view .canvas-controls .zoom-control{width:218px!important;min-width:218px!important}body.boat-designer-view .canvas-controls .fit-control{width:44px!important;min-width:44px!important}body.boat-designer-view .canvas-controls .history-controls{grid-template-columns:40px 40px!important;gap:6px!important;margin-left:auto!important}body.boat-designer-view .canvas-controls .history-controls button{width:40px!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls{gap:10px!important;padding:12px 14px 0!important}body:not(:is(.harbor-designer-view,.line-designer-view)) :is(.canvas-controls .control,.canvas-controls .zoom-control,.canvas-controls .fit-control,.canvas-controls .history-controls button){border-color:var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;height:40px!important;min-height:40px!important;color:var(--ms-text-primary)!important;box-shadow:none!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .control.pan{flex:0 88px!important;gap:7px!important;width:88px!important;min-width:0!important;padding:0 11px!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .control.background{flex:0 190px!important;justify-content:flex-start!important;gap:8px!important;width:190px!important;min-width:0!important;padding:0 11px!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .control.background .toggle{margin-left:auto!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control{flex:0 218px!important;gap:8px!important;width:218px!important;min-width:0!important;padding:0 8px 0 13px!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control>span{color:var(--ms-text-secondary)!important;font-size:var(--ms-font-size-md)!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control strong{font-variant-numeric:tabular-nums;text-align:center;min-width:43px!important;color:var(--ms-text-primary)!important;font-size:var(--ms-font-size-md)!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control button{border-color:var(--ms-border-subtle)!important;border-radius:var(--ms-radius-sm)!important;background:var(--ms-surface-primary)!important;width:34px!important;height:30px!important;min-height:30px!important;color:var(--ms-text-primary)!important;padding:0!important;font-size:21px!important;line-height:1!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .fit-control{flex:0 0 44px!important;width:44px!important;min-width:44px!important;padding:0!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls{grid-template-columns:40px 40px!important;gap:6px!important;margin-left:auto!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls button{width:40px!important;min-width:40px!important;padding:0!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .icon{flex:0 0 22px!important;width:22px!important;height:22px!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .history-icon{width:20px!important;height:20px!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .control.pan.active{background:var(--ms-surface-selected)!important;border-color:var(--ms-border-default)!important;color:var(--ms-text-primary)!important;box-shadow:inset 2px 0 0 var(--ms-accent)!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .control.pan.active .icon{background-color:var(--ms-text-primary)!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .toggle{transition:background-color .12s;position:relative;background:var(--ms-border-strong)!important;width:42px!important;height:24px!important;box-shadow:none!important;border:0!important;border-radius:999px!important;flex:0 0 42px!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .toggle.on{background:var(--ms-accent)!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .toggle i{background:#fff;border-radius:50%;position:absolute;top:3px;right:3px;width:18px!important;height:18px!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .toggle:not(.on) i{left:3px;right:auto}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .history-controls button:disabled{opacity:.32!important;color:var(--ms-text-disabled)!important;border-color:var(--ms-border-subtle)!important;background:var(--ms-surface-secondary)!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls .zoom-control button:hover:not(:disabled){background:var(--ms-surface-hover)!important;border-color:var(--ms-border-strong)!important}body:not(:is(.harbor-designer-view,.line-designer-view)) .canvas-controls :is(.control,.zoom-control button,.fit-control,.history-controls button):focus-visible{outline:none;border-color:var(--ms-accent)!important;box-shadow:0 0 0 3px var(--ms-focus-ring)!important}body:not(.line-designer-view) .canvas-controls{gap:10px!important;padding:12px 14px 0!important}body:not(.line-designer-view) :is(.canvas-controls .control,.canvas-controls .zoom-control,.canvas-controls .fit-control,.canvas-controls .history-controls button){border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;height:40px!important;min-height:40px!important;color:var(--ms-text-primary)!important;box-shadow:none!important}body:not(.line-designer-view) .canvas-controls .control.pan{flex:0 88px!important;gap:7px!important;width:88px!important;min-width:0!important;padding:0 11px!important}body:not(.line-designer-view) .canvas-controls .control.background{flex:0 190px!important;justify-content:flex-start!important;gap:8px!important;width:190px!important;min-width:0!important;padding:0 11px!important;font-size:14px!important;font-weight:400!important}body:not(.line-designer-view) .canvas-controls .control.background .toggle{margin-left:auto!important}body:not(.line-designer-view) .canvas-controls .zoom-control{flex:0 218px!important;gap:8px!important;width:218px!important;min-width:0!important;padding:0 8px 0 13px!important}body:not(.line-designer-view) .canvas-controls .zoom-control>span{min-width:0!important;color:var(--ms-text-secondary)!important;font-size:var(--ms-font-size-md)!important;font-weight:400!important}body:not(.line-designer-view) .canvas-controls .zoom-control strong{font-variant-numeric:tabular-nums;text-align:center;min-width:43px!important;color:var(--ms-text-primary)!important;font-size:var(--ms-font-size-md)!important;font-weight:650!important}body:not(.line-designer-view) .canvas-controls .zoom-control button{border:1px solid var(--ms-border-subtle)!important;border-radius:var(--ms-radius-sm)!important;background:var(--ms-surface-primary)!important;width:34px!important;height:30px!important;min-height:30px!important;color:var(--ms-text-primary)!important;box-shadow:none!important;padding:0!important;font-size:21px!important;line-height:1!important}body:not(.line-designer-view) .canvas-controls .fit-control{flex:0 0 44px!important;width:44px!important;min-width:44px!important;padding:0!important}body:not(.line-designer-view) .canvas-controls .history-controls{grid-template-columns:40px 40px!important;gap:6px!important;margin-left:auto!important}body:not(.line-designer-view) .canvas-controls .history-controls button{width:40px!important;min-width:40px!important;padding:0!important}body:not(.line-designer-view) .canvas-controls .icon{background-color:currentColor;flex:0 0 22px!important;width:22px!important;height:22px!important}body:not(.line-designer-view) .canvas-controls .history-icon{width:20px!important;height:20px!important}body:not(.line-designer-view) .canvas-controls .control.pan.active{background:var(--ms-surface-selected)!important;border-color:var(--ms-border-default)!important;color:var(--ms-text-primary)!important;box-shadow:inset 2px 0 0 var(--ms-accent)!important}body:not(.line-designer-view) .canvas-controls .control.pan.active .icon{background-color:var(--ms-text-primary)!important}body:not(.line-designer-view) .canvas-controls .toggle{position:relative;background:var(--ms-border-strong)!important;width:42px!important;height:24px!important;box-shadow:none!important;border:0!important;border-radius:999px!important;flex:0 0 42px!important}body:not(.line-designer-view) .canvas-controls .toggle.on{background:var(--ms-accent)!important}body:not(.line-designer-view) .canvas-controls .toggle i{background:#fff;border-radius:50%;position:absolute;top:3px;right:3px;width:18px!important;height:18px!important}body:not(.line-designer-view) .canvas-controls .toggle:not(.on) i{left:3px;right:auto}body:not(.line-designer-view) .canvas-controls .history-controls button:disabled{opacity:.32!important;color:var(--ms-text-disabled)!important;border-color:var(--ms-border-subtle)!important;background:var(--ms-surface-secondary)!important}body:not(.line-designer-view) .canvas-controls .zoom-control button:hover:not(:disabled){background:var(--ms-surface-hover)!important;border-color:var(--ms-border-strong)!important}body:not(.line-designer-view) .canvas-controls :is(.control,.zoom-control button,.fit-control,.history-controls button):focus-visible{outline:none;border-color:var(--ms-accent)!important;box-shadow:0 0 0 3px var(--ms-focus-ring)!important}body.harbor-designer-view .harbor-left .designer-layers-section{border-bottom-color:var(--ms-border-subtle);padding-top:18px;padding-bottom:18px}body.harbor-designer-view .harbor-left .designer-layers-section>h2{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);letter-spacing:.01em;font-weight:700;line-height:1.2}body.harbor-designer-view .harbor-layer-tabs{border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-md);background:var(--ms-surface-secondary);grid-template-columns:.7fr .9fr 1.5fr;gap:3px;margin-top:14px;padding:3px;display:grid}body.harbor-designer-view .harbor-layer-tabs button{border-radius:var(--ms-radius-sm);min-width:0;height:32px;color:var(--ms-text-secondary);box-shadow:none;cursor:pointer;background:0 0;border:1px solid #0000;padding:0 6px;font-size:10px;font-weight:550;line-height:1}body.harbor-designer-view .harbor-layer-tabs button:hover:not(:disabled){color:var(--ms-text-primary);background:#ffffffa6}body.harbor-designer-view .harbor-layer-tabs button.active{border-color:var(--ms-border-subtle);background:var(--ms-surface-primary);color:var(--ms-text-primary);font-weight:650;box-shadow:0 1px 2px #1722320d}body.harbor-designer-view .harbor-layer-tabs button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.harbor-designer-view .harbor-layer-content{min-height:120px;margin-top:10px;padding:0 2px 0 0;overflow:hidden auto}body.harbor-designer-view .harbor-layer-content .layer-group{margin:0 0 2px}body.harbor-designer-view .harbor-layer-content .layer-row{border-radius:var(--ms-radius-sm);min-height:38px;color:var(--ms-text-primary);box-shadow:none;font-size:var(--ms-font-size-md);background:0 0;border:0;gap:7px;padding:0 6px}body.harbor-designer-view .harbor-layer-content .layer-row:hover{background:var(--ms-surface-hover)}body.harbor-designer-view .harbor-layer-content .layer-row.selected{background:var(--ms-surface-selected);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent);border:0}body.harbor-designer-view .harbor-layer-content .layer-row.child{color:var(--ms-text-secondary);padding-left:24px}body.harbor-designer-view .harbor-layer-content .layer-name{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.2;overflow:hidden}body.harbor-designer-view .harbor-layer-content .disclosure{color:var(--ms-text-secondary)}body.harbor-designer-view .harbor-layer-content .layer-eye{border-radius:var(--ms-radius-sm);width:24px;height:24px;color:var(--ms-text-tertiary);background:0 0;border:0}body.harbor-designer-view .harbor-layer-content .layer-eye:hover{background:var(--ms-surface-hover);color:var(--ms-text-primary)}body.harbor-designer-view .harbor-layer-content .layer-menu-button{border-radius:var(--ms-radius-sm);width:24px;height:24px;color:var(--ms-text-tertiary);background:0 0;border:0;padding:0}body.harbor-designer-view .harbor-layer-content .layer-menu-button:hover{background:var(--ms-surface-hover);color:var(--ms-text-primary)}body.harbor-designer-view .harbor-layer-content .layer-empty{color:var(--ms-text-tertiary);font-size:var(--ms-font-size-sm);padding:10px 6px;line-height:1.45}body:not(.line-designer-view) .canvas-wrap{box-sizing:border-box!important;grid-template-rows:minmax(0,1fr) 88px!important;grid-template-columns:minmax(0,1fr)!important;min-width:0!important;min-height:0!important;padding:8px 10px 10px!important;display:grid!important;overflow:hidden!important}body:not(.line-designer-view) .canvas-controls{box-sizing:border-box!important;border:0!important;border-top:1px solid var(--ms-border-subtle)!important;background:var(--ms-surface-primary)!important;width:100%!important;height:88px!important;min-height:88px!important;box-shadow:none!important;place-self:stretch stretch!important;align-items:center!important;gap:10px!important;margin:0!important;padding:12px 14px 0!important;display:flex!important}body:is(.boat-designer-view,.harbor-designer-view) .canvas-wrap>.canvas-controls{top:auto!important;bottom:auto!important;transform:none!important}body:not(.line-designer-view) .canvas-controls>:is(.control,.zoom-control,.fit-control,.history-controls){align-self:center!important;margin-top:0!important;margin-bottom:0!important}body.harbor-designer-view .harbor-left .designer-tools-section{border-bottom-color:var(--ms-border-subtle);padding-top:18px;padding-bottom:18px}body.harbor-designer-view .harbor-left .designer-tools-section>h2{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);letter-spacing:.01em;font-weight:700;line-height:1.2}body.harbor-designer-view .harbor-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:12px}body.harbor-designer-view .harbor-mode-grid .mode-button{border-radius:var(--ms-radius-md);height:62px;min-height:62px;color:var(--ms-text-primary);box-shadow:none;font-size:var(--ms-font-size-md);background:0 0;border:0;gap:3px;font-weight:550;line-height:1.15;transition:background-color .12s,color .12s,box-shadow .12s}body.harbor-designer-view .harbor-mode-grid .mode-button:hover:not(:disabled){background:var(--ms-surface-hover);color:var(--ms-text-primary);border:0}body.harbor-designer-view .harbor-mode-grid .mode-button.active{background:var(--ms-surface-selected);color:var(--ms-text-primary);box-shadow:inset 2px 0 0 var(--ms-accent);border:0}body.harbor-designer-view .harbor-mode-grid .mode-button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.harbor-designer-view .harbor-mode-grid .mode-button .icon{background-color:currentColor;flex:0 0 30px;width:30px;height:30px}body.harbor-designer-view .harbor-mode-grid .mode-button .select-icon{flex-basis:29px;width:29px;height:29px}body.harbor-designer-view .harbor-mode-grid .mode-button .dock-icon{flex-basis:34px;width:34px;height:25px}body.harbor-designer-view .harbor-mode-grid .mode-button .pile-icon{flex-basis:25px;width:25px;height:30px}body.harbor-designer-view .harbor-mode-grid .mode-button .ring-icon,body.harbor-designer-view .harbor-mode-grid .mode-button .anchor-tool-icon{flex-basis:29px;width:29px;height:30px}body.harbor-designer-view .harbor-mode-grid .mode-button .ruler-icon{flex-basis:29px;width:29px;height:29px}body.harbor-designer-view .harbor-mode-grid .mode-button.active .icon{background-color:var(--ms-text-primary)}body.harbor-designer-view .harbor-inspector{flex-direction:column;display:flex}body.harbor-designer-view .harbor-inspector-tabs{border:1px solid var(--ms-border-subtle);background:var(--ms-surface-secondary);border-radius:7px;flex:0 0 40px;grid-template-columns:1fr 1fr;gap:3px;margin:0 0 4px;padding:3px;display:grid}body.harbor-designer-view .harbor-inspector-tabs button{min-width:0;color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:0 6px;font-weight:500}body.harbor-designer-view .harbor-inspector-tabs button:hover:not(:disabled){color:var(--ms-text-primary);background:#ffffff94}body.harbor-designer-view .harbor-inspector-tabs button[aria-selected=true]{border-color:var(--ms-border-subtle);background:var(--ms-surface-primary);color:var(--ms-text-primary);font-weight:650;box-shadow:0 1px 2px #1722320d}body.harbor-designer-view .harbor-inspector-tabs button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.harbor-designer-view .harbor-inspector[data-harbor-inspector-view=design] .harbor-save-card{display:none!important}body.harbor-designer-view .harbor-inspector[data-harbor-inspector-view=design] :is(.harbor-selection-card,.harbor-background-card,.designer-view-card){display:block}body.harbor-designer-view .harbor-inspector[data-harbor-inspector-view=project] :is(.harbor-selection-card,.harbor-background-card,.designer-view-card){display:none!important}body.harbor-designer-view .harbor-inspector[data-harbor-inspector-view=project] .harbor-save-card{display:block!important}body.harbor-designer-view .harbor-inspector .inspect-card{border:0;border-bottom:1px solid var(--ms-border-subtle);box-shadow:none;background:0 0;margin:0;padding:16px 0 18px}body.harbor-designer-view .harbor-inspector .inspect-card h3{color:var(--ms-text-primary);font-size:var(--ms-font-size-md);letter-spacing:.01em;margin:0 0 12px;font-weight:700;line-height:1.2}body.harbor-designer-view .harbor-selection-content strong{color:var(--ms-text-primary);margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.25;display:block}body.harbor-designer-view .harbor-selection-content p{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);margin:0;line-height:1.5}body.harbor-designer-view .harbor-inspector .harbor-inspector-disclosure{border:0;border-bottom:1px solid var(--ms-border-subtle);box-shadow:none;background:0 0;margin:0;padding:0;display:block}body.harbor-designer-view .harbor-inspector .harbor-inspector-disclosure>summary{box-sizing:border-box;min-height:48px;color:var(--ms-text-primary);font-size:var(--ms-font-size-md);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:0;font-weight:700;line-height:1.2;list-style:none;display:flex}body.harbor-designer-view .harbor-inspector .harbor-inspector-disclosure>summary::-webkit-details-marker{display:none}body.harbor-designer-view .harbor-inspector .harbor-inspector-disclosure>summary:focus-visible{border-radius:var(--ms-radius-sm);box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.harbor-designer-view .harbor-inspector .harbor-disclosure-chevron{border-right:2px solid var(--ms-text-tertiary);border-bottom:2px solid var(--ms-text-tertiary);flex:0 0 9px;width:9px;height:9px;margin-right:3px;transition:transform .12s;transform:rotate(45deg)}body.harbor-designer-view .harbor-inspector .harbor-inspector-disclosure[open] .harbor-disclosure-chevron{transform:rotate(225deg)}body.harbor-designer-view .harbor-inspector details.harbor-inspector-disclosure:not([open])>:not(summary){display:none!important}body.harbor-designer-view .harbor-inspector .harbor-inspector-disclosure[open]{padding-bottom:16px}body.harbor-designer-view .harbor-inspector .harbor-inspector-disclosure[open]>summary{margin-bottom:12px}body.harbor-designer-view .harbor-inspector .harbor-reference-help{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);margin:0 0 10px;line-height:1.45}body.harbor-designer-view .harbor-inspector .harbor-background-card .designer-upload-button{border-color:var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-secondary);min-height:40px;color:var(--ms-text-primary);box-shadow:none;font-size:var(--ms-font-size-md);font-weight:600}body.harbor-designer-view .harbor-inspector .harbor-background-card .designer-upload-button:hover{border-color:var(--ms-border-strong);background:var(--ms-surface-hover)}body.harbor-designer-view .harbor-inspector .harbor-view-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:14px;padding-bottom:14px;display:grid!important}body.harbor-designer-view .harbor-inspector .harbor-view-card>h3{grid-column:1/-1;margin:0 0 4px}body.harbor-designer-view .harbor-inspector .harbor-view-card .designer-wide-button{border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-md);width:100%;min-width:0;height:auto;min-height:34px;color:var(--ms-text-secondary);box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:5px;margin:0;padding:6px;font-size:11px;font-weight:500;line-height:1.25;display:flex}body.harbor-designer-view .harbor-inspector .harbor-view-card .designer-wide-button:hover:not(:disabled){border-color:var(--ms-border-default);background:var(--ms-surface-hover);color:var(--ms-text-primary)}body.harbor-designer-view .harbor-inspector .harbor-view-card .designer-wide-button:focus-visible{border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.harbor-designer-view .harbor-inspector .harbor-view-card .designer-wide-button .icon{background-color:currentColor;flex:0 0 15px;width:15px;height:15px}body.harbor-designer-view .harbor-inspector .harbor-view-card .designer-wide-button+.designer-wide-button{margin-top:0}body.harbor-designer-view .harbor-inspector[data-harbor-inspector-view=project] .harbor-save-card{padding-top:16px}body.harbor-designer-view .harbor-inspector .harbor-save-card .save-row{gap:8px;margin-top:8px}body.line-designer-view .line-designer-workspace{box-sizing:border-box;grid-template-rows:minmax(0,1fr) 88px;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}body.line-designer-view .line-designer-controls{box-sizing:border-box;border:0;border-top:1px solid var(--ms-border-subtle);background:var(--ms-surface-primary);width:100%;height:88px;min-height:88px;box-shadow:none;justify-content:center;align-items:center;gap:10px;margin:0;padding:12px 14px 0;display:flex}body.line-designer-view .line-designer-zoom-group>span:not(.icon){color:var(--ms-text-secondary);font-size:var(--ms-font-size-md);white-space:nowrap;font-weight:400;line-height:1}body.line-designer-view .line-designer-zoom-group>strong{min-width:43px;color:var(--ms-text-primary);font-size:var(--ms-font-size-md);text-align:center;font-variant-numeric:tabular-nums;font-weight:650;line-height:1}body.line-designer-view .line-designer-zoom-group>button{box-sizing:border-box;border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-sm);background:var(--ms-surface-primary);width:34px;min-width:34px;height:30px;min-height:30px;color:var(--ms-text-primary);box-shadow:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:21px;font-weight:400;line-height:1;display:inline-flex}body.line-designer-view .line-designer-left .line-component-layers{border-bottom:1px solid var(--ms-border-subtle);padding:18px}body.line-designer-view .line-designer-left .line-component-layers .section-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}body.line-designer-view .line-designer-left .line-component-layers h2{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);letter-spacing:.01em;margin:0;font-weight:700;line-height:1.2}body.line-designer-view .line-component-count{color:var(--ms-text-tertiary);font-size:var(--ms-font-size-xs);white-space:nowrap;font-weight:500;line-height:1}body.line-designer-view .line-designer-layer-row{box-sizing:border-box;border-radius:var(--ms-radius-md);min-height:46px;box-shadow:none;color:var(--ms-text-primary);background:0 0;border:0;grid-template-columns:22px minmax(0,1fr) 26px 26px 26px;align-items:center;gap:4px;margin:0;padding:4px 5px;transition:background-color .12s,box-shadow .12s;display:grid}body.line-designer-view .line-designer-layer-row:hover{background:var(--ms-surface-hover)}body.line-designer-view .line-designer-layer-row.selected{background:var(--ms-surface-selected);box-shadow:inset 2px 0 0 var(--ms-accent)}body.line-designer-view .line-component-index{width:22px;min-width:22px;color:var(--ms-text-tertiary);font-size:var(--ms-font-size-xs);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:600;line-height:1;display:flex}body.line-designer-view .line-component-layer-name{min-width:0;color:var(--ms-text-primary);font-size:var(--ms-font-size-md);flex-direction:column;justify-content:center;font-weight:600;line-height:1.15;display:flex;overflow:hidden}body.line-designer-view .line-component-layer-name>*{min-width:0}body.line-designer-view .line-component-layer-name small,body.line-designer-view .line-component-layer-name .line-component-length,body.line-designer-view .line-component-layer-name span:last-child{color:var(--ms-text-secondary);font-size:var(--ms-font-size-xs);font-weight:400;line-height:1.2}body.line-designer-view .line-designer-layer-row :is(.line-order-button,.line-remove-button){box-sizing:border-box;border-radius:var(--ms-radius-sm);width:26px;min-width:26px;height:26px;min-height:26px;box-shadow:none;color:var(--ms-text-secondary);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin:0;padding:0;font-size:15px;font-weight:500;line-height:1;display:inline-flex}body.line-designer-view .line-designer-layer-row .line-order-button:hover:not(:disabled){border-color:var(--ms-border-subtle);background:var(--ms-surface-primary);color:var(--ms-text-primary)}body.line-designer-view .line-designer-layer-row .line-remove-button{color:var(--ms-text-tertiary)}body.line-designer-view .line-designer-layer-row .line-remove-button:hover:not(:disabled){color:var(--ms-danger);background:#b91c1c0f;border-color:#b91c1c2e}body.line-designer-view .line-designer-layer-row :is(.line-order-button,.line-remove-button):disabled{opacity:.28;cursor:default}body.line-designer-view .line-designer-layer-row :is(.line-order-button,.line-remove-button):focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.line-designer-view .line-designer-left .line-component-palette-section{border-bottom-color:var(--ms-border-subtle);padding-top:18px;padding-bottom:18px}body.line-designer-view .line-designer-left .line-component-palette-section>h2{color:var(--ms-text-primary);font-size:var(--ms-font-size-lg);letter-spacing:.01em;margin:0 0 12px;font-weight:700;line-height:1.2}body.line-designer-view .component-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}body.line-designer-view .component-palette-button{box-sizing:border-box;border-radius:var(--ms-radius-md);min-width:0;min-height:42px;box-shadow:none;color:var(--ms-text-primary);font-size:var(--ms-font-size-xs);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;margin:0;padding:6px 8px;font-weight:600;line-height:1.1;transition:background-color .12s,border-color .12s,color .12s;display:grid}body.line-designer-view .component-palette-button:hover:not(:disabled){border-color:var(--ms-border-subtle);background:var(--ms-surface-hover)}body.line-designer-view .component-palette-button:active:not(:disabled){background:var(--ms-surface-selected)}body.line-designer-view .component-palette-button:focus-visible{border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.line-designer-view .component-palette-button .icon{background-color:currentColor;flex:none;justify-self:center;width:26px;max-width:26px;height:22px}body.line-designer-view .component-palette-button :is(.rope-icon,.chain-icon,.spring-icon){width:28px;max-width:28px}body.line-designer-view .component-palette-button>span:last-child{min-width:0;color:var(--ms-text-primary);font-size:var(--ms-font-size-xs);overflow-wrap:anywhere;font-weight:600;line-height:1.05}body.line-designer-view .component-palette-button{overflow:hidden}body.line-designer-view .line-designer-inspector{flex-direction:column;min-width:0;min-height:0;display:flex}body.line-designer-view .line-inspector-tabs{border:1px solid var(--ms-border-subtle);background:var(--ms-surface-secondary);border-radius:7px;flex:0 0 40px;grid-template-columns:1fr 1fr;gap:3px;margin:0 0 4px;padding:3px;display:grid}body.line-designer-view .line-inspector-tabs button{min-width:0;color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:0 6px;font-weight:500;line-height:1}body.line-designer-view .line-inspector-tabs button:hover:not(:disabled){color:var(--ms-text-primary);background:#ffffff94}body.line-designer-view .line-inspector-tabs button[aria-selected=true]{border-color:var(--ms-border-subtle);background:var(--ms-surface-primary);color:var(--ms-text-primary);font-weight:650;box-shadow:0 1px 2px #1722320d}body.line-designer-view .line-inspector-tabs button:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.line-designer-view .line-designer-inspector[data-line-inspector-view=design] .line-design-save-card{display:none!important}body.line-designer-view .line-designer-inspector[data-line-inspector-view=design] :is(.line-component-inspector-card,.line-design-properties-card){display:block}body.line-designer-view .line-designer-inspector[data-line-inspector-view=project] :is(.line-component-inspector-card,.line-design-properties-card){display:none!important}body.line-designer-view .line-designer-inspector[data-line-inspector-view=project] .line-design-save-card{display:block!important}body.line-designer-view .line-designer-inspector .inspect-card{border:0;border-bottom:1px solid var(--ms-border-subtle);box-shadow:none;background:0 0;border-radius:0;margin:0;padding:16px 0 18px}body.line-designer-view .line-designer-inspector .inspect-card>h3{color:var(--ms-text-primary);font-size:var(--ms-font-size-md);letter-spacing:.01em;margin:0 0 12px;font-weight:700;line-height:1.2}body.line-designer-view .line-component-inspector-card strong{color:var(--ms-text-primary)}body.line-designer-view .line-component-inspector-card p{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);line-height:1.45}body.line-designer-view .line-designer-inspector[data-line-inspector-view=project] .line-design-save-card{padding-top:16px}body.line-designer-view .line-designer-workspace{flex-direction:column!important;grid-template-rows:none!important;grid-template-columns:none!important;min-width:0!important;min-height:0!important;display:flex!important}body.line-designer-view .line-designer-workspace>:not(.line-designer-controls){flex:auto;min-height:0}body.line-designer-view .line-designer-controls{flex:0 0 88px!important;height:88px!important;min-height:88px!important}body.line-designer-view .line-component-inspector-card{padding-top:16px;padding-bottom:16px}body.line-designer-view .line-component-inspector-card>:not(h3)>strong:first-child,body.line-designer-view .line-component-inspector-card>strong:first-of-type{color:var(--ms-text-primary);margin:0 0 6px;font-size:14px;font-weight:700;line-height:1.2;display:block}body.line-designer-view .line-component-inspector-card p{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);margin:0 0 12px;font-weight:400;line-height:1.42}body.line-designer-view .line-component-inspector-card .designer-field{flex-direction:column;gap:5px;margin:0 0 10px;display:flex}body.line-designer-view .line-component-inspector-card .designer-field>span{color:var(--ms-text-secondary);font-size:var(--ms-font-size-sm);font-weight:500;line-height:1.2}body.line-designer-view .line-component-inspector-card .designer-field :is(input,select){box-sizing:border-box;border:1px solid var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);width:100%;height:38px;min-height:38px;color:var(--ms-text-primary);box-shadow:none;font-size:var(--ms-font-size-md);margin:0;padding:0 11px;font-weight:500;line-height:1}body.line-designer-view .line-component-inspector-card .designer-field :is(input,select):hover:not(:disabled){border-color:var(--ms-border-strong)}body.line-designer-view .line-component-inspector-card .designer-field :is(input,select):focus{border-color:var(--ms-accent);box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}body.line-designer-view .line-component-derived{border:1px solid var(--ms-border-subtle);border-radius:var(--ms-radius-md);background:var(--ms-surface-secondary);box-shadow:none;grid-template-columns:1fr;gap:0;margin-top:12px;padding:7px 10px;display:grid}body.line-designer-view .line-component-derived>span{box-sizing:border-box;min-height:26px;color:var(--ms-text-secondary);font-size:var(--ms-font-size-xs);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:3px 0;font-weight:450;line-height:1.2;display:grid}body.line-designer-view .line-component-derived>span+span{border-top:1px solid var(--ms-border-subtle)}body.line-designer-view .line-component-derived>span>strong{color:var(--ms-text-primary);font-size:var(--ms-font-size-xs);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}body.line-designer-view .line-design-properties-card{padding-top:14px;padding-bottom:16px}body.line-designer-view .line-design-properties-card>h3{margin-bottom:10px}body.line-designer-view .line-design-properties-card :is(.property-row,.summary-row,.line-design-property-row){min-height:25px;color:var(--ms-text-secondary);font-size:var(--ms-font-size-xs);line-height:1.25}body.line-designer-view .line-design-properties-card :is(.property-row,.summary-row,.line-design-property-row) strong{color:var(--ms-text-primary);font-variant-numeric:tabular-nums;font-weight:700}body.line-designer-view .line-designer-inspector[data-line-inspector-view=design]{scrollbar-gutter:stable;overflow:hidden auto}body.line-designer-view .line-designer-controls{box-sizing:border-box!important;border:0!important;border-top:1px solid var(--ms-border-subtle)!important;background:var(--ms-surface-primary)!important;width:100%!important;height:88px!important;min-height:88px!important;box-shadow:none!important;flex:0 0 88px!important;justify-content:flex-start!important;align-items:center!important;gap:10px!important;margin:0!important;padding:12px 14px 0!important;display:flex!important}body.line-designer-view .line-designer-zoom-group{box-sizing:border-box!important;border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;width:218px!important;min-width:0!important;height:40px!important;box-shadow:none!important;color:var(--ms-text-primary)!important;flex:0 218px!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0 8px 0 13px!important;display:flex!important}body.line-designer-view .line-designer-zoom-group>span:not(.icon){white-space:nowrap;flex:auto;color:var(--ms-text-secondary)!important;font-size:var(--ms-font-size-md)!important;font-weight:400!important;line-height:1!important}body.line-designer-view .line-designer-zoom-group>strong{text-align:center;font-variant-numeric:tabular-nums;flex:0 0 43px;min-width:43px!important;color:var(--ms-text-primary)!important;font-size:var(--ms-font-size-md)!important;font-weight:650!important;line-height:1!important}body.line-designer-view .line-designer-zoom-group>button{box-sizing:border-box!important;border:1px solid var(--ms-border-subtle)!important;border-radius:var(--ms-radius-sm)!important;background:var(--ms-surface-primary)!important;width:34px!important;min-width:34px!important;height:30px!important;min-height:30px!important;color:var(--ms-text-primary)!important;box-shadow:none!important;flex:0 0 34px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;font-size:21px!important;font-weight:400!important;line-height:1!important;display:inline-flex!important}body.line-designer-view .line-designer-zoom-group>button:hover:not(:disabled){border-color:var(--ms-border-default)!important;background:var(--ms-surface-hover)!important}body.line-designer-view .line-designer-controls>.fit-control{box-sizing:border-box!important;border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;width:44px!important;min-width:44px!important;height:40px!important;min-height:40px!important;color:var(--ms-text-primary)!important;box-shadow:none!important;flex:0 0 44px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;display:inline-flex!important}body.line-designer-view .line-designer-controls>.fit-control .icon{background-color:currentColor!important;width:22px!important;height:22px!important}body.line-designer-view .line-designer-controls>.fit-control:hover:not(:disabled){background:var(--ms-surface-hover)!important}body.line-designer-view .line-designer-controls :is(.line-designer-zoom-group>button,.fit-control):focus-visible{border-color:var(--ms-accent)!important;box-shadow:0 0 0 3px var(--ms-focus-ring)!important;outline:none!important}body.line-designer-view .line-designer-controls .line-designer-zoom-group{width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;flex:none!important;align-items:center!important;gap:10px!important;margin:0!important;padding:0!important;display:flex!important}body.line-designer-view .line-designer-controls .line-zoom-control{box-sizing:border-box!important;border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;width:218px!important;min-width:218px!important;height:40px!important;min-height:40px!important;box-shadow:none!important;color:var(--ms-text-primary)!important;flex:0 0 218px!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0 8px 0 13px!important;display:flex!important}body.line-designer-view .line-designer-controls .line-zoom-control>span{color:var(--ms-text-secondary)!important;font-size:var(--ms-font-size-md)!important;white-space:nowrap!important;flex:auto!important;margin:0!important;padding:0!important;font-weight:400!important;line-height:1!important}body.line-designer-view .line-designer-controls .line-zoom-control>strong{font-variant-numeric:tabular-nums;width:43px!important;min-width:43px!important;color:var(--ms-text-primary)!important;font-size:var(--ms-font-size-md)!important;text-align:center!important;flex:0 0 43px!important;margin:0!important;padding:0!important;font-weight:650!important;line-height:1!important}body.line-designer-view .line-designer-controls .line-zoom-control>button{box-sizing:border-box!important;border:1px solid var(--ms-border-subtle)!important;border-radius:var(--ms-radius-sm)!important;background:var(--ms-surface-primary)!important;width:34px!important;min-width:34px!important;height:30px!important;min-height:30px!important;box-shadow:none!important;color:var(--ms-text-primary)!important;flex:0 0 34px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;font-size:21px!important;font-weight:400!important;line-height:1!important;display:inline-flex!important}body.line-designer-view .line-designer-controls .line-designer-zoom-group>.fit-control{box-sizing:border-box!important;border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;width:44px!important;min-width:44px!important;height:40px!important;min-height:40px!important;box-shadow:none!important;color:var(--ms-text-primary)!important;flex:0 0 44px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;display:inline-flex!important}body.line-designer-view .line-designer-controls .line-designer-zoom-group>.fit-control .icon{background-color:currentColor!important;flex:0 0 22px!important;width:22px!important;height:22px!important}body.line-designer-view .line-designer-controls .line-zoom-control>button:hover:not(:disabled),body.line-designer-view .line-designer-controls .line-designer-zoom-group>.fit-control:hover:not(:disabled){background:var(--ms-surface-hover)!important}body.line-designer-view .line-designer-controls :is(.line-zoom-control>button,.line-designer-zoom-group>.fit-control):focus-visible{border-color:var(--ms-accent)!important;box-shadow:0 0 0 3px var(--ms-focus-ring)!important;outline:none!important}body.boat-designer-view .designer-inspector .designer-view-card{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding-top:14px!important;padding-bottom:14px!important;display:grid!important}body.boat-designer-view .designer-inspector .designer-view-card>h3{grid-column:1/-1!important;margin:0 0 4px!important}body.boat-designer-view .designer-inspector .designer-view-card .designer-wide-button{border:1px solid var(--ms-border-subtle)!important;border-radius:var(--ms-radius-md)!important;width:100%!important;min-width:0!important;height:auto!important;min-height:34px!important;color:var(--ms-text-secondary)!important;box-shadow:none!important;background:0 0!important;justify-content:center!important;align-items:center!important;gap:5px!important;margin:0!important;padding:6px!important;font-size:11px!important;font-weight:500!important;line-height:1.25!important;display:flex!important}body.boat-designer-view .designer-inspector .designer-view-card .designer-wide-button:hover:not(:disabled){border-color:var(--ms-border-default)!important;background:var(--ms-surface-hover)!important;color:var(--ms-text-primary)!important}body.boat-designer-view .designer-inspector .designer-view-card .designer-wide-button .icon{background-color:currentColor!important;flex:0 0 15px!important;width:15px!important;height:15px!important}body.boat-designer-view .designer-inspector .designer-view-card .designer-wide-button+.designer-wide-button{margin-top:0!important}.help-dialog-card{border-radius:12px!important;width:min(720px,100vw - 48px)!important;max-height:min(760px,100vh - 48px)!important}.help-dialog .global-dialog-header{min-height:76px!important;padding:18px 22px!important}.help-dialog .global-dialog-header>div>span{display:none!important}.help-dialog .global-dialog-header h2{font-size:20px!important;line-height:1.15!important}.help-dialog .global-dialog-header button{border-radius:var(--ms-radius-md)!important;width:36px!important;height:36px!important;font-size:22px!important}.help-dialog-content{padding:22px 26px 26px!important}.help-dialog-content ol{gap:7px!important;padding-left:22px!important;font-size:13px!important;line-height:1.45!important}.help-dialog-content>:first-child{margin-top:0!important}.help-dialog-content h2,.help-dialog-content h3{margin-top:18px!important;margin-bottom:14px!important}.help-dialog-content .help-tip,.help-dialog-content blockquote{border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-secondary)!important;margin:18px 0 0!important;padding:12px 14px!important}.settings-dialog-card{border-radius:12px!important;width:min(640px,100vw - 48px)!important}.settings-dialog .global-dialog-header{min-height:76px!important;padding:18px 22px!important}.settings-dialog .global-dialog-header>div>span{display:none!important}.settings-dialog .global-dialog-header h2{font-size:20px!important;line-height:1.15!important}.settings-dialog .global-dialog-header button{border-radius:var(--ms-radius-md)!important;width:36px!important;height:36px!important;font-size:22px!important}.settings-dialog .settings-sections{display:block!important}.settings-dialog .settings-sections>section:nth-child(2),.settings-dialog .settings-sections>section:nth-child(4),.settings-dialog .settings-sections>section:first-child label:nth-of-type(n+2),.settings-dialog .settings-sections>section:nth-child(3) label:nth-of-type(-n+3){display:none!important}.settings-dialog .settings-sections>section{border:0!important;padding:20px 22px!important}.settings-dialog .settings-sections>section+section:not(:nth-child(2)):not(:nth-child(4)){border-top:1px solid var(--ms-border-subtle)!important}.settings-dialog .settings-sections h3{color:var(--ms-text-primary)!important;font-size:var(--ms-font-size-md)!important;letter-spacing:.01em!important;margin:0 0 12px!important;font-weight:700!important;line-height:1.2!important}.settings-dialog .settings-sections label{min-height:40px!important;color:var(--ms-text-secondary)!important;font-size:var(--ms-font-size-md)!important}.settings-dialog .settings-sections :is(select,input[type=number]){border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;height:36px!important;color:var(--ms-text-primary)!important}.settings-dialog .settings-sections input[type=checkbox]{width:18px!important;height:18px!important}.projects-dialog-card{border-radius:12px!important;width:min(860px,100vw - 40px)!important}.projects-dialog .global-dialog-header>div>span{display:none!important}.projects-dialog .global-dialog-header h2{font-size:20px!important;line-height:1.15!important}.projects-dialog .global-dialog-header button{border-radius:var(--ms-radius-md)!important;width:36px!important;height:36px!important;font-size:22px!important}.projects-dialog-actions{gap:14px!important;padding:18px 22px!important}.projects-dialog-actions p{color:var(--ms-text-secondary)!important;font-size:var(--ms-font-size-md)!important}.projects-dialog-actions button.primary{border-radius:var(--ms-radius-md)!important;background:var(--ms-accent)!important;min-height:40px!important;font-size:var(--ms-font-size-md)!important;padding:0 16px!important;font-weight:650!important}.projects-dialog .projects-account-status,.projects-dialog .projects-storage-status,.projects-dialog .projects-sync-status{border-top:1px solid var(--ms-border-subtle)!important;border-bottom:1px solid var(--ms-border-subtle)!important;background:var(--ms-surface-secondary)!important;padding:12px 22px!important}.projects-dialog :is(.projects-account-status,.projects-storage-status,.projects-sync-status) strong{font-size:var(--ms-font-size-md)!important}.projects-dialog :is(.projects-account-status,.projects-storage-status,.projects-sync-status) p{font-size:var(--ms-font-size-sm)!important;color:var(--ms-text-secondary)!important}.projects-dialog [data-projects-action*=import],.projects-dialog [data-project-action*=import]{border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;min-height:34px!important;color:var(--ms-text-secondary)!important;font-size:var(--ms-font-size-sm)!important;background:0 0!important;padding:0 12px!important;font-weight:500!important}.projects-dialog .project-row{border:1px solid var(--ms-border-subtle)!important;border-radius:var(--ms-radius-lg)!important;background:var(--ms-surface-primary)!important;min-height:74px!important;margin:10px 22px!important;padding:12px 14px!important}.projects-dialog .project-row-main strong,.projects-dialog .project-row-main input{font-size:14px!important;font-weight:700!important}.projects-dialog .project-row-main small,.projects-dialog .project-row-meta small{color:var(--ms-text-tertiary)!important;font-size:var(--ms-font-size-xs)!important}.projects-dialog .project-row-meta{color:var(--ms-text-secondary)!important;font-size:var(--ms-font-size-sm)!important}.projects-dialog .project-row-actions button:not(.danger){border-radius:var(--ms-radius-md)!important;min-height:34px!important;font-size:var(--ms-font-size-sm)!important;font-weight:550!important}.projects-dialog .project-row-actions button:first-child{border-color:var(--ms-accent)!important;background:var(--ms-accent)!important;color:#fff!important}.projects-dialog .project-row-actions button:nth-child(2),.projects-dialog .project-row-actions button:nth-child(3){color:var(--ms-text-secondary)!important;background:0 0!important;border-color:#0000!important}.projects-dialog .project-row-actions button:nth-child(2):hover,.projects-dialog .project-row-actions button:nth-child(3):hover{background:var(--ms-surface-hover)!important;color:var(--ms-text-primary)!important}.projects-dialog .project-row-actions .danger{color:var(--ms-danger)!important;background:0 0!important;border-color:#0000!important}.projects-dialog .project-row-actions .danger:hover{background:#b91c1c0f!important}.projects-dialog .project-row-actions{gap:4px!important}.account-menu{border-radius:10px!important;width:238px!important;padding:7px!important}.account-menu header{padding:8px 8px 9px!important}.account-menu header strong{font-size:12px!important}.account-menu header span{font-size:10px!important}.account-menu>button{border-radius:var(--ms-radius-md)!important;grid-template-columns:18px 1fr!important;gap:7px!important;min-height:34px!important;padding:0 8px!important;font-size:12px!important}.account-menu>button>span{width:18px!important;color:var(--ms-text-tertiary)!important;font-size:13px!important;line-height:1!important}.account-menu>button[data-account-action=signout]>span{color:var(--ms-text-secondary)!important}.account-menu-separator{margin:5px 3px!important}.projects-dialog-card{width:min(820px,100vw - 32px)!important;max-width:820px!important;overflow-x:hidden!important}.projects-dialog{overflow-x:hidden!important}.projects-dialog .project-row{box-sizing:border-box!important;grid-template-columns:minmax(150px,1.45fr) minmax(90px,.85fr) minmax(90px,.85fr) minmax(100px,.95fr) auto!important;align-items:center!important;gap:14px!important;width:auto!important;max-width:calc(100% - 32px)!important;min-height:66px!important;margin:10px 16px!important;padding:10px 12px!important;display:grid!important;overflow:visible!important}.projects-dialog .project-row-main,.projects-dialog .project-row-meta,.projects-dialog .project-row-actions{min-width:0!important}.projects-dialog :is(.project-row-main,.project-row-meta) :is(strong,span,small){text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;overflow:hidden!important}.projects-dialog .project-row-actions{white-space:nowrap!important;justify-content:flex-end!important;align-items:center!important;gap:6px!important;display:flex!important}.projects-dialog .project-row-actions>button:first-child{min-width:58px!important;height:34px!important;min-height:34px!important;padding:0 12px!important}.projects-dialog .project-more-menu{flex:none;margin:0;padding:0;position:relative}.projects-dialog .project-more-menu>summary{box-sizing:border-box;border:1px solid var(--ms-border-default);border-radius:var(--ms-radius-md);background:var(--ms-surface-primary);width:34px;height:34px;color:var(--ms-text-secondary);letter-spacing:1px;cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;list-style:none;display:flex}.projects-dialog .project-more-menu>summary::-webkit-details-marker{display:none}.projects-dialog .project-more-menu>summary::marker{content:""}.projects-dialog .project-more-menu>summary:hover{background:var(--ms-surface-hover);color:var(--ms-text-primary)}.projects-dialog .project-more-menu>summary:focus-visible{box-shadow:0 0 0 3px var(--ms-focus-ring);outline:none}.projects-dialog .project-more-menu-popover{z-index:20;border:1px solid var(--ms-border-default);border-radius:var(--ms-radius-lg);background:var(--ms-surface-primary);width:148px;box-shadow:var(--ms-shadow-float);padding:5px;position:absolute;top:calc(100% + 6px);right:0}.projects-dialog .project-more-menu-popover>button{box-sizing:border-box;text-align:left;align-items:center;width:100%;height:32px;min-height:32px;padding:0 9px;display:flex;border-radius:var(--ms-radius-md)!important;color:var(--ms-text-primary)!important;background:0 0!important;border:0!important;font-size:12px!important;font-weight:500!important}.projects-dialog .project-more-menu-popover>button:hover{background:var(--ms-surface-hover)!important}.projects-dialog .project-more-menu-popover>button.danger{color:var(--ms-danger)!important}.projects-dialog .global-dialog-header{min-height:68px!important;padding:14px 18px!important}.projects-dialog .global-dialog-header h2{font-size:18px!important}.projects-dialog-actions{padding:14px 18px!important}.projects-dialog-actions button.primary{min-height:36px!important;padding:0 13px!important;font-size:12px!important}@media (width<=760px){.projects-dialog .project-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px 12px!important}.projects-dialog .project-row-meta{display:none!important}.projects-dialog .project-row-actions{grid-area:1/2/span 2}}.account-dialog-card{box-sizing:border-box!important;border-radius:12px!important;width:min(640px,100vw - 40px)!important;max-width:640px!important;max-height:calc(100vh - 40px)!important;padding:24px 26px 22px!important;overflow-y:auto!important}.account-dialog-card>.account-modal-eyebrow{color:var(--ms-text-tertiary)!important;letter-spacing:.08em!important;background:0 0!important;border:0!important;margin:0 0 14px!important;padding:0!important;font-size:10px!important;line-height:1!important}.account-modal-heading{margin-top:0!important;margin-bottom:18px!important}.account-modal-heading p{color:var(--ms-text-secondary)!important;margin:0!important;font-size:12px!important;line-height:1.4!important}.account-modal-close{border-radius:var(--ms-radius-md)!important;width:34px!important;height:34px!important;font-size:22px!important;top:16px!important;right:16px!important}.account-dialog-card img{max-width:72px!important;max-height:72px!important}.account-dialog-card :is(h3,strong){line-height:1.2}.account-dialog-card form,.account-dialog-card .account-form,.account-dialog-card .account-details{border-radius:var(--ms-radius-lg)!important}.account-dialog-card label{font-size:12px!important}.account-dialog-card input:not([readonly]):not(:disabled){border-radius:var(--ms-radius-md)!important;height:38px!important;min-height:38px!important;font-size:13px!important}.account-dialog-card :is(input[readonly],input:disabled){height:30px!important;min-height:30px!important;box-shadow:none!important;color:var(--ms-text-secondary)!important;background:0 0!important;border:0!important;padding:0!important;font-size:12px!important}.account-dialog-card :is(input[readonly],input:disabled)~:is(svg,.icon,[aria-hidden=true]){display:none!important}.account-dialog-card button[type=submit]{border-radius:var(--ms-radius-md)!important;height:36px!important;min-height:36px!important;font-size:12px!important}.account-dialog-card button:is([data-account-delete],[data-account-delete-open],[data-account-action=delete]){min-height:32px!important;box-shadow:none!important;color:var(--ms-danger)!important;background:0 0!important;border:0!important;font-size:12px!important;font-weight:500!important}.account-dialog-card button:is([data-account-delete],[data-account-delete-open],[data-account-action=delete]) :is(svg,.icon,[aria-hidden=true]){display:none!important}:is(.account-dialog-card,.projects-dialog-card) button{font-family:inherit}.account-dialog-card{box-sizing:border-box!important;border-radius:12px!important;width:min(740px,100vw - 40px)!important;max-width:740px!important;max-height:calc(100vh - 40px)!important;padding:20px 26px 18px!important;overflow:hidden auto!important}.account-dialog-card>.account-modal-eyebrow{margin:0 0 10px!important}.account-modal-heading{margin:0 0 14px!important}.account-modal-heading h2{margin:0 0 3px!important;font-size:21px!important;line-height:1.15!important}.account-modal-heading p{margin:0!important;font-size:12px!important;line-height:1.35!important}.account-dialog-card :is(.account-profile,.account-profile-summary,.account-user-summary,.account-identity-card,.account-modal-profile){gap:16px!important;margin:0 0 16px!important;padding:0!important}.account-dialog-card img[src^="https://"],.account-dialog-card img[src^="http://"]{box-sizing:border-box!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;width:76px!important;min-width:76px!important;height:76px!important;min-height:76px!important;margin:0!important;padding:0!important;display:block!important}.account-dialog-card :is(.account-avatar,.account-profile-avatar,.account-modal-avatar){border-radius:50%!important;width:76px!important;min-width:76px!important;height:76px!important;min-height:76px!important;padding:0!important;overflow:hidden!important}.account-dialog-card :is(.account-avatar,.account-profile-avatar,.account-modal-avatar) img{object-fit:cover!important;object-position:center!important;border-radius:50%!important;width:100%!important;height:100%!important;padding:0!important}.account-dialog-card :is(.account-profile,.account-profile-summary,.account-user-summary,.account-identity-card,.account-modal-profile) :is(h3,strong){margin-bottom:3px!important;font-size:15px!important;line-height:1.2!important}.account-dialog-card :is(.account-profile,.account-profile-summary,.account-user-summary,.account-identity-card,.account-modal-profile) p{margin:2px 0!important;font-size:12px!important;line-height:1.3!important}.account-dialog-card form,.account-dialog-card .account-form,.account-dialog-card .account-details{box-sizing:border-box!important;border-radius:10px!important;margin:14px 0 0!important;padding:14px 16px!important}.account-dialog-card form>label,.account-dialog-card .account-form>label,.account-dialog-card .account-details>label{box-sizing:border-box!important;width:100%!important;min-height:42px!important;color:var(--ms-text-secondary)!important;grid-template-columns:150px minmax(0,1fr)!important;align-items:center!important;gap:18px!important;margin:0!important;padding:3px 0!important;font-size:12px!important;line-height:1.2!important;display:grid!important}.account-dialog-card :is(form,.account-form,.account-details)>label>span:first-child{align-self:center!important;margin:0!important;padding:0!important;line-height:1.2!important}.account-dialog-card :is(form,.account-form,.account-details) input{box-sizing:border-box!important;border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background:var(--ms-surface-primary)!important;width:100%!important;height:38px!important;min-height:38px!important;color:var(--ms-text-primary)!important;vertical-align:middle!important;margin:0!important;padding:0 12px!important;font-family:inherit!important;font-size:13px!important;line-height:36px!important}.account-dialog-card :is(form,.account-form,.account-details) :is(input[readonly],input:disabled){border:1px solid var(--ms-border-subtle)!important;background:var(--ms-surface-subtle)!important;height:38px!important;min-height:38px!important;color:var(--ms-text-secondary)!important;opacity:1!important;padding:0 12px!important}.account-dialog-card :is(form,.account-form,.account-details) input:not(:disabled):focus{border-color:var(--ms-accent)!important;box-shadow:0 0 0 3px var(--ms-focus-ring)!important;outline:none!important}.account-dialog-card button[type=submit]{height:36px!important;min-height:36px!important;margin-top:8px!important;font-size:12px!important}.account-dialog-card form hr,.account-dialog-card .account-form hr,.account-dialog-card .account-details hr{border:0!important;border-top:1px solid var(--ms-border-subtle)!important;margin:10px 0 6px!important}.account-dialog-card button:is([data-account-delete],[data-account-delete-open],[data-account-action=delete]){min-height:28px!important;margin:2px auto 0!important;padding:4px 8px!important}.account-dialog-card>footer{border-top:1px solid var(--ms-border-subtle)!important;color:var(--ms-text-tertiary)!important;text-align:center!important;margin:12px 0 0!important;padding:10px 0 0!important;font-size:11px!important;line-height:1.35!important}@media (width<=620px){.account-dialog-card{width:calc(100vw - 24px)!important;padding:18px!important}.account-dialog-card form>label,.account-dialog-card .account-form>label,.account-dialog-card .account-details>label{grid-template-columns:1fr!important;gap:5px!important;padding:5px 0!important}}.projects-dialog-actions button.primary :is(.icon,svg,path){color:#fff!important;fill:#fff!important;stroke:#fff!important;background-color:#fff!important}.subscription-dialog-card{box-sizing:border-box!important;border-radius:12px!important;width:min(860px,100vw - 40px)!important;max-width:860px!important;max-height:calc(100vh - 40px)!important;padding:22px 24px 18px!important;overflow-y:auto!important}.subscription-close{border-radius:var(--ms-radius-md)!important;width:34px!important;height:34px!important;font-size:22px!important;top:16px!important;right:16px!important}.subscription-dialog-card h2{margin-top:0!important;margin-bottom:4px!important;font-size:24px!important;line-height:1.15!important}.subscription-dialog-card h2+p{color:var(--ms-text-secondary)!important;margin-top:0!important;margin-bottom:18px!important;font-size:12px!important;line-height:1.4!important}.subscription-dialog-card :is(.subscription-eyebrow,.subscription-label,.subscription-kicker){letter-spacing:.08em!important;font-size:9px!important}.subscription-dialog-card :is(.subscription-current-plan,.subscription-current,.current-plan-card){background:var(--ms-surface-subtle)!important;border-radius:10px!important;padding:16px!important}.subscription-dialog-card :is(.subscription-current-plan,.subscription-current,.current-plan-card) h3{margin:0 0 6px!important;font-size:16px!important;line-height:1.2!important}.subscription-dialog-card :is(.subscription-current-plan,.subscription-current,.current-plan-card) :is(.price,.subscription-price,strong){line-height:1.1!important}.subscription-dialog-card :is(.subscription-current-plan,.subscription-current,.current-plan-card) ul{margin:12px 0 0!important;padding-top:10px!important}.subscription-dialog-card :is(.subscription-current-plan,.subscription-current,.current-plan-card) li{margin:5px 0!important;font-size:11px!important;line-height:1.35!important}.subscription-dialog-card :is(.subscription-current-plan,.subscription-current,.current-plan-card) a,.subscription-dialog-card :is(.subscription-current-plan,.subscription-current,.current-plan-card) button:not(.primary){font-size:11px!important}.subscription-dialog-card :is(.subscription-currency,.currency-selector,.subscription-currency-control){font-size:10px!important}.subscription-dialog-card select{border:1px solid var(--ms-border-default)!important;border-radius:var(--ms-radius-md)!important;background-color:var(--ms-surface-primary)!important;height:34px!important;min-height:34px!important;color:var(--ms-text-secondary)!important;padding:0 28px 0 10px!important;font-size:12px!important}.subscription-dialog-card :is(.subscription-plan,.subscription-plan-option,.subscription-plan-card,.plan-option){box-sizing:border-box!important;border-radius:9px!important;min-height:72px!important;padding:12px 14px!important}.subscription-dialog-card :is(.subscription-plan,.subscription-plan-option,.subscription-plan-card,.plan-option) h3{margin:0 0 3px!important;font-size:15px!important;line-height:1.2!important}.subscription-dialog-card :is(.subscription-plan,.subscription-plan-option,.subscription-plan-card,.plan-option) p{color:var(--ms-text-secondary)!important;margin:0!important;font-size:11px!important;line-height:1.35!important}.subscription-dialog-card :is(.subscription-plan,.subscription-plan-option,.subscription-plan-card,.plan-option) :is(.price,.plan-price,.subscription-price){font-size:15px!important;line-height:1.15!important}.subscription-dialog-card :is(.active,.selected,[aria-checked=true]) :is(.badge,.pill,.status){padding:2px 6px!important;font-size:9px!important}.subscription-dialog-card input[type=radio]{width:17px!important;height:17px!important;margin:0!important}.subscription-dialog-card :is(.subscription-action,.subscription-cta,[data-subscription-checkout],button.primary){border-radius:var(--ms-radius-md)!important;height:40px!important;min-height:40px!important;margin-top:10px!important;padding:0 16px!important;font-size:13px!important;font-weight:650!important}.subscription-dialog-card>footer{border-top:1px solid var(--ms-border-subtle)!important;color:var(--ms-text-tertiary)!important;margin-top:16px!important;padding-top:12px!important;font-size:10px!important;line-height:1.3!important}.subscription-dialog-card :is(.subscription-payment-note,.subscription-secure-note){color:var(--ms-text-tertiary)!important;font-size:10px!important}.subscription-confirming{margin-top:8px!important;font-size:10px!important}@media (width<=760px){.subscription-dialog-card{width:calc(100vw - 24px)!important;padding:18px!important}.subscription-dialog-card :is(.subscription-layout,.subscription-content,.subscription-main){grid-template-columns:1fr!important}}.subscription-dialog-card{width:min(800px,100vw - 40px)!important;max-width:800px!important;padding:20px 22px 16px!important}.subscription-dialog-card h2{font-size:21px!important}.subscription-dialog-card h2+p{margin-bottom:14px!important}.subscription-current-compact{box-sizing:border-box!important;border:1px solid var(--ms-border-subtle)!important;border-radius:var(--ms-radius-lg)!important;background:var(--ms-surface-subtle)!important;min-height:0!important;padding:14px 16px!important}.subscription-current-compact>*{max-width:100%!important}.subscription-current-compact :is(.subscription-eyebrow,.subscription-label,.subscription-kicker){margin:0 0 4px!important;font-size:9px!important}.subscription-current-compact h3{margin:0!important;font-size:15px!important;line-height:1.2!important}.subscription-current-compact :is(.badge,.pill,.status){padding:2px 6px!important;font-size:9px!important}.subscription-current-compact p{color:var(--ms-text-secondary)!important;margin:5px 0 0!important;font-size:11px!important;line-height:1.35!important}.subscription-dialog-card :is(.subscription-layout,.subscription-content,.subscription-main){grid-template-columns:minmax(190px,.65fr) minmax(0,1.5fr)!important;gap:14px!important}.subscription-dialog-card :is(.subscription-currency,.currency-selector,.subscription-currency-control){margin-bottom:6px!important}.subscription-dialog-card select{width:auto!important;min-width:82px!important;height:32px!important;min-height:32px!important}.subscription-dialog-card :is(.subscription-plan,.subscription-plan-option,.subscription-plan-card,.plan-option){border-radius:var(--ms-radius-lg)!important;min-height:62px!important;padding:10px 12px!important}.subscription-dialog-card :is(.subscription-plans,.subscription-plan-list,.plan-list){gap:7px!important}.subscription-dialog-card :is(.subscription-plan,.subscription-plan-option,.subscription-plan-card,.plan-option) h3{font-size:14px!important}.subscription-dialog-card :is(.subscription-plan,.subscription-plan-option,.subscription-plan-card,.plan-option) p{font-size:10.5px!important}.subscription-dialog-card :is(.subscription-action,.subscription-cta,[data-subscription-checkout],button.primary){height:36px!important;min-height:36px!important;margin-top:8px!important;font-size:12px!important}.subscription-dialog-card :is(.subscription-support,.subscription-help){margin-top:7px!important;font-size:10.5px!important}.subscription-dialog-card>footer{margin-top:12px!important;padding-top:10px!important;font-size:9.5px!important}.subscription-dialog-card :is(.subscription-body,.subscription-content,.subscription-main){min-height:0!important}@media (width<=700px){.subscription-dialog-card :is(.subscription-layout,.subscription-content,.subscription-main){grid-template-columns:1fr!important}}.subscription-current-compact{align-self:start!important;min-height:0!important;padding:14px 16px!important}.subscription-current-compact [hidden],.subscription-current-compact ul,.subscription-current-compact ol{display:none!important}.subscription-current-compact{align-self:start!important;height:auto!important;min-height:0!important;padding:14px 16px!important}.subscription-current-compact [hidden],.subscription-current-compact ul,.subscription-current-compact ol,.subscription-current-compact hr{display:none!important}.subscription-current-benefits{border-top:1px solid var(--ms-border-subtle)!important;color:var(--ms-text-secondary)!important;gap:7px!important;margin-top:14px!important;padding-top:12px!important;font-size:11px!important;line-height:1.3!important;display:grid!important}.subscription-current-benefits>div{grid-template-columns:14px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;display:grid!important}.subscription-current-benefits span{color:var(--ms-accent)!important;font-size:11px!important;font-weight:700!important;line-height:1!important}.subscription-current-compact{padding-bottom:14px!important}.subscription-dialog-card [hidden]{display:none!important}.subscription-plan-preview{border:1px solid var(--ms-border-subtle)!important;background:var(--ms-surface-subtle)!important;border-radius:10px!important;align-self:start!important;height:auto!important;min-height:0!important;padding:16px!important}.subscription-plan-preview :is(.subscription-eyebrow,.subscription-label,.subscription-kicker){color:var(--ms-text-tertiary)!important;letter-spacing:.08em!important;margin-bottom:4px!important;font-size:9px!important;font-weight:700!important}.subscription-plan-preview [data-subscription-current-name]{margin:0!important;font-size:16px!important;line-height:1.2!important}.subscription-preview-description{color:var(--ms-text-secondary)!important;margin:5px 0 0!important;font-size:10.5px!important;line-height:1.35!important}.subscription-plan-preview [data-subscription-active-badge]{margin-top:12px!important}.subscription-plan-preview [data-subscription-period-note]{color:var(--ms-text-secondary)!important;margin:9px 0 0!important;font-size:10.5px!important;line-height:1.35!important}.subscription-plan-preview [data-subscription-current-features]{border-top:1px solid var(--ms-border-subtle)!important;gap:7px!important;margin:13px 0 0!important;padding:12px 0 0!important;list-style:none!important;display:grid!important}.subscription-plan-preview [data-subscription-current-features] li{grid-template-columns:15px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;font-size:10.5px!important;line-height:1.3!important;display:grid!important}.subscription-plan-preview [data-subscription-current-features] .is-available>span:first-child{color:var(--ms-accent)!important;font-weight:700!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child{color:var(--ms-text-disabled)!important;font-weight:600!important}.subscription-plan-preview ul[data-subscription-current-features]{display:grid!important}.subscription-dialog-card :is(.subscription-layout,.subscription-content,.subscription-main){grid-template-columns:minmax(190px,.62fr) minmax(0,1.55fr)!important}.subscription-dialog-card .subscription-plan{cursor:pointer!important}.subscription-plan-preview [data-subscription-current-price],.subscription-plan-preview [data-subscription-current-unit]{display:inline!important}.subscription-plan-preview .subscription-current-price{justify-content:center!important;align-items:baseline!important;gap:6px!important;margin:12px 0 2px!important;display:flex!important}.subscription-plan-preview [data-subscription-current-price]{color:var(--ms-text-primary)!important;font-size:24px!important;font-weight:700!important;line-height:1!important}.subscription-plan-preview [data-subscription-current-unit]{color:var(--ms-text-secondary)!important;font-size:10px!important;font-weight:500!important;line-height:1.15!important}.subscription-plan-preview [data-subscription-current-unit] small{font-size:inherit!important}.subscription-plan-preview [data-subscription-current-features] .is-available>span:first-child{color:var(--ms-accent)!important;font-size:11px!important;font-weight:700!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child{color:#b8c1cc!important;font-size:12px!important;font-weight:400!important}.subscription-plan-preview [data-subscription-current-features] li{grid-template-columns:16px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important;display:grid!important}.subscription-plan-preview [data-subscription-current-features] li>span:first-child{box-sizing:border-box!important;border:1px solid var(--ms-border-strong)!important;background:var(--ms-surface-primary)!important;color:#0000!important;border-radius:3px!important;width:14px!important;height:14px!important;margin:0!important;font-size:0!important;line-height:0!important;display:inline-block!important;position:relative!important;overflow:hidden!important}.subscription-plan-preview [data-subscription-current-features] .is-available>span:first-child{border-color:var(--ms-accent)!important;background:var(--ms-accent-soft)!important}.subscription-plan-preview [data-subscription-current-features] .is-available>span:first-child:after{content:""!important;border-right:1.6px solid var(--ms-accent)!important;border-bottom:1.6px solid var(--ms-accent)!important;transform-origin:50%!important;width:5px!important;height:8px!important;position:absolute!important;top:1px!important;left:3px!important;transform:rotate(45deg)!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child{background:#f4f6f8!important;border-color:#c8d0da!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child:after{content:none!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:last-child{color:#a6b0bc!important;font-weight:500!important}.subscription-plan-preview [data-subscription-current-features] li{grid-template-columns:15px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-height:20px!important;margin:0!important;padding:0!important;display:grid!important}.subscription-plan-preview [data-subscription-current-features] li>span:first-child{color:#0000!important;background:0 0!important;border:0!important;border-radius:0!important;width:13px!important;height:13px!important;margin:0!important;padding:0!important;font-size:0!important;line-height:0!important;display:block!important;position:relative!important;overflow:visible!important}.subscription-plan-preview [data-subscription-current-features] .is-available{color:var(--ms-text-secondary)!important}.subscription-plan-preview [data-subscription-current-features] .is-available>span:first-child:before{content:""!important;border-right:1.7px solid var(--ms-accent)!important;border-bottom:1.7px solid var(--ms-accent)!important;width:5px!important;height:9px!important;position:absolute!important;top:0!important;left:2px!important;transform:rotate(45deg)!important}.subscription-plan-preview [data-subscription-current-features] .is-available>span:first-child:after{content:none!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable{color:var(--ms-text-disabled)!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child:before,.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child:after{content:""!important;background:var(--ms-text-disabled)!important;border:0!important;width:1.4px!important;height:11px!important;position:absolute!important;top:1px!important;left:6px!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child:before{transform:rotate(45deg)!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child:after{transform:rotate(-45deg)!important}.subscription-plan-preview [data-subscription-current-features] li>span:last-child{color:inherit!important;font-size:10.5px!important;font-weight:500!important;line-height:1.35!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:last-child{color:var(--ms-text-disabled)!important}.subscription-plan-preview [data-subscription-current-features]{gap:6px!important;margin-top:13px!important;padding-top:12px!important}.subscription-plan-preview [data-subscription-current-features] li{grid-template-columns:16px minmax(0,1fr)!important;align-items:center!important;gap:7px!important;min-height:20px!important;display:grid!important}.subscription-plan-preview [data-subscription-current-features] li>span:first-child{text-align:center!important;background:0 0!important;border:0!important;border-radius:0!important;width:16px!important;height:auto!important;margin:0!important;padding:0!important;font-family:inherit!important;font-size:15px!important;font-weight:600!important;line-height:1!important;display:block!important;position:static!important;overflow:visible!important}.subscription-plan-preview [data-subscription-current-features] li>span:first-child:before,.subscription-plan-preview [data-subscription-current-features] li>span:first-child:after{content:none!important;display:none!important}.subscription-plan-preview [data-subscription-current-features] .is-available>span:first-child{color:var(--ms-accent)!important}.subscription-plan-preview [data-subscription-current-features] .is-available>span:last-child{color:var(--ms-text-secondary)!important}.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:first-child,.subscription-plan-preview [data-subscription-current-features] .is-unavailable>span:last-child{color:var(--ms-text-disabled)!important}.subscription-plan-preview [data-subscription-current-features] li>span:last-child{font-size:10.5px!important;font-weight:500!important;line-height:1.35!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools .mode-button .icon{width:34px!important;height:34px!important;box-shadow:none!important;background-color:#0000!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:contain!important;border:0!important;border-radius:0!important;flex:0 0 34px!important;display:block!important;transform:none!important;-webkit-mask:none!important;mask:none!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools .mode-button .icon:before,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools .mode-button .icon:after{content:none!important;display:none!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Select] .icon{background-image:url(/assets/select-0pp3m_F-.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Pile] .icon{background-image:url(/assets/pile-DBMmzFsL.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Boat\ Point] .icon{background-image:url(/assets/boat-point-D_Aiak6H.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Dock] .icon{background-image:url(/assets/dock-B7F0hyej.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Connect] .icon{background-image:url(/assets/connect-BdZObXEf.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Measure] .icon{background-image:url(/assets/measure-DypyuUPp.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Ring] .icon{background-image:url(/assets/ring-BlTpcfLf.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Pulley] .icon{background-image:url(/assets/pulley-D9rl2V5d.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Rotate] .icon{background-image:url(/assets/rotate-DPWPc90e.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Anchor] .icon{background-image:url(/assets/anchor-BkHtwy4l.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Buoy] .icon{background-image:url(/assets/buoy-sn-nR6OK.svg)!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools .mode-button.active .icon{opacity:1!important;filter:none!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Select] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Pile] .icon{background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Boat\ Point] .icon{background-size:28px 28px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Dock] .icon{background-size:27px 27px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Connect] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Measure] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Ring] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Pulley] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Rotate] .icon{background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Anchor] .icon{background-size:27px 27px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .view-tools [data-tool=Buoy] .icon{background-size:26px 26px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button .icon{width:34px!important;height:34px!important;box-shadow:none!important;background-color:#0000!important;background-position:50%!important;background-repeat:no-repeat!important;border:0!important;border-radius:0!important;flex:0 0 34px!important;display:block!important;transform:none!important;-webkit-mask:none!important;mask:none!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button .icon:before,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button .icon:after{content:none!important;display:none!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Select] .icon{background-image:url(/assets/select-0pp3m_F-.svg)!important;background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Pile] .icon{background-image:url(/assets/pile-DBMmzFsL.svg)!important;background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Boat\ Point] .icon{background-image:url(/assets/boat-point-D_Aiak6H.svg)!important;background-size:28px 28px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Dock] .icon{background-image:url(/assets/dock-B7F0hyej.svg)!important;background-size:27px 27px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Connect] .icon{background-image:url(/assets/connect-BdZObXEf.svg)!important;background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Measure] .icon{background-image:url(/assets/measure-DypyuUPp.svg)!important;background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Ring] .icon{background-image:url(/assets/ring-BlTpcfLf.svg)!important;background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Pulley] .icon{background-image:url(/assets/pulley-D9rl2V5d.svg)!important;background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Rotate] .icon{background-image:url(/assets/rotate-DPWPc90e.svg)!important;background-size:25px 25px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Anchor] .icon{background-image:url(/assets/anchor-BkHtwy4l.svg)!important;background-size:27px 27px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Buoy] .icon{background-image:url(/assets/buoy-sn-nR6OK.svg)!important;background-size:26px 26px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button.active .icon{opacity:1!important;filter:none!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section .mode-button .icon{flex:0 0 44px!important;width:44px!important;height:44px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Select] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Pile] .icon{background-size:38px 38px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Boat\ Point] .icon{background-size:42px 42px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Dock] .icon{background-size:41px 41px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Connect] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Measure] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Ring] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Pulley] .icon,body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Rotate] .icon{background-size:38px 38px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Anchor] .icon{background-size:41px 41px!important}body:not(.boat-designer-view):not(.harbor-designer-view):not(.line-designer-view) .mode-section [data-tool=Buoy] .icon{background-size:40px 40px!important}body.boat-designer-view .designer-mode-grid .mode-button .icon{width:44px!important;height:44px!important;box-shadow:none!important;background-color:#0000!important;background-position:50%!important;background-repeat:no-repeat!important;border:0!important;border-radius:0!important;flex:0 0 44px!important;display:block!important;transform:none!important;-webkit-mask:none!important;mask:none!important}body.boat-designer-view .designer-mode-grid .mode-button .icon:before,body.boat-designer-view .designer-mode-grid .mode-button .icon:after{content:none!important;display:none!important}body.boat-designer-view .designer-mode-grid [data-designer-tool=Select] .icon{background-image:url(/assets/select-0pp3m_F-.svg)!important;background-size:38px 38px!important}body.boat-designer-view .designer-mode-grid [data-designer-tool=Boat\ Point] .icon{background-image:url(/assets/boat-point-D_Aiak6H.svg)!important;background-size:42px 42px!important}body.boat-designer-view .designer-mode-grid [data-designer-tool=Measure] .icon{background-image:url(/assets/measure-DypyuUPp.svg)!important;background-size:38px 38px!important}body.boat-designer-view .designer-mode-grid [data-designer-tool=Rotate] .icon{background-image:url(/assets/rotate-DPWPc90e.svg)!important;background-size:38px 38px!important}body.boat-designer-view .designer-mode-grid .mode-button.active .icon{opacity:1!important;filter:none!important}body.harbor-designer-view .harbor-mode-grid .mode-button .icon{width:44px!important;height:44px!important;box-shadow:none!important;background-color:#0000!important;background-position:50%!important;background-repeat:no-repeat!important;border:0!important;border-radius:0!important;flex:0 0 44px!important;display:block!important;transform:none!important;-webkit-mask:none!important;mask:none!important}body.harbor-designer-view .harbor-mode-grid .mode-button .icon:before,body.harbor-designer-view .harbor-mode-grid .mode-button .icon:after{content:none!important;display:none!important}body.harbor-designer-view .harbor-mode-grid [data-harbor-tool=Select] .icon{background-image:url(/assets/select-0pp3m_F-.svg)!important;background-size:38px 38px!important}body.harbor-designer-view .harbor-mode-grid [data-harbor-tool=Dock] .icon{background-image:url(/assets/dock-B7F0hyej.svg)!important;background-size:41px 41px!important}body.harbor-designer-view .harbor-mode-grid [data-harbor-tool=Pile] .icon{background-image:url(/assets/pile-DBMmzFsL.svg)!important;background-size:38px 38px!important}body.harbor-designer-view .harbor-mode-grid [data-harbor-tool=Ring] .icon{background-image:url(/assets/ring-BlTpcfLf.svg)!important;background-size:38px 38px!important}body.harbor-designer-view .harbor-mode-grid [data-harbor-tool=Anchor] .icon{background-image:url(/assets/anchor-BkHtwy4l.svg)!important;background-size:41px 41px!important}body.harbor-designer-view .harbor-mode-grid [data-harbor-tool=Measure] .icon{background-image:url(/assets/measure-DypyuUPp.svg)!important;background-size:38px 38px!important}body.harbor-designer-view .harbor-mode-grid .mode-button.active .icon{opacity:1!important;filter:none!important}.interaction-layer .moorsim-canvas-object{pointer-events:none}.interaction-layer .moorsim-object-symbol-image{pointer-events:none;opacity:1}.interaction-layer .moorsim-canvas-object.inactive .moorsim-object-symbol-image{opacity:.38}.interaction-layer .moorsim-object-selection{fill:#ffffffd1;stroke:var(--ms-accent);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none;display:none}.interaction-layer .moorsim-canvas-object.selected-object .moorsim-object-selection{display:block}body.harbor-designer-view .harbor-mode-grid [data-harbor-tool=Pulley] .icon{background-image:url(/assets/pulley-D9rl2V5d.svg)!important;background-size:38px 38px!important}body.harbor-designer-view .harbor-mode-grid [data-harbor-tool=Buoy] .icon{background-image:url(/assets/buoy-sn-nR6OK.svg)!important;background-size:40px 40px!important}:root{--ms-nav-collapsed-width:58px}.app-shell{transition:grid-template-columns .16s}.nav-rail{min-width:0;overflow:hidden}.nav-rail .nav-label{opacity:1;transition:opacity .1s}.hamburger{cursor:pointer}.hamburger:focus-visible{outline:2px solid var(--ms-accent,#315f96);outline-offset:-3px}body.nav-collapsed .app-shell,body.nav-collapsed:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .app-shell,body.nav-collapsed:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .app-shell{grid-template-columns:var(--ms-nav-collapsed-width) 310px minmax(0, 1fr) 310px}body.nav-collapsed .nav-item,body.nav-collapsed .nav-help{gap:0;padding-left:0;padding-right:0}body.nav-collapsed .nav-item .nav-label,body.nav-collapsed .nav-help .nav-label{clip-path:inset(50%);white-space:nowrap;opacity:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.nav-collapsed .nav-item .icon,body.nav-collapsed .nav-help .icon{margin-left:auto;margin-right:auto}body.nav-collapsed .guest-mode-status{display:none!important}@media (width<=1280px){body.nav-collapsed:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .app-shell{grid-template-columns:var(--ms-nav-collapsed-width) 284px minmax(0, 1fr) 286px}}@media (prefers-reduced-motion:reduce){.app-shell,.nav-rail .nav-label{transition:none}}.nav-rail{background:var(--ms-surface-primary,#fff);border-right:1px solid var(--ms-border-default,#d8e0e9)}.nav-rail .hamburger{border:0;border-bottom:1px solid var(--ms-border-subtle,#e5eaf0);width:100%;height:72px;color:var(--ms-text-primary,#172232);background:0 0;flex-direction:column;flex:0 0 72px;justify-content:center;align-items:center;gap:6px;padding:0;display:flex}.nav-rail .hamburger span{background:currentColor;border-radius:2px;width:27px;height:2px;margin:0}.nav-rail .hamburger:hover{background:var(--ms-surface-secondary,#f6f8fb)}.nav-rail .nav-item,.nav-rail .nav-help{box-sizing:border-box;width:100%;min-height:88px;color:var(--ms-text-primary,#172232);font-family:var(--ms-font,inherit);text-align:center;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 6px;font-size:12px;font-weight:500;line-height:1.15;display:flex;position:relative}.nav-rail .nav-label{text-align:center;text-wrap:balance;max-width:72px;display:block}.nav-rail :is(.nav-item,.nav-help):hover{background:var(--ms-surface-secondary,#f6f8fb)}.nav-rail .nav-item.active{color:var(--ms-text-primary,#172232);background:#edf2f7;border-left-color:#657488;font-weight:600}.nav-rail :is(.nav-item,.nav-help):focus-visible{z-index:1;outline:2px solid var(--ms-accent,#315f96);outline-offset:-3px}.nav-rail .settings-item{border-top:1px solid var(--ms-border-default,#d8e0e9);margin-top:6px}.nav-rail .nav-help{border-top:1px solid var(--ms-border-subtle,#e5eaf0);flex:none;min-height:74px}.nav-rail :is(.nav-item,.nav-help)>.icon{flex:0 0 36px;width:36px;height:36px;margin:0}body.nav-collapsed .nav-rail .hamburger{flex-basis:64px;height:64px}body.nav-collapsed .nav-rail .nav-item{min-height:68px;padding:8px 0}body.nav-collapsed .nav-rail .nav-help{min-height:64px;padding:8px 0}body.nav-collapsed .nav-rail .settings-item{margin-top:4px}body.nav-collapsed .nav-rail .nav-item.active{border-left-color:#657488}body.nav-collapsed .nav-rail :is(.nav-item,.nav-help)>.icon{flex-basis:34px;width:34px;height:34px}@media (prefers-reduced-motion:reduce){.nav-rail :is(.nav-item,.nav-help,.hamburger){transition:none}}.nav-rail .nav-item .icon,.nav-rail .nav-help .icon{background-color:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.nav-rail [data-nav=Simulation] .icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3ccircle%20cx='24'%20cy='24'%20r='13.5'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M24%206.5V11M24%2037V41.5M6.5%2024H11M37%2024H41.5'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3cpath%20d='M24%2014.5L28%2024L24%2033.5L20%2024L24%2014.5Z'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linejoin='round'/%3e%3cpath%20d='M14.5%2024H33.5'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3ccircle%20cx='24'%20cy='24'%20r='13.5'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M24%206.5V11M24%2037V41.5M6.5%2024H11M37%2024H41.5'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3cpath%20d='M24%2014.5L28%2024L24%2033.5L20%2024L24%2014.5Z'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linejoin='round'/%3e%3cpath%20d='M14.5%2024H33.5'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3c/svg%3e")}.nav-rail [data-nav=Boat\ Designer] .icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3cpath%20d='M24%206.5%20C18.5%2010.5%2014.5%2015.5%2013.5%2022%20L16%2039%20H32%20L34.5%2022%20C33.5%2015.5%2029.5%2010.5%2024%206.5Z'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linejoin='round'/%3e%3crect%20x='20'%20y='17.5'%20width='8'%20height='11'%20rx='1.5'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3cpath%20d='M24%206.5%20C18.5%2010.5%2014.5%2015.5%2013.5%2022%20L16%2039%20H32%20L34.5%2022%20C33.5%2015.5%2029.5%2010.5%2024%206.5Z'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linejoin='round'/%3e%3crect%20x='20'%20y='17.5'%20width='8'%20height='11'%20rx='1.5'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3c/svg%3e")}.nav-rail [data-nav=Harbor\ Designer] .icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='340'%20height='330'%20viewBox='0%200%20340%20330'%20fill='none'%20stroke='%23002B60'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ctitle%3ePollare%20med%20förtöjningslina%3c/title%3e%3cg%20transform='translate(17.5%20-10)'%3e%3cpath%20d='M89%20267V107H61Q57%20107%2057%20103V74C57%2056%2097%2050%20152%2050S248%2056%20248%2074V103Q248%20107%20244%20107H216V267'%20stroke-width='15.5'/%3e%3cpath%20d='M66%20167L239%20144M66%20206L239%20184'%20stroke-width='33'/%3e%3cpath%20d='M216%20210.35L280.8%20201.65A16.5%2016.5%200%200%201%20285.2%20234.35L216%20243.65Z'%20fill='%23002B60'%20stroke='none'/%3e%3cpath%20d='M13%20300V276Q13%20268%2021%20268H284Q292%20268%20292%20276V300'%20stroke-width='15.5'/%3e%3c/g%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='340'%20height='330'%20viewBox='0%200%20340%20330'%20fill='none'%20stroke='%23002B60'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ctitle%3ePollare%20med%20förtöjningslina%3c/title%3e%3cg%20transform='translate(17.5%20-10)'%3e%3cpath%20d='M89%20267V107H61Q57%20107%2057%20103V74C57%2056%2097%2050%20152%2050S248%2056%20248%2074V103Q248%20107%20244%20107H216V267'%20stroke-width='15.5'/%3e%3cpath%20d='M66%20167L239%20144M66%20206L239%20184'%20stroke-width='33'/%3e%3cpath%20d='M216%20210.35L280.8%20201.65A16.5%2016.5%200%200%201%20285.2%20234.35L216%20243.65Z'%20fill='%23002B60'%20stroke='none'/%3e%3cpath%20d='M13%20300V276Q13%20268%2021%20268H284Q292%20268%20292%20276V300'%20stroke-width='15.5'/%3e%3c/g%3e%3c/svg%3e")}.nav-rail [data-nav="Mooring Line Designer"] .icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3ccircle%20cx='10'%20cy='24'%20r='3.5'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3ccircle%20cx='38'%20cy='24'%20r='3.5'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M13.5%2024%20C17%2015%2023%2015%2024%2024%20C25%2033%2031%2033%2034.5%2024'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3ccircle%20cx='10'%20cy='24'%20r='3.5'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3ccircle%20cx='38'%20cy='24'%20r='3.5'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M13.5%2024%20C17%2015%2023%2015%2024%2024%20C25%2033%2031%2033%2034.5%2024'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3c/svg%3e")}.nav-rail [data-nav=Settings] .icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3cpath%20d='M10%2014H38M10%2024H38M10%2034H38'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3ccircle%20cx='19'%20cy='14'%20r='3.5'%20fill='white'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3ccircle%20cx='30'%20cy='24'%20r='3.5'%20fill='white'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3ccircle%20cx='22'%20cy='34'%20r='3.5'%20fill='white'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3cpath%20d='M10%2014H38M10%2024H38M10%2034H38'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3ccircle%20cx='19'%20cy='14'%20r='3.5'%20fill='white'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3ccircle%20cx='30'%20cy='24'%20r='3.5'%20fill='white'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3ccircle%20cx='22'%20cy='34'%20r='3.5'%20fill='white'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3c/svg%3e")}.nav-rail [data-nav=Help] .icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3ccircle%20cx='24'%20cy='24'%20r='16'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M19.5%2019%20C19.8%2015.8%2022.1%2014%2025%2014%20C28.4%2014%2030.5%2016%2030.5%2018.8%20C30.5%2021.1%2029.3%2022.4%2026.7%2024%20C24.9%2025.1%2024%2026.1%2024%2028'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3ccircle%20cx='24'%20cy='34'%20r='1.4'%20fill='currentColor'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3ccircle%20cx='24'%20cy='24'%20r='16'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M19.5%2019%20C19.8%2015.8%2022.1%2014%2025%2014%20C28.4%2014%2030.5%2016%2030.5%2018.8%20C30.5%2021.1%2029.3%2022.4%2026.7%2024%20C24.9%2025.1%2024%2026.1%2024%2028'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'/%3e%3ccircle%20cx='24'%20cy='34'%20r='1.4'%20fill='currentColor'/%3e%3c/svg%3e")}.nav-rail .hamburger{position:relative}.nav-rail .hamburger span{display:none}.nav-rail .hamburger:before{content:"";background-color:currentColor;width:28px;height:28px;display:block;-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3crect%20x='7.5'%20y='9'%20width='33'%20height='30'%20rx='3'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M17%209V39'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M29%2018L23%2024L29%2030'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3crect%20x='7.5'%20y='9'%20width='33'%20height='30'%20rx='3'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M17%209V39'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M29%2018L23%2024L29%2030'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}body.nav-collapsed .nav-rail .hamburger:before{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3crect%20x='7.5'%20y='9'%20width='33'%20height='30'%20rx='3'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M17%209V39'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M24%2018L30%2024L24%2030'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%20fill='none'%3e%3crect%20x='7.5'%20y='9'%20width='33'%20height='30'%20rx='3'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M17%209V39'%20stroke='currentColor'%20stroke-width='2.4'/%3e%3cpath%20d='M24%2018L30%2024L24%2030'%20stroke='currentColor'%20stroke-width='2.4'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")}.nav-rail [data-nav=Simulation] .icon{width:35px;height:35px}.nav-rail [data-nav=Boat\ Designer] .icon{width:34px;height:34px}.nav-rail [data-nav="Mooring Line Designer"] .icon{width:35px;height:35px}.nav-rail [data-nav=Settings] .icon,.nav-rail [data-nav=Help] .icon{width:34px;height:34px}.nav-rail [data-nav=Harbor\ Designer] .icon{width:28px;height:28px}body.nav-collapsed .nav-rail [data-nav=Harbor\ Designer] .icon{flex-basis:28px;width:28px;height:28px}body.harbor-designer-view .harbor-save-combo .harbor-save-name,body.line-designer-view .line-design-save-combo .line-design-save-name{height:var(--control-h)}body.harbor-designer-view .harbor-save-combo .save-select,body.line-designer-view .line-design-save-combo .save-select{height:var(--control-h);border-left:0;width:44px;padding:0}body.harbor-designer-view .harbor-save-combo .harbor-save-name,body.line-designer-view .line-design-save-combo .line-design-save-name{border-radius:var(--radius) 0 0 var(--radius)}body.harbor-designer-view .harbor-save-combo .save-select,body.line-designer-view .line-design-save-combo .save-select{border-radius:0 var(--radius) var(--radius) 0}body.line-designer-view .line-component-selection{display:none!important}body.line-designer-view .line-component-selection-zone{pointer-events:none;fill:#315f96!important;stroke:none!important;opacity:0!important}body.line-designer-view .assembled-line-component.selected .line-component-selection-zone{opacity:.055!important}body.line-designer-view .assembled-line-component:not(.selected):hover .line-component-selection-zone{opacity:.025!important}body.line-designer-view .line-component-selection-endpoints{stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;fill:none!important;stroke:#315f96!important;stroke-width:1.25px!important;opacity:0!important}body.line-designer-view .assembled-line-component.selected .line-component-selection-endpoints{opacity:.65!important}body.line-designer-view .assembled-line-component.selected .line-component-geometry{color:#24364d!important}body.apply-line-design-target-mode .layer-row.mooring-overview-row{cursor:pointer;background:color-mix(in srgb, var(--ms-surface-selected) 28%, white)}body.apply-line-design-target-mode .layer-row.mooring-overview-row:hover{background:var(--ms-surface-selected);box-shadow:inset 2px 0 0 var(--ms-accent)}body.apply-line-design-target-mode .layer-row.mooring-overview-row .line-summary-name{font-weight:600}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .apply-designed-line-button{white-space:nowrap;border:1px solid var(--ms-border-default);border-radius:var(--ms-radius-md);width:auto;min-width:0;height:36px;color:var(--ms-text-secondary);box-shadow:none;background:0 0;gap:7px;padding:0 11px;font-size:12px;font-weight:600;line-height:1}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .apply-designed-line-button:hover{background:var(--ms-surface-hover);border-color:var(--ms-border-strong);color:var(--ms-text-primary)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .apply-designed-line-icon{flex:0 0 17px;width:17px;height:10px;display:block;position:relative}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .apply-designed-line-icon:before,body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .apply-designed-line-icon:after{content:"";border:1.5px solid;border-radius:50%;width:17px;height:5px;position:absolute;left:0;transform:rotate(-8deg)}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .apply-designed-line-icon:before{top:0}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .apply-designed-line-icon:after{bottom:0;transform:rotate(8deg)}.apply-designed-line-button{white-space:nowrap;color:#24364d;width:auto;min-width:0;height:38px;font:inherit;box-shadow:none;cursor:pointer;background:#fff;border:1px solid #d8e0ea;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:0 12px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.apply-designed-line-button:hover{background:#f7f9fc;border-color:#c7d1de}.apply-designed-line-button:active{background:#eef3f8}.apply-designed-line-plus{color:currentColor;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;margin:0;padding:0;font-size:18px;font-weight:400;line-height:1;display:inline-flex}.apply-designed-line-label{white-space:nowrap;display:inline-block}.apply-designed-line-button .plus,.apply-designed-line-button .apply-designed-line-icon{display:none!important}.apply-designed-line-button{gap:7px;height:36px;padding:0 12px;font-size:11px;font-weight:600;line-height:1}.apply-designed-line-label{align-items:center;height:100%;line-height:1;display:flex}.apply-designed-line-plus{flex:0 0 13px;justify-content:center;align-items:center;width:13px;height:13px;font-size:17px;font-weight:400;line-height:13px;display:flex;transform:translateY(1px)}body .apply-designed-line-button{color:#52647a!important;width:auto!important;min-width:0!important;height:34px!important;min-height:34px!important;box-shadow:none!important;white-space:nowrap!important;cursor:pointer!important;background:#fff!important;border:1px solid #d8e0ea!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0 11px!important;display:inline-flex!important}body .apply-designed-line-button .apply-designed-line-label{white-space:nowrap!important;margin:0!important;padding:0!important;font-family:inherit!important;font-size:10.5px!important;font-weight:600!important;line-height:12px!important;display:inline-block!important;transform:translateY(0)!important}body .apply-designed-line-button .apply-designed-line-plus{width:auto!important;min-width:0!important;height:auto!important;color:inherit!important;flex:none!important;margin:0!important;padding:0!important;font-family:Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:12px!important;display:inline-block!important;position:relative!important;top:.5px!important;transform:none!important}body .apply-designed-line-button{box-sizing:border-box!important;width:auto!important;min-width:0!important;height:36px!important;min-height:36px!important;box-shadow:none!important;color:#52647a!important;letter-spacing:0!important;text-align:center!important;white-space:nowrap!important;vertical-align:middle!important;cursor:pointer!important;background:#fff!important;border:1px solid #d8e0ea!important;border-radius:9px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0 13px!important;font-family:inherit!important;font-size:11px!important;font-style:normal!important;font-weight:600!important;line-height:1!important;display:inline-flex!important}body .apply-designed-line-button:hover{background:#f7f9fc!important;border-color:#c7d1de!important}body .apply-designed-line-button:active{background:#eef3f8!important}body .apply-designed-line-button .apply-designed-line-plus,body .apply-designed-line-button .apply-designed-line-label,body .apply-designed-line-button .apply-designed-line-icon,body .apply-designed-line-button .plus{display:none!important}.apply-line-design-dialog{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#141f2d2e!important}.apply-line-design-dialog>*{box-sizing:border-box}.apply-line-design-dialog .dialog-card,.apply-line-design-dialog .modal-card,.apply-line-design-dialog .dialog-panel{color:#1f2d3d!important;background:#fff!important;border:1px solid #d8e0ea!important;border-radius:12px!important;width:min(440px,100vw - 40px)!important;padding:22px 24px 20px!important;box-shadow:0 18px 48px #18273a24,0 2px 8px #18273a0f!important}.apply-line-design-dialog h2,.apply-line-design-dialog h3,.apply-line-design-dialog .dialog-title{color:#1f2d3d!important;margin:0 0 8px!important;font-size:17px!important;font-weight:700!important;line-height:1.25!important}.apply-line-design-dialog p{color:#65758a!important;margin:0 0 18px!important;font-size:12px!important;line-height:1.5!important}.apply-line-design-dialog .apply-line-design-select{color:#24364d!important;width:100%!important;height:42px!important;box-shadow:none!important;background:#fff!important;border:1px solid #d8e0ea!important;border-radius:8px!important;margin:0!important;padding:0 12px!important;font-size:13px!important}.apply-line-design-dialog .apply-line-design-select:focus{border-color:#9fb1c7!important;outline:none!important;box-shadow:0 0 0 2px #315f9614!important}.apply-line-design-dialog .dialog-actions{justify-content:flex-end!important;align-items:center!important;gap:8px!important;margin-top:18px!important;display:flex!important}.apply-line-design-dialog .dialog-actions button{min-width:0!important;height:36px!important;box-shadow:none!important;cursor:pointer!important;border-radius:8px!important;padding:0 14px!important;font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1!important}.apply-line-design-dialog .dialog-actions button:not(.primary){color:#52647a!important;background:#fff!important;border:1px solid #d8e0ea!important}.apply-line-design-dialog .dialog-actions button:not(.primary):hover{background:#f7f9fc!important;border-color:#c7d1de!important}.apply-line-design-dialog .dialog-actions button.primary{color:#fff!important;background:#24364d!important;border:1px solid #24364d!important}.apply-line-design-dialog .dialog-actions button.primary:hover{background:#1c2b3d!important;border-color:#1c2b3d!important}.line-design-apply-dialog{-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;background:#18253566!important}.line-design-apply-dialog .line-design-dialog-card{box-sizing:border-box!important;color:#172232!important;background:#fff!important;border:1px solid #d2dde9!important;border-radius:10px!important;width:min(430px,100vw - 40px)!important;padding:22px 24px 20px!important;box-shadow:0 26px 76px #18253538!important}.line-design-apply-dialog .line-design-dialog-card h2{color:#172232!important;margin:0 0 8px!important;font-size:17px!important;font-weight:700!important;line-height:1.25!important}.line-design-apply-dialog .line-design-dialog-card p{color:#637286!important;margin:0 0 18px!important;font-size:12px!important;line-height:1.5!important}.line-design-apply-dialog .apply-line-design-select{box-sizing:border-box!important;color:#172232!important;width:100%!important;height:42px!important;box-shadow:none!important;background:#fff!important;border:1px solid #cbd6e3!important;border-radius:8px!important;padding:0 12px!important;font-family:inherit!important;font-size:13px!important}.line-design-apply-dialog .apply-line-design-select:focus{border-color:#9fb1c7!important;outline:none!important;box-shadow:0 0 0 2px #315f9614!important}.line-design-apply-dialog .dialog-actions{justify-content:flex-end!important;align-items:center!important;gap:8px!important;margin-top:18px!important;display:flex!important}.line-design-apply-dialog .dialog-actions button{min-width:0!important;height:36px!important;box-shadow:none!important;cursor:pointer!important;border-radius:8px!important;padding:0 14px!important;font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1!important}.line-design-apply-dialog .dialog-actions button:not(.primary){color:#52647a!important;background:#fff!important;border:1px solid #d2dde9!important}.line-design-apply-dialog .dialog-actions button:not(.primary):hover{background:#f7f9fc!important;border-color:#c7d1de!important}.line-design-apply-dialog .dialog-actions .primary{color:#fff!important;background:#24364d!important;border:1px solid #24364d!important}.line-design-apply-dialog .dialog-actions .primary:hover{background:#1c2b3d!important;border-color:#1c2b3d!important}.apply-line-target-banner[hidden]{display:none!important}.apply-line-target-banner{background:#f6f8fb;border:1px solid #dbe3ec;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 10px;padding:9px 10px;display:flex}.apply-line-target-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.apply-line-target-copy strong{color:#24364d;font-size:11px;font-weight:700;line-height:1.2}.apply-line-target-detail{color:#65758a;font-size:10px;line-height:1.3}.apply-line-target-cancel{color:#52647a;height:28px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d5dee8;border-radius:7px;flex:none;padding:0 9px;font-size:10px;font-weight:600}.apply-line-target-cancel:hover{background:#f1f4f8}body.apply-line-design-target-mode .apply-designed-line-button{display:none!important}body.apply-line-design-target-mode [data-select-type=line]{background:#f8fafc;cursor:pointer!important}body.apply-line-design-target-mode [data-select-type=line]:hover{box-shadow:inset 2px 0 #315f96;background:#edf3f9!important}body.apply-line-design-target-mode [data-select-type=line] .line-summary-name{font-weight:700}body.apply-line-design-target-mode [data-select-type]:not([data-select-type=line]){opacity:.5}.line-design-apply-dialog .apply-line-manager-field{flex-direction:column;gap:6px;display:flex}.line-design-apply-dialog .apply-line-manager-field>span,.line-design-apply-dialog .apply-line-manager-heading{color:#52647a;font-size:11px;font-weight:700;line-height:1.2}.line-design-apply-dialog .apply-line-manager-section{margin-top:20px}.line-design-apply-dialog .apply-line-manager-heading{margin-bottom:8px}.line-design-apply-dialog .apply-line-manager-list{background:#fff;border:1px solid #d8e0ea;border-radius:9px;overflow:hidden}.line-design-apply-dialog .apply-line-manager-row{cursor:pointer;background:#fff;border-bottom:1px solid #e7ecf2;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:9px 11px;display:flex}.line-design-apply-dialog .apply-line-manager-row:last-child{border-bottom:0}.line-design-apply-dialog .apply-line-manager-row:hover{background:#f7f9fc}.line-design-apply-dialog .apply-line-manager-row.is-applied{cursor:default}.line-design-apply-dialog .apply-line-manager-info{min-width:0}.line-design-apply-dialog .apply-line-manager-name{color:#24364d;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.line-design-apply-dialog .apply-line-manager-meta{color:#758399;align-items:center;gap:7px;margin-top:3px;font-size:10px;display:flex}.line-design-apply-dialog .apply-line-manager-meta span+span:before{content:"·";margin-right:7px}.line-design-apply-dialog .apply-line-manager-badge{color:#52647a;background:#eef3f8;border-radius:999px;padding:2px 5px;font-size:9px;font-weight:700}.line-design-apply-dialog .apply-line-manager-actions{flex:none;align-items:center;gap:3px;display:flex}.line-design-apply-dialog .apply-line-manager-actions button{color:#52647a!important;height:27px!important;box-shadow:none!important;cursor:pointer!important;background:0 0!important;border:0!important;border-radius:6px!important;padding:0 7px!important;font-size:10px!important;font-weight:600!important}.line-design-apply-dialog .apply-line-manager-actions button:hover{color:#24364d!important;background:#edf2f7!important}.line-design-apply-dialog .apply-line-manager-actions button.remove{color:#8a5960!important}.line-design-apply-dialog .apply-line-manager-actions button.remove:hover{color:#7a4149!important;background:#fbf3f4!important}.line-design-apply-dialog .apply-line-manager-arrow{color:#91a0b2;font-size:18px}.line-design-apply-dialog .apply-line-manager-empty{color:#758399;text-align:center;padding:18px 14px;font-size:11px;line-height:1.4}.line-design-apply-dialog .apply-line-manager-name{align-items:center;gap:7px;display:flex}.line-design-apply-dialog .apply-line-manager-dot{border-radius:999px;flex:0 0 8px;width:8px;height:8px}.line-design-apply-dialog .apply-line-manager-row.is-selected{background:#eef4fb;box-shadow:inset 2px 0 #315f96}.line-design-apply-dialog .apply-line-manager-row.is-selected:hover{background:#e8f0f9}.line-design-apply-dialog [data-line-apply-action=apply][disabled]{opacity:.45!important;cursor:default!important;pointer-events:none!important}.brand-logo-frame{grid-template-rows:auto auto;align-content:center;row-gap:2px}.brand-subtitle{color:#64748b;letter-spacing:.01em;text-align:center;white-space:nowrap;margin-top:-2px;font-size:11px;font-weight:500;line-height:1;display:block}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .work-panel>.brand .brand-logo-frame{grid-template-rows:auto auto;align-content:center;justify-items:center;row-gap:2px;display:grid}body:is(.boat-designer-view,.harbor-designer-view,.line-designer-view) .brand-subtitle{color:#64748b;font-size:10.5px}.work-panel>.brand .brand-logo-frame{width:min(100%,224px);height:68px;display:block;position:relative}.work-panel>.brand .brand-logo{width:224px;max-width:100%;height:auto;display:block}.work-panel>.brand .brand-subtitle{color:#64748b;letter-spacing:.015em;text-align:center;white-space:nowrap;margin:0;font-size:10.5px;font-weight:500;line-height:1;position:absolute;top:48px;left:82px;right:0}.work-panel>.brand .brand-logo-frame{justify-content:center;align-items:center;width:100%;height:68px;display:flex!important;position:static!important}.work-panel>.brand .brand-logo-lockup{object-fit:contain;width:min(100%,248px);max-width:248px;height:auto;display:block}.work-panel>.brand .brand-subtitle{display:none!important}.simulation-quota-badge{color:#ffffffeb;letter-spacing:.01em;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;justify-content:center;align-items:center;min-width:42px;height:20px;margin-left:2px;padding:0 7px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.simulation-quota-badge[hidden]{display:none!important}.simulation-access-dialog{z-index:10020;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1924326b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.simulation-access-dialog[hidden]{display:none!important}.simulation-access-card{text-align:center;background:#fff;border:1px solid #d7e0ea;border-radius:20px;width:min(520px,100vw - 32px);padding:42px 42px 36px;position:relative;box-shadow:0 24px 70px #1d2b3c38}.simulation-access-close{color:#34445a;cursor:pointer;background:#fff;border:1px solid #d7e0ea;border-radius:10px;width:42px;height:42px;font-size:27px;line-height:1;position:absolute;top:18px;right:18px}.simulation-access-eyebrow{color:#315f96;letter-spacing:.22em;margin-bottom:18px;font-size:11px;font-weight:800;display:block}.simulation-access-card h2{color:#172232;margin:0;font-size:30px;line-height:1.15}.simulation-access-card p{color:#536275;max-width:410px;margin:16px auto 0;font-size:15px;line-height:1.55}.simulation-access-actions{justify-content:center;margin-top:28px;display:flex}.simulation-access-actions button{color:#fff;min-width:130px;height:42px;font:inherit;cursor:pointer;background:#263344;border:1px solid #263344;border-radius:8px;padding:0 18px;font-weight:650}.simulation-access-detail{color:#6a7889!important;margin-top:8px!important;font-size:14px!important}.simulation-access-later{color:#536275;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:18px;padding:4px 8px;font-size:13px}.simulation-access-later:hover{color:#172232}.simulation-access-error{color:#9a3f3f;text-align:center;max-width:390px;margin:14px auto 0;font-size:12px;line-height:1.45}.simulation-access-error[hidden]{display:none!important}[data-project-pass-action]:disabled{cursor:wait;opacity:.72}.subscription-project-access{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.subscription-project-access-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.subscription-project-access-heading>span{color:#315f92;letter-spacing:.12em;font-size:10px;font-weight:850}.subscription-project-access-heading>small{color:#7f8fa3;font-size:10px}.subscription-project-pass-card{border:1px solid var(--border);background:#748ead0e;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:104px;padding:15px 18px;display:grid}.subscription-project-pass-copy{gap:5px;min-width:0;display:grid}.subscription-project-pass-copy>strong{flex-wrap:wrap;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.subscription-project-pass-copy>span{color:#52647c;font-size:12px;line-height:1.4}.subscription-project-pass-copy>small{color:#8a99ab;font-size:10px;line-height:1.4}.subscription-project-scope-label{color:#315f92;letter-spacing:.06em;border:1px solid #315f9240;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:850}.subscription-project-pass-side{justify-items:end;gap:9px;min-width:154px;display:grid}.subscription-project-pass-price>strong{font-size:18px}.subscription-project-pass-action{color:#203751;cursor:pointer;background:#fff;border:1px solid #a8bed6;border-radius:7px;min-height:36px;padding:0 13px;font-size:11px;font-weight:700}.subscription-project-pass-action:disabled{opacity:.52;cursor:default}@media (width<=620px){.subscription-project-pass-card{grid-template-columns:1fr}.subscription-project-pass-side{justify-items:start;width:100%}.subscription-project-pass-price{justify-items:start}}.subscription-dialog{padding:26px}.subscription-dialog-card{background:#fff;border:1px solid #dce4ec;border-radius:18px;max-height:min(900px,100vh - 40px);overflow:auto;box-shadow:0 28px 80px #1f2d3d38;width:min(760px,100vw - 32px)!important;max-width:760px!important;padding:34px 38px 24px!important}.subscription-heading-redesign{justify-content:space-between;align-items:flex-start;gap:30px;margin:0 0 10px;padding-right:46px;display:flex}.subscription-heading-main>span{color:#315f92;letter-spacing:.14em;margin-bottom:7px;font-size:10px;font-weight:850;display:block}.subscription-heading-main h2{color:#172232;letter-spacing:-.025em;margin:0;font-size:27px;font-weight:720;line-height:1.15}.subscription-heading-main p{color:#718094;margin:8px 0 0;font-size:12.5px;line-height:1.45}.subscription-heading-redesign .subscription-pricing-toolbar{background:0 0;border:0;align-items:center;gap:8px;margin:0;padding:0;display:flex}.subscription-heading-redesign [data-subscription-pricing-status],.subscription-currency-control>span{display:none}.subscription-currency-control select{color:#59697d;background:#fff;border:1px solid #dbe3eb;border-radius:7px;min-width:64px;height:30px;padding:0 8px;font-size:10.5px}.subscription-current-inline{color:#8390a0;align-items:center;gap:7px;min-height:28px;margin:0 0 23px;font-size:11px;display:flex}.subscription-current-inline>strong{color:#435369;font-size:11px}.subscription-current-inline-price,.subscription-current-inline .subscription-period-note,.subscription-current-features-hidden{display:none!important}.subscription-current-inline .subscription-active-badge{color:#56705f;background:#f7faf8;border:1px solid #d7e2dc;border-radius:999px;align-items:center;gap:4px;height:21px;font-size:9px;display:inline-flex;margin:0 0 0 2px!important;padding:0 7px!important}.subscription-content-redesign{display:block!important}.subscription-project-access{border:0!important;margin:0!important;padding:0!important}.subscription-project-access-heading,.subscription-section-heading{justify-content:space-between;align-items:center;gap:14px;margin:0 0 9px;display:flex}.subscription-project-access-heading>span,.subscription-section-heading>span{color:#53677f!important;letter-spacing:.12em!important;font-size:10px!important;font-weight:820!important}.subscription-project-access-heading>small,.subscription-section-heading>small{color:#98a4b2;font-size:9.5px}.subscription-project-pass-card{box-shadow:0 6px 18px #315f920f;background:linear-gradient(135deg,#e9f2fbeb,#f6fafee0)!important;border:1px solid #b9cde2!important;border-radius:12px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:28px!important;min-height:142px!important;padding:22px 23px!important;display:grid!important}.subscription-project-pass-copy{display:grid;gap:7px!important}.subscription-project-pass-copy>strong{color:#17263a;align-items:center;gap:9px;display:flex;font-size:20px!important;font-weight:740!important}.subscription-project-pass-copy>span{max-width:410px;color:#4e6076!important;font-size:12.5px!important;line-height:1.45!important}.subscription-project-scope-label{background:#ffffff85;color:#315f92!important;letter-spacing:.07em!important;border:1px solid #315f9240!important;border-radius:999px!important;padding:4px 7px!important;font-size:8px!important;font-weight:850!important}.subscription-project-pass-note{margin-top:3px;font-weight:680;color:#315f92!important;font-size:10.5px!important}.subscription-project-pass-extension{color:#8897a9!important;font-size:9.5px!important}.subscription-project-pass-side{justify-items:end;display:grid;gap:12px!important;min-width:174px!important}.subscription-project-pass-price{justify-items:end;gap:2px;display:grid}.subscription-project-pass-price>strong{color:#1c2d42;font-size:20px!important}.subscription-project-pass-price>small{color:#738399!important;font-size:10px!important}.subscription-project-pass-action{cursor:pointer;min-width:154px;box-shadow:0 3px 8px #315f9229;color:#fff!important;background:#315f92!important;border:1px solid #315f92!important;border-radius:8px!important;min-height:40px!important;padding:0 16px!important;font-size:11px!important;font-weight:720!important}.subscription-project-pass-action:hover:not(:disabled){background:#284f7b!important;border-color:#284f7b!important}.subscription-project-pass-action:disabled{box-shadow:none;opacity:.5!important}.subscription-account-plans{border-top:1px solid #e5eaf0;margin-top:28px;padding-top:25px}.subscription-plan-list{gap:9px!important;display:grid!important}.subscription-plan{text-align:left;cursor:pointer;width:100%;background:#fff!important;border:1px solid #dfe5eb!important;border-radius:10px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:20px!important;min-height:76px!important;padding:15px 17px!important;display:grid!important}.subscription-plan:hover{background:#fafbfd!important;border-color:#c5d1de!important}.subscription-plan.selected{box-shadow:none!important;background:#f8fafc!important;border-color:#a9bdd1!important}.subscription-radio{display:none!important}.subscription-plan-copy{gap:4px!important;display:grid!important}.subscription-plan-copy>strong{color:#253548;align-items:center;gap:8px;display:flex;font-size:14px!important}.subscription-plan-copy>span{color:#778698!important;font-size:11px!important}.subscription-plan-copy>small{display:none!important}.plan-active-label{letter-spacing:.055em;background:#f8faf9;border:1px solid #dce4e0;border-radius:999px;padding:3px 6px;color:#63776a!important;margin:0!important;font-size:7.5px!important;font-weight:850!important}.subscription-plan-price{justify-items:end;gap:2px;min-width:100px;display:grid!important}.subscription-plan-price>strong{color:#33445a;font-size:14px!important}.subscription-plan-price>small{color:#929eac!important;font-size:9.5px!important}.subscription-primary{justify-content:center;align-items:center;min-width:126px;border-radius:7px!important;width:auto!important;height:36px!important;margin:11px 0 0 auto!important;padding:0 14px!important;font-size:10.5px!important;display:flex!important}.subscription-primary:disabled{display:none!important}.subscription-feature-link{color:#607187!important;margin:11px 0 0!important;padding:2px 0!important;font-size:10.5px!important}.subscription-footer{justify-content:center;align-items:center;gap:7px;color:#9aa5b1!important;border-top:1px solid #edf0f3!important;margin-top:24px!important;padding:16px 0 0!important;font-size:9.5px!important;display:flex!important}.subscription-footer .subscription-support{color:#7c8998!important;margin:0!important;padding:0!important;font-size:9.5px!important}@media (width<=700px){.subscription-dialog-card{width:min(100%,100vw - 20px)!important;padding:27px 22px 21px!important}.subscription-heading-redesign{display:block}.subscription-heading-redesign .subscription-pricing-toolbar{margin-top:12px}.subscription-project-pass-card{grid-template-columns:1fr!important;gap:18px!important}.subscription-project-pass-side{align-items:center;width:100%;justify-content:space-between!important;min-width:0!important;display:flex!important}.subscription-project-pass-price{justify-items:start!important}}.subscription-heading-redesign{margin-bottom:4px}.subscription-heading-main p{color:#65758a}.subscription-project-access-heading{margin-bottom:8px}.subscription-project-access-heading>span{color:#315f92!important}.subscription-project-pass-card{box-shadow:0 8px 22px #315f9213;background:linear-gradient(135deg,#edf5fcf5,#f8fbfef5)!important;border-color:#abc5df!important;min-height:154px!important;padding:23px 24px!important}.subscription-project-pass-copy{gap:8px!important}.subscription-project-pass-copy>strong{font-size:21px!important}.subscription-project-pass-copy>span{max-width:470px}.subscription-project-pass-description{margin-top:-1px;color:#687a90!important;font-size:11.5px!important;line-height:1.45!important}.subscription-project-pass-note{margin-top:4px;color:#315f92!important}.subscription-project-pass-action{min-width:164px;min-height:42px!important;font-size:11.5px!important}.subscription-account-plans{margin-top:24px;padding-top:21px}.subscription-section-heading{margin-bottom:8px}.subscription-section-heading>span{color:#66778c!important}.subscription-plan{min-height:70px!important;padding:13px 17px!important}.subscription-plan.selected{background:#fbfcfd!important;border-color:#cad6e1!important}.subscription-plan-copy>span{color:#6f7f92!important}.subscription-feature-link{margin-top:10px!important}.subscription-footer{margin-top:20px!important;padding-top:14px!important}.subscription-heading-redesign{min-height:92px;margin-bottom:0!important}.subscription-heading-main{text-align:center;margin:0 auto}.subscription-heading-main h2{font-size:26px}.subscription-heading-main p{margin-top:6px}.subscription-heading-redesign .subscription-pricing-toolbar{position:absolute;top:72px;right:92px}.subscription-current-inline{margin-top:10px!important;margin-bottom:14px!important}.subscription-dialog-card{padding-top:24px!important}.subscription-heading-redesign{border-bottom:1px solid #edf1f5;position:relative;min-height:auto!important;margin-bottom:0!important;padding:0 150px 16px!important}.subscription-heading-main{text-align:center;max-width:560px;margin:0 auto}.subscription-heading-main>span{margin-bottom:4px}.subscription-heading-main h2{margin:0;font-size:25px}.subscription-heading-main p{color:#627389;margin-top:6px;margin-bottom:0}.subscription-heading-redesign .subscription-pricing-toolbar{position:absolute;top:14px;right:92px;margin:0!important}.subscription-current-inline{padding-top:2px;margin:12px 0!important}.subscription-project-access-heading{margin-top:0!important}body:not(:is(.boat-designer-view,.harbor-designer-view,.line-designer-view)) .interaction-layer .dock-object{fill:#e0e8f16b;stroke:#243247}.welcome-dialog{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1f2b3a61;padding:24px}.welcome-dialog-card{background:#fff;border:1px solid #d8e0e9;border-radius:18px;width:min(1120px,100vw - 48px);max-height:min(880px,100vh - 48px);padding:0;position:relative;overflow:auto;box-shadow:0 24px 70px #1e2b3a33}.welcome-dialog-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:42px;padding:48px;display:grid}.welcome-dialog-copy{min-width:0}.welcome-dialog-eyebrow{color:#607087;letter-spacing:.11em;margin-bottom:12px;font-size:12px;font-weight:750;line-height:1;display:block}.welcome-dialog-copy h2{color:#1f2e41;letter-spacing:-.025em;margin:0 0 24px;font-size:clamp(28px,2.4vw,36px);font-weight:720;line-height:1.12}.welcome-dialog-copy p{color:#53647a;margin:0 0 16px;font-size:15px;line-height:1.62}.welcome-dialog-copy a{color:#315f96;font-weight:650;text-decoration:none}.welcome-dialog-copy a:hover{text-decoration:underline}.welcome-dialog-primary{color:#fff;min-height:46px;font:inherit;cursor:pointer;background:#243247;border:0;border-radius:10px;margin-top:10px;padding:0 22px;font-weight:700}.welcome-dialog-primary:hover{background:#1d2a3c}.welcome-dialog-primary:focus-visible,.welcome-dialog-close:focus-visible,.welcome-dialog-copy a:focus-visible{outline-offset:3px;outline:3px solid #4d9cff57}.welcome-dialog-close{z-index:2;color:#607087;cursor:pointer;background:#ffffffe6;border:0;border-radius:8px;width:36px;height:36px;font-size:25px;line-height:1;position:absolute;top:18px;right:18px}.welcome-dialog-close:hover{color:#243247;background:#f0f3f7}.welcome-dialog-visuals{gap:16px;min-width:0;display:grid}.welcome-dialog-image{background:#f8fafc;border:1px solid #d8e0e9;border-radius:13px;overflow:hidden;box-shadow:0 8px 24px #24324712}.welcome-dialog-image img{object-fit:cover;width:100%;height:100%;display:block}.welcome-dialog-image-simulation{aspect-ratio:1.48}.welcome-dialog-image-simulation img{object-position:center center}.welcome-dialog-image-line{aspect-ratio:2.55}.welcome-dialog-image-line img{object-position:center center}@media (width<=900px){.welcome-dialog{padding:14px}.welcome-dialog-card{width:min(680px,100vw - 28px);max-height:calc(100vh - 28px)}.welcome-dialog-layout{grid-template-columns:1fr;gap:28px;padding:38px 28px 30px}.welcome-dialog-visuals{order:2}.welcome-dialog-image-simulation{aspect-ratio:1.55}}@media (width<=560px){.welcome-dialog-layout{padding:34px 20px 24px}.welcome-dialog-copy h2{font-size:28px}.welcome-dialog-copy p{font-size:14px}.welcome-dialog-primary{width:100%}}.legal-links{z-index:50;gap:10px;font-size:11px;display:flex;position:fixed;bottom:8px;right:12px}.legal-links a{color:#46505aa6;text-decoration:none}.legal-links a:hover{color:#1e2832e6;text-decoration:underline}.analytics-consent{z-index:20000;background:#fff;border:1px solid #d8dee8;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;max-width:760px;margin:0 auto;padding:18px 20px;display:flex;position:fixed;bottom:24px;left:24px;right:24px;box-shadow:0 18px 50px #0f172a2e}.analytics-consent-copy{color:#475569;gap:5px;font-size:14px;line-height:1.45;display:grid}.analytics-consent-copy strong{color:#172033;font-size:15px}.analytics-consent-actions{flex-shrink:0;gap:8px;display:flex}.analytics-consent-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px 13px}.analytics-consent-actions [data-analytics-accept]{color:#fff;background:#243b5a;border-color:#243b5a}@media (width<=720px){.analytics-consent{flex-direction:column;align-items:stretch}.analytics-consent-actions{justify-content:flex-end}}
