.sg{--sg-line:#e1e3e6;--sg-head:#f8f9fa;--sg-head-on:#d3e3fd;--sg-head-all:#0b57d0;--sg-sel:#1a73e8;--sg-ink:#202124;--sg-hover:color-mix(in srgb,var(--ink) 8%,transparent);position:relative;display:flex;flex-direction:column;height:clamp(580px,84vh,1000px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;font-size:14px}.sg.sg-full{position:fixed;inset:0;z-index:1000;height:100%;width:100%;border:0;border-radius:0}.sg-top{display:flex;align-items:center;gap:10px;padding:8px 12px 2px}.sg-logo{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:#e6f4ea;color:#188038}.sg-titles{min-width:0;flex:1 1}.sg-name{width:min(420px,100%);height:28px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font:600 17px var(--body)}.sg-name:hover{border-color:var(--line)}.sg-name:focus{outline:none;border-color:var(--accent);background:var(--bg)}.sg-menus{display:flex;flex-wrap:wrap;gap:1px;margin-top:1px}.sg-menu{height:26px;padding:0 8px;border:0;border-radius:6px;background:none;color:var(--ink);font:14px var(--body);cursor:pointer}.sg-menu.on,.sg-menu:hover{background:var(--sg-hover)}.sg-top-r{display:flex;align-items:center;gap:8px;margin-left:auto}.sg-note{max-width:300px;overflow:hidden;color:var(--muted);font-size:12.5px;white-space:nowrap;text-overflow:ellipsis}.sg-pop-wrap{position:relative;display:inline-flex}.sg-veil{position:fixed;inset:0;z-index:40}.sg-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:200px;padding:6px 0;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(20,20,43,.18)}.sg-list{display:flex;flex-direction:column;max-height:min(70vh,560px);overflow-y:auto}.sg-list.wide{min-width:280px}.sg-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:30px;padding:4px 16px;border:0;background:none;color:var(--ink);font:14px var(--body);text-align:left;cursor:pointer;white-space:nowrap}.sg-list button:hover:not(:disabled){background:var(--sg-hover)}.sg-list button:disabled{color:var(--muted);opacity:.6;cursor:default}.sg-list button.on:before{content:"✓";position:absolute;left:4px;color:var(--accent);font-size:12px}.sg-list button{position:relative}.sg-list button span{flex:1 1}.sg-list button small{color:var(--muted);font-size:12.5px}.sg-list kbd{color:var(--muted);font:12px var(--body)}.sg-list hr{width:100%;margin:5px 0;border:0;border-top:1px solid var(--line)}.sg-mhead{padding:6px 16px 2px;color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sg-ctx{top:0;position:absolute;z-index:60}.sg-menu-pop{min-width:260px}.sg-bar{display:flex;flex-wrap:wrap;margin:4px 10px 6px;padding:3px 8px;border-radius:22px;background:var(--surface-2)}.sg-bar,.sg-tb{align-items:center;gap:2px}.sg-tb{display:inline-flex;justify-content:center;min-width:28px;height:28px;padding:0 5px;border:0;border-radius:6px;background:none;color:var(--ink);cursor:pointer;font:14px var(--body)}.sg-tb:hover{background:var(--sg-hover)}.sg-tb.on{background:var(--accent-soft);color:var(--accent)}.sg-tb-text{padding:0 6px;font-size:13.5px}.sg-glyph{font:700 15px/1 Arial,sans-serif}.sg-glyph.serif{font:italic 700 16px/1 Georgia,serif}.sg-dec{font:600 12.5px/1 Arial,sans-serif}.sg-dec small{font-size:10px}.sg-sep{width:1px;height:20px;margin:0 4px;background:var(--line)}.sg-select{height:28px;padding:0 4px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font:13.5px var(--body);cursor:pointer}.sg-select:hover{background:var(--sg-hover)}.sg-font{width:116px}.sg-color{position:relative;flex-direction:column;gap:0}.sg-color i{display:block;width:18px;height:4px;margin-top:1px;border:1px solid var(--line);border-radius:1px}.sg-palette{width:236px;padding:10px}.sg-reset{width:100%;margin-bottom:8px;padding:5px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer;font:13px var(--body)}.sg-swatches{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.sg-swatches button{width:100%;aspect-ratio:1;padding:0;border:1px solid rgba(0,0,0,.12);border-radius:50%;cursor:pointer}.sg-swatches button:hover{transform:scale(1.15)}.sg-custom{display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:13px}.sg-custom input{width:40px;height:26px;padding:0;border:0;background:none;cursor:pointer}.sg-fx{display:flex;align-items:center;height:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.sg-namebox{width:92px;height:100%;padding:0 8px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink);font:13.5px var(--body)}.sg-fx-in:focus,.sg-namebox:focus{outline:none;background:var(--bg)}.sg-fx-i{display:grid;place-items:center;width:34px;height:100%;border-right:1px solid var(--line);color:var(--muted);font:italic 600 14px Georgia,serif}.sg-fx-in{flex:1 1;min-width:0;height:100%;padding:0 10px;border:0;background:transparent;color:var(--ink);font:14px var(--mono)}.sg-gridwrap{position:relative;flex:1 1;min-height:0;background:#fff}.sg-scroll{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain}.sg-layer{position:sticky;top:0;left:0;z-index:1;overflow:hidden;outline:none;-webkit-user-select:none;user-select:none;color:var(--sg-ink);font:13.3px/1.2 Arial,Helvetica,sans-serif;touch-action:none}.sg-layer.dragging{cursor:cell}.sg-pane{overflow:hidden}.sg-c,.sg-pane{position:absolute}.sg-c{box-sizing:border-box;border-right:1px solid var(--sg-line);border-bottom:1px solid var(--sg-line)}.sg-c.nogrid{border-color:transparent}.sg-t{position:absolute;display:flex;box-sizing:border-box;padding:2px 3px;overflow:hidden;pointer-events:none;line-height:1.25}.sg-heads{z-index:2;background:var(--sg-head)}.sg-h{position:absolute;display:grid;place-items:center;box-sizing:border-box;border-right:1px solid #d0d3d7;border-bottom:1px solid #d0d3d7;background:var(--sg-head);color:#5f6368;font:11.5px Arial,sans-serif}.sg-h.on{background:var(--sg-head-on);color:#041e49;font-weight:700}.sg-h.all{background:var(--sg-head-all);color:#fff;font-weight:700}.sg-corner{left:0;top:0;box-sizing:border-box;border-right:4px solid #c4c7c5;border-bottom:4px solid #c4c7c5;background:var(--sg-head)}.sg-corner,.sg-freeze{position:absolute;z-index:3}.sg-freeze{background:#c4c7c5}.sg-freeze.v{top:0;width:3px}.sg-freeze.h{left:0;height:3px}.sg-sel{border:1px solid var(--sg-sel);background:rgba(26,115,232,.1)}.sg-active,.sg-sel{position:absolute;box-sizing:border-box;pointer-events:none}.sg-active{border:2px solid var(--sg-sel)}.sg-handle{position:absolute;width:7px;height:7px;border:1px solid #fff;background:var(--sg-sel);pointer-events:none}.sg-filling{border:1px dashed #5f6368}.sg-ants,.sg-filling{position:absolute;box-sizing:border-box;pointer-events:none}.sg-ants{border:2px dashed var(--sg-sel);animation:sg-ants 1s linear infinite}@keyframes sg-ants{50%{border-color:rgba(26,115,232,.35)}}.sg-ref{border:2px dashed}.sg-hit,.sg-ref{position:absolute;box-sizing:border-box;pointer-events:none}.sg-hit{background:rgba(251,188,4,.25)}.sg-hit.cur{background:rgba(251,188,4,.55);outline:2px solid #f9ab00}.sg-editor{position:absolute;z-index:5;box-sizing:border-box;padding:2px 3px;border:2px solid var(--sg-sel);border-radius:0;background:#fff;color:var(--sg-ink);font:13.3px/1.25 Arial,Helvetica,sans-serif;resize:none;overflow:hidden;outline:none;box-shadow:0 2px 6px rgba(60,64,67,.3);white-space:pre-wrap;-webkit-user-select:text;user-select:text}.sg-editor.sink{z-index:0;opacity:0;color:transparent;caret-color:transparent;box-shadow:none}.sg-editor.mirror,.sg-editor.sink{pointer-events:none}.sg-sugg{position:absolute;z-index:6;display:flex;flex-direction:column;min-width:180px;padding:4px 0;background:#fff;border:1px solid #dadce0;border-radius:6px;box-shadow:0 4px 14px rgba(60,64,67,.25)}.sg-sugg button{padding:5px 12px;border:0;background:none;color:var(--sg-ink);font:13px var(--mono);text-align:left;cursor:pointer}.sg-sugg button.on,.sg-sugg button:hover{background:#e8f0fe}.sg-more{position:absolute;left:56px;z-index:0;height:26px;padding:0 12px;border:1px solid #dadce0;border-radius:6px;background:#fff;color:#3c4043;font:13px var(--body);cursor:pointer}.sg-more:hover{background:#f1f3f4}.sg-drop{position:absolute;inset:8px;z-index:20;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:12px;background:color-mix(in srgb,var(--accent-soft) 85%,transparent);color:var(--accent);font-weight:700;font-size:18px;pointer-events:none}.sg-find{position:absolute;top:8px;right:18px;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:4px;width:min(380px,calc(100% - 36px));padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(20,20,43,.18)}.sg-find input:not([type]){flex:1 1;min-width:120px;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:14px var(--body)}.sg-find-row{display:flex;gap:4px;width:100%}.sg-count{min-width:56px;color:var(--muted);font-size:12.5px;text-align:center}.sg-link{border:0;background:none;color:var(--accent);font:13px var(--body);cursor:pointer}.sg-cs{width:100%;color:var(--muted);font-size:13px}.sg-cs,.sg-foot{display:flex;align-items:center;gap:6px}.sg-foot{min-height:38px;padding:3px 10px;border-top:1px solid var(--line);background:var(--surface-2)}.sg-tabs{display:flex;gap:2px;min-width:0;flex:1 1;overflow-x:auto;scrollbar-width:thin}.sg-tab{flex:none;height:30px;padding:0 14px;border:0;border-radius:8px 8px 0 0;background:none;color:var(--muted);font:600 13.5px var(--body);cursor:pointer;white-space:nowrap}.sg-tab:hover{background:var(--sg-hover);color:var(--ink)}.sg-tab.on{background:var(--surface);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.sg-tab-in{width:130px;height:28px;padding:0 8px;border:1px solid var(--accent);border-radius:6px;background:var(--bg);color:var(--ink);font:13.5px var(--body)}.sg-stats{display:flex;gap:14px;flex:none;color:var(--muted);font-size:12.5px;white-space:nowrap}.sg-stats b{color:var(--ink);font-weight:600}@media (max-width:760px){.sg{height:clamp(520px,82vh,900px)}.sg-note,.sg-stats span:not(:first-child):not(:last-child){display:none}.sg-bar{border-radius:12px}.sg-font{width:84px}}@media print{.sg{display:none}}