/* Local creator tools retain the portrait layout and the game's jewel colours. */
body[data-screen=tester] .app-shell{max-width:480px;min-height:100svh;padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));background:linear-gradient(160deg,#0759bfeb,#34217ae8 60%,#071c46f5);box-shadow:0 0 55px #001735a6}
body[data-screen=tester] .topbar{height:66px}
body[data-screen=tester] .wordmark{font-size:18px}
body[data-screen=tester] main{padding:0 0 24px;min-height:0}
body[data-screen=tester] footer{display:block;text-align:center}
body[data-screen=tester] footer>span{display:none}
.tester-page{color:#fff;max-width:100%;overflow-wrap:anywhere}
.tester-page .page-heading{padding:20px 0;margin:0}
.tester-page .page-heading h1{font-size:29px;margin:8px 0}
.tester-page .page-heading p{color:#e4edff;font-size:15px;line-height:1.5}
.tester-page .heading-icon{font-size:35px;color:#ffe392;text-shadow:0 0 18px #ffcf6366}
.tester-banner{position:sticky;top:0;z-index:35;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;width:100%;max-width:480px;margin:0 auto;padding:9px 10px;border:1px solid #e5c578;border-radius:13px;background:linear-gradient(125deg,#752acb,#3b1974);box-shadow:0 4px 15px #0005;color:#fff}
.tester-banner strong{font-size:12px;line-height:1.35;letter-spacing:.035em}
.tester-banner-actions{display:flex;gap:5px;flex-shrink:0}
.tester-banner button{min-height:40px;padding:5px 10px;border:1px solid #cfc0ec;border-radius:10px;background:#251346;color:white;font-size:13px;font-weight:700;cursor:pointer}
.tester-banner button:last-child{background:#ffe096;color:#43254e;border-color:#fff0c8}
.tester-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 14px}
.tester-overview .stat-box{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0;padding:13px 6px;background:linear-gradient(145deg,#1263ab,#10315f);border:1px solid #86c4f4;border-radius:16px;color:#fff}
.tester-overview .stat-box:nth-child(2){background:linear-gradient(145deg,#097156,#073d44);border-color:#61d7b9}
.tester-overview .stat-box:nth-child(3){background:linear-gradient(145deg,#775615,#4b3515);border-color:#f0cc70}
.tester-overview .stat-box span{font-size:12px;line-height:1.4}
.tester-overview .stat-box strong{font-size:24px;color:#fff;font-variant-numeric:tabular-nums}
.tester-note,.tester-step-note{background:#fff0bc;color:#493315;border:1px solid #ffda72;border-radius:14px;padding:14px;font-size:14px;line-height:1.55;text-align:left}
.tester-card{padding:18px 15px;margin:17px 0;border:1px solid #9476d9;border-radius:23px;background:linear-gradient(135deg,#422078,#211949);box-shadow:inset 0 1px 0 #ffffff33,0 8px 20px #00172c55}
.tester-card h2{font-size:20px;margin:0 0 10px;color:#fff}
.tester-card p{font-size:14px;line-height:1.55;color:#e7e7ff;margin:10px 0 16px}
.tester-card .tester-help{font-size:12px;color:#dbe7ff;margin:12px 0 0}
.tester-blue{background:linear-gradient(135deg,#164a81,#142754);border-color:#5cb8f2}
.tester-gold{background:linear-gradient(135deg,#6b4718,#3a234e);border-color:#e2bc61}
.tester-gold h2{color:#ffe5a0}
.tester-links{background:linear-gradient(135deg,#095846,#123955);border-color:#73cebb}
.tester-field{display:flex;flex-direction:column;gap:7px;margin:15px 0;min-width:0}
.tester-field label,.tester-code-form label{font-weight:650;font-size:14px}
.tester-field select,.tester-field input,.tester-code-form input{width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid #9fc6f4;border-radius:12px;padding:10px 12px;font:inherit;font-size:16px;color:#14294d;background:#eef5ff;box-sizing:border-box}
.tester-field option{color:#14294d;background:#fff}
.tester-factors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0}
.tester-factors button{min-height:48px;padding:8px 3px;border:1px solid #a989e2;border-radius:12px;background:#261344;color:#f3e8ff;font-size:18px;font-weight:800;cursor:pointer}
.tester-factors button.selected{color:#422300;background:linear-gradient(#fff3b8,#ffbf3f);border-color:#fff0be;box-shadow:0 0 14px #ffc55e55}
.tester-card>.gloss,.tester-page>.gloss{display:block;width:100%;margin-top:12px;min-height:50px;font-size:15px;padding:12px 10px;white-space:normal}
.tester-page button:disabled{opacity:.55;cursor:wait}
.tester-aided{border:1px solid #b4cee8;color:#e8f6ff;background:#1d3a69;border-radius:12px;padding:12px;min-height:44px;cursor:pointer}
.tester-aided[aria-pressed=true]{color:#ffe598;border-color:#eec559;background:#483851}
.tester-reset{display:block;width:100%;min-height:48px;border:1px solid #edaaaa;border-radius:13px;color:#fff1f1;background:#701f43;margin:20px 0 10px;padding:12px;font-size:14px;cursor:pointer}
.tester-access{display:block;margin:20px auto 0;padding:12px 24px;min-height:44px;border:0;background:#063970cc;color:#e7f0ff;border-radius:12px;font:inherit;font-size:13px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;cursor:pointer}
.tester-open{width:100%;margin-top:16px}
.tester-code-form{display:flex;flex-direction:column;gap:12px}
.tester-code-form input{text-align:center;letter-spacing:.14em}
.tester-code-message{min-height:1.5em;margin:0;font-size:14px}
.tester-code-form .gloss{min-height:48px}
.tester-page :is(button,input,select):focus-visible,.tester-banner button:focus-visible,.tester-access:focus-visible{outline:3px solid #ffe29a;outline-offset:3px}
body[data-testing=true][data-screen=feedback] .topbar{display:none}
body[data-testing=true][data-screen=feedback] .feedback-page{padding-top:12px}
@media(max-width:350px){.tester-card{padding:16px 12px}.tester-banner{gap:4px;padding:7px}.tester-banner strong{font-size:11px}.tester-banner button{padding:5px 8px}.tester-overview .stat-box strong{font-size:22px}}
