:root{font-family:'DM Sans',sans-serif;color:#173b34;background:#f5f8f3;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse 48% 23% at 92% 3%,#e0f1df,transparent 100%),radial-gradient(ellipse 38% 28% at 1% 73%,#d9eee8,transparent 100%),#f6f8f3}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.43;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible+span{outline:3px solid #e9bd4f;outline-offset:3px}
.site-head{max-width:1290px;margin:0 auto;padding:19px clamp(18px,4vw,58px);display:flex;align-items:center;gap:16px;border-bottom:1px solid #dde8dd}.site-brand{font-family:Outfit,sans-serif;font-size:25px;font-weight:900;letter-spacing:-1.5px;display:inline-flex;align-items:center;gap:10px}.back-arrow{display:grid;place-items:center;background:#e6eee7;border:1px solid #cbded0;border-radius:10px;width:34px;height:34px;font-size:34px;line-height:1;font-family:Arial,sans-serif;font-weight:300;padding-bottom:5px}.section-name{display:flex;align-items:center;gap:9px;margin:auto;font:800 10px/1.2 'DM Sans',sans-serif;letter-spacing:.18em;color:#46665f}.small-dot{width:7px;height:7px;border-radius:50%;background:#54ab83}.head-kind{font-size:11px;letter-spacing:.1em;font-weight:800;color:#5c826f}.head-kind span{color:#dcac41}
.page-shell{max-width:1180px;margin:auto;padding:30px clamp(18px,4vw,50px) 90px}.hero{min-height:236px;display:grid;grid-template-columns:1fr 280px;align-items:center;gap:24px;margin-bottom:19px;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow,.step-label{font-size:11px;font-weight:900;letter-spacing:.18em;color:#26836a}.hero h1{margin:9px 0 12px;font:900 clamp(48px,6.7vw,83px)/.96 Outfit,sans-serif;letter-spacing:-.06em;color:#133f36}.hero h1 em{font-style:normal;color:#46a57e}.hero p{font-size:16px;line-height:1.6;color:#60796e;margin:0;max-width:570px}.hero-visual{height:220px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-orbit{position:absolute;border:1px solid #9ecbb85c;border-radius:50%;width:260px;height:260px;transform:rotateX(61deg) rotate(27deg)}.orbit-two{width:190px;height:190px;transform:rotateX(58deg) rotate(-32deg);border-color:#c9ae6d85}.phone-graphic{width:105px;height:187px;border:7px solid #1b4e43;border-radius:26px;background:linear-gradient(160deg,#d1ebd9,#f8f8e8);box-shadow:18px 22px 32px #0d453b21,-5px -4px 10px #fff inset;transform:rotate(-13deg);position:relative;display:grid;place-items:center}.phone-camera{position:absolute;top:6px;left:35px;width:24px;height:4px;background:#4c776c;border-radius:3px}.phone-wave{width:91%;height:78%;display:grid;place-items:center}.phone-wave svg{width:100%;height:100%}.phone-wave path{stroke:#269f7c;stroke-width:4;fill:none;stroke-linecap:round}.phone-axis{position:absolute;bottom:12px;right:10px;display:flex;gap:5px}.phone-axis i{font:800 11px Outfit;color:#1e6654;font-style:normal}.floating-formula{position:absolute;right:10%;top:18%;font:900 28px Outfit;color:#e4b750;transform:rotate(11deg)}
.instrument-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:17px}.panel{background:#fffefa;border:1px solid #dbe6dc;border-radius:23px;box-shadow:0 14px 30px #1c5c4210}.control-panel,.readout-panel{padding:25px}.panel-heading{margin-bottom:20px}.panel-heading h2,.chart-heading h2,.export-panel h2{font:800 clamp(23px,2.9vw,31px)/1.15 Outfit,sans-serif;letter-spacing:-.035em;margin:7px 0 0}.panel-heading-inline{display:flex;align-items:center;justify-content:space-between;gap:8px}.mode-field{border:0;padding:0;margin:0}.mode-field legend,.setting-pair label{font-size:12px;color:#385f54;font-weight:800}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px;padding:4px;background:#edf4ed;border-radius:12px}.segmented label{display:block;position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented span{display:block;text-align:center;border-radius:9px;padding:11px 6px;font-size:13px;font-weight:800;color:#688477}.segmented input:checked+span{color:#185440;background:#fff;box-shadow:0 2px 10px #28563d19}.field-help{margin:9px 0 20px;font-size:12px;line-height:1.5;color:#6b8075;min-height:39px}.setting-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setting-pair label{display:flex;flex-direction:column;gap:8px}.setting-pair select{width:100%;min-width:0;border:1px solid #d9e5d9;border-radius:11px;padding:11px 10px;background:#f8fbf7;color:#234a3d;font-size:13px;font-weight:700}.sensor-status{display:flex;align-items:center;gap:10px;margin-top:20px;border-radius:11px;padding:12px;background:#f2f6f1;color:#476b5c;font-size:12px;font-weight:800;min-height:46px}.sensor-status[data-kind='error']{background:#fff2ed;color:#9a4638}.sensor-status[data-kind='success']{background:#e7f7eb;color:#176344}.sensor-status[data-kind='recording']{background:#e8f6f0;color:#197653}.status-dot{flex:none;height:9px;width:9px;border-radius:50%;background:#a1b5a7}.sensor-status[data-kind='error'] .status-dot{background:#d56851}.sensor-status[data-kind='success'] .status-dot{background:#27916c}.sensor-status[data-kind='recording'] .status-dot{background:#2ea87c;box-shadow:0 0 0 5px #3ea37a18;animation:pulse 1.4s infinite}@keyframes pulse{50%{box-shadow:0 0 0 9px #3ea37a08}}.action-buttons{display:flex;gap:9px;margin-top:13px}.button{min-height:47px;border-radius:11px;border:0;padding:12px 15px;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px}.button-primary{background:#167653;color:white;flex:1;box-shadow:0 7px 15px #0f71412e}.button-secondary{background:#eef2ed;color:#325348}.record-icon{height:11px;width:11px;border-radius:50%;background:#e9b651;display:inline-block}.permission-note{color:#849489;font-size:11px;line-height:1.5;margin:13px 0 0}
.live-badge{font-size:10px;letter-spacing:.08em;font-weight:900;color:#8b9f91;background:#eff3ee;border-radius:20px;padding:8px 10px;white-space:nowrap}.live-badge.on{color:#168060;background:#d9f2e5}.data-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.data-tile{padding:17px 9px 13px;background:#f6f9f4;border:1px solid #edf1ea;border-radius:15px;display:flex;flex-direction:column;gap:7px;min-width:0}.data-tile>span{font:800 16px Outfit}.tile-x>span{color:#209a75}.tile-y>span{color:#d0a142}.tile-z>span{color:#d5715b}.data-tile strong{font:800 clamp(18px,2.4vw,30px) Outfit;letter-spacing:-.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.data-tile small{font-size:11px;color:#9ca99d;font-weight:800}.magnitude-row{display:flex;justify-content:space-between;align-items:center;background:#174b3f;color:#edf8ed;border-radius:14px;padding:15px 17px;margin-top:11px;gap:8px}.magnitude-row span{font-size:13px;color:#c1dfca}.magnitude-row strong{font:800 25px Outfit;font-variant-numeric:tabular-nums}.magnitude-row small{font:700 11px 'DM Sans';color:#b8d4c5}.time-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #e5ece3;margin-top:20px;padding-top:19px}.time-row>span{display:flex;flex-direction:column;gap:3px}.time-row b{font:800 20px Outfit;font-variant-numeric:tabular-nums;color:#254b3d}.time-row small{font-size:10px;color:#8a9d91}
.chart-panel{margin-top:17px;padding:24px 25px 18px}.chart-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.plot-subtitle{font-size:12px;color:#90a095;font-weight:700}.chart-wrap{height:280px;position:relative;border-radius:14px;background:repeating-linear-gradient(0deg,#fbfdf9,#fbfdf9 43px,#eef3ed 44px);border:1px solid #e7eee6;overflow:hidden}.chart-wrap canvas{width:100%;height:100%;display:block}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:#9cad9c;font-weight:700;text-align:center;padding:20px;pointer-events:none}.chart-empty[hidden]{display:none}.chart-legend{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:18px;margin-top:15px;color:#5e7c6c;font-size:12px;font-weight:800}.chart-legend span{display:inline-flex;align-items:center;gap:7px}.chart-legend i{height:4px;width:18px;border-radius:6px;display:inline-block}.legend-x{background:#169773}.legend-y{background:#dfad3d}.legend-z{background:#d46e54}.legend-mag{background:#3f6d91}.chart-foot{display:flex;justify-content:space-between;margin:12px 8px 0;color:#9bac9b;font-size:11px}
.export-panel{margin-top:17px;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.export-panel>div:first-child{max-width:560px}.export-panel p{font-size:13px;line-height:1.55;color:#7d9384;margin:8px 0 0}.export-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.button-outline{background:white;border:1px solid #a9cdb8;color:#237150}.button-dark{background:#174b3f;color:#fff}.scientific-note{color:#88a092;font-size:11px;line-height:1.6;max-width:900px;margin:20px auto 0;text-align:center}
@media(max-width:800px){.hero{grid-template-columns:1fr 145px}.hero-visual{transform:scale(.77);transform-origin:center}.instrument-grid{grid-template-columns:1fr}.export-panel{align-items:stretch;flex-direction:column}.export-actions{justify-content:stretch}.export-actions .button{flex:1}}
@media(max-width:570px){.site-head{padding:14px 17px;gap:8px}.site-brand{font-size:20px}.back-arrow{width:30px;height:30px}.section-name{font-size:9px;letter-spacing:.075em}.head-kind{display:none}.page-shell{padding:22px 14px 62px}.hero{display:block;min-height:0;margin:6px 6px 21px}.hero-visual{display:none}.hero h1{font-size:51px}.hero p{font-size:14px}.control-panel,.readout-panel{padding:19px}.data-tile{padding:14px 9px}.data-tile strong{font-size:24px}.chart-panel{padding:18px 10px 15px}.chart-heading{padding:0 7px;align-items:flex-start;flex-direction:column}.plot-subtitle{font-size:11px}.chart-wrap{height:235px}.export-panel{padding:20px 16px}.export-actions{flex-direction:column}.export-actions .button{width:100%}.time-row small{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
