:root {
    color-scheme: light;
    --bg: #f8f9f8;
    --surface: #fff;
    --surface-soft: #f3f5f4;
    --sidebar: #f6f8f7;
    --ink: #26382f;
    --muted: #77867d;
    --line: #e3e9e5;
    --accent: #28765c;
    --accent-soft: #e8f3ec;
    --accent-ink: #1a5b42;
    --shadow: 0 16px 50px #122b1d12;
    --mono: 'SFMono-Regular',Consolas,'Liberation Mono',monospace;
    --sans: Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --danger: #bb4141;
}
* {
    box-sizing: border-box;
}
html,body {
    margin: 0;
    width: 100%;
    height: 100%;
    font-family: var(--sans);
    font-size: 13px;
    color: var(--ink);
    background: var(--bg);
    overflow: hidden;
}
body[data-theme=dark] {
    color-scheme: dark;
    --bg: #161b1a;
    --surface: #1c2421;
    --surface-soft: #252f2a;
    --sidebar: #1a221e;
    --ink: #d5e3da;
    --muted: #91a499;
    --line: #303e35;
    --accent: #7cccaa;
    --accent-soft: #293e33;
    --accent-ink: #a8e1c6;
    --shadow: 0 16px 50px #0005;
    --danger: #f08a8a;
}
[hidden] {
    display: none!important;
}
button,input,select,textarea {
    font: inherit;
}
button {
    cursor: pointer;
    color: inherit;
    border: 1px solid var(--line);
    background: var(--surface);
    border-radius: 7px;
    padding: 8px 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    white-space: nowrap;
}
button:hover {
    background: var(--surface-soft);
}
button:disabled {
    opacity: .55;
    cursor: wait;
}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
input,select {
    border: 1px solid var(--line);
    border-radius: 7px;
    padding: 10px 12px;
    background: var(--surface);
    color: var(--ink);
    min-width: 0;
}
input:focus,select:focus,textarea:focus {
    outline: 2px solid color-mix(in srgb,var(--accent) 25%,transparent);
    border-color: var(--accent);
}
input[type=checkbox] {
    accent-color: var(--accent);
    width: 16px;
    height: 16px;
    padding: 0;
}
a {
    color: var(--accent);
}
h1,h2,p {
    margin: 0;
}
small {
    color: var(--muted);
}
.icon {
    width: 19px;
    height: 19px;
    flex-shrink: 0;
    vertical-align: middle;
}
.icon.tiny {
    width: 12px;
    height: 12px;
}
.icon.rotated {
    transform: rotate(90deg);
}
.icon-button {
    padding: 7px;
    border: none;
    background: transparent;
    border-radius: 5px;
    min-width: 32px;
    height: 32px;
}
.icon-button:hover,.icon-button.is-on {
    background: var(--accent-soft);
    color: var(--accent-ink);
}
.primary {
    background: var(--accent);
    color: var(--surface);
    border-color: var(--accent);
    font-weight: 600;
}
.primary:hover {
    filter: brightness(.94);
    background: var(--accent);
}
.primary.danger {
    background: var(--danger);
    border-color: var(--danger);
    color: #fff;
}
.live-dot {
    width: 6px;
    height: 6px;
    display: inline-block;
    border-radius: 50%;
    background: #54a783;
    box-shadow: 0 0 0 3px #54a78312;
}
.brand {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-size: 24px;
    font-weight: 750;
    letter-spacing: -1.2px;
    color: var(--ink);
}
.brand>.icon {
    width: 25px;
    height: 25px;
    color: var(--accent);
}
.brand-dot {
    color: var(--accent);
}
.titlebar {
    height: 53px;
    display: flex;
    align-items: center;
    padding: 0 22px;
    gap: 20px;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
}
.app-edition {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1.6px;
    color: var(--muted);
    padding-top: 4px;
}
.title-space,.toolbar-space,.status-spacer {
    flex: 1;
}
.network-label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 11px;
    color: var(--muted);
}
.lock-button {
    font-size: 11px;
    padding: 6px 10px;
    border-color: var(--line);
    background: var(--surface-soft);
}
.lock-button .icon {
    width: 14px;
    height: 14px;
}
.menubar {
    height: 35px;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
}
.menus {
    display: flex;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.menu-trigger {
    background: transparent;
    border: 0;
    font-size: 12px;
    padding: 6px 11px;
}
.menu-end {
    display: flex;
    align-items: center;
    gap: 8px;
}
.menu-end select {
    border: 0;
    background: transparent;
    font-size: 11px;
    padding: 3px;
}
.menu-end .icon-button {
    height: 28px;
}
.menu-end .icon {
    width: 15px;
}
.main-toolbar {
    display: flex;
    align-items: center;
    gap: 3px;
    padding: 5px 12px;
    height: 44px;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    flex-shrink: 0;
}
.toolbar-divider {
    height: 18px;
    width: 1px;
    background: var(--line);
    margin: 0 7px;
}
.autosave-toggle {
    background: transparent;
    border: 0;
    font-size: 11px;
    color: var(--muted);
    padding: 5px;
}
.switch-track {
    width: 27px;
    height: 15px;
    border-radius: 20px;
    background: var(--line);
    position: relative;
}
.switch-track:after {
    content: '';
    position: absolute;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    top: 2px;
    left: 2px;
    background: var(--surface);
}
.enabled .switch-track {
    background: var(--accent);
}
.enabled .switch-track:after {
    left: 14px;
}
.autosave-toggle.enabled {
    color: var(--accent-ink);
}
#application {
    height: 100dvh;
    display: flex;
    flex-direction: column;
}
.app-body {
    flex: 1;
    min-height: 0;
    display: flex;
}
.sidebar {
    width: 242px;
    min-width: 205px;
    background: var(--sidebar);
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}
.workspace-switch {
    padding: 21px 15px 17px;
}
.workspace-switch label {
    display: block;
    text-transform: uppercase;
    font-size: 9px;
    letter-spacing: 1.1px;
    color: var(--muted);
    font-weight: 600;
    margin-bottom: 8px;
}
.workspace-switch select {
    width: 100%;
    font-size: 12px;
    font-weight: 600;
    background: var(--surface);
    padding: 10px 8px;
}
.sidebar-actions {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0 12px 9px 18px;
}
.sidebar-actions h2 {
    flex: 1;
    font-size: 10px;
    letter-spacing: 1.1px;
    font-weight: 600;
    color: var(--muted);
}
.sidebar-actions .icon-button {
    min-width: 26px;
    width: 26px;
    height: 26px;
    padding: 4px;
}
.sidebar-actions .icon {
    width: 15px;
}
.document-list {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0 9px 15px;
    scrollbar-width: thin;
}
.document-group {
    margin-bottom: 13px;
}
.group-heading {
    display: flex;
    align-items: center;
    min-height: 31px;
}
.group-heading>button:first-child {
    font-size: 11px;
    font-weight: 600;
    background: transparent;
    border: 0;
    border-radius: 4px;
    flex: 1;
    min-width: 0;
    padding: 5px;
    justify-content: flex-start;
    gap: 6px;
}
.group-heading>button:first-child>span {
    overflow: hidden;
    text-overflow: ellipsis;
}
.group-heading .icon {
    width: 14px;
    height: 14px;
    color: var(--muted);
}
.group-heading .icon:first-child {
    width: 11px;
}
.group-heading small {
    font-size: 10px;
    margin-left: auto;
    font-weight: 400;
    padding-right: 5px;
}
.item-more {
    width: 23px;
    height: 23px;
    padding: 3px;
    border: 0;
    background: transparent;
    opacity: .5;
    flex-shrink: 0;
}
.item-more .icon {
    width: 16px;
    height: 16px;
}
.document-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 5px 6px 26px;
    border-radius: 5px;
    min-height: 32px;
    cursor: pointer;
    font-size: 11px;
    touch-action: pan-y;
}
.document-item>.icon {
    width: 14px;
    height: 14px;
    color: var(--muted);
}
.document-item:hover {
    background: var(--surface-soft);
}
.document-item.selected {
    background: var(--accent-soft);
    color: var(--accent-ink);
}
.document-item.selected>.icon {
    color: var(--accent);
}
.document-name {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dirty-dot {
    color: #bf9b46;
    font-size: 9px;
    line-height: 1;
}
.dirty-dot.clean {
    visibility: hidden;
}
.ungrouped-label {
    font-size: 10px;
    color: var(--muted);
    padding: 12px 12px 7px;
}
.empty-sidebar {
    font-size: 11px;
    color: var(--muted);
    padding: 12px 16px;
    line-height: 1.8;
}
.sidebar-bottom {
    border-top: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 12px;
}
.vault-badge {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 9px;
    color: var(--muted);
}
.vault-badge .icon {
    color: var(--accent);
    width: 15px;
    height: 15px;
}
.workspace-main {
    display: flex;
    flex: 1;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    background: var(--surface);
}
.tabs {
    display: flex;
    align-items: stretch;
    min-height: 37px;
    max-height: 37px;
    border-bottom: 1px solid var(--line);
    background: var(--surface-soft);
    overflow-x: auto;
    scrollbar-width: thin;
    overscroll-behavior-x: contain;
}
.document-tab {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 9px 0 13px;
    max-width: 230px;
    font-size: 11px;
    border-right: 1px solid var(--line);
    border-bottom: 2px solid transparent;
    cursor: pointer;
    border-radius: 0;
    background: transparent;
    user-select: none;
}
.document-tab>span:not(.dirty-dot) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.document-tab>.icon {
    width: 14px;
    height: 14px;
    color: var(--muted);
}
.document-tab.active {
    background: var(--surface);
    border-bottom-color: var(--accent);
    color: var(--accent-ink);
}
.document-tab>button {
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 16px;
    color: var(--muted);
    width: 20px;
    height: 24px;
    border-radius: 4px;
}
.document-tab>button:hover {
    background: var(--line);
    color: var(--ink);
}
.welcome-tab {
    border-top: 0;
    border-left: 0;
}
.tab-add {
    margin: 2px 5px;
    min-width: 28px;
}
.editor-area {
    flex: 1;
    min-height: 0;
    position: relative;
    display: flex;
    overflow: hidden;
}
.editor-area>section {
    flex: 1;
    min-width: 0;
    min-height: 0;
}
.document-toolbar {
    display: flex;
    gap: 2px;
    align-items: center;
    padding: 5px 15px;
    height: 39px;
    border-bottom: 1px solid var(--line);
}
.document-toolbar button {
    height: 26px;
    min-width: 28px;
    padding: 4px 6px;
    border: 0;
    background: transparent;
    font-size: 12px;
}
.document-toolbar .icon {
    width: 15px;
    height: 15px;
}
.format-label {
    font-size: 10px;
    color: var(--muted);
    min-width: 55px;
}
.statusbar {
    height: 29px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    background: var(--surface-soft);
    border-top: 1px solid var(--line);
    font-size: 10px;
    white-space: nowrap;
}
.statusbar button {
    border: 0;
    background: transparent;
    padding: 2px 5px;
    font-size: 10px;
    height: 24px;
    border-radius: 3px;
}
.save-status {
    gap: 5px;
    min-width: 110px;
    justify-content: flex-start;
}
.save-status .icon {
    width: 12px;
    height: 12px;
}
.save-status[data-status=saved] {
    color: var(--accent-ink);
}
.save-status[data-status=error] {
    color: var(--danger);
}
.save-status[data-status=pending],.save-status[data-status=saving] {
    color: #a28235;
}
.asws {
    font-size: 9px!important;
    border-left: 1px solid var(--line)!important;
    padding-left: 11px!important;
    color: var(--muted);
    gap: 5px;
}
.asws .is-saved {
    color: var(--accent);
}
.asws .is-error {
    color: var(--danger);
}
.asws .is-pending {
    color: #c89b39;
}
.status-stats {
    padding-left: 9px;
    color: var(--muted);
    overflow: hidden;
    text-overflow: ellipsis;
}
.encoding-status,.eol-status {
    color: var(--muted);
}
#welcome-screen {
    overflow: auto;
    background: linear-gradient(155deg,var(--surface) 45%,var(--bg));
    scrollbar-width: thin;
}
.welcome-inner {
    max-width: 1110px;
    margin: 0 auto;
    padding: 48px clamp(24px,5vw,78px) 25px;
}
.welcome-eyebrow {
    font-size: 9px;
    font-weight: 650;
    letter-spacing: 1.8px;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 17px;
}
.welcome-inner h1 {
    font-size: clamp(25px,2.4vw,37px);
    letter-spacing: -1.5px;
    font-weight: 620;
    line-height: 1.3;
}
.welcome-subtitle {
    font-size: 12px;
    line-height: 1.85;
    color: var(--muted);
    margin-top: 13px;
    max-width: 550px;
}
.create-cards {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
    margin-top: 32px;
}
.create-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 10px;
    padding: 20px 17px 19px;
    position: relative;
    white-space: normal;
    min-height: 161px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 9px;
    transition: transform .15s,border-color .15s,box-shadow .15s;
}
.create-card:hover {
    transform: translateY(-3px);
    border-color: var(--accent);
    box-shadow: 0 5px 20px #274c3110;
    background: var(--surface);
}
.card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 36px;
    border-radius: 7px;
    background: var(--accent-soft);
    color: var(--accent);
}
.card-md .card-icon {
    background: #eeedf7;
    color: #8273ac;
}
.card-sheet .card-icon {
    background: #e9f2ee;
    color: #39896a;
}
.card-import .card-icon {
    background: #f6f0e5;
    color: #b68d4c;
}
.card-icon .icon {
    width: 20px;
    height: 20px;
}
.create-card strong {
    font-size: 12px;
    font-weight: 600;
    margin-top: 2px;
}
.create-card>span:not(.card-icon) {
    font-size: 10px;
    color: var(--muted);
    line-height: 1.8;
    max-width: 140px;
}
.card-arrow {
    position: absolute;
    top: 22px;
    right: 15px;
    width: 13px;
    height: 13px;
    color: var(--muted);
    opacity: .7;
}
.welcome-columns {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 46px;
    margin-top: 39px;
}
.welcome-columns h2 {
    font-size: 9px;
    letter-spacing: 1.4px;
    color: var(--muted);
    font-weight: 650;
    margin-bottom: 13px;
}
.recent-document {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    text-align: left;
    padding: 11px 4px;
    justify-content: flex-start;
    gap: 11px;
}
.recent-document>span {
    flex: 1;
    min-width: 0;
}
.recent-document strong {
    display: block;
    font-size: 11px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.recent-document small {
    display: block;
    font-size: 9px;
    margin-top: 5px;
}
.recent-document>.icon {
    width: 16px;
    height: 16px;
    color: var(--muted);
}
.recent-document>.icon:last-child {
    width: 12px;
}
.recent-empty {
    height: 173px;
    border: 1px dashed var(--line);
    border-radius: 7px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--muted);
}
.recent-empty>.icon {
    width: 25px;
    height: 25px;
    opacity: .6;
}
.recent-empty p {
    font-size: 11px;
}
.recent-empty>span {
    font-family: var(--mono);
    font-size: 9px;
    color: var(--muted);
    padding: 3px 7px;
    background: var(--surface-soft);
    border-radius: 3px;
}
.template-row {
    display: flex;
    gap: 12px;
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: transparent;
    border-radius: 0;
    justify-content: flex-start;
    padding: 13px 2px;
    font-size: 11px;
}
.template-number {
    font-family: var(--mono);
    font-size: 9px;
    color: var(--muted);
    width: 15px;
}
.template-row>.icon {
    width: 13px;
    height: 13px;
    color: var(--muted);
    margin-left: auto;
}
.privacy-card {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 18px 19px;
    margin-top: 32px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--sidebar);
}
.privacy-card>.icon {
    width: 26px;
    height: 26px;
    color: var(--accent);
    flex-shrink: 0;
}
.privacy-card strong {
    font-size: 11px;
    font-weight: 600;
}
.privacy-card p {
    font-size: 10px;
    line-height: 1.8;
    color: var(--muted);
    margin-top: 4px;
}
.local-label {
    margin-left: auto;
    font-size: 8px;
    letter-spacing: 1px;
    white-space: nowrap;
    border: 1px solid var(--line);
    padding: 6px 9px;
    color: var(--accent-ink);
    border-radius: 4px;
}
.welcome-foot {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: flex-start;
    margin-top: 18px;
    font-size: 9px;
    line-height: 1.8;
    color: var(--muted);
}
.welcome-foot>span {
    max-width: 400px;
}
.welcome-foot button {
    border: 0;
    background: transparent;
    font-size: 9px;
    padding: 0;
    color: var(--muted);
}
#text-editor {
    display: flex;
    flex-direction: column;
}
.editor-split {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex: 1;
}
.text-pane {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    position: relative;
}
.line-gutter {
    width: 54px;
    flex-shrink: 0;
    background: var(--sidebar);
    border-right: 1px solid var(--line);
    position: relative;
    font: 14px/22px var(--mono);
    overflow: hidden;
    color: var(--muted);
    user-select: none;
}
.line-gutter span {
    position: absolute;
    right: 13px;
    text-align: right;
    line-height: inherit;
}
.text-input {
    font: 14px/22px var(--mono);
    padding: 20px 24px;
    margin: 0;
    border: 0;
    resize: none;
    outline: none!important;
    background: var(--surface);
    color: var(--ink);
    width: 100%;
    height: 100%;
    overflow: auto;
    tab-size: 2;
    scrollbar-width: thin;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    border-radius: 0;
    caret-color: var(--accent);
}
.no-lines .line-gutter {
    display: none;
}
.markdown-preview {
    display: none;
    width: 45%;
    min-width: 230px;
    overflow: auto;
    line-height: 1.8;
    padding: 24px 30px;
    background: var(--surface);
    border-left: 1px solid var(--line);
    font-size: 14px;
    color: var(--ink);
    scrollbar-width: thin;
}
.with-preview .markdown-preview {
    display: block;
}
.markdown-preview h1 {
    font-size: 28px;
    letter-spacing: -.7px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 13px;
    margin: 5px 0 20px;
}
.markdown-preview h2 {
    font-size: 20px;
    margin: 24px 0 10px;
}
.markdown-preview h3 {
    font-size: 16px;
    margin: 20px 0 8px;
}
.markdown-preview p {
    margin: 8px 0;
}
.markdown-preview pre {
    padding: 14px;
    background: var(--surface-soft);
    overflow: auto;
    border-radius: 5px;
}
.markdown-preview code {
    font-family: var(--mono);
    background: var(--surface-soft);
    font-size: 12px;
    padding: 2px 4px;
    border-radius: 3px;
}
.markdown-preview blockquote {
    margin: 15px 0;
    border-left: 3px solid var(--accent);
    padding: 5px 15px;
    color: var(--muted);
}
.markdown-preview .tasks {
    list-style: none;
    padding-left: 3px;
}
.markdown-preview .safe-link {
    color: var(--accent);
}
.markdown-preview .safe-link small {
    overflow-wrap: anywhere;
}
.markdown-preview hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 20px 0;
}
.md-gap {
    height: 5px;
}
#sheet-editor {
    display: flex;
    flex-direction: column;
}
.formula-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 37px;
    border-bottom: 1px solid var(--line);
    padding: 0 9px;
}
.cell-address {
    width: 65px;
    font-size: 12px;
    font-family: var(--mono);
    text-align: center;
    border-right: 1px solid var(--line);
}
.fx {
    font: italic 17px Georgia;
    color: var(--muted);
}
.formula-input {
    flex: 1;
    border: 0;
    padding: 4px 7px;
    font: 12px var(--mono);
    border-radius: 3px;
}
.formula-bar>button {
    padding: 2px 10px;
    border: 0;
    background: transparent;
    font-size: 17px;
}
.sheet-scroll {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow: auto;
    outline: none!important;
    scrollbar-width: thin;
    overscroll-behavior: contain;
}
.sheet-canvas {
    position: relative;
    background: var(--surface);
}
.sheet-cell,.row-label,.col-label,.sheet-corner {
    position: absolute;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
    padding: 5px 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: cell;
    user-select: none;
    line-height: 1.4;
}
.row-label,.col-label,.sheet-corner {
    z-index: 3;
    background: var(--surface-soft);
    font: 10px/20px var(--mono);
    text-align: center;
    padding: 4px;
    color: var(--muted);
    cursor: default;
}
.sheet-corner {
    z-index: 4;
}
.sheet-cell.selected {
    background: var(--accent-soft);
}
.sheet-cell.active {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
    z-index: 1;
}
.sheet-cell.cell-error {
    color: var(--danger);
}
.sheet-footer {
    height: 31px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 0 9px;
    font-size: 10px;
    color: var(--muted);
}
.sheet-footer button {
    border: 0;
    font-size: 10px;
    background: transparent;
    padding: 5px;
}
.sheet-footer span {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#pdf-viewer {
    display: flex;
    flex-direction: column;
    background: var(--surface-soft);
}
.pdf-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    font-size: 11px;
    gap: 15px;
    color: var(--muted);
}
#pdf-viewer iframe {
    flex: 1;
    width: 100%;
    border: 0;
    background: #525659;
}
.search-panel {
    max-height: 40%;
    border-bottom: 1px solid var(--line);
    background: var(--sidebar);
    overflow: auto;
    padding: 13px 20px;
}
.search-controls {
    display: flex;
    align-items: center;
    gap: 12px;
}
.search-controls>input {
    flex: 1;
    font-size: 12px;
}
.search-controls label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    color: var(--muted);
}
.search-summary {
    font-size: 10px;
    color: var(--muted);
    padding: 10px 0;
}
.search-result {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    border: 0;
    background: transparent;
    border-radius: 4px;
    width: 100%;
    text-align: left;
    justify-content: flex-start;
    padding: 8px 5px;
    font-size: 11px;
    white-space: normal;
}
.search-result strong {
    font-weight: 600;
    flex-shrink: 0;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.search-result span {
    font-family: var(--mono);
    font-size: 10px;
    overflow: hidden;
    color: var(--muted);
}
.menu-popup {
    position: fixed;
    z-index: 120;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: 5px;
    box-shadow: var(--shadow);
    width: 288px;
    max-height: 80dvh;
    overflow: auto;
}
.menu-popup button {
    width: 100%;
    border: 0;
    background: transparent;
    justify-content: space-between;
    padding: 7px 9px;
    border-radius: 5px;
    font-size: 11px;
    min-height: 30px;
}
.menu-popup button:hover,.menu-popup button:focus-visible {
    background: var(--accent-soft);
    outline: none;
}
.menu-popup kbd {
    font-size: 9px;
    color: var(--muted);
    font-family: var(--mono);
}
.menu-separator {
    height: 1px;
    background: var(--line);
    margin: 5px 3px;
}
.update-banner {
    background: var(--accent-soft);
    padding: 7px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    border-bottom: 1px solid var(--line);
}
.update-banner>span {
    flex: 1;
}
.update-banner>button {
    font-size: 10px;
    padding: 4px 8px;
}
.drop-overlay {
    position: absolute;
    inset: 145px 15px 40px;
    background: color-mix(in srgb,var(--surface) 92%,transparent);
    border: 2px dashed var(--accent);
    border-radius: 12px;
    z-index: 90;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 22px;
    pointer-events: none;
}
.drop-overlay>.icon {
    width: 45px;
    height: 45px;
    color: var(--accent);
}
.drop-overlay h2 {
    font-size: 23px;
    font-weight: 500;
}
.mobile-toolbar {
    display: none;
}
.sidebar-hidden .sidebar {
    display: none;
}
.focus-mode .sidebar,.focus-mode .menubar,.focus-mode .titlebar,.focus-mode .main-toolbar {
    display: none;
}
#auth-screen {
    height: 100dvh;
    overflow: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--surface);
}
.auth-story {
    background: var(--sidebar);
    border-right: 1px solid var(--line);
    padding: 48px clamp(30px,6vw,95px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
    position: relative;
    overflow: hidden;
}
.auth-story:after {
    content: '';
    position: absolute;
    width: 520px;
    height: 520px;
    border: 1px solid var(--line);
    border-radius: 50%;
    right: -210px;
    bottom: -180px;
    box-shadow: 0 0 0 50px var(--sidebar),0 0 0 51px var(--line),0 0 0 110px var(--sidebar),0 0 0 111px var(--line);
    pointer-events: none;
    opacity: .7;
}
.auth-story>* {
    position: relative;
    z-index: 1;
}
.auth-story h1,.auth-story .auth-headline {
    font-size: clamp(34px,3.5vw,53px);
    line-height: 1.16;
    letter-spacing: -2.3px;
    font-weight: 580;
    max-width: 470px;
}
.auth-story .auth-description {
    font-size: 14px;
    line-height: 1.9;
    color: var(--muted);
    max-width: 370px;
    margin-top: 24px;
}
.auth-features {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 37px;
}
.auth-feature {
    display: flex;
    gap: 12px;
    font-size: 12px;
    align-items: center;
}
.auth-feature .icon {
    color: var(--accent);
    width: 18px;
}
.auth-story footer {
    font-size: 10px;
    color: var(--muted);
    line-height: 1.9;
    max-width: 340px;
}
.auth-form-area {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px 45px;
    position: relative;
}
.auth-lang {
    position: absolute;
    right: 30px;
    top: 27px;
}
.auth-form-box {
    max-width: 355px;
    width: 100%;
}
.auth-symbol {
    width: 50px;
    height: 50px;
    background: var(--accent-soft);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    margin-bottom: 25px;
}
.auth-symbol .icon {
    width: 26px;
    height: 26px;
}
.auth-form-box h2 {
    font-size: 25px;
    font-weight: 620;
    letter-spacing: -.6px;
    line-height: 1.3;
}
.auth-form-box>p {
    font-size: 12px;
    line-height: 1.8;
    color: var(--muted);
    margin-top: 13px;
}
.auth-form-box form {
    margin-top: 25px;
}
.field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
}
.field label {
    font-size: 11px;
    font-weight: 600;
}
.field input,.field select {
    height: 42px;
    font-size: 13px;
    width: 100%;
}
.field small {
    font-size: 10px;
    line-height: 1.7;
}
.auth-form-box .primary {
    height: 42px;
    width: 100%;
    font-size: 12px;
}
.auth-error {
    color: var(--danger);
    font-size: 11px;
    line-height: 1.8;
    padding: 8px 0;
}
.auth-recover {
    font-size: 11px;
    color: var(--muted);
    display: block;
    margin: 17px auto;
    border: 0;
    background: transparent;
}
.auth-trust {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 10px;
    color: var(--muted);
}
.auth-trust .icon {
    width: 14px;
    height: 14px;
}
.auth-busy {
    position: fixed;
    inset: 0;
    z-index: 300;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface);
    font-size: 14px;
    color: var(--muted);
}
dialog {
    border: 1px solid var(--line);
    border-radius: 13px;
    box-shadow: 0 30px 120px #0003;
    background: var(--surface);
    color: var(--ink);
    padding: 25px;
    width: min(460px,calc(100vw - 28px));
    max-height: 90dvh;
    overflow: auto;
}
dialog.wide {
    width: min(700px,calc(100vw - 28px));
}
dialog::backdrop {
    background: #13251c66;
    backdrop-filter: blur(4px);
}
.dialog-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-bottom: 14px;
}
.dialog-heading h2 {
    font-size: 20px;
    letter-spacing: -.4px;
    font-weight: 620;
    line-height: 1.3;
}
.dialog-message {
    font-size: 12px;
    line-height: 1.8;
    color: var(--muted);
    margin-bottom: 23px;
    white-space: pre-line;
}
.fields {
    margin-top: 8px;
}
.dialog-actions {
    margin-top: 22px;
    display: flex;
    justify-content: flex-end;
    gap: 9px;
}
.dialog-actions button {
    font-size: 12px;
}
.dialog-error {
    font-size: 11px;
    color: var(--danger);
    line-height: 1.7;
}
.checkbox {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 12px;
    margin: 15px 0;
    line-height: 1.6;
}
.recovery-codes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    background: var(--surface-soft);
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 7px;
    margin: 15px 0;
    font: 12px var(--mono);
    text-align: center;
    user-select: all;
}
.recovery-download {
    display: block;
    margin: 12px auto;
    font-size: 12px;
}
.detail-table {
    width: 100%;
    font-size: 12px;
    border-collapse: collapse;
}
.detail-table td {
    padding: 9px;
    border-bottom: 1px solid var(--line);
}
.detail-table td:first-child {
    color: var(--muted);
}
.detail-table kbd {
    font-family: var(--mono);
    font-size: 10px;
    background: var(--surface-soft);
    padding: 3px 6px;
    border-radius: 3px;
}
.info-callout {
    padding: 12px 14px;
    border-radius: 7px;
    background: var(--accent-soft);
    color: var(--accent-ink);
    font-size: 11px;
    line-height: 1.8;
    margin: 12px 0;
}
#toasts {
    position: fixed;
    right: 22px;
    bottom: 46px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    z-index: 500;
    max-width: min(450px,calc(100vw - 30px));
    pointer-events: none;
}
.toast {
    background: var(--surface);
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    border-radius: 7px;
    padding: 14px 18px;
    box-shadow: var(--shadow);
    font-size: 12px;
    line-height: 1.7;
    animation: toast-in .18s ease-out;
    overflow-wrap: anywhere;
}
.toast.error {
    border-left-color: var(--danger);
}
@keyframes toast-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
#print-area {
    display: none;
}
.blocked-screen {
    height: 100dvh;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    text-align: center;
}
.blocked-screen p {
    max-width: 500px;
    line-height: 1.8;
}
.word-goal {
    height: 5px;
    border-radius: 3px;
    background: var(--line);
    overflow: hidden;
}
.word-goal>span {
    height: 100%;
    display: block;
    background: var(--accent);
}
@media(min-width:1600px) {
    .welcome-inner {
        padding-top: 70px;
    }
    .create-card {
        min-height: 180px;
        padding: 23px;
    }
    .welcome-columns {
        margin-top: 50px;
    }
}
@media(max-width:1150px) {
    .sidebar {
        width: 215px;
    }
    .titlebar {
        gap: 14px;
    }
    .welcome-inner {
        padding: 32px;
    }
    .create-cards {
        gap: 9px;
    }
    .create-card {
        padding: 16px 12px;
    }
    .create-card strong {
        font-size: 11px;
    }
    .welcome-columns {
        gap: 27px;
    }
    .local-label {
        display: none;
    }
    .app-edition {
        display: none;
    }
    .menus .menu-trigger {
        padding: 6px 9px;
    }
}
@media(max-width:850px) {
    .sidebar {
        width: 215px;
        position: absolute;
        left: 0;
        top: 132px;
        bottom: 29px;
        z-index: 80;
        box-shadow: 12px 0 30px #0001;
    }
    .welcome-inner {
        padding: 30px 28px;
    }
    .network-label {
        font-size: 10px;
    }
    .welcome-columns {
        gap: 25px;
    }
    .main-toolbar {
        gap: 2px;
    }
    .toolbar-divider {
        margin: 0 4px;
    }
    .markdown-preview {
        padding: 20px;
        min-width: 190px;
    }
    .auth-story {
        padding: 35px;
    }
    .auth-form-area {
        padding: 40px 28px;
    }
    .auth-story h1,.auth-story .auth-headline {
        font-size: 35px;
    }
    .status-stats {
        font-size: 9px;
    }
    .menus {
        max-width: calc(100vw - 130px);
    }
}
@media(max-width:600px) {
    html,body {
        font-size: 14px;
    }
    .titlebar {
        height: 49px;
        padding: 0 15px;
    }
    .brand {
        font-size: 23px;
    }
    .brand>.icon {
        width: 23px;
        height: 23px;
    }
    .titlebar .network-label {
        margin-left: auto;
    }
    .lock-button {
        border: 0;
        background: transparent;
        padding: 7px;
    }
    .lock-button>.icon {
        width: 18px;
        height: 18px;
    }
    .lock-button>span {
        display: none;
    }
    .menubar {
        height: 38px;
        padding: 0 6px;
    }
    .menus .menu-trigger {
        font-size: 12px;
        padding: 8px;
    }
    .menu-end select {
        max-width: 79px;
        font-size: 10px;
    }
    .menu-end {
        gap: 0;
    }
    .menu-end .icon-button {
        width: 25px;
        min-width: 25px;
    }
    .main-toolbar {
        height: 39px;
        padding: 3px 8px;
        overflow-x: auto;
        scrollbar-width: none;
        gap: 1px;
    }
    .main-toolbar .icon-button {
        min-width: 29px;
        width: 29px;
        height: 31px;
    }
    .main-toolbar .icon {
        width: 17px;
        height: 17px;
    }
    .main-toolbar .toolbar-divider {
        margin: 0 3px;
    }
    .main-toolbar .autosave-toggle {
        font-size: 0;
        gap: 0;
        min-width: 28px;
    }
    .main-toolbar .autosave-toggle .switch-track {
        transform: scale(.9);
    }
    .sidebar {
        width: 270px;
        top: 126px;
        bottom: 28px;
        box-shadow: 20px 0 65px #0003;
    }
    .sidebar .document-item {
        min-height: 41px;
        font-size: 12px;
    }
    .sidebar .item-more {
        opacity: 1;
        width: 30px;
        height: 30px;
    }
    .sidebar .group-heading>button:first-child {
        min-height: 38px;
        font-size: 12px;
    }
    .sidebar-actions .icon-button {
        width: 32px;
        height: 32px;
    }
    .tabs {
        min-height: 40px;
        max-height: 40px;
    }
    .document-tab {
        max-width: 200px;
        font-size: 11px;
        padding-left: 11px;
    }
    .document-tab>button {
        width: 25px;
        height: 30px;
    }
    .welcome-inner {
        padding: 29px 21px 30px;
    }
    .welcome-inner h1 {
        font-size: 29px;
        letter-spacing: -1px;
        max-width: 330px;
        line-height: 1.2;
    }
    .welcome-subtitle {
        font-size: 12px;
        line-height: 1.8;
        max-width: 325px;
        margin-top: 13px;
    }
    .welcome-eyebrow {
        font-size: 8px;
        margin-bottom: 15px;
    }
    .create-cards {
        grid-template-columns: repeat(2,minmax(0,1fr));
        margin-top: 24px;
        gap: 10px;
    }
    .create-card {
        min-height: 145px;
        padding: 17px 14px;
        gap: 8px;
    }
    .create-card strong {
        font-size: 12px;
    }
    .create-card>span:not(.card-icon) {
        font-size: 10px;
        line-height: 1.6;
    }
    .welcome-columns {
        grid-template-columns: 1fr;
        margin-top: 28px;
        gap: 29px;
    }
    .recent-section:has(.recent-empty) {
        display: none;
    }
    .welcome-columns h2 {
        font-size: 9px;
    }
    .template-row {
        padding: 15px 3px;
        font-size: 12px;
    }
    .privacy-card {
        margin-top: 26px;
        padding: 16px 13px;
        align-items: flex-start;
    }
    .privacy-card strong {
        font-size: 11px;
    }
    .privacy-card p {
        font-size: 10px;
    }
    .privacy-card>.icon {
        width: 23px;
        height: 23px;
    }
    .welcome-foot {
        display: block;
        font-size: 9px;
    }
    .welcome-foot button {
        margin-top: 12px;
    }
    .statusbar {
        gap: 2px;
        padding: 0 4px;
        height: 28px;
        font-size: 9px;
        overflow: hidden;
    }
    .statusbar .save-status {
        min-width: 30px;
        padding: 3px;
    }
    .save-status>span {
        display: none;
    }
    .asws {
        font-size: 8px!important;
        padding-left: 5px!important;
    }
    .status-stats {
        padding-left: 4px;
        font-size: 8px;
        max-width: 45vw;
        flex: 1;
    }
    .encoding-status,.eol-status {
        display: none!important;
    }
    .statusbar button {
        font-size: 9px;
        padding: 2px 4px;
    }
    .mobile-toolbar {
        display: flex;
        justify-content: space-around;
        border-top: 1px solid var(--line);
        padding: 4px 8px max(4px,env(safe-area-inset-bottom));
        background: var(--surface);
    }
    .mobile-toolbar .icon-button {
        width: 43px;
        height: 37px;
    }
    .mobile-toolbar .icon {
        width: 19px;
        height: 19px;
    }
    .text-input {
        padding: 16px 15px;
        font-size: 15px!important;
    }
    .line-gutter {
        width: 39px;
    }
    .line-gutter span {
        right: 8px;
    }
    .with-preview .editor-split {
        flex-direction: column;
    }
    .with-preview .text-pane {
        min-height: 45%;
        max-height: 55%;
    }
    .markdown-preview {
        width: 100%;
        min-height: 45%;
        max-height: 55%;
        border-left: 0;
        border-top: 1px solid var(--line);
        padding: 17px 22px;
        font-size: 13px;
    }
    .markdown-preview h1 {
        font-size: 23px;
    }
    .document-toolbar {
        padding: 4px 8px;
        height: 36px;
    }
    .document-toolbar .format-label {
        font-size: 9px;
        min-width: 0;
    }
    .document-toolbar button {
        height: 28px;
    }
    .search-panel {
        padding: 10px 13px;
        max-height: 45%;
    }
    .search-controls {
        gap: 5px;
        flex-wrap: wrap;
    }
    .search-controls>input {
        flex: 1;
        min-width: 65%;
        font-size: 13px;
    }
    .search-controls label {
        font-size: 9px;
    }
    .search-result {
        display: block;
    }
    .search-result strong {
        display: block;
        margin-bottom: 5px;
        max-width: 100%;
    }
    .search-result span {
        display: block;
        font-size: 10px;
    }
    .search-summary {
        font-size: 9px;
    }
    .formula-bar {
        gap: 7px;
        padding: 0 5px;
    }
    .cell-address {
        width: 45px;
        font-size: 11px;
    }
    .formula-input {
        font-size: 14px;
    }
    .sheet-footer span {
        display: none;
    }
    .sheet-footer {
        justify-content: space-between;
    }
    .pdf-hint {
        padding: 10px;
        font-size: 10px;
        flex-wrap: wrap;
    }
    .pdf-hint button {
        font-size: 11px;
    }
    .menu-popup {
        width: 270px;
        max-height: 70dvh;
    }
    .menu-popup button {
        padding: 9px;
        font-size: 12px;
        min-height: 37px;
    }
    .menu-popup kbd {
        font-size: 8px;
    }
    .auth-story {
        display: none;
    }
    #auth-screen {
        display: block;
        background: var(--sidebar);
    }
    .auth-form-area {
        min-height: 100dvh;
        padding: 85px 28px 55px;
    }
    .auth-form-box {
        max-width: 370px;
    }
    .auth-form-box h2 {
        font-size: 29px;
    }
    .auth-form-box>p {
        font-size: 13px;
    }
    .auth-symbol {
        margin-bottom: 25px;
    }
    .auth-form-box .field input {
        height: 47px;
        font-size: 16px;
    }
    .auth-form-box .primary {
        height: 47px;
        font-size: 13px;
    }
    .auth-trust {
        font-size: 10px;
    }
    .auth-lang {
        right: 25px;
        top: 25px;
    }
    dialog {
        padding: 21px 19px;
        border-radius: 12px;
        width: calc(100vw - 24px);
        max-height: 88dvh;
    }
    .dialog-heading h2 {
        font-size: 20px;
    }
    .dialog-message {
        font-size: 12px;
    }
    .field input,.field select {
        font-size: 16px;
        height: 44px;
    }
    .recovery-codes {
        font-size: 10px;
        padding: 12px 6px;
    }
    .toast {
        font-size: 12px;
        padding: 13px 15px;
    }
    #toasts {
        right: 14px;
        bottom: 85px;
    }
    .drop-overlay {
        inset: 130px 9px 85px;
    }
    .focus-mode .mobile-toolbar {
        display: flex;
    }
    .update-banner {
        font-size: 10px;
        padding: 7px 10px;
    }
}
@media(prefers-reduced-motion:reduce) {
    * {
        scroll-behavior: auto!important;
        transition: none!important;
        animation: none!important;
    }
}
@media print {
    @page {
        size: A4;
        margin: 18mm;
    }
    body {
        height: auto;
        overflow: visible;
        background: #fff;
        color: #111;
    }
    #application,#auth-screen,#modal,#toasts,.auth-busy {
        display: none!important;
    }
    #print-area {
        display: block!important;
        white-space: normal;
        font: 12pt/1.55 Georgia,serif;
        color: #111;
    }
    #print-area pre {
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        font: 10pt/1.5 var(--mono);
    }
    #print-area h1 {
        font-size: 25pt;
        margin-bottom: 20px;
    }
    #print-area h2 {
        font-size: 18pt;
        margin-top: 20px;
    }
    #print-area p {
        margin: 8px 0;
    }
    #print-area table {
        border-collapse: collapse;
        width: 100%;
        font: 9pt/1.4 var(--sans);
    }
    #print-area td,#print-area th {
        border: 1px solid #ccc;
        padding: 5px;
        text-align: left;
    }
    #print-area tr {
        break-inside: avoid;
    }
    #print-area thead {
        display: table-header-group;
    }
    #print-area .print-title {
        font: 10pt var(--sans);
        color: #555;
        border-bottom: 1px solid #ddd;
        padding-bottom: 10px;
        margin-bottom: 20px;
    }
}


