
* {
box-sizing:border-box;
margin:0;
padding:0;
}

:root {
--bg-app:#e8e8e8;
--bg-paper:#ffffff;
--border-color:#d1d1d1;
--margin-marker:#000000;
--shadow-page:0 1px 4px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
--ruler-bg:#f5f5f5;
--ruler-tick:#999;
--marker-color:#666;
}

a {
color:#1b4076;
}

body {
background-color:var(--bg-app);
overflow-x:hidden;
overflow-y:auto;
min-height:100vh;
width:100%;
display:flex;
flex-direction:column;
align-items:center;
padding:40px 0 40px 0;
}

.menubar {
position:fixed;
top:0;
left:0;
right:0;
height:32px;
z-index:200;
display:flex;
align-items:center;
gap:2px;
padding:0 10px;
background:#1b4076;
color:#ffffff;
font-family:system-ui, sans-serif;
font-size:13px;
box-shadow:0 1px 3px rgba(0,0,0,0.25);
}

.mb-brand {
display:inline-flex;
align-items:center;
margin-right:14px;
user-select:none;
flex-shrink:0;
}

.mb-brand-logo {
height:22px;
width:auto;
display:block;
}

.mb-menu {
position:relative;
flex-shrink:0;
}

#mb-ai-tools {
display:none;
}

body.ai-split #mb-ai-tools {
display:block;
}

.mb-trigger {
background:transparent;
border:none;
color:#ffffff;
font-size:13px;
padding:5px 10px;
border-radius:4px;
cursor:pointer;
white-space:nowrap;
font-family:system-ui, sans-serif;
}

.mb-trigger:hover {
background:rgba(255,255,255,0.18);
}

.mb-menu.open .mb-trigger {
background:rgba(255,255,255,0.25);
}

.mb-dropdown {
display:none;
position:absolute;
top:100%;
left:0;
min-width:190px;
padding:4px 0;
background:#ffffff;
color:#222;
border:1px solid #d1d1d1;
border-radius:6px;
box-shadow:0 8px 24px rgba(0,0,0,0.22);
}

.mb-menu.open .mb-dropdown {
display:block;
}

.mb-item {
display:flex;
justify-content:space-between;
align-items:center;
gap:18px;
padding:5px 14px;
font-size:13px;
cursor:pointer;
white-space:nowrap;
}

.mb-item:hover {
background:#e8f0fe;
}

.mb-item:active {
background:#d2e3fc;
}

.mb-item.disabled {
color:#9aa0a6;
cursor:default;
}

.mb-item.disabled:hover {
background:none;
}

.mb-item.disabled:active {
background:none;
}

.mb-item-kbd {
color:#888;
font-size:11px;
}

.mb-item.mb-checked::before {
content:"✓  ";
color:#1b4076;
font-weight:700;
}

.mb-ai {
margin-left:auto;
display:flex;
align-items:center;
flex-shrink:0;
}

.mb-ai-switch {
display:flex;
align-items:center;
gap:7px;
cursor:pointer;
user-select:none;
}

.mb-ai-label {
font-weight:700;
font-size:13px;
letter-spacing:0.4px;
}

.mb-ai-actions {
display:none;
background:transparent;
border:1px solid rgba(255,255,255,0.45);
border-radius:4px;
color:inherit;
font-size:12px;
line-height:1;
padding:4px 9px;
margin-right:8px;
cursor:pointer;
white-space:nowrap;
}

body.ai-split .mb-ai-actions {
display:inline-block;
}

.mb-ai-actions:hover {
background:rgba(255,255,255,0.12);
}

.mb-gear {
display:inline-block;
background:transparent;
border:1px solid rgba(255,255,255,0.45);
border-radius:4px;
color:inherit;
font-size:13px;
line-height:1;
padding:3px 8px;
margin-right:8px;
cursor:pointer;
}

.mb-gear:hover {
background:rgba(255,255,255,0.12);
}

.settings-menu {
display:none;
position:absolute;
top:32px;
right:8px;
min-width:150px;
padding:4px 0;
background:#ffffff;
color:#222;
border:1px solid #d1d1d1;
border-radius:6px;
box-shadow:0 8px 24px rgba(0,0,0,0.22);
z-index:300;
}

.switch {
position:relative;
display:inline-block;
width:34px;
height:18px;
}

.switch input {
opacity:0;
width:0;
height:0;
margin:0;
}

.switch-slider {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:rgba(255,255,255,0.35);
border-radius:18px;
transition:background 0.15s;
}

.switch-slider::before {
content:"";
position:absolute;
height:14px;
width:14px;
left:2px;
top:2px;
background:#ffffff;
border-radius:50%;
transition:transform 0.15s;
}

.switch input:checked + .switch-slider {
background:#34c759;
}

.switch input:checked + .switch-slider::before {
transform:translateX(16px);
}

.demo-ribbon {
position:fixed;
left:12px;
bottom:44px;
z-index:3000;
max-width:640px;
background:#fff3d6;
color:#5c4300;
border:1px solid #e0c36a;
border-radius:8px;
box-shadow:0 8px 24px rgba(0,0,0,0.25);
padding:10px 14px;
font-size:14px;
line-height:1.4;
text-align:center;
}

.demo-caption {
margin-top:6px;
font-weight:600;
}

.demo-btns {
margin-top:8px;
display:flex;
gap:10px;
justify-content:center;
}

.demo-btn {
background:#14305e;
border:none;
border-radius:6px;
color:#ffffff;
font-size:14px;
font-weight:600;
padding:6px 16px;
cursor:pointer;
}

.demo-btn:hover {
background:#1e4480;
}

.demo-btn:disabled {
opacity:0.5;
cursor:default;
}

.demo-v1-bar {
position:fixed;
left:12px;
bottom:44px;
z-index:3000;
background:#fff3d6;
color:#5c4300;
border:1px solid #e0c36a;
border-radius:8px;
box-shadow:0 8px 24px rgba(0,0,0,0.25);
padding:8px 12px;
font-size:13px;
display:flex;
gap:8px;
align-items:center;
white-space:nowrap;
max-width:96vw;
}

.demo-v1-pos {
font-weight:700;
max-width:300px;
overflow:hidden;
text-overflow:ellipsis;
}

.demo-v1-bar .demo-btn {
padding:6px 6px;
}

.demo-v1-beat {
color:#8a6d1a;
}

.demo-v1-honest {
font-size:12px;
}

.demo-v1-bar .demo-btn svg {
vertical-align:-2px;
}

body.mobile .demo-v1-bar {
left:8px;
right:8px;
bottom:calc(76px + env(safe-area-inset-bottom));
max-width:calc(100vw - 16px);
width:auto;
box-sizing:border-box;
flex-wrap:wrap;
padding:6px 8px;
gap:6px;
white-space:normal;
}

body.mobile .demo-v1-pos {
font-size:12px;
max-width:calc(100vw - 32px);
flex:1 1 100%;
}

body.mobile .demo-v1-beat {
display:none;
}

body.mobile .demo-v1-honest {
display:none;
}

body.mobile .demo-v1-bar .demo-btn {
padding:6px 10px;
min-height:34px;
min-width:34px;
font-size:12px;
display:inline-flex;
align-items:center;
justify-content:center;
}

body.mobile.demo-v1-walk #mobile-ai-cluster, body.mobile.demo-v1-walk.ai-split #mobile-ai-cluster {
bottom:calc(235px + env(safe-area-inset-bottom)) !important;
z-index:3100 !important;
}

.demo-v1-callout {
position:fixed;
z-index:3200;
width:260px;
background:#fff3d6;
color:#5c4300;
border:1px solid #e0c36a;
border-radius:8px;
box-shadow:0 8px 24px rgba(0,0,0,0.25);
padding:8px 10px;
font-size:13px;
line-height:1.4;
}

.demo-v1-callout:after {
content:"";
position:absolute;
border:8px solid transparent;
}

.demo-v1-below:after {
top:-16px;
left:var(--arrow-left, 24px);
border-bottom-color:#e0c36a;
}

.demo-v1-above:after {
bottom:-16px;
left:var(--arrow-left, 24px);
border-top-color:#e0c36a;
}

body.mobile .demo-v1-callout {
max-width:calc(100vw - 16px);
font-size:12px;
padding:6px 8px;
}

.demo-v1-leftside:after {
right:-16px;
top:20px;
border-left-color:#e0c36a;
}

.demo-v1-rightside:after {
left:-16px;
top:20px;
border-right-color:#e0c36a;
}

.demo-v1-target {
outline:3px solid #b8860b;
outline-offset:2px;
border-radius:4px;
}

#mobile-ai-cluster.demo-v1-target, #mobile-ai-fab.demo-v1-target, #mobile-ai-run.demo-v1-target {
border-radius:24px;
box-shadow:0 0 0 3px #b8860b;
}

#structure-bar.demo-v1-target {
box-shadow:0 0 0 3px #b8860b;
outline:none;
}

.demo-v1-pick {
background:#14305e;
color:#ffffff;
}

.demo-v1-pressed {
background:#ffe9a8 !important;
color:#1b4076 !important;
outline:3px solid #b8860b !important;
outline-offset:2px;
}

body.demo-v1-walk .review-rail {
position:static;
left:auto;
right:auto;
bottom:auto;
height:auto;
width:max-content;
flex:none;
border-radius:6px;
padding:1px 8px;
gap:8px;
margin-left:4px;
}

body.demo-v1-walk .rv-count-bar {
position:static;
}

body.demo-v1-walk.review-live .demo-v1-beat {
display:none;
}

body.demo-v1-walk.review-live .demo-v1-honest {
display:none;
}

body.mobile.demo-v1-walk .review-rail {
margin-left:0;
padding:2px 4px;
max-width:100%;
}
#demo-v1-play.demo-v1-play-nudge{animation:demo-v1-nudge 1.6s ease-in-out infinite}@keyframes demo-v1-nudge{0%,100%{box-shadow:0 0 0 0 rgba(224,195,106,0)}50%{box-shadow:0 0 0 5px rgba(224,195,106,0.55)}}@media (prefers-reduced-motion:reduce){#demo-v1-play.demo-v1-play-nudge{animation:none;box-shadow:0 0 0 3px rgba(224,195,106,0.7)}}
.ai-panel {
position:fixed;
top:32px;
right:0;
bottom:0;
width:var(--ai-w, 0px);
z-index:90;
display:none;
background:#ffffff;
border-left:1px solid #dfe3ea;
}

body.ai-split .ai-panel {
display:block;
top:58px;
bottom:22px;
}

body.ai-split.ai-stacked:not(.mobile) .ai-panel {
left:0;
right:0;
top:auto;
bottom:22px;
width:auto;
max-width:none;
height:var(--ai-sh, 320px);
border-left:none;
border-top:1px solid #dfe3ea;
box-shadow:0 -4px 12px rgba(0,0,0,0.10);
z-index:110;
}

body.ai-split.ai-stacked:not(.mobile) .ai-auto-bar {
position:static;
width:auto;
height:32px;
}

body.ai-split.ai-stacked:not(.mobile) .editor-scrollbar {
bottom:calc(22px + var(--ai-sh, 320px));
}

body.ai-split.ai-stacked.read-mode:not(.mobile) .ai-panel {
bottom:0;
}

body.ai-split.ai-stacked.read-mode:not(.mobile) .editor-scrollbar {
bottom:var(--ai-sh, 320px);
}

.editor-scrollbar {
position:fixed;
top:32px;
right:var(--ai-w, 0px);
bottom:22px;
width:16px;
overflow-y:scroll;
overflow-x:hidden;
z-index:95;
display:none;
background:transparent;
}

body.ai-split .editor-scrollbar {
display:block;
}
.ai-busy-bar{position:absolute;top:0;left:0;right:0;height:3px;overflow:hidden;background:rgba(27,64,118,0.15);z-index:5}.ai-busy-seg{position:absolute;top:0;bottom:0;left:-40%;width:40%;border-radius:2px;background:#1b4076;animation:ai-busy-slide 1.1s linear infinite}.ai-busy-bar.still .ai-busy-seg{animation:none;left:0;width:100%;opacity:0.55}#mobile-appbar .ai-busy-bar{top:auto;bottom:0;background:rgba(255,255,255,0.22);z-index:250}#mobile-appbar .ai-busy-bar .ai-busy-seg{background:#64b5f6;box-shadow:0 0 6px rgba(100,181,246,0.85)}@keyframes ai-busy-slide{from{left:-40%}to{left:100%}}
.editor-scrollbar-spacer {
width:1px;
}

.ai-gutter {
position:fixed;
top:32px;
right:calc(var(--ai-w, 0px) - 3px);
bottom:22px;
width:7px;
z-index:96;
display:none;
background:transparent;
cursor:ew-resize;
}

body.ai-split .ai-gutter {
display:block;
}

body.ai-split.ai-stacked:not(.mobile) .ai-gutter {
left:0;
right:0;
top:auto;
bottom:calc(22px + var(--ai-sh, 320px) - 4px);
width:auto;
height:8px;
z-index:115;
cursor:ns-resize;
touch-action:none;
}

body.ai-split.ai-stacked.read-mode:not(.mobile) .ai-gutter {
bottom:calc(var(--ai-sh, 320px) - 4px);
}

body.ai-split.ai-stacked:not(.mobile) .ai-gutter::before {
content:"";
position:absolute;
left:0;
right:0;
top:-10px;
bottom:-10px;
}

body.ai-split.ai-stacked:not(.mobile) .ai-gutter::after {
content:"";
position:absolute;
left:50%;
top:50%;
width:48px;
height:4px;
margin:-2px 0 0 -24px;
border-radius:2px;
background:#9aa0a6;
}

body.ai-split.ai-stacked.ai-resizing {
cursor:ns-resize;
}

.ai-gutter:hover {
background:rgba(26,115,232,0.18);
}

body.ai-resizing {
cursor:ew-resize;
user-select:none;
}

#sb-salad {
display:none;
}

#sb-ai {
display:none;
}

#mobile-menu-header {
display:none;
}

body.mobile .menubar {
display:none;
}

body.mobile.mobile-menu-open .menubar {
display:flex;
position:fixed;
left:0;
top:52px;
bottom:0;
right:auto;
width:min(280px, calc(100vw - 56px));
height:calc(100vh - 52px);
height:calc(100dvh - 52px);
max-height:none;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
flex-direction:column;
align-items:stretch;
gap:0;
padding:0 0 16px 0;
background:#1b4076;
z-index:300;
border-radius:0 12px 12px 0;
box-shadow:6px 0 24px rgba(0,0,0,0.28);
}

body.mobile.mobile-menu-open #menu-overlay {
display:block !important;
position:fixed;
top:52px;
left:0;
right:0;
bottom:0;
background:rgba(0,0,0,0.35);
z-index:290;
-webkit-tap-highlight-color:transparent;
}

body.mobile .mb-brand {
display:none;
}

body.mobile .menubar .mb-ai {
display:none !important;
}

body.mobile .mb-menu {
width:100%;
}

body.mobile .mb-trigger {
display:flex;
justify-content:space-between;
align-items:center;
width:100%;
text-align:left;
color:#ffffff;
font-size:15px;
font-weight:500;
padding:11px 14px;
min-height:44px;
border-bottom:1px solid rgba(255,255,255,0.08);
cursor:pointer;
-webkit-tap-highlight-color:transparent;
}

body.mobile .mb-trigger::after {
content:"▶";
font-size:10px;
opacity:0.6;
margin-left:auto;
transition:transform 0.15s ease;
}

body.mobile .mb-menu.mobile-expanded > .mb-trigger {
background:rgba(255,255,255,0.08);
border-bottom:1px solid rgba(255,255,255,0.15);
}

body.mobile .mb-menu.mobile-expanded > .mb-trigger::after {
transform:rotate(-90deg);
opacity:0.9;
}

body.mobile .mb-dropdown {
display:none !important;
}

body.mobile .mb-menu.mobile-expanded > .mb-dropdown {
display:flex !important;
flex-direction:column;
position:static;
box-shadow:none;
border:none;
border-radius:0 6px 6px 0;
min-width:0;
background:rgba(0,0,0,0.16);
padding:4px 6px 6px 10px;
border-left:2px solid rgba(255,255,255,0.22);
margin:2px 0 4px 10px;
}

body.mobile .mb-item {
color:#ffffff;
min-height:44px;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 10px;
border-radius:4px;
font-size:14px;
cursor:pointer;
user-select:none;
-webkit-tap-highlight-color:transparent;
}

body.mobile .mb-item:hover, body.mobile .mb-item:active {
background:rgba(255,255,255,0.15);
}

body.mobile .mb-submenu {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
min-height:44px;
padding:0;
border-radius:4px;
}

body.mobile .mb-submenu > .mb-item-label {
flex:1 1 auto;
padding:9px 10px;
font-size:14px;
color:#ffffff;
}

body.mobile .mb-sub-arrow {
flex:0 0 auto;
padding:9px 10px;
font-size:10px;
color:#ffffff;
opacity:0.7;
margin-left:auto;
transition:transform 0.15s ease;
}

body.mobile .mb-submenu.mobile-expanded {
background:rgba(255,255,255,0.06);
}

