*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;font-family:Inter,system-ui,Segoe UI,Hiragino Sans,Noto Sans JP,Noto Sans CJK JP,Yu Gothic UI,Meiryo,sans-serif}body{background:#071018;color:#e8f2f7}button,select,input{font:inherit}.labels{position:fixed;inset:0;pointer-events:none}.bh-label{font-size:10px;color:#d9edf5;background:#0710189e;padding:1px 5px;border-radius:4px;white-space:nowrap}.cpt-label{box-shadow:inset 0 0 0 1px #d6e6ee66}.end-label{font-size:12px;font-weight:700;color:#78c9df;text-shadow:0 0 4px #071018}.ch-label{font-size:10px;color:#9bd3e3;text-shadow:0 0 3px #071018,0 0 6px #071018;white-space:nowrap}.draw-bar{position:fixed;top:76px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 48px);padding:8px 10px 8px 14px;background:#071018eb;border:1px solid #78c9df;border-radius:10px;font-size:12px;color:#e8f2f7}.draw-actions{display:flex;gap:6px;flex:none}.draw-bar button{border:1px solid rgba(160,190,200,.22);background:#0d1d29;color:#d9edf5;border-radius:7px;padding:6px 10px;font:inherit;cursor:pointer}.draw-bar button:hover:not(:disabled){background:#15293a}.draw-bar button:disabled{opacity:.4;cursor:default}.draw-bar .draw-done{border-color:#78c9df;background:#78c9df;color:#071018;font-weight:600}body[data-drawing=on] .notice{display:none}.ui{position:fixed;left:24px;top:22px;width:340px;max-width:calc(100vw - 48px);color:#e8f2f7;pointer-events:none}.title{font-size:27px;font-weight:700;letter-spacing:-.04em}.title span{font-size:12px;opacity:.55;margin-left:8px}.sub{margin-top:5px;font-size:13px;color:#9bb1bd;white-space:nowrap}.panel,.toolbar,.section-control,.section-view,.notice,.tooltip,.field-legend{background:#071018c7;border:1px solid rgba(160,190,200,.16);border-radius:10px;backdrop-filter:blur(10px)}.panel{margin-top:16px;padding:12px 14px;font-size:11px;line-height:1.6;pointer-events:auto;max-height:calc(100vh - 250px);overflow:auto}.dataset{width:100%;background:#0d1d29;color:#e8f2f7;border:1px solid rgba(160,190,200,.25);border-radius:6px;padding:5px 7px;font-size:12px;font-weight:600}.desc{margin-top:8px;color:#9bb1bd}.stats{margin-top:6px;color:#d9edf5}.legend{display:grid;gap:3px;margin-top:10px}.legend label{display:flex;align-items:center;gap:7px;color:#c4d2d9;cursor:pointer}.legend input{margin:0;accent-color:#78c9df}.legend i{width:11px;height:11px;border-radius:2px;flex:none}.legend .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend .vol{color:#8aa2ae;font-variant-numeric:tabular-nums}.hint{margin-top:10px;font-size:11px;color:#708792}.crs{display:flex;align-items:center;gap:7px;margin-top:8px;color:#9bb1bd}.crs input,.rule input,.geo select{min-width:0;background:#0d1d29;color:#e8f2f7;border:1px solid rgba(160,190,200,.25);border-radius:6px;padding:4px 6px;font-size:11px}.crs input{flex:1}.rules{margin-top:10px;color:#c4d2d9}.rules summary{cursor:pointer;color:#d9edf5}.rule{margin-top:6px;padding-top:6px;border-top:1px solid rgba(160,190,200,.1)}.rule-main{display:flex;align-items:center;gap:5px}.rule-main .r-match{flex:1.4}.rule-main .r-unit{flex:1}.rule-main span{color:#8aa2ae}.rule-if{display:flex;gap:8px;margin-top:4px;color:#8aa2ae;font-size:10px}.rule-if label{display:flex;align-items:center;gap:3px}.rule-if input{width:46px;padding:2px 4px;font-size:10px}.r-del{border:0;background:none;color:#9bb1bd;cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.rule-actions{display:flex;gap:6px;margin-top:8px}.rule-actions button{border:1px solid rgba(160,190,200,.22);background:#0d1d29;color:#d9edf5;border-radius:6px;padding:4px 9px;font-size:11px;cursor:pointer}.rule-note{margin-top:6px;color:#8aa2ae}.check{margin-top:10px;color:#c4d2d9}.check summary{cursor:pointer;color:#d9edf5}.check p{margin:6px 0}.check-note{color:#8aa2ae}.check-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.check-actions button,.check-worst button{border:1px solid rgba(160,190,200,.22);background:#0d1d29;color:#d9edf5;border-radius:6px;padding:4px 9px;font-size:11px;cursor:pointer}.check-actions button:hover,.check-worst button:hover{background:#15293a}.check-worst button{padding:0 5px;font-size:10.5px}.check-status{color:#8aa2ae;font-variant-numeric:tabular-nums}.check-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:10.5px;font-variant-numeric:tabular-nums}.check-table th,.check-table td{padding:1px 3px;text-align:right;border-bottom:1px solid rgba(160,190,200,.08)}.check-table th{color:#8aa2ae;font-weight:400}.check-table th:first-child,.check-table td:first-child{text-align:left}.check-worst{margin:4px 0;padding-left:18px}.check-worst li{margin:2px 0}.check-colour{display:flex;align-items:center;gap:6px;margin-top:6px;cursor:pointer}.check-colour input{margin:0;accent-color:#78c9df}.check-legend .fl-bar{display:flex;height:9px;margin-top:4px;border-radius:2px;overflow:hidden}.check-legend .fl-bar i{flex:1}.check-legend .fl-ticks{display:flex;justify-content:space-between;margin-top:2px;color:#8aa2ae;font-variant-numeric:tabular-nums}.check-notes{margin:6px 0 0;padding-left:16px;color:#8aa2ae}.toolbar{position:fixed;right:24px;top:22px;padding:10px;display:flex;flex-direction:column;gap:8px;width:190px;font-size:11px}.toolbar button,.menu summary,.section-control button,.section-head button{border:1px solid rgba(160,190,200,.22);background:#0d1d29;color:#d9edf5;border-radius:7px;padding:7px 10px;font-size:11px;cursor:pointer;text-align:left}.toolbar button:hover,.menu summary:hover,.section-control button:hover,.section-head button:hover{background:#15293a}.menu{position:relative}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:"▾";float:right;opacity:.6}.menu>div{display:grid;gap:4px;margin-top:4px}.toggles{display:grid;gap:4px;color:#c4d2d9;padding:2px 2px 0}.toggles label{display:flex;align-items:center;gap:7px;cursor:pointer}.toggles input{margin:0;accent-color:#78c9df}.toggles input:disabled+*,.toggles label:has(input:disabled){opacity:.45}.geo{display:grid;gap:5px}.toolbar button:disabled,.geo select:disabled{opacity:.45;cursor:default}.geo-status{color:#9bb1bd;padding:0 2px}.geo-status:empty{display:none}.credits{position:fixed;left:24px;bottom:72px;max-width:min(58vw,760px);font-size:10px;color:#8aa2ae;background:#0710189e;padding:3px 8px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credits a{color:#9bd3e3}.notice details{margin-top:4px}.notice summary{cursor:pointer;color:#9bd3e3}.backend{color:#708792;padding:0 2px}.backend a{color:#78c9df;white-space:nowrap}.section-control{position:fixed;left:24px;right:24px;bottom:22px;padding:9px 14px;display:flex;align-items:center;gap:18px;color:#9bb1bd;font-size:10px;letter-spacing:.06em}.section-control .tag{letter-spacing:.12em}.section-control label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-transform:uppercase}.section-control .ve-pick{flex:.6}.section-control .line-pick{flex:0 1 auto}.section-control .line-pick select{max-width:170px}.section-control .step-pick{flex:0 1 auto}.section-control[data-line=along] .straight-only,:is(.section-control,.section-view,.toolbar):not([data-line=along]) .along-only{display:none}.toolbar:not([data-cpts=yes]) .cpt-only{display:none}.section-control input{flex:1;min-width:60px;accent-color:#78c9df}.section-control output{min-width:46px;text-align:right;color:#d9edf5;letter-spacing:0;font-size:11px;font-variant-numeric:tabular-nums}.section-control button[aria-pressed=true]{border-color:#78c9df;color:#78c9df}.section-control .field-pick{flex:0 1 auto}.section-control select{min-width:0;max-width:230px;background:#0d1d29;color:#e8f2f7;border:1px solid rgba(160,190,200,.25);border-radius:6px;padding:4px 6px;font-size:11px;letter-spacing:0;text-transform:none}.field-legend{position:fixed;left:24px;bottom:104px;width:min(330px,calc(100vw - 48px));padding:8px 11px;font-size:10.5px;color:#c4d2d9;pointer-events:none}.field-legend .fl-title{color:#e8f2f7}.field-legend .fl-bar{display:flex;height:10px;margin-top:6px;border-radius:2px;overflow:hidden}.field-legend .fl-bar i{flex:1}.field-legend .fl-ticks{display:flex;justify-content:space-between;margin-top:2px;color:#8aa2ae;font-variant-numeric:tabular-nums}.field-legend .fl-notes{margin-top:5px;color:#8aa2ae;line-height:1.4}@media(min-width:901px)and (min-height:521px),(min-width:901px)and (pointer:fine),(min-width:901px)and (pointer:none){body:has(.field-legend:not([hidden])) .panel{max-height:calc(100vh - 380px)}}.section-view{position:fixed;right:24px;bottom:78px;width:min(640px,calc(100vw - 420px));height:min(330px,40vh);display:flex;flex-direction:column;overflow:hidden}.section-head{display:flex;align-items:center;gap:6px;padding:7px 8px 7px 12px;font-size:11px;color:#d9edf5;border-bottom:1px solid rgba(160,190,200,.12)}.section-head .section-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-head button{padding:3px 8px}.section-body{flex:1;min-height:0}.section-body svg{display:block}.notice{position:fixed;right:228px;top:22px;width:min(420px,calc(100vw - 48px));max-height:40vh;overflow:auto;padding:10px 12px;font-size:11px;color:#c4d2d9}.notice.error{border-color:#ff8c7880}.notice-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#e8f2f7}.notice-fold{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;border:0;background:none;color:inherit;padding:0;font:inherit;text-align:left;cursor:pointer}.notice-fold:after{content:"▾";color:#78c9df}.notice.folded .notice-fold:after{content:"▸"}.notice.folded .notice-body{display:none}.notice-close{border:0;background:none;color:#9bb1bd;font-size:16px;cursor:pointer;line-height:1}.notice ul{margin:6px 0 0;padding-left:16px;line-height:1.5}.tooltip{position:fixed;pointer-events:none;padding:7px 10px;font-size:11px;color:#e8f2f7;max-width:340px}.tooltip span{display:block;color:#9bb1bd;margin-top:2px}.tooltip svg{display:block;margin-top:6px}.drop{position:fixed;inset:0;display:grid;place-items:center;background:#071018b8;border:2px dashed #78c9df;color:#e8f2f7;font-size:18px;text-align:center;z-index:5}.drop span{font-size:12px;color:#9bb1bd}[hidden]{display:none!important}.print-frame{position:fixed;right:0;bottom:0;width:0;height:0;border:0;opacity:0;pointer-events:none}.legend .tag{font-size:9px;color:#d08a4c;border:1px solid rgba(208,138,76,.5);border-radius:3px;padding:0 3px;flex:none}button,select,summary,label,a{touch-action:manipulation}.section-body{touch-action:none}@media(max-width:1260px){.notice{top:72px}}@media(max-width:1180px){.section-control{gap:10px}.section-control .tag,.section-control .step-pick span{display:none}.section-control .ve-pick{flex:.7}.section-control label{gap:6px}.section-control input{min-width:30px}.section-control output{min-width:38px}.section-control select,.section-control .line-pick select{max-width:118px}}.modes{position:fixed;left:384px;top:22px;z-index:4;display:flex;gap:2px;padding:3px;background:#071018c7;border:1px solid rgba(160,190,200,.16);border-radius:10px;backdrop-filter:blur(10px)}.modes button{border:0;background:none;color:#9bb1bd;padding:7px 14px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.modes button:hover{color:#e8f2f7}.modes button[aria-selected=true]{background:#78c9df;color:#071018}.toolbar .input-data{border-color:#78c9df;color:#78c9df;font-weight:600}body[data-mode=input] :is(.ui .panel,.ui .hint,.ui .site-name,.toolbar,.section-control,.section-view,.notice,.credits,.field-legend,.tooltip,.labels,.dock,.draw-bar){display:none!important}.workspace{position:fixed;inset:72px 24px 22px;z-index:3;display:flex;flex-direction:column;background:#0a1620;border:1px solid rgba(160,190,200,.2);border-radius:12px;overflow:hidden;font-size:12px;color:#e8f2f7}.ws-main{flex:1;min-height:0;display:grid;grid-template-columns:178px minmax(0,1fr) 352px}.ws-steps{display:flex;flex-direction:column;gap:2px;padding:12px 8px;border-right:1px solid rgba(160,190,200,.12);overflow:auto}.ws-steps button{display:flex;align-items:center;gap:8px;border:0;background:none;color:#c4d2d9;text-align:left;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:12px;white-space:nowrap}.ws-steps button:hover:not(:disabled){background:#0d1d29}.ws-steps i{font-style:normal;color:#708792;width:12px;text-align:right;font-variant-numeric:tabular-nums}.ws-steps span{margin-left:auto;color:#78c9df;font-variant-numeric:tabular-nums}.ws-steps button[aria-current=step]{background:#0f2231;color:#e8f2f7;box-shadow:inset 2px 0 #78c9df}.ws-steps button:disabled{opacity:.4;cursor:default}.ws-body{min-width:0;min-height:0;display:flex;flex-direction:column;padding:12px 14px;overflow:auto}.ws-preview{min-height:0;border-left:1px solid rgba(160,190,200,.12);padding:12px;overflow:auto;display:flex;flex-direction:column;gap:10px}.ws-card{border:1px solid rgba(160,190,200,.12);border-radius:8px;padding:8px 10px}.ws-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d9edf5;font-weight:600;margin-bottom:6px}.ws-card-head select{min-width:0;max-width:170px;background:#0d1d29;color:#e8f2f7;border:1px solid rgba(160,190,200,.25);border-radius:6px;padding:3px 6px;font:inherit;font-weight:400}.ws-view{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin:0 0 6px;font-size:11px}.ws-view-group{display:flex;align-items:center;gap:3px}.ws-view span{color:#8aa2ae;margin-right:2px}.ws-view button{background:#0d1d29;color:#c4d2d9;border:1px solid rgba(160,190,200,.25);border-radius:6px;padding:2px 7px;font:inherit;cursor:pointer}.ws-view button:hover{border-color:#a0bec880}.ws-view button[aria-pressed=true]{background:#16384a;color:#e8f2f7;border-color:#78c9df}.ws-plan svg,.ws-column svg{display:block}.ws-pt{cursor:pointer}.ws-column{position:relative}.ws-readout{position:absolute;left:52px;right:8px;padding:5px 8px;background:#071018eb;border:1px solid rgba(160,190,200,.25);border-radius:6px;font-size:11px;line-height:1.45;color:#e8f2f7;pointer-events:none}.ws-values{margin-top:6px;color:#c4d2d9}.ws-values summary{cursor:pointer;color:#9bd3e3}.ws-values table{border-collapse:collapse;width:100%;margin-top:4px;font-size:11px;font-variant-numeric:tabular-nums}.ws-values th,.ws-values td{padding:2px 4px;text-align:right;border-bottom:1px solid rgba(160,190,200,.08)}.ws-values th:first-child,.ws-values td:first-child{text-align:left}.ws-checks{color:#c4d2d9;line-height:1.45}.ws-checks p{margin:2px 0}.ws-checks ul{margin:4px 0 0;padding-left:16px}.ws-checks summary{cursor:pointer;color:#9bd3e3;margin-top:4px}.ws-ok span{color:#78c9df;font-weight:700}.ws-error{color:#ffb4a6}.ws-empty{color:#8aa2ae;margin:4px 0}.ws-note{color:#708792;font-size:11px;line-height:1.45;margin:6px 0 0}.ws-start h2{font-size:18px;margin:4px 0 8px;letter-spacing:-.01em}.ws-start p{color:#9bb1bd;max-width:780px;line-height:1.55;margin:0}.ws-start b{color:#e8f2f7}.ws-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;max-width:1000px;margin:16px 0}.ws-choice{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid rgba(160,190,200,.2);background:#0d1d29;color:#e8f2f7;border-radius:10px;padding:14px;cursor:pointer;font:inherit}.ws-choice:hover{border-color:#78c9df;background:#10263a}.ws-choice b{font-size:13px}.ws-choice span{color:#9bb1bd;line-height:1.45}.ws-foot{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid rgba(160,190,200,.14)}.ws-status{flex:1;min-width:0;color:#9bb1bd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-foot button,.ed-tools button{border:1px solid rgba(160,190,200,.22);background:#0d1d29;color:#d9edf5;border-radius:7px;padding:6px 11px;cursor:pointer;font:inherit}.ws-foot button:hover:not(:disabled),.ed-tools button:hover{background:#15293a}.ws-foot .ws-build{border-color:#78c9df;color:#071018;background:#78c9df;font-weight:600}.ws-foot .ws-build:hover:not(:disabled){background:#9bd8e8}.ws-foot button:disabled{opacity:.4;cursor:default}.ed-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;color:#9bb1bd}.ed-tools select{background:#0d1d29;color:#e8f2f7;border:1px solid rgba(160,190,200,.25);border-radius:6px;padding:3px 6px;max-width:220px}.ed-help{flex:1 1 320px;color:#708792;font-size:11px;line-height:1.45}.ed-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid rgba(160,190,200,.12);border-radius:8px}.ed-table{border-collapse:collapse;width:100%}.ed-table th{position:sticky;top:0;z-index:1;background:#0f2231;color:#c4d2d9;font-weight:600;text-align:left;padding:5px 6px;white-space:nowrap;border-bottom:1px solid rgba(160,190,200,.18)}.ed-table td{padding:1px 2px;border-bottom:1px solid rgba(160,190,200,.06)}.ed-table input{width:100%;min-width:64px;background:transparent;color:#e8f2f7;border:1px solid transparent;border-radius:4px;padding:3px 5px;font:inherit}.ed-table input:hover{border-color:#a0bec833}.ed-table input:focus{outline:none;border-color:#78c9df;background:#0d1d29}.ed-table input.wide{min-width:220px}.ed-table td:nth-child(2) input{min-width:104px}.ed-table input[type=checkbox]{width:auto;min-width:0;accent-color:#78c9df}.ed-table input[type=color]{min-width:40px;width:40px;height:22px;padding:0 2px}.ed-table input.ed-blank{opacity:.35}.ed-n{color:#708792;text-align:right;white-space:nowrap;padding-right:6px;font-variant-numeric:tabular-nums}.ed-n button,.ed-del{border:0;background:none;color:#9bb1bd;cursor:pointer;padding:0 3px}.ed-n button:disabled{opacity:.25;cursor:default}.ed-more{color:#9bb1bd;margin:8px}.ed-form{display:grid;gap:12px;max-width:800px}.ed-form label{display:grid;grid-template-columns:220px 1fr;gap:4px 12px;align-items:start}.ed-form span{color:#c4d2d9;padding-top:5px}.ed-form small{grid-column:2;color:#708792;line-height:1.4}.ed-form input,.ed-form textarea{background:#0d1d29;color:#e8f2f7;border:1px solid rgba(160,190,200,.25);border-radius:6px;padding:5px 7px;font:inherit}@media(max-width:1180px){.ws-main{grid-template-columns:160px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.ws-preview{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;border-left:0;border-top:1px solid rgba(160,190,200,.12);max-height:42vh}.ws-card{flex:1 1 300px}}@media(max-width:760px){.workspace{inset:52px 8px 8px}.ws-main{display:flex;flex-direction:column;overflow:auto}.ws-steps{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(160,190,200,.12);padding:6px;flex:none}.ws-steps button[aria-current=step]{box-shadow:inset 0 -2px #78c9df}.ws-body{overflow:visible;flex:none}.ws-preview{flex-direction:column;max-height:none;overflow:visible;flex:none}.ws-card{flex:none}.ed-form label{grid-template-columns:1fr}.ed-form small{grid-column:1}.ws-foot{flex-wrap:wrap}.ws-status{flex:1 1 100%}}.dock,.sheet-head,.site-name,.panel-hint{display:none}@media(max-width:900px),(max-height:520px)and (pointer:coarse){body:before{content:"";position:fixed;left:0;right:0;top:0;height:calc(var(--top-h,56px) + 14px);background:linear-gradient(#071018eb 55%,#07101800);pointer-events:none}body[data-mode=input]:before{display:none}.ui{left:12px;right:12px;top:8px;width:auto;max-width:none;z-index:5}.title{font-size:20px;line-height:1.25}.title span{font-size:11px;margin-left:6px}.sub,.hint{display:none}.site-name{display:block;max-width:calc(100% - 196px);margin:0;padding:2px 0;border:0;background:none;color:#9bb1bd;font-size:12px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto;cursor:pointer}.site-name:after{content:" ▾";color:#78c9df}.modes{left:auto;right:8px;top:8px;z-index:6}.modes button{padding:7px 11px}.ui .panel,.toolbar,.section-control{display:none;position:fixed;left:max(0px,calc(50% - 280px));right:max(0px,calc(50% - 280px));top:auto;bottom:var(--dock-h,58px);width:auto;max-width:none;max-height:58vh;max-height:min(58dvh,calc(100dvh - var(--top-h,56px) - var(--dock-h,58px) - 90px));margin:0;padding:0 16px 16px;overflow:auto;overscroll-behavior:contain;border-radius:16px 16px 0 0;border-bottom:0;background:#09141df7;backdrop-filter:none;box-shadow:0 -10px 30px #0006;font-size:13px;line-height:1.5;z-index:5;transition:transform .2s ease}body[data-sheet=site] .ui .panel{display:block}body[data-sheet=view] .toolbar,body[data-sheet=files] .toolbar,body[data-sheet=section] .section-control{display:flex}.sheet-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2;margin:0 -16px 4px;padding:18px 16px 8px;background:#09141d;color:#e8f2f7;font-size:15px;letter-spacing:0;touch-action:none;cursor:grab}.sheet-head:before{content:"";position:absolute;left:50%;top:7px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:#a0bec859}.sheet-head b{flex:1}.sheet-head .sheet-close{width:40px;height:40px;margin:-10px -12px -10px 0;padding:0;border:0;background:none;color:#9bb1bd;font-size:24px;line-height:1;text-align:center;cursor:pointer}.sheet-head .panel-toggle{margin:-6px 8px -6px 0;padding:7px 12px;font-size:13px;letter-spacing:0}.dataset{font-size:16px;padding:9px 10px}.crs{flex-wrap:wrap;margin-top:10px}.crs input{flex:1 1 200px;font-size:16px;padding:7px 8px}.legend{gap:0;margin-top:8px}.legend label{min-height:42px;gap:10px}.legend input,.check-colour input{width:20px;height:20px}.legend i{width:14px;height:14px}.rules summary,.check summary{padding:10px 0;font-size:14px}.rule-main input,.rule-if input{font-size:16px}.rule-if{flex-wrap:wrap;font-size:12px}.rule-if input{width:72px}.rule-actions button,.check-actions button{padding:9px 14px;font-size:13px}.check-worst button{padding:5px 9px;font-size:12px}.check-table{font-size:12px}.panel-hint{display:block;margin:12px 0 0;color:#708792;font-size:12px}.toolbar{flex-direction:column;gap:10px;font-size:14px}body[data-sheet=view] .toolbar>:is(.input-data,.import,.menu),body[data-sheet=files] .toolbar>:is(.toggles,.geo,.backend){display:none}.toolbar button,.menu summary{padding:12px 14px;font-size:14px}.menu>div{gap:6px;margin-top:6px}.toggles{grid-template-columns:1fr 1fr;gap:0 14px}.toggles label{min-height:44px;gap:10px}.toggles input{width:20px;height:20px}.geo{gap:8px}.geo select{font-size:16px;padding:9px 10px}.backend{font-size:12px}.section-control{flex-direction:column;align-items:stretch;gap:2px;font-size:12px;letter-spacing:.04em}.section-control .tag{display:none}.section-control label,.section-control .ve-pick,.section-control .field-pick,.section-control .line-pick,.section-control .step-pick{flex:none;min-height:46px;gap:12px}.section-control .line-pick select{max-width:none}.section-control .cross-here{padding:10px 14px;font-size:14px;text-align:center}.section-control label>span{flex:none;width:64px}.section-control input{min-width:0;height:30px}.section-control output{min-width:54px;font-size:14px}.section-control select{flex:1;max-width:none;font-size:16px;padding:8px 10px}.section-control>.panel-toggle{display:none}.dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;justify-content:center;gap:4px;padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));background:#071018f7;border-top:1px solid rgba(160,190,200,.16)}.dock button{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px 5px;border:0;border-radius:10px;background:none;color:#9bb1bd;font-size:11px;font-weight:600;cursor:pointer}.dock button:hover{color:#e8f2f7}.dock button[aria-expanded=true]{color:#78c9df;background:#78c9df1f}.dock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.notice{left:8px;right:8px;top:var(--top-h,56px);width:auto;max-height:45vh;max-height:min(45dvh,calc(100dvh - var(--top-h,56px) - var(--dock-h,58px) - var(--sheet-h,0px) - 44px));padding:8px 6px 8px 12px;font-size:12px;z-index:4}.notice.folded{padding:2px 6px 2px 12px}.notice.folded .notice-fold b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-close{width:36px;height:36px;flex:none;font-size:20px}.credits{left:8px;right:8px;top:auto;bottom:calc(var(--dock-h,58px) + var(--sheet-h,0px) + 6px);max-width:none;background:#071018e6;font-size:10px;z-index:4;cursor:pointer}.credits.open{white-space:normal}.field-legend{left:8px;bottom:calc(var(--dock-h,58px) + var(--sheet-h,0px) + 30px);width:min(300px,calc(100vw - 16px));z-index:4}.field-legend .fl-notes{display:none}.section-view{left:8px;right:8px;top:calc(var(--top-h,56px) + var(--notice-h,0px));bottom:auto;width:auto;height:clamp(150px,27vh,320px);z-index:4}.section-head{padding:3px 4px 3px 12px}.section-head button{padding:6px 10px}.tooltip{max-width:min(340px,calc(100vw - 16px));z-index:8;font-size:12px}.drop{z-index:9}.draw-bar{inset:auto 0 0;transform:none;max-width:none;flex-wrap:wrap;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-width:1px 0 0;border-radius:14px 14px 0 0;font-size:13px}.draw-actions{flex:1 1 100%}.draw-actions button{flex:1;padding:10px 6px;font-size:14px}body[data-drawing=on] .dock{display:none}}@media(max-width:360px){.title{font-size:18px}.title span{display:none}.modes button{padding:6px 9px}.site-name{max-width:calc(100% - 172px)}}@media(max-width:900px)and (orientation:landscape),(max-height:520px)and (pointer:coarse)and (orientation:landscape){.ui{display:flex;align-items:baseline;gap:12px}.title{font-size:18px}.site-name{max-width:calc(100% - 340px)}.ui .panel,.toolbar,.section-control{left:0;right:auto;top:var(--top-h,48px);bottom:var(--dock-h,46px);width:min(360px,46vw);max-height:none;border-radius:0 16px 16px 0;border-bottom:1px solid rgba(160,190,200,.16);box-shadow:10px 0 30px #00000059}.sheet-head{padding-top:10px;cursor:default}.sheet-head:before{display:none}.notice{left:auto;right:8px;width:min(440px,calc(50vw - 16px))}.section-view{left:auto;right:8px;bottom:calc(var(--dock-h,46px) + 8px);width:max(300px,min(600px,calc(100vw - var(--sheet-w,0px) - 200px)));height:auto}.credits{left:calc(var(--sheet-w,0px) + 8px);right:calc(var(--pip-w,0px) + 16px);bottom:calc(var(--dock-h,46px) + 6px)}.field-legend{left:calc(var(--sheet-w,0px) + 8px);bottom:calc(var(--dock-h,46px) + 28px)}.dock{padding-top:3px;padding-bottom:calc(3px + env(safe-area-inset-bottom,0px))}.dock button{flex-direction:row;justify-content:center;gap:8px;max-width:150px;padding:8px 6px;font-size:12px}.dock svg{width:20px;height:20px}}@media(pointer:coarse){.workspace :is(input:not([type=checkbox]):not([type=color]),select,textarea){font-size:16px}}
