:root{--sky: #4fc3f7;--sky-soft: #b9ecff;--sky-deep: #1c9bcc;--sun: #fff176;--sun-deep: #f2d93b;--grass: #81c784;--grass-deep: #4d9c5d;--coral: #ff8b78;--pink: #ff6f9f;--violet: #9b7bff;--ink: #16314c;--ink-soft: #557086;--muted: #7b91a2;--paper: #f7fbff;--card: #ffffff;--line: rgba(22, 49, 76, .1);--line-strong: rgba(22, 49, 76, .17);--shadow-sm: 0 8px 24px rgba(22, 49, 76, .07);--shadow-md: 0 18px 46px rgba(22, 49, 76, .1);--shadow-lg: 0 28px 72px rgba(22, 49, 76, .13);--radius-sm: 16px;--radius-md: 24px;--radius-lg: 32px;--page-max: 1180px;--font-display: "Arial Rounded MT Bold", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Heiti SC", sans-serif;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 12% 0%,rgba(79,195,247,.16),transparent 30%),radial-gradient(circle at 92% 12%,rgba(255,241,118,.22),transparent 26%),radial-gradient(circle at 50% 110%,rgba(129,199,132,.16),transparent 35%),var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p{overflow-wrap:break-word}h1,h2,h3,h4{font-family:var(--font-display)}button,input,select,textarea{font:inherit}button{border-radius:20px}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{cursor:pointer}a{color:var(--sky-deep)}img,svg,canvas{display:block;max-width:100%}::selection{background:#fff176cc;color:var(--ink)}:focus-visible{outline:3px solid rgba(28,155,204,.6);outline-offset:3px}.lab-page{width:min(var(--page-max),100% - 48px);margin:0 auto;padding:30px 0 82px;animation:page-enter .46s cubic-bezier(.18,.89,.32,1.06) both}.eyebrow{margin:0 0 9px;color:#1781a4;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.section-kicker{display:inline-flex;align-items:center;gap:7px;margin:0 0 8px;color:var(--sky-deep);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.section-title{margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(26px,3.4vw,38px);font-weight:900;letter-spacing:-.03em;line-height:1.2}.section-lead{margin:8px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.7}.surface{border:1px solid rgba(255,255,255,.9);border-radius:var(--radius-lg);background:#ffffffdb;box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 22px;border:2px solid transparent;border-radius:20px;font-family:var(--font-display);font-size:15px;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;transition:transform .18s cubic-bezier(.18,.89,.32,1.2),box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.btn:hover:not(:disabled){transform:translateY(-2px) scale(1.025)}.btn:active:not(:disabled){transform:translateY(0) scale(.99)}.btn:disabled{cursor:not-allowed;opacity:.56}.btn-primary{border-color:#0d2a42;background:linear-gradient(135deg,#16314c,#285b78);box-shadow:0 10px 22px #16314c33,inset 0 1px #ffffff2e;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 14px 28px #16314c40,inset 0 1px #fff3}.btn-sun{border-color:#e9cf2d;background:linear-gradient(135deg,#fff9a8,var(--sun));box-shadow:0 10px 22px #bc9e1433,inset 0 1px #fffef1;color:#344619}.btn-secondary{border-color:#16314c1f;background:#ffffffe6;box-shadow:var(--shadow-sm);color:var(--ink)}.btn-secondary:hover:not(:disabled){border-color:#1c9bcc47;background:#fff}.btn-ghost{border-color:transparent;background:transparent;color:var(--ink-soft)}.btn-ghost:hover:not(:disabled){background:#16314c0e;color:var(--ink)}.btn-sm{min-height:38px;padding:8px 15px;border-radius:16px;font-size:12px}.btn-icon{width:48px;padding:0}.range{--range-track: linear-gradient(90deg, #b9ecff, #4fc3f7);--range-thumb: #1c9bcc;width:100%;height:34px;margin:0;padding:0;appearance:none;background:transparent;cursor:pointer}.range::-webkit-slider-runnable-track{height:12px;border:1px solid rgba(22,49,76,.12);border-radius:999px;background:var(--range-track);box-shadow:inset 0 2px 4px #16314c1a}.range::-moz-range-track{height:12px;border:1px solid rgba(22,49,76,.12);border-radius:999px;background:var(--range-track);box-shadow:inset 0 2px 4px #16314c1a}.range::-webkit-slider-thumb{width:28px;height:28px;margin-top:-9px;appearance:none;border:4px solid var(--range-thumb);border-radius:50%;background:#fff;box-shadow:0 4px 12px #16314c38;transition:transform .14s ease}.range::-moz-range-thumb{width:21px;height:21px;border:4px solid var(--range-thumb);border-radius:50%;background:#fff;box-shadow:0 4px 12px #16314c38}.range:hover::-webkit-slider-thumb{transform:scale(1.08)}.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px #4fc3f740,0 4px 12px #16314c38}.sr-only{position:absolute;width:1px;height:1px;padding:0;border:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tip-line{display:flex;align-items:flex-start;gap:9px;margin:0;padding:12px 14px;border:1px dashed rgba(22,49,76,.14);border-radius:15px;background:#f7fbffb8;color:var(--ink-soft);font-size:13px;line-height:1.65}.tip-line strong{color:var(--ink)}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes gentle-pulse{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@media(max-width:720px){body{font-size:16px}.lab-page{width:calc(100% - 28px);padding:24px 0 92px}.btn{min-height:46px;padding:10px 18px}.surface{border-radius:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