body.mobile .mb-submenu.mobile-expanded > .mb-sub-arrow {
transform:rotate(-90deg);
opacity:1;
}

body.mobile .mb-item[data-cmd="special-chars"]::after, body.mobile .mb-item[data-cmd="emoji-open"]::after {
content:"▶";
font-size:10px;
color:#ffffff;
opacity:0.7;
margin-left:auto;
flex:0 0 auto;
transition:transform 0.15s ease;
}

body.mobile.sc-open .mb-item[data-cmd="special-chars"]::after, body.mobile.emj-open .mb-item[data-cmd="emoji-open"]::after {
transform:rotate(-90deg);
opacity:1;
}

body.mobile .mb-sub-dropdown {
display:none !important;
position:static;
box-shadow:none;
border:none;
border-radius:0 6px 6px 0;
min-width:0;
width:100%;
flex:1 1 100%;
background:rgba(0,0,0,0.22);
padding:4px 6px 6px 10px;
border-left:2px solid rgba(255,255,255,0.25);
margin:2px 0 4px 8px;
}

body.mobile .mb-submenu.mobile-expanded > .mb-sub-dropdown {
display:flex !important;
flex-direction:column;
}

body.mobile .mb-sep {
height:1px;
background:rgba(255,255,255,0.12);
margin:4px 6px;
}

body.mobile .mb-item-kbd {
color:rgba(255,255,255,0.45);
font-size:11px;
margin-left:auto;
padding-left:10px;
}

body.mobile .mb-item.mb-checked::before {
color:#70b0ff;
font-weight:700;
}

body.mobile .structure-bar {
top:auto;
bottom:26px;
left:0;
right:0;
width:auto;
transform:none;
max-width:none;
border-radius:0;
border-left:none;
border-right:none;
border-bottom:none;
padding:4px 8px calc(4px + env(safe-area-inset-bottom)) 0;
z-index:250;
}

body.mobile #sb-salad {
display:flex;
position:sticky;
left:0;
z-index:2;
flex:0 0 auto;
min-height:44px;
background:#ffffff;
padding:4px 6px 4px 10px;
margin:0;
border:none;
border-radius:0;
box-shadow:3px 0 5px -2px rgba(0,0,0,0.15);
}

body.mobile .structure-bar .sb-btn, body.mobile .structure-bar .sb-select {
min-height:48px;
font-size:13px;
}

body.mobile .structure-bar .sb-doc-tools {
margin-left:8px;
}

body.mobile #tb-copy {
order:-3;
}

body.mobile #tb-paste {
order:-2;
}

body.mobile #tb-cut {
order:-1;
}

body.mobile:not(.ai-split) #sb-ai {
display:none;
}

body.mobile.ai-split #sb-ai {
display:flex;
flex-direction:column;
position:sticky;
left:0;
z-index:2;
flex:0 0 auto;
min-width:44px;
min-height:44px;
align-items:center;
justify-content:center;
font-weight:700;
color:#1a2a3a;
background:#ffffff;
padding:0 4px;
margin:0;
border:none;
border-radius:0;
box-shadow:3px 0 5px -2px rgba(0,0,0,0.15);
line-height:1;
gap:1px;
cursor:pointer;
}

body.mobile.ai-split #sb-ai:active {
background:#e8eaed;
}

body.mobile.ai-split #sb-ai .sb-ai-caret {
font-size:10px;
line-height:1;
font-weight:700;
color:#1a2a3a;
}

body.mobile.ai-split #sb-ai .sb-ai-label {
font-size:11px;
line-height:1;
font-weight:700;
color:#1a2a3a;
}

body.mobile.ai-split.mobile-ai-open #sb-ai {
background:#eef3fa;
}

body.mobile.ai-split.mobile-ai-open #sb-ai .sb-ai-caret {
color:#1b4076;
}

body.mobile.ai-split.mobile-ai-open #sb-ai .sb-ai-label {
color:#1b4076;
}

body.mobile.ai-split .structure-bar {
left:0;
right:0;
max-width:none;
width:auto;
}

body.mobile .ai-panel {
display:none;
}

body.mobile.ai-split .ai-panel {
display:none;
}

body.mobile.mobile-ai-open .ai-panel {
display:flex;
flex-direction:column;
position:fixed;
left:0;
right:0;
top:auto;
bottom:82px;
width:auto;
max-width:none;
min-height:220px;
max-height:52vh;
touch-action:pan-y;
z-index:240;
background:#ffffff;
border-top:1px solid #dfe3ea;
border-left:none;
}

body.mobile .ai-actions {
flex:1 1 auto;
display:flex;
flex-direction:column;
min-height:0;
}

body.mobile .ai-actions-body, body.mobile .ai-actions-active, body.mobile .ai-actions-done {
flex:1 1 auto;
overflow-y:auto;
max-height:none;
padding-bottom:8px;
}

body.mobile .ai-actions-empty {
min-height:auto;
padding:12px 10px 8px 10px;
gap:8px;
}

body.mobile .ai-panel-footer {
position:static;
margin:8px 12px 10px 12px;
width:calc(100% - 24px);
box-sizing:border-box;
flex:0 0 auto;
align-self:stretch;
display:flex;
align-items:center;
justify-content:space-between;
}

body.mobile .ai-implement {
position:static;
margin:0;
margin-left:auto;
flex:0 0 auto;
align-self:auto;
}

body.mobile.mobile-ai-open .ai-actions-add {
display:inline-flex;
}

body.mobile .ai-chat-status {
position:static;
margin:4px 12px;
flex:0 0 auto;
}

body.mobile .editor-scrollbar {
display:none;
}

body.mobile .ai-gutter {
display:none;
}

body.mobile .cookie-banner {
left:8px;
right:8px;
max-width:none;
bottom:78px;
}

body.mobile.mobile-menu-open .cookie-banner, body.mobile.mobile-ai-open .cookie-banner {
z-index:100;
}

body.mobile .structure-bar {
position:fixed;
background:#ffffff;
min-height:56px;
align-items:center;
border-top:1px solid #dfe3ea;
box-shadow:0 -2px 8px rgba(0,0,0,0.08);
scrollbar-width:none;
}

body.mobile .status-bar {
height:26px;
line-height:26px;
font-size:12px;
}

body.mobile .structure-bar .sb-icn {
width:30px;
height:30px;
}

body.mobile .structure-bar .sb-icn svg {
width:25px;
height:25px;
}

body.mobile .structure-bar::-webkit-scrollbar {
display:none;
}

body.mobile #sb-salad {
min-width:44px;
justify-content:center;
}

.mobile-block {
position:fixed;
top:0;
right:0;
bottom:0;
left:0;
z-index:5000;
display:none;
align-items:center;
justify-content:center;
background:#f6f8fb;
-webkit-text-size-adjust:100%;
}

body.mobile-blocked {
overflow:hidden;
}

.mobile-block-card {
width:100%;
max-width:320px;
margin:0 24px;
box-sizing:border-box;
padding:28px 24px;
text-align:center;
background:#ffffff;
border:1px solid #dfe3ea;
border-radius:12px;
box-shadow:0 4px 16px rgba(0,0,0,0.10);
}

.mobile-block-title {
margin:0 0 12px 0;
font-size:20px;
font-weight:600;
}

.mobile-block-text {
margin:0;
font-size:14px;
line-height:1.5;
color:#444;
overflow-wrap:break-word;
}
@media (max-width:599px),(max-height:499px){#mobile-block{display:flex}}@media (max-width:599px),(max-height:499px){body:not(.mobile-blocked){background:#ffffff;padding:0;margin:0;overflow-x:hidden;touch-action:pan-y}body:not(.mobile-blocked):not(.mobile-menu-open) .menubar{display:none}body:not(.mobile-blocked) #mobile-appbar{display:flex;position:fixed;top:0;left:0;right:0;height:52px;align-items:center;padding:0 8px 0 4px;padding-left:max(4px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));background:#1b4076;box-shadow:0 1px 4px rgba(0,0,0,0.25);z-index:200}body:not(.mobile-blocked) #mobile-appbar #sb-salad{display:flex;align-items:center;justify-content:center;position:static;background:transparent;color:#ffffff;box-shadow:none;min-height:44px;min-width:44px;height:44px;padding:0;margin-right:4px;border-radius:4px}body:not(.mobile-blocked) #mobile-appbar #sb-salad svg{display:block;margin:auto}body:not(.mobile-blocked) .structure-bar{position:fixed;top:auto;bottom:26px;left:0;right:0;width:auto;transform:none;max-width:none;border-radius:0;border-left:none;border-right:none;border-bottom:none;padding:4px 8px calc(4px + env(safe-area-inset-bottom)) 0;z-index:250;background:#ffffff;min-height:56px;align-items:center;border-top:1px solid #dfe3ea;box-shadow:0 -2px 8px rgba(0,0,0,0.08);scrollbar-width:none}body:not(.mobile-blocked) .structure-bar::-webkit-scrollbar{display:none}body:not(.mobile-blocked) .structure-bar .sb-btn,body:not(.mobile-blocked) .structure-bar .sb-select{min-height:48px}body:not(.mobile-blocked) .structure-bar .sb-doc-tools{margin-left:8px}body.ai-split:not(.mobile-blocked) #sb-ai{display:flex;flex-direction:column;position:sticky;left:0;z-index:2;flex:0 0 auto;min-height:48px}body:not(.mobile-blocked) #sb-salad{min-width:44px;justify-content:center}body:not(.mobile-blocked) .ruler-container{display:none}body:not(.mobile-blocked) #editor-canvas{top:60px}body:not(.mobile-blocked) .ai-panel{display:none}body.ai-split:not(.mobile-blocked):not(.mobile-ai-open):not(.action-dialog-open) #mobile-ai-cluster{display:flex;position:fixed;right:16px;bottom:calc(90px + env(safe-area-inset-bottom));height:48px;border-radius:24px;background:#1b4076;color:#ffffff;box-shadow:0 4px 12px rgba(27,64,118,0.4),0 2px 4px rgba(0,0,0,0.15);z-index:260;overflow:hidden}body.ai-split:not(.mobile-blocked):not(.mobile-ai-open):not(.action-dialog-open) #mobile-ai-fab{display:flex;width:48px;height:48px;border-radius:24px;background:transparent;color:#ffffff;border:none;outline:none;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}}
body.mobile {
background:#ffffff;
padding:0;
margin:0;
overflow-x:hidden;
touch-action:pan-y;
}

body.mobile .ruler-container {
display:none;
}

body.mobile .find-bar {
position:fixed;
top:52px;
}

body.mobile .table-bar {
position:fixed;
top:52px;
}

body.mobile .chart-bar {
position:fixed;
top:52px;
}

body.mobile .equation-bar {
position:fixed;
top:52px;
}

body.mobile #editor-canvas {
top:60px;
}

body.mobile.modal-open {
overflow:hidden;
touch-action:none;
}

body.mobile .link-dialog {
box-sizing:border-box;
width:calc(100vw - 24px) !important;
max-width:calc(100vw - 24px) !important;
overflow-x:hidden;
left:50% !important;
top:50% !important;
transform:translate(-50%, -50%) !important;
padding:14px 16px;
border-radius:8px;
}

body.mobile .auth-dialog {
box-sizing:border-box;
left:50% !important;
top:50% !important;
transform:translate(-50%, -50%) !important;
max-height:calc(100vh - 24px);
overflow-y:auto;
}

body.mobile #prompt-dialog .rv-topbar, body.mobile #deposit-dialog .rv-topbar, body.mobile .model-dialog .rv-topbar, body.mobile .settings-dialog .rv-topbar, body.mobile #demo-v1-prompt .rv-topbar {
margin:-14px -16px 10px;
border-radius:8px 8px 0 0;
padding:8px 12px;
}

body.mobile .link-buttons {
display:flex;
flex-wrap:wrap;
justify-content:flex-end;
gap:8px;
margin-top:14px;
}

body.mobile .link-buttons .link-btn {
padding:7px 12px;
font-size:13px;
flex:0 1 auto;
min-width:0;
white-space:nowrap;
}

#mobile-appbar {
display:none;
}

body.mobile #mobile-appbar {
display:flex;
position:fixed;
top:0;
left:0;
right:0;
height:52px;
align-items:center;
padding:0 8px 0 4px;
padding-left:max(4px, env(safe-area-inset-left));
padding-right:max(8px, env(safe-area-inset-right));
background:#1b4076;
box-shadow:0 1px 4px rgba(0,0,0,0.25);
z-index:200;
}

.mobile-doc-title {
flex:0 1 auto;
display:inline-flex;
align-items:center;
min-width:0;
max-width:calc(100vw - 250px);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
color:#ffffff;
font-size:17px;
font-weight:600;
line-height:1;
padding:0 2px 0 4px;
cursor:pointer;
}

.mobile-ai-switch {
flex:0 0 auto;
display:flex;
align-items:center;
gap:6px;
margin:0 4px;
min-height:44px;
cursor:pointer;
user-select:none;
-webkit-user-select:none;
}

.mobile-ai-switch .mobile-ai-label {
font-size:13px;
font-weight:700;
color:#ffffff;
letter-spacing:0.4px;
line-height:1;
}

.mobile-ai-tools-btn {
display:none;
flex:0 0 auto;
align-items:center;
gap:3px;
background:rgba(255,255,255,0.12);
border:1px solid rgba(255,255,255,0.45);
border-radius:4px;
color:#ffffff;
font-size:13px;
font-weight:600;
line-height:1;
padding:4px 8px;
margin:0 3px;
min-height:28px;
cursor:pointer;
white-space:nowrap;
-webkit-tap-highlight-color:transparent;
}

body.ai-split .mobile-ai-tools-btn {
display:inline-flex;
}

.mobile-ai-tools-btn:hover, .mobile-ai-tools-btn:active {
background:rgba(255,255,255,0.22);
}

.mobile-ai-tools-btn-arrow {
font-size:10px;
margin-left:2px;
opacity:0.85;
}

.mobile-settings-gear {
flex:0 0 auto;
display:inline-flex;
align-items:center;
justify-content:center;
background:transparent;
border:1px solid rgba(255,255,255,0.45);
border-radius:4px;
color:#ffffff;
font-size:13px;
line-height:1;
padding:4px 8px;
margin:0 4px;
min-height:28px;
cursor:pointer;
-webkit-tap-highlight-color:transparent;
}

.mobile-settings-gear:hover, .mobile-settings-gear:active {
background:rgba(255,255,255,0.15);
}

.mobile-settings-menu {
position:absolute;
top:52px;
right:8px;
min-width:160px;
padding:4px 0;
background:#ffffff;
color:#222;
border:1px solid #d1d1d1;
border-radius:6px;
box-shadow:0 8px 24px rgba(0,0,0,0.22);
z-index:350;
}

.settings-menu .mb-item, .mobile-settings-menu .mb-item {
color:#222 !important;
padding:0 16px;
min-height:44px;
display:flex;
align-items:center;
font-size:14px;
cursor:pointer;
white-space:nowrap;
}

.settings-menu .mb-item:hover, .mobile-settings-menu .mb-item:hover, .settings-menu .mb-item:active, .mobile-settings-menu .mb-item:active {
background:#f0f4f8;
color:#222 !important;
}

.mobile-settings-header {
display:flex;
align-items:center;
justify-content:space-between;
padding:6px 12px 6px 16px;
border-bottom:1px solid #ebebeb;
margin-bottom:4px;
}

.mobile-settings-title {
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.5px;
color:#888888;
}

.mobile-settings-close {
display:flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
border-radius:50%;
background:transparent;
border:none;
color:#ff9090;
font-size:13px;
cursor:pointer;
padding:0;
}

.mobile-settings-close:active, .mobile-settings-close:hover {
background:#eeeeee;
color:#ff5b5b;
}

.mobile-ai-tools-menu {
position:absolute;
top:52px;
right:40px;
width:270px;
max-width:calc(100vw - 16px);
padding:4px 0;
background:#ffffff;
color:#222;
border:1px solid #d1d1d1;
border-radius:8px;
box-shadow:0 8px 24px rgba(0,0,0,0.22);
z-index:350;
}

.mobile-ai-tool-item {
display:flex;
align-items:center;
gap:10px;
padding:8px 14px;
min-height:48px;
cursor:pointer;
border-bottom:1px solid #f0f0f0;
user-select:none;
-webkit-user-select:none;
-webkit-tap-highlight-color:transparent;
}

.mobile-ai-tool-item:last-child {
border-bottom:none;
}

.mobile-ai-tool-item:hover, .mobile-ai-tool-item:active {
background:#f0f4f8;
}

.mobile-ai-tool-icon {
font-size:18px;
flex:0 0 24px;
text-align:center;
line-height:1;
}

.mobile-ai-tools-menu [data-cmd="editing-review"] .mobile-ai-tool-icon {
display:inline-block;
transform:scaleX(-1);
}

.mobile-ai-tool-info {
display:flex;
flex-direction:column;
gap:2px;
min-width:0;
flex:1 1 auto;
}

.mobile-ai-tool-name {
font-size:13px;
font-weight:600;
color:#1b4076;
line-height:1.2;
}

.mobile-ai-tool-desc {
font-size:11px;
color:#666666;
line-height:1.2;
}