.virtual-row { display: contents; }
[role=tab]:focus-visible, .document-item:focus-visible { outline: 2px solid var(--accent, #28765c); outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

.md-table-scroll { overflow-x: auto; max-width: 100%; margin: 1rem 0; }
.markdown-preview table { border-collapse: collapse; width: 100%; }
.markdown-preview th, .markdown-preview td { border: 1px solid var(--border, #dfe5e2); padding: .6rem .8rem; text-align: left; }
.markdown-preview th { font-weight: 650; }

.network-label[data-ready="false"] .live-dot { background: #b58331; box-shadow: none; }


.workspace-native { display:none!important; }
.workspace-current { width:100%; justify-content:flex-start; gap:10px; padding:11px 9px; text-align:left; background:var(--surface); box-shadow:0 2px 5px #183b2510; }
.workspace-current>span:nth-child(2) { min-width:0;flex:1; }
.workspace-card-title { display:block;overflow:hidden;text-overflow:ellipsis;font-size:12px; }
.workspace-card-meta { display:block;margin-top:5px;font-size:10px; }
.workspace-monogram { width:32px;height:34px;background:var(--accent-soft);color:var(--accent-ink);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0; }
.workspace-switching { cursor:progress; }
.workspace-switching::after {content:'';position:absolute;inset:0;pointer-events:none;z-index:70;background:color-mix(in srgb,var(--surface) 30%,transparent);}
.workspace-search-label {display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.workspace-search {width:100%;}
.workspace-cards {display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:55vh;overflow:auto;padding:3px;}
.workspace-card {padding:18px;align-items:flex-start;gap:12px;text-align:left;min-width:0;white-space:normal;}
.workspace-card.active {border-color:var(--accent);background:var(--accent-soft);}
.workspace-card-info {flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;}
.workspace-card-info strong {font-size:14px;overflow-wrap:anywhere;}
.workspace-card-info>span {font-size:11px;color:var(--muted);}
.document-item[data-sticky=true]>.icon {background:var(--sticky-color);border-radius:4px;padding:2px;color:#334155;}
.create-cards {grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.card-board .card-icon {color:#5850a4;background:#eeeafd;}
.card-sticky .card-icon {color:#806312;background:#fff1b8;}
.card-rich .card-icon {color:#326984;background:#e2f1fb;}
.sticky-color-picker {padding:1px!important;height:27px;width:32px;border:none;border-radius:4px;}
.sticky-editor {background:var(--surface-soft);padding:32px;}
.sticky-editor .editor-split {max-width:860px;margin:0 auto;box-shadow:0 8px 22px #28372717;border-radius:4px 4px 18px 4px;overflow:hidden;}
.sticky-editor .text-pane,.sticky-editor .text-input,.sticky-editor .line-gutter {background:var(--sticky-color);color:#283243;}
.sticky-editor .text-input {padding:25px 30px;}
.sticky-editor .line-gutter {color:#52606b;}
#rich-editor {background:var(--surface-soft);overflow:hidden;}
.rich-scroll {height:100%;overflow:auto;overscroll-behavior:contain;padding:32px 36px;}
.rich-page {background:var(--surface);max-width:880px;min-height:100%;padding:56px 64px;margin:auto;outline:none;box-shadow:0 3px 20px #12321b0a;border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);}
.rich-page:focus {border-color:color-mix(in srgb,var(--accent) 28%,var(--line));}
.rich-page p,.rich-page div {margin:0 0 12px;}
.rich-page h1 {font-size:2em;letter-spacing:-.04em;line-height:1.25;margin:0 0 24px;}
.rich-page h2 {font-size:1.45em;margin:24px 0 14px;}
.rich-page h3 {margin:16px 0 10px;}
.rich-page blockquote {border-left:3px solid var(--accent);padding:12px 20px;background:var(--accent-soft);margin:18px 0;}
.rich-page pre {padding:15px;background:var(--surface-soft);font-family:var(--mono);overflow-x:auto;}
.rich-page li {margin:5px 0;}
.rich-page ul,.rich-page ol {padding-left:1.8em;}
.rich-page hr {border:0;border-top:1px solid var(--line);margin:24px 0;}
.paragraph-select {padding:5px 8px;max-width:130px;font-size:12px;border-radius:5px;}
.cell-value {display:block;min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;}
.version-preview {max-height:290px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-soft);padding:18px;border:1px solid var(--line);border-radius:10px;}
.version-current {font-size:12px;margin-bottom:8px;color:var(--muted);}
.dictation-banner {display:flex;gap:12px;align-items:center;padding:9px 20px;background:var(--accent-soft);color:var(--accent-ink);min-height:43px;}
.dictation-interim {flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8;}
.dictation-banner button {margin-left:auto;padding:3px 12px;}
.mic-pulse {width:8px;height:8px;border-radius:50%;background:#d15757;box-shadow:0 0 0 5px #d1575720;animation:mic-live 2s ease-in-out infinite;}
@keyframes mic-live {50%{box-shadow:0 0 0 8px #d1575710;}}

#board-editor {position:relative;background:#f6f8fc;color:#26354b;overflow:hidden;}
.board-stage {position:relative;width:100%;height:100%;min-height:180px;overflow:hidden;}
.board-canvas {position:absolute;inset:0;outline:none;touch-action:none;user-select:none;}
.board-tools {position:absolute;left:18px;top:18px;display:flex;flex-direction:column;padding:6px;gap:2px;border:1px solid #e0e6ee;border-radius:13px;background:#fffffff7;box-shadow:0 7px 20px #27364b10;z-index:3;}
.board-tools button {width:35px;height:35px;border:0;background:transparent;color:#56657b;border-radius:7px;padding:7px;}
.board-tools button:hover {background:#edf1f7;}
.board-tools button[aria-pressed=true] {background:#e9e5ff;color:#6250b8;}
.board-tools>span {height:1px;background:#e6eaf0;margin:5px 3px;}
.board-heading {position:absolute;left:86px;top:23px;max-width:calc(100% - 190px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 14px;border:1px solid #e4e9f0;border-radius:10px;box-shadow:0 4px 12px #27364b08;background:#ffffffeb;font-size:13px;font-weight:600;pointer-events:none;}
.board-hint {position:absolute;bottom:23px;left:87px;max-width:calc(100% - 520px);color:#798499;font-size:11px;pointer-events:none;}
.board-navigation {position:absolute;bottom:17px;right:20px;display:flex;align-items:center;gap:1px;background:#fff;border:1px solid #e0e6ee;padding:4px;border-radius:11px;box-shadow:0 5px 18px #27364b10;z-index:4;}
.board-navigation button {background:transparent;border:0;border-radius:6px;padding:7px 10px;color:#44516a;min-width:29px;}
.board-navigation button:hover {background:#f1f4f9;}
.board-zoom {font-size:12px;min-width:54px!important;}
.board-minimap {position:absolute;right:21px;bottom:77px;width:156px;height:95px;border:1px solid #dce3ee;border-radius:8px;background:#fff;box-shadow:0 4px 15px #27364b0c;cursor:crosshair;}
.board-inspector {position:absolute;top:18px;right:18px;width:250px;max-height:calc(100% - 85px);overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 32px #27364b1c;border-radius:12px;padding:14px;z-index:5;}
.inspector-title {display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:15px;}
.inspector-title button {border:0;padding:3px 5px;font-size:10px;}
.color-swatches {display:flex;gap:5px;padding:0 0 15px;}
.color-swatches button {padding:0;width:25px;height:25px;border-radius:50%;border:1px solid #43506218;}
.color-swatches button.active {outline:2px solid #7663d1;outline-offset:2px;}
.inspector-fields {display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.inspector-fields label {font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:5px;}
.inspector-fields input {width:100%;height:29px;padding:3px 7px;}
.inspector-fields input[type=color] {padding:1px;}
.inspector-fields input[type=checkbox] {width:16px;height:16px;}
.inspector-actions {display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--line);padding-top:12px;margin-top:16px;}
.inspector-actions button {font-size:10px;padding:6px 8px;}
.board-inline {position:absolute;z-index:6;resize:none;border:2px solid #7762d0;outline:none;border-radius:5px;padding:14px;background:#fffef8;color:#26354b;box-shadow:0 3px 13px #26374b20;}
.board-cell-input {position:absolute;z-index:6;background:#fff;color:#26354b;border:2px solid #7762d0;outline:none;border-radius:3px;padding:3px 5px;}
.board-layers {position:absolute;right:19px;bottom:77px;width:250px;max-height:55%;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 20px #27364b20;padding:13px;z-index:6;}
.board-layers>strong {display:block;margin-bottom:9px;font-size:12px;}
.board-layers button {display:flex;flex-direction:column;gap:4px;align-items:flex-start;width:100%;white-space:normal;text-align:left;border:0;padding:9px;font-size:12px;overflow-wrap:anywhere;}
.board-layers button span {font-size:10px;color:var(--muted);}
.board-layers button.active {background:var(--accent-soft);}

.settings-visible .document-toolbar,.settings-visible .mobile-toolbar {display:none!important;}
#settings-page {overflow:auto;background:var(--bg);}
.settings-header {display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 40px 25px;border-bottom:1px solid var(--line);background:var(--surface);}
.settings-eyebrow {font-size:10px;letter-spacing:.13em;font-weight:600;color:var(--muted);}
.settings-header h1 {font-size:27px;letter-spacing:-.035em;margin:7px 0 8px;}
.settings-header p {color:var(--muted);font-size:12px;line-height:1.6;max-width:660px;}
.settings-close {font-size:11px;flex-shrink:0;}
.settings-layout {display:grid;grid-template-columns:195px minmax(0,1fr);gap:26px;max-width:1130px;margin:auto;padding:28px 38px 48px;}
.settings-navigation {display:flex;flex-direction:column;gap:3px;}
.settings-navigation button {background:transparent;justify-content:flex-start;border:none;padding:12px 10px;font-size:12px;font-weight:500;}
.settings-navigation button.active {color:var(--accent-ink);background:var(--accent-soft);}
.settings-navigation .icon {width:17px;height:17px;margin-right:3px;}
.settings-local-badge {font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px;padding:20px 10px;margin-top:16px;border-top:1px solid var(--line);}
.settings-local-badge .icon {width:14px;}
.settings-search-wrap {display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding-left:13px;margin-bottom:23px;color:var(--muted);}
.settings-search {border:0;width:100%;background:transparent;outline:none;}
.settings-section {border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:26px;}
.settings-section header {padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:5px;}
.settings-section header h2 {font-size:18px;letter-spacing:-.02em;margin-bottom:8px;}
.settings-section header p {font-size:12px;line-height:1.65;color:var(--muted);}
.settings-row {display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;border-bottom:1px solid var(--line);}
.settings-row:last-child {border-bottom:0;}
.settings-row label {flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;}
.settings-row label strong {font-size:12px;font-weight:600;}
.settings-row label small {font-size:11px;line-height:1.6;max-width:370px;}
.settings-row>input:not([type=checkbox]):not([type=color]),.settings-row>select {width:155px;max-width:45%;font-size:12px;padding:8px 10px;}
.settings-row>input[type=color] {padding:1px;width:40px;height:28px;}
.settings-row input[type=checkbox] {appearance:none;width:34px;height:20px;background:var(--line);border:0;border-radius:18px;position:relative;cursor:pointer;flex-shrink:0;}
.settings-row input[type=checkbox]::after {content:'';width:14px;height:14px;position:absolute;top:3px;left:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0002;transition:transform .15s;}
.settings-row input[type=checkbox]:checked {background:var(--accent);}
.settings-row input[type=checkbox]:checked::after {transform:translateX(14px);}
.settings-callout {padding:16px;background:var(--surface-soft);border-radius:8px;font-size:12px;line-height:1.75;display:flex;gap:13px;margin-top:16px;color:var(--muted);}
.settings-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.settings-actions button {font-size:12px;white-space:normal;}
.settings-footer {display:flex;justify-content:space-between;gap:10px;margin-top:20px;align-items:center;}
.settings-save-state {font-size:11px;color:var(--accent);display:flex;align-items:center;gap:6px;}
.settings-save-state .icon {width:14px;}
.settings-footer button {font-size:11px;border:0;background:transparent;color:var(--muted);}
.release-version {display:flex;align-items:center;gap:20px;margin:24px 0;font-size:15px;}
.release-version>.icon {width:48px;height:48px;color:var(--accent);}
.release-version strong {display:block;font-size:30px;letter-spacing:-.04em;margin-top:5px;}
.release-card>p {font-size:12px;line-height:1.8;color:var(--muted);}
.release-changes {margin:18px 0;}
.release-changes p {display:flex;gap:10px;font-size:12px;margin:13px 0;line-height:1.7;}
.release-changes .icon {width:15px;color:var(--accent);}
.speech-capability {font-size:12px;padding-top:20px;line-height:1.7;}
.reduced-motion *, .reduced-motion *::before, .reduced-motion *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after{animation:none!important;transition:none!important;}}
@media(max-width:1100px){.board-hint{max-width:40%;}.settings-layout{padding:24px;grid-template-columns:158px minmax(0,1fr);gap:19px;}.settings-header{padding:25px;}.settings-section{padding:21px;}}
@media(max-width:680px){
 .workspace-cards {grid-template-columns:1fr;}.settings-header{padding:18px;align-items:flex-start;}.settings-header h1{font-size:24px;}.settings-close{font-size:10px;padding:7px;}.settings-close span{display:none;}
 .settings-layout{display:flex;flex-direction:column;padding:15px;gap:15px;}.settings-navigation{flex-direction:row;overflow:auto;flex-shrink:0;padding-bottom:6px;}.settings-navigation button{padding:9px 11px;font-size:11px;}.settings-local-badge{display:none;}.settings-section{padding:17px;}.settings-row{gap:13px;padding:17px 0;}.settings-row label small{font-size:10px;}.settings-row>input:not([type=checkbox]):not([type=color]),.settings-row>select{width:105px;}.settings-header p{font-size:11px;}
 .rich-scroll{padding:12px 10px;}.rich-page{padding:25px 20px;}.sticky-editor{padding:15px 10px;}.sticky-editor .text-input{padding:18px;}.paragraph-select{max-width:100px;}
 .board-tools{left:9px;top:12px;max-height:calc(100% - 70px);overflow:auto;padding:4px;border-radius:10px;}.board-tools button{height:31px;width:31px;min-height:31px;padding:6px;}.board-heading{top:12px;left:59px;font-size:11px;padding:9px 12px;max-width:calc(100% - 79px);}.board-hint{display:none;}.board-minimap{width:100px;height:65px;right:12px;bottom:62px;}.board-navigation{bottom:12px;right:12px;padding:2px;gap:0;}.board-navigation button{padding:7px 6px;font-size:12px;}.board-inspector{width:min(242px,calc(100% - 65px));right:10px;top:55px;max-height:calc(100% - 122px);padding:12px;}.board-layers{right:12px;bottom:62px;max-width:calc(100% - 67px);}.dictation-banner{padding:8px 12px;font-size:11px;gap:8px;}
}
@media print {.rich-page{padding:0;box-shadow:none;border:0;}#print-area>svg{width:100%;height:auto;}}
.workspace-main {position:relative;}
.table-window {border-top:1px solid var(--line);margin-top:12px;padding-top:12px;}
.board-tools {max-height:calc(100% - 85px);overflow-y:auto;scrollbar-width:thin;}


:root {--muted:#5b6c62;--focus:#146244;}
body[data-theme=dark] {--muted:#a5b8ab;--focus:#a6edc6;}
.skip-link {position:fixed;top:-100px;left:16px;z-index:10000;padding:13px 20px;background:var(--surface);color:var(--ink);border:2px solid var(--accent);border-radius:8px;font-weight:600;}
.skip-link:focus {top:12px;}
.context-actions {position:fixed;z-index:1000;min-width:242px;width:max-content;max-width:min(340px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:7px;box-shadow:0 12px 45px #102c222b;scrollbar-width:thin;}
.context-actions .context-caption {font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:9px 11px;border-bottom:1px solid var(--line);margin-bottom:4px;}
.context-actions button {display:flex;text-align:start;width:100%;justify-content:flex-start;border:0;background:transparent;padding:9px 11px;border-radius:6px;min-height:34px;font-size:12px;white-space:normal;}
.context-actions button:hover,.context-actions button:focus {background:var(--accent-soft);color:var(--accent-ink);outline-offset:-2px;}
.context-actions .menu-separator {margin:5px 6px;}
.menu-popup {max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overscroll-behavior:contain;}
.menu-popup button:disabled {cursor:not-allowed;opacity:.5;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {outline:2px solid var(--focus);outline-offset:2px;}
#workspace-main:focus {outline-offset:-3px;}
.sheet-scroll {overscroll-behavior:contain;}
.sheet-scroll[aria-busy=true] {cursor:progress;}
.virtual-row {display:contents;}
.sheet-cell.frozen-cell {z-index:3;background-color:var(--surface);box-shadow:0 2px 0 var(--accent);}
.row-label {z-index:4;}
.row-label.frozen-cell {z-index:5;}
.col-label {z-index:6;cursor:pointer;}
.sheet-corner {z-index:7;}
.row-label:hover,.col-label:hover {background:var(--accent-soft);color:var(--accent-ink);}
.sheet-cell.active {z-index:2;outline-offset:-2px;}
.sheet-cell.active.frozen-cell {z-index:3;}
.sheet-footer {gap:9px;min-height:38px;height:auto;overflow-x:auto;flex-shrink:0;scrollbar-width:thin;white-space:nowrap;}
.sheet-footer button {flex-shrink:0;min-height:30px;}
.sheet-view-status {color:var(--accent-ink);font-size:11px;flex:1;min-width:max-content;padding:4px;}
.object-search-results {display:flex;flex-direction:column;gap:8px;max-height:45vh;overflow-y:auto;margin:16px 0;}
.object-search-results button {display:flex;flex-direction:column;align-items:flex-start;white-space:normal;text-align:start;gap:6px;padding:12px 14px;width:100%;}
.object-search-results button strong {font-size:11px;color:var(--accent-ink);}
.object-search-results button span {font-size:12px;line-height:1.6;overflow-wrap:anywhere;}
#object-query {width:100%;}
#modal {max-height:calc(100dvh - 24px);overscroll-behavior:contain;}
.auth-form-area,.auth-story {overscroll-behavior:contain;}
#auth-screen .blocked-screen nav {display:flex;gap:14px;flex-wrap:wrap;margin:22px 0;}
#auth-screen .blocked-screen nav a {padding:8px;}
.mobile-toolbar {overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;}
.mobile-toolbar>* {flex-shrink:0;}
.board-canvas:focus-visible {outline-offset:-3px;}
.board-layers button:focus-visible {outline-offset:-3px;}
body.high-contrast {--muted:#384c3f;--line:#72877a;--ink:#112119;--accent:#145b3e;--accent-ink:#10432f;--focus:#0036aa;}
body.high-contrast[data-theme=dark] {--muted:#cadacf;--line:#829c8b;--ink:#f4fff7;--accent:#a0edc1;--accent-ink:#d5ffe5;--focus:#ffdd73;}
body.high-contrast .statusbar,body.high-contrast .network-label {font-weight:550;}
body.large-targets button,body.large-targets .icon-button,body.large-targets select,body.large-targets .doc-item,body.large-targets .group-heading,body.large-targets .tab {min-height:44px;}
body.large-targets .icon-button,body.large-targets .board-tools button,body.large-targets .board-navigation button {min-width:44px;height:44px;}
body.large-targets .menubar,body.large-targets .main-toolbar,body.large-targets .document-toolbar,body.large-targets .statusbar {height:auto;min-height:48px;flex-shrink:0;}
body.large-targets .board-tools {max-height:calc(100% - 80px);}
body.large-targets .main-toolbar,body.large-targets .document-toolbar {overflow-x:auto;}
@media (pointer:coarse) {
 button,.icon-button,select,.doc-item,.group-heading,.tab {min-height:44px;}
 .icon-button,.board-tools button,.board-navigation button {min-width:44px;height:44px;}
 .menubar,.main-toolbar,.document-toolbar,.statusbar {height:auto;min-height:48px;flex-shrink:0;}
 .main-toolbar,.document-toolbar {overflow-x:auto;}
 .context-actions button,.menu-popup button {min-height:44px;padding:11px 12px;}
 .board-heading {left:69px;max-width:calc(100% - 88px);}
 .board-inspector {max-width:calc(100% - 76px);}
 .board-tools {max-height:calc(100% - 76px);}
 .sheet-footer button {min-height:44px;}
 .settings-row {min-height:68px;}
 .settings-row input[type=checkbox] {outline-offset:7px;}
}
@media (max-width:680px) {
 .context-actions {min-width:230px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);}
 .context-actions button,.menu-popup button {min-height:40px;}
 input,textarea,select,.formula-input {font-size:16px;} 
 .text-input {font-size:max(16px,1em);}
 .sheet-footer {padding:4px 8px;}
 .sheet-footer button {font-size:11px;}
 .settings-layout {padding-bottom:max(20px,env(safe-area-inset-bottom));}
 .dialog-actions {flex-wrap:wrap;gap:8px;}
 #modal {max-width:calc(100vw - 16px);margin:auto;}
 .main-toolbar,.document-toolbar,.mobile-toolbar {scroll-padding-inline:12px;}
}
@media (max-width:360px) {
 .titlebar {padding-inline:10px;gap:8px;}
 .brand {font-size:21px;}
 .lock-button {padding-inline:6px;}
 .menu-end #language {max-width:90px;}
 .settings-row {align-items:flex-start;flex-wrap:wrap;gap:12px;}
 .settings-row>select,.settings-row>input:not([type=checkbox]):not([type=color]) {max-width:100%;width:100%;}
}
@media (forced-colors:active) {
 button,input,select,.context-actions,.menu-popup,.rich-page,.settings-section {border:1px solid CanvasText;}
 .sheet-cell {border:1px solid CanvasText!important;}
 .sheet-cell.active,.sheet-cell.selected {outline:2px solid Highlight;outline-offset:-2px;}
 .live-dot,.switch-track {border:1px solid CanvasText;}
}
@media print {.context-actions,.skip-link {display:none!important;}}
.context-actions {max-height:min(650px,calc(100dvh - 16px));}
.context-actions .context-caption {position:sticky;top:-7px;z-index:2;background:var(--surface);}
.field textarea {width:100%;padding:12px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;resize:vertical;min-height:130px;max-height:45vh;}
@media(max-width:680px) {
 .context-actions {left:8px!important;right:8px;top:auto!important;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:min(72dvh,650px);border-radius:16px;padding:8px 10px;}
 .context-actions .context-caption {padding-top:14px;padding-bottom:12px;}
 .context-actions button {min-height:44px;padding:11px 12px;font-size:13px;}
 .sheet-footer .sheet-view-status {display:inline;}
}

.document-toolbar>button,.document-toolbar>select,.main-toolbar>button {flex-shrink:0;}
.format-label {white-space:nowrap;flex-shrink:0;}
@media(max-width:680px) {.document-toolbar>.format-label,.document-toolbar>.format-label+.toolbar-divider {display:none;}}

.language-picker{width:min(800px,calc(100vw - 24px));padding:24px;max-height:90dvh}.language-picker header{display:flex;justify-content:space-between;align-items:center;gap:16px}.language-picker h2{margin:0;font-size:24px}.language-search-label{display:block;margin:20px 0 8px}.language-search{display:block;width:100%;margin-top:8px;min-height:44px;font-size:16px}.language-count{font-variant-numeric:tabular-nums;color:var(--muted);margin:8px 0}.language-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-height:52dvh;overflow:auto;overscroll-behavior:contain}.language-groups section{min-width:0}.language-groups h3{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0}.language-groups button{width:100%;min-height:44px;display:flex;gap:12px;justify-content:space-between;text-align:start;padding:9px 12px;margin:2px 0}.language-groups button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.language-groups small{color:var(--muted)}.translation-notice{font-size:12px;line-height:1.6;padding:10px 12px;background:var(--surface-soft);border-radius:6px;white-space:normal}.auth-language-row{position:absolute;inset-inline-end:24px;top:20px;display:flex;gap:5px;max-width:calc(100% - 48px)}.auth-language-row .auth-lang{position:static;max-width:220px;min-height:40px}.auth-language-open{min-width:42px}.menu-end #language{max-width:150px}.language-open{min-width:32px}.vault-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
html[dir=rtl] .sidebar{border-right:0;border-left:1px solid var(--line)}html[dir=rtl] .settings-navigation{text-align:right}html[dir=rtl] .context-actions{direction:rtl;text-align:right}html[dir=rtl] .context-actions button{text-align:right}html[dir=rtl] .sheet-scroll,html[dir=rtl] .sheet-formula,html[dir=rtl] .formula-bar,html[dir=rtl] .board-viewport,html[dir=rtl] .board-canvas,html[dir=rtl] .editor-gutter{direction:ltr}html[dir=rtl] pre,html[dir=rtl] code{direction:ltr;unicode-bidi:isolate}html[dir=rtl] .auth-story{border-right:0;border-left:1px solid var(--line)}

.auth-form-area { flex-direction:column; justify-content:flex-start; gap:24px; min-height:100dvh; padding:24px clamp(20px,3vw,45px); }
.auth-entry-nav { display:flex; width:100%; gap:16px; align-items:center; justify-content:space-between; flex-shrink:0; }
.auth-home { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--muted); text-decoration:none; font-size:13px; line-height:1.4; }
.auth-home:hover { color:var(--accent-ink); text-decoration:underline; }
.auth-home span { font-size:20px; }
html[dir=rtl] .auth-home span { transform:rotate(180deg); }
.auth-entry-nav .auth-language-row { position:static; margin-inline-start:auto; gap:6px; }
.auth-entry-nav .auth-lang { width:clamp(100px,12vw,160px); max-width:100%; }
.auth-form-area .auth-form-box { margin-block:auto; padding-block:20px 44px; }
.public-enabled.entry-auth > .skip-link { display:none; }
@media(max-width:600px) {
 .auth-entry-nav { gap:10px; align-items:flex-start; }
 .auth-home { max-width:120px; font-size:12px; }
 .auth-entry-nav .auth-lang { width:112px; }
 .auth-form-area { padding:16px 20px 24px; gap:18px; }
 .auth-form-area .auth-form-box { padding-block:18px; }
}
@media(max-height:600px) {
 .entry-auth .auth-story { display:none; }
 .entry-auth #auth-screen { display:block; }
 .entry-auth .auth-form-box { max-width:420px; }
}


html:has(body.public-enabled:not(.vault-open):not(.entry-auth)),body.public-enabled:not(.vault-open):not(.entry-auth){height:auto;min-height:100%;overflow:auto}.vault-open #public-info,.entry-auth #public-info,.public-enabled:not(.entry-auth) #auth-screen{display:none}.public-enabled.entry-auth #auth-screen{height:100dvh;min-height:100dvh}.public-enabled .auth-story :is(h1,.auth-headline){font-size:clamp(32px,3.5vw,53px);letter-spacing:-1px}.public-header,.public-hero,.public-capabilities,.public-privacy,.public-topics,.public-languages,.public-footer{width:min(1120px,calc(100% - 48px));margin-inline:auto}.public-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.public-brand{font-size:27px;font-weight:720;letter-spacing:-1.2px;color:var(--ink);text-decoration:none}.public-brand span{color:var(--accent)}.public-header nav{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.public-header a,.public-footer a,.public-topics a{color:var(--ink)}.public-launch{border:1px solid var(--line);padding:10px 16px;border-radius:7px;text-decoration:none}.public-hero{padding:72px 0 55px;max-width:900px}.public-kicker{font-size:12px;letter-spacing:.08em;color:var(--accent);font-weight:650}.public-hero h1{font-size:clamp(32px,5.2vw,62px);font-weight:600;line-height:1.13;letter-spacing:-.035em;margin:20px 0;max-width:850px;text-wrap:balance}.public-lead{font-size:18px;line-height:1.8;max-width:790px;color:var(--muted)}.public-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.public-primary{display:inline-flex;align-items:center;gap:25px;background:var(--accent);color:white;padding:15px 23px;border-radius:8px;text-decoration:none;font-size:15px;font-weight:600;min-height:48px}.public-hero-actions>a:not(.public-primary){color:var(--accent-ink)}.public-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:48px}.public-capabilities section{padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.public-capabilities section>span{font-family:var(--mono);color:var(--accent)}.public-capabilities h2{font-size:21px;margin:18px 0}.public-capabilities p{line-height:1.7;color:var(--muted)}.public-privacy{border-inline-start:3px solid var(--accent);padding:8px 25px;margin-bottom:38px}.public-privacy h2{font-size:21px}.public-privacy p{font-size:15px;line-height:1.8;max-width:850px}.public-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:35px}.public-topics a{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center;padding:16px 0;min-height:48px;text-decoration:none}.public-languages{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.public-languages summary{font-weight:600;cursor:pointer;min-height:30px}.public-languages>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:5px;padding-top:15px}.public-languages a{padding:10px;color:var(--ink);min-height:40px}.public-footer{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:25px 0 40px;color:var(--muted)}.public-footer small{display:block;width:100%;line-height:1.6}.public-enabled :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.public-page{height:auto;min-height:100vh;overflow:auto}.public-article{width:min(850px,calc(100% - 40px));margin:48px auto 70px;font-size:16px;line-height:1.85}.public-article h1{font-size:clamp(30px,5vw,45px);line-height:1.2;letter-spacing:-.025em}.public-article h2{font-size:24px;line-height:1.4;margin-top:36px}.public-article .summary{font-size:19px;color:var(--muted)}.public-article a{color:var(--accent-ink)}.public-article .article-meta{font-size:12px;color:var(--muted);border-block:1px solid var(--line);padding:14px 0}.public-article nav{display:flex;gap:12px;flex-wrap:wrap}.public-breadcrumbs{padding:18px 0;font-size:13px;line-height:1.5}.public-breadcrumbs ol{display:flex;list-style:none;gap:12px;padding:0;margin:0;flex-wrap:wrap}.public-article .public-topics{width:100%;font-size:13px}.public-article .public-footer{width:100%;font-size:13px}.public-article .public-languages{width:100%}
@media(max-width:600px){.language-picker{padding:16px}.language-groups{grid-template-columns:1fr;max-height:55dvh}.public-header,.public-hero,.public-capabilities,.public-privacy,.public-topics,.public-languages,.public-footer{width:calc(100% - 32px)}.public-header{align-items:flex-start;gap:12px}.public-header nav{gap:12px;font-size:12px;justify-content:flex-end}.public-brand{font-size:24px}.public-hero{padding:36px 0}.public-lead{font-size:16px}.public-capabilities{grid-template-columns:1fr;gap:12px}.public-capabilities section{padding:19px}.public-topics{grid-template-columns:1fr 1fr}.public-privacy{padding-inline:16px}.public-article{margin-top:20px}.menu-end #language{max-width:115px}.public-hero h1{letter-spacing:-.02em}}
@media print{#public-info,.language-picker{display:none!important}.public-page{height:auto;overflow:visible}.public-page .public-header,.public-page .public-footer{display:none}}

html:has(body.public-page){height:auto;overflow:auto} html:has(body.public-page) body{height:auto;min-height:100dvh;overflow:visible}


.language-groups{display:flex;flex-direction:column;gap:18px}.language-groups section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;align-items:start}.language-groups section h3{grid-column:1/-1;margin:0 0 3px}.language-groups button{margin:0;min-height:44px;white-space:normal}.public-noscript{max-width:1120px;margin:18px auto;padding:16px;line-height:1.7;border-inline-start:3px solid var(--accent)}
@media(max-width:600px){.language-groups section{grid-template-columns:repeat(2,minmax(0,1fr))}.language-groups button{font-size:12px;padding:9px}.public-noscript{margin:16px}}


.mobile-menu-trigger,.tab-switcher,.format-overflow,.settings-category-label,.board-tool-launch,.board-properties-launch {display:none;}
.tabs-bar{display:flex;min-width:0;flex-shrink:0;background:var(--surface-soft);border-bottom:1px solid var(--line);}
.tabs-bar .tabs{flex:1;min-width:0;border-bottom:0;}
.mobile-sheet{padding:0;overflow:hidden;color:var(--ink);background:var(--surface);}
.mobile-sheet-heading{display:flex;align-items:center;flex-shrink:0;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface);}
.mobile-sheet-heading h2{flex:1;min-width:0;overflow-wrap:anywhere;font-size:17px;line-height:1.4;font-weight:650;margin:0;}
.mobile-sheet-heading button{border:0;background:var(--surface-soft);width:44px;min-width:44px;height:44px;padding:0;font-size:24px;}
.mobile-menu-hint{font-size:13px;line-height:1.6;white-space:normal;padding:10px 12px;color:var(--muted);}
.menu-popup button span:first-child{min-width:0;text-align:start;white-space:normal;overflow-wrap:anywhere;}
.mobile-tab-row{display:flex;align-items:stretch;gap:8px;border-bottom:1px solid var(--line);}
.mobile-tab-row button:first-child{flex:1;min-width:0;justify-content:flex-start;}
.mobile-tab-row button:first-child span{min-width:0;overflow-wrap:anywhere;}
.mobile-tab-row button:last-child{width:48px;flex:0 0 48px;}
.mobile-tab-row [aria-current=true]{background:var(--accent-soft);color:var(--accent-ink);}
.command-search-label{display:block;font-size:13px;}
.command-search{display:block;width:100%;margin:8px 0 12px;}
.command-results{display:flex;flex-direction:column;gap:4px;max-height:45dvh;overflow:auto;overscroll-behavior:contain;}
.command-results button{justify-content:flex-start;white-space:normal;text-align:start;min-height:44px;}
#modal{padding:0;overflow:hidden;max-height:calc(var(--menu-vv-height,100dvh) - 24px);}
#modal form{display:flex;flex-direction:column;max-height:calc(var(--menu-vv-height,100dvh) - 26px);min-height:0;}
#modal .dialog-heading{padding:20px 24px;margin:0;flex-shrink:0;border-bottom:1px solid var(--line);}
#modal .dialog-body{padding:20px 24px;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:16px;}
#modal .dialog-actions{flex-shrink:0;margin:0;padding:14px 24px;border-top:1px solid var(--line);background:var(--surface);}
#modal .dialog-actions button{white-space:normal;line-height:1.4;min-height:44px;}
#modal .dialog-heading h2{overflow-wrap:anywhere;min-width:0;}
#modal .dialog-heading>button{flex-shrink:0;width:44px;min-width:44px;height:44px;}
#modal .dialog-error:not(:empty){padding:12px 0;}
#modal .detail-table{table-layout:fixed;width:100%;}
#modal .detail-table td,#modal .detail-table kbd{white-space:normal;overflow-wrap:anywhere;}
.field select,.field input,.field textarea{max-width:100%;}
.language-picker{padding:0;overflow:hidden;}
.language-picker[open]{display:flex;flex-direction:column;max-height:calc(var(--menu-vv-height,100dvh) - 24px);}
.language-picker header{padding:16px 20px;flex-shrink:0;border-bottom:1px solid var(--line);}
.language-picker header h2{font-size:21px;overflow-wrap:anywhere;}
.language-picker header button{min-height:44px;white-space:normal;}
.language-picker .language-search-label{margin:14px 20px 6px;flex-shrink:0;}
.language-picker .language-count{margin:6px 20px 10px;flex-shrink:0;}
.language-picker .language-groups{padding:0 20px 20px;gap:10px;max-height:none;flex:1;min-height:0;}
.language-picker .language-groups section{display:block;}
.language-groups details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 0;cursor:pointer;list-style:none;font-size:13px;font-weight:650;}
.language-groups details summary span{flex:1;overflow-wrap:anywhere;}
.language-groups details summary::after{content:'+';font-size:20px;width:24px;text-align:center;}
.language-groups details[open] summary::after{content:'−';}
.language-groups .language-region-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;padding-bottom:12px;}
.language-picker .translation-notice{flex-shrink:0;margin:0;padding:12px 20px;border-top:1px solid var(--line);border-radius:0;max-height:20dvh;overflow:auto;}
.menu-popup,.context-actions{scroll-padding:8px;}
:is(.menu-popup,.context-actions) [role=menuitem]:focus-visible{outline-offset:-3px;}
@media (max-width:760px), (pointer:coarse) {
 .titlebar{min-height:48px;height:48px;flex-shrink:0;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));gap:10px;}
 .titlebar .network-label,.titlebar .app-edition{display:none;}
 .titlebar .lock-button{min-width:44px;min-height:44px;}
 .menubar{height:52px;min-height:52px;flex-shrink:0;padding:4px max(8px,env(safe-area-inset-left)) 4px max(8px,env(safe-area-inset-right));gap:8px;}
 .menus,.main-toolbar{display:none!important;}
 .mobile-menu-trigger{display:flex;justify-content:flex-start;min-width:0;flex:1;min-height:44px;background:var(--surface-soft);padding:9px 12px;font-size:14px;}
 .mobile-menu-trigger span{overflow:hidden;text-overflow:ellipsis;}
 .menu-end{gap:4px;min-width:0;flex-shrink:0;}
 .menu-end #language{display:none;}
 .menu-end .icon-button{width:44px;height:44px;min-width:44px;}
 .menu-end .language-open{width:auto;max-width:148px;gap:7px;padding-inline:8px;}
 .language-open::after{content:attr(data-label);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .menu-end>.icon-button[data-command=theme]{display:none;}
 .tabs-bar{min-height:46px;max-height:46px;}
 .tabs-bar .tabs{min-height:45px;max-height:45px;}
 .document-tab{min-height:44px;font-size:12px;padding-inline:10px 0;max-width:240px;gap:6px;}
 .document-tab>button{width:44px;height:44px;min-width:44px;flex-shrink:0;}
 .tab-switcher{display:inline-flex;height:44px;min-width:44px;width:44px;background:var(--surface);border-inline-start:1px solid var(--line);border-radius:0;}
 .tab-add{width:44px;height:44px;min-width:44px;flex-shrink:0;}
 .document-toolbar{min-height:50px;height:50px;flex-shrink:0;padding:3px 8px;gap:3px;overflow:hidden;}
 .document-toolbar>.format-label,.document-toolbar>.toolbar-divider,.document-toolbar>.toolbar-space,.document-toolbar>.paragraph-select{display:none;}
 .document-toolbar>button{display:none;min-width:44px;width:44px;min-height:44px;height:44px;padding:10px;}
 .document-toolbar>:is([data-command=bold],[data-command=italic],[data-command=underline],[data-command=contextActions],.format-overflow){display:inline-flex;}
 .document-toolbar[data-mode=sheet]>[data-command=underline]{display:none;}
 .document-toolbar[data-mode=sheet]>:is([data-command=cellFormat],[data-command=filterData]){display:inline-flex;}
 .document-toolbar>.format-overflow{margin-inline-start:auto;}
 .document-toolbar input[type=color]{width:44px;height:44px;min-width:44px;}
 .mobile-toolbar{display:flex;height:auto;min-height:56px;flex-shrink:0;align-items:center;justify-content:space-around;gap:4px;padding:5px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));}
 .mobile-toolbar .icon-button{width:44px;height:44px;min-width:44px;padding:10px;flex-shrink:0;}
 .statusbar{height:44px;min-height:44px;flex-shrink:0;padding:0 8px;gap:8px;}
 .statusbar button{min-height:44px;padding:4px 7px;}
 .statusbar>.asws,.statusbar>.encoding-status,.statusbar>.eol-status,.statusbar>[data-command^=zoom]{display:none;}
 .status-stats{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;}
 .status-spacer{display:none;}
 .save-status span{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .sidebar{display:none;position:static;}
 .mobile-sheet[open],#modal[open],#modal.wide[open],.language-picker[open]{
  position:fixed;inset:auto;margin:0;
  left:calc(var(--menu-vv-left,0px) + var(--menu-vv-width,100vw)/2);
  top:calc(var(--menu-vv-top,0px) + var(--menu-vv-height,100dvh) - max(8px,env(safe-area-inset-bottom)));
  transform:translate(-50%,-100%);
  width:min(640px,calc(var(--menu-vv-width,100vw) - 16px));
  max-width:none;max-height:calc(var(--menu-vv-height,100dvh) - env(safe-area-inset-top,0px) - max(8px,env(safe-area-inset-bottom)) - 12px);
  padding:0;border-radius:20px;border:1px solid var(--line);overflow:hidden;
 }
 .mobile-sheet[open]{display:flex;flex-direction:column;}
 .mobile-sheet .in-mobile-sheet{position:relative!important;inset:auto!important;transform:none!important;margin:0!important;width:100%!important;max-width:none!important;min-width:0;max-height:none!important;min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;border:0;border-radius:0;box-shadow:none;padding:8px 12px 14px;background:var(--surface);color:var(--ink);}
 .mobile-sheet :is(.menu-popup,.context-actions) button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;min-height:48px;height:auto;padding:12px;font-size:14px;line-height:1.5;white-space:normal;text-align:start;overflow-wrap:anywhere;}
 .mobile-sheet :is(.menu-popup,.context-actions) kbd,.mobile-sheet .context-caption{display:none;}
 .mobile-sheet .menu-separator{margin-block:7px;}
 .mobile-sheet .mobile-tab-row button:last-child{width:48px;min-width:48px;padding:10px;}
 .mobile-sheet .mobile-tab-row button:first-child{justify-content:flex-start;}
 .mobile-sheet .mobile-tab-row button:first-child span{flex:1;}
 .drawer-sheet[open]{height:calc(var(--menu-vv-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);max-width:480px;}
 .drawer-sheet .sidebar.in-mobile-sheet{display:flex!important;flex-direction:column;padding:0;overflow:hidden;}
 .drawer-sheet .workspace-switch{padding:12px 16px;flex-shrink:0;}
 .drawer-sheet .workspace-current{min-height:64px;white-space:normal;}
 .drawer-sheet .workspace-card-title{overflow-wrap:anywhere;}
 .drawer-sheet .sidebar-actions{padding:4px 12px;flex-shrink:0;}
 .drawer-sheet .sidebar-actions .icon-button{width:44px;height:44px;min-width:44px;}
 .drawer-sheet .group-heading>button,.drawer-sheet .document-item{min-height:48px;}
 .drawer-sheet .document-item{font-size:14px;gap:8px;padding:2px 4px 2px 20px;}
 .drawer-sheet .item-more{width:44px;height:44px;opacity:1;min-width:44px;}
 .drawer-sheet .sidebar-bottom{padding:6px 12px;flex-shrink:0;}
 .drawer-sheet .sidebar-bottom button{width:44px;height:44px;}
 .drawer-sheet .document-list{padding:0 12px;overscroll-behavior:contain;}
 #modal form{max-height:calc(var(--menu-vv-height,100dvh) - env(safe-area-inset-top,0px) - max(8px,env(safe-area-inset-bottom)) - 14px);}
 #modal .dialog-heading{padding:12px 16px;gap:12px;}
 #modal .dialog-heading h2{font-size:18px;line-height:1.4;}
 #modal .dialog-body{padding:16px;}
 #modal .dialog-actions{padding:10px 16px;gap:8px;flex-wrap:nowrap;}
 #modal .dialog-actions button{flex:1;min-width:0;font-size:14px;min-height:48px;padding:10px 12px;}
 #modal :is(input:not([type=checkbox]),select,textarea),.settings-row>select,.settings-row>input:not([type=checkbox]),.settings-search,.settings-category-select{font-size:16px;min-height:44px;}
 #modal .field{min-width:0;}
 #modal .field label{font-size:14px;white-space:normal;line-height:1.5;}
 #modal .checkbox{min-height:44px;margin:4px 0;font-size:14px;gap:12px;cursor:pointer;}
 #modal .checkbox input{width:24px;height:24px;flex-shrink:0;}
 #modal .workspace-cards{grid-template-columns:1fr;}
 #modal .workspace-card{min-height:88px;white-space:normal;gap:12px;}
 .workspace-card-info strong{overflow-wrap:anywhere;white-space:normal;}
 .command-search-label{font-size:14px;}
 .command-search{font-size:16px;min-height:48px;}
 .command-results button{min-height:48px;font-size:14px;padding:12px;}
 .command-results{max-height:none;overflow:visible;}
 .language-picker header{padding:12px 16px;gap:12px;}
 .language-picker .language-search-label{margin:12px 16px 0;}
 .language-picker .language-count{margin-inline:16px;}
 .language-picker .language-groups{padding:0 16px 16px;}
 .language-groups details summary{min-height:48px;font-size:14px;}
 .language-groups .language-region-choices{grid-template-columns:repeat(2,minmax(0,1fr));}
 .language-groups .language-region-choices button{min-height:48px;font-size:14px;line-height:1.5;padding:10px;}
 .language-groups small{font-size:11px;}
 .language-picker .translation-notice{padding:10px 16px;font-size:12px;}
 .settings-header{padding:16px;gap:12px;}
 .settings-close{height:44px;min-width:44px;padding:10px;}
 .settings-close span{display:none;}
 .settings-header h1{font-size:22px;}
 .settings-header p{font-size:12px;}
 .settings-layout{display:flex;flex-direction:column;padding:14px 16px max(24px,env(safe-area-inset-bottom));gap:16px;}
 .settings-navigation{display:none;}
 .settings-category-label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;}
 .settings-category-select{width:100%;min-height:48px;}
 .settings-section{padding:16px;}
 .settings-search-wrap{margin-bottom:16px;}
 .settings-row{align-items:center;flex-wrap:wrap;gap:12px;padding:18px 0;}
 .settings-row label{flex-basis:100%;}
 .settings-row:has(input[type=checkbox]) label{flex:1;}
 .settings-row label strong{font-size:14px;}
 .settings-row label small{font-size:12px;}
 .settings-row>select,.settings-row>input:not([type=checkbox]):not([type=color]){max-width:100%;width:100%;}
 .settings-row input[type=color]{min-width:48px;height:44px;}
 .settings-row input[type=checkbox]{width:56px;height:44px;min-width:56px;border:0;}
 .settings-row input[type=checkbox]::after{width:24px;height:24px;top:10px;left:6px;}
 .settings-row input[type=checkbox]:checked::after{transform:translateX(20px);}
 .settings-actions button,.settings-footer button{min-height:48px;white-space:normal;font-size:13px;}
 .settings-footer{flex-wrap:wrap;}
 .board-tools:not(.in-mobile-sheet),.board-inspector:not(.in-mobile-sheet),.board-layers:not(.in-mobile-sheet){display:none!important;}
 .board-tool-launch,.board-properties-launch{display:inline-flex;position:absolute;top:10px;z-index:4;min-height:44px;max-width:calc(50% - 18px);padding:9px 12px;gap:7px;background:var(--surface);border:1px solid var(--line);box-shadow:0 3px 14px #122b1d14;}
 .board-tool-launch{inset-inline-start:10px;}
 .board-properties-launch{inset-inline-end:10px;}
 .board-tool-launch span,.board-properties-launch span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .board-heading{top:65px;left:12px;max-width:calc(100% - 24px);padding:7px 10px;font-size:12px;}
 .board-tools.in-mobile-sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
 .board-tools.in-mobile-sheet>span{display:none;}
 .board-tools.in-mobile-sheet button{display:flex;flex-direction:column;justify-content:center;gap:8px;width:auto;height:auto;min-height:82px;padding:12px 6px;background:var(--surface-soft);color:var(--ink);white-space:normal;}
 .board-tools.in-mobile-sheet button::after{content:attr(data-tool-label);font-size:12px;line-height:1.35;white-space:normal;}
 .board-inspector.in-mobile-sheet .inspector-title{display:none;}
 .board-inspector.in-mobile-sheet .color-swatches{flex-wrap:wrap;gap:8px;padding-top:6px;}
 .board-inspector.in-mobile-sheet .color-swatches button{width:44px;height:44px;}
 .board-inspector.in-mobile-sheet .inspector-fields{gap:14px;}
 .board-inspector.in-mobile-sheet .inspector-fields label{font-size:13px;line-height:1.5;}
 .board-inspector.in-mobile-sheet input:not([type=checkbox]){height:44px;min-height:44px;font-size:16px;}
 .board-inspector.in-mobile-sheet label:has(input[type=checkbox]){flex-direction:row;align-items:center;min-height:44px;gap:12px;}
 .board-inspector.in-mobile-sheet input[type=checkbox]{width:24px;height:24px;}
 .board-inspector.in-mobile-sheet .inspector-actions button{min-height:48px;font-size:13px;white-space:normal;flex:1 1 45%;}
 .board-layers.in-mobile-sheet button{min-height:56px;font-size:14px;padding:12px;}
 .board-navigation{bottom:10px;right:10px;max-width:calc(100% - 20px);}
 .board-navigation button{min-width:44px;height:44px;font-size:14px;}
 .board-minimap{display:none;}
 .board-stage{min-height:0;}
 .sheet-footer button{min-height:44px;font-size:12px;}
 .sheet-footer{min-height:48px;}
 .formula-bar{min-height:48px;}
 .formula-input{font-size:16px;}
 .search-controls{gap:8px;}
 .search-controls input[type=search]{min-height:44px;font-size:16px;}
 .search-controls label{min-height:44px;display:flex;align-items:center;}
 .search-controls>.icon-button{width:44px;height:44px;}
 .search-result{min-height:56px;white-space:normal;}
 .update-banner button,.dictation-banner button{min-width:44px;min-height:44px;}
 .public-header{flex-wrap:wrap;gap:12px;}
 .public-header nav{gap:8px 12px;}
 .public-header nav a,.public-footer a,.public-languages a,.public-languages summary{display:inline-flex;align-items:center;min-height:44px;line-height:1.5;}
 .public-languages summary{display:list-item;padding-block:10px;}
 .public-languages a{overflow-wrap:anywhere;}
 .public-languages>div{max-height:60dvh;overflow:auto;overscroll-behavior:contain;}
 .auth-language-row .auth-lang,.auth-language-row button{font-size:16px;min-height:44px;}
 .soft-keyboard-open .mobile-toolbar{display:none;}
 .soft-keyboard-open .titlebar{display:none;}
}
@media (max-width:360px){.language-groups .language-region-choices{grid-template-columns:1fr;}.language-open::after{max-width:88px;}.menubar{gap:6px;}.document-toolbar{padding-inline:6px;gap:2px;}}
@media (max-height:500px) and (pointer:coarse){.titlebar{display:none;}.board-heading{display:none;}.mobile-toolbar{min-height:50px;padding-block:3px;}.statusbar{display:none;}.mobile-sheet[open]{max-width:600px;}.language-picker .translation-notice{display:none;}}
@media print {.mobile-sheet,.mobile-menu-trigger,.tab-switcher,.board-tool-launch,.board-properties-launch{display:none!important;}}


html:has(dialog[open]){overflow:hidden;}
body:has(dialog[open]){overscroll-behavior:none;}
.menu-popup button>svg+span{flex:1;text-align:start;}
@media (pointer:coarse){button,summary{-webkit-tap-highlight-color:transparent;}button:active{filter:brightness(.96);}}

.usage-choice{position:fixed;inset:auto 20px 20px auto;width:min(490px,calc(100vw - 40px));max-height:75vh;overflow:auto;z-index:10000;padding:22px;background:var(--bg,#fff);color:var(--text,#1f342d);border:1px solid #b6ccc2;border-radius:12px;box-shadow:0 8px 32px #102c2c22}
.usage-choice h2{font-size:19px;margin:0 0 10px}.usage-choice p{font-size:14px;line-height:1.65;margin:0 0 15px}.usage-choice>div{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.usage-choice button{padding:10px 14px;border:1px solid #93b7a6;border-radius:7px;min-height:44px}.usage-choice a{font-size:13px;color:inherit}.usage-frame{display:none}.auth-recovery-links{font-size:12px;line-height:1.6;margin-top:18px}.auth-recovery-links a{display:block;margin-top:6px;text-decoration:underline;color:inherit}
