:root{--fk-bg:var(--paper);--fk-fg:var(--ink);--fk-surface:#fff;--fk-accent:#276947;--fk-border:var(--line)}
.fk-header{min-height:64px;padding:10px 22px}.fk-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:20px}.fk-toolbar{padding:10px 22px;min-height:64px;flex-wrap:wrap;gap:8px}.fk-status{min-height:30px;padding:5px 22px;flex-shrink:0}.fk-dialog-body{display:flex;flex-direction:column;gap:12px}.fk-dialog-body>a{min-height:44px;display:flex;align-items:center}.fk-dialog-body>input{min-height:44px;width:100%}.fk-dialog-body>button{justify-content:flex-start}.fk-dialog .menu{position:static;box-shadow:none;border:0}.fk-dialog{z-index:50;max-height:var(--fk-viewport-height,100dvh)}
.editor-page{height:var(--fk-viewport-height,100dvh);min-height:0}.workspace{padding-bottom:0}.panes>.code-pane:not([hidden]),.panes>.preview-pane:not([hidden]){display:flex!important}.panes>[hidden]{display:none!important}.fk-tabs button,button,input[type=button],select{min-height:44px}.keybar button{min-height:44px;min-width:44px}.notice button{min-height:44px;min-width:44px}.notice{flex-shrink:0}.statusbar{flex-shrink:0}.fk-tabs{margin:0 0 10px}.fk-tabs[hidden]{display:none!important}.fk-toolbar #run{min-width:84px}.fk-toolbar #share{margin-left:auto}.fk-dialog [hidden]{display:none!important}#share-run{width:auto}#share-link{min-height:100px}#qr-image{font:inherit;max-width:100%}.fk-qr svg{max-width:100%;height:auto}.fk-dialog [role=status]{overflow-wrap:anywhere}.pane-foot{gap:12px}.pane-foot span{min-width:0}
@media(max-width:767px){.fk-header{padding:8px 14px;min-height:62px}.fk-brand{font-size:17px}.fk-toolbar{padding:6px 14px;min-height:56px}.workspace{padding:0 12px}.fk-dialog{margin:0;width:100%;height:var(--fk-viewport-height,100dvh);max-height:100dvh;max-width:100%;border-radius:0;padding:16px}.fk-tabs{display:flex;width:100%}.fk-tabs button{flex:1}.keybar{gap:4px}.panes{display:flex;flex-direction:column}.terminal-empty{min-height:160px;padding:12px}.pane-foot{height:auto;min-height:32px;flex-wrap:wrap}.fk-status{padding:4px 12px;font-size:11px}.brand-mark{height:32px;width:32px;font-size:24px}.fk-dialog input{font-size:16px}.notice{font-size:11px}}
@media(prefers-color-scheme:dark){:root{--paper:#142019;--ink:#e3efe7;--muted:#b0c1b5;--line:#3d5144;--fk-surface:#22382a;--fk-accent:#b9efd3}.code-pane,.preview-pane,.pane-heading,.pane-foot,.fk-dialog{background:#22352a;color:var(--ink)}.pane-heading,.pane-foot,.statusbar,.notice{color:#bdcfc2}button,.button,select,input,textarea{background:#243d2e;color:var(--ink);border-color:#56715f}dialog p{color:#bdcfc2}a{color:#b9efd3}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