.mobile-ai-tool-item.disabled {
opacity:0.45;
cursor:default;
pointer-events:none;
}

.mobile-saved-dot {
flex:0 0 auto;
display:inline-flex;
align-items:center;
justify-content:center;
width:20px;
height:20px;
text-align:center;
font-size:15px;
line-height:1;
margin-right:auto;
cursor:pointer;
}

.mobile-saved-dot.clean {
color:rgba(255,255,255,0.6);
}

.mobile-saved-dot.dirty {
color:#f5b301;
}

#mobile-ai-cluster, #mobile-ai-fab {
display:none;
}

body.mobile.ai-split #mobile-ai-cluster {
display:flex;
position:fixed;
right:16px;
bottom:calc(78px + env(safe-area-inset-bottom));
height:48px;
border-radius:24px;
background:#1b4076;
color:#ffffff;
box-shadow:0 4px 12px rgba(27,64,118,0.4), 0 2px 4px rgba(0,0,0,0.15);
z-index:260;
overflow:hidden;
transition:transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.mobile.ai-split #mobile-ai-fab {
display:flex;
width:48px;
height:48px;
border-radius:24px;
background:transparent;
color:#ffffff;
border:none;
outline:none;
align-items:center;
justify-content:center;
cursor:pointer;
-webkit-tap-highlight-color:transparent;
transition:background 0.15s ease;
}

body.mobile.ai-split #mobile-ai-cluster.has-actions #mobile-ai-fab {
width:44px;
border-radius:24px 0 0 24px;
background:#1b4076;
border-right:1px solid rgba(255,255,255,0.25);
}

body.mobile.ai-split #mobile-ai-run {
display:none;
height:48px;
padding:0 16px 0 12px;
border-radius:0 24px 24px 0;
background:transparent;
color:#ffffff;
border:none;
outline:none;
align-items:center;
gap:6px;
font-size:13px;
font-weight:600;
letter-spacing:0.02em;
cursor:pointer;
white-space:nowrap;
-webkit-tap-highlight-color:transparent;
transition:background 0.15s ease;
}

body.mobile.ai-split #mobile-ai-cluster.has-actions #mobile-ai-run {
display:flex;
background:#234f90;
}

body.mobile.ai-split #mobile-ai-fab:active {
background:#153460;
}

body.mobile.ai-split #mobile-ai-run:active {
background:#1b4076;
}

#mobile-ai-fab .mobile-ai-fab-icon {
display:flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
}

#mobile-ai-run .mobile-ai-run-icon {
display:flex;
align-items:center;
justify-content:center;
width:16px;
height:16px;
}

#mobile-ai-fab svg, #mobile-ai-run svg {
display:block;
}

body.mobile.mobile-ai-open #mobile-ai-cluster, body.mobile.action-dialog-open #mobile-ai-cluster, body.mobile.mobile-ai-open #mobile-ai-fab, body.mobile.action-dialog-open #mobile-ai-fab {
display:none;
}

body.mobile #mobile-appbar #sb-salad {
display:flex;
align-items:center;
justify-content:center;
position:static;
background:transparent;
color:#ffffff;
min-width:44px;
min-height:44px;
height:44px;
padding:0;
margin:0 4px 0 0;
border:none;
border-radius:4px;
box-shadow:none;
-webkit-tap-highlight-color:transparent;
}

body.mobile #mobile-appbar #sb-salad svg {
display:block;
margin:auto;
}

body.mobile .structure-bar {
mask-image:linear-gradient(to right, #000 0, #000 calc(100% - 20px), transparent 100%);
-webkit-mask-image:linear-gradient(to right, #000 0, #000 calc(100% - 20px), transparent 100%);
}

body.mobile .status-branch {
max-width:38vw;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

body.mobile .model-dialog {
width:min(760px, calc(100vw - 32px));
}

body.mobile .model-groups {
flex-direction:column;
}

body.mobile #sc-bar, body.mobile #emj-bar {
position:fixed !important;
top:auto !important;
bottom:76px !important;
left:8px !important;
right:8px !important;
width:auto !important;
max-width:min(470px, calc(100vw - 16px)) !important;
margin:0 auto;
max-height:48vh;
box-shadow:0 -4px 20px rgba(0,0,0,0.22);
border-radius:10px;
z-index:270;
}

body.mobile #sc-grid {
max-height:calc(48vh - 84px) !important;
overflow-y:auto;
}

body.mobile #emj-grid {
max-height:calc(48vh - 120px) !important;
overflow-y:auto;
}

body.mobile.sc-open #mobile-ai-cluster, body.mobile.emj-open #mobile-ai-cluster, body.mobile.sc-open #mobile-ai-fab, body.mobile.emj-open #mobile-ai-fab {
display:none !important;
}

body.mobile.ai-split .ai-auto-bar {
display:none;
}

body.mobile.mobile-ai-open .ai-auto-bar {
display:flex;
position:static;
width:auto;
height:32px;
padding-right:36px;
}

body.mobile.ai-split .ai-ribbon {
display:none;
}

#mobile-footer-ai {
display:none;
}

body.mobile:not(.ai-split) #mobile-footer-ai {
display:none !important;
}

body:not(.mobile) #mobile-footer-ai {
display:none !important;
}

body.mobile.ai-split #mobile-footer-ai {
display:flex !important;
position:fixed;
right:0;
bottom:0;
height:26px;
align-items:center;
background:#1b4076;
color:#ffffff;
font-size:11px;
line-height:26px;
padding:0 8px 0 8px;
gap:7px;
z-index:65;
box-sizing:border-box;
white-space:nowrap;
border-left:1px solid rgba(255,255,255,0.2);
}

body.mobile #mobile-footer-ai .mobile-feedback-btn {
font:inherit;
font-size:11px;
font-weight:600;
color:#ffffff;
background:rgba(255,255,255,0.12);
border:1px solid rgba(255,255,255,0.35);
border-radius:4px;
padding:2px 7px;
cursor:pointer;
line-height:1;
}

body.mobile #mobile-footer-ai .mobile-feedback-btn:active {
background:rgba(255,255,255,0.25);
}

body.mobile.ai-split .status-bar {
padding-right:268px;
}

body.mobile #mobile-footer-ai .mobile-ai-balance {
display:inline-flex;
align-items:center;
font-size:11px;
line-height:1;
color:#e2e8f0;
cursor:pointer;
padding:2px 4px;
border-radius:3px;
user-select:none;
}

body.mobile #mobile-footer-ai .mobile-ai-balance:active {
background:rgba(255,255,255,0.2);
}

body.mobile #mobile-footer-ai .mob-bal-lbl {
color:#94a3b8;
margin-right:3px;
font-size:10px;
}

body.mobile #mobile-footer-ai .mob-bal-text {
font-weight:600;
color:#ffffff;
font-size:11px;
}

body.mobile #mobile-footer-ai .mobile-auto-wrap {
display:inline-flex;
align-items:center;
cursor:pointer;
user-select:none;
font-size:11px;
font-weight:600;
color:#ffffff;
gap:4px;
margin:0;
padding:1px 0;
}

body.mobile #mobile-footer-ai .mobile-auto-label {
font-size:11px;
font-weight:600;
color:#ffffff;
line-height:1;
}

body.mobile #mobile-footer-ai .mobile-switch {
position:relative;
display:inline-block;
width:26px;
height:14px;
flex-shrink:0;
}

body.mobile #mobile-footer-ai .mobile-switch input {
opacity:0;
width:0;
height:0;
margin:0;
}

body.mobile #mobile-footer-ai .mobile-switch .switch-slider {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:rgba(255,255,255,0.35);
border-radius:14px;
transition:background 0.15s;
}

body.mobile #mobile-footer-ai .mobile-switch .switch-slider::before {
content:"";
position:absolute;
height:10px;
width:10px;
left:2px;
top:2px;
background:#ffffff;
border-radius:50%;
transition:transform 0.15s;
}

body.mobile #mobile-footer-ai .mobile-switch input:checked + .switch-slider {
background:#34c759;
}

body.mobile #mobile-footer-ai .mobile-switch input:checked + .switch-slider::before {
transform:translateX(12px);
}

body.mobile.review-live .review-rail {
left:8px;
right:8px;
bottom:78px;
border-radius:8px;
}

body.mobile .toast {
bottom:84px;
}

body.mobile .demo-ribbon {
bottom:96px;
max-width:calc(100vw - 32px);
}

body.mobile .structure-bar .sb-group {
flex:0 0 auto;
}

body.mobile .structure-bar .sb-btn, body.mobile .structure-bar .sb-select {
flex:0 0 auto;
}

body.mobile.mobile-menu-open .menubar {
box-shadow:6px 0 24px rgba(0,0,0,0.28);
}

body.mobile.mobile-menu-open .menubar::before {
display:none;
}

body.mobile.mobile-ai-open .ai-panel {
border-radius:12px 12px 0 0;
box-shadow:0 -4px 16px rgba(0,0,0,0.12);
}

body.mobile.mobile-ai-open .ai-panel::before {
content:"";
display:block;
position:sticky;
top:8px;
width:40px;
height:4px;
border-radius:2px;
background:#c9cfd8;
margin:8px auto 4px auto;
}

body.mobile.mobile-menu-open #mobile-menu-header {
display:flex;
flex-direction:column;
position:sticky;
top:0;
left:0;
right:0;
background:#1b4076;
padding:8px 12px;
border-bottom:1px solid rgba(255,255,255,0.18);
z-index:20;
flex:0 0 auto;
}

body.mobile.mobile-menu-open .mobile-menu-handle {
display:none;
}

body.mobile.mobile-menu-open .mobile-menu-bar {
display:flex;
align-items:center;
justify-content:space-between;
width:100%;
min-height:36px;
}

body.mobile.mobile-menu-open #mobile-menu-back {
display:flex;
align-items:center;
justify-content:center;
width:32px;
height:32px;
border-radius:50%;
background:rgba(255,255,255,0.12);
border:none;
color:#ffffff;
font-size:16px;
cursor:pointer;
flex:0 0 auto;
visibility:hidden;
-webkit-tap-highlight-color:transparent;
}

body.mobile.mobile-menu-open #mobile-menu-back:active {
background:rgba(255,255,255,0.25);
}

body.mobile.mobile-menu-open #mobile-menu-title {
flex:1 1 auto;
text-align:center;
color:#ffffff;
font-size:15px;
font-weight:600;
padding:0 8px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

#mobile-menu-close, #mobile-ai-close {
display:none;
}

body.mobile.mobile-menu-open #mobile-menu-close {
display:flex;
position:static;
align-items:center;
justify-content:center;
width:32px;
height:32px;
border-radius:50%;
background:rgba(255,255,255,0.12);
border:none;
color:#ff9090;
font-size:14px;
cursor:pointer;
flex:0 0 auto;
z-index:320;
-webkit-tap-highlight-color:transparent;
}

body.mobile.mobile-menu-open #mobile-menu-close:active, body.mobile.mobile-menu-open #mobile-menu-close:hover {
background:rgba(255,255,255,0.25);
color:#ff5b5b;
}

body.mobile.mobile-ai-open #mobile-ai-close {
display:flex;
position:absolute;
top:4px;
right:6px;
width:24px;
height:24px;
border-radius:50%;
background:rgba(0,0,0,0.06);
border:none;
color:#ff9090;
align-items:center;
justify-content:center;
font-size:13px;
line-height:1;
cursor:pointer;
z-index:320;
-webkit-tap-highlight-color:transparent;
}

body.mobile.mobile-ai-open #mobile-ai-close:active, body.mobile.mobile-ai-open #mobile-ai-close:hover {
background:rgba(0,0,0,0.15);
color:#ff5b5b;
}

body.ai-resizing .ai-gutter {
background:rgba(26,115,232,0.25);
}

html.editor-scroll-moved {
scrollbar-width:none;
}

html.editor-scroll-moved::-webkit-scrollbar {
display:none;
width:0px;
}

body.ai-split {
width:var(--editor-w, 100vw);
max-width:var(--editor-w, 100vw);
}

.ai-panel-footer {
position:absolute;
left:12px;
right:12px;
bottom:12px;
display:flex;
align-items:center;
justify-content:space-between;
z-index:10;
pointer-events:none;
}

.ai-panel-footer > * {
pointer-events:auto;
}

.ai-actions-add {
display:none;
align-items:center;
justify-content:center;
gap:4px;
height:31px;
padding:0 14px;
font-size:13px;
font-weight:600;
color:#ffffff;
background:#1b4076;
border:none;
border-radius:6px;
cursor:pointer;
white-space:nowrap;
box-sizing:border-box;
transition:background 0.15s ease;
}

body.ai-split .ai-actions-add {
display:inline-flex;
}

.ai-actions-add:hover {
background:#153460;
}

.ai-actions-add:active {
background:#102748;
}

.ai-implement {
position:static;
margin-left:auto;
height:31px;
padding:0 20px;
font-size:13px;
font-weight:600;
color:#ffffff;
background:#234f90;
border:none;
border-radius:6px;
cursor:pointer;
white-space:nowrap;
box-sizing:border-box;
display:inline-flex;
align-items:center;
justify-content:center;
transition:background 0.15s ease;
}

.ai-implement:disabled {
background:#bdc3cc;
color:#f1f3f6;
cursor:default;
}

.ai-implement:active {
background:#1b4076;
}

.ai-implement:not(:disabled):hover {
background:#2b5da8;
}

.ai-chat-status {
position:absolute;
left:12px;
right:12px;
bottom:56px;
max-height:64px;
overflow-y:auto;
font-size:12px;
line-height:1.4;
color:#5f6368;
}

body.ai-split .structure-bar {
left:calc(var(--editor-w, 100vw) / 2);
width:calc(var(--editor-w, 100vw) - 24px);
max-width:calc(var(--editor-w, 100vw) - 24px);
}

body.ai-docked .structure-bar {
width:var(--editor-w, 100vw);
max-width:var(--editor-w, 100vw);
gap:3px;
border-radius:0;
border-left:none;
border-right:none;
overflow-x:visible;
}

body.ai-docked .sb-group {
flex-wrap:wrap;
}

body.ai-docked .structure-bar .sb-group, body.ai-split:not(.ai-docked) .structure-bar .sb-group {
min-width:auto;
}

body.ai-docked .structure-bar button, body.ai-docked .structure-bar select, body.ai-split:not(.ai-docked) .structure-bar button, body.ai-split:not(.ai-docked) .structure-bar select {
flex-shrink:0;
}

body.ai-split:not(.ai-docked) .structure-bar .sb-group {
flex-wrap:wrap;
}

body.ai-docked .sb-doc-tools {
max-width:120px;
flex-shrink:0;
}

body.ai-docked .structure-bar .sb-sep {
width:6px;
height:auto;
align-self:stretch;
}

body.ai-split .table-bar {
left:calc(var(--editor-w, 100vw) / 2);
}

body.ai-split .chart-bar {
left:calc(var(--editor-w, 100vw) / 2);
}

body.ai-split .equation-bar {
left:calc(var(--editor-w, 100vw) / 2);
}

body.ai-split .ruler-container {
left:calc(var(--editor-w, 100vw) / 2);
}

body.ai-split .find-bar {
right:calc(12px + var(--ai-w, 0px));
}

.ai-sources {
border-bottom:1px solid #dfe3ea;
}

.ai-sources-head {
display:flex;
align-items:center;
padding:10px 12px;
cursor:pointer;
user-select:none;
gap:8px;
}

.ai-sources-head:hover {
background:#eef2f8;
}

