*{box-sizing:border-box}html{background:#fffaf2}body{margin:0;color:#31264e;background:#fffaf2;font-family:var(--jke-font-ui),system-ui,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:1.25rem;margin-bottom:3px}h2{font-size:1.25rem;margin:3px 0}h3{font-size:1rem}button,input,textarea,select{font:inherit;color:inherit}button,.file-button,summary{cursor:pointer}button{min-height:44px;border:1px solid #ddd5e4;border-radius:11px;background:#fffdf9;padding:8px 12px;font-size:.84rem;font-weight:700}button:hover{background:#f0e9fa;border-color:#b7a0d2}button:disabled{opacity:.45;cursor:default}button.primary{background:#7654b5;color:#fff;border-color:#7654b5}button.text-button{border:0;background:none;color:#7654b5}input,textarea,select{width:100%;max-width:100%;border:1px solid #ddd5e4;border-radius:10px;padding:10px;background:white;font-size:16px;min-height:44px}textarea{resize:vertical;line-height:1.6;font-family:ui-monospace,"Cascadia Code",monospace}label{display:grid;gap:6px;font-size:.8rem;font-weight:700;margin:10px 0}input[type=range]{padding:0;accent-color:#7654b5}input[type=checkbox]{width:22px;min-height:22px;accent-color:#7654b5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #9570cd;outline-offset:3px}[hidden]{display:none!important}.cluster{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.workspace-bar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:10px}.workspace-picker{flex:1;min-width:120px;max-width:340px;margin:0}.workspace-picker select{font-weight:700;background:#fffdf9}.settings-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.settings-bar label{display:flex;align-items:center;gap:6px;margin:0;color:#6d627d;font-weight:700}.settings-bar select{width:auto;font-size:13px;padding:6px;min-height:36px}.settings-bar button{min-height:36px;font-size:12px;padding:6px 10px}.panel{background:#fffefa;border:1px solid #e5dce8;border-radius:20px;overflow:hidden;min-width:0;box-shadow:0 5px 20px #31264e05}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:20px 20px 14px}.eyebrow{color:#95859e;font:700 .61rem/1.2 var(--jke-font-ui),system-ui;letter-spacing:.16em}.empty-sheet{padding:26px 24px 30px;text-align:center}.hero-symbol{font:italic 70px Georgia;color:#7654b5;margin:0 auto 18px;width:100px;height:100px;line-height:100px;border-radius:28px;background:#efe6fa;transform:rotate(-5deg)}.hero-symbol span{font-size:30px;vertical-align:top}.empty-sheet h3{font-size:1.3rem;line-height:1.4}.empty-sheet p{font-size:.9rem;line-height:1.6;color:#796a87}.starter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.starter-grid button{padding:14px 8px;font:700 1.15rem Georgia;min-height:83px}.starter-grid small{display:block;font:700 .7rem var(--jke-font-ui),system-ui;color:#796a87;margin-top:10px}.entry-form{padding:16px 20px 20px;border-top:1px solid #eee6ef}.expression-entry{display:flex;gap:8px;align-items:stretch}.expression-entry textarea{min-width:0;background:#fff}.expression-entry button{width:48px;font-size:22px;flex-shrink:0}.entry-hint{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-top:8px}.entry-hint span{font-size:.67rem;color:#95859e}.entry-hint button{font-size:.72rem;min-height:36px}.cell{padding:16px 20px;border-top:1px solid #eee6ef;position:relative;border-left:3px solid transparent}.cell.selected{border-left-color:#7654b5;background:#f8f4fc}.cell-header{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:5px}.cell-number{font-size:.65rem;color:#95859e}.cell-actions{display:flex;gap:4px;flex-wrap:wrap}.cell-actions button{font-size:.67rem;min-height:30px;padding:3px 7px}.cell textarea{border-color:transparent;background:transparent;padding:6px 0;min-height:40px;font-size:16px;resize:vertical}.cell textarea:focus{background:white;border-color:#ddd5e4;padding:6px}.cell .answer{padding:8px 0 0;overflow-wrap:anywhere;min-height:25px}.math-output{font-size:1.25rem;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:5px 0}.math-input{font-size:.95rem;overflow:auto;color:#766582}.decimal{font:13px ui-monospace,monospace;color:#8a7893;margin-top:7px}.hint,.result-note{font-size:.75rem;line-height:1.6;color:#84718e}.error{color:#a12648;font-size:.82rem;line-height:1.5}.note-cell textarea{font-family:inherit;background:#fff6dc;border:0;padding:12px;font-size:.9rem}.note-cell{background:#fff9e9}.graph-panel .panel-heading{padding-bottom:8px}#graph{height:410px;touch-action:none;overflow:hidden;cursor:crosshair}#graph svg{display:block;width:100%;height:100%}.graph-hint{font-size:.65rem;color:#95859e;padding:0 18px;margin:2px 0 10px}.readout{background:#f2edf6;padding:10px 16px;font:12px/1.5 ui-monospace,monospace;min-height:38px;overflow-wrap:anywhere}.plot-heading{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 8px}.plot-heading h3{margin:0}.plot-item{display:flex;gap:8px;align-items:center;padding:6px 18px;font-size:.8rem}.plot-item .plot-expression{flex:1;min-width:0;overflow-wrap:anywhere;font-family:ui-monospace,monospace}.plot-item button{min-height:32px;padding:3px 8px}.plot-item label{margin:0}.plot-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.slider-item{padding:8px 18px}.slider-item label{display:flex;justify-content:space-between}.slider-item button{min-height:30px;padding:3px 9px}.graph-panel>.text-button{margin:6px 10px}details{border-top:1px solid #eee6ef;padding:12px 18px;font-size:.8rem;line-height:1.6}summary{min-height:32px;font-weight:700}details p{margin:10px 0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field-grid label{min-width:0}.tool-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:0 16px 14px;border-bottom:1px solid #eee6ef}.tool-tabs button{font-size:.74rem;padding:6px 9px;min-height:36px}.tool-tabs button[aria-pressed=true],.view-tabs button[aria-pressed=true]{background:#7654b5;border-color:#7654b5;color:white}.tool-page{padding:8px 18px 20px;min-width:0}.tool-page p{font-size:.82rem;line-height:1.6}.tool-page details{padding:12px 0}.tool-result{font-size:.85rem;margin:12px 0;overflow:auto;overflow-wrap:anywhere;max-height:420px;white-space:normal}.tool-result pre,pre.tool-result{white-space:pre-wrap;font:13px/1.6 ui-monospace,monospace}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5effa;border-radius:10px;padding:12px;font-size:.75rem}.tool-result table{border-collapse:collapse;width:100%;font:12px ui-monospace,monospace}.tool-result td,.tool-result th{padding:8px;border-bottom:1px solid #eee6ef;text-align:right}.file-button{display:inline-flex;align-items:center;border:1px solid #ddd5e4;border-radius:11px;padding:8px 12px;background:white;min-height:44px;font-size:.8rem}.file-button input{width:1px;height:1px;padding:0;min-height:0;opacity:0;position:absolute}.file-button:focus-within{outline:3px solid #9570cd;outline-offset:3px}.file-menu{padding:0;border:0;position:relative}.file-menu summary{background:white;border:1px solid #ddd5e4;padding:8px 12px;border-radius:11px;min-height:44px;display:flex;align-items:center}.file-menu>div{position:absolute;z-index:10;top:48px;right:0;display:grid;gap:7px;width:220px;background:white;border:1px solid #ddd5e4;box-shadow:0 12px 28px #31264e22;border-radius:14px;padding:12px}#keypad{padding:10px 18px 18px;background:#f4eef8}.keypad-tabs{display:flex;gap:6px;margin-bottom:8px}#keypad-keys{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}#keypad-keys button{padding:8px 2px;font:16px ui-monospace,monospace;min-height:48px}#matrix-grid{display:grid;gap:5px;margin:12px 0;overflow:auto}#matrix-grid input{padding:7px;min-width:55px}.matrix-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.library-rail{padding:30px 14px;background:#f0e9f6;border-right:1px solid #e0d6e8;display:flex;flex-direction:column;gap:14px}.rail-mark{font:italic 52px Georgia;color:#7654b5}.library-rail p{font-size:.6rem;letter-spacing:.12em;color:#95859e}.library-rail button{width:100%;text-align:left;margin-bottom:7px;overflow-wrap:anywhere}.library-rail button.active{border-color:#b9a0d8;background:#fff}.rail-bottom{margin-top:auto;font:italic 14px/1.6 Georgia;color:#9b89a7}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:12px 18px;border-radius:14px;background:#31264e;color:#fff;z-index:50;font-size:.85rem;box-shadow:0 8px 30px #31264e30;pointer-events:none}#notice:empty{display:none}dialog{border:1px solid #ddd5e4;border-radius:22px;max-width:min(520px,calc(100vw - 24px));width:100%;padding:20px;color:#31264e;background:#fffaf2;max-height:90dvh;overflow:auto}dialog::backdrop{background:#31264e66;backdrop-filter:blur(3px)}dialog .panel-heading{padding:0 0 10px}#command-list{display:grid;gap:7px;margin-top:14px}#command-list button{text-align:left}hr{border:0;border-top:1px solid #eee6ef;margin:20px 0}.jke-platform-footer{margin-top:20px!important}.view-tabs{display:flex;gap:8px;margin-bottom:14px}.view-tabs button{flex:1}body[data-busy=true] #stop-work{display:inline-flex!important}@media(pointer:coarse){button,.file-button{min-height:48px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
