.loft-editor__rail-toggle{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:22px;height:56px;display:inline-flex;align-items:center;justify-content:center;background:var(--editor-ctxbar-bg, var(--color-surface-elevated));border:1px solid var(--editor-ctxbar-border, var(--color-border-subtle));border-radius:var(--radius-sm, 6px);color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-quick, .15s) var(--easing-out, ease-out),color var(--duration-quick, .15s) var(--easing-out, ease-out),transform var(--duration-quick, .15s) var(--easing-out, ease-out)}.loft-editor__rail-toggle:hover{background:var(--color-surface-card-hover);color:var(--color-text-body)}.loft-editor__rail-toggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.loft-editor__rail-toggle i{font-size:.9rem}.loft-editor__rail-toggle:not(.is-open){width:26px;height:120px;flex-direction:column;gap:.25rem;background:var(--color-cyan-bg-soft, var(--color-surface-card-hover));border-color:var(--color-border-focus, var(--color-border-default));color:var(--color-accent-primary, var(--color-text-body));box-shadow:var(--shadow-medium, 0 4px 12px rgb(0 0 0 / .25))}.loft-editor__rail-toggle:not(.is-open):hover{background:var(--color-cyan-bg-soft, var(--color-surface-card-hover));color:var(--color-accent-primary, var(--color-text-body));filter:brightness(1.15)}.loft-editor__rail-toggle:not(.is-open) i{font-size:1rem}.loft-editor__rail-toggle-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1;user-select:none}.loft-editor__rail-toggle--left{left:0;border-top-left-radius:0;border-bottom-left-radius:0;border-left:0}.loft-editor__rail-toggle--right{right:0;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}@media(max-width:480px){.loft-editor__rail-toggle{display:none}}.loft-editor__ad-slot{position:sticky;bottom:0;left:0;right:0;z-index:4;height:60px;display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 12px;background:var(--color-surface-card);border-top:1px solid var(--color-border-subtle);box-shadow:0 -2px 8px var(--color-shadow-soft, rgba(0, 0, 0, .15))}.loft-editor__ad-slot-card{display:inline-flex;align-items:center;gap:10px;max-width:720px;padding:5px 12px;background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md, 10px);color:var(--color-text-body);text-decoration:none;transition:background var(--duration-quick, .15s) var(--easing-out, ease-out),border-color var(--duration-quick, .15s) var(--easing-out, ease-out)}.loft-editor__ad-slot-card:hover{background:var(--color-surface-card-hover);border-color:var(--color-accent-primary);color:var(--color-text-heading)}.loft-editor__ad-slot-card:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.loft-editor__ad-slot-card i{font-size:1.2rem;color:var(--color-accent-primary);flex-shrink:0}.loft-editor__ad-slot-copy{display:inline-flex;flex-direction:column;gap:1px;min-width:0}.loft-editor__ad-slot-copy strong{font-size:.88rem;font-weight:600;color:var(--color-text-heading)}.loft-editor__ad-slot-copy em{font-style:normal;font-size:.76rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60ch}.loft-editor__ad-slot-tag{font-family:var(--font-mono, ui-monospace, monospace);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:2px 8px;background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);flex-shrink:0}.loft-editor__ad-slot-dismiss{position:absolute;right:8px;top:8px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:4px;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-quick, .15s) var(--easing-out, ease-out)}.loft-editor__ad-slot-dismiss:hover{background:var(--color-surface-card-hover);color:var(--color-text-body)}.loft-editor__ad-slot-dismiss:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@media(min-width:1920px){.loft-editor__ad-slot{display:none}}@media(max-width:1023px){.loft-editor__ad-slot{padding:4px 10px}.loft-editor__ad-slot-copy em{max-width:32ch}}@media(max-width:480px){.loft-editor__ad-slot{position:fixed;height:50px;bottom:env(safe-area-inset-bottom,0px);padding:4px 12px;z-index:49}.loft-editor__ad-slot-card{gap:8px;padding:4px 10px;max-width:100%;width:100%}.loft-editor__ad-slot-card i{font-size:1.1rem}.loft-editor__ad-slot-copy strong{font-size:.78rem}.loft-editor__ad-slot-copy em,.loft-editor__ad-slot-tag{display:none}.loft-editor__ad-slot-dismiss{width:44px;height:44px;right:0;top:50%;transform:translateY(-50%);font-size:.9rem}}.loft-eshell{display:flex;flex-direction:column;height:100%;width:100%;background:var(--color-surface-primary);color:var(--color-text-body);overflow:hidden}.loft-eshell__header{flex-shrink:0}.loft-eshell__body{--left-rail-w: var(--shell-left-rail-w, 240px);--right-rail-w: var(--shell-right-rail-w, 320px);position:relative;flex:1;display:grid;grid-template-columns:var(--left-rail-w) 1fr var(--right-rail-w);min-height:0;overflow:hidden}.loft-eshell__body[data-left-rail-open=false]{--left-rail-w: 0px}.loft-eshell__body[data-right-rail-open=false]{--right-rail-w: 0px}.loft-eshell__body[data-left-rail-open=false] .loft-eshell__left-rail,.loft-eshell__body[data-right-rail-open=false] .loft-eshell__right-rail{overflow:hidden;visibility:hidden;min-width:0;border:0!important}.loft-eshell__body--no-left{--left-rail-w: 0px !important}.loft-eshell__body--no-right{--right-rail-w: 0px !important}.loft-eshell__left-rail{grid-column:1;border-right:1px solid var(--color-border-subtle);background:var(--editor-rail-bg, var(--color-surface-elevated));display:flex;flex-direction:column;min-height:0;overflow:hidden}.loft-eshell__right-rail{grid-column:3;border-left:1px solid var(--color-border-subtle);background:var(--editor-rail-bg, var(--color-surface-elevated));display:flex;flex-direction:column;min-height:0;overflow:hidden}.loft-eshell__canvas{grid-column:2;position:relative;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.loft-eshell__canvas>*{flex:1 1 0;min-height:0}.loft-eshell__section-topbar{position:absolute;top:8px;left:8px;right:8px;z-index:6;background:var(--editor-ctxbar-bg, var(--color-surface-elevated));border:1px solid var(--editor-ctxbar-border, var(--color-border-subtle));border-radius:var(--radius-md, 10px);box-shadow:var(--shadow-medium, 0 4px 12px rgb(0 0 0 / .25));padding:6px 8px;max-height:50vh;overflow-y:auto}.loft-eshell__section-topbar-min{position:absolute;right:4px;top:4px;z-index:7;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--radius-sm, 6px);color:var(--color-text-muted);cursor:pointer}.loft-eshell__section-topbar-min:hover{background:var(--color-surface-card-hover);color:var(--color-text-body)}@media(max-width:1440px){.loft-eshell__body{--shell-left-rail-w: 220px;--shell-right-rail-w: 280px}}@media(max-width:1024px){.loft-eshell__body{--shell-left-rail-w: 200px;--shell-right-rail-w: 240px}}@media(max-width:767px){.loft-eshell__body{--shell-left-rail-w: 180px;--shell-right-rail-w: 0px}.loft-eshell__right-rail{display:none}}@media(max-width:480px){.loft-eshell__body{grid-template-columns:1fr;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}.loft-eshell__canvas{grid-column:1}.loft-eshell__left-rail,.loft-eshell__right-rail{display:none}}.loft-editor__mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;align-items:center;justify-content:space-around;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));height:var(--mobile-bar-h, 60px);background:var(--mobile-bar-bg);border-top:1px solid var(--mobile-bar-border);box-shadow:var(--mobile-bar-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}body:has(.loft-editor__ad-slot):not(:has(.loft-editor__ad-slot[hidden])) .loft-editor__mobile-bar{bottom:calc(50px + env(safe-area-inset-bottom,0px));padding-bottom:6px}@media(max-width:480px){.loft-editor__mobile-bar{display:flex}}.loft-editor__mobile-bar-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;min-width:var(--mobile-touch-target, 44px);min-height:var(--mobile-touch-target, 44px);padding:6px 4px;background:transparent;border:0;border-radius:var(--radius-md);color:var(--mobile-bar-icon-color);cursor:pointer;font:inherit;transition:background var(--duration-quick, .15s) var(--easing-out, ease-out)}.loft-editor__mobile-bar-btn:active{background:var(--color-overlay-soft)}.loft-editor__mobile-bar-btn.is-active{background:var(--mobile-bar-icon-bg-active);color:var(--mobile-bar-icon-color-active)}.loft-editor__mobile-bar-btn.is-primary{background:linear-gradient(180deg,var(--raw-cyan-400),var(--raw-cyan-600));color:var(--raw-white)}.loft-editor__mobile-bar-btn:disabled{opacity:.4;cursor:default}.loft-editor__mobile-bar-btn i{font-size:1.4rem}.loft-editor__mobile-bar-label{font-size:.62rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