.ai-sources-title {
flex:1;
font-weight:600;
font-size:13px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.ai-source-add {
width:22px;
height:22px;
border:none;
background:transparent;
color:#16325e;
font-size:18px;
line-height:1;
cursor:pointer;
border-radius:4px;
flex:0 0 auto;
}

.ai-source-add:hover {
background:#e0e8f5;
}

.ai-source-chev {
font-size:12px;
color:#777;
flex:0 0 auto;
}

.ai-source-select {
display:inline-flex;
align-items:center;
justify-content:center;
width:15px;
height:15px;
border:1.5px solid #8a94a6;
border-radius:3px;
background:#fff;
padding:0;
cursor:pointer;
flex:0 0 auto;
position:relative;
}

.ai-source-select:hover {
border-color:#1b4076;
background:#eef4fd;
}

.ai-source-select.all {
background:#1b4076;
border-color:#1b4076;
}

.ai-source-select.all::after {
content:2713;
color:#fff;
font-size:11px;
line-height:1;
}

.ai-source-select.some {
background:#e9f0fb;
border-color:#1b4076;
}

.ai-source-select.some::after {
content:2013;
color:#1b4076;
font-size:12px;
line-height:1;
}

.ai-source-delete {
background:none;
border:none;
color:#d93025;
font-size:15px;
line-height:1;
cursor:pointer;
padding:0 2px;
border-radius:4px;
flex:0 0 auto;
}

.ai-source-delete:hover {
color:#a50e0e;
background:#fbe9e7;
}

.ai-source-sel {
width:15px;
height:15px;
accent-color:#1b4076;
cursor:pointer;
flex:0 0 auto;
}

.ai-sources-body {
max-height:calc(50vh - 16px);
overflow-y:auto;
border-top:1px solid #eceff3;
}

.ai-sources-list {
padding:2px 0;
}

.ai-source-row {
display:flex;
align-items:center;
padding:6px 12px;
gap:8px;
}

.ai-source-row:hover {
background:#eef2f8;
}

.ai-source-name {
flex:1;
font-size:13px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.ai-source-cite-label {
font-size:11px;
color:#777;
flex:0 0 auto;
}

.ai-source-row .switch-slider {
background:#d0d6dd;
}

.ai-source-row .switch input:checked + .switch-slider {
background:#34c759;
}

.ai-actions {
border-bottom:none;
}

.ai-actions-head {
display:flex;
align-items:center;
padding:10px 12px;
cursor:pointer;
user-select:none;
gap:8px;
}

.ai-actions-head:hover {
background:#eef2f8;
}

.ai-actions-tabs {
display:flex;
flex:1;
gap:14px;
min-width:0;
}

.ai-tab {
font-size:13px;
font-weight:500;
color:#80868b;
background:transparent;
border:none;
border-bottom:2px solid transparent;
border-radius:0;
padding:4px 2px 2px;
cursor:pointer;
text-align:left;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
flex:0 0 auto;
min-width:0;
}

.ai-tab:hover {
color:#3c4043;
}

.ai-tab.active {
color:#16325e;
font-weight:600;
border-bottom-color:#16325e;
}

.ai-actions-title {
flex:0 0 auto;
min-width:0;
}

.ai-action-add {
width:22px;
height:22px;
border:none;
background:transparent;
color:#16325e;
font-size:18px;
line-height:1;
cursor:pointer;
border-radius:4px;
flex:0 0 auto;
}

.ai-action-add:hover {
background:#e0e8f5;
}

.ai-action-chev {
font-size:12px;
color:#777;
flex:0 0 auto;
}

.ai-action-select {
display:inline-flex;
align-items:center;
justify-content:center;
width:15px;
height:15px;
border:1.5px solid #8a94a6;
border-radius:3px;
background:#fff;
padding:0;
cursor:pointer;
flex:0 0 auto;
position:relative;
}

.ai-action-select:hover {
border-color:#1b4076;
background:#eef4fd;
}

.ai-action-select.all {
background:#1b4076;
border-color:#1b4076;
}

.ai-action-select.all::after {
content:2713;
color:#fff;
font-size:11px;
line-height:1;
}

.ai-action-select.some {
background:#e9f0fb;
border-color:#1b4076;
}

.ai-action-select.some::after {
content:2013;
color:#1b4076;
font-size:12px;
line-height:1;
}

.ai-action-delete {
background:none;
border:none;
color:#d93025;
font-size:15px;
line-height:1;
cursor:pointer;
padding:0 2px;
border-radius:4px;
flex:0 0 auto;
}

.ai-action-delete:hover {
color:#a50e0e;
background:#fbe9e7;
}

.ai-act-sel {
width:15px;
height:15px;
accent-color:#1b4076;
cursor:pointer;
flex:0 0 auto;
}

.ai-actions-body {
max-height:calc(50vh - 16px);
overflow-y:auto;
border-top:1px solid #eceff3;
}

.ai-actions-list {
padding:2px 0;
}

.ai-action-row {
display:flex;
align-items:center;
padding:6px 12px;
gap:8px;
}

.ai-action-row:hover {
background:#eef2f8;
}

.ai-action-row.active {
background:#e8f0fe;
}

.ai-actions-done {
max-height:calc(50vh - 16px);
overflow-y:auto;
border-top:1px solid #eceff3;
}

.ai-actions-done-title {
flex:0 0 auto;
min-width:0;
}

.ai-action-row.done {
color:#5f6368;
}

.ai-action-run-dot {
display:inline-block;
width:8px;
height:8px;
border-radius:50%;
background:#1b4076;
margin-right:8px;
flex:0 0 auto;
}

.ai-actions-active-title {
flex:0 0 auto;
min-width:0;
}

.ai-actions-empty {
min-height:calc(100vh - 180px);
padding:22px 12px;
color:#5f6368;
font-size:12px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:12px;
text-align:center;
}

#ai-actions-body.is-empty {
max-height:none;
}

#ai-actions-done.is-empty {
max-height:none;
}

#ai-actions-active.is-empty {
max-height:none;
}

.ai-actions-empty-text {
line-height:1.4;
}

.ai-spell {
border-bottom:1px solid #dfe3ea;
}

.ai-actions-empty-hint {
display:block;
font-size:11px;
color:#80868b;
margin-top:4px;
}

.ai-spell-head {
display:flex;
align-items:center;
padding:10px 12px;
gap:8px;
}

.ai-spell-title {
flex:1;
min-width:0;
font-size:13px;
font-weight:600;
color:#1b4076;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.ai-spell-close {
border:none;
background:transparent;
font-size:16px;
color:#ff9090;
cursor:pointer;
padding:2px 6px;
}

.ai-spell-close:hover {
background:#eef2f8;
color:#ff5b5b;
}

.ai-spell-body {
padding:4px 12px 8px;
display:flex;
flex-direction:column;
gap:6px;
}

.ai-spell-count {
font-size:12px;
color:#5f6368;
}

.ai-spell-row {
display:flex;
align-items:baseline;
gap:8px;
font-size:13px;
}

.ai-spell-label {
flex:0 0 auto;
color:#5f6368;
font-size:12px;
}

.ai-spell-word {
color:#c5221f;
text-decoration:line-through;
word-break:break-word;
}

.ai-spell-word.applied {
color:#137333;
text-decoration:none;
}

.ai-spell-suggestion {
color:#137333;
font-weight:600;
word-break:break-word;
}

.ai-spell-note {
font-size:12px;
color:#5f6368;
font-style:italic;
}

.ai-spell-buttons {
display:flex;
gap:8px;
padding:0 12px 12px;
}

.ai-spell-btn {
flex:1;
padding:6px 0;
font-size:13px;
border:1px solid #c9c9c9;
border-radius:6px;
background:#ffffff;
cursor:pointer;
}

.ai-spell-btn:hover:not(:disabled) {
background:#eef2f8;
}

.ai-spell-btn:disabled {
color:#9aa0a6;
cursor:default;
}

.ai-spell-apply:not(:disabled) {
background:#1b4076;
border-color:#1b4076;
color:#ffffff;
}

.ai-spell-apply:hover:not(:disabled) {
background:#153460;
}

.ai-spell-apply:active:not(:disabled) {
background:#102748;
}

.ai-actions-list:focus {
outline:1px solid #1b4076;
outline-offset:-1px;
}

.ai-act-empty-add {
width:46px;
height:46px;
background:#16325e;
color:#ffffff;
border:none;
border-radius:50%;
font-size:28px;
line-height:1;
padding:0;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
}

.ai-act-empty-add:hover {
background:#16325e;
filter:brightness(0.9);
}

.ai-act-empty-add:active {
background:#16325e;
filter:brightness(0.78);
}

.ai-action-name {
flex:1;
font-size:13px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.ai-action-snippet {
flex:1;
font-size:12px;
color:#555;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.ai-act-edit {
border:1px solid #dadce0;
border-radius:4px;
background:#fff;
color:#1b4076;
font-size:12px;
line-height:1;
padding:3px 8px;
cursor:pointer;
flex:0 0 auto;
}

.ai-act-edit:hover {
background:#e8f0fe;
}

.ai-act-edit:active {
background:#d2e3fc;
}

.ai-act-del {
border:1px solid #dadce0;
border-radius:4px;
background:#fff;
color:#ff9090;
font-size:12px;
line-height:1;
padding:3px 8px;
cursor:pointer;
flex:0 0 auto;
}

.ai-act-del:hover {
background:#fbe9e7;
color:#ff5b5b;
}

.ai-act-del:active {
background:#f5c6c0;
}

.ai-act-replay {
border:1px solid #dadce0;
border-radius:4px;
background:#fff;
color:#1b4076;
font-size:12px;
line-height:1;
padding:3px 8px;
cursor:pointer;
flex:0 0 auto;
}

.ai-act-replay:hover {
background:#e8f0fe;
}

.ai-act-review-caret {
border:none;
background:transparent;
color:#5f6368;
font-size:12px;
cursor:pointer;
padding:0 4px 0 0;
flex:0 0 auto;
}

.ai-review-points {
margin:0 0 4px 22px;
border-left:2px solid #e8f0fe;
padding-left:8px;
}

.ai-review-point {
display:flex;
gap:8px;
padding:4px 6px;
border-radius:4px;
cursor:pointer;
}

.ai-review-point:hover {
background:#f4f8fd;
}

.ai-review-note {
flex:2;
font-size:12px;
color:#333;
}

.col-thumbs {
display:flex;
gap:10px;
padding:10px 14px;
}

.col-thumb {
width:52px;
height:40px;
border:1px solid #ccc;
border-radius:3px;
display:flex;
gap:3px;
padding:3px;
cursor:pointer;
background:#fff;
box-sizing:border-box;
}

.col-thumb:hover {
border-color:#1b4076;
background:#e8f0fe;
}

.col-thumb .band {
flex:1;
background:#d8d8d8;
border-radius:1px;
}

.lst-gallery {
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:8px;
padding:10px 14px;
min-width:240px;
}

.lst-thumb {
border:1px solid #ddd;
border-radius:3px;
padding:5px 9px;
cursor:pointer;
display:flex;
flex-direction:column;
gap:1px;
font-size:12px;
line-height:1.25;
background:#fff;
}

.lst-thumb:hover {
border-color:#1b4076;
background:#e8f0fe;
}

.lst-thumb span {
white-space:nowrap;
font-variant-numeric:tabular-nums;
}

.checklist-picker {
position:fixed;
z-index:600;
display:none;
flex-direction:row;
gap:8px;
padding:8px;
background:#fff;
border:1px solid #DADCE0;
border-radius:8px;
box-shadow:0 4px 12px rgba(60,64,67,0.15);
}

.checklist-gallery {
display:flex;
gap:8px;
padding:10px 14px;
min-width:240px;
grid-template-columns:unset;
}

.check-tile {
width:110px;
height:70px;
border:1px solid #DADCE0;
border-radius:3px;
background:#fff;
cursor:pointer;
display:flex;
flex-direction:column;
justify-content:center;
gap:10px;
padding:10px;
}

.check-tile:hover {
border-color:#5F6368;
}

.check-tile.selected {
border:1.5px solid #5F6368;
}

.check-tile-row {
display:flex;
align-items:center;
gap:8px;
}

.check-box {
width:15px;
height:15px;
flex:0 0 15px;
border:1.4px solid #5F6368;
border-radius:2px;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:11px;
line-height:1;
color:#202124;
}

.check-box.checked {
background:#fff;
font-size:13px;
font-weight:700;
color:#202124;
line-height:1;
}

.check-bar {
height:8px;
flex:1;
background:#E8EAED;
border-radius:2px;
}

.check-bar.strike {
background:#9AA0A6;
position:relative;
}

.check-bar.strike::after {
content:"";
position:absolute;
left:0;
right:0;
top:50%;
height:1px;
background:#5F6368;
}

.tb-checklist-wrap {
display:inline-flex;
align-items:center;
}

.tb-checklist-btn {
display:inline-flex;
align-items:center;
gap:2px;
}

.tb-checklist-arrow {
font-size:12px;
margin-left:2px;
line-height:1;
}

.tb-checklist-btn.open {
background:#D3E3FD;
border-color:#D3E3FD;
}

.tb-split-wrap {
display:inline-flex;
align-items:center;
border:1px solid #c9c9c9;
border-radius:4px;
background:#f6f6f6;
overflow:hidden;
flex:0 0 auto;
}

.tb-split-wrap:hover {
border-color:#1b4076;
}

.tb-split-wrap .tb-split-main {
border:none;
border-radius:0;
background:transparent;
width:26px;
height:26px;
padding:0;
flex:0 0 auto;
}

.tb-split-wrap .tb-split-main:hover {
background:#e8f0fe;
color:#1b4076;
}

.tb-split-wrap .tb-split-main.active {
background:#e8f0fe;
color:#1b4076;
}

.tb-split-wrap .tb-split-drop {
border:none;
border-left:1px solid transparent;
border-radius:0;
background:transparent;
width:14px;
height:26px;
padding:0;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
flex:0 0 auto;
color:#444;
}

.tb-split-wrap:hover .tb-split-drop {
border-left-color:#c9c9c9;
}

.tb-split-wrap .tb-split-drop:hover {
background:#e8f0fe;
color:#1b4076;
}

.tb-split-wrap + .tb-split-wrap {
margin-left:-2px;
}

.shape-picker {
position:fixed;
z-index:600;
display:none;
flex-direction:row;
flex-wrap:wrap;
gap:8px;
padding:8px;
width:200px;
background:#fff;
border:1px solid #DADCE0;
border-radius:8px;
box-shadow:0 4px 12px rgba(60,64,67,0.15);
}

.shape-tile {
width:56px;
height:56px;
border:1px solid #DADCE0;
border-radius:4px;
background:#fff;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
}

.shape-tile:hover {
border-color:#1b4076;
background:#e8f0fe;
}

.shape-preview {
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:100%;
}

.shape-rect {
width:28px;
height:18px;
border:1.8px solid #5F6368;
background:#e8f0fe;
border-radius:2px;
}

.shape-oval {
width:28px;
height:18px;
border:1.8px solid #5F6368;
background:#e8f0fe;
border-radius:50%;
}

.shape-tri {
width:0;
height:0;
border-left:14px solid transparent;
border-right:14px solid transparent;
border-bottom:22px solid #5F6368;
position:relative;
}

.shape-tri::after {
content:"";
position:absolute;
left:-11px;
top:3px;
border-left:11px solid transparent;
border-right:11px solid transparent;
border-bottom:17px solid #e8f0fe;
}

.shape-diamond {
width:18px;
height:18px;
background:#e8f0fe;
border:1.8px solid #5F6368;
transform:rotate(45deg);
border-radius:1px;
}

.shape-line {
width:28px;
height:2px;
background:#5F6368;
border-radius:1px;
}

.shape-arrow {
width:28px;
height:2px;
background:#5F6368;
position:relative;
border-radius:1px;
}

.shape-arrow::after {
content:"";
position:absolute;
right:-3px;
top:-4px;
border-left:8px solid #5F6368;
border-top:5px solid transparent;
border-bottom:5px solid transparent;
}

.chart-picker {
position:fixed;
z-index:600;
display:none;
flex-direction:row;
flex-wrap:wrap;
gap:8px;
padding:8px;
width:180px;
background:#fff;
border:1px solid #DADCE0;
border-radius:8px;
box-shadow:0 4px 12px rgba(60,64,67,0.15);
}

.chart-tile {
width:76px;
height:64px;
flex-direction:column;
gap:4px;
font-size:11px;
color:#5F6368;
}

.chart-tile::after {
content:attr(data-kind);
font-size:10px;
text-transform:capitalize;
color:#5F6368;
}

.chart-tile-preview {
display:flex;
align-items:flex-end;
justify-content:center;
gap:3px;
width:56px;
height:34px;
padding:4px;
border:1px solid #DADCE0;
border-radius:4px;
background:#fafafa;
}

.cp-bar {
width:10px;
background:#5B9BD5;
border-radius:2px 2px 0 0;
display:inline-block;
}

.cp-bar:nth-child(2) {
background:#ED7D31;
}

.cp-bar:nth-child(3) {
background:#70AD47;
}

.cp-bar-hist {
width:7px;
border-radius:1px 1px 0 0;
margin:0 -1px;
}

.chart-preview-line {
background:#fafafa;
position:relative;
}

.chart-preview-line::before {
content:"";
position:absolute;
left:6px;
right:6px;
top:18px;
height:2px;
background:linear-gradient(90deg, #5B9BD5 0%, #ED7D31 50%, #70AD47 100%);
border-radius:1px;
}

.chart-preview-line::after {
content:"";
position:absolute;
left:6px;
right:6px;
bottom:6px;
height:1px;
background:#DADCE0;
}

.chart-preview-pie {
width:28px;
height:28px;
border-radius:50%;
background:conic-gradient(#5B9BD5 0 35%, #ED7D31 35% 70%, #70AD47 70% 100%);
border:1.5px solid #DADCE0;
}

.chart-preview-hist {
align-items:flex-end;
}

.chart-preview-smooth-line {
background:#fafafa;
position:relative;
overflow:hidden;
}

.chart-preview-smooth-line::before {
content:"";
position:absolute;
left:6px;
right:6px;
top:10px;
height:14px;
border:2px solid transparent;
border-top-color:#5B9BD5;
border-left-color:#ED7D31;
border-right-color:#70AD47;
border-radius:50%;
border-bottom:none;
opacity:0.95;
}

.chart-preview-smooth-line::after {
content:"";
position:absolute;
left:6px;
right:6px;
bottom:6px;
height:1px;
background:#DADCE0;
}

.chart-type-modal {
width:92vw;
max-width:560px;
min-width:320px;
max-height:78vh;
overflow-y:auto;
padding:12px 16px;
gap:8px;
}

.chart-type-grid {
display:grid;
grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
gap:8px;
padding:2px;
}

.chart-type-card {
display:flex;
flex-direction:column;
align-items:center;
gap:6px;
padding:10px 8px;
border:1px solid #DADCE0;
border-radius:6px;
background:#fff;
cursor:pointer;
transition:border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

.chart-type-card:hover {
border-color:#8AB4F8;
background:#F8FBFF;
box-shadow:0 1px 6px rgba(66,133,244,0.15);
}

.chart-type-card .chart-tile-preview {
width:48px;
height:28px;
}

.chart-type-card-title {
font-size:12px;
font-weight:600;
color:#202124;
text-align:center;
}

.chart-type-card-desc {
font-size:10px;
color:#5F6368;
text-align:center;
line-height:1.2;
}

#chart-type-search:focus {
outline:none;
border-color:#8AB4F8;
box-shadow:0 0 0 3px rgba(66,133,244,0.12);
}

.chart-dialog {
width:92vw;
max-width:860px;
min-width:640px;
max-height:82vh;
overflow-y:auto;
overflow-x:hidden;
padding:14px 18px;
gap:8px;
}

#chart-axes-choice {
margin:6px 0;
padding:8px 10px !important;
}

#chart-axes-config {
gap:6px;
margin:6px 0 !important;
}

#chart-axis-x-card, #chart-axis-y-card, #chart-axis-y2-card {
box-shadow:0 1px 3px rgba(0,0,0,0.06);
}

