.loft-editor__rail-toggle{z-index:5;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);width:22px;height:56px;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);justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.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){background:var(--color-accent-secondary,var(--color-surface-card-hover));border-color:var(--color-accent-primary,var(--color-border-focus));width:28px;height:120px;color:var(--btn-primary-text,var(--color-text-body));box-shadow:var(--shadow-medium,0 4px 12px #00000040), 0 0 14px var(--glow-cyan,transparent);flex-direction:column;gap:.25rem}.loft-editor__rail-toggle:not(.is-open):hover{background:var(--color-accent-primary,var(--color-surface-card-hover));border-color:var(--color-accent-primary,var(--color-border-focus));color:var(--btn-primary-text,var(--color-text-body));filter:brightness(1.1)}.loft-editor__rail-toggle:not(.is-open) i{font-size:1rem}.loft-editor__rail-toggle-label{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;user-select:none;font-size:.625rem;font-weight:600;line-height:1;transform:rotate(180deg)}.loft-editor__rail-toggle--left{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;left:0}.loft-editor__rail-toggle--right{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;right:0}@media (width<=480px){.loft-editor__rail-toggle{display:none}}.loft-editor__ad-slot{z-index:4;background:var(--color-surface-card);border-top:1px solid var(--color-border-subtle);height:60px;box-shadow:0 -2px 8px var(--color-shadow-soft,#00000026);justify-content:center;align-items:center;gap:8px;padding:4px 12px;display:flex;position:sticky;bottom:0;left:0;right:0}.loft-editor__ad-slot-card{background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md,10px);max-width:720px;color:var(--color-text-body);transition:background var(--duration-quick,.15s) var(--easing-out,ease-out), border-color var(--duration-quick,.15s) var(--easing-out,ease-out);align-items:center;gap:10px;padding:5px 12px;text-decoration:none;display:inline-flex}.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{color:var(--color-accent-primary);flex-shrink:0;font-size:1.2rem}.loft-editor__ad-slot-copy{flex-direction:column;gap:1px;min-width:0;display:inline-flex}.loft-editor__ad-slot-copy strong{color:var(--color-text-heading);font-size:.88rem;font-weight:600}.loft-editor__ad-slot-copy em{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:60ch;font-size:.76rem;font-style:normal;overflow:hidden}.loft-editor__ad-slot-tag{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);flex-shrink:0;padding:2px 8px;font-size:.62rem;font-weight:600}.loft-editor__ad-slot-dismiss{width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-quick,.15s) var(--easing-out,ease-out);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:8px;right:8px}.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 (width>=1280px){.loft-editor__ad-slot{display:none}}@media (width<=1023px){.loft-editor__ad-slot{padding:4px 10px}.loft-editor__ad-slot-copy em{max-width:32ch}}@media (width<=480px){.loft-editor__ad-slot{height:50px;bottom:env(safe-area-inset-bottom,0px);z-index:49;padding:3px 12px;position:fixed}.loft-editor__ad-slot-card{gap:8px;width:100%;max-width:100%;min-height:44px;padding:4px 10px}.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;font-size:.9rem;top:50%;right:0;transform:translateY(-50%)}}.loft-eshell{background:var(--color-surface-primary);width:100%;height:100%;color:var(--color-text-body);flex-direction:column;display:flex;overflow:hidden}.loft-eshell__header{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.loft-eshell__header-primary{flex:auto;min-width:0}.loft-eshell__header-overflow{flex:none;align-items:center;gap:.5rem;display:inline-flex}.loft-eshell__header--split{flex-wrap:wrap}.loft-eshell__header--split .loft-eshell__header-primary{min-width:max-content}.loft-eshell__body{--left-rail-w:var(--shell-left-rail-w,240px);--right-rail-w:var(--shell-right-rail-w,320px);grid-template-columns:var(--left-rail-w) 1fr var(--right-rail-w);flex:1;min-height:0;display:grid;position:relative;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{visibility:hidden;min-width:0;overflow:hidden;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{border-right:1px solid var(--color-border-subtle);background:var(--editor-rail-bg,var(--color-surface-elevated));flex-direction:column;grid-column:1;min-height:0;display:flex;overflow:hidden}.loft-eshell__right-rail{border-left:1px solid var(--color-border-subtle);background:var(--editor-rail-bg,var(--color-surface-elevated));flex-direction:column;grid-column:3;min-height:0;display:flex;overflow:hidden}.loft-eshell__canvas{flex-direction:column;grid-column:2;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.loft-eshell__canvas>*{flex:1 1 0;min-height:0}@media (width<=1440px){.loft-eshell__body{--shell-left-rail-w:220px;--shell-right-rail-w:280px}}@media (width<=1024px){.loft-eshell__body{--shell-left-rail-w:200px;--shell-right-rail-w:240px}}@media (width<=767px){.loft-eshell__body{--shell-left-rail-w:180px;--shell-right-rail-w:0px}.loft-eshell__right-rail{display:none}}@media (width<=480px){.loft-eshell__body{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr}.loft-eshell__canvas{grid-column:1}.loft-eshell__left-rail,.loft-eshell__right-rail{display:none}}.loft-eshell__toolbar-skeleton{display:none}@media (width<=480px){.loft-eshell--empty .loft-eshell__toolbar-skeleton{border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex;overflow:hidden}.loft-eshell__skeleton-chip{border-radius:var(--radius-sm,6px);background:var(--color-overlay-strong,var(--color-surface-card-hover));border:1px solid var(--color-border-default);flex-shrink:0;width:44px;height:28px;animation:1.6s ease-in-out infinite loft-eshell-skeleton-pulse}.loft-eshell__skeleton-chip--wide{width:64px;margin-left:auto}}@keyframes loft-eshell-skeleton-pulse{0%,to{opacity:.45}50%{opacity:.85}}@media (prefers-reduced-motion:reduce){.loft-eshell__skeleton-chip{animation:none}}.loft-editor__mobile-bar{z-index:50;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);-webkit-backdrop-filter:blur(20px);justify-content:space-around;align-items:center;gap:4px;display:none;position:fixed;bottom:0;left:0;right:0}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 (width<=480px){.loft-editor__mobile-bar{display:flex}}.loft-editor__mobile-bar-btn{min-width:var(--mobile-touch-target,44px);min-height:var(--mobile-touch-target,44px);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);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 4px;display:inline-flex}.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{letter-spacing:.02em;text-transform:uppercase;font-size:.62rem;font-weight:600}
