:root{--bg:#eef3f8;--panel:#fff;--panel-soft:#f7f9fc;--ink:#142033;--muted:#6a788d;--line:#dbe3ee;--line-strong:#bac8d8;--blue:#1f66a8;--blue-strong:#164f84;--blue-soft:#e8f3ff;--green:#2f8a4b;--red:#a33a2b;--red-soft:#fff1ed;--shadow:0 20px 60px #2337581f;--shadow-soft:0 10px 32px #23375814}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{background:radial-gradient(circle at 10% 0%, #5e92d22e, transparent 34rem), linear-gradient(180deg, #f8fbff 0%, var(--bg) 42rem);color:var(--ink);margin:0;font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{background:linear-gradient(180deg, #2b79bd, var(--blue));color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 16px;font-weight:800;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 12px 24px #1f66a82e}button:hover:not(:disabled){filter:brightness(1.02);transform:translateY(-1px);box-shadow:0 14px 30px #1f66a838}button:disabled{cursor:not-allowed;filter:grayscale(.55);opacity:.55}button svg,a svg{width:18px;height:18px}input,select,textarea{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:8px;outline:none;width:100%;transition:border-color .15s,box-shadow .15s}input,select{min-height:42px;padding:9px 12px}textarea{resize:vertical;min-height:310px;padding:14px;font-family:Consolas,Courier New,monospace;line-height:1.58}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1f66a81f}label{color:#31425a;gap:8px;font-weight:800;display:grid}label span,.field-block>span{font-size:.92rem}.field-block{color:#31425a;gap:8px;font-weight:800;display:grid}.app-layout{grid-template-columns:260px minmax(0,1fr);gap:26px;width:100%;max-width:100vw;min-height:100vh;padding:24px;display:grid;overflow-x:hidden}.side-rail{box-shadow:var(--shadow-soft);background:#ffffffe6;border:1px solid #cbd6e5e6;border-radius:8px;grid-template-rows:auto 1fr auto;min-height:calc(100vh - 48px);padding:18px;display:grid;position:sticky;top:24px}.brand,.login-brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:18px;display:flex}.brand>span,.login-brand>span{background:linear-gradient(135deg, #0f2749, var(--blue));color:#fff;letter-spacing:0;border-radius:8px;justify-content:center;align-items:center;width:46px;height:46px;font-weight:900;display:inline-flex;box-shadow:0 10px 22px #0f274933}.brand p,.login-brand p,.kicker{color:#51657f;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:900}.brand strong,.login-brand strong{margin-top:0;font-size:1.35rem;display:block}.rail-nav{align-content:start;gap:8px;padding:14px 0;display:grid}.logout{align-self:end;height:44px}.rail-nav a,.rail-nav button,.logout{color:#3e516d;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-weight:800;text-decoration:none;display:flex}.rail-nav a.active,.rail-nav a:hover,.rail-nav button.active,.rail-nav button:hover,.logout:hover{background:var(--blue-soft);color:var(--blue-strong);border-color:#c0d8ef}.rail-nav button{box-shadow:none;background:0 0;justify-content:flex-start;width:100%}.workbench{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:12px;min-width:0;height:calc(100vh - 48px);display:grid}.topbar{grid-template-columns:max-content minmax(0,1080px);justify-content:space-between;align-items:stretch;gap:16px;display:grid}.page-heading{align-items:center;display:flex}.topbar h1,.share-card h1{color:#10213a;margin:0;font-size:clamp(1.9rem,2.6vw,2.65rem);line-height:1.05}.topbar span,.share-purpose{color:var(--muted)}.status-row{grid-template-columns:repeat(4,minmax(0,1fr));align-self:start;gap:12px;width:100%;max-width:1080px;display:grid}.status-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffe0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:76px;padding:12px;display:grid}.status-card span{color:var(--muted);font-size:.8rem;display:block}.status-card strong{margin-top:3px;font-size:1.05rem;display:block}.status-card.is-ok svg{color:var(--green)}.status-card.is-bad svg{color:var(--red)}.execution-card{grid-template-columns:minmax(0,1fr);align-content:center}.execution-card select{box-shadow:none;color:var(--ink);background:0 0;border:0;width:100%;min-width:0;min-height:28px;margin-top:2px;padding:0 24px 0 0;font-size:1.05rem;font-weight:900}.execution-card select:focus{box-shadow:none}.lan-card small{color:#6b7b91;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.76rem;font-weight:700;display:block;overflow:hidden}.mini-switch{cursor:pointer;align-items:center;display:inline-flex}.mini-switch input{opacity:0;position:absolute}.mini-switch span{background:#c7d3e2;border-radius:999px;width:44px;height:24px;display:block;position:relative}.mini-switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #14233a38}.mini-switch input:checked+span{background:var(--blue)}.mini-switch input:checked+span:after{transform:translate(20px)}.app-footer{color:#6b7b91;letter-spacing:0;text-align:center;flex-wrap:wrap;justify-content:center;align-self:end;gap:12px;padding:12px 0 0;font-size:.86rem;font-weight:700;display:flex}.app-footer span{color:#6b7b91}.sql-workspace-stack{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:0;display:grid}.module-tabs,.symbol-library-tabs{background:#e3ebf4;border:1px solid #d1dce9;border-radius:8px;align-items:center;gap:4px;width:fit-content;height:58px;padding:4px;display:inline-flex}.module-tabs button,.symbol-library-tabs button{box-shadow:none;color:#3e516d;background:0 0;height:48px;min-height:0;padding:8px 16px}.module-tabs button.active,.symbol-library-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 6px 16px #1f36561a}.query-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px;display:grid}.tool-gallery{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:14px;height:100%;min-height:0;max-height:100%;padding:18px;display:grid;overflow:hidden}.gallery-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:54px;display:flex}.gallery-head h2{margin:2px 0 0;font-size:1.25rem}.gallery-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.execution-mode-select{background:#eef5fc;border:1px solid #d6e4f2;border-radius:8px;align-items:center;gap:8px;padding:4px 6px 4px 10px;display:inline-flex}.execution-mode-select span{color:#40536e;white-space:nowrap;font-size:.82rem;font-weight:900}.execution-mode-select select{background:#fff;border:1px solid #c8d8e9;border-radius:7px;min-height:36px;padding:6px 28px 6px 10px}.filter-box{border:1px solid var(--line-strong);background:#fff;border-radius:8px;flex:260px;align-items:center;gap:8px;min-width:230px;max-width:360px;padding:0 10px;display:flex}.filter-box svg{color:var(--muted);width:17px;height:17px}.filter-box input{box-shadow:none;border:0;min-height:40px;padding:8px 0}.filter-box input:focus{box-shadow:none}.view-switch{background:#e8eef5;border:1px solid #d2dde9;border-radius:8px;gap:3px;padding:3px;display:inline-flex}.view-switch button{box-shadow:none;color:#40536e;background:0 0;width:38px;min-height:36px;padding:0}.view-switch button.active{color:var(--blue);background:#fff;box-shadow:0 4px 12px #2337581a}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),420px));align-content:start;align-items:start;gap:14px;min-height:0;padding-right:4px;display:grid;overflow:auto}.gallery-grid.list-view{grid-template-columns:1fr}.gallery-grid.list-view .gallery-card{grid-template-columns:minmax(0,1fr) minmax(260px,auto) auto;align-items:center;height:auto;min-height:104px}.gallery-grid.list-view .gallery-actions{justify-content:flex-end;margin-top:0}.sql-utility-workspace{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:start;gap:12px;min-height:0;display:grid;overflow:auto}.utility-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;min-height:76px;display:grid}.utility-brand{grid-column:1;justify-self:start;min-height:76px}.utility-brand.share-brand{gap:12px}.utility-brand.share-brand span{width:46px;height:46px}.utility-brand span{color:#fff;font-size:1.05rem}.utility-title{text-align:center;grid-column:2}.utility-head .utility-command-row{grid-column:3;justify-content:end}.utility-head h2{margin:0 0 6px;font-size:1.25rem;line-height:1.15}.utility-head span{color:var(--muted);font-size:.92rem}.utility-back{min-height:34px;padding:7px 10px}.utility-command-row,.keyword-panel-head>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.keyword-rules{border:1px solid #dbe6f2;border-radius:8px;grid-template-rows:auto;height:58px;min-height:58px;display:grid;overflow:hidden}.keyword-rules.is-open{grid-template-rows:auto 260px;height:318px;min-height:318px;overflow:visible}.keyword-rules-toggle{box-shadow:none;color:var(--ink);background:#f5f8fc;border-radius:0;justify-content:flex-start;align-items:center;width:100%;min-height:56px;padding:0 16px;display:flex}.keyword-rules-toggle span{background:var(--blue-soft);color:var(--blue-strong);border:1px solid #c7def4;border-radius:999px;margin-left:auto;padding:4px 9px;font-size:.8rem;font-weight:900}.keyword-rules-table-wrap{background:#fff;height:260px;min-height:260px;display:block;overflow:auto}.keyword-rules-table{border-collapse:collapse;width:100%;min-width:920px}.keyword-rules-table th,.keyword-rules-table td{color:var(--ink);text-align:left;vertical-align:top;border-top:1px solid #e4ebf4;padding:8px 12px}.keyword-rules-table td{background:#fff}.keyword-rules-table input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px;min-height:18px;padding:0}.keyword-rules-table th{color:#31425a;z-index:1;background:#fbfdff;font-size:.86rem;font-weight:900;position:sticky;top:0}.keyword-rules-table code{white-space:pre-wrap}.keyword-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:420px;display:grid}.keyword-panel{border:1px solid #dbe6f2;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid;overflow:hidden}.keyword-panel-head{background:#f5f8fc;border-bottom:1px solid #dbe6f2;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.icon-button{width:36px;min-height:34px;padding:0}.keyword-textarea{box-shadow:none;resize:none;background:#fff;border:0;border-radius:0;min-height:420px;padding:14px;font-family:Consolas,Courier New,monospace}.keyword-textarea:focus{box-shadow:inset 0 0 0 2px #2b6fb233}.keyword-status{color:var(--muted);background:#f8fafc;border-top:1px solid #e4ebf4;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:.86rem;display:flex}.keyword-instructions{background:0 0;border:0;border-radius:0;padding:14px 16px}.keyword-instructions h3{align-items:center;gap:8px;margin:0 0 8px;display:flex}.keyword-instructions ul{margin:0;padding-left:20px}.keyword-instructions li{margin:5px 0}.visually-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.symbol-workspace{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr);gap:14px;width:100%;height:100%;min-height:0;max-height:100%;padding:18px;display:grid;overflow:hidden}.symbol-search{flex:0 420px;max-width:420px}.symbol-library-summary{color:#40536e;align-items:baseline;gap:6px;min-height:40px;display:flex}.symbol-library-summary strong{color:var(--ink);font-size:1.15rem}.symbol-library-summary span{color:var(--muted);font-weight:800}.symbol-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:22px;width:100%;min-width:0;min-height:0;display:grid;overflow:hidden}.symbol-topic-nav{background:#fff;border:1px solid #dbe6f2;border-radius:8px;gap:0;max-height:100%;padding:14px;display:grid;overflow:auto}.symbol-topic-nav-title{color:#16226e;margin-bottom:10px;font-size:18px;font-weight:700}.symbol-topic-index{margin:0 0 12px}.symbol-topic-index h2{color:#232b38;margin:0 0 5px;font-size:16px;font-weight:700}.symbol-topic-index nav{display:grid}.symbol-topic-index a{color:#295188;border-radius:6px;padding:3px 8px;font-size:13px;font-weight:700;line-height:1.35;text-decoration:none}.symbol-topic-index a:hover{color:#123a78;background:#eef4ff}.symbol-highlight{color:inherit;background:#fff08a;border-radius:3px;padding:0 2px}.symbol-topic-list{gap:18px;min-width:0;max-height:100%;padding-right:4px;display:grid;overflow:hidden auto}.symbol-section{gap:14px;min-width:0;display:grid}.symbol-section>h2{margin:0;font-size:1.15rem}.symbol-topic{border:1px solid #dbe6f2;border-radius:8px;min-width:0;overflow:visible}.symbol-topic-head{z-index:3;background:#f5f8fc;border-bottom:1px solid #dbe6f2;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex;position:sticky;top:0}.symbol-topic-head h3{margin:0;font-size:1rem}.symbol-topic-head span{background:var(--blue-soft);color:var(--blue-strong);border:1px solid #c7def4;border-radius:999px;padding:4px 9px;font-size:.8rem;font-weight:900}.symbol-table-wrap{border-radius:0 0 8px 8px;max-width:100%;overflow:auto visible}.symbol-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:680px}.symbol-table.is-paired .symbol-col-horizontal,.symbol-table.is-paired .symbol-col-vertical{width:28%}.symbol-table.is-paired .symbol-col-description{width:44%}.symbol-table.is-single .symbol-col-primary{width:36%}.symbol-table.is-single .symbol-col-description{width:64%}.symbol-table th,.symbol-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e4ebf4;padding:12px 14px}.symbol-table th{color:#31425a;z-index:1;background:#fbfdff;font-size:.86rem;font-weight:900;position:sticky;top:0}.symbol-table td:last-child{color:#31425a;min-width:220px;font-weight:700}.symbol-figure{align-items:center;gap:10px;margin:0;display:inline-flex}.symbol-figure img{object-fit:contain;background:#fff;border:1px solid #d8e4f0;border-radius:6px;max-height:72px;padding:6px}.symbol-figure figcaption{color:var(--ink);white-space:nowrap;font-family:Consolas,Courier New,monospace;font-weight:900}.symbol-empty,.symbol-empty-state{color:var(--muted);font-weight:800}.symbol-empty-state{justify-content:center;align-items:center;gap:10px;min-height:240px;display:flex}.gallery-card{background:#f8fafc;border:1px solid #dfe7f1;border-radius:8px;grid-template-rows:auto 1fr auto;gap:12px;height:auto;min-height:220px;padding:16px;display:grid;overflow:hidden}.gallery-card-main{grid-template-columns:44px minmax(0,1fr);align-items:flex-start;gap:12px;display:grid}.gallery-icon{color:var(--blue);background:linear-gradient(#eaf4ff,#dcecff);border:1px solid #c2d9f0;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.gallery-icon svg{width:22px;height:22px}.gallery-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.05rem;display:block;overflow:hidden}.gallery-card span{color:var(--muted)}.gallery-card-main span{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:7px;line-height:1.4;display:-webkit-box;overflow:hidden}.gallery-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gallery-meta span{color:#40536e;background:#eef4fb;border:1px solid #d7e3f1;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.82rem;font-weight:800;display:inline-flex}.gallery-meta svg{width:14px;height:14px}.gallery-actions{flex-wrap:wrap;align-self:end;align-items:center;gap:8px;min-width:0;margin-top:0;display:flex}.gallery-actions button,.secondary-link-button{white-space:nowrap}.gallery-actions button:not(.icon-command){flex:none;min-width:96px}.gallery-actions .icon-command{flex:0 0 42px}.delete-button{flex:none;min-width:88px;padding:9px 12px}.secondary-link-button{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:8px;flex:none;align-items:center;gap:8px;min-height:42px;padding:9px 14px;font-weight:800;text-decoration:none;display:inline-flex}.secondary-link-button:hover{background:var(--blue-soft);border-color:#c0d8ef}.drawer-backdrop{z-index:20;background:#0d1a2c47;justify-content:flex-end;display:flex;position:fixed;inset:0}.confirm-backdrop{z-index:30;background:#0d1a2c47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:14px;width:min(420px,100vw - 40px);max-width:420px;padding:20px;display:grid}.confirm-dialog h2{margin:0;font-size:1.2rem}.confirm-dialog p{color:var(--muted);margin:0;line-height:1.55}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.settings-drawer{background:#f7fafe;grid-template-rows:auto 1fr;width:calc(100vw - 300px);min-width:min(1320px,100vw - 300px);max-width:calc(100vw - 300px);padding:16px;display:grid;position:relative;overflow:auto;box-shadow:-24px 0 70px #0f1f3638}.drawer-head{justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.drawer-head h2{margin:0;font-size:1.35rem}.drawer-close{background:linear-gradient(180deg, #2b79bd, var(--blue));color:#fff;z-index:31;border:0;border-radius:6px;width:56px;height:56px;min-height:56px;padding:0;position:absolute;top:92px;right:calc(100vw - 292px);box-shadow:0 14px 28px #1f66a83d}.drawer-close:hover{transform:translateY(-1px);box-shadow:0 16px 32px #1f66a84d}.drawer-close svg{width:32px;height:32px}.drawer-editor{box-shadow:none;gap:14px;padding:18px}.drawer-editor .form-grid,.drawer-editor .switch-grid{gap:12px}.drawer-editor label{align-content:start;gap:5px}.drawer-editor label>span,.drawer-editor .field-block>span{line-height:1.15}.drawer-editor input,.drawer-editor select{min-height:40px;padding-top:8px;padding-bottom:8px}.drawer-editor .sql-editor{min-height:300px}.drawer-editor .result-panel{box-shadow:none;min-height:360px}.drawer-editor .data-grid-wrap{max-height:min(52vh,560px)}.tool-dock,.editor-card,.result-panel,.share-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px}.tool-dock{gap:16px;padding:16px;display:grid}.dock-head,.view-head,.command-row,.result-summary{align-items:center;gap:12px;display:flex}.dock-head,.view-head{justify-content:space-between}.dock-head p{color:var(--muted);margin:0 0 3px;font-size:.8rem;font-weight:900}.dock-head h2,.view-head h2{margin:0;font-size:1.18rem}.icon-command{width:40px;min-height:40px;padding:0}.tool-stack{gap:10px;display:grid}.tool-tile{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.tool-tile>button{background:var(--panel-soft);border:1px solid var(--line);box-shadow:none;color:var(--ink);text-align:left;justify-content:stretch;align-items:start;gap:7px;min-height:78px;padding:12px;display:grid}.tool-tile.selected>button{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue);background:linear-gradient(#eff7ff,#e5f0ff)}.tool-tile span{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem;line-height:1.35}.tile-actions{gap:6px;display:grid}.tile-actions button,.tile-link-button{border:1px solid var(--line);box-shadow:none;color:var(--blue);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:40px;min-height:36px;padding:0;text-decoration:none;display:inline-flex}.tile-actions button:last-child{color:var(--red)}.tile-link-button:hover{background:var(--blue-soft);border-color:#c0d8ef}.editor-card{gap:15px;min-width:0;padding:18px;display:grid}.editor-card.drawer-editor{gap:14px;padding:18px}.drawer-editor input,.drawer-editor select{height:40px;min-height:40px}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10px 14px;display:grid}.form-grid.single-column{grid-template-columns:1fr}.type-grid{align-items:start;max-width:420px;padding-bottom:2px;display:grid}.switch-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.switch-row{background:#f7f9fc;border:1px solid #e0e8f2;border-radius:8px;align-items:center;gap:10px;height:44px;min-height:44px;padding:8px 12px;display:flex}.switch-row input{accent-color:var(--blue);width:18px;min-height:18px}.info-tooltip{color:var(--muted);flex:none;align-items:center;margin-left:auto;display:inline-flex;position:relative}.info-tooltip svg{width:16px;height:16px}.info-tooltip:after{color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:normal;z-index:10;background:#132033;border-radius:8px;width:max-content;max-width:280px;padding:9px 10px;font-size:.82rem;font-weight:700;line-height:1.45;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);box-shadow:0 10px 24px #0d1a2c2e}.info-tooltip:hover:after,.info-tooltip:focus:after{opacity:1;transform:translate(-50%)}.sql-field{gap:6px;min-width:0;margin-top:2px}.sql-editor{background:#f7f8fa;border:1px solid #d8dde5;border-radius:8px;min-height:330px;overflow:hidden}.sql-editor:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #1f66a81f}.code-toolbar{background:#eef0f2;border-bottom:1px solid #d8dde5;justify-content:space-between;align-items:center;min-height:40px;padding:0 12px;display:flex}.language-button{box-shadow:none;color:#2f3640;background:0 0;border:0;min-height:32px;padding:0 8px;font-size:1rem;font-weight:800}.language-button:hover{box-shadow:none;background:#e4e7eb;transform:none}.language-button span{color:#606b78;font-size:.85rem}.wrap-toggle{color:#596575;align-items:center;gap:10px;font-weight:700;display:flex}.wrap-toggle input{appearance:none;cursor:pointer;background:#b8c0cc;border:0;border-radius:999px;width:44px;height:24px;min-height:24px;padding:0;transition:background .15s;position:relative}.wrap-toggle input:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #1e2a3a3d}.wrap-toggle input:checked{background:#2563eb}.wrap-toggle input:checked:before{transform:translate(20px)}.sql-editor .cm-editor{color:#222831;background:#f7f8fa;font-family:Consolas,Courier New,monospace;font-size:1rem;line-height:1.58}.sql-editor .cm-focused{outline:none}.sql-editor .cm-content{padding:18px 0}.sql-editor .cm-line{padding:0 18px}.sql-editor .cm-gutters{color:#687383;background:#f7f8fa;border-right:0;padding-left:12px}.sql-editor .cm-activeLineGutter,.sql-editor .cm-activeLine{background:0 0}.sql-editor .ͼb,.sql-editor .ͼc,.sql-editor .ͼd,.sql-editor .ͼe{color:#b91bb8}.command-row{flex-wrap:wrap}.secondary{border:1px solid var(--line-strong);box-shadow:none;color:var(--ink);background:#fff}.danger{background:linear-gradient(180deg, #b74935, var(--red));box-shadow:0 12px 24px #a33a2b29}.notice{border-radius:8px;padding:13px 15px;font-weight:800}.notice.success{color:#245f33;background:#edf8f0;border:1px solid #77bb86}.notice.error{background:var(--red-soft);color:#8e2f21;border:1px solid #de927d}.result-panel{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;padding:16px;display:grid}.result-summary{color:#42536d;background:linear-gradient(#fff,#f7faff);border:1px solid #d9e4f1;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:10px 12px;display:flex}.result-title{color:var(--muted);font-size:.86rem;font-weight:900}.summary-metrics{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.summary-metrics span{color:#24486d;background:#eaf3ff;border:1px solid #cfe0f2;border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:900}.data-grid-wrap{background:#fff;border:1px solid #d8e3f0;border-radius:8px;min-height:0;max-height:68vh;position:relative;overflow:auto;box-shadow:inset 0 1px #fffc}.data-grid{border-collapse:separate;border-spacing:0;min-width:100%}.data-grid th,.data-grid td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e3eaf3;padding:12px 16px}.data-grid th{color:#203753;z-index:4;background:#f3f8ff;font-size:.86rem;font-weight:900;position:sticky;top:0;box-shadow:inset 0 -1px #d8e3f0,0 1px #d8e3f0}.data-grid td{font-family:Consolas,Courier New,monospace;font-size:.9rem}.data-grid th:first-child,.data-grid td:first-child{position:sticky;left:0}.data-grid th:first-child{z-index:5}.data-grid td:first-child{color:#17395d;z-index:1;background:#fff;font-weight:800}.data-grid tbody tr:nth-child(2n) td,.data-grid tbody tr:nth-child(2n) td:first-child{background:#f8fbff}.data-grid tbody tr:hover td,.data-grid tbody tr:hover td:first-child{background:#eaf4ff}.data-grid td:empty:after{color:#a7b3c2;content:"-"}.view-card{max-width:980px}.view-head svg{color:var(--blue);width:32px;height:32px}.share-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;max-width:none;height:100vh;min-height:100vh;margin:0;padding:16px 24px 14px;display:grid;overflow:hidden}.standalone-utility-page{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:100vh;min-height:100vh;padding:16px 24px 14px;display:grid;overflow:hidden}.loading-share{grid-template-rows:minmax(0,1fr) auto;place-items:center}.share-topbar{grid-template-columns:320px minmax(420px,560px);justify-content:space-between;align-items:center;gap:18px;display:grid}.share-heading{display:block}.share-brand{align-items:center;gap:12px;min-height:64px;display:flex}.share-brand span{background:linear-gradient(135deg, #0f2749, var(--blue));color:#fff;letter-spacing:0;border-radius:8px;justify-content:center;align-items:center;width:46px;height:46px;font-weight:900;display:inline-flex;box-shadow:0 10px 22px #0f274933}.share-brand strong{color:#10213a;font-size:1.15rem}.share-heading h1{color:#10213a;text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;align-self:end;min-width:0;margin:0;font-size:clamp(1.85rem,2.35vw,3rem);line-height:1;overflow:hidden}.share-heading p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-area:2/2;align-self:start;min-width:0;margin:0;overflow:hidden}.share-status-row{grid-template-columns:repeat(2,minmax(0,1fr));place-self:center end;width:100%;max-width:560px}.share-workspace{grid-template-columns:320px minmax(0,1fr);align-items:stretch;gap:18px;min-height:0;display:grid}.share-card{align-content:start;gap:16px;padding:24px;display:grid}.share-tool-title{border-bottom:1px solid var(--line);gap:6px;padding-bottom:16px;display:grid}.share-tool-title h1{color:#10213a;overflow-wrap:anywhere;margin:0;font-size:clamp(1.75rem,2vw,2.35rem);line-height:1.06}.share-tool-title p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.45}.execution-mode-note{color:#24496f;background:#edf5ff;border:1px solid #d2e4f6;border-radius:8px;padding:9px 11px;font-size:.86rem;font-weight:900}.share-card h2{margin:4px 0 0;font-size:1.35rem}.share-card button{width:100%}.share-card button:disabled{cursor:not-allowed;opacity:.55;transform:none}.empty-share-card{max-width:620px}.share-unavailable-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px;min-height:0;padding:18px;display:grid}.share-hint,.result-placeholder{color:var(--muted);background:#f7f9fc;border:1px dashed #cbd7e5;border-radius:8px;padding:14px}.share-result-area{min-width:0;height:100%;min-height:0;display:grid}.share-result-area .result-panel{align-content:start;width:100%;min-width:0;height:100%;overflow:hidden}.share-result-area .data-grid-wrap{height:100%;min-height:0;max-height:none}.drawer-editor .data-grid-wrap,.share-result-area .data-grid-wrap{overflow:auto}.result-placeholder{text-align:center;align-content:center;justify-items:center;min-height:100%;display:grid}.result-placeholder svg{color:var(--blue);width:34px;height:34px;margin-bottom:12px}.success-placeholder svg{color:var(--green)}.unavailable-placeholder{background:#fff8f6;border-color:#efb5a6}.unavailable-placeholder svg{color:var(--red)}.result-placeholder strong{color:var(--ink);font-size:1.1rem}.result-placeholder span{margin-top:6px}.excel-xml-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:14px;min-height:0;display:grid}.excel-xml-panel{background:#fff;border:1px solid #dbe6f2;border-radius:8px;min-width:0;display:grid;overflow:hidden}.excel-xml-panel h3{background:#f5f8fc;border-bottom:1px solid #dbe6f2;margin:0;padding:14px 16px;font-size:1rem}.excel-xml-panel-body{gap:14px;padding:16px;display:grid}.excel-xml-drop{cursor:pointer;text-align:center;background:#fbfcfd;border:1px dashed #9aa7b5;border-radius:8px;place-items:center;min-height:150px;padding:22px;display:grid}.excel-xml-drop:hover,.excel-xml-drop.drag{background:#eef8f6;border-color:#0b6f6a}.excel-xml-drop strong{color:var(--ink);overflow-wrap:anywhere;font-size:.96rem;display:block}.excel-xml-drop span{color:var(--muted);margin-top:8px;font-size:.86rem}.excel-xml-table-wrap{min-height:320px;max-height:520px;overflow:auto}.excel-xml-table{border-collapse:collapse;table-layout:fixed;width:100%}.excel-xml-table th,.excel-xml-table td{overflow-wrap:anywhere;text-align:left;vertical-align:top;border-bottom:1px solid #e3eaf3;padding:10px 12px}.excel-xml-table th{color:#203753;z-index:1;background:#f3f8ff;font-size:.86rem;font-weight:900;position:sticky;top:0}.excel-xml-table td{font-size:.9rem}.excel-xml-preview{color:#d6e2ef;white-space:pre-wrap;overflow-wrap:anywhere;background:#101820;max-height:320px;margin:0;padding:14px;font:12px/1.55 Consolas,Courier New,monospace;overflow:auto}.video-tool-layout{grid-template-columns:minmax(310px,390px) minmax(0,1fr);align-items:start;gap:18px;min-height:0;display:grid}.video-settings-card{align-content:start}.video-settings-card h3{margin:0;font-size:1.15rem}.video-task-area{gap:12px;min-width:0;display:grid}.video-status-row{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}.video-metric-card{min-height:70px}.video-metric-card strong{font-size:1.35rem}.video-progress{background:#e7edf5;border-radius:999px;flex:220px;min-width:160px;max-width:360px;height:10px;overflow:hidden}.video-progress span{background:var(--blue);height:100%;transition:width .2s;display:block}.video-log{color:#d6e2ef;white-space:pre-wrap;background:#101820;border:1px solid #263849;border-radius:8px;min-height:150px;max-height:190px;margin:0;padding:10px;font:12px/1.55 Consolas,Courier New,monospace;overflow:auto}.video-status-tag{color:var(--muted);white-space:nowrap;background:#eef2f6;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.82rem;font-weight:900;display:inline-flex}.video-status-tag.ok{color:var(--green);background:#e7f4ec}.video-status-tag.run{background:var(--blue-soft);color:var(--blue)}.video-status-tag.err{background:var(--red-soft);color:var(--red)}.video-status-tag.wait{color:#986900;background:#fff4df}.login-page{grid-template-rows:minmax(0,1fr) auto;align-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff2;border-radius:8px;gap:18px;width:100%;max-width:440px;margin:0 auto;padding:26px;display:grid}.login-card h1{margin:0;font-size:2rem}.login-brand{padding-bottom:14px}.login-card form{gap:14px;display:grid}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.gallery-grid.list-view .gallery-card{grid-template-columns:1fr;align-items:start}.gallery-grid.list-view .gallery-actions{justify-content:flex-start}}@media (width<=980px){.app-layout,.query-layout,.gallery-grid,.excel-xml-layout,.video-tool-layout,.share-workspace,.share-topbar,.topbar,.form-grid,.switch-grid,.status-row,.symbol-layout,.keyword-panels{grid-template-columns:1fr}.symbol-topic-nav{max-height:260px;position:static}.symbol-search{max-width:none}.utility-head{grid-template-columns:1fr;justify-items:center}.utility-brand,.utility-title,.utility-head .utility-command-row{grid-column:1}.utility-head .utility-command-row{justify-content:center}.side-rail{min-height:auto;position:static}.app-layout{padding:16px}.workbench{height:auto;min-height:auto}.share-shell{height:auto;overflow:visible}.settings-drawer{min-width:100vw;max-width:100vw}.drawer-close{top:16px;left:16px;right:auto}.module-tabs,.module-tabs button,.command-row button{width:100%}}