.chart-dialog .link-field {
margin-bottom:6px;
}

.chart-dialog-desc {
font-size:11px;
color:#5F6368;
margin:0 0 6px;
line-height:1.3;
}

.chart-series2 {
border-top:1px solid #eee;
margin-top:8px;
padding-top:8px;
}

#chart-hist-wrap {
margin-top:8px;
}

.chart-dynamic {
background:#fafafa;
overflow-x:auto;
overflow-y:visible;
max-width:100%;
}

.chart-dyn-row {
display:flex;
gap:8px;
align-items:center;
margin:6px 0;
flex-wrap:nowrap;
}

.chart-dyn-row input {
flex:1 1 0;
min-width:90px;
padding:6px 8px;
border:1px solid #dadce0;
border-radius:4px;
font-size:13px;
}

.chart-dyn-label {
font-size:12px;
color:#444;
min-width:70px;
}

.chart-dyn-head {
font-size:11px;
font-weight:700;
color:#555;
margin:4px 0 2px;
}

.mb-submenu {
position:relative;
}

.mb-sub-arrow {
font-size:10px;
color:#666;
margin-left:14px;
}

.mb-item[data-cmd="special-chars"]::after, .mb-item[data-cmd="emoji-open"]::after {
content:"▶";
font-size:10px;
color:#666;
margin-left:auto;
padding-left:14px;
flex:0 0 auto;
}

.mb-sub-dropdown {
display:none;
position:absolute;
top:-4px;
left:100%;
min-width:190px;
padding:4px 0;
background:#ffffff;
color:#222;
border:1px solid #d1d1d1;
border-radius:6px;
box-shadow:0 8px 24px rgba(0,0,0,0.22);
}

.mb-item.mb-submenu.open > .mb-sub-dropdown {
display:block;
}

.mb-item.mb-submenu.open {
background:#e8f0fe;
}

.mb-open-recent-empty {
color:#999;
cursor:default;
}

.mb-open-recent-empty:hover {
background:transparent;
}

.tb-pop {
display:none;
position:fixed;
z-index:500;
min-width:200px;
padding:4px 0;
background:#ffffff;
color:#222;
border:1px solid #d1d1d1;
border-radius:6px;
box-shadow:0 8px 24px rgba(0,0,0,0.22);
}

.tb-pop-panel {
display:none;
}

.tbl-grid {
display:grid;
grid-template-columns:repeat(10, 15px);
gap:2px;
padding:8px;
}

.tbl-cell {
width:15px;
height:15px;
border:1px solid #c4c4c4;
background:#ffffff;
}

.tbl-cell.on {
background:#cfe3fc;
border-color:#4a90d9;
}

.tbl-grid-label {
font-size:12px;
color:#555;
padding:0 8px 6px;
}

.tbl-grid-choose {
padding:6px 8px;
font-size:13px;
cursor:pointer;
border-top:1px solid #eeeeee;
color:#1b4076;
}

.tbl-grid-choose:hover {
background:#e8f0fe;
}

.pn-thumbs {
display:flex;
gap:6px;
padding:8px;
}

.pn-thumb {
width:34px;
height:44px;
border:1px solid #c4c4c4;
border-radius:2px;
background:#ffffff;
position:relative;
cursor:pointer;
}

.pn-thumb:hover {
border-color:#4a90d9;
background:#f5f9ff;
}

.pn-num {
position:absolute;
font-size:9px;
color:#333;
}

.pn-tl {
top:3px;
left:4px;
}

.pn-tc {
top:3px;
left:50%;
transform:translateX(-50%);
}

.pn-tr {
top:3px;
right:4px;
}

.pn-bl {
bottom:3px;
left:4px;
}

.pn-bc {
bottom:3px;
left:50%;
transform:translateX(-50%);
}

.pn-br {
bottom:3px;
right:4px;
}

.pn-count {
display:block;
padding:6px 8px;
font-size:13px;
cursor:pointer;
border-top:1px solid #eeeeee;
}

.pn-count input {
margin-right:6px;
}

.pn-manage {
padding:6px 8px;
font-size:13px;
cursor:pointer;
border-top:1px solid #eeeeee;
}

.pn-manage:hover {
background:#e8f0fe;
}

.pn-fmt-row {
display:none;
padding:6px 8px;
gap:6px;
border-top:1px solid #eeeeee;
}

.pn-fmt-row.show {
display:flex;
}

.pn-fmt {
padding:3px 8px;
border:1px solid #c8c8c8;
border-radius:3px;
font-size:12px;
cursor:pointer;
}

.pn-fmt:hover {
background:#e8f0fe;
}

.pn-remove {
padding:6px 8px;
font-size:13px;
cursor:pointer;
border-top:1px solid #eeeeee;
color:#d93025;
}

.pn-remove:hover {
background:#fdecea;
}

.link-overlay {
position:fixed;
top:0;
left:0;
right:0;
bottom:0;
background:rgba(0,0,0,0.3);
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
z-index:700;
}

.link-dialog {
position:fixed;
left:50%;
top:38%;
transform:translate(-50%, -50%);
width:420px;
max-width:92vw;
box-sizing:border-box;
background:#ffffff;
border-radius:8px;
box-shadow:0 12px 40px rgba(0,0,0,0.3);
z-index:701;
padding:18px;
}

body:not(.mobile) #deposit-dialog {
top:47%;
}

body.mobile .link-dialog {
max-height:calc(100dvh - 24px);
overflow-y:auto;
scrollbar-width:thin;
scrollbar-color:#b6c6de #eef3fa;
}

body.mobile .link-dialog::-webkit-scrollbar {
width:10px;
}

body.mobile .link-dialog::-webkit-scrollbar-track {
background:#eef3fa;
}

body.mobile .link-dialog::-webkit-scrollbar-thumb {
background:#b6c6de;
border:2px solid #eef3fa;
border-radius:5px;
}

body.mobile .link-dialog .link-buttons {
position:sticky;
bottom:-18px;
z-index:4;
background:#fff;
border-top:1px solid #e2e8f0;
margin:10px -18px -18px;
padding:10px 18px 14px;
}

body.mobile .company-body .link-buttons {
bottom:0;
margin:10px 0 0;
padding:8px 0 2px;
}

.link-title {
font-size:16px;
font-weight:600;
margin-bottom:12px;
}

.prompt-message {
font-size:13px;
color:#333;
margin-bottom:12px;
white-space:pre-wrap;
max-height:62vh;
overflow-y:auto;
scrollbar-width:thin;
scrollbar-color:#b6c6de #eef3fa;
}

body.modal-open {
overflow:hidden;
}

body.modal-open #editor-canvas {
filter:blur(2px);
}

body.modal-open.auth-guest #editor-canvas {
filter:none;
}

.toast {
position:fixed;
right:18px;
bottom:44px;
z-index:3000;
max-width:380px;
background:#14305e;
color:#ffffff;
border-radius:8px;
box-shadow:0 8px 24px rgba(0,0,0,0.35);
padding:10px 12px 10px 14px;
font-size:14px;
line-height:1.4;
display:flex;
align-items:flex-start;
gap:10px;
}

.toast-x {
flex:0 0 auto;
background:transparent;
border:none;
color:#ff9090;
font-size:16px;
line-height:1;
padding:0 2px;
cursor:pointer;
opacity:0.8;
}

.toast-x:hover {
opacity:1;
color:#ff5b5b;
}

.cookie-banner {
position:fixed;
left:18px;
bottom:44px;
z-index:3000;
max-width:380px;
background:#14305e;
color:#ffffff;
border-radius:8px;
box-shadow:0 8px 24px rgba(0,0,0,0.35);
padding:10px 12px 10px 14px;
font-size:14px;
line-height:1.4;
display:flex;
align-items:center;
gap:12px;
}

.cookie-ok {
flex:0 0 auto;
background:#ffffff;
border:none;
border-radius:6px;
color:#14305e;
font-size:14px;
font-weight:600;
padding:6px 16px;
cursor:pointer;
}

.cookie-ok:hover {
background:#e8eef7;
}

.auth-overlay {
position:fixed;
top:0;
left:0;
right:0;
bottom:0;
background:rgba(0,0,0,0.35);
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
z-index:900;
}

.auth-overlay.guest {
background:rgba(255,255,255,0.32);
backdrop-filter:none;
-webkit-backdrop-filter:none;
}

.auth-dialog {
position:fixed;
left:50%;
top:38%;
transform:translate(-50%, -50%);
width:340px;
max-width:92vw;
box-sizing:border-box;
background:#ffffff;
border-radius:8px;
box-shadow:0 12px 40px rgba(0,0,0,0.3);
z-index:901;
padding:18px;
}

body.mobile .auth-dialog {
top:50% !important;
left:50% !important;
transform:translate(-50%, -50%) !important;
max-height:calc(100vh - 24px);
overflow-y:auto;
}

.auth-title {
font-size:16px;
font-weight:600;
margin-bottom:12px;
}

.auth-error {
font-size:12px;
color:#c5221f;
min-height:16px;
margin:8px 0 4px;
}

.auth-note {
font-size:12px;
color:#5f6368;
margin:4px 0 2px;
}

.auth-row {
display:flex;
gap:8px;
margin-top:12px;
align-items:center;
}

.auth-link {
font-size:12px;
color:#1b4076;
cursor:pointer;
margin-left:auto;
}

.auth-brand {
text-align:center;
margin:4px 0 16px 0;
}

.auth-brand-logo {
height:32px;
width:auto;
display:inline-block;
}
.auth-spinner{width:12px;height:12px;flex:0 0 auto;border-radius:50%;border:2px solid rgba(27,64,118,0.25);border-top-color:#1b4076;animation:auth-spin 0.8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.auth-spinner{animation:none}}
#prompt-dialog .rv-topbar {
margin:-18px -18px 8px;
}

#deposit-dialog .rv-topbar {
margin:-18px -18px 8px;
}

.model-dialog {
width:760px;
padding-bottom:12px;
}

.model-dialog .rv-topbar {
margin:-18px -18px 8px;
}

.model-groups {
display:flex;
flex-direction:row;
gap:12px;
margin:4px 0 8px;
}

.model-groups.tier-grid {
display:grid;
gap:8px;
align-items:stretch;
margin:4px 0 8px;
}

.tier-grid-corner {
font-size:12px;
font-weight:700;
color:#5f6368;
text-transform:uppercase;
letter-spacing:0.4px;
align-self:end;
}

.tier-grid-col {
font-size:13px;
font-weight:700;
color:#16325e;
text-align:center;
align-self:end;
border-radius:6px;
padding:5px 8px;
line-height:1.25;
}

.tier-grid-col.tier-col-standard {
background:#e8f0fe;
color:#16325e;
}

.tier-grid-col.tier-col-private {
background:#e6f4ea;
color:#1e4620;
}

.tier-grid-colname {
display:block;
}

.tier-grid-colsub {
display:block;
font-size:11px;
font-weight:400;
opacity:0.8;
}

.tier-grid-rowlabel {
font-size:13px;
font-weight:600;
color:#1a365d;
align-self:center;
padding:0 2px;
line-height:1.25;
}

.tier-grid-rowname {
display:block;
}

.tier-grid-rowsub {
display:block;
font-size:11px;
font-weight:400;
opacity:0.8;
}

.tier-grid-empty {
display:flex;
align-items:center;
justify-content:center;
min-height:42px;
border:1px dashed #e0e0e0;
border-radius:6px;
color:#9aa0a6;
font-size:12px;
}

.model-group {
display:flex;
flex:1 1 0;
min-width:0;
flex-direction:column;
gap:6px;
}

.model-group-title {
font-size:12px;
font-weight:700;
color:#5f6368;
text-transform:uppercase;
letter-spacing:0.4px;
margin:0 0 6px;
}

.model-opt {
display:block;
width:100%;
text-align:left;
background:#ffffff;
border:1px solid #dadce0;
border-radius:6px;
padding:8px 10px;
cursor:pointer;
}

.model-opt:hover {
background:#f1f3f6;
}

.model-opt.priv-standard {
background:#f7faff;
border-color:#dbe6fb;
}

.model-opt.priv-private {
background:#f6fbf7;
border-color:#d8ecd9;
}

.model-opt.priv-standard:hover {
background:#eef4fe;
}

.model-opt.priv-private:hover {
background:#eaf6ec;
}

.model-opt.selected {
background:#e8f0fe;
border-color:#1b4076;
}

.model-opt.selected.priv-standard {
background:#e8f0fe;
border-color:#16325e;
}

.model-opt.selected.priv-private {
background:#e6f4ea;
border-color:#1e4620;
}

.model-opt-name {
display:block;
font-size:13px;
font-weight:600;
color:#1a1a1a;
}

.model-opt-sub {
display:block;
font-size:12px;
color:#5f6368;
}

.model-opt.soon {
background:#f8f9fa;
border-color:#e0e0e0;
cursor:not-allowed;
}

.model-opt.soon:hover {
background:#f8f9fa;
}

.model-opt.soon .model-opt-name, .model-opt.soon .model-opt-sub {
color:#9aa0a6;
}

.model-opt-badge {
display:inline-block;
font-size:10px;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.4px;
color:#ffffff;
background:#16325e;
border-radius:4px;
padding:1px 6px;
margin:6px 0 0;
}

.company-body {
max-height:66vh;
overflow-y:auto;
line-height:1.55;
margin:4px 0 8px;
padding-right:8px;
scrollbar-width:thin;
scrollbar-color:#b6c6de #eef3fa;
}

.company-body::-webkit-scrollbar {
width:10px;
}

.company-body::-webkit-scrollbar-track {
background:#eef3fa;
}

.company-body::-webkit-scrollbar-thumb {
background:#b6c6de;
border:2px solid #eef3fa;
border-radius:5px;
}

body.mobile .company-body {
overflow-x:hidden;
padding-right:4px;
}

.company-body .feedback-row {
position:sticky;
bottom:0;
z-index:4;
background:#fff;
border-top:1px solid #e2e8f0;
padding:8px 0 2px;
margin-top:6px;
}

.company-body h4 {
font-size:13px;
margin:12px 0 4px;
}

.company-body h4:first-child {
margin-top:0;
}

.company-body p {
font-size:13px;
margin:0 0 8px;
}

.company-updated {
font-size:12px;
color:#5f6368;
}

.company-body .help-tabs {
position:sticky;
top:0;
z-index:5;
background:#fff;
display:flex;
gap:4px;
border-bottom:1px solid #dfe3ea;
margin:0 0 14px;
}

body.mobile .company-body .help-tabs {
overflow-x:auto;
white-space:nowrap;
-webkit-overflow-scrolling:touch;
scrollbar-width:none;
gap:2px;
margin:0 0 10px;
}

body.mobile .company-body .help-tabs::-webkit-scrollbar {
display:none;
}

.company-body .help-tabs .auth-link {
color:#5f6368;
margin-left:0;
cursor:pointer;
padding:9px 14px;
font-size:14px;
border-bottom:2px solid transparent;
margin-bottom:-1px;
}

.company-body .help-tabs .auth-link:hover {
color:#202124;
}

.company-body .help-tabs .help-tab-active {
color:#202124;
font-weight:600;
padding:9px 14px;
font-size:14px;
border-bottom:2px solid #1b4076;
margin-bottom:-1px;
}

body.mobile .company-body .help-tabs .auth-link, body.mobile .company-body .help-tabs .help-tab-active {
padding:7px 9px;
font-size:13px;
flex:0 0 auto;
}

.pricing-table {
width:100%;
border-collapse:collapse;
font-size:12px;
margin:4px 0 8px;
}

.pricing-table th {
text-align:right;
font-weight:600;
padding:3px 6px;
border-bottom:1px solid #dadce0;
}

.pricing-table th:first-child {
text-align:left;
}

.pricing-table td {
text-align:right;
padding:3px 6px;
border-bottom:1px solid #eef0f2;
}

