/* Boleta — tokens del sistema Turing IA + identidad propia */
:root{--tinta:#16120F;--papel:#EDEAE2;--naranja:#E14A1F;--c:8px;--gris:#8d877c;--papel2:#FFFDF7}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--papel);color:var(--tinta);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;line-height:16px;overflow:hidden}
.app{display:grid;grid-template-rows:calc(var(--c)*5) 1fr calc(var(--c)*22);grid-template-columns:calc(var(--c)*62) 1fr;height:100%;border:1px solid var(--tinta)}
header{grid-column:1/3;display:flex;align-items:center;gap:calc(var(--c)*2);padding:0 calc(var(--c)*2) 0 calc(var(--c)*11);border-bottom:1px solid var(--tinta);user-select:none;cursor:default}
.logo{font-family:Spectral,serif;font-size:22px;font-weight:500;display:flex;align-items:baseline;gap:var(--c)}
.logo b{font-family:"IBM Plex Mono";font-weight:500;font-size:12px;background:var(--naranja);color:var(--tinta);padding:2px 6px}
.estado{margin-left:auto;display:flex;gap:calc(var(--c)*2);font-size:12px}
.estado .led{display:inline-block;width:var(--c);height:var(--c);background:var(--naranja);vertical-align:-1px;margin-right:4px;animation:parpadeo 1s steps(2) infinite}
@keyframes parpadeo{50%{opacity:.25}}
.escena{position:relative;border-right:1px solid var(--tinta);overflow:hidden;background:var(--papel)}
pre{font:inherit;white-space:pre}
#printer{position:absolute;left:8px;top:12px}
#printer .n{color:var(--naranja)}
#papel{position:absolute;background:var(--papel2);color:var(--tinta);border:1px solid var(--tinta);border-bottom:0;padding:0 var(--c);width:calc(34ch + var(--c)*2);overflow:hidden;box-shadow:none}
#papel .corte{color:var(--gris)}
.doc{display:grid;grid-template-rows:calc(var(--c)*4) 1fr calc(var(--c)*5);border-right:0;min-height:0}
.doc > .editor,.doc > .vista,.doc > .historial{min-height:0;overflow:auto}
.doc .barra,.consola .barra{display:flex;gap:calc(var(--c)*2);align-items:center;padding:0 calc(var(--c)*2);border-bottom:1px solid var(--tinta);font-size:12px;overflow:hidden}
.barra .nota{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barra .tab{padding:2px 8px;border:1px solid var(--tinta);white-space:nowrap;flex:none}
.barra .tab.on{background:var(--tinta);color:var(--papel)}
.barra .tab.n{background:var(--naranja);border-color:var(--naranja)}
.doc-edit{width:100%;height:100%;background:var(--papel);color:var(--tinta);font:inherit;padding:var(--c) calc(var(--c)*2);outline:none;white-space:pre;overflow:auto;line-height:16px;caret-color:var(--naranja)}
.doc-edit .ln{min-height:16px}
.doc-edit .bloque-img{display:flex;gap:10px;align-items:center;padding:6px 0;user-select:none;white-space:normal}
.doc-edit .bloque-img canvas{border:1px solid var(--tinta);background:#fff;display:block;max-width:100%}
.doc-edit .bloque-img .et{font-size:11px;color:var(--gris)}
.doc-edit .bloque-img button{padding:0 6px;font-size:11px;line-height:16px}
.editor{position:relative;min-height:0;overflow:hidden}
.editor[hidden]{display:none}
.acciones{display:flex;gap:var(--c);align-items:center;padding:0 calc(var(--c)*2);border-top:1px solid var(--tinta)}
button{font:inherit;font-size:12px;border:1px solid var(--tinta);background:var(--papel);color:var(--tinta);padding:4px 12px;cursor:pointer}
button:hover{background:var(--tinta);color:var(--papel)}
button.n{background:var(--naranja);border-color:var(--naranja)}
button.n:hover{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.consola{grid-column:1/3;border-top:1px solid var(--tinta);display:grid;grid-template-rows:calc(var(--c)*4) 1fr}
.consola .out{padding:var(--c) calc(var(--c)*2);overflow:auto;font-size:12px}
.consola .out .u{color:var(--tinta)}.consola .out .u::before{content:"> "}
.consola .out .a::before{content:"✓ ";color:var(--naranja)}
.consola .out .p{color:var(--gris)}
.cursor::after{content:"█";animation:parpadeo .8s steps(2) infinite}
.nota{font-size:11px;color:var(--gris);margin-left:auto}

.consola .out .cursor{outline:none;min-height:16px;white-space:pre-wrap}
.consola .out .cursor::before{content:"> "}
.consola .out .cursor:empty::after{content:attr(data-placeholder);color:var(--gris);animation:none}
.consola .out .cursor:not(:empty)::after{content:""}
.consola .out .cursor.pensando::after{content:" ▮▮▮";color:var(--naranja);animation:parpadeo .6s steps(2) infinite}

.vista{padding:var(--c) calc(var(--c)*2);background:var(--papel2);color:var(--tinta);font-size:13px;line-height:16px;white-space:pre;border-left:1px dashed var(--tinta);border-right:1px dashed var(--tinta);margin:0 calc(var(--c)*6)}
.historial{padding:var(--c) calc(var(--c)*2);font-size:12px}
.historial .fila{display:flex;gap:calc(var(--c)*2);align-items:center;padding:4px 0;border-bottom:1px dashed var(--gris)}
.historial .fecha{color:var(--gris);flex:none}.historial .tit{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.mini{padding:1px 8px;font-size:11px}
body.soltando .doc{outline:2px dashed var(--naranja);outline-offset:-6px}
