:root{color:#18212f;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:0;margin:0}button,input,select,textarea{font:inherit}button{color:#18212f;cursor:pointer;background:#fff;border:1px solid #cbd5d1;border-radius:6px;min-height:34px;padding:.42rem .62rem;font-size:.85rem;font-weight:650}button:hover{border-color:#0f766e}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #14b8a6}button.primary{color:#fff;background:#0f766e;border-color:#0f766e}button.active-tool{color:#18212f;background:#f8fafc;border-color:#94a3b8;box-shadow:inset 0 0 0 1px #cbd5d1}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{color:#18212f;border:1px solid #cbd5d1;border-radius:6px;width:100%;min-height:34px;padding:.38rem .48rem}input[readonly],textarea[readonly]{color:#64748b;cursor:default;background:#f1f5f9;border-color:#e2e8f0}label{color:#475569;gap:.28rem;font-size:.78rem;font-weight:700;display:grid}.app-shell{grid-template-rows:auto auto 1fr auto;min-width:1080px;min-height:100vh;display:grid}.online-shell{color:#18212f;background:#eef2f1;grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.online-header{background:#f8fafc;border-bottom:1px solid #d6dedb;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:1rem;padding:.85rem clamp(1rem,3vw,2.5rem);display:grid}.online-brand{color:inherit;gap:.1rem;text-decoration:none;display:grid}.online-brand strong{color:#18212f;letter-spacing:0;font-size:1.2rem}.online-brand strong span{color:#0f3d32}.online-brand small,.note{color:#64748b;font-size:.84rem}.online-header nav,.online-actions,.online-button-row,.online-footer{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.online-header a,.online-footer a,.online-card a{color:#0f766e;font-weight:750;text-decoration:none}.online-header nav a,.online-actions a,.button-link{color:#18212f;border:1px solid #0000;border-radius:6px;min-height:34px;padding:.42rem .62rem}.online-header nav a.current,.online-header nav a:hover,.online-actions a:hover,.button-link:hover{border-color:#0f766e}.button-link{background:#fff;border-color:#cbd5d1;align-items:center;font-size:.85rem;font-weight:650;text-decoration:none;display:inline-flex}.button-link.primary{color:#fff;background:#0f766e;border-color:#0f766e}.online-main{gap:1.4rem;width:100%;max-width:1180px;margin:0 auto;padding:clamp(1rem,3vw,2.5rem);display:grid}.hero-section,.course-hero{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:clamp(1rem,3vw,2rem);display:grid}.hero-section h1,.course-hero h1,.page-heading h1{color:#0f172a;letter-spacing:0;margin:0;font-size:clamp(2rem,5vw,4.2rem);line-height:1.02}.course-hero h1,.page-heading h1{font-size:clamp(1.8rem,3.6vw,3.1rem)}.hero-section p,.course-hero p,.page-heading p,.online-card p,.online-band p,.course-card p{color:#475569;line-height:1.5}.online-grid{gap:.85rem;display:grid}.online-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.online-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.online-card,.course-card,.filter-panel,.online-band{background:#fff;border:1px solid #d6dedb;border-radius:8px;padding:1rem}.online-card h2,.course-card h2,.filter-panel h2,.online-band h2{color:#0f172a;letter-spacing:0;margin:0 0 .45rem;font-size:1rem}.repository-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.auth-layout{grid-template-columns:minmax(0,.8fr) minmax(320px,420px);align-items:start;gap:clamp(1rem,3vw,2rem);display:grid}.auth-layout h1{color:#0f172a;letter-spacing:0;margin:0;font-size:clamp(1.8rem,3.6vw,3.1rem);line-height:1.02}.auth-layout p{color:#475569;line-height:1.5}.auth-card{background:#fff;border:1px solid #d6dedb;border-radius:8px;justify-items:center;min-width:0;padding:1rem;display:grid}.filter-panel{gap:.75rem;display:grid}.course-grid{gap:.85rem;display:grid}.course-card{grid-template-columns:240px minmax(0,1fr);align-items:center;gap:1rem;display:grid}.course-card.compact{grid-template-columns:minmax(0,1fr) auto}.course-preview{background:#f8fafc;border:1px solid #d6dedb;border-radius:8px;overflow:hidden}.course-preview svg{width:100%;height:auto;display:block}.course-preview rect{fill:#fff;stroke:#94a3b8;stroke-width:2px}.course-preview line,.course-preview path{fill:none;stroke:#0f766e;stroke-linecap:round;stroke-width:5px}.course-preview circle{fill:#fff;stroke:#be123c;stroke-width:4px}.course-preview text{fill:#0f172a;font:800 18px Inter,Arial,sans-serif}.badge,.eyebrow{color:#0f766e;font-size:.8rem;font-weight:850}.badge{background:#ccfbf1;border:1px solid #99f6e4;border-radius:999px;padding:.25rem .55rem;display:inline-flex}.online-footer{background:#18212f;justify-content:space-between;padding:.8rem clamp(1rem,3vw,2.5rem)}.online-footer nav,.online-footer-legal{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.online-footer-legal{color:#cbd5e1;font-size:.82rem}.online-footer-legal strong{color:#f8fafc}.online-footer a{color:#e2e8f0}@media (width<=860px){.online-header,.hero-section,.course-hero,.repository-layout,.auth-layout,.course-card,.online-grid.two,.online-grid.four{grid-template-columns:1fr}.online-header{align-items:start}}.topbar{background:#f8fafc;border-bottom:1px solid #d6dedb;gap:.65rem;padding:.72rem .9rem;display:grid}.topbar-primary{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{align-items:center;gap:.65rem;min-width:0;display:flex}.topbar-view-controls{flex:none;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.brand strong{letter-spacing:0;font-size:1.25rem}.brand-mark{color:#0f3d32;width:48px;height:32px}.shed-word{color:#0f3d32}.brand span{color:#64748b;font-size:.88rem}.brand strong span{color:#18212f;font-size:inherit}.brand strong .shed-word{color:#0f3d32}.topbar-actions,.tool-strip,.button-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.toolbar-group{border-right:1px solid #d6dedb;flex-wrap:wrap;align-items:center;gap:.45rem;padding-right:.7rem;display:flex}.toolbar-group:last-child{border-right:0}.toolbar-group>span{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:800}.export-menu{position:relative}.export-menu summary{color:#18212f;cursor:pointer;background:#fff;border:1px solid #cbd5d1;border-radius:6px;align-items:center;min-height:34px;padding:.42rem .62rem;font-size:.85rem;font-weight:650;display:flex}.export-menu summary:hover{border-color:#0f766e}.export-menu-panel{z-index:20;background:#fff;border:1px solid #cbd5d1;border-radius:8px;gap:.35rem;min-width:150px;padding:.45rem;display:grid;position:absolute;top:calc(100% + .35rem);box-shadow:0 10px 28px #0f172a29}.export-menu-panel button{text-align:left;justify-content:flex-start}.export-menu-note{color:#64748b;max-width:190px;margin:0 0 .15rem;font-size:.75rem;line-height:1.35}.toolbar-select{white-space:nowrap;flex-direction:row;align-items:center;gap:.45rem;display:flex}.toolbar-select select{min-width:160px}.toolbar-select input[type=range]{width:110px}.annotation-presets{align-items:stretch}.annotation-presets button{padding:.35rem .5rem;font-size:.78rem}.course-time-speeds{gap:.5rem;display:grid}.course-time-results{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem}.course-time-length{color:#0f3d32;margin:.2rem 0;font-weight:750}.course-time-results h3,.course-time-results p{margin:0}.course-time-results p+p{margin-top:.35rem}.path-settings-list{gap:.55rem;display:grid}.path-settings-row{border:1px solid #e2e8f0;border-radius:6px;gap:.42rem;padding:.6rem;display:grid}.path-settings-row>div{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.path-settings-row strong{color:#18212f}.path-settings-row span{color:#64748b;font-size:.78rem;font-weight:750}.path-settings-toggles,.path-visibility-stack{gap:.3rem;display:grid}.path-visibility-stack{align-self:stretch}.toolbar-number-field{white-space:nowrap;flex-direction:row;align-items:center;gap:.32rem;display:flex}.toolbar-number-field input{width:62px;min-height:28px;padding:.18rem .35rem}.checkbox-label{flex-direction:row;align-items:center;gap:.45rem;display:flex}.checkbox-label input{width:auto;min-height:auto}.recovery-banner{color:#134e4a;background:#ecfdf5;border-bottom:1px solid #99f6e4;align-items:center;gap:.7rem;padding:.55rem .9rem;display:flex}.recovery-banner div{gap:.15rem;display:grid}.recovery-banner strong{font-size:.92rem}.recovery-banner span{font-size:.84rem}.editor-layout{grid-template-columns:224px minmax(620px,1fr) 300px;min-height:0;display:grid}.palette,.inspector{background:#f8fafc;border-right:1px solid #d6dedb;padding:.9rem;overflow:auto}.inspector{border-left:1px solid #d6dedb;border-right:0}.palette{padding:.85rem}.palette h2,.inspector h2{margin:0 0 .7rem;font-size:.95rem}.palette h3,.tunnel-tools h3,.games-tools h3,.object-state-tools h3{color:#64748b;letter-spacing:.04em;text-transform:uppercase;margin:1rem 0 .42rem;font-size:.75rem}.palette-list{gap:.38rem;display:grid}.palette-list button{text-align:left;justify-content:space-between;display:flex}.palette-list small{color:#0f766e;font-size:.72rem}.inspector section+section{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.inspector section{gap:.65rem;display:grid}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.unit-field{display:block;position:relative}.unit-field input{padding-right:1.8rem}.unit-field>span{color:#64748b;pointer-events:none;font-size:.78rem;font-weight:750;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.map-size-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.selected-name{color:#134e4a;background:#ecfdf5;border:1px solid #99f6e4;border-radius:6px;margin:0;padding:.55rem;font-weight:800}.object-state-tools{gap:.5rem;display:grid}.object-state-tools h3{margin-top:.2rem}.object-state-note{color:#92400e;background:#fffbeb;border:1px solid #fbbf24;border-radius:6px;margin:0;padding:.45rem .55rem;font-size:.8rem;font-weight:800}.validation-list{gap:.45rem;display:grid}.validation-issue{text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:flex-start start;gap:.2rem;padding:.55rem .65rem;line-height:1.25;display:grid}.validation-issue:disabled{cursor:default;opacity:1}.validation-issue-warning{border-color:#f59e0b}.validation-issue-info{border-color:#94a3b8}.validation-issue span{color:#111827;font-weight:750}.validation-issue small{color:#64748b;text-transform:uppercase;font-size:.72rem;font-weight:800}.muted,.tunnel-tools p{color:#64748b;margin:0;font-size:.85rem}.canvas-wrap{grid-template-rows:auto 1fr auto;min-width:0;display:grid;overflow:hidden}.canvas-toolbar{color:#475569;background:#fff;border-bottom:1px solid #d6dedb;align-items:center;gap:1rem;padding:.55rem .75rem;font-size:.85rem;font-weight:700;display:flex}.canvas-toolbar button{min-height:28px;padding:.25rem .5rem}.path-mode-note{color:#0f766e}.canvas-scroll{cursor:default;background:linear-gradient(45deg,#e7eeeb 25%,#0000 25%) 0 0/20px 20px,linear-gradient(-45deg,#e7eeeb 25%,#0000 25%) 0 10px/20px 20px,#eef2f1;padding:1.2rem;overflow:auto}.canvas-scroll.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.course-canvas{background:#fff;max-width:none;display:block;box-shadow:0 12px 30px #0f172a21}.grid-minor{stroke:#edf2f0;stroke-width:35px}.grid-major{stroke:#d8e0dd;stroke-width:70px}.obstacle-hit{cursor:grab}.locked-obstacle-hit{cursor:not-allowed}.path-drawing-surface{cursor:crosshair}.path-segment-hit{stroke:#0000;cursor:copy}.path-segment-hit:hover{stroke:#0f766e2e}.obstacle-hit:active{cursor:grabbing}.locked-obstacle-hit:active{cursor:not-allowed}.sequence-bubble{fill:#fff;stroke:#0f172a;stroke-width:65px}.sequence-hit{cursor:grab}.sequence-hit:hover .sequence-bubble{stroke:#0f766e;stroke-width:85px}.sequence-hit:active{cursor:grabbing}.selected-sequence .sequence-bubble{stroke:#0f766e;stroke-width:95px}.sequence-label{fill:#0f172a;font-size:340px;font-weight:800}.path-node-halo{fill:#ffffffc7;stroke:#0f172a29;stroke-width:40px}.dog-path-node,.handler-path-node{fill:#fff;stroke-width:95px}.dog-path-node{stroke:#0f766e}.handler-path-node{stroke:#7c3aed}.path-node-label{fill:#334155;pointer-events:none;font-size:260px;font-weight:800}.path-node-action-label{fill:#475569;opacity:0;pointer-events:none;font-size:190px;font-weight:750}.path-node-hit{cursor:grab}.path-node-hit:hover .path-node-halo{fill:#14b8a629;stroke:#0f766e;stroke-width:70px}.path-node-hit:hover .path-node-action-label{opacity:1}.path-node-hit:active{cursor:grabbing}.distance-line-annotation,.distance-area-annotation,.section-label-annotation{cursor:pointer}.distance-area{stroke:#9f1239;stroke-width:80px}.distance-area-light-fill{fill:#fff1f2;fill-opacity:.78}.distance-area-outline{fill:none}.distance-area-hatched{fill:#f3f4f6;fill-opacity:.55;stroke-dasharray:360 220}.selected-distance-area .distance-area{stroke-width:115px}.distance-area-label rect,.section-label-annotation rect{fill:#fff;stroke:#111827;stroke-width:55px}.distance-area-label rect{stroke:#9f1239}.distance-area-label text,.section-label-annotation text{fill:#111827;font-size:280px;font-weight:800}.selected-section-label rect{stroke:#0f766e;stroke-width:80px}.distance-line-path{stroke:#be123c;stroke-linecap:round;stroke-linejoin:round;stroke-width:125px}.distance-line-dashed{stroke-dasharray:520 300}.distance-line-dotted{stroke-dasharray:80 250}.selected-distance-line .distance-line-path{stroke-width:155px}.distance-line-label rect{fill:#fff;stroke:#be123c;stroke-width:55px}.distance-line-label text{fill:#7f1d1d;font-size:280px;font-weight:800}.distance-line-handle,.distance-area-handle,.distance-line-draft circle,.distance-area-draft circle{fill:#fff;stroke:#be123c;stroke-width:80px}.distance-area-handle,.distance-area-draft circle{stroke:#9f1239}.distance-line-draft,.distance-area-draft{pointer-events:none}.passage-number-target{fill:#fff;fill-opacity:.86;stroke:#0f766e;stroke-width:70px;cursor:pointer}.passage-number-target:hover{fill:#ccfbf1}.map-small-label,.map-text-label{fill:#0f172a;font-size:360px;font-weight:800}.tunnel-guide-line{stroke:#0f766e;stroke-dasharray:220 180;stroke-linecap:round;stroke-width:70px}.tunnel-control{fill:#fff;stroke:#0f766e;stroke-width:80px}.tunnel-bend-control{fill:#ccfbf1}.tunnel-end-control{fill:#fff;stroke:#0f3d32;stroke-width:95px}.tunnel-end-label{fill:#0f3d32;font-size:260px;font-weight:800}.canvas-hint{color:#64748b;background:#fff;border-top:1px solid #d6dedb;margin:0;padding:.55rem .75rem;font-size:.85rem}.statusbar{color:#e2e8f0;background:#18212f;align-items:center;gap:1rem;padding:.4rem .9rem;font-size:.78rem;display:flex}.status-message{color:#99f6e4;font-weight:750}.print-title{fill:#111827;font:700 5px Inter,Arial,sans-serif}.print-meta{fill:#334155;font:400 3px Inter,Arial,sans-serif}.print-heading{fill:#111827;font:700 3.6px Inter,Arial,sans-serif}