.pricing-table td:first-child {
text-align:left;
}

.pricing-table td.pricing-soon {
text-align:center;
color:#5f6368;
background:#f1f3f4;
}

.pricing-tiers th.price-tier-h {
text-align:left;
vertical-align:bottom;
}

.pricing-tiers th.price-group {
text-align:center;
font-weight:700;
padding:5px 8px;
border-bottom:1px solid #cbd5e1;
}

.pricing-tiers th.price-col {
text-align:center;
}

.pricing-tiers th.price-group-a, .pricing-tiers td.price-group-a {
background:#e8f0fe;
}

.pricing-tiers th.price-group-b, .pricing-tiers td.price-group-b {
background:#e6f4ea;
}

.pricing-tiers th.price-group-a {
color:#16325e;
}

.pricing-tiers th.price-group-b {
color:#1e4620;
}

.pricing-tiers td.price-tier {
font-weight:600;
color:#1a365d;
}

.pricing-tiers td.price-na {
color:#9aa0a6;
text-align:center;
}

body.mobile .pricing-table {
display:block;
width:100%;
border:none;
margin:6px 0 10px;
}

body.mobile .pricing-table tbody {
display:block;
width:100%;
}

body.mobile .pricing-table tr:first-child {
display:none;
}

body.mobile .pricing-table tr:nth-child(2) {
display:none;
}

body.mobile .pricing-table tr {
display:block;
background:#f8fafc;
border:1px solid #e2e8f0;
border-radius:8px;
margin-bottom:10px;
padding:10px 12px;
box-shadow:0 1px 3px rgba(0,0,0,0.04);
}

body.mobile .pricing-table td {
border:none;
border-bottom:1px dashed #e2e8f0;
padding:4px 0;
display:flex;
justify-content:space-between;
align-items:center;
font-size:12px;
text-align:right;
line-height:1.4;
}

body.mobile .pricing-table td:last-child {
border-bottom:none;
}

body.mobile .pricing-table td:first-child {
display:block;
font-weight:600;
font-size:14px;
color:#1a365d;
border-bottom:1px solid #cbd5e1;
padding-bottom:6px;
margin-bottom:4px;
text-align:left;
}

body.mobile .pricing-table td.pricing-soon {
display:block;
text-align:center;
color:#64748b;
background:transparent;
padding:8px 0;
font-style:italic;
border-bottom:none;
}

body.mobile .pricing-table td.pricing-soon::before {
display:none;
content:"";
}

body.mobile .pricing-table td::before {
content:attr(data-label);
font-weight:500;
color:#64748b;
text-align:left;
}

body.mobile .pricing-table td:first-child::before {
content:none;
}

.auth-consent {
display:flex;
flex-direction:column;
gap:6px;
margin:2px 0 8px;
}

.auth-consent label {
font-size:12px;
display:flex;
align-items:center;
gap:6px;
}

.auth-consent .auth-link {
margin-left:0;
}

#auth-alt-row .auth-link {
margin-left:0;
margin-right:12px;
}

.deposit-method {
display:flex;
align-items:center;
gap:8px;
margin:6px 0;
font-size:13px;
}

.deposit-method span {
flex:1;
}

.feedback-text {
width:100%;
box-sizing:border-box;
min-height:120px;
resize:vertical;
font-size:14px;
line-height:1.5;
font-family:inherit;
color:#1e293b;
border:1px solid #c8d8ec;
border-radius:8px;
padding:10px 12px;
margin:4px 0 10px;
}

.feedback-text:focus {
outline:2px solid #1b4076;
outline-offset:1px;
border-color:#1b4076;
}

body.mobile .feedback-text {
min-height:76px;
}

.feedback-email {
width:100%;
box-sizing:border-box;
font-size:14px;
font-family:inherit;
color:#1e293b;
border:1px solid #c8d8ec;
border-radius:8px;
padding:9px 12px;
margin:0 0 4px;
}

.feedback-email:focus {
outline:2px solid #1b4076;
outline-offset:1px;
border-color:#1b4076;
}

.feedback-attach {
display:block;
font-size:13px;
font-weight:bold;
color:#16325e;
margin:2px 0 6px;
}

.feedback-files {
display:block;
font-size:13px;
margin:0 0 4px;
}

.feedback-hint {
font-size:12px;
color:#64748b;
margin:4px 0 6px;
}

.feedback-file-list {
display:flex;
flex-wrap:wrap;
gap:6px;
margin:0 0 8px;
}

.feedback-chip {
display:inline-flex;
align-items:center;
gap:6px;
font-size:12px;
color:#16325e;
background:#eef3fa;
border:1px solid #c8d8ec;
border-radius:8px;
padding:3px 6px 3px 9px;
}

.feedback-chip-x {
border:none;
background:transparent;
color:#64748b;
font-size:14px;
line-height:1;
cursor:pointer;
padding:0 2px;
}

.feedback-row {
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
}

.feedback-status {
font-size:13px;
color:#64748b;
}

.settings-dialog {
width:980px;
max-width:94vw;
top:50%;
padding-bottom:12px;
}

.settings-dialog .rv-topbar {
margin:-18px -18px 8px;
}

.settings-body {
max-height:60vh;
overflow-y:auto;
font-family:sans-serif;
font-size:13px;
line-height:1.55;
color:#202124;
margin:4px 0 8px;
padding-right:8px;
}

body.mobile .settings-body {
overflow-x:hidden;
padding-right:4px;
}

.settings-body table {
border-collapse:collapse;
width:100%;
}

.settings-body th {
border:1px solid #dfe3ea;
padding:7px 9px;
text-align:left;
font-size:13px;
}

.settings-body td {
border:1px solid #dfe3ea;
padding:7px 9px;
text-align:left;
font-size:13px;
}

.settings-body h2 {
font-size:15px;
margin:16px 0 4px;
}

.settings-body .sub {
color:#5f6368;
font-size:13px;
margin:8px 0 16px;
}

.settings-body .num {
text-align:right;
font-variant-numeric:tabular-nums;
}

.settings-body a {
color:#1b4076;
}

.settings-body .btn {
display:inline-block;
margin:12px 12px 12px 0;
padding:7px 14px;
border:1px solid #1b4076;
border-radius:6px;
text-decoration:none;
font-size:13px;
color:#1b4076;
}

.settings-body .on {
color:#188038;
font-weight:700;
}

.settings-body .off {
color:#bdc3cc;
}

.settings-body .plan {
color:#b06000;
}

.settings-body input[type=text], .settings-body input[type=password] {
box-sizing:border-box;
padding:6px 8px;
border:1px solid #c8c8c8;
border-radius:4px;
font-size:13px;
font-family:inherit;
}

body.mobile .settings-body table {
display:block;
max-width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
white-space:nowrap;
}

body.mobile .settings-body .rf-panel table, body.mobile .settings-body #rf-legs table {
display:table;
width:100%;
white-space:normal;
}

body.mobile .settings-body input[type=text], body.mobile .settings-body input[type=password] {
max-width:100% !important;
box-sizing:border-box;
}

body.mobile .settings-body .pass-wrap {
display:block;
width:100%;
max-width:100%;
box-sizing:border-box;
margin-bottom:6px;
}

body.mobile .settings-body .pass-wrap input[type=password] {
width:100% !important;
}

body.mobile .settings-body .rf-row {
flex-wrap:wrap;
gap:8px;
}

body.mobile .settings-body .rf-row input#rf-amount {
width:5em !important;
max-width:90px !important;
}

body.mobile .settings-body .rf-row input#rf-reason {
flex:1 1 140px;
width:auto !important;
max-width:100% !important;
}

.settings-nav {
color:#5f6368;
font-size:13px;
margin:0 0 12px;
}

.settings-nav-active {
color:#202124;
font-weight:600;
}

#u-legend {
margin:8px 0;
font-size:12px;
}

#u-wrap {
position:relative;
}

#u-graph {
display:flex;
align-items:flex-end;
gap:6px;
height:190px;
border-bottom:1px solid #dfe3ea;
padding-top:8px;
}

.u-bar {
flex:1;
max-width:64px;
display:flex;
flex-direction:column;
justify-content:flex-end;
height:100%;
}

.u-col {
display:flex;
flex-direction:column-reverse;
width:100%;
min-height:3px;
}

.u-lab {
font-size:11px;
color:#5f6368;
text-align:center;
margin-top:4px;
}

.u-yaxis {
flex:0 0 auto;
width:72px;
display:flex;
flex-direction:column;
justify-content:flex-end;
height:100%;
}

.u-ticks {
position:relative;
height:160px;
}

.u-tick {
position:absolute;
right:6px;
transform:translateY(50%);
font-size:10px;
color:#5f6368;
white-space:nowrap;
}

#u-tip {
display:none;
position:absolute;
z-index:5;
background:#fff;
border:1px solid #dfe3ea;
border-radius:6px;
padding:8px 10px;
font-size:12px;
box-shadow:0 2px 8px rgba(0, 0, 0, 0.12);
pointer-events:none;
white-space:nowrap;
}

.u-sw {
display:inline-block;
width:10px;
height:10px;
margin-right:6px;
}

.u-sw-legend {
display:inline-block;
width:10px;
height:10px;
margin-right:4px;
}

.u-legend-item {
margin-right:12px;
}

.settings-body .rf-panel {
border:1px solid #dfe3ea;
border-radius:6px;
padding:12px 14px;
margin:8px 0 16px;
max-width:660px;
}

.settings-body .rf-row {
display:flex;
gap:8px;
align-items:center;
flex-wrap:wrap;
}

.settings-body .rf-go {
background:#1b4076;
color:#fff;
border:none;
border-radius:6px;
padding:7px 16px;
font-size:13px;
cursor:pointer;
}

.settings-body .rf-go:hover {
background:#153460;
}

.settings-body .rf-go:active {
background:#102748;
}

.settings-body .rf-panel table {
margin-top:10px;
max-width:480px;
}

.settings-body .rf-recv td {
font-weight:700;
}

.settings-body .rf-fail {
color:#b3261e;
}

.settings-body .rf-tabs {
display:flex;
gap:4px;
border-bottom:1px solid #dfe3ea;
margin:2px 0 14px;
}

.settings-body .rf-tab {
appearance:none;
background:none;
border:none;
border-bottom:2px solid transparent;
margin:0 0 -1px;
padding:9px 14px;
font-size:14px;
color:#5f6368;
cursor:pointer;
}

.settings-body .rf-tab:hover {
color:#202124;
}

.settings-body .rf-tab-on {
color:#202124;
font-weight:600;
border-bottom-color:#1b4076;
}

.settings-body .rf-tab:focus-visible {
outline:2px solid #1b4076;
outline-offset:2px;
}

.settings-body #rf-more {
background:#fff;
border:1px solid #dadce0;
border-radius:6px;
margin-top:10px;
padding:6px 18px;
font-size:13px;
color:#3c4043;
cursor:pointer;
}

.settings-body #rf-more:hover {
background:#f6fafe;
border-color:#1b4076;
color:#1b4076;
}

.settings-body #rf-tx > div {
padding:6px 2px;
border-bottom:1px solid #f1f3f4;
font-size:13px;
}

.settings-body .settings-nav {
position:sticky;
top:0;
z-index:5;
background:#fff;
display:flex;
gap:4px;
border-bottom:1px solid #dfe3ea;
margin:0 0 14px;
}

body.mobile .settings-body .settings-nav {
overflow-x:auto;
white-space:nowrap;
-webkit-overflow-scrolling:touch;
scrollbar-width:none;
gap:2px;
margin:0 0 10px;
}

body.mobile .settings-body .settings-nav::-webkit-scrollbar {
display:none;
}

.settings-body .settings-nav .auth-link {
color:#5f6368;
margin-left:0;
cursor:pointer;
padding:9px 14px;
font-size:14px;
border-bottom:2px solid transparent;
margin-bottom:-1px;
}

.settings-body .settings-nav .auth-link:hover {
color:#202124;
}

.settings-body .settings-nav .settings-nav-active {
color:#202124;
font-weight:600;
padding:9px 14px;
font-size:14px;
border-bottom:2px solid #1b4076;
margin-bottom:-1px;
}

body.mobile .settings-body .settings-nav .auth-link, body.mobile .settings-body .settings-nav .settings-nav-active {
padding:7px 9px;
font-size:13px;
flex:0 0 auto;
}

.link-field label {
display:block;
font-size:12px;
color:#555;
margin-bottom:4px;
}

.link-field input, .link-pane input {
width:100%;
box-sizing:border-box;
padding:6px 8px;
border:1px solid #c8c8c8;
border-radius:4px;
font-size:13px;
font-family:inherit;
}

.link-field textarea {
width:100%;
box-sizing:border-box;
padding:6px 8px;
border:1px solid #c8c8c8;
border-radius:4px;
font-size:13px;
font-family:inherit;
line-height:1.4;
min-height:56px;
white-space:pre-wrap;
overflow-wrap:anywhere;
resize:vertical;
}

#deposit-save-row label {
display:flex;
align-items:center;
gap:6px;
font-size:13px;
color:#333;
margin-bottom:0;
cursor:pointer;
}

#deposit-save-row input {
width:auto;
margin:0;
padding:0;
border:none;
background:none;
flex:none;
}

.pass-wrap {
display:inline-flex;
position:relative;
align-items:center;
}

.link-field .pass-wrap {
display:flex;
}

.pass-wrap input {
padding-right:28px;
box-sizing:border-box;
}

.link-field .pass-wrap input {
width:auto;
flex:1;
min-width:0;
}

.pass-eye {
position:absolute;
right:5px;
top:50%;
transform:translateY(-50%);
flex:none;
border:none;
background:none;
padding:2px;
margin:0;
cursor:pointer;
color:inherit;
line-height:0;
}

.pass-eye svg {
display:block;
width:16px;
height:16px;
}

.pass-eye:focus-visible {
outline:2px solid #4d90fe;
outline-offset:1px;
border-radius:4px;
}

#deposit-card-box {
margin:10px 0 0;
}

.deposit-card-field {
box-sizing:border-box;
height:34px;
padding:6px 8px;
border:1px solid #c8c8c8;
border-radius:4px;
background:#ffffff;
margin-bottom:8px;
}

.deposit-card-row {
display:flex;
gap:8px;
}

.deposit-card-row .deposit-card-field {
flex:1 1 0;
min-width:0;
}

#deposit-loading {
display:none;
align-items:center;
gap:8px;
font-size:12px;
color:#555;
margin:10px 0 4px;
}

#deposit-pp-box {
display:none;
max-width:260px;
margin:0 auto 8px;
}

#deposit-pp-box paypal-button {
display:block;
width:100%;
}

.deposit-divider {
display:none;
text-align:center;
border-top:1px solid #ccc;
margin:14px 0 12px;
height:0;
overflow:visible;
}

.deposit-divider span {
position:relative;
top:-9px;
background:#ffffff;
padding:0 10px;
color:#888;
font-size:12px;
}

#deposit-wallet-box {
display:none;
gap:8px;
max-width:260px;
margin:0 auto 4px;
flex-wrap:wrap;
}

.deposit-wallet-slot {
flex:1 1 0;
min-width:160px;
display:flex;
justify-content:center;
}

.deposit-wallet-slot:empty {
display:none;
}

apple-pay-button {
display:block;
width:100%;
height:40px;
}

#deposit-wallet-note {
flex:1 1 100%;
}

#deposit-card-pay {
box-sizing:border-box;
width:100%;
margin-top:4px;
padding:8px 14px;
font-size:14px;
}

#deposit-card-secure {
text-align:center;
font-size:12px;
color:#555;
margin:6px 0 2px;
}

.action-selected {
max-height:96px;
overflow-y:auto;
box-sizing:border-box;
width:100%;
padding:6px 8px;
border:1px solid #e0e0e0;
border-radius:4px;
background:#f7f7f7;
font-size:13px;
white-space:pre-wrap;
color:#333;
}

.link-tabs {
display:flex;
gap:4px;
margin:12px 0 8px;
border-bottom:1px solid #e0e0e0;
}

.link-tab {
border:none;
background:none;
padding:6px 10px;
font-size:13px;
color:#555;
cursor:pointer;
border-bottom:2px solid transparent;
font-family:inherit;
}

.link-tab.active {
color:#1b4076;
border-bottom-color:#1b4076;
}

.link-pane {
margin-bottom:10px;
}

.link-hb-list {
max-height:180px;
overflow-y:auto;
border:1px solid #e0e0e0;
border-radius:4px;
}

