:root{--ink:#243b37;--muted:#6a7870;--line:#e6e7dd;--brand:#e76636;--bg:#f7f7f0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}main{max-width:1200px;margin:auto;padding:24px 28px 60px}header{display:flex;align-items:center;gap:16px;padding-bottom:28px}.brand{text-decoration:none;color:var(--ink);font-size:22px;font-weight:900}.badge{font-size:11px;background:#e7ece3;color:#4d6757;padding:4px 10px;border-radius:99px}header button{margin-left:auto}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 6px 22px #243b3705}.login{max-width:450px;margin:7vh auto}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--brand)}h1{font-size:32px;letter-spacing:-.03em;margin:6px 0 18px}h2{font-size:19px;margin:0 0 16px}h3{font-size:15px;margin:0 0 10px}.muted{color:var(--muted);font-size:13px}label{display:block;font-size:12px;font-weight:750}input,select{display:block;width:100%;font:inherit;margin-top:5px;padding:11px 12px;border:1px solid #dce0d4;border-radius:10px;background:#fff;color:var(--ink)}button{font:750 13px system-ui;border:1px solid #dce0d4;background:#fff;border-radius:10px;padding:11px 15px;cursor:pointer;color:var(--ink)}button:hover{background:#f5f6ed}button:disabled{opacity:.45;cursor:default}.primary{background:var(--brand);border-color:var(--brand);color:#fff}.primary:hover{background:#d65b2c}.login label{margin:18px 0}.login .primary{width:100%;margin-top:6px}.heading,.sectionHead{display:flex;justify-content:space-between;align-items:center;gap:14px}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs .selected{background:var(--ink);color:white;border-color:var(--ink)}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{min-width:140px;flex:1}.filters .search{flex:2}.note{margin:0 0 22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px}.stat span{display:block;font-size:12px;color:var(--muted)}.stat strong{font-size:29px}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:11px;color:var(--muted);font-weight:700;background:#fafbf6}td,th{padding:12px 14px;border-bottom:1px solid #edf0e7}td:not(:first-child),th:not(:first-child){text-align:right}.person{border-bottom:1px solid var(--line);padding:15px 0}.person summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}.person strong{display:block}.person small{display:block;color:var(--muted);font-size:11px}.person .numbers{text-align:right;font-size:13px;font-weight:750}.pagination{display:flex;justify-content:end;gap:12px;align-items:center;margin-top:20px}.buttons{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.buttons label{min-width:200px}.testNotice{background:#fff4e6;border-radius:12px;padding:12px;font-size:12px;color:#815e39}.lab{display:grid;grid-template-columns:390px 1fr;gap:20px;margin-top:22px}iframe{width:100%;height:710px;border:1px solid var(--line);border-radius:16px;background:#fffaf2}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f6ef;padding:18px;border-radius:14px;font:12px/1.7 ui-monospace,monospace}.ok{color:#187450}.bad{color:#bd5035}[hidden]{display:none!important}#status,#loginStatus{color:#b7472d}.empty{text-align:center;padding:25px;color:var(--muted)}@media(max-width:760px){main{padding:18px 14px 40px}.card{padding:18px}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:15px}.stat strong{font-size:24px}.heading,.sectionHead{display:block}.lab{grid-template-columns:1fr}.lab iframe{max-width:390px;margin:auto}.filters label{min-width:125px}.filters .primary{width:100%}.person summary{align-items:start}h1{font-size:28px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Immersive RPG lab: the game receives the available viewport, not its content height. */
body.rpg-open{overflow:hidden}#rpgPanel{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:48px minmax(0,1fr);background:#f6f5ef;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.rpg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 8px;border-bottom:1px solid #dce3d6;position:relative}.rpg-toolbar>b{font-size:14px}.rpg-toolbar button,.rpg-toolbar summary{min-height:44px;padding:10px;font-size:12px}.rpg-toolbar summary{cursor:pointer;list-style:none;border:1px solid #dce0d4;border-radius:8px}.rpg-debug-content{position:absolute;top:48px;left:8px;right:8px;padding:14px;background:#fff;box-shadow:0 10px 30px #243b3733;z-index:2;border:1px solid #dce0d4;border-radius:12px;max-height:70dvh;overflow:auto}.rpg-debug-content h2{font-size:15px;margin:0 0 6px}.rpg-debug-content p{margin:6px 0}.rpg-debug-content .buttons{gap:6px}.rpg-debug-content label{min-width:160px}.rpg-debug-content #rpgSaveStatus{font-size:10px}
