:root{font-family:-apple-system,BlinkMacSystemFont,Noto Sans HK,PingFang HK,sans-serif;color:#143c2d;background:#f7f5ef;font-size:18px;line-height:1.6}*{box-sizing:border-box}body{margin:0;height:100dvh;min-height:500px;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:#143c2d;color:#fff}header a{color:#fff;text-decoration:none;min-height:44px;display:flex;align-items:center}h1{font-size:23px;margin:0;font-weight:600}select,button{font:inherit;min-height:44px;border-radius:8px;border:1px solid #b0b9b2;padding:7px 15px;background:#fff;color:#143c2d;cursor:pointer}select{max-width:120px}a:focus-visible,button:focus-visible,select:focus-visible,main:focus-visible{outline:3px solid #da8134;outline-offset:3px}main{position:relative;flex:1;min-height:240px;overflow:hidden;touch-action:none;background:#cdd6d1}canvas{display:block;width:100%;height:100%}#status{position:absolute;z-index:1;top:35%;left:50%;transform:translate(-50%,-50%);background:#fffef5ef;padding:16px 24px;border-radius:12px;text-align:center;max-width:90%;width:max-content}#retry{position:absolute;z-index:2;top:55%;left:50%;transform:translate(-50%)}footer{padding:8px 20px 12px;text-align:center}footer p{margin:2px 0 8px;font-size:17px}.controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.controls button:last-child{background:#143c2d;color:#fff}.controls button:hover{border-color:#da8134}details{font-size:16px;margin-top:8px}details p{font-size:16px}summary{cursor:pointer;min-height:32px}details a{color:#143c2d}@media(max-width:600px){header{padding:8px 12px;gap:8px;flex-wrap:wrap}header a{font-size:16px}h1{font-size:20px}header select{font-size:16px;padding:6px;max-width:90px}footer{padding:8px 8px 10px}footer p{font-size:16px}.controls{gap:5px}.controls button{padding:6px 10px;font-size:16px}body{min-height:540px}}@media(max-height:550px)and (min-width:600px){footer{padding:4px}footer p,details{display:none}header{padding:4px 16px}body{min-height:300px}}.focus-controls{display:flex;justify-content:center;gap:8px;margin-bottom:7px}.focus-controls button{background:#ede5d3;border-color:#baa880}@media(max-width:600px){.focus-controls button{font-size:16px;padding:6px 12px}}