.link-hb-item {
padding:5px 8px;
font-size:13px;
cursor:pointer;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.link-hb-item:hover {
background:#e8f0fe;
}

.equation-error {
font-size:12px;
color:#d93025;
margin:6px 0 0;
}

.equation-span {
font-size:12px;
color:#555;
margin:6px 0 10px;
}

.link-buttons {
display:flex;
justify-content:flex-end;
gap:8px;
margin-top:14px;
}

.link-btn {
padding:6px 14px;
border:1px solid #c8c8c8;
background:#ffffff;
border-radius:4px;
cursor:pointer;
font-size:13px;
font-family:inherit;
}

.link-btn:active {
background:#e2e2e2;
}

.link-btn.primary {
background:#1b4076;
border-color:#1b4076;
color:#ffffff;
}

.link-btn.primary:hover:not(:disabled) {
background:#153460;
border-color:#153460;
}

.link-btn.primary:active {
background:#102748;
border-color:#102748;
}

.link-btn.primary:disabled {
background:#8a9fb9;
border-color:#8a9fb9;
cursor:default;
}

.link-btn.manual {
background:transparent;
border:none;
color:#1b4076;
padding:6px 4px;
margin-right:auto;
font-size:13px;
font-family:inherit;
cursor:pointer;
}

.link-btn.manual:hover {
text-decoration:underline;
}

.link-btn.manual:disabled {
color:#9aa0a6;
cursor:default;
text-decoration:none;
}

.link-dialog button:focus, .review-floater button:focus {
outline:2px solid #1b4076;
outline-offset:1px;
}

.mb-sep {
height:1px;
background:#e3e3e3;
margin:4px 10px;
}

#menu-overlay {
position:fixed;
top:32px;
left:0;
right:0;
bottom:0;
z-index:150;
display:none;
}

.ruler-container {
position:fixed;
top:72px;
left:50%;
transform:translateX(-50%);
z-index:100;
width:794px;
max-width:100%;
height:24px;
}

.structure-bar {
position:fixed;
top:33px;
left:50%;
transform:translateX(-50%);
z-index:100;
display:flex;
flex-wrap:nowrap;
justify-content:flex-start;
max-width:98vw;
overflow-x:auto;
scrollbar-width:thin;
scrollbar-color:#c5c5c5 #f2f2f2;
align-items:center;
gap:4px;
padding:4px 8px;
background:#ffffff;
border:1px solid var(--border-color);
border-radius:6px;
box-shadow:0 1px 3px rgba(0,0,0,0.08);
font-family:system-ui, sans-serif;
pointer-events:auto;
}

.sb-group {
display:flex;
align-items:center;
gap:4px;
flex:0 1 auto;
min-width:0;
flex-wrap:nowrap;
}

.structure-bar::-webkit-scrollbar {
height:8px;
}

.structure-bar::-webkit-scrollbar-thumb {
background:#c5c5c5;
border-radius:4px;
}

.structure-bar::-webkit-scrollbar-track {
background:transparent;
}

.table-bar {
position:fixed;
top:69px;
left:50%;
transform:translateX(-50%);
max-width:calc(var(--editor-w, 100vw) - 24px);
overflow-x:auto;
z-index:100;
display:flex;
align-items:center;
gap:2px;
padding:2px 8px;
background:#f8f9fa;
border:1px solid var(--border-color);
border-radius:6px;
box-shadow:0 1px 3px rgba(0,0,0,0.08);
font-family:system-ui, sans-serif;
pointer-events:auto;
}

.chart-bar {
position:fixed;
top:69px;
left:50%;
transform:translateX(-50%);
max-width:calc(var(--editor-w, 100vw) - 24px);
overflow-x:auto;
z-index:100;
display:flex;
align-items:center;
gap:2px;
padding:2px 8px;
background:#f8f9fa;
border:1px solid var(--border-color);
border-radius:6px;
box-shadow:0 1px 3px rgba(0,0,0,0.08);
font-family:system-ui, sans-serif;
pointer-events:auto;
}

.table-bar .sb-sep {
height:18px;
}

.table-bar .sb-icn:hover {
background:#e8f0fe;
color:#1b4076;
}

.table-bar .sb-icn:active {
background:#d2e3fc;
}

.equation-bar {
position:fixed;
top:69px;
left:50%;
transform:translateX(-50%);
max-width:calc(var(--editor-w, 100vw) - 24px);
overflow-x:auto;
z-index:100;
display:flex;
align-items:center;
gap:2px;
padding:2px 8px;
background:#f8f9fa;
border:1px solid var(--border-color);
border-radius:6px;
box-shadow:0 1px 3px rgba(0,0,0,0.08);
font-family:system-ui, sans-serif;
pointer-events:auto;
}

.equation-bar .sb-sep {
height:18px;
}

.eq-btn {
min-width:28px;
padding:2px 6px;
font-size:15px;
line-height:20px;
cursor:pointer;
border-radius:4px;
}

.eq-btn:hover {
background:#e8f0fe;
color:#1b4076;
}

.eq-fx {
font-style:italic;
font-weight:bold;
font-family:Georgia, serif;
padding:2px 7px;
cursor:pointer;
border-radius:4px;
}

.chart-bar .sb-sep {
height:18px;
}

.chart-bar .sb-icn:hover {
background:#e8f0fe;
color:#1b4076;
}

.chart-bar .sb-icn:active {
background:#d2e3fc;
}

.sb-sep {
width:12px;
margin:0;
background:transparent;
flex:0 0 auto;
}

.sb-select {
pointer-events:auto;
padding:2px 4px;
font-size:12px;
border:1px solid #c9c9c9;
border-radius:4px;
outline:none;
background:#ffffff;
}

.sb-btn {
pointer-events:auto;
padding:3px 8px;
font-size:12px;
border:1px solid #c9c9c9;
border-radius:4px;
background:#f6f6f6;
cursor:pointer;
font-family:system-ui, sans-serif;
}

.sb-btn:hover {
background:#e8f0fe;
color:#1b4076;
}

.sb-btn:active {
background:#d2e3fc;
color:#1b4076;
}

.sb-btn.active {
background:#e8f0fe;
color:#1b4076;
}

.sb-icn {
width:26px;
height:26px;
padding:0;
display:inline-flex;
align-items:center;
justify-content:center;
color:#444;
flex:0 0 auto;
}

.sb-icn:active {
background:#d2e3fc;
}

.sb-icn svg {
display:block;
}

.pal-pop {
position:fixed;
z-index:600;
display:none;
background:#ffffff;
border:1px solid #c9c9c9;
border-radius:6px;
box-shadow:0 4px 14px rgba(0,0,0,0.18);
padding:7px 8px;
font-family:system-ui, sans-serif;
}

.pal-label {
font-size:11px;
font-weight:600;
color:#555;
margin:2px 2px 4px;
}

.pal-row {
display:flex;
gap:4px;
margin-bottom:6px;
}

.pal-row:last-child {
margin-bottom:0;
}

.pal-swatch {
width:20px;
height:20px;
border-radius:4px;
border:1px solid #c9c9c9;
cursor:pointer;
display:inline-block;
flex:0 0 auto;
}

.pal-swatch:hover {
transform:scale(1.15);
border-color:#888;
}

.pal-swatch[data-colour=""] {
background:linear-gradient(to top right, #fff 44%, #d33 46%, #d33 54%, #fff 56%);
}

.tbp-header {
display:flex;
justify-content:space-between;
align-items:center;
width:100%;
flex-shrink:0;
background:#fff;
}

.tbp-section {
width:100%;
margin:4px 0;
padding:6px 0;
border-top:1px solid #eee;
}

.tbp-section:first-of-type {
border-top:none;
}

.tbp-section-label {
font-size:11px;
font-weight:700;
color:#555;
text-transform:uppercase;
letter-spacing:0.4px;
margin-bottom:6px;
}

.tbp-opt-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:4px 12px;
}

.tbp-gallery-group-label {
font-size:10px;
font-weight:600;
color:#777;
margin:8px 0 4px;
text-transform:uppercase;
letter-spacing:0.3px;
}

.tbp-gallery {
display:grid;
grid-template-columns:repeat(4, 1fr);
gap:6px;
}

.tbl-style-thumb {
border:1px solid #d1d1d1;
border-radius:4px;
padding:4px;
cursor:pointer;
background:#fff;
display:flex;
flex-direction:column;
align-items:center;
gap:3px;
}

.tbl-style-thumb:hover {
border-color:#1b4076;
background:#e8f0fe;
}

.tbl-style-thumb.selected {
border-color:#1b4076;
background:#d2e3fc;
box-shadow:0 0 0 2px rgba(27,64,118,0.3);
}

.tbl-thumb-grid {
display:grid;
grid-template-columns:repeat(3, 12px);
grid-template-rows:repeat(3, 8px);
gap:1px;
}

.tbl-thumb-cell {
border:1px solid #c9c9c9;
border-radius:1px;
}

.tbl-thumb-label {
font-size:10px;
color:#555;
text-align:center;
white-space:nowrap;
}

.tbp-row {
display:flex;
gap:6px;
align-items:center;
flex-wrap:wrap;
margin:4px 0;
}

.tbp-mini-label {
font-size:11px;
color:#555;
display:flex;
gap:4px;
align-items:center;
}

.tbp-colour-swatch {
width:26px;
height:26px;
border:1px solid #c9c9c9;
border-radius:4px;
background:#f6f6f6;
cursor:pointer;
padding:0;
display:inline-flex;
align-items:center;
justify-content:center;
color:#444;
flex:0 0 auto;
}

.tbp-colour-swatch-wrap {
position:relative;
display:inline-flex;
flex:0 0 auto;
}

.tbp-colour-swatch-native {
position:absolute;
inset:0;
width:100%;
height:100%;
opacity:0;
cursor:pointer;
padding:0;
border:0;
}

.tbp-colour-preview {
width:22px;
height:22px;
border:1px solid #c9c9c9;
border-radius:4px;
display:inline-block;
flex:0 0 auto;
vertical-align:middle;
}

.tbp-colour-swatch:hover {
background:#e8f0fe;
color:#1b4076;
border-color:#1b4076;
transform:scale(1.08);
transform-origin:center;
}

.tbp-shading-row .tbp-colour-swatch:hover {
transform-origin:left center;
}

.tbp-colour-pop {
min-width:170px;
padding:8px;
z-index:700;
}

.tbp-colour-label {
font-size:11px;
font-weight:600;
color:#555;
margin:2px 2px 6px;
}

.tbp-colour-picker {
display:flex;
justify-content:center;
align-items:center;
padding:6px 0;
margin-bottom:10px;
}

.tbp-colour-picker input[type=color] {
width:72px;
height:44px;
border:1px solid #c9c9c9;
border-radius:4px;
cursor:pointer;
padding:2px;
background:#fff;
}

.tbp-colour-actions {
display:flex;
gap:6px;
justify-content:flex-end;
border-top:1px solid #eee;
padding-top:8px;
}

.tbp-actions {
display:flex;
gap:8px;
align-items:center;
width:100%;
margin-top:6px;
padding-top:6px;
border-top:1px solid #eee;
flex-shrink:0;
background:#fff;
padding-bottom:2px;
position:sticky;
bottom:0;
z-index:2;
}

.tbp-scroll {
flex:1 1 auto;
overflow-y:auto;
min-height:0;
padding-right:2px;
width:100%;
}

.tb-props-bar {
max-width:520px;
gap:2px;
}

#tb-props-bar {
display:flex;
flex-direction:column;
align-items:stretch;
height:70vh;
max-height:70vh;
overflow:hidden;
min-height:0;
}

.ruler-bar {
position:relative;
width:794px;
max-width:100%;
height:24px;
box-sizing:border-box;
background-color:var(--ruler-bg);
border-bottom:1px solid var(--border-color);
border-left:1px solid var(--border-color);
border-right:1px solid var(--border-color);
}

.ruler-canvas-wrapper {
position:absolute;
top:0;
left:0;
width:794px;
max-width:100%;
height:24px;
}

.ruler-canvas {
display:block;
width:794px;
max-width:100%;
height:24px;
}

body:not(.mobile) .ruler-bar, body:not(.mobile) .ruler-canvas-wrapper, body:not(.mobile) .ruler-canvas {
max-width:none;
}

.margin-marker {
position:absolute;
top:0;
width:12px;
height:24px;
cursor:col-resize;
z-index:10;
margin-left:-6px;
}

.margin-marker .marker-arrow {
position:absolute;
top:0;
left:0;
width:0;
height:0;
border-left:6px solid transparent;
border-right:6px solid transparent;
border-top:8px solid var(--marker-color);
}

.left-marker .marker-arrow {
left:0;
}

.right-marker .marker-arrow {
left:0;
}

#editor-canvas {
position:fixed;
top:96px;
left:50%;
transform:translateX(-50%);
z-index:1;
background-color:var(--bg-app);
display:block;
width:794px;
max-width:100%;
}

.find-bar {
position:fixed;
top:33px;
right:12px;
z-index:100;
display:flex;
align-items:center;
gap:6px;
padding:8px 10px;
background:#ffffff;
border:1px solid var(--border-color);
border-radius:8px;
box-shadow:0 4px 16px rgba(0,0,0,0.18);
font-family:system-ui, sans-serif;
}

#find-bar, #replace-bar {
left:12px;
flex-wrap:wrap;
align-content:flex-start;
}

#goto-bar {
left:50%;
right:auto;
top:30%;
transform:translateX(-50%);
z-index:600;
}

#search-input {
width:210px;
padding:5px 8px;
font-size:13px;
border:1px solid #c9c9c9;
border-radius:5px;
outline:none;
}

#search-replace-input {
width:120px;
padding:5px 8px;
font-size:13px;
border:1px solid #c9c9c9;
border-radius:5px;
outline:none;
}

#search-input:focus {
border-color:#4a90d9;
box-shadow:0 0 0 2px rgba(74,144,217,0.25);
}

.search-count {
font-size:12px;
color:#666;
min-width:42px;
text-align:center;
}

.find-btn {
padding:4px 9px;
font-size:13px;
line-height:1.3;
border:1px solid #c9c9c9;
border-radius:5px;
background:#f7f7f7;
color:#333;
cursor:pointer;
}

.find-btn:hover {
background:#e8f0fe;
color:#1b4076;
}

.find-btn:active {
background:#d2e3fc;
}

.find-toggle.on {
border-color:#1b4076;
background:#e8f1fb;
color:#1b4076;
font-weight:600;
}

.find-close {
font-weight:bold;
color:#ff9090;
}

.find-close:hover, .find-btn.find-close:hover, .find-close:active, .find-btn.find-close:active {
color:#ff5b5b;
}

.cm-del, .fn-del {
font-weight:bold;
color:#ff9090;
}

.cm-del:hover, .fn-del:hover, .cm-del:active, .fn-del:active, .find-btn.cm-del:hover, .find-btn.fn-del:hover {
color:#ff5b5b;
}

.find-sep {
color:#ccc;
font-size:12px;
padding:0 2px;
}

.find-label {
font-size:11px;
color:#555;
}

#goto-page-input {
width:58px;
padding:5px 6px;
font-size:13px;
border:1px solid #c9c9c9;
border-radius:5px;
outline:none;
}

#goto-page-input:focus {
border-color:#4a90d9;
box-shadow:0 0 0 2px rgba(74,144,217,0.25);
}

.docs-bar {
top:72px;
right:12px;
flex-direction:column;
align-items:stretch;
gap:6px;
max-width:420px;
}

body.mobile .docs-bar {
left:8px;
right:8px;
max-width:calc(100vw - 16px);
top:56px;
}

#docs-name-input {
width:210px;
padding:5px 8px;
font-size:13px;
border:1px solid #c9c9c9;
border-radius:5px;
outline:none;
}

.docs-status {
font-size:12px;
color:#1a6b1a;
max-width:400px;
overflow-wrap:anywhere;
}

.docs-list {
display:flex;
flex-direction:column;
gap:4px;
max-height:300px;
overflow-y:auto;
font-size:12px;
}

.docs-row {
display:flex;
align-items:center;
gap:8px;
padding:5px 8px;
border:1px solid #e3e3e3;
border-radius:5px;
background:#fafafa;
}

.docs-row:hover {
background:#f0f4fa;
}

.docs-name {
font-weight:600;
overflow-wrap:anywhere;
flex:1;
}

.docs-time {
color:#777;
white-space:nowrap;
}

.docs-size {
color:#999;
white-space:nowrap;
}

#sc-bar {
width:470px;
flex-direction:column;
align-items:stretch;
gap:8px;
}

#emj-bar {
width:470px;
flex-direction:column;
align-items:stretch;
gap:8px;
}

.sc-head {
display:flex;
align-items:center;
justify-content:space-between;
cursor:move;
user-select:none;
}

#sc-close {
padding:1px 8px;
font-size:12px;
line-height:1.5;
min-width:0;
}

#sc-search {
width:100%;
padding:6px 10px;
font-size:13px;
border:1px solid #c9c9c9;
border-radius:5px;
outline:none;
box-sizing:border-box;
}

#sc-search:focus {
border-color:#4a90d9;
box-shadow:0 0 0 2px rgba(74,144,217,0.25);
}

#sc-grid {
display:flex;
flex-direction:column;
gap:8px;
max-height:55vh;
overflow-y:auto;
}

.sc-group {
display:flex;
flex-direction:column;
gap:4px;
}

.sc-group-label {
font-size:11px;
font-weight:600;
color:#5f6368;
text-transform:uppercase;
letter-spacing:0.4px;
}

.sc-row {
display:flex;
flex-wrap:wrap;
gap:3px;
}

.sc-cell {
min-width:30px;
height:30px;
padding:0 6px;
font-size:15px;
font-family:system-ui, sans-serif;
border:1px solid #dadce0;
border-radius:5px;
background:#ffffff;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center;
}

