*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Arial,Helvetica,sans-serif;color:#1a2934;background:#e8edf0}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,#viewport:focus-visible{outline:2px solid #008fdb;outline-offset:4px}button:hover{background:#dfeaf0}button:active{transform:translateY(1px)}#studio{position:relative;height:100dvh;min-height:440px}#viewport{position:absolute;inset:0;touch-action:none}#viewport canvas{display:block;width:100%;height:100%}header{position:absolute;top:30px;left:38px;right:38px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}header>div,header>button{pointer-events:auto}.brand{font-size:22px;font-weight:600;letter-spacing:.21em}.sub{display:block;font-size:12px;letter-spacing:.2em;margin-top:7px;color:#697681}header button{background:#fff9;border:1px solid #fff8;border-radius:24px;padding:13px 19px;font-size:14px;backdrop-filter:blur(12px)}.intro{position:absolute;left:38px;top:146px;pointer-events:none}.intro p{font-size:12px;letter-spacing:.16em;color:#73818b;margin:0 0 15px}.intro h1{font-weight:400;letter-spacing:-.045em;font-size:36px;margin:0 0 10px}.intro span{color:#72808b;font-size:14px}.bottom{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:28px;right:28px;display:flex;flex-direction:column;align-items:center;pointer-events:none}.gesture{font-size:13px;color:#647582;margin:0 0 14px}.controls{pointer-events:auto;display:flex;gap:6px;align-items:center;padding:8px;background:#ffffffc9;backdrop-filter:blur(18px);border:1px solid #fff;border-radius:30px;box-shadow:0 12px 34px #34485813}.controls button{border-radius:22px;background:transparent;padding:12px 15px;white-space:nowrap;font-size:14px}.controls .selected,.controls button[aria-pressed=true]{background:#183242;color:white}.controls button:hover{background:#d9e8f0}.controls .selected:hover{background:#21475e}.views{display:flex;gap:2px}.separator{width:1px;height:24px;background:#cfd9df;margin:0 5px}.foot{width:100%;display:flex;justify-content:space-between;color:#71808a;font-size:12px;margin-top:24px}#reference{position:absolute;right:38px;top:100px;width:min(440px,calc(100vw - 40px));padding:14px;background:#ffffffeb;box-shadow:0 12px 60px #20324025;border-radius:18px;backdrop-filter:blur(15px);z-index:3}#reference[hidden]{display:none}.reference-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:14px}.reference-top button{padding:8px 12px;border-radius:15px;background:#e9eef1;font-size:13px}#reference-image{width:100%;display:block;border-radius:9px}#reference p{font-size:13px;line-height:1.6;color:#647380;margin:12px 2px 1px}.reference-views{display:flex;gap:6px;margin-top:12px}.reference-views button{background:#edf1f3;border-radius:16px;font-size:13px;padding:8px 15px}.reference-views button[aria-pressed=true]{background:#193545;color:white}#loading,#error{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);background:#fffdfc;padding:20px 28px;box-shadow:0 10px 40px #29455315;border-radius:18px;font-size:15px;max-width:90vw}#loading span{display:inline-block;width:9px;height:9px;margin-right:10px;background:#119fff;border-radius:50%}#error[hidden]{display:none}@media(max-width:760px){header{left:22px;right:22px;top:22px}.brand{font-size:18px}.sub{font-size:10px}header button{padding:11px 14px;font-size:13px}.intro{top:107px;left:22px}.intro p{font-size:11px;margin-bottom:9px}.intro h1{font-size:26px;margin-bottom:7px}.intro span{font-size:13px}.bottom{left:12px;right:12px;bottom:max(15px,env(safe-area-inset-bottom))}.controls{border-radius:21px;max-width:100%;padding:7px;gap:3px;flex-wrap:wrap;justify-content:center}.controls button{font-size:13px;padding:11px 12px}.views{flex-basis:100%;justify-content:center;border-bottom:1px solid #dce3e8;padding-bottom:6px}.separator{display:none}.gesture{font-size:11px;margin-bottom:10px}.foot{margin-top:12px;font-size:10px}.intro{max-width:80%}#reference{right:20px;top:85px}}@media(max-height:600px) and (min-width:761px){.intro{top:112px}.intro h1{font-size:26px}.bottom{bottom:12px}.foot{margin-top:12px}.gesture{margin-bottom:7px}}@media(prefers-reduced-motion:reduce){button:active{transform:none}}
