:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#25354a;background:#f4f6fa;font-synthesis:none;--navy:#18273d;--blue:#245edb;--muted:#788599;--line:#e1e6ed;--green:#118465}*{box-sizing:border-box}body{margin:0;height:100vh;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:white;color:inherit;transition:background .15s,box-shadow .15s}button:hover{background:#edf2fb}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #84afff;outline-offset:2px}button svg{pointer-events:none}input,textarea,select{min-width:0;border:1px solid var(--line);border-radius:5px;padding:9px 10px;color:#263850;background:#fff;font-size:14px}label{font-size:14px}button{font-size:14px}button.active{background:#e9f0ff;color:#235bc9;border-color:#c4d5f7}[hidden]{display:none!important}.app-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:var(--navy);color:white;gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:21px;white-space:nowrap;letter-spacing:-.5px}.brand>b{font-weight:650}.brand svg{width:34px;fill:none;stroke:#69e0b9;stroke-width:2}.brand span{display:block;font-size:10px;letter-spacing:2px;color:#a8b6cb;margin-top:5px}.header-actions{display:flex;align-items:center;gap:9px}.header-actions button{padding:10px 13px}.header-quiet{background:transparent;color:#ecf2fb;border-color:#465269}.header-quiet:hover{background:#30415b}.primary{background:#386ff0;color:white;border-color:#386ff0}.primary:hover{background:#215add}.primary span{padding-left:16px}.header-actions #saveStatus{font-size:12px;color:#aab9cd;margin-right:12px}.menu-wrap{position:relative}.dropdown{position:absolute;z-index:30;right:0;top:44px;background:white;color:#25354a;box-shadow:0 8px 35px #152c4526;padding:7px;width:218px;border-radius:8px;border:1px solid var(--line)}.dropdown button{display:block;width:100%;text-align:left;border:0}.map-meta{height:87px;display:flex;align-items:center;gap:28px;padding:0 26px;background:white;border-bottom:1px solid var(--line)}.map-meta label{display:block;font-size:10px;letter-spacing:1.4px;color:#77859b;font-weight:700;margin-bottom:5px}.map-meta input{border:0;padding:3px 0;background:transparent}.map-name{min-width:180px;flex:1}.map-name input{font-size:21px;font-weight:600;letter-spacing:-.4px;width:100%}.state-switch{display:flex;gap:3px;border:1px solid var(--line);background:#f6f8fb;border-radius:7px;padding:3px}.state-switch button{border:0;padding:9px 13px;background:none;white-space:nowrap;font-size:13px}.state-switch button.active{background:white;box-shadow:0 1px 5px #1b315921;color:#225fcd}.author-field{width:175px}.author-field input{width:100%}.date-field{width:136px}.workspace{height:calc(100vh - 163px);display:grid;grid-template-columns:252px minmax(250px,1fr) 270px}.palette-panel,.inspector-panel{background:white;overflow-y:auto;scrollbar-width:thin}.palette-panel{border-right:1px solid var(--line);display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 20px 0}.panel-heading h1,.panel-heading h2{font-size:15px;font-weight:650;margin:0;letter-spacing:-.2px}.count{font-size:11px;background:#edf1f7;padding:3px 6px;border-radius:4px;color:#77869a}.panel-intro{font-size:12px;color:#778599;margin:8px 20px 16px;line-height:1.5}.search-wrap{margin:0 16px 6px;display:flex;align-items:center;background:#f5f7fa;border:1px solid var(--line);border-radius:5px;padding-left:9px;color:#7d8ca4}.search-wrap span{font-size:23px}.search-wrap input{background:transparent;border:0;padding:9px;width:100%;font-size:13px}.palette{padding:0 16px 20px;flex:1}.palette-group h2{font-size:10px;letter-spacing:1.3px;color:#8190a2;font-weight:700;margin:24px 0 10px}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.symbol-card{padding:9px 4px 8px;border:1px solid #e2e7ee;border-radius:6px;min-height:84px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;font-size:11px;line-height:1.3;text-align:center;cursor:grab;background:#fff;color:#44536a}.symbol-card svg{width:52px;height:37px;color:#314862}.symbol-card:hover{border-color:#6394ed;box-shadow:0 2px 7px #1d4a9012;background:#f5f8ff}.symbol-card:active{cursor:grabbing}.palette-footer{padding:12px 16px;border-top:1px solid var(--line);font-size:10px;color:#8490a1;display:flex;align-items:center;gap:5px}.palette-footer button{border:0;font-size:17px;padding:0 5px}.canvas-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden}.canvas-toolbar{height:56px;flex-shrink:0;padding:10px 15px;display:flex;gap:4px;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.tool-group{display:flex;gap:3px}.tool{border-color:transparent;padding:7px 9px;white-space:nowrap}.tool span{font-size:12px;margin-left:4px}.toolbar-divider{height:22px;width:1px;background:var(--line);margin:0 8px}.icon-button{border:0;background:transparent;font-size:21px;padding:3px 7px}.snap-control{margin-left:auto;font-size:12px;display:flex;align-items:center;gap:4px;color:#6b7d94}.snap-control input{accent-color:var(--blue);padding:0}.example-button{margin-left:10px;border:0;background:transparent;color:#496286;font-size:12px;padding:6px}.canvas-host{position:relative;flex:1;min-height:0;background:#f7f9fc;overflow:hidden}.canvas-host>svg{width:100%;height:100%;display:block;touch-action:none;outline:0}.canvas-host>svg:focus-visible{box-shadow:inset 0 0 0 2px #85adf4}.canvas-label{position:absolute;left:22px;top:20px;display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.5px;color:#8595aa;pointer-events:none}.canvas-dot{width:6px;height:6px;border:1px solid #899bb3;border-radius:50%}.empty-state{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:90%;max-width:440px;text-align:center;pointer-events:none}.empty-diagram{display:flex;align-items:center;justify-content:center;gap:18px;color:#a7b7cf;margin-bottom:22px}.empty-diagram span{font-size:39px;border:1px solid #d8e0ed;width:65px;height:60px;border-radius:8px;background:#f4f7fc}.empty-diagram i{font-size:22px;font-style:normal}.empty-state h2{font-size:20px;font-weight:550;letter-spacing:-.5px;color:#485d78}.empty-state p{font-size:14px;line-height:1.8;color:#8190a4}.text-button{border:0;background:transparent;color:#2d68dc;padding:10px;font-size:13px}.empty-state button{pointer-events:auto}.text-button span{margin-left:12px}.zoom-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;background:#fff;border:1px solid #dce3ed;box-shadow:0 2px 8px #21334a09;border-radius:7px;padding:4px}.zoom-controls button{border:0;padding:6px 9px;font-size:19px}.zoom-controls #zoomLabel{font-size:12px;min-width:54px}.zoom-controls span{height:20px;width:1px;background:var(--line);margin:0 5px}.canvas-footer{height:31px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:10px;color:#7d8ba0}.canvas-footer i{margin:0 8px;font-style:normal}.inspector-panel{border-left:1px solid var(--line);padding-bottom:24px}.inspector-empty{padding:35px 22px;color:#788ba3;font-size:13px;line-height:1.7}.inspector-empty>svg{display:block;width:46px;height:46px;margin-bottom:18px;color:#94a6bf}.inspector-empty h3{font-size:15px;color:#3c526e;font-weight:600}.inspector-section{margin:24px 20px 0;border-top:1px solid var(--line);padding-top:20px}.inspector-section h3{font-size:10px;letter-spacing:1.4px;color:#8090a6;margin:0 0 15px}.step{display:flex;gap:10px;margin:15px 0;font-size:12px;line-height:1.6;color:#788aa2}.step b{background:#f0f4fb;color:#6881a4;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;font-size:11px}.step strong{font-weight:600;color:#4b6382}.selected-type{margin:20px;display:flex;align-items:center;gap:12px}.selected-type svg{width:49px;height:40px;color:#287c68;background:#edf8f3;border-radius:6px;padding:4px}.selected-type strong{font-size:13px;display:block;line-height:1.4}.selected-type small{font-size:10px;color:#7b8ba0}.property-form{padding:0 20px}.field{display:block;margin:16px 0}.field>span{display:block;font-size:12px;margin-bottom:6px;color:#5c6f87}.field input,.field textarea,.field select{width:100%;font-size:13px}.field textarea{resize:vertical;min-height:68px;line-height:1.5}.field-help{font-size:11px;color:#7b8da4;margin-top:7px;line-height:1.5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row .field{margin:4px 0 16px}.property-actions{display:flex;gap:8px;margin:20px}.property-actions button{flex:1;padding:9px 5px;font-size:12px}.danger{color:#b24f4f}.color-options{display:flex;gap:8px}.color-option{width:25px;height:25px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #d5dce7}.color-option.active{box-shadow:0 0 0 2px #365e9a}.node{cursor:move}.node .selection{pointer-events:none}.node .node-shape{filter:drop-shadow(0 2px 2px #243d6010)}.node text{user-select:none;pointer-events:none}.edge{cursor:pointer}.edge .edge-hit{stroke:transparent;stroke-width:18;fill:none}.resize-handle{fill:#fff;stroke:#3573e9;stroke-width:1.5;cursor:nwse-resize}.port{fill:#fff;stroke:#3573e9;stroke-width:2;cursor:crosshair}.mode-hint{position:absolute;top:14px;left:50%;transform:translateX(-50%);background:#223b62;color:white;border-radius:6px;padding:9px 15px;font-size:12px;box-shadow:0 4px 10px #22364d20;white-space:nowrap;pointer-events:none}.toast{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);background:#1c3553;color:#fff;box-shadow:0 4px 20px #162d4226;border-radius:8px;padding:13px 22px;z-index:60;font-size:14px;max-width:90vw}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;max-width:min(560px,94vw);color:#314860;box-shadow:0 15px 60px #12253f33}dialog::backdrop{background:#13233a66}dialog h2{font-size:23px;letter-spacing:-.6px;margin:0 0 15px}dialog p,dialog li{font-size:14px;line-height:1.7}dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}dialog button{padding:10px 16px}dialog a{color:#245edb}dialog kbd{font-size:12px;padding:2px 6px;background:#eef2f8;border-radius:4px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.guide-grid p{margin:5px 0}.no-symbols{font-size:13px;color:#7a899b;padding:15px 2px;line-height:1.6}@media(min-width:1600px){.workspace{grid-template-columns:272px minmax(250px,1fr) 290px}.symbol-card{font-size:12px}}@media(max-width:1150px){.workspace{grid-template-columns:216px minmax(200px,1fr) 230px}.header-actions #saveStatus{display:none}.map-meta{gap:16px}.author-field{width:130px}.brand{font-size:18px}.app-header{padding:0 18px}.header-actions{gap:6px}.header-actions button{padding:9px}.tool span{display:none}.canvas-toolbar{padding:10px}.palette{padding:0 12px}.panel-heading{padding:22px 16px 0}.example-button{margin-left:3px}.property-form{padding:0 15px}}@media(max-width:850px){.inspector-panel{position:absolute;right:12px;top:231px;width:230px;max-height:calc(100vh - 275px);box-shadow:0 5px 25px #1c365226;border:1px solid var(--line);border-radius:9px;z-index:10}.inspector-panel.empty{display:none}.workspace{grid-template-columns:190px minmax(200px,1fr)}.author-field{display:none}.map-meta{height:78px}.workspace{height:calc(100vh - 154px)}.brand span{display:none}.brand{font-size:16px}.header-actions button{font-size:12px}.header-actions #helpButton span{display:none}.canvas-footer span:last-child{display:none}.panel-intro{font-size:11px}.symbol-card{font-size:10px;min-height:80px}.palette-grid{gap:5px}.date-field{width:122px}.state-switch button{font-size:11px;padding:7px}.map-name input{font-size:17px}.map-meta{padding:0 16px;gap:10px}}@media(max-width:600px){.app-header{height:62px;padding:0 10px;gap:6px}.brand{font-size:0;gap:0}.brand svg{width:30px}.brand b{display:block;font-size:12px;margin-left:5px}.header-actions{gap:4px}.header-actions button{padding:8px 6px}.map-meta{height:106px;flex-wrap:wrap;padding:10px 14px;gap:6px 12px}.map-name{flex-basis:100%;height:44px}.map-meta label{font-size:9px}.state-switch{height:33px}.date-field{margin-left:auto;width:125px}.date-field label{display:none}.date-field input{font-size:12px}.workspace{height:calc(100vh - 168px);grid-template-columns:112px minmax(0,1fr)}.palette{padding:0 6px}.palette-grid{grid-template-columns:1fr}.panel-heading{padding:16px 8px 0}.panel-heading h1{font-size:12px}.count{display:none}.panel-intro{margin:7px 8px 10px;font-size:10px}.search-wrap{margin:0 6px}.search-wrap input{padding:7px 3px;font-size:11px}.search-wrap span{display:none}.search-wrap{padding:0}.palette-group h2{font-size:8px;letter-spacing:.5px;line-height:1.5}.symbol-card{font-size:10px;min-height:74px}.palette-footer{display:none}.canvas-toolbar{gap:0;padding:8px 5px;height:49px}.tool{padding:5px}.toolbar-divider{margin:0 4px}.snap-control{font-size:10px;margin-left:3px}.snap-control input{width:11px}.example-button{display:none}.canvas-footer{font-size:9px;padding:0 7px}.empty-state h2{font-size:18px}.empty-state p{font-size:12px}.empty-diagram{gap:7px}.empty-diagram span{width:40px;height:42px;font-size:28px}.empty-diagram i{font-size:15px}.inspector-panel{top:224px;right:8px;width:215px;max-height:calc(100vh - 300px)}.zoom-controls{right:10px;bottom:14px}.mode-hint{max-width:95%;white-space:normal;text-align:center}.guide-grid{grid-template-columns:1fr}}
.learning-toolbar{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 15px;background:#fdfefe;border-bottom:1px solid var(--line);flex-shrink:0}.learning-toolbar>span{font-size:11px;color:#72829a}.learning-toolbar>div{display:flex;gap:7px}.learning-toolbar button{padding:6px 10px;font-size:12px;white-space:nowrap;border-color:#dce5f2;color:#36547d}.time-inclusion{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.6;margin-top:16px;color:#476589}.time-inclusion input{margin:4px 0 0;accent-color:var(--blue)}dialog{max-height:88vh;overflow-y:auto}dialog.wide-dialog{width:760px;max-width:94vw}.dialog-eyebrow{font-size:11px;letter-spacing:1.4px;color:#657fa4;font-weight:650;margin-bottom:8px}.review-count{font-size:15px;font-weight:650;color:#375679;margin:22px 0 10px}.review-list{list-style:none;padding:0;margin:0;max-height:42vh;overflow-y:auto}.review-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 0}.review-list li span{overflow-wrap:anywhere}.review-list button{flex-shrink:0;font-size:12px;padding:7px 9px}.review-success{padding:16px;background:#edf7f4;border-radius:6px}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.summary-cards>div{padding:16px 14px;background:#f1f5fb;border:1px solid #dde5f0;border-radius:8px}.summary-cards span{display:block;font-size:12px;color:#6a7d98;margin-bottom:9px}.summary-cards strong{display:block;font-size:19px;font-weight:600;color:#274774;line-height:1.5}.day-setting{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:14px}.day-setting input{width:78px;padding:7px}.day-setting span{color:#7d8ba0;font-size:12px;margin-left:5px}.summary-notice{background:#fff7e6;border-left:3px solid #dca34e;padding:10px 13px;font-size:13px!important;line-height:1.6!important}.summary-status{font-size:13px!important;color:#63778e}.summary-table-wrap{overflow:auto;max-height:35vh;border:1px solid var(--line);border-radius:6px;margin-top:16px}.summary-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.summary-table th{position:sticky;top:0;background:#f4f7fb;z-index:1;font-size:11px;color:#73849a;font-weight:600}.summary-table th,.summary-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.summary-table td{overflow-wrap:anywhere;max-width:230px}.summary-table tr:last-child td{border-bottom:0}.summary-table input{accent-color:var(--blue)}.summary-table small{display:block;font-size:11px;color:#7d8a9b;margin-top:3px}.summary-table .summary-edit{border:0;background:none;color:#2e61a5;text-align:left;padding:0;text-decoration:underline;text-underline-offset:3px;font-size:13px}.excluded-time td{color:#8a95a5}.summary-method{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;font-size:13px}.summary-method summary{cursor:pointer;color:#3b5f8d;font-size:14px}.summary-method p{font-size:13px;line-height:1.7}@media(max-width:1150px){.learning-toolbar>span{display:none}.learning-toolbar{justify-content:flex-end}.state-switch button{padding:9px;font-size:12px}}@media(max-width:850px){.inspector-panel{top:275px;max-height:calc(100vh - 320px)}}@media(max-width:600px){.learning-toolbar{padding:5px;justify-content:center;min-height:39px}.learning-toolbar button{font-size:11px;padding:6px}.learning-toolbar>div{gap:4px}.summary-cards{grid-template-columns:1fr;gap:7px}.summary-cards>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px}.summary-cards span{margin:0}.summary-cards strong{font-size:16px}.review-list li{align-items:flex-start;gap:8px}.review-list button{font-size:11px;padding:6px}.summary-table th,.summary-table td{padding:8px}.inspector-panel{top:264px;max-height:calc(100vh - 340px)}.date-field{width:116px}.state-switch button{font-size:10px;padding:6px}.state-switch{height:31px}.map-meta{gap:6px}}

