@font-face{font-family:Pretendard Variable;font-style:normal;font-weight:45 920;font-display:swap;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations")}@font-face{font-family:Nanum Pen Script;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/NanumPenScript-Latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nanum Pen Script;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/NanumPenScript-Korean.woff2)format("woff2");unicode-range:U+11??,U+3000-303F,U+3130-318F,U+AC00-D7A3,U+F900-FAFF,U+FF00-FFEF}:root{--paper:#faf7ef;--paper-tint:#f3efe2;--paper-deep:#ebe4d3;--ink:#17213c;--ink-soft:#4a5474;--ink-faint:#626b89;--blue:#2f5df5;--blue-deep:#2147c8;--blue-soft:#dbe4ff;--yellow:#ffd233;--yellow-soft:#fff3c4;--mint:#26c2a3;--mint-soft:#d6f5ec;--orange:#ff7043;--orange-soft:#ffe0d8;--card:#fff;--border:2px solid var(--ink);--shadow-pop:5px 7px 0 #17213c1f;--shadow-hover:8px 11px 0 #17213c29;--radius:18px;--font-sans:"Pretendard Variable", Pretendard, "Malgun Gothic", "Apple SD Gothic Neo", system-ui, sans-serif;--font-hand:"Nanum Pen Script", "Malgun Gothic", cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px;overflow-x:clip}body{min-width:320px;color:var(--ink);background-color:var(--paper);font-family:var(--font-sans);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:linear-gradient(#2f5df50e 1px,#0000 1px),linear-gradient(90deg,#2f5df50e 1px,#0000 1px);background-size:28px 28px;margin:0;line-height:1.6}body:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 5% 16%,#ffd2332e,#0000 18%),radial-gradient(circle at 92% 38%,#26c2a31f,#0000 20%);position:fixed;inset:0}::selection{color:var(--ink);background:var(--yellow)}a{color:inherit}button,input,select{font:inherit}button,select,.resource-action,.worksheet-action{min-height:44px}button,select,summary,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.skip-link{z-index:100;color:#fff;background:var(--ink);border-radius:8px;padding:10px 14px;font-weight:800;transition:top .18s;position:fixed;top:-88px;left:16px}.skip-link:focus{top:16px}.site-header{z-index:20;border-bottom:var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf7eff0;justify-content:space-between;align-items:center;gap:24px;min-height:70px;padding:12px clamp(18px,4vw,58px);display:flex;position:sticky;top:0}.brand{min-height:44px;color:var(--ink);letter-spacing:-.03em;align-items:center;gap:10px;font-size:17px;font-weight:900;text-decoration:none;display:inline-flex}.brand-mark{background:var(--yellow);border:var(--border);width:36px;height:36px;box-shadow:2px 3px 0 var(--ink);border-radius:10px;place-items:center;display:grid;transform:rotate(-2deg)}.brand-mark svg{width:21px;height:21px}.brand-mark path{fill:#fff;stroke:var(--ink);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.header-actions{align-items:center;gap:12px;display:flex}.desktop-nav nav{align-items:center;gap:clamp(14px,2vw,25px);font-size:14px;font-weight:800;display:flex}.desktop-nav nav a,.mobile-menu nav a{text-underline-offset:5px;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.desktop-nav nav a:hover{color:var(--blue);text-decoration:underline}.header-search-link{min-height:44px;color:var(--ink);background:var(--yellow);border:var(--border);border-radius:10px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:850;text-decoration:none;display:inline-flex;box-shadow:2px 3px #17213c26}.header-search-link:hover{color:var(--ink);background:var(--orange-soft)}.mobile-menu{display:none;position:relative}.mobile-menu summary{background:var(--card);border:var(--border);cursor:pointer;border-radius:10px;place-items:center;min-width:62px;min-height:44px;font-weight:850;list-style:none;display:grid;box-shadow:2px 3px #17213c26}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{border:var(--border);min-width:210px;box-shadow:var(--shadow-pop);background:#fff;border-radius:12px;padding:10px;display:grid;position:absolute;top:calc(100% + 9px);right:0}.mobile-menu nav a{border-radius:7px;padding:11px 10px}.mobile-menu nav a:hover{background:var(--blue-soft)}.hero{isolation:isolate;max-width:1120px;margin:0 auto;padding:clamp(52px,7vw,92px) clamp(18px,4vw,40px) 56px;position:relative}.tape-label{background:var(--yellow);font-family:var(--font-hand);letter-spacing:.05em;margin:0 0 22px;padding:4px 18px 6px;font-size:20px;font-weight:400;display:inline-block;transform:rotate(-1.5deg);box-shadow:3px 3px #17213c1f}.hero-doodles{z-index:-1;pointer-events:none;position:absolute;inset:0}.hero-doodles .doodle{color:var(--blue);font-family:var(--font-hand);opacity:.8;font-size:clamp(21px,2.6vw,30px);position:absolute}.hero-doodles .d1{top:88px;right:30%;transform:rotate(-9deg)}.hero-doodles .d2{color:var(--orange);bottom:120px;right:5%;transform:rotate(7deg)}.hero-doodles .d3{color:var(--ink-soft);font-size:clamp(24px,3vw,34px);top:clamp(110px,15vw,150px);right:8%;transform:rotate(10deg)}.hero-hint{color:var(--ink-soft);font-family:var(--font-hand);margin:16px 0 0 6px;font-size:20px;transform:rotate(-.6deg)}.hero-stats{flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none;display:flex}.hero-stats li{background:var(--card);border:var(--border);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:850;box-shadow:2px 3px #17213c1f}.hero-stats li:first-child{background:var(--orange-soft);transform:rotate(-1deg)}.hero-stats li:nth-child(2){background:var(--blue-soft);transform:rotate(.8deg)}.hero-stats li:nth-child(3){background:var(--yellow);transform:rotate(-.6deg)}.hero h1{letter-spacing:-.067em;text-wrap:balance;max-width:800px;margin:0;font-size:clamp(48px,8vw,94px);line-height:.98}.hero mark{color:inherit;background:linear-gradient(transparent 62%, var(--yellow) 62%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .04em}.hero>p:not(.tape-label){max-width:670px;color:var(--ink-soft);margin:28px 0 0;font-size:clamp(16px,2vw,20px);line-height:1.75}.search-box{background:var(--card);border:var(--border);max-width:770px;box-shadow:var(--shadow-pop);border-radius:16px;grid-template-columns:1fr auto;gap:10px;margin-top:36px;padding:10px;display:grid}.search-box label{color:var(--ink-soft);grid-column:1/-1;font-size:13px;font-weight:850}.search-box input{min-width:0;min-height:50px;color:var(--ink);background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:16px}.search-box input::placeholder{color:var(--ink-faint)}.search-box button{color:#fff;background:var(--blue);box-shadow:2px 3px 0 var(--ink);cursor:pointer;border:0;border-radius:10px;padding:0 24px;font-weight:850;transition:transform .18s,background .18s}.search-box button:hover{background:var(--blue-deep);transform:translateY(-2px)}.content-section{max-width:1120px;margin:0 auto;padding:60px clamp(18px,4vw,40px);scroll-margin-top:70px}.section-kicker{color:var(--ink);background:var(--mint-soft);font-family:var(--font-hand);letter-spacing:.04em;margin:0 0 10px;padding:3px 15px 5px;font-size:18px;font-weight:400;display:inline-block;transform:rotate(-1deg);box-shadow:2px 3px #17213c1a}.section-heading{justify-content:space-between;align-items:end;gap:22px;margin-bottom:30px;display:flex}.section-heading h2{letter-spacing:-.052em;margin:0;font-size:clamp(31px,5vw,54px);line-height:1.05}.section-heading>p{color:var(--ink-soft);margin:0;font-size:14px}.section-heading>a,.trust-links a{min-height:44px;color:var(--blue);text-underline-offset:5px;align-items:center;font-weight:850;display:inline-flex}.filter-chips{flex-wrap:wrap;gap:10px;display:flex}.filter-chips button{color:var(--ink);border:var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:0 17px;font-weight:850;transition:transform .16s,background .16s;box-shadow:2px 3px #17213c1a}.filter-chips button:hover{background:var(--yellow-soft);transform:translateY(-2px)}.filter-chips button[aria-pressed=true]{color:#fff;background:var(--ink)}.filter-fields{background:#ffffff9e;border:2px dashed #17213c59;border-radius:16px;min-width:0;margin:22px 0 28px;padding:16px}.filter-fields legend{color:var(--ink);background:var(--paper);padding:0 8px;font-size:14px;font-weight:900}.filter-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.filter-field-grid label{color:var(--ink-soft);gap:7px;font-size:13px;font-weight:850;display:grid}.filter-field-grid select{width:100%;color:var(--ink);border:var(--border);cursor:pointer;background:#fff;border-radius:11px;padding:0 12px}.active-filter-bar{align-items:center;gap:14px;margin:-12px 0 28px;display:flex}.active-filters{flex-wrap:wrap;flex:1;gap:8px;display:flex}.active-filter-chip,.clear-filters{border:var(--border);cursor:pointer;border-radius:999px;font-size:13px;font-weight:850}.active-filter-chip{color:var(--ink);background:var(--yellow-soft);align-items:center;gap:8px;padding:0 13px;display:inline-flex;box-shadow:2px 3px #17213c1a}.active-filter-chip span:last-child{color:var(--blue-deep);font-size:18px;line-height:1}.clear-filters{color:#fff;background:var(--ink);flex-shrink:0;padding:0 15px}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.measurement-tools-entry{background:var(--blue-soft);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);justify-content:space-between;align-items:center;gap:28px;margin-top:28px;padding:24px 26px;display:flex}.measurement-tools-entry-copy>p{margin:0}.measurement-tools-entry-copy>p:first-child{color:var(--blue-deep);letter-spacing:.08em;font-size:12px;font-weight:900}.measurement-tools-entry-copy h3{letter-spacing:-.035em;margin:3px 0 4px;font-size:clamp(21px,3vw,28px);line-height:1.25}.measurement-tools-entry-copy>p:last-child{color:var(--ink-soft);font-size:14px}.measurement-tools-entry-link{color:#fff;background:var(--blue);border:var(--border);min-height:48px;box-shadow:3px 4px 0 var(--ink);text-align:center;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:9px;padding:10px 18px;font-weight:900;text-decoration:none;transition:transform .16s,background .16s;display:inline-flex}.measurement-tools-entry-link:hover{background:var(--blue-deep);transform:translateY(-2px)}.resource-card{background:var(--card);border:var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-pop);flex-direction:column;padding:21px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;display:flex}.resource-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}.resource-visual-wrap{margin:-3px -3px 18px;position:relative}.resource-visual{border:2px solid #17213cb3;border-radius:12px;place-items:center;height:98px;display:grid;overflow:hidden}.resource-favorite{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:5px;right:5px}.resource-favorite-icon{width:32px;height:32px;color:var(--ink);border:2px solid var(--ink);background:#fff;border-radius:50%;place-items:center;font-size:21px;line-height:1;transition:transform .16s,background .16s;display:grid;box-shadow:2px 3px #17213c29}.resource-favorite[aria-pressed=true] .resource-favorite-icon{background:var(--yellow)}.resource-favorite:hover .resource-favorite-icon{transform:rotate(7deg)scale(1.08)}.content-section.my-lab-section{padding-top:12px;padding-bottom:12px}.my-lab-board{border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);background:#ffffffe6;padding:clamp(22px,4vw,34px)}.my-lab-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.my-lab-heading h2{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,44px);line-height:1.05}.my-lab-heading>p{color:var(--ink-soft);margin:0;font-size:13px}.my-lab-recent,.my-lab-favorites{min-width:0}.my-lab-recent+.my-lab-favorites{border-top:2px dashed #17213c38;margin-top:26px;padding-top:24px}.my-lab-recent h3,.my-lab-favorites h3{letter-spacing:-.025em;margin:0;font-size:19px}.my-lab-group-heading{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:14px;display:flex}.my-lab-group-heading>button{color:var(--ink-soft);background:var(--paper);cursor:pointer;border:2px solid #17213c8c;border-radius:999px;flex:none;padding:0 13px;font-size:13px;font-weight:850}.my-lab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.my-lab-tile{background:#fff;border:2px solid #17213cb8;border-radius:13px;grid-template-columns:56px minmax(0,1fr);gap:13px;min-width:0;padding:13px;display:grid}.my-lab-tile-icon{border:2px solid var(--ink);border-radius:11px;place-items:center;width:56px;height:56px;display:grid}.my-lab-tile-icon span{font-size:28px;line-height:1}.my-lab-tile-copy{flex-direction:column;min-width:0;display:flex}.my-lab-tile-title-row{align-items:flex-start;gap:6px;display:flex}.my-lab-tile h4{letter-spacing:-.025em;flex:1;min-width:0;margin:0;font-size:16px;line-height:1.28}.my-lab-tile p{color:var(--ink-soft);margin:4px 0 9px;font-size:11px;font-weight:750}.my-lab-action{color:#fff;background:var(--blue);border:2px solid var(--ink);text-align:center;border-radius:9px;justify-content:center;align-items:center;min-height:44px;margin-top:auto;padding:7px 10px;font-size:13px;font-weight:850;text-decoration:none;display:inline-flex}.my-lab-favorite{width:44px;height:44px;color:var(--ink);background:var(--yellow);border:2px solid var(--ink);cursor:pointer;border-radius:50%;flex:0 0 44px;place-items:center;padding:0;font-size:19px;display:grid}.resource-emoji{border:2px solid var(--ink);background:#ffffffeb;border-radius:50%;place-items:center;width:64px;height:64px;font-size:34px;line-height:1;transition:transform .22s cubic-bezier(.34,1.56,.64,1);display:grid;transform:rotate(-3deg);box-shadow:2px 3px #17213c24}.resource-card:hover .resource-emoji{transform:rotate(3deg)scale(1.08)}.subject-icon{border:2px solid var(--ink);background:#ffffffd9;border-radius:50%;width:56px;height:56px;padding:11px;transform:rotate(-3deg)}.subject-icon path,.subject-icon circle{fill:none;stroke:var(--ink);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.subject-matter{background:linear-gradient(135deg, var(--orange-soft) 30%, var(--yellow-soft));border-bottom:3px solid var(--orange)}.subject-energy{background:linear-gradient(135deg, var(--yellow-soft) 30%, var(--yellow));border-bottom:3px solid var(--yellow)}.subject-life{background:linear-gradient(135deg, var(--mint-soft) 30%, #e9f8d7);border-bottom:3px solid var(--mint)}.subject-earth-space{background:linear-gradient(135deg, var(--blue-soft) 30%, #d9d6ff);border-bottom:3px solid var(--blue)}.resource-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.subject-tag{border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;padding:2px 9px 3px;font-weight:850}.tag-matter{background:var(--orange-soft)}.tag-energy{background:var(--yellow-soft)}.tag-life{background:var(--mint-soft)}.tag-earth-space{background:var(--blue-soft)}.grade-group{margin-bottom:14px}.grade-group[open]{margin-bottom:30px}.grade-group:last-of-type{margin-bottom:0}.grade-label{min-height:44px;box-shadow:none;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-bottom:1px solid #17213c29;border-radius:0;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;list-style:none;transition:transform .16s,box-shadow .16s;display:flex}.grade-label::-webkit-details-marker{display:none}.grade-label:hover{box-shadow:none;background:#ffffff73;transform:none}.grade-group[open] .grade-label{background:0 0}.grade-name{letter-spacing:-.02em;font-size:18px;font-weight:900}.grade-count{white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:850;display:inline-flex}.grade-arrow{transition:transform .18s;display:inline-block}.grade-group[open] .grade-arrow{transform:rotate(180deg)}.grade-group .resource-grid{margin-top:16px}.resource-card h3{letter-spacing:-.035em;margin:14px 0 8px;font-size:23px;line-height:1.2}.resource-card p{color:var(--ink-soft);margin:0 0 22px;line-height:1.66}.resource-actions{gap:8px;margin-top:auto;display:flex}.resource-actions .resource-action{flex:1}.resource-actions.is-worksheet-primary .worksheet-action{background:var(--paper)}.resource-action,.worksheet-action{border:var(--border);text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;font-weight:850;text-decoration:none;display:inline-flex}.resource-action{color:#fff;background:var(--blue)}.resource-action.is-disabled,.worksheet-action.is-disabled{color:var(--ink-soft);background:var(--paper-tint);cursor:not-allowed;border-color:#98a0b6}.worksheet-action{color:var(--ink);background:#fff}.empty-state,.usage-notice{background:var(--yellow);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:clamp(26px,5vw,48px)}.empty-state h3,.usage-notice h2{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(28px,4vw,44px);line-height:1.08}.empty-state p,.usage-notice>p:last-child{max-width:720px;color:var(--ink-soft)}.empty-state button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:10px;padding:0 17px;font-weight:850}.usage-notice{background:var(--mint-soft)}.trust-meta{flex-wrap:wrap;gap:10px 28px;margin:26px 0 0;display:flex}.trust-meta div{gap:2px;display:grid}.trust-meta dt{color:var(--ink-soft);font-size:12px;font-weight:850}.trust-meta dd{color:var(--ink);margin:0;font-weight:850}.trust-links{flex-wrap:wrap;gap:8px 18px;margin-top:18px;display:flex}.trust-links a{font-size:14px}.social-video-section{position:relative;overflow:clip}.social-video-heading{max-width:760px;margin-bottom:30px}.social-video-heading h2{letter-spacing:-.052em;margin:0;font-size:clamp(31px,5vw,54px);line-height:1.05}.social-video-heading>p:not(.section-kicker){color:var(--ink-soft);margin:14px 0 0}.social-video-guide{font-size:14px;font-weight:800}.social-video-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,32px);margin:0;padding:10px 8px 26px;list-style:none;display:grid}.social-video-card{--video-rotation:-.7deg;background:var(--card);border:var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-pop);transform:rotate(var(--video-rotation));padding:12px 12px 16px}.social-video-card:nth-child(2){--video-rotation:.6deg}.social-video-card:nth-child(3){--video-rotation:-.4deg}.social-video-frame{aspect-ratio:9/16;background:var(--ink);border:2px solid var(--ink);border-radius:12px;position:relative;overflow:hidden}.social-video-frame:focus-within{outline:3px solid var(--blue);outline-offset:3px}.social-video-trigger,.social-video-frame iframe,.social-video-trigger img{width:100%;height:100%;display:block}.social-video-trigger{cursor:pointer;background:0 0;border:0;min-height:44px;padding:0;position:relative}.social-video-trigger img{object-fit:cover}.social-video-frame iframe{border:0}.social-video-play{color:#fff;background:var(--blue);border:3px solid #fff;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:3px 4px #17213c57}.social-video-card>p{text-align:center;margin:14px 4px 0;font-weight:850}.social-video-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:22px auto 0;display:grid}.social-video-links a{min-width:0;min-height:48px;color:var(--ink);background:var(--card);border:var(--border);text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:10px 16px;font-weight:850;text-decoration:none;display:inline-flex;box-shadow:3px 4px #17213c24}.site-footer{color:var(--ink-soft);text-align:center;border-top:2px dashed #17213c40;padding:34px 20px 48px}.site-footer strong{color:var(--ink);font-size:18px}.site-footer p{margin:5px 0 0;font-size:13px}@media (width<=900px){.desktop-nav{display:none}.mobile-menu{display:block}.resource-grid,.my-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){html{scroll-behavior:auto;scroll-padding-top:70px}.site-header{gap:12px;min-height:64px;padding-inline:14px}.header-actions{gap:8px}.brand{font-size:15px}.brand-mark{width:32px;height:32px}.hero{padding-top:70px;padding-bottom:48px}.hero-doodles{display:none}.hero-hint{font-size:18px}.hero h1{font-size:clamp(44px,15vw,66px)}.hero>p:not(.tape-label){font-size:16px}.search-box{grid-template-columns:1fr}.search-box button{width:100%}.content-section{padding-top:46px;padding-bottom:46px}.section-heading,.my-lab-heading{flex-direction:column;align-items:flex-start}.my-lab-grid,.filter-field-grid,.resource-grid{grid-template-columns:1fr}.measurement-tools-entry{flex-direction:column;align-items:stretch;gap:18px;padding:22px}.measurement-tools-entry-link{width:100%}.active-filter-bar{flex-direction:column;align-items:flex-start}.social-video-section{padding-inline:0}.social-video-heading,.social-video-links{margin-inline:18px}.social-video-track{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:18px;padding-inline:18px;scroll-padding-inline:18px;display:flex;overflow-x:auto}.social-video-card{scroll-snap-align:center;flex:0 0 min(78vw,300px)}.social-video-links{font-size:13px}}@media (width<=600px){.hero{padding-top:62px;padding-bottom:42px}.clear-filters{width:100%}}.privacy-page{min-height:100vh;padding:clamp(24px,6vw,72px) clamp(16px,4vw,32px)}.privacy-card{background:var(--paper);border:var(--border);border-radius:var(--radius);max-width:820px;box-shadow:var(--shadow-pop);margin:0 auto;padding:clamp(26px,5vw,52px)}.privacy-card h1{letter-spacing:-.045em;margin:0 0 20px;font-size:clamp(34px,6vw,58px);line-height:1.05}.privacy-card section{margin-top:30px}.privacy-card h2{margin:0 0 8px;font-size:clamp(20px,3vw,25px)}.privacy-card p{max-width:680px;color:var(--ink-soft)}.privacy-summary{font-size:18px}.privacy-card a{color:var(--blue);text-underline-offset:5px;font-weight:850}.privacy-updated{margin-top:34px;font-size:14px}.privacy-home-link{align-items:center;min-height:44px;margin-top:8px;display:inline-flex}.privacy-settings-button{color:#fff;background:var(--blue);border:var(--border);cursor:pointer;border-radius:10px;min-height:44px;margin-top:6px;padding:9px 16px;font-weight:850;box-shadow:2px 3px #17213c2e}.privacy-settings-button:hover{background:var(--blue-deep)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.starlight-banner{text-align:center;width:min(42rem,100% - 36px);max-width:42rem;margin:2rem auto}.starlight-banner a{color:#fff;border:var(--border);border-radius:var(--radius);text-align:center;background:#282642;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;min-height:72px;padding:10px 1.25rem;text-decoration:none;transition:transform .18s,background .18s;display:flex;box-shadow:4px 6px #17213c29}.starlight-banner a:hover{background:#343054;transform:translateY(-2px)}.starlight-banner-label{color:#fff;letter-spacing:.02em;font-size:13px;font-weight:750;line-height:1.3}.starlight-banner-title{color:#fff;font-size:clamp(19px,4vw,24px);font-weight:850;line-height:1.25}@media (width<=600px){.hero{padding-bottom:28px}}.tools-root{--tools-line:#d8ddeb;--tools-page-gutter:16px;min-height:100vh;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(#2f5df509 1px,#0000 1px),linear-gradient(90deg,#2f5df509 1px,#0000 1px);background-size:32px 32px}.tools-site-header{z-index:30;min-height:64px;padding-block:8px;padding-inline:max(var(--tools-page-gutter), calc((100vw - 1180px) / 2 + var(--tools-page-gutter)));border-bottom:1px solid var(--tools-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf7eff5;justify-content:space-between;align-items:center;gap:20px;display:flex;position:sticky;top:0}.tools-brand,.tools-site-header nav a{min-height:44px;color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.tools-brand{gap:10px;min-width:0}.tools-brand-mark{background:var(--yellow);border:1px solid #aab3ca;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.tools-brand-mark svg{width:23px;height:23px}.tools-brand-mark path{fill:none;stroke:var(--ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.tools-brand-copy{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:inline-flex}.tools-brand-name{letter-spacing:.02em;font-size:15px;font-weight:900}.tools-brand-subtitle{color:var(--ink-soft);letter-spacing:-.025em;font-size:15px;font-weight:800}.tools-brand-subtitle:before{color:#aab3ca;content:"/";margin-right:8px}.tools-site-header nav{align-items:center;gap:4px;display:flex}.tools-site-header nav a{color:var(--ink-soft);border-radius:10px;padding-inline:12px;font-size:14px;font-weight:800;position:relative}.tools-site-header nav a:hover,.tools-site-header nav .tools-nav-tools{color:var(--blue-deep);background:#eef2ff}.tools-site-header nav .tools-nav-tools:after{background:var(--blue);content:"";border-radius:2px;height:2px;position:absolute;bottom:4px;left:12px;right:12px}.tools-home,.tools-detail-page{width:min(100%,1180px);padding-inline:var(--tools-page-gutter);margin:0 auto}.tools-home-hero{align-items:center;gap:48px;padding-block:48px;display:grid}.tools-home-copy{text-align:left;min-width:0}.tools-section-label,.tools-eyebrow{color:var(--blue-deep);letter-spacing:.1em;margin:0;font-size:13px;font-weight:900}.tools-home .tools-eyebrow,.tools-detail-hero .tools-eyebrow,.tools-shell-start-card .tools-section-label,.tools-related-resources>.tools-section-label{color:var(--blue);font-size:12px}.tools-home-hero h1{letter-spacing:-.045em;max-width:650px;margin:16px 0 20px;font-size:clamp(40px,6vw,56px);font-weight:900;line-height:1.08}.tools-hero-break{display:none}.tools-home-lead{max-width:540px;color:var(--ink-soft);margin:0;font-size:18px;line-height:1.65}.tools-hero-action{color:#fff;background:var(--blue);border-radius:12px;justify-content:center;align-items:center;min-width:160px;min-height:52px;margin-top:28px;padding:12px 28px;font-weight:900;text-decoration:none;display:inline-flex}.tools-hero-action:hover{background:var(--blue-deep)}.tools-home-promises{color:var(--ink-faint);flex-wrap:wrap;gap:8px 24px;margin:32px 0 0;padding:0;font-size:14px;font-weight:850;list-style:none;display:flex}.tools-home-promises li{align-items:center;gap:7px;display:inline-flex}.tools-home-promises li span{color:#15826f;font-size:16px}.tools-hero-preview{background:var(--card);border:1px solid var(--tools-line);border-radius:20px;min-width:0;padding:20px;overflow:hidden;box-shadow:0 8px 24px #17213c14}.tools-preview-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:24px;display:grid}.tools-preview-icon{width:40px;height:40px;color:var(--blue);background:var(--blue-soft);border-radius:10px;place-items:center;font-size:25px;font-weight:900;display:grid}.tools-preview-heading p{color:var(--ink-faint);letter-spacing:.04em;margin:0 0 2px;font-size:12px;font-weight:850}.tools-preview-heading strong{font-size:16px}.tools-preview-badge{color:var(--ink-faint);background:var(--paper-tint);border-radius:999px;justify-self:end;padding:5px 10px;font-size:12px;font-weight:850}.tools-preview-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.tools-preview-panels div{background:var(--paper);border:1px solid var(--tools-line);border-radius:12px;min-width:0;padding:15px}.tools-preview-panels span,.tools-preview-panels strong{display:block}.tools-preview-panels span{color:var(--ink-faint);margin-bottom:4px;font-size:12px;font-weight:850}.tools-preview-panels strong{overflow-wrap:anywhere;font-size:15px}.tools-preview-flow{min-height:100px;color:var(--blue-deep);background:var(--paper);border:1px solid var(--tools-line);word-spacing:10px;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:16px;font-size:14px;font-weight:900;display:flex}.tools-discovery{border-top:1px solid var(--tools-line);padding:40px 0 48px}.tools-discovery-heading{gap:22px;margin-bottom:28px;display:grid}.tools-discovery-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(24px,4vw,32px);line-height:1.15}.tools-discovery-heading p{color:var(--ink-soft);margin:8px 0 0;font-size:14px}.tools-input-filters{scrollbar-width:thin;gap:8px;min-width:0;max-width:100%;padding:6px 6px 8px;display:flex;overflow-x:auto}.tools-input-filter{min-width:44px;min-height:44px;color:var(--ink);background:var(--card);border:1px solid var(--tools-line);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:9px 18px;font-size:14px;font-weight:850}.tools-input-filter:hover{background:var(--paper-tint)}.tools-input-filter[aria-pressed=true]{color:#fff;background:var(--blue);border-color:var(--blue)}.tools-discovery[data-active-filter=permissionless] .tools-card:not([data-input-filters~=permissionless]),.tools-discovery[data-active-filter=microphone] .tools-card:not([data-input-filters~=microphone]),.tools-discovery[data-active-filter=motion] .tools-card:not([data-input-filters~=motion]),.tools-discovery[data-active-filter=cameraPhoto] .tools-card:not([data-input-filters~=cameraPhoto]),.tools-discovery[data-active-filter=video] .tools-card:not([data-input-filters~=video]),.tools-discovery[data-active-filter=locationMagnetic] .tools-card:not([data-input-filters~=locationMagnetic]){display:none}.tools-card-grid{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.tools-card{background:var(--card);border:1px solid var(--tools-line);border-radius:16px;flex-direction:column;min-width:0;min-height:240px;padding:24px;transition:transform .18s cubic-bezier(.2,0,0,1),border-color .18s,box-shadow .18s;display:flex}.tools-card:hover,.tools-card:focus-within{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 8px 24px #17213c14}.accent-blue{--tool-accent:var(--blue);--tool-tint:var(--blue-soft)}.accent-yellow{--tool-accent:var(--yellow);--tool-tint:var(--yellow-soft)}.accent-mint{--tool-accent:var(--mint);--tool-tint:var(--mint-soft)}.accent-orange{--tool-accent:var(--orange);--tool-tint:var(--orange-soft)}.tools-home .tools-card.accent-blue{--tool-accent:var(--blue);--tool-tint:#eef2ff}.tools-home .tools-card.accent-yellow{--tool-accent:#9a6700;--tool-tint:var(--yellow-soft)}.tools-home .tools-card.accent-mint{--tool-accent:#15826f;--tool-tint:var(--mint-soft)}.tools-home .tools-card.accent-orange{--tool-accent:#c64525;--tool-tint:var(--orange-soft)}.tools-card-topline{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.tools-card-icon,.tools-detail-icon{width:48px;height:48px;color:var(--tool-accent);background:var(--tool-tint);border:1px solid var(--tools-line);border-radius:12px;flex:none;place-items:center;font-size:25px;display:grid}.tools-card-meta{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tools-card-meta span{border:1px solid var(--tools-line);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:850;line-height:1.25}.tools-card-category{color:var(--ink-soft);background:var(--paper-tint)}.tools-card-input{color:var(--blue-deep);background:var(--blue-soft)}.tools-sensor-label{color:var(--ink-faint);margin:20px 0 0;font-size:13px;font-weight:850}.tools-card h3{letter-spacing:-.025em;margin:0 0 8px;font-size:19px;line-height:1.25}.tools-card h3+p{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 20px;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.tools-capability{border-radius:999px;align-self:flex-start;padding:5px 9px;font-size:11px;font-weight:850}.tools-capability.is-available{color:#116653;background:var(--mint-soft)}.tools-capability.is-unavailable{color:#923318;background:var(--orange-soft)}.tools-capability.is-checking{color:var(--ink-faint);background:var(--paper-tint)}.tools-card-action{color:#fff;background:var(--blue);text-align:center;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin-top:auto;padding:10px 16px;font-size:14px;font-weight:900;text-decoration:none;display:inline-flex}.tools-card-action:hover{background:var(--blue-deep)}.tools-primary-action{color:#fff;background:var(--blue);border:var(--border);min-height:52px;box-shadow:3px 4px 0 var(--ink);text-align:center;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;margin-top:15px;padding:11px 18px;font-weight:900;text-decoration:none;display:inline-flex}.tools-primary-action:hover{background:var(--blue-deep);transform:translateY(-1px)}.tools-primary-action:disabled{cursor:not-allowed;opacity:.55;transform:none}.tools-privacy-note{background:var(--mint-soft);border:1px solid var(--tools-line);border-radius:12px;gap:12px;margin:0 0 64px;padding:20px;display:grid}.tools-privacy-title{white-space:nowrap;align-items:center;gap:10px;display:flex}.tools-privacy-title span{color:#116653;place-items:center;width:30px;height:30px;font-size:22px;display:grid}.tools-privacy-note p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.65}.tools-privacy-note p strong{color:var(--ink)}.tools-detail-page{padding-top:28px;padding-bottom:64px}.tools-back-link{min-width:44px;min-height:44px;color:var(--ink-soft);text-underline-offset:4px;border-radius:8px;align-items:center;padding-inline:8px;font-size:14px;font-weight:850;display:inline-flex}.tools-back-link:hover{color:var(--blue)}.tools-detail-hero{background:var(--card);border:1px solid var(--tools-line);border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;margin:16px 0 24px;padding:24px 24px 24px 30px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #17213c0f}.tools-detail-hero.accent-blue{--tools-shell-accent:var(--blue);--tools-shell-tint:#eef2ff}.tools-detail-hero.accent-yellow{--tools-shell-accent:#9a6700;--tools-shell-tint:var(--yellow-soft)}.tools-detail-hero.accent-mint{--tools-shell-accent:#15826f;--tools-shell-tint:var(--mint-soft)}.tools-detail-hero.accent-orange{--tools-shell-accent:#c64525;--tools-shell-tint:var(--orange-soft)}.tools-detail-hero:before{background:var(--tools-shell-accent);content:"";width:6px;position:absolute;inset:0 auto 0 0}.tools-detail-icon{border-radius:14px;width:56px;height:56px;font-size:30px}.tools-detail-hero .tools-detail-icon{color:var(--tools-shell-accent);background:var(--tools-shell-tint)}.tools-detail-copy{min-width:0}.tools-detail-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tools-sensor-chip{color:var(--ink-soft);background:var(--paper-tint);border:1px solid var(--tools-line);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:850}.tools-detail-hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(32px,5vw,40px);line-height:1.15}.tools-student-prompt{max-width:760px;color:var(--ink-soft);margin:12px 0 0;font-size:16px;line-height:1.75}.tools-start-card{background:var(--card);border:var(--border);border-radius:var(--radius);max-width:820px;box-shadow:var(--shadow-pop);gap:22px;margin:0 auto;padding:clamp(24px,5vw,42px);display:grid}.tools-start-card h2{letter-spacing:-.035em;margin:5px 0 8px;font-size:clamp(26px,4vw,36px)}.tools-start-card p{color:var(--ink-soft);margin:0}.tools-step-list{gap:10px;margin:0;padding-left:25px;font-weight:700;display:grid}.tools-step-list li::marker{color:var(--blue);font-weight:900}.tools-notice{background:var(--yellow-soft);border-left:5px solid var(--yellow);border-radius:10px;padding:17px 18px}.tools-notice.is-safety{background:var(--orange-soft);border-left-color:var(--orange)}.tools-notice p{margin-top:4px}.tools-shell-start-card{border:1px solid var(--tools-line);border-radius:20px;gap:28px;max-width:none;padding:24px;box-shadow:0 8px 24px #17213c0d}.tools-shell-start-card .tools-start-intro{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.tools-shell-start-card h2{letter-spacing:-.03em;margin:8px 0 0;font-size:clamp(26px,4vw,32px);line-height:1.2}.tools-shell-start-card p{margin:16px 0 0;line-height:1.75}.tools-shell-start-card .tools-primary-action{width:100%;min-height:50px;box-shadow:none;border:0;border-radius:12px;margin-top:28px;padding-inline:24px;font-size:15px}.tools-shell-start-card .tools-start-guide{min-width:0}.tools-shell-start-card .tools-start-guide h3{margin:0;font-size:16px}.tools-shell-start-card .tools-step-list{counter-reset:tools-step;gap:12px;margin:16px 0 0;padding:0;font-size:15px;font-weight:750;line-height:1.6;list-style:none}.tools-shell-start-card .tools-step-list li{counter-increment:tools-step;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;display:grid}.tools-shell-start-card .tools-step-list li:before{width:32px;height:32px;color:var(--blue-deep);background:var(--blue-soft);content:counter(tools-step);border-radius:50%;place-items:center;font-weight:900;display:grid}.tools-shell-start-card .tools-notice{border:1px solid #e4ca78;border-radius:12px;margin-top:24px;padding:16px}.tools-shell-start-card .tools-notice strong{color:#7b5200;font-size:14px}.tools-shell-start-card .tools-notice.is-safety{border-color:#e5aa9d}.tools-shell-start-card .tools-notice.is-safety strong{color:#8b2e18}.tools-shell-start-card .tools-notice p{margin-top:4px;font-size:14px;line-height:1.65}.tools-error{background:var(--orange-soft);border:2px solid var(--orange);border-radius:10px;padding:14px;font-weight:800;color:var(--ink)!important}.tools-workspace{gap:24px;display:grid}.tools-reading-card{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);text-align:center;gap:14px;padding:clamp(22px,4vw,34px);display:grid}.tools-reading-label{color:var(--ink-soft);margin:0;font-weight:850}.tools-reading-value{font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin:0;font-size:clamp(52px,11vw,96px);font-weight:900;line-height:1}.tools-reading-value small{letter-spacing:0;margin-left:8px;font-size:.26em}.tools-status-row{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.tools-status-badge{background:var(--tool-tint,var(--blue-soft));border-radius:999px;padding:6px 10px;font-size:13px;font-weight:850}.tools-measurement-controls,.tools-export-panel>div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tools-measurement-controls button,.tools-export-panel button,.tools-trials button,.tools-secondary-action{min-height:48px;color:var(--ink);background:var(--card);border:var(--border);cursor:pointer;border-radius:10px;padding:9px 16px;font-weight:850;box-shadow:2px 3px #17213c24}.tools-measurement-controls button:hover,.tools-export-panel button:hover,.tools-trials button:hover,.tools-secondary-action:hover{background:var(--blue-soft)}.tools-measurement-controls .is-stop{background:var(--orange-soft)}.tools-chart-card,.tools-summary-section,.tools-trials,.tools-export-panel,.tools-data-panel{background:var(--card);border:var(--border);min-width:0;box-shadow:var(--shadow-pop);border-radius:16px;margin:0;padding:clamp(19px,4vw,28px)}.tools-chart-card figcaption,.tools-panel-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.tools-chart-card figcaption span,.tools-panel-heading>span{color:var(--ink-soft);font-size:13px;font-weight:800}.tools-chart-legend{flex-wrap:wrap;justify-content:flex-end;gap:7px 14px;margin:0;padding:0;list-style:none;display:flex}.tools-chart-legend li{align-items:center;gap:6px;display:inline-flex}.tools-chart-legend-swatch{flex:none;width:32px;height:12px;overflow:visible}.tools-chart-card canvas{border:1px solid #17213c40;border-radius:10px;width:100%;min-width:0;display:block}.tools-summary-section h2,.tools-trials h2,.tools-panel-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(23px,3.5vw,30px)}.tools-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0;display:grid}.tools-summary-grid>div{background:var(--paper-tint);border:1px solid #17213c3d;border-radius:12px;min-width:0;padding:16px}.tools-summary-grid dt{color:var(--ink-soft);font-size:13px;font-weight:850}.tools-summary-grid dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 0;font-size:clamp(21px,4vw,30px);font-weight:900}.tools-summary-grid span{color:var(--ink-faint);margin-top:3px;font-size:12px;display:block}.tools-trial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.tools-trial-grid article{background:var(--paper-tint);border:1px solid #17213c47;border-radius:12px;padding:17px}.tools-trial-grid h3{margin:0 0 8px}.tools-trial-grid p{margin:4px 0}.tools-trial-grid button{width:100%;margin-top:10px;font-size:13px}.tools-empty-message{color:var(--ink-soft)}.tools-export-panel p{min-height:1.6em;color:var(--ink-soft);text-align:center;margin:10px 0 0}.tools-tabs{scrollbar-width:thin;gap:8px;padding:3px 3px 8px;display:flex;overflow-x:auto}.tools-tabs button{min-height:48px;color:var(--ink);background:var(--card);border:var(--border);cursor:pointer;border-radius:999px;flex:none;padding:9px 14px;font-weight:850}.tools-tabs button[aria-selected=true]{color:#fff;background:var(--ink)}.tools-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tools-form-grid label,.tools-field{min-width:0;color:var(--ink-soft);gap:6px;font-size:14px;font-weight:850;display:grid}.tools-form-grid input,.tools-form-grid select,.tools-field input,.tools-field select{width:100%;min-width:0;min-height:48px;color:var(--ink);border:var(--border);background:#fff;border-radius:10px;padding:9px 12px}.tools-inline-actions{flex-wrap:wrap;gap:10px;display:flex}.tools-table-wrap{overflow-x:auto}.tools-data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.tools-data-table th,.tools-data-table td{text-align:left;border-bottom:1px solid #17213c38;padding:10px 12px}.tools-data-table th{color:var(--ink-soft);font-size:13px}.analysis-workspace{--analysis-accent:var(--blue);--analysis-soft:var(--blue-soft);min-width:0}.analysis-workspace>*{min-width:0}.solution-workspace{--analysis-accent:var(--mint);--analysis-soft:var(--mint-soft)}.image-area-workspace{--analysis-accent:var(--yellow);--analysis-soft:var(--yellow-soft)}.video-motion-workspace{--analysis-accent:var(--blue);--analysis-soft:var(--blue-soft)}.interpretation-workspace{--analysis-accent:var(--orange);--analysis-soft:var(--orange-soft)}.analysis-source-panel,.analysis-canvas-panel,.analysis-result-card,.analysis-video-panel{background:var(--card);border:var(--border);min-width:0;box-shadow:var(--shadow-pop);border-radius:16px;padding:clamp(19px,4vw,28px)}.analysis-source-panel{background:linear-gradient(135deg, var(--analysis-soft), var(--card) 78%);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.analysis-source-panel h2,.analysis-canvas-panel h2,.analysis-result-card h2{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(23px,3.5vw,32px)}.analysis-source-panel p{max-width:650px;color:var(--ink-soft);margin:7px 0 0}.analysis-source-panel .tools-section-label{color:var(--blue-deep);margin:0}.analysis-source-panel>[role=status],.analysis-source-panel>.tools-error{grid-column:1/-1;max-width:none;margin:0}.analysis-source-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.analysis-source-actions .is-input-focused{outline:3px solid var(--ink);outline-offset:3px}.analysis-source-actions .tools-primary-action,.analysis-workspace .tools-inline-actions .tools-primary-action{margin-top:0}.analysis-source-actions label{cursor:pointer;min-width:150px}.analysis-workspace .tools-tabs{background:var(--paper-tint);border:var(--border);box-shadow:var(--shadow-pop);border-radius:16px;padding:13px}.analysis-workspace .tools-data-panel{gap:16px;display:grid}.analysis-workspace .tools-data-panel>h2,.analysis-workspace .tools-data-panel>p,.analysis-workspace .tools-data-panel>.tools-panel-heading{margin-top:0;margin-bottom:0}.analysis-workspace .tools-inline-actions{align-items:center}.analysis-workspace .tools-secondary-action:disabled{cursor:not-allowed;opacity:.55}.analysis-workspace .tools-form-grid input[type=range],.analysis-workspace .tools-field input[type=range]{min-height:44px;accent-color:var(--analysis-accent);box-shadow:none;background:0 0;border:0;padding:0}.analysis-workspace .tools-data-table input{width:100%;min-width:92px;min-height:44px;color:var(--ink);border:1.5px solid var(--ink);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}.analysis-workspace>.tools-secondary-action{justify-self:center}.analysis-canvas-panel{gap:18px;display:grid}.analysis-image-canvas{background:var(--ink);border:2px solid var(--ink);cursor:crosshair;touch-action:manipulation;border-radius:12px;justify-self:center;width:auto;max-width:100%;height:auto;display:block;box-shadow:3px 4px #17213c24}.analysis-reading-row{background:var(--analysis-soft);border:1px solid #17213c47;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.analysis-reading-row p{color:var(--ink-soft);margin:0}.analysis-reading-row strong{color:var(--ink);font-variant-numeric:tabular-nums}.analysis-color-chip{border:var(--border);border-radius:12px;width:58px;height:58px;box-shadow:2px 3px #17213c24}.analysis-standard-list{gap:11px;display:grid}.analysis-standard-row{background:var(--paper-tint);border:1px solid #17213c47;border-radius:12px;grid-template-columns:minmax(170px,.8fr) minmax(130px,.5fr) minmax(210px,auto);align-items:end;gap:12px;padding:14px;display:grid}.analysis-standard-row label{min-width:0;color:var(--ink-soft);gap:6px;font-size:14px;font-weight:850;display:grid}.analysis-standard-row input{width:100%;min-width:0;min-height:48px;color:var(--ink);border:var(--border);font:inherit;background:#fff;border-radius:10px;padding:9px 12px}.analysis-standard-row>span{color:var(--ink-soft);background:var(--card);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;border-radius:999px;align-self:center;padding:8px 10px;font-size:13px;font-weight:850}.analysis-result-card{background:var(--analysis-soft);border-left:8px solid var(--analysis-accent);gap:10px;display:grid}.analysis-result-card h2{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(27px,5vw,42px)}.analysis-result-card p{color:var(--ink-soft);margin:0}.analysis-result-card .tools-section-label{color:var(--blue-deep)}.analysis-result-card .tools-secondary-action{width:fit-content;margin-top:4px}.analysis-video-panel{background:var(--ink);grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));align-items:center;gap:16px;display:grid}.analysis-video-panel video,.analysis-video-panel canvas{object-fit:contain;border:2px solid var(--card);background:#080d1b;border-radius:12px;justify-self:center;width:100%;min-width:0;height:auto;max-height:68vh;display:block}.analysis-video-panel .analysis-raw-frame{display:none}.video-recording-preview{background:var(--ink);border:var(--border);object-fit:contain;border-radius:12px;width:min(100%,640px);max-height:50vh;margin-inline:auto;display:none}.video-recording-preview.is-recording{display:block}.analysis-video-panel canvas{border-color:var(--yellow);cursor:crosshair;touch-action:manipulation}.timer-message,.timer-laps{color:var(--ink-soft);margin:0;font-weight:750}.timer-ms{color:var(--ink-faint);white-space:nowrap;font-size:13px}.timer-delete{min-height:48px;color:var(--ink);background:var(--orange-soft);border:var(--border);cursor:pointer;border-radius:9px;padding:8px 12px;font-weight:850}.sound-start-card{max-width:none}.sound-tabs{background:var(--paper-tint);border:var(--border);box-shadow:var(--shadow-pop);border-radius:16px;padding:13px}.sound-pitch-panel,.sound-beat-panel,.sound-record-panel{background:var(--card);border:var(--border);box-shadow:var(--shadow-pop);border-radius:16px;gap:16px;padding:clamp(19px,4vw,28px);display:grid}.sound-waveform-panel{gap:10px;display:grid}.sound-waveform-panel>p,.sound-spectrum-peak{color:var(--ink-soft);margin:0;font-size:14px;font-weight:800}.sound-spectrum-peak{text-align:right;margin-top:10px}.sound-pitch-panel>p,.sound-beat-panel p{color:var(--ink-soft);margin:0}.sound-pitch-value,.sound-pitch-waiting{font-variant-numeric:tabular-nums;letter-spacing:-.045em;font-size:clamp(32px,7vw,58px);font-weight:900;color:var(--ink)!important;margin:0!important}.sound-pitch-value small{letter-spacing:0;font-size:.4em}.sound-beat-panel h2,.sound-record-panel h2{margin:4px 0 0;font-size:clamp(23px,3.5vw,30px)}.sound-record-panel{grid-template-columns:minmax(0,1fr) minmax(200px,.7fr) auto;align-items:end}.sound-record-panel .tools-secondary-action{min-height:48px}.sound-record-panel .tools-secondary-action:disabled{cursor:not-allowed;opacity:.58}.motion-start-card{max-width:none}.motion-setup-panel,.motion-analysis-controls,.motion-record-panel,.motion-manual-panel,.angle-reference-panel{gap:16px;display:grid}.motion-setup-panel{background:var(--paper-tint);border:1px solid #17213c40;border-radius:14px;padding:16px}.motion-gravity-options{border:1px solid #17213c4d;border-radius:10px;flex-wrap:wrap;gap:10px 20px;margin:0;padding:13px 15px;display:flex}.motion-gravity-options legend{padding-inline:5px;font-weight:850}.motion-gravity-options label{align-items:center;gap:8px;min-height:44px;font-weight:800;display:inline-flex}.motion-gravity-options input{width:20px;height:20px}.motion-mode-label{background:var(--blue-soft);border:2px solid var(--blue);text-align:center;border-radius:10px;padding:12px 15px;font-size:clamp(18px,3vw,24px);color:var(--ink)!important;margin:0!important}.motion-axis-readings,.angle-numeric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.motion-axis-readings span,.angle-numeric-grid>div{background:var(--paper-tint);font-variant-numeric:tabular-nums;border:1px solid #17213c40;border-radius:10px;gap:3px;padding:13px;font-weight:750;display:grid}.motion-axis-readings strong{font-size:clamp(20px,4vw,28px)}.motion-analysis-controls{background:var(--card);border:var(--border);box-shadow:var(--shadow-pop);border-radius:14px;padding:18px}.motion-analysis-controls input[type=range]{box-shadow:none;border:0;padding:0}.motion-manual-panel>p{color:var(--ink-soft);margin:0}.motion-record-panel>.tools-secondary-action{justify-self:start}.motion-record-panel .tools-field strong{min-height:48px;color:var(--ink);padding:12px;font-size:22px}.angle-flat-instruction{background:var(--yellow-soft);border:2px solid var(--yellow);text-align:center;border-radius:10px;padding:15px 17px;font-weight:900;color:var(--ink)!important}.angle-reading-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:20px;display:grid}.angle-numeric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.angle-numeric-grid span{color:var(--ink-soft);font-size:14px;font-weight:850}.angle-numeric-grid strong{font-size:clamp(30px,6vw,52px)}.angle-level-card{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);text-align:center;place-items:center;gap:12px;padding:24px;display:grid}.angle-bubble{aspect-ratio:1;background:linear-gradient(transparent 49%, #17213c40 49% 51%, transparent 51%), linear-gradient(90deg, transparent 49%, #17213c40 49% 51%, transparent 51%), var(--mint-soft);border:3px solid var(--ink);border-radius:50%;width:min(210px,64vw);position:relative}.angle-bubble:after{border:2px dashed var(--ink);content:"";border-radius:50%;position:absolute;inset:34%}.angle-bubble-dot{z-index:1;background:var(--orange);border:3px solid var(--ink);width:28px;height:28px;transform:translate(var(--bubble-x), var(--bubble-y));border-radius:50%;position:absolute;top:calc(50% - 14px);left:calc(50% - 14px)}.angle-level-card p{margin:0;font-size:19px;font-weight:900}.angle-level-card small{color:var(--ink-soft)}.angle-difference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.angle-difference-grid p{background:var(--paper-tint);border-radius:10px;margin:0;padding:15px}.color-start-card{max-width:none}.color-camera-notice{background:var(--blue-soft);border-left-color:var(--blue)}.color-camera-panel,.color-reading-panel,.color-calibration-panel,.color-capture-panel{background:var(--card);border:var(--border);box-shadow:var(--shadow-pop);border-radius:16px;gap:18px;padding:clamp(19px,4vw,28px);display:grid}.color-camera-panel h2,.color-calibration-panel h2,.color-capture-panel h2{margin:4px 0 0;font-size:clamp(23px,3.5vw,30px)}.color-video-frame{aspect-ratio:4/3;color:#fff;border:var(--border);background:#17213c;border-radius:14px;justify-self:center;place-items:center;width:min(100%,760px);display:grid;position:relative;overflow:hidden}.color-video-frame video{object-fit:contain;width:100%;height:100%;display:block}.color-video-frame>p{text-align:center;max-width:320px;margin:0;padding:18px;font-weight:800;position:absolute}.color-roi{border:4px solid var(--yellow);pointer-events:none;border-radius:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #17213c33,inset 0 0 0 1px #17213cb3}.color-roi-control{color:var(--ink-soft);gap:8px;font-size:14px;font-weight:850;display:grid}.color-roi-control strong{color:var(--ink)}.color-roi-control input{width:100%;min-height:44px;box-shadow:none;border:0;padding:0}.color-reading-panel{grid-template-columns:auto minmax(0,1fr) minmax(170px,auto);align-items:center}.color-reading-panel h2{letter-spacing:-.035em;margin:5px 0 7px;font-size:clamp(25px,4vw,38px)}.color-reading-panel p{color:var(--ink-soft);margin:0}.color-swatch{aspect-ratio:1;border:var(--border);border-radius:18px;width:clamp(92px,15vw,138px);box-shadow:4px 5px #17213c29}.color-brightness-card{background:var(--orange-soft);border:2px solid var(--orange);border-radius:12px;gap:3px;padding:17px;display:grid}.color-brightness-card span,.color-brightness-card small{color:var(--ink-soft);font-size:13px;font-weight:800}.color-brightness-card strong{font-variant-numeric:tabular-nums;font-size:clamp(28px,5vw,42px)}.color-calibration-panel{background:var(--yellow-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center}.color-calibration-panel p{color:var(--ink-soft);margin:7px 0 0}.color-calibration-panel .tools-secondary-action:disabled,.color-trials .tools-secondary-action:disabled,.color-capture-panel .tools-secondary-action:disabled{cursor:not-allowed;opacity:.55}.color-trials>.tools-secondary-action{margin-bottom:16px}.color-trial-swatch{border:1px solid #17213c66;border-radius:8px;width:100%;height:50px;margin-bottom:10px}.color-distance-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.color-distance-list li{background:var(--blue-soft);border-radius:9px;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 14px;display:flex}.color-distance-list span{color:var(--ink-soft);font-variant-numeric:tabular-nums}.color-capture-panel canvas{border:1px solid #17213c47;border-radius:10px;justify-self:center;width:min(100%,720px);height:auto;display:none}.color-capture-panel canvas.is-visible{display:block}.tools-trial-history-actions{background:var(--card);border:1px solid var(--tools-line);border-radius:16px;gap:12px;padding:20px;display:grid;box-shadow:0 6px 18px #17213c0a}.tools-trial-history-actions>p{color:var(--ink-soft);margin:0;font-size:14px}.tools-trial-history-actions>div{flex-wrap:wrap;gap:8px;display:flex}.tools-trial-history-actions button{min-width:44px;min-height:44px;color:var(--ink);background:var(--paper);border:1px solid var(--tools-line);cursor:pointer;border-radius:10px;padding:9px 14px;font-weight:850}.tools-trial-history-actions button:hover:not(:disabled){background:var(--blue-soft)}.tools-trial-history-actions button:disabled{cursor:not-allowed;opacity:.55}.tools-footer{padding-block:32px 36px;padding-inline:max(var(--tools-page-gutter), calc((100vw - 1180px) / 2 + var(--tools-page-gutter)));color:var(--ink-soft);background:var(--card);text-align:center;border-top:1px solid var(--tools-line)}.tools-footer strong{color:var(--ink);font-size:17px}.tools-footer p{margin:5px 0 0;font-size:14px}.tools-related-resources{border-top:1px solid var(--tools-line);gap:12px;margin:32px 0 48px;padding-top:32px;display:grid}.tools-related-resources h2{margin:0;font-size:clamp(24px,4vw,30px)}.tools-related-resources>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 0;padding:0;list-style:none;display:grid}.tools-related-resources li{background:var(--card);border:1px solid var(--tools-line);border-radius:16px;align-content:start;gap:10px;padding:20px;display:grid;box-shadow:0 6px 18px #17213c0a}.tools-related-resources h3{margin:0;font-size:18px}.tools-related-resources li>p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.65}.tools-related-resource-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.tools-related-resource-actions a{min-height:44px;color:var(--blue-deep);border:1px solid var(--tools-line);background:#eef2ff;border-radius:10px;align-items:center;padding:9px 14px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.tools-related-resource-actions a:hover,.tools-related-resource-actions a:focus-visible{background:var(--blue-soft)}.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}@media (width<=720px){.tools-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tools-trial-grid,.tools-form-grid,.sound-record-panel,.angle-reading-layout,.angle-difference-grid,.color-reading-panel,.color-calibration-panel,.tools-related-resources>ul{grid-template-columns:1fr}.color-swatch{width:104px}.analysis-source-panel,.analysis-standard-row{grid-template-columns:1fr}.analysis-source-actions{grid-template-columns:1fr;justify-content:stretch;display:grid}.analysis-source-actions label{width:100%;min-width:0}.analysis-reading-row{grid-template-columns:auto minmax(0,1fr)}.analysis-reading-row .tools-secondary-action{grid-column:1/-1;width:100%}.analysis-standard-row>span{justify-self:start}.analysis-standard-row .tools-secondary-action,.analysis-result-card .tools-secondary-action{width:100%}.analysis-video-panel video,.analysis-video-panel canvas{max-height:64vh}.tools-chart-card figcaption,.tools-panel-heading{flex-direction:column;align-items:flex-start;gap:4px}.tools-chart-legend{justify-content:flex-start}}@media (width<=360px){.tools-brand-mark{width:34px;height:34px}.tools-site-header nav a{padding-inline:7px}.tools-card,.tools-start-card{padding:20px}.analysis-source-panel,.analysis-canvas-panel,.analysis-result-card,.analysis-video-panel{padding:15px}.analysis-reading-row{grid-template-columns:1fr}.analysis-reading-row .tools-secondary-action{grid-column:auto}.analysis-color-chip{width:50px;height:50px}.analysis-standard-row{padding:12px}}@media (width<=599px){.tools-site-header{flex-direction:column;align-items:stretch;gap:0;min-height:0;padding-block:4px}.tools-brand{min-height:44px}.tools-brand-mark{flex-basis:34px;width:34px;height:34px}.tools-brand-copy{gap:6px}.tools-brand-name,.tools-brand-subtitle{font-size:13px}.tools-brand-subtitle:before{margin-right:6px}.tools-site-header nav{border-top:1px solid var(--tools-line);width:100%}.tools-site-header nav a{flex:1;justify-content:center;padding-inline:9px;font-size:13px}.tools-detail-hero{grid-template-columns:1fr}.tools-detail-icon{width:56px;height:56px}}@media (width>=600px){.tools-root{--tools-page-gutter:24px}.tools-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tools-privacy-note{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px}.tools-shell-start-card .tools-primary-action{width:auto;min-width:180px}.tools-footer{text-align:left}}@media (width>=900px){.tools-root{--tools-page-gutter:32px}.tools-home-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:64px;padding-block:80px}.tools-hero-preview{padding:28px}.tools-discovery{padding-top:48px}.tools-discovery-heading{grid-template-columns:minmax(240px,auto) minmax(0,1fr);align-items:end;gap:32px}.tools-input-filters{justify-self:end}.tools-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tools-detail-hero{padding:32px 32px 32px 38px}.tools-shell-start-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:32px}.tools-hero-break{display:block}}@media (width>=1180px){.tools-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.tools-card,.tools-card-action,.tools-primary-action{transition:none}.tools-card:hover,.tools-card:focus-within,.tools-card-action:hover,.tools-primary-action:hover{transform:none}}
