:root{--ek-bg: #f4f6f8;--ek-surface: #ffffff;--ek-border: #e2e6ea;--ek-text: #1f2933;--ek-muted: #6b7885;--ek-primary: #1d6f42;--ek-primary-ink: #ffffff;--ek-primary-hover: #185c37;--ek-accent: #0f766e;--ek-danger: #b42318;--ek-danger-bg: #fef3f2;--ek-ok: #067647;--ek-ok-bg: #ecfdf3;--ek-radius: 8px;--ek-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1);--ek-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ek-mono: "SF Mono", "Cascadia Code", "Consolas", "Liberation Mono", monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--ek-font);font-size:14px;line-height:1.5;color:var(--ek-text);background:var(--ek-bg);-webkit-font-smoothing:antialiased}h1{font-size:1.4rem;font-weight:650;margin:0 0 .75rem}a{color:var(--ek-accent);text-decoration:none}a:hover{text-decoration:underline}.ek-shell{min-height:100vh;display:flex;flex-direction:column}.ek-shell-head{display:flex;align-items:center;gap:.65rem;padding:.75rem 1.5rem;background:var(--ek-surface);border-bottom:1px solid var(--ek-border)}.ek-brand{font-weight:750;letter-spacing:.02em;color:var(--ek-primary)}.ek-section{font-weight:600;color:var(--ek-text)}.ek-tenant{margin-left:auto;color:var(--ek-muted);font-size:.85rem}.ek-shell-nav{display:flex;gap:.25rem;padding:0 1.5rem;background:var(--ek-surface);border-bottom:1px solid var(--ek-border)}.ek-shell-nav a{padding:.6rem .9rem;color:var(--ek-muted);font-weight:550;border-bottom:2px solid transparent;text-decoration:none}.ek-shell-nav a:hover{color:var(--ek-text)}.ek-shell-nav a.active{color:var(--ek-primary);border-bottom-color:var(--ek-primary)}.ek-shell-main{padding:1.5rem;max-width:1100px;width:100%;margin:0 auto}button,.ek-btn-link{font:inherit;font-weight:600;cursor:pointer;padding:.5rem .9rem;border-radius:var(--ek-radius);border:1px solid var(--ek-primary);background:var(--ek-primary);color:var(--ek-primary-ink);transition:background .12s ease,box-shadow .12s ease}button:hover:not(:disabled),.ek-btn-link:hover{background:var(--ek-primary-hover);text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}.ek-btn-link{display:inline-block}.ek-btn-secondary{background:var(--ek-surface);color:var(--ek-text);border-color:var(--ek-border)}.ek-btn-secondary:hover:not(:disabled){background:#f0f2f4}.ek-row-actions a,.ek-editor-actions a{display:inline-block}.ek-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem;font-weight:550;max-width:380px}.ek-field-block{max-width:none}.ek-field input,.ek-field textarea,input,textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--ek-border);border-radius:var(--ek-radius);background:var(--ek-surface);color:var(--ek-text)}input:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--ek-primary) 40%,transparent);border-color:var(--ek-primary)}.ek-config-editor{font-family:var(--ek-mono);font-size:12.5px;line-height:1.45;width:100%;resize:vertical;min-height:360px;white-space:pre}.ek-owner-login,.ek-tutor-login{max-width:380px;margin:8vh auto 0;padding:2rem;background:var(--ek-surface);border:1px solid var(--ek-border);border-radius:12px;box-shadow:var(--ek-shadow)}.ek-owner-login h1,.ek-tutor-login h1{color:var(--ek-primary)}.ek-owner-login form,.ek-tutor-login form{margin-top:1rem}.ek-owner-login button,.ek-tutor-login button{width:100%;margin-top:.4rem}.ek-error{color:var(--ek-danger);background:var(--ek-danger-bg);padding:.5rem .7rem;border-radius:var(--ek-radius);font-weight:550}.ek-notice{color:var(--ek-ok);background:var(--ek-ok-bg);padding:.5rem .7rem;border-radius:var(--ek-radius);font-weight:550}.ek-hint{color:var(--ek-muted);max-width:640px}.ek-loading{padding:2rem;color:var(--ek-muted)}.ek-table-scroll{overflow-x:auto;background:var(--ek-surface);border:1px solid var(--ek-border);border-radius:var(--ek-radius);box-shadow:var(--ek-shadow)}.ek-data-table{width:100%;border-collapse:collapse}.ek-data-table th,.ek-data-table td{text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--ek-border)}.ek-data-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ek-muted);background:#fafbfc}.ek-data-table tr:last-child td{border-bottom:none}.ek-data-table tbody tr:hover{background:#fafbfc}.ek-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:650;text-transform:capitalize}.ek-badge-green{background:var(--ek-ok-bg);color:var(--ek-ok)}.ek-badge-grey{background:#eef1f3;color:var(--ek-muted)}.ek-list-head,.ek-editor-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.ek-list-head h1,.ek-editor-head h1{margin:0}.ek-list-head .ek-btn-link{margin-left:auto}.ek-row-actions{display:flex;align-items:center;gap:.5rem}.ek-games-empty{background:var(--ek-surface);border:1px dashed var(--ek-border);border-radius:12px;padding:2.5rem;text-align:center;color:var(--ek-muted)}.ek-editor-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.ek-editor-head a{font-weight:550}.ek-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.ek-modal{background:var(--ek-surface);border-radius:12px;box-shadow:0 12px 40px #10182840;max-width:520px;width:100%;max-height:90vh;overflow:auto}.ek-drawer{background:var(--ek-surface);box-shadow:-8px 0 40px #10182833;margin-left:auto;height:100vh;width:min(520px,100%);overflow:auto}.ek-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--ek-border);font-weight:650}.ek-modal-body{padding:1.25rem}
