*{box-sizing:border-box}body{margin:0;font:14px Tahoma,Arial,sans-serif;color:#34415b;background:radial-gradient(ellipse at top,#e3e4f8,transparent 60%),#f6f2ef}button{font:inherit;cursor:pointer;touch-action:manipulation;background:#fff8;border:1px solid #d0cfe1;border-radius:12px;padding:10px 13px;color:inherit}button:hover{filter:brightness(.97)}button:focus-visible,canvas:focus-visible{outline:3px solid #b97849;outline-offset:3px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}main{max-width:510px;margin:auto;padding:22px 18px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}header small{font:9px Arial;letter-spacing:2px;color:#8e8aa8}h1{font-size:27px;margin:6px 0 0}nav{display:flex;gap:6px}nav button{font-size:10px;padding:9px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.stats div{padding:11px;text-align:center;background:#fff9;border:1px solid #dcd9e7;border-radius:15px}.stats small{display:block;font-size:10px;color:#8b879e;margin-bottom:6px}.stats b{font-weight:400;font-size:23px}.view{position:relative;border:1px solid #cbcce3;border-radius:23px;overflow:hidden;background:#d9dcef;box-shadow:0 20px 45px #53467410}canvas{display:block;width:100%;height:auto;max-height:58svh;object-fit:contain;aspect-ratio:4/5;touch-action:manipulation}.badge{position:absolute;top:17px;left:0;right:0;text-align:center;font:9px Arial;letter-spacing:3px;color:#6e7194;pointer-events:none}#message{text-align:center;min-height:23px;font-size:12px;color:#6d6687;margin:15px 0}.primary{display:block;width:100%;background:#6b658e;color:#fff;border:0;font-weight:700;padding:14px}footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:10px;color:#888098}footer button{font-size:10px}.tip{text-align:center;font-size:10px;color:#938ba0;margin:14px 0}#overlay{position:fixed;inset:0;z-index:5;background:#34334bab;backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px;overflow:auto}.dialog{width:100%;max-width:400px;border:1px solid #fff;border-radius:27px;background:radial-gradient(ellipse at top,#e4e1f8,#fcf6ef 65%);padding:28px;text-align:center;box-shadow:0 25px 100px #22233755}.symbol{font-size:75px;color:#9188b4;line-height:1.2}.dialog>small{color:#8a80a0;font-size:11px}h2{font-size:27px;margin:16px 0}.dialog p{line-height:2;font-size:13px;color:#777086}#guide{background:#e8e3ef;padding:15px;border-radius:14px;text-align:right;font-size:11px;line-height:2.2;margin:20px 0}.dialog .primary{margin-top:20px}#secondary{width:100%;margin-top:10px}@media(max-width:380px){main{padding:16px 12px}h1{font-size:23px}nav button{font-size:9px;padding:8px}.dialog{padding:23px}}