.sc-cell:hover {
background:#e8f0fe;
border-color:#1b4076;
color:#1b4076;
}

.emj-search {
width:100%;
padding:6px 10px;
font-size:13px;
border:1px solid #c9c9c9;
border-radius:5px;
outline:none;
box-sizing:border-box;
}

.emj-cell {
width:30px;
height:30px;
font-size:17px;
border:none;
background:transparent;
cursor:pointer;
border-radius:5px;
display:inline-flex;
align-items:center;
justify-content:center;
}

.emj-cell:hover {
background:#e8f0fe;
}

.emj-tabs {
display:flex;
flex-wrap:wrap;
gap:2px;
border-bottom:1px solid #dadce0;
padding-bottom:4px;
}

.emj-tab {
border:none;
background:transparent;
cursor:pointer;
font-size:19px;
line-height:1;
padding:4px 7px;
border-bottom:2px solid transparent;
margin-bottom:-5px;
opacity:0.55;
}

.emj-tab:hover {
opacity:1;
}

.emj-tab.on {
opacity:1;
border-bottom-color:#1b4076;
}

.mb-swatch {
cursor:pointer;
border:1px solid #dadce0;
}

#hdr-bar #tb-props-bar {
flex-wrap:wrap;
max-width:640px;
}

.hdr-check {
display:inline-flex;
align-items:center;
gap:4px;
font-size:13px;
color:#333;
cursor:pointer;
user-select:none;
}

#ps-border-colour #ps-page-colour {
width:36px;
height:26px;
padding:1px;
border:1px solid #c9c9c9;
border-radius:4px;
cursor:pointer;
background:#ffffff;
}

.docs-open {
padding:2px 8px;
font-size:12px;
border:1px solid #1b4076;
border-radius:4px;
background:#e8f1fb;
color:#1b4076;
cursor:pointer;
}

#outline-list {
min-width:280px;
max-height:340px;
}

.ol-hint {
font-size:12px;
color:#8a8a8a;
padding:4px 8px;
max-width:320px;
}

.ol-row {
display:flex;
align-items:center;
gap:6px;
padding:4px 8px;
border-radius:4px;
cursor:pointer;
font-size:12px;
}

.ol-row:hover {
background:#f0f4fa;
}

.ol-tri {
width:16px;
flex:0 0 16px;
color:#6b7a8d;
font-size:11px;
text-align:center;
cursor:pointer;
user-select:none;
}

.ol-text {
flex:1;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

.ol-page {
color:#999;
font-size:11px;
white-space:nowrap;
}

.ol-active {
background:#e1eef9;
font-weight:600;
color:#1b4076;
}

body.read-mode .menubar {
display:none;
}

body.read-mode .menu-overlay {
display:none;
}

body.read-mode .structure-bar {
display:none !important;
}

body.read-mode .table-bar {
display:none !important;
}

body.read-mode .chart-bar {
display:none !important;
}

body.read-mode .equation-bar {
display:none !important;
}

body.read-mode .ruler-container {
display:none !important;
}

body.read-mode .find-bar {
display:none !important;
}

body.read-mode .docs-bar {
display:none !important;
}

body.read-mode .status-bar {
display:none !important;
}

body.read-mode .margin-ruler {
display:none !important;
}

#read-mode-exit {
display:none;
position:fixed;
left:50%;
bottom:18px;
transform:translateX(-50%);
z-index:650;
padding:8px 18px;
font-size:13px;
font-family:system-ui, sans-serif;
color:#ffffff;
background:#1f3a5f;
border:1px solid #1f3a5f;
border-radius:20px;
box-shadow:0 4px 16px rgba(0,0,0,0.25);
cursor:pointer;
}

body.read-mode #read-mode-exit {
display:block;
}

.docs-del {
padding:2px 7px;
font-size:12px;
border:1px solid #d9a0a0;
border-radius:4px;
background:#fbeaea;
color:#ff9090;
cursor:pointer;
}

.docs-del:hover, .docs-del:active {
color:#ff5b5b;
}

.docs-versions {
padding:2px 7px;
font-size:12px;
border:1px solid #c9c9c9;
border-radius:4px;
background:#f7f7f7;
color:#555;
cursor:pointer;
}

.docs-versions-list {
margin-left:22px;
display:flex;
flex-direction:column;
gap:3px;
}

.docs-version-row {
background:#f3f6fb;
border-color:#d4ddf0;
}

#stats-bar {
top:100px;
right:12px;
flex-direction:column;
align-items:stretch;
gap:6px;
max-width:300px;
}

.stats-table {
display:grid;
grid-template-columns:auto 1fr;
gap:3px 14px;
font-size:12px;
}

.stats-key {
color:#555;
text-align:right;
}

.stats-val {
font-weight:600;
}

.ps-num {
width:52px;
padding:3px 4px;
font-size:12px;
border:1px solid #c9c9c9;
border-radius:4px;
outline:none;
text-align:right;
}

.ps-num:focus {
border-color:#4a90d9;
}

.ps-unit-label {
font-size:11px;
color:#777;
margin-left:6px;
}

.ps-times {
font-size:12px;
color:#777;
margin:0 4px;
}

.ps-wm-text {
width:140px;
padding:3px 6px;
font-size:12px;
border:1px solid #c9c9c9;
border-radius:4px;
outline:none;
}

#page-setup-bar .find-label {
margin-left:10px;
}

.status-bar {
position:fixed;
left:0;
right:0;
bottom:0;
height:22px;
background:#1b4076;
color:#ffffff;
font-size:11px;
line-height:22px;
padding:0 10px;
display:flex;
align-items:center;
min-width:0;
overflow:hidden;
z-index:60;
}

.status-left {
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
min-width:0;
flex:1 1 auto;
}

.status-name {
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
max-width:45%;
min-width:0;
flex:0 1 auto;
margin-left:12px;
text-align:right;
opacity:0.92;
}

.status-branch {
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
max-width:40%;
min-width:0;
flex:0 1 auto;
margin-left:12px;
opacity:0.92;
}

.save-ring {
display:inline-block;
width:12px;
height:12px;
margin-right:6px;
vertical-align:-2px;
}

.save-ring-track {
fill:none;
stroke:rgba(255,255,255,0.28);
stroke-width:2;
}

.save-ring-fill {
fill:none;
stroke:#ffffff;
stroke-width:2;
stroke-linecap:round;
stroke-dasharray:28.27;
transition:stroke-dashoffset 0.12s linear;
}

.status-note {
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
max-width:40%;
min-width:0;
flex:0 1 auto;
margin-left:12px;
color:#ffd479;
}

.ai-ribbon {
position:fixed;
right:0;
bottom:0;
width:var(--ai-w, 0px);
height:22px;
background:#1b4076;
color:#ffffff;
font-size:11px;
line-height:22px;
padding:0 12px;
display:none;
align-items:center;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
z-index:60;
}

body.ai-split .ai-ribbon {
display:flex;
}

.ai-auto-bar {
position:fixed;
right:0;
top:32px;
width:var(--ai-w, 0px);
height:26px;
background:#ffffff;
color:#3c4043;
font-size:12px;
display:none;
align-items:center;
justify-content:space-between;
padding:0 12px;
border-bottom:1px solid #dfe3ea;
z-index:60;
}

body.ai-split .ai-auto-bar {
display:flex;
}

.ai-auto-bar .switch-slider {
background:#c6cdd6;
}

.ai-auto-bar .ai-model {
font-size:12px;
color:#3c4043;
background:#ffffff;
border:1px solid #d0d6dd;
border-radius:4px;
padding:1px 4px;
flex:0 1 auto;
min-width:0;
cursor:pointer;
text-align:left;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.ai-auto-bar .ai-model-pick {
display:flex;
align-items:center;
gap:6px;
flex:0 1 auto;
min-width:0;
max-width:60%;
}

.ai-auto-bar .ai-model-label {
font-size:12px;
color:#5f6368;
white-space:nowrap;
flex:0 0 auto;
}

.ai-auto-bar .ai-balance {
font-size:12px;
color:#5f6368;
background:#f1f3f4;
border-radius:9px;
padding:1px 8px;
margin-left:10px;
margin-right:auto;
flex:none;
font-variant-numeric:tabular-nums;
white-space:nowrap;
}

.ai-auto-bar .ai-auto-label {
margin-left:8px;
flex:0 0 auto;
white-space:nowrap;
}

.review-rail {
position:fixed;
left:0;
right:var(--ai-w, 0px);
bottom:22px;
height:26px;
background:#16325e;
color:#ffffff;
font-size:12px;
display:none;
align-items:center;
justify-content:center;
z-index:60;
}

body.review-live .review-rail {
display:flex;
}

body.review-live:not(.demo-v1-walk) .editor-scrollbar {
bottom:48px;
}

body.review-live:not(.demo-v1-walk) .ai-gutter {
bottom:48px;
}

.ai-cycle {
display:none;
align-items:center;
gap:2px;
background:rgba(255,255,255,0.07);
border:1px solid rgba(255,255,255,0.13);
border-radius:7px;
padding:1px 3px;
}

body.review-live .ai-cycle {
display:flex;
}

.rv-cycle {
display:inline-flex;
align-items:center;
justify-content:center;
background:transparent;
border:0;
border-radius:5px;
color:#d7e3f4;
min-width:26px;
height:20px;
padding:0 6px;
cursor:pointer;
}

.rv-cycle:hover {
background:rgba(255,255,255,0.14);
color:#ffffff;
}

#ai-cycle-kill:hover {
background:rgba(255,110,110,0.22);
color:#ffb4b4;
}

.rv-cycle:active {
background:rgba(255,255,255,0.2);
}

.rv-cycle:focus-visible {
outline:2px solid #1b4076;
outline-offset:1px;
}

.rv-cycle:disabled {
opacity:0.35;
cursor:default;
}

.rv-sep {
width:1px;
height:14px;
background:rgba(255,255,255,0.16);
margin:0 3px;
}

.rv-count-bar {
position:absolute;
left:12px;
color:#ffffff;
font-size:12px;
font-weight:600;
}

.review-floater {
position:fixed;
width:420px;
max-width:94vw;
max-height:calc(100vh - 110px);
overflow-y:auto;
overscroll-behavior:contain;
background:#ffffff;
color:#1a1a1a;
border:1px solid #d0d6dd;
border-radius:8px;
box-shadow:0 4px 16px rgba(0,0,0,0.18);
padding:10px 12px;
font-size:13px;
z-index:120;
}

body.mobile .review-floater {
transition:top 0.22s cubic-bezier(0.2, 0.9, 0.3, 1), left 0.22s cubic-bezier(0.2, 0.9, 0.3, 1);
}
@media (prefers-reduced-motion: reduce){.review-floater,body.mobile .review-floater{transition:none}}
.rv-topbar {
display:flex;
align-items:center;
justify-content:space-between;
background:#16325e;
color:#ffffff;
border-radius:8px 8px 0 0;
margin:-10px -12px 8px;
padding:6px 6px 6px 12px;
}

.rv-title {
font-size:13px;
font-weight:600;
}

.rv-close {
background:transparent;
border:0;
border-radius:4px;
color:#ff9090;
font-size:15px;
line-height:1;
padding:4px 10px;
cursor:pointer;
}

.rv-close:hover {
background:rgba(255,255,255,0.14);
color:#ff5b5b;
}

.rv-text {
line-height:1.45;
margin-bottom:8px;
white-space:pre-wrap;
overflow-wrap:anywhere;
max-height:54vh;
overflow-y:auto;
overscroll-behavior:contain;
}

.rv-explain {
font-size:13.5px;
line-height:1.6;
color:#1a1a1a;
max-height:54vh;
overflow-y:auto;
overscroll-behavior:contain;
}

.rv-old {
color:#8a8a8a;
text-decoration:line-through;
}

.rv-arrow {
margin:0 6px;
color:#1b4076;
}

.rv-new {
font-weight:600;
}

.rv-btns {
display:flex;
gap:8px;
justify-content:flex-end;
}

.rv-outcome {
color:#555;
}

.ai-auto-label {
display:flex;
align-items:center;
gap:8px;
margin-left:auto;
font-size:13px;
font-weight:700;
letter-spacing:0.4px;
cursor:pointer;
}

.rv-quote {
color:#5f6368;
font-style:italic;
}

.rv-reject {
background:#e53935;
border:1px solid #e53935;
color:#ffffff;
}

.rv-reject:hover {
background:#e53935;
color:#ffffff;
filter:brightness(0.93);
}

.rv-accept {
background:#1b4076;
border:1px solid #1b4076;
color:#ffffff;
}

.rv-accept:hover {
background:#153460;
border:1px solid #153460;
color:#ffffff;
}

.rv-reject:focus-visible {
outline:2px solid #1b4076;
outline-offset:1px;
}

.rv-accept:focus-visible {
outline:2px solid #1b4076;
outline-offset:1px;
}

.model-edit-card {
position:fixed;
left:12px;
bottom:30px;
z-index:60;
background:#ffffff;
border:1px solid #dadce0;
border-radius:8px;
box-shadow:0 2px 8px rgba(0,0,0,0.18);
padding:10px 12px;
width:270px;
}

.model-edit-title {
font-size:13px;
font-weight:700;
color:#1b4076;
margin-bottom:4px;
}

.model-edit-status {
font-size:12px;
color:#5f6368;
margin-bottom:8px;
}

.model-edit-run {
background:#1b4076;
border:1px solid #1b4076;
color:#ffffff;
border-radius:6px;
padding:6px 14px;
font-size:13px;
cursor:pointer;
}

.model-edit-run:hover {
background:#153460;
border:1px solid #153460;
}

body.ai-split .status-bar {
right:var(--ai-w, 0px);
}

body.read-mode .ai-ribbon {
display:none;
}

.tour-v1-btn {
border:1px solid #d0d7de;
background:#f6f8fa;
color:#24292f;
border-radius:6px;
padding:6px 12px;
font-size:12px;
font-weight:500;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center;
user-select:none;
line-height:1.2;
}

.tour-v1-btn:hover:not(:disabled) {
background:#f3f4f6;
border-color:#1b4076;
}

.tour-v1-btn:disabled {
opacity:0.45;
cursor:not-allowed;
}

.tour-v1-btn-primary {
background:#1b4076 !important;
color:#ffffff !important;
border-color:#1b4076 !important;
}

.tour-v1-btn-primary:hover:not(:disabled) {
background:#14305e !important;
border-color:#14305e !important;
}

.tour-v1-btn-ghost {
background:transparent !important;
color:#57606a !important;
}

.tour-v1-btn-ghost:hover:not(:disabled) {
background:#f6f8fa !important;
color:#24292f !important;
}

.tour-v1-callout {
position:fixed;
z-index:3600;
width:290px;
max-width:calc(100vw - 24px);
background:#ffffff;
color:#24292f;
border:1.5px solid #1b4076;
border-radius:8px;
box-shadow:0 8px 28px rgba(27,64,118,0.22);
padding:12px 14px;
font-size:13px;
line-height:1.45;
box-sizing:border-box;
}

.tour-v1-callout:after {
content:"";
position:absolute;
width:0;
height:0;
border-style:solid;
pointer-events:none;
}

body.mobile .tour-v1-callout {
font-size:12px;
padding:10px 12px;
width:280px;
}

.tour-v1-below:after {
top:-12px;
left:var(--arrow-left, 24px);
border-width:0 10px 12px 10px;
border-color:transparent transparent #1b4076 transparent;
}

.tour-v1-above:after {
bottom:-12px;
left:var(--arrow-left, 24px);
border-width:12px 10px 0 10px;
border-color:#1b4076 transparent transparent transparent;
}

.tour-v1-leftside:after {
right:-12px;
top:var(--arrow-top, 24px);
border-width:10px 0 10px 12px;
border-color:transparent transparent transparent #1b4076;
}

.tour-v1-rightside:after {
left:-12px;
top:var(--arrow-top, 24px);
border-width:10px 12px 10px 0;
border-color:transparent #1b4076 transparent transparent;
}

.tour-v1-card-head {
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:6px;
}

.tour-v1-card-badge {
font-size:11px;
font-weight:600;
color:#1b4076;
background:#e7eff8;
border-radius:10px;
padding:2px 8px;
}

.tour-v1-card-close {
background:transparent;
border:none;
font-size:16px;
color:#8c959f;
cursor:pointer;
line-height:1;
padding:0 4px;
}

.tour-v1-card-close:hover {
color:#24292f;
}

.tour-v1-card-title {
font-weight:600;
font-size:14px;
color:#1b4076;
margin-bottom:6px;
}

.tour-v1-card-desc {
font-size:12.5px;
color:#57606a;
margin-bottom:12px;
line-height:1.4;
}

.tour-v1-card-foot {
display:flex;
gap:6px;
justify-content:flex-end;
align-items:center;
}

.tour-v1-target {
outline:3px solid #1b4076 !important;
outline-offset:3px !important;
border-radius:4px;
}

#mobile-ai-cluster.tour-v1-target, #mobile-ai-fab.tour-v1-target, #mobile-ai-run.tour-v1-target {
border-radius:24px;
box-shadow:0 0 0 3px #1b4076 !important;
outline:none !important;
}
