*{box-sizing:border-box}html{background:#f0fbfe}body{margin:0;color:#173b50;font:15px/1.48 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button,input,select{max-width:100%}a{color:#0c798e}button{border:1px solid #94c9d2;background:#fff;color:#175465;border-radius:12px;padding:11px 14px;cursor:pointer;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #008da4;outline-offset:2px}input:not([type=checkbox]):not([type=file]),select{border:1px solid #a9cdd7;border-radius:10px;padding:11px;background:#fff;width:100%;color:#123c54;min-height:42px}input[type=checkbox]{accent-color:#098ca1;flex:none;width:19px;height:19px}input[type=range]{accent-color:#0ca6ac}.movement-app{max-width:1420px;margin:auto;padding:18px clamp(12px,3vw,35px) 50px}.hero{border-radius:25px;background:linear-gradient(115deg,#0a4757,#0d8b9c);color:#fff;padding:clamp(25px,4vw,50px);margin:10px 0 14px}.eyebrow{font-size:12px;letter-spacing:.15em;color:#bcfaff;font-weight:800}.hero h1{font-size:clamp(26px,4vw,47px);line-height:1.12;letter-spacing:-.035em;margin:12px 0}.hero h1 span{color:#b9f7ff}.hero p{max-width:780px;font-size:17px}.links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.links a{border:1px solid #b7e5eb80;color:white;text-decoration:none;border-radius:12px;padding:10px 13px;font-weight:650}.notice{border-left:5px solid #bd8c25;border-radius:13px;background:#fff9e8;color:#614d20;padding:17px;margin-bottom:18px}.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.statrow>div{background:#fff;border:1px solid #d0e7ee;border-radius:15px;padding:13px 17px}.statrow span{display:block;color:#547887;font-size:12px;font-weight:650}.statrow strong{display:block;font-size:22px;color:#076d83}.layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{min-width:0;background:#fff;border:1px solid #cbe6ed;border-radius:18px;padding:clamp(17px,2vw,26px);box-shadow:0 12px 28px #0b58600c}.panelhead span{font-size:12px;letter-spacing:.12em;color:#0b8c94;font-weight:800}.panelhead h2{font-size:clamp(20px,2.4vw,28px);margin:5px 0 18px;letter-spacing:-.02em}.upload{display:block;text-align:center;cursor:pointer;padding:22px;border:2px dashed #3aa7b3;border-radius:12px;background:#e7faff;color:#0a7381;font-weight:800}.upload input{display:block;width:100%;font-weight:400;margin-top:8px}.hint{color:#617f8a;font-size:13px;line-height:1.65}.check{display:flex;align-items:flex-start;gap:11px;border:1px solid #d3e9ed;padding:14px;border-radius:12px;margin:14px 0;font-size:14px}.field{margin-top:13px}.field label,.fieldgrid label,.twocol label,.plan>label{display:block;font-weight:700;margin-bottom:6px;color:#38586a}.fieldgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.fieldgrid label{font-size:12px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.twocol output{display:block;padding:10px;color:#0c8f9c}.filelist{list-style:none;padding:0;max-height:220px;overflow:auto}.filelist li{padding:8px 10px;background:#f0faff;border-radius:8px;margin:5px 0;font-size:13px;overflow-wrap:anywhere}.viewer,.export{grid-column:span 2}.viewer canvas{display:block;width:100%;height:clamp(250px,38vw,470px);border-radius:16px;border:1px solid #bddde3;background:#e9f8fd;touch-action:none}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.toolbar>*{flex:0 1 auto}.primary{background:#07899a;color:#fff;border-color:#07899a}.measurements{background:#effafd;border-radius:12px;padding:13px;margin-top:12px;font-variant-numeric:tabular-nums;white-space:pre-line}.gates p{display:flex;gap:7px;flex-direction:column;border:1px solid #cee5e8;border-radius:11px;padding:12px;background:#f4fbfd}.gates span{color:#4d6f78;overflow-wrap:anywhere}.toast{position:fixed;bottom:20px;right:16px;max-width:min(450px,calc(100vw - 32px));padding:13px 16px;color:white;background:#123a4a;border-radius:12px;box-shadow:0 9px 30px #0e40504d;display:none;z-index:30}.toast.show{display:block}footer{padding:27px;text-align:center;font-size:12px;color:#537782;font-weight:650;letter-spacing:.07em}body:has(.piga-rail) .movement-app{max-width:unset}@media(max-width:850px){.layout{grid-template-columns:1fr}.viewer,.export{grid-column:auto}.statrow{grid-template-columns:1fr 1fr}}@media(max-width:480px){.fieldgrid{grid-template-columns:1fr 1fr}.movement-app{padding:9px}.hero{border-radius:17px}.statrow{gap:6px}.statrow>div{padding:10px}.statrow strong{font-size:18px}.panel{padding:14px}.twocol{grid-template-columns:1fr}.toolbar button{flex:1}}
/* Visible native multi-file picker + persistent Glassbox upload receipt. */
input.piga-file-input[type=file]{display:block;visibility:visible;width:100%;max-width:100%;font:14px/1.5 system-ui,sans-serif;background:#f2fbfc;border:1px solid #9ac9d1;border-radius:12px;padding:9px;min-height:48px;overflow-wrap:anywhere;color:#154257;cursor:pointer}
input.piga-file-input[type=file]::file-selector-button{background:#0a788a;color:white;border:0;border-radius:9px;padding:10px 14px;cursor:pointer}
.upload-state{background:#eaf6f7;border:1px solid #b0d9dc;color:#164658;border-radius:12px;min-height:45px;padding:12px 14px;line-height:1.5;overflow-wrap:anywhere;font-weight:650;margin:10px 0}
