*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0e0e0f;--bg-panel: #141416;--bg-input: #111113;--border: #2a2a2e;--border-hi: #3e3e45;--text: #e8e8e6;--muted: #6b6b72;--accent: #c8f04a;--accent-dk: #a8cc35;--mono: monospace;--sans: system-ui, sans-serif;--radius: .375rem}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:.875rem;line-height:1.5}.app{display:grid;grid-template-rows:3rem 1fr;min-height:100dvh;overflow:hidden}header{display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;font-family:var(--mono)}.privacy-note{font-size:.625rem;color:var(--muted);letter-spacing:.03em}.workspace{display:grid;grid-template-columns:16.25rem 1fr 1fr;overflow:hidden;min-height:0}.controls{border-right:1px solid var(--border);background:var(--bg-panel);overflow-y:auto;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.controls-body{display:contents}.controls-toggle{display:none}.section-label{font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}.toggle-list{display:flex;flex-direction:column;gap:.125rem}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.375rem .625rem;border-radius:var(--radius);cursor:pointer;transition:background .1s}.toggle-row:hover{background:#ffffff0a}.toggle-row.disabled{opacity:.35;pointer-events:none}.toggle-label{font-family:var(--mono);font-size:.75rem;color:var(--text)}.toggle{position:relative;width:1.75rem;height:1rem;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;inset:0;background:var(--border-hi);border-radius:.5rem;transition:background .15s;cursor:pointer}.toggle-track:after{content:"";position:absolute;top:.125rem;left:.125rem;width:.75rem;height:.75rem;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(.75rem);background:#0e0e0f}.reset-btn{font-family:var(--mono);font-size:.6875rem;color:var(--muted);background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.375rem .75rem;cursor:pointer;width:100%;transition:all .1s;margin-top:auto}.reset-btn:hover{border-color:var(--border-hi);color:var(--text)}.panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel+.panel{border-left:1px solid var(--border)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:2.5rem;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0}.panel-title{font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.panel-meta{font-family:var(--mono);font-size:.6875rem;color:var(--muted);display:flex;align-items:center;gap:.75rem}.reduction-badge{font-family:var(--mono);font-size:.625rem;padding:.125rem .5rem;border-radius:1.25rem;background:#c8f04a1f;color:var(--accent);border:1px solid rgba(200,240,74,.25)}textarea,.output-area{flex:1;background:var(--bg-input);color:var(--text);font-family:var(--mono);font-size:.78125rem;line-height:1.7;padding:1rem;border:none;resize:none;outline:none;overflow-y:auto;width:100%;min-height:0}textarea::placeholder{color:var(--muted)}.output-area{white-space:pre-wrap;word-break:break-word;cursor:default}.icon-btn{font-family:var(--mono);font-size:.6875rem;color:var(--muted);background:none;border:1px solid transparent;border-radius:var(--radius);padding:.25rem .625rem;cursor:pointer;transition:all .1s;display:flex;align-items:center;gap:.375rem;white-space:nowrap}.icon-btn:hover{border-color:var(--border);color:var(--text)}.icon-btn svg{width:.8125rem;height:.8125rem;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.attribution{display:flex;align-items:center;gap:.5rem;padding:.75rem .625rem;margin-top:auto;font-size:.625rem;color:var(--muted)}.attribution a{color:var(--muted);text-decoration:none;transition:color .1s;font-family:var(--mono)}.attribution a:hover{color:var(--text)}.attribution svg{width:1rem;height:1rem;display:block}.token-count{display:flex;align-items:center;gap:.25rem}.tooltip-anchor{position:relative;display:inline-flex;align-items:center;cursor:default}.tooltip-anchor svg{width:.625rem;height:.625rem;stroke:var(--muted);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.6}.tooltip{position:absolute;top:calc(100% + .375rem);right:0;background:var(--bg-panel);border:1px solid var(--border-hi);color:var(--text);font-family:var(--mono);font-size:.625rem;padding:.375rem .5rem;border-radius:var(--radius);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10}.tooltip-anchor:hover .tooltip{opacity:1}::-webkit-scrollbar{width:.25rem;height:.25rem}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:.125rem}@media(max-width:1023px){.workspace{grid-template-columns:1fr;grid-template-rows:auto;overflow-y:auto;overflow-x:hidden}.controls{padding:0;gap:0;overflow-y:visible;border-right:none;border-bottom:1px solid var(--border)}.controls-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 1rem;height:2.5rem;background:none;border:none;color:var(--muted);font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;flex-shrink:0}.controls-toggle svg{width:.75rem;height:.75rem;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}.controls-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.controls-body{display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem 1rem;border-top:1px solid var(--border)}.controls-body.collapsed{display:none}.reset-btn{margin-top:0}.panel{height:50vh;flex-shrink:0}.panel+.panel{border-left:none;border-top:1px solid var(--border)}}
