html{background:#12161c radial-gradient(circle at 50% 30%,#2b3440,#12161c 70%) fixed}html,body{touch-action:manipulation;-webkit-user-select:none;user-select:none;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}#app{justify-content:center;align-items:center;height:100%;display:flex}.calc{filter:drop-shadow(0 12px 30px #0009);height:min(98vh,217.687vw);position:relative}.calc .skin{pointer-events:none;width:100%;height:100%;display:block}.calc .lcd{image-rendering:pixelated;border-radius:.4%;position:absolute;box-shadow:inset 0 0 6px #00000080}.calc .key{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:40%;position:absolute}.calc .key.pressed{background:#00000047;box-shadow:inset 0 2px 6px #00000080}.calc.debug .key{color:#ff0050;outline:2px solid #ff0050d9;justify-content:center;align-items:center;font:700 11px monospace;display:flex}#toolbar{opacity:.35;flex-direction:column;gap:6px;transition:opacity .2s;display:flex;position:fixed;top:8px;right:8px}#toolbar:hover{opacity:1}#toolbar button,#toolbar a{color:#dde4ec;cursor:pointer;background:#2d3846;border:1px solid #45556a;border-radius:6px;padding:6px 10px;font-size:12px}#toolbar a{text-align:center;font-family:inherit;line-height:normal;text-decoration:none}#toolbar button:hover,#toolbar a:hover{background:#3a4859}#btn-manual-open{color:#fff;text-align:left;cursor:pointer;background:linear-gradient(135deg,#4f86e0f2,#2f5fb5f2);border:1px solid #8cb6ff73;border-radius:16px;align-items:center;gap:12px;min-width:0;max-width:calc(50vw - min(49vh,22.0592vw) - 36px);padding:14px 18px 14px 14px;font:14px/1.25 system-ui,sans-serif;transition:transform .15s;animation:3s ease-in-out infinite mo-glow;display:flex;position:fixed;top:50%;left:18px;transform:translateY(-50%);box-shadow:0 10px 30px #00000073,0 0 #4f86e099}#btn-manual-open:hover{transform:translateY(-50%)scale(1.03)}@keyframes mo-glow{50%{box-shadow:0 10px 30px #00000073,0 0 0 8px #4f86e000}}#btn-manual-open .mo-icon{background:#ffffff29 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2V5Z'/%3E%3Cpath d='M4 19a2 2 0 0 1 2-2h13'/%3E%3Cpath d='M9 8h6M9 11h4'/%3E%3C/svg%3E") 50%/24px no-repeat;border-radius:10px;flex:none;width:40px;height:40px}#btn-manual-open .mo-text{flex-direction:column;min-width:0;display:flex}#btn-manual-open strong{white-space:nowrap;font-size:16px}#btn-manual-open .mo-text span{opacity:.85;white-space:nowrap;font-size:12px}@media (width<=1000px) and (aspect-ratio>=1){#btn-manual-open{padding:10px}#btn-manual-open .mo-text{display:none}}.bg-mesh{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.hit-counter{opacity:.55;width:64px;height:20px;transition:opacity .2s;position:fixed;bottom:8px;left:8px}.hit-counter:hover{opacity:1}.tip-key{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;font-family:system-ui,sans-serif;display:flex;position:fixed;bottom:10px;right:12px}.tip-key .legend{color:#7fd08f;text-shadow:0 1px 2px #0009;font:700 12px/1 system-ui,sans-serif}.tip-key .cap{color:#f4fff6;letter-spacing:.06em;background:linear-gradient(#7cc58a,#4f9a5e 55%,#3f8550);border-radius:45%/60%;min-width:52px;padding:6px 12px 7px;font:700 12px/1 system-ui,sans-serif;transition:transform 80ms,box-shadow 80ms,filter .2s;box-shadow:inset 0 1px #ffffff59,0 2px #2a5c36,0 4px 8px #00000080}.tip-key:hover .cap{filter:brightness(1.08)}.tip-key:active .cap{transform:translateY(2px);box-shadow:inset 0 1px #ffffff40,0 0 #2a5c36,0 2px 4px #00000080}.tip-key:focus-visible{outline:none}.tip-key:focus-visible .cap{outline-offset:2px;outline:2px solid #9fe3ac}.tip-dialog{color:#dde4ec;-webkit-user-select:text;user-select:text;background:#1c232cfa;border:1px solid #7cc58a73;border-radius:10px;width:min(440px,100vw - 24px);max-height:calc(100vh - 24px);padding:0;overflow:hidden;box-shadow:0 12px 48px #000000b3}.tip-dialog[open]{flex-direction:column;display:flex}.tip-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05080c99}.tip-dialog header{justify-content:space-between;align-items:center;gap:10px;padding:12px 12px 4px 16px;display:flex}.tip-dialog h2{color:#8fd89e;margin:0;font:600 18px system-ui,sans-serif}.tip-dialog .close{color:#dde4ec;cursor:pointer;background:0 0;border:1px solid #45556a;border-radius:10px;flex-shrink:0;width:40px;height:40px;font-size:18px}.tip-dialog .close:hover{background:#2d3846}.tip-note{color:#a7b3c2;margin:0 16px 10px;font:13px/1.4 system-ui,sans-serif}.tip-frame{touch-action:pan-y;background:#f9f9f9;border-radius:8px;flex:auto;min-height:0;margin:0 10px 10px;position:relative;overflow-y:auto}.tip-frame iframe{box-sizing:border-box;background:#f9f9f9;border:none;width:100%;padding:4px;display:block}.tip-loading{color:#555;place-items:center;font:14px system-ui,sans-serif;display:grid;position:absolute;inset:0}@media (aspect-ratio<=1){.hit-counter,.tip-key{top:8px;bottom:auto}#btn-manual-open{max-width:none;padding:8px 14px 8px 8px;top:8px;left:50%;transform:translate(-50%)}#btn-manual-open:hover{transform:translate(-50%)scale(1.03)}#btn-manual-open .mo-icon{width:30px;height:30px}#btn-manual-open .mo-text span{display:none}#toolbar{flex-direction:row;top:auto;bottom:6px;right:50%;transform:translate(50%)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.noscript{color:#dde4ec;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.ui-dialog,.export-dialog{color:#dde4ec;-webkit-user-select:text;user-select:text;background:#1c232c;border:1px solid #45556a;border-radius:10px;max-width:min(34rem,100vw - 2rem);max-height:calc(100vh - 2rem);padding:1.25rem 1.5rem;font:15px/1.5 system-ui,sans-serif;box-shadow:0 20px 60px #0009}.ui-dialog::backdrop,.export-dialog::backdrop{background:#05080c99}.ui-dialog h2,.export-dialog h3{margin:0 0 .75rem;font-size:1.2rem}.ui-dialog p{margin:0 0 .8rem}.ui-dialog .fine{color:#a7b3c2;font-size:.85em}.ui-dialog code{font-size:.92em}.ui-dialog a{color:#8cc4ff}.ui-dialog menu,.export-dialog menu{justify-content:flex-end;gap:.5rem;margin:1rem 0 0;padding:0;display:flex}.ui-dialog button,.export-dialog button{color:#dde4ec;font:inherit;cursor:pointer;background:#2d3846;border:1px solid #45556a;border-radius:6px;padding:6px 14px}.ui-dialog button:hover,.export-dialog button:hover{background:#3a4859}.export-dialog .list{flex-direction:column;gap:.25rem;max-height:50vh;display:flex;overflow:auto}
