.ti84{max-width:430px;margin-inline:auto;background:var(--ink,#0E1B3D);border-radius:22px;padding:14px 14px 16px;color:#fff;box-shadow:0 18px 40px -22px rgba(14,27,61,.7)}
.ti-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 4px 12px}
.ti-title{font:700 .82rem/1 var(--f-body,system-ui);letter-spacing:.06em;text-transform:uppercase;color:#aebbe0}
.ti-tool{font:600 .78rem/1 var(--f-body,system-ui);color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 12px;cursor:pointer;white-space:nowrap}
.ti-tool:hover{background:var(--accent,#F26A1B);border-color:var(--accent,#F26A1B)}
.ti-tabs{display:flex;gap:4px;margin-bottom:10px;background:rgba(255,255,255,.08);padding:4px;border-radius:12px}
.ti-tabs button{flex:1;min-height:36px;border:0;border-radius:9px;background:transparent;color:#aebbe0;font:600 .88rem/1 var(--f-body,system-ui);cursor:pointer}
.ti-tabs button.on{background:#fff;color:var(--ink,#0E1B3D)}
.ti-screen{position:relative;background:#E9EFDD;color:#1b2616;border-radius:12px;border:3px solid #0a1430;box-shadow:inset 0 2px 8px rgba(0,0,0,.18);margin-bottom:12px;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}
.ti-pane[hidden]{display:none}
.ti-calc{display:flex;flex-direction:column;height:218px}
.ti-log{flex:1;overflow-y:auto;padding:18px 12px 4px;font-size:.95rem;line-height:1.35}
.ti-row{margin-bottom:6px}
.ti-q{color:#3d4b38;word-break:break-all}
.ti-a{text-align:right;font-weight:700;font-size:1.25rem;word-break:break-all}
.ti-a.err{font-size:.95rem;color:#9a2a10}
.ti-line{border:0;border-top:1px dashed rgba(27,38,22,.35);background:transparent;padding:10px 12px;font:600 1.15rem/1.2 ui-monospace,Menlo,Consolas,monospace;color:#1b2616;width:100%;outline:0;border-radius:0 0 9px 9px}
.ti-line:focus{background:rgba(255,255,255,.35)}
.ti-line::placeholder{color:#7d8a77}
.ti-mode{position:absolute;right:8px;top:4px;font:700 .62rem/1 var(--f-body,system-ui);letter-spacing:.08em;color:#5a6a55;pointer-events:none}
.ti-graph{padding:8px}
.ti-y{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}
.ti-y label,.ti-win label{display:flex;align-items:center;gap:4px;font-size:.78rem;font-weight:700}
.ti-y input,.ti-win input{min-width:0;width:100%;border:1px solid rgba(27,38,22,.35);background:rgba(255,255,255,.55);border-radius:6px;padding:5px 6px;font:600 .85rem ui-monospace,Menlo,Consolas,monospace;color:#1b2616}
.ti-win{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:6px}
.ti-win label{flex-direction:column;align-items:stretch;gap:2px;font-size:.68rem}
.ti-canvas{display:block;width:100%;border-radius:6px;border:1px solid rgba(27,38,22,.35);touch-action:none;cursor:crosshair}
.ti-read{min-height:1.4em;margin:6px 2px 4px;font-size:.78rem;font-weight:700}
.ti-gbtn{display:flex;gap:6px}
.ti-gbtn button{flex:1;border:1px solid rgba(27,38,22,.4);background:rgba(255,255,255,.55);border-radius:6px;padding:6px 4px;font:700 .75rem var(--f-body,system-ui);color:#1b2616;cursor:pointer}
.ti-keys{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.ti-keys .k{height:44px;border:0;border-radius:11px;font:700 .95rem/1 var(--f-body,system-ui);cursor:pointer;color:#fff;background:#2a3b66;transition:transform .05s,filter .15s;padding:0}
.ti-keys .k:hover{filter:brightness(1.15)}
.ti-keys .k:active{transform:translateY(1px)}
.ti-keys .k-num{background:#fff;color:var(--ink,#0E1B3D);font-size:1.1rem}
.ti-keys .k-fn{background:#2a3b66;font-size:.85rem}
.ti-keys .k-op{background:#4a5f99;font-size:1.15rem}
.ti-keys .k-del{background:#7b3a14;font-size:.78rem}
.ti-keys .k-enter{background:var(--accent,#F26A1B);font-size:.78rem;letter-spacing:.03em}
.ti-keys .k:focus-visible,.ti-tool:focus-visible,.ti-tabs button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ti-actions{display:flex;justify-content:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.ti-actions a{font:600 .85rem var(--f-body,system-ui);color:var(--accent-ink,#B8460A)}
.hero .ti84{margin-inline:0 auto}
.ti-ref{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95rem}
.ti-ref th,.ti-ref td{border:1px solid var(--line,#D9E0EE);padding:8px 10px;text-align:left;vertical-align:top}
.ti-ref th{background:var(--tint,#E6ECF8)}
.ti-stage{display:flex;justify-content:center;padding:6px 0 18px}
@media (max-width:420px){.ti-keys{gap:5px}.ti-keys .k{height:42px}.ti84{padding:10px}}
