/* Lumina home, "Aurora Night".
   The cover keeps its live WebGL aurora; every section below lives under the
   same sky (the pre-baked aurora plate plus slow ambient glows), so the page
   reads as one continuous night rather than a stack of slabs.
   Palettes: night on :root, light behind [data-theme="light"]. */

:root {
  color-scheme: dark;
  --hue-1: #74D3DF;
  --hue-2: #93ABFF;
  --hue-3: #A99CFF;
  --hue-4: #C7A2F2;
  --aurora-text: linear-gradient(100deg, #D2DCFF 0%, #B3C0F7 100%);
  --aurora-line: linear-gradient(90deg, #74D3DF, #93ABFF 50%, #C7A2F2);
  --contour: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='white' stroke-width='1' stroke-linejoin='round' vector-effect='non-scaling-stroke'%3E%3Cpath d='M0 172.7L20 173.1L40 173.6L60 174.2L80 174.9L100 175.7L120 176.7L140 177.9L160 179.2L180 180.6L200 182.3L220 184.2L240 186.2L260 188.5L280 191.0L300 193.6L320 196.4L340 199.4L360 202.5L380 205.7L400 209.0L420 212.4L440 215.7L460 219.1L480 222.4L500 225.6L520 228.8L540 231.9L560 234.9L580 237.8L600 240.6L620 243.5L640 246.3L660 249.2L680 252.2L700 255.3L720 258.7L740 262.2L760 266.0L780 270.1L800 274.5L820 279.2L840 284.1L860 289.3L880 294.5L900 299.8L920 305.1L940 310.2L960 315.0L980 319.4L1000 323.3L1020 326.5L1040 328.9L1060 330.5L1080 331.1L1100 330.7L1120 329.4L1140 327.0L1160 323.6L1180 319.3L1200 314.1L1220 308.1L1240 301.5L1260 294.3L1280 286.7L1300 278.8L1320 270.8L1340 262.7L1360 254.7L1380 246.8L1400 239.3L1420 232.1L1440 225.4L1460 219.1L1480 213.3L1500 207.9L1520 203.2L1540 198.9L1560 195.0L1580 191.7L1600 188.7' stroke-opacity='0.35'/%3E%3Cpath d='M0 209.8L20 210.2L40 210.7L60 211.2L80 211.9L100 212.8L120 213.7L140 214.8L160 216.1L180 217.5L200 219.1L220 220.9L240 222.8L260 224.9L280 227.1L300 229.4L320 231.8L340 234.3L360 236.9L380 239.4L400 241.9L420 244.3L440 246.6L460 248.8L480 250.8L500 252.7L520 254.3L540 255.9L560 257.3L580 258.6L600 259.8L620 261.1L640 262.5L660 264.0L680 265.8L700 267.9L720 270.5L740 273.5L760 277.1L780 281.2L800 285.9L820 291.2L840 297.0L860 303.2L880 309.7L900 316.5L920 323.3L940 330.1L960 336.6L980 342.7L1000 348.1L1020 352.8L1040 356.7L1060 359.4L1080 361.1L1100 361.6L1120 360.8L1140 358.9L1160 355.7L1180 351.5L1200 346.2L1220 340.1L1240 333.1L1260 325.6L1280 317.6L1300 309.4L1320 301.0L1340 292.6L1360 284.3L1380 276.3L1400 268.7L1420 261.6L1440 254.9L1460 248.8L1480 243.3L1500 238.3L1520 233.9L1540 230.0L1560 226.7L1580 223.8L1600 221.4' stroke-opacity='0.49'/%3E%3Cpath d='M0 246.9L20 247.3L40 247.7L60 248.3L80 249.0L100 249.8L120 250.7L140 251.8L160 253.0L180 254.3L200 255.8L220 257.4L240 259.2L260 261.0L280 262.9L300 264.8L320 266.8L340 268.7L360 270.5L380 272.2L400 273.8L420 275.2L440 276.4L460 277.3L480 278.0L500 278.5L520 278.7L540 278.7L560 278.6L580 278.4L600 278.2L620 278.2L640 278.4L660 278.9L680 279.9L700 281.4L720 283.6L740 286.6L760 290.3L780 294.9L800 300.3L820 306.5L840 313.5L860 321.0L880 329.0L900 337.4L920 345.8L940 354.2L960 362.2L980 369.7L1000 376.5L1020 382.4L1040 387.2L1060 390.7L1080 392.9L1100 393.7L1120 393.1L1140 391.1L1160 387.8L1180 383.2L1200 377.4L1220 370.8L1240 363.3L1260 355.2L1280 346.7L1300 338.0L1320 329.2L1340 320.5L1360 312.1L1380 304.0L1400 296.5L1420 289.5L1440 283.1L1460 277.3L1480 272.2L1500 267.8L1520 263.9L1540 260.6L1560 257.9L1580 255.6L1600 253.8' stroke-opacity='0.61'/%3E%3Cpath d='M0 284.0L20 284.4L40 284.9L60 285.4L80 286.1L100 286.9L120 287.7L140 288.7L160 289.9L180 291.1L200 292.4L220 293.8L240 295.3L260 296.7L280 298.2L300 299.7L320 301.1L340 302.3L360 303.4L380 304.2L400 304.9L420 305.2L440 305.2L460 304.9L480 304.2L500 303.3L520 302.2L540 300.8L560 299.4L580 298.0L600 296.7L620 295.6L640 295.0L660 294.9L680 295.5L700 296.8L720 299.1L740 302.4L760 306.7L780 312.1L800 318.5L820 325.9L840 334.2L860 343.1L880 352.6L900 362.4L920 372.3L940 382.0L960 391.3L980 399.9L1000 407.5L1020 414.1L1040 419.3L1060 423.0L1080 425.2L1100 425.9L1120 424.9L1140 422.4L1160 418.4L1180 413.1L1200 406.6L1220 399.2L1240 391.1L1260 382.4L1280 373.3L1300 364.2L1320 355.1L1340 346.2L1360 337.8L1380 329.9L1400 322.6L1420 316.0L1440 310.0L1460 304.9L1480 300.4L1500 296.6L1520 293.5L1540 290.9L1560 288.9L1580 287.4L1600 286.2' stroke-opacity='0.73'/%3E%3Cpath d='M0 321.1L20 321.5L40 322.0L60 322.5L80 323.1L100 323.9L120 324.7L140 325.6L160 326.6L180 327.6L200 328.7L220 329.9L240 331.0L260 332.1L280 333.1L300 334.0L320 334.8L340 335.3L360 335.5L380 335.5L400 335.1L420 334.3L440 333.2L460 331.7L480 329.9L500 327.7L520 325.4L540 322.9L560 320.4L580 318.1L600 316.0L620 314.3L640 313.2L660 312.9L680 313.4L700 315.0L720 317.8L740 321.7L760 326.9L780 333.3L800 340.8L820 349.5L840 359.0L860 369.3L880 380.1L900 391.1L920 402.1L940 412.7L960 422.7L980 431.8L1000 439.8L1020 446.4L1040 451.5L1060 454.9L1080 456.6L1100 456.5L1120 454.7L1140 451.3L1160 446.5L1180 440.2L1200 432.9L1220 424.7L1240 415.8L1260 406.6L1280 397.1L1300 387.7L1320 378.5L1340 369.8L1360 361.6L1380 354.0L1400 347.2L1420 341.3L1440 336.1L1460 331.7L1480 328.1L1500 325.2L1520 322.9L1540 321.2L1560 320.0L1580 319.3L1600 318.8' stroke-opacity='0.83'/%3E%3Cpath d='M0 358.3L20 358.6L40 359.1L60 359.6L80 360.1L100 360.8L120 361.5L140 362.3L160 363.1L180 363.9L200 364.8L220 365.6L240 366.4L260 367.0L280 367.5L300 367.8L320 367.9L340 367.6L360 367.1L380 366.1L400 364.7L420 363.0L440 360.8L460 358.2L480 355.4L500 352.2L520 348.9L540 345.6L560 342.4L580 339.4L600 336.9L620 334.9L640 333.8L660 333.6L680 334.5L700 336.6L720 340.0L740 344.8L760 351.0L780 358.4L800 367.1L820 376.9L840 387.6L860 398.9L880 410.6L900 422.4L920 433.9L940 444.9L960 455.1L980 464.1L1000 471.8L1020 477.9L1040 482.3L1060 484.8L1080 485.5L1100 484.4L1120 481.5L1140 477.0L1160 471.0L1180 463.9L1200 455.7L1220 446.7L1240 437.3L1260 427.7L1280 418.0L1300 408.6L1320 399.7L1340 391.3L1360 383.7L1380 376.9L1400 370.9L1420 365.8L1440 361.6L1460 358.2L1480 355.7L1500 353.8L1520 352.5L1540 351.8L1560 351.5L1580 351.6L1600 351.9' stroke-opacity='0.91'/%3E%3Cpath d='M0 395.4L20 395.7L40 396.1L60 396.6L80 397.1L100 397.6L120 398.2L140 398.8L160 399.4L180 400.0L200 400.6L220 401.0L240 401.4L260 401.5L280 401.5L300 401.2L320 400.5L340 399.6L360 398.2L380 396.4L400 394.1L420 391.5L440 388.4L460 385.0L480 381.3L500 377.4L520 373.4L540 369.6L560 365.9L580 362.7L600 360.0L620 358.1L640 357.2L660 357.4L680 358.9L700 361.7L720 365.9L740 371.6L760 378.7L780 387.1L800 396.8L820 407.4L840 418.8L860 430.7L880 442.8L900 454.8L920 466.3L940 477.1L960 486.8L980 495.1L1000 501.9L1020 507.0L1040 510.2L1060 511.5L1080 510.9L1100 508.5L1120 504.3L1140 498.6L1160 491.6L1180 483.6L1200 474.7L1220 465.3L1240 455.6L1260 445.9L1280 436.4L1300 427.5L1320 419.1L1340 411.5L1360 404.8L1380 399.0L1400 394.1L1420 390.2L1440 387.2L1460 385.0L1480 383.6L1500 382.8L1520 382.7L1540 382.9L1560 383.5L1580 384.4L1600 385.5' stroke-opacity='0.97'/%3E%3Cpath d='M0 432.5L20 432.8L40 433.1L60 433.5L80 433.9L100 434.3L120 434.7L140 435.1L160 435.5L180 435.8L200 436.0L220 436.1L240 436.0L260 435.7L280 435.1L300 434.2L320 432.9L340 431.3L360 429.2L380 426.6L400 423.6L420 420.2L440 416.5L460 412.4L480 408.1L500 403.8L520 399.4L540 395.3L560 391.5L580 388.3L600 385.8L620 384.2L640 383.7L660 384.5L680 386.6L700 390.1L720 395.1L740 401.6L760 409.4L780 418.5L800 428.7L820 439.7L840 451.4L860 463.3L880 475.2L900 486.8L920 497.6L940 507.6L960 516.2L980 523.3L1000 528.8L1020 532.4L1040 534.1L1060 533.9L1080 531.9L1100 528.1L1120 522.7L1140 516.0L1160 508.1L1180 499.4L1200 490.2L1220 480.6L1240 471.1L1260 461.8L1280 453.0L1300 444.8L1320 437.4L1340 430.9L1360 425.4L1380 421.0L1400 417.5L1420 414.9L1440 413.3L1460 412.4L1480 412.3L1500 412.7L1520 413.6L1540 414.9L1560 416.4L1580 418.0L1600 419.8' stroke-opacity='1.00'/%3E%3Cpath d='M0 469.5L20 469.8L40 470.0L60 470.3L80 470.5L100 470.8L120 471.1L140 471.3L160 471.4L180 471.4L200 471.3L220 471.0L240 470.5L260 469.7L280 468.6L300 467.1L320 465.3L340 463.0L360 460.3L380 457.1L400 453.6L420 449.6L440 445.4L460 440.9L480 436.3L500 431.7L520 427.2L540 423.0L560 419.4L580 416.4L600 414.2L620 413.1L640 413.1L660 414.5L680 417.2L700 421.3L720 426.9L740 433.8L760 442.0L780 451.4L800 461.6L820 472.5L840 483.8L860 495.1L880 506.2L900 516.8L920 526.4L940 534.9L960 542.0L980 547.5L1000 551.3L1020 553.2L1040 553.3L1060 551.5L1080 548.1L1100 543.1L1120 536.7L1140 529.2L1160 520.9L1180 512.0L1200 502.8L1220 493.6L1240 484.7L1260 476.2L1280 468.4L1300 461.5L1320 455.5L1340 450.5L1360 446.5L1380 443.6L1400 441.6L1420 440.6L1440 440.4L1460 440.9L1480 442.0L1500 443.6L1520 445.6L1540 447.7L1560 450.1L1580 452.4L1600 454.7' stroke-opacity='1.00'/%3E%3Cpath d='M0 506.5L20 506.7L40 506.8L60 507.0L80 507.1L100 507.2L120 507.3L140 507.3L160 507.1L180 506.9L200 506.4L220 505.7L240 504.8L260 503.6L280 502.0L300 500.1L320 497.7L340 495.0L360 491.8L380 488.2L400 484.2L420 480.0L440 475.4L460 470.7L480 466.0L500 461.3L520 456.9L540 452.9L560 449.5L580 446.9L600 445.1L620 444.4L640 445.0L660 446.7L680 449.9L700 454.3L720 460.1L740 467.1L760 475.2L780 484.3L800 494.0L820 504.2L840 514.5L860 524.7L880 534.4L900 543.4L920 551.4L940 558.1L960 563.3L980 566.9L1000 568.9L1020 569.1L1040 567.5L1060 564.4L1080 559.7L1100 553.8L1120 546.8L1140 539.0L1160 530.7L1180 522.1L1200 513.5L1220 505.2L1240 497.3L1260 490.2L1280 483.9L1300 478.5L1320 474.1L1340 470.9L1360 468.6L1380 467.4L1400 467.1L1420 467.6L1440 468.9L1460 470.7L1480 473.0L1500 475.7L1520 478.6L1540 481.6L1560 484.6L1580 487.5L1600 490.3' stroke-opacity='0.97'/%3E%3Cpath d='M0 543.4L20 543.5L40 543.6L60 543.6L80 543.6L100 543.5L120 543.4L140 543.2L160 542.8L180 542.2L200 541.5L220 540.5L240 539.2L260 537.6L280 535.6L300 533.3L320 530.6L340 527.5L360 523.9L380 520.1L400 515.9L420 511.4L440 506.8L460 502.0L480 497.3L500 492.8L520 488.6L540 484.9L560 481.7L580 479.4L600 478.0L620 477.7L640 478.4L660 480.4L680 483.6L700 488.1L720 493.6L740 500.2L760 507.7L780 515.9L800 524.6L820 533.5L840 542.3L860 550.8L880 558.7L900 565.7L920 571.7L940 576.4L960 579.6L980 581.3L1000 581.5L1020 580.1L1040 577.2L1060 573.0L1080 567.6L1100 561.2L1120 554.1L1140 546.5L1160 538.7L1180 531.0L1200 523.5L1220 516.5L1240 510.2L1260 504.7L1280 500.2L1300 496.7L1320 494.2L1340 492.8L1360 492.4L1380 492.9L1400 494.3L1420 496.3L1440 498.9L1460 502.0L1480 505.4L1500 509.0L1520 512.7L1540 516.4L1560 519.9L1580 523.3L1600 526.4' stroke-opacity='0.91'/%3E%3Cpath d='M0 580.3L20 580.3L40 580.2L60 580.2L80 580.0L100 579.8L120 579.5L140 579.0L160 578.4L180 577.6L200 576.5L220 575.3L240 573.7L260 571.8L280 569.5L300 566.9L320 563.9L340 560.6L360 556.9L380 552.8L400 548.5L420 544.0L440 539.4L460 534.8L480 530.2L500 525.9L520 521.9L540 518.4L560 515.5L580 513.4L600 512.2L620 511.9L640 512.7L660 514.5L680 517.4L700 521.3L720 526.2L740 531.9L760 538.2L780 545.1L800 552.2L820 559.3L840 566.2L860 572.6L880 578.4L900 583.3L920 587.1L940 589.7L960 591.0L980 591.0L1000 589.6L1020 587.0L1040 583.2L1060 578.4L1080 572.7L1100 566.5L1120 559.8L1140 553.0L1160 546.3L1180 539.8L1200 533.9L1220 528.7L1240 524.3L1260 520.8L1280 518.3L1300 516.8L1320 516.4L1340 516.9L1360 518.3L1380 520.5L1400 523.3L1420 526.8L1440 530.6L1460 534.8L1480 539.1L1500 543.4L1520 547.7L1540 551.9L1560 555.8L1580 559.5L1600 562.9' stroke-opacity='0.83'/%3E%3Cpath d='M0 617.1L20 617.0L40 616.9L60 616.7L80 616.4L100 616.0L120 615.5L140 614.9L160 614.0L180 613.0L200 611.8L220 610.2L240 608.4L260 606.3L280 603.8L300 601.0L320 597.9L340 594.4L360 590.6L380 586.6L400 582.3L420 577.8L440 573.3L460 568.7L480 564.3L500 560.1L520 556.3L540 552.9L560 550.2L580 548.1L600 546.7L620 546.3L640 546.7L660 547.9L680 550.1L700 553.1L720 556.8L740 561.0L760 565.8L780 570.8L800 576.0L820 581.0L840 585.7L860 589.9L880 593.4L900 596.1L920 597.9L940 598.6L960 598.2L980 596.8L1000 594.4L1020 591.0L1040 586.8L1060 581.9L1080 576.6L1100 571.0L1120 565.3L1140 559.8L1160 554.6L1180 549.9L1200 546.0L1220 542.8L1240 540.5L1260 539.2L1280 538.8L1300 539.4L1320 540.9L1340 543.2L1360 546.3L1380 550.0L1400 554.3L1420 558.9L1440 563.7L1460 568.7L1480 573.7L1500 578.7L1520 583.4L1540 587.9L1560 592.1L1580 595.9L1600 599.4' stroke-opacity='0.73'/%3E%3Cpath d='M0 654.0L20 653.8L40 653.5L60 653.2L80 652.8L100 652.3L120 651.6L140 650.8L160 649.8L180 648.6L200 647.2L220 645.5L240 643.5L260 641.2L280 638.6L300 635.7L320 632.5L340 629.0L360 625.2L380 621.1L400 616.9L420 612.5L440 608.0L460 603.6L480 599.3L500 595.2L520 591.4L540 587.9L560 585.0L580 582.7L600 580.9L620 579.9L640 579.5L660 579.8L680 580.8L700 582.4L720 584.5L740 587.0L760 589.8L780 592.8L800 595.7L820 598.4L840 600.9L860 602.8L880 604.2L900 604.9L920 604.9L940 604.0L960 602.4L980 600.0L1000 597.0L1020 593.4L1040 589.4L1060 585.0L1080 580.6L1100 576.1L1120 572.0L1140 568.2L1160 564.9L1180 562.3L1200 560.5L1220 559.6L1240 559.5L1260 560.3L1280 562.0L1300 564.6L1320 567.9L1340 571.9L1360 576.4L1380 581.5L1400 586.8L1420 592.3L1440 598.0L1460 603.6L1480 609.1L1500 614.4L1520 619.4L1540 624.1L1560 628.4L1580 632.3L1600 635.8' stroke-opacity='0.61'/%3E%3Cpath d='M0 690.8L20 690.5L40 690.2L60 689.7L80 689.2L100 688.6L120 687.8L140 686.9L160 685.7L180 684.4L200 682.8L220 681.0L240 678.9L260 676.6L280 673.9L300 670.9L320 667.7L340 664.2L360 660.4L380 656.3L400 652.1L420 647.8L440 643.4L460 639.0L480 634.6L500 630.4L520 626.4L540 622.7L560 619.3L580 616.4L600 613.9L620 612.0L640 610.5L660 609.5L680 608.9L700 608.8L720 609.0L740 609.5L760 610.2L780 610.9L800 611.5L820 612.0L840 612.3L860 612.2L880 611.6L900 610.7L920 609.2L940 607.3L960 604.9L980 602.2L1000 599.1L1020 595.9L1040 592.5L1060 589.2L1080 586.1L1100 583.3L1120 581.0L1140 579.2L1160 578.1L1180 577.7L1200 578.2L1220 579.4L1240 581.5L1260 584.4L1280 588.0L1300 592.3L1320 597.2L1340 602.6L1360 608.3L1380 614.3L1400 620.5L1420 626.8L1440 632.9L1460 639.0L1480 644.7L1500 650.2L1520 655.4L1540 660.2L1560 664.5L1580 668.4L1600 672.0' stroke-opacity='0.49'/%3E%3Cpath d='M0 727.6L20 727.2L40 726.8L60 726.3L80 725.7L100 725.0L120 724.1L140 723.0L160 721.8L180 720.4L200 718.7L220 716.8L240 714.7L260 712.3L280 709.6L300 706.6L320 703.3L340 699.8L360 696.0L380 692.0L400 687.8L420 683.4L440 678.9L460 674.3L480 669.8L500 665.3L520 660.8L540 656.6L560 652.5L580 648.7L600 645.2L620 642.0L640 639.1L660 636.5L680 634.2L700 632.1L720 630.3L740 628.7L760 627.1L780 625.6L800 624.1L820 622.5L840 620.8L860 619.0L880 617.0L900 614.8L920 612.5L940 610.0L960 607.4L980 604.8L1000 602.2L1020 599.8L1040 597.6L1060 595.8L1080 594.4L1100 593.5L1120 593.2L1140 593.5L1160 594.6L1180 596.5L1200 599.0L1220 602.4L1240 606.4L1260 611.1L1280 616.3L1300 622.1L1320 628.2L1340 634.7L1360 641.4L1380 648.1L1400 654.9L1420 661.6L1440 668.1L1460 674.3L1480 680.3L1500 685.9L1520 691.1L1540 695.8L1560 700.2L1580 704.1L1600 707.7' stroke-opacity='0.35'/%3E%3C/g%3E%3C/svg%3E");
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23n%29'/%3E%3C/svg%3E");
  --bg: #0A0E1A;
  --bg-2: #0F1424;
  --bg-3: #161C31;
  --text-1: #F5F5F7;
  --text-2: #A1A1A6;
  --text-3: #86868B;
  --line: rgba(255, 255, 255, .08);
  --line-2: rgba(255, 255, 255, .16);
  --glass-top: rgba(255, 255, 255, .055);
  --glass-bottom: rgba(255, 255, 255, .035);
  --glass-solid: rgba(22, 26, 40, .82);
  --edge-hi: rgba(255, 255, 255, .12);
  --accent: #2997FF;
  --accent-soft: rgba(41, 151, 255, .14);
  --cyan: #AFC0DC;
  --blue: #AFC0DC;
  --violet: #AFC0DC;
  --aurora: linear-gradient(180deg, #ECECEF, #C3CAD8);
  --aurora-soft: linear-gradient(180deg, #ECECEF, #C3CAD8);
  --btn-bg: #0071E3;
  --btn-bg-hover: #0077ED;
  --btn-ink: #FFFFFF;
  --live: #6FD3C7;
  --focus: #6BB5FF;
  --danger: #E89AA4;
  --shadow-lg: 0 30px 80px -40px rgba(0, 0, 0, .8);
  --shadow-md: 0 1px 0 rgba(255, 255, 255, .02);
  --glow-cyan: rgba(70, 180, 205, .12);
  --glow-blue: rgba(90, 120, 245, .13);
  --glow-violet: rgba(135, 105, 240, .14);
  --plate: url("/site/art/generated/lumina-aurora-veil-dark.jpg");
  --plate-opacity: .3;
  --bg-tone: radial-gradient(1100px 720px at 90% 4%, rgba(132, 110, 240, .16), transparent 62%), radial-gradient(900px 680px at 0% 46%, rgba(70, 175, 200, .11), transparent 64%), radial-gradient(1300px 560px at 50% 110%, rgba(90, 120, 240, .12), transparent 60%), linear-gradient(180deg, #0F1428 0%, #0A0E1A 42%, #0C1122 100%);
  --grain-opacity: .03;
  --contour-opacity: .1;
  --band: rgba(150, 170, 255, .035);
  --scrim: rgba(12, 13, 16, .55);

  --font-sans: "SF Pro Text", "SF Pro Icons", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;
  --font-serif: var(--font-display);
  --font-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  --font-display: "SF Pro Display", "SF Pro Icons", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;

  --type-hero: clamp(2.5rem, 5.6vw, 4.5rem);
  --type-h2: clamp(2.25rem, 4.8vw, 3.5rem);
  --type-h3: clamp(1.19rem, 1.5vw, 1.31rem);
  --type-lead: clamp(1.19rem, 1.55vw, 1.5rem);
  --type-body: 1.0625rem;
  --type-sm: .9375rem;
  --type-xs: .8125rem;

  --shell: 1200px;
  --gutter: clamp(18px, 4vw, 40px);
  --block-pad: clamp(96px, 12vw, 176px);
  --r-sm: 12px;
  --r-md: 20px;
  --r-lg: 28px;
  --r-pill: 999px;
  --radius-control: 14px;
  --radius-surface: 20px;
  --radius-media: 28px;
  --nav-h: 48px;

  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-soft: cubic-bezier(.33, 1, .68, 1);
  --dur-press: 160ms;
  --dur-ui: 220ms;
  --dur-reveal: 900ms;
}

:root[data-theme="dark"] { color-scheme: dark; }
:root[data-theme="light"] {
  color-scheme: light;
  --hue-1: #0F8FA3;
  --hue-2: #3F5BD8;
  --hue-3: #5C4FD6;
  --hue-4: #8B45C9;
  --aurora-text: linear-gradient(100deg, #2B3F9E 0%, #4150C0 100%);
  --aurora-line: linear-gradient(90deg, #0F8FA3, #3F5BD8 50%, #8B45C9);
  --contour: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%231d2230' stroke-width='1' stroke-linejoin='round' vector-effect='non-scaling-stroke'%3E%3Cpath d='M0 172.7L20 173.1L40 173.6L60 174.2L80 174.9L100 175.7L120 176.7L140 177.9L160 179.2L180 180.6L200 182.3L220 184.2L240 186.2L260 188.5L280 191.0L300 193.6L320 196.4L340 199.4L360 202.5L380 205.7L400 209.0L420 212.4L440 215.7L460 219.1L480 222.4L500 225.6L520 228.8L540 231.9L560 234.9L580 237.8L600 240.6L620 243.5L640 246.3L660 249.2L680 252.2L700 255.3L720 258.7L740 262.2L760 266.0L780 270.1L800 274.5L820 279.2L840 284.1L860 289.3L880 294.5L900 299.8L920 305.1L940 310.2L960 315.0L980 319.4L1000 323.3L1020 326.5L1040 328.9L1060 330.5L1080 331.1L1100 330.7L1120 329.4L1140 327.0L1160 323.6L1180 319.3L1200 314.1L1220 308.1L1240 301.5L1260 294.3L1280 286.7L1300 278.8L1320 270.8L1340 262.7L1360 254.7L1380 246.8L1400 239.3L1420 232.1L1440 225.4L1460 219.1L1480 213.3L1500 207.9L1520 203.2L1540 198.9L1560 195.0L1580 191.7L1600 188.7' stroke-opacity='0.35'/%3E%3Cpath d='M0 209.8L20 210.2L40 210.7L60 211.2L80 211.9L100 212.8L120 213.7L140 214.8L160 216.1L180 217.5L200 219.1L220 220.9L240 222.8L260 224.9L280 227.1L300 229.4L320 231.8L340 234.3L360 236.9L380 239.4L400 241.9L420 244.3L440 246.6L460 248.8L480 250.8L500 252.7L520 254.3L540 255.9L560 257.3L580 258.6L600 259.8L620 261.1L640 262.5L660 264.0L680 265.8L700 267.9L720 270.5L740 273.5L760 277.1L780 281.2L800 285.9L820 291.2L840 297.0L860 303.2L880 309.7L900 316.5L920 323.3L940 330.1L960 336.6L980 342.7L1000 348.1L1020 352.8L1040 356.7L1060 359.4L1080 361.1L1100 361.6L1120 360.8L1140 358.9L1160 355.7L1180 351.5L1200 346.2L1220 340.1L1240 333.1L1260 325.6L1280 317.6L1300 309.4L1320 301.0L1340 292.6L1360 284.3L1380 276.3L1400 268.7L1420 261.6L1440 254.9L1460 248.8L1480 243.3L1500 238.3L1520 233.9L1540 230.0L1560 226.7L1580 223.8L1600 221.4' stroke-opacity='0.49'/%3E%3Cpath d='M0 246.9L20 247.3L40 247.7L60 248.3L80 249.0L100 249.8L120 250.7L140 251.8L160 253.0L180 254.3L200 255.8L220 257.4L240 259.2L260 261.0L280 262.9L300 264.8L320 266.8L340 268.7L360 270.5L380 272.2L400 273.8L420 275.2L440 276.4L460 277.3L480 278.0L500 278.5L520 278.7L540 278.7L560 278.6L580 278.4L600 278.2L620 278.2L640 278.4L660 278.9L680 279.9L700 281.4L720 283.6L740 286.6L760 290.3L780 294.9L800 300.3L820 306.5L840 313.5L860 321.0L880 329.0L900 337.4L920 345.8L940 354.2L960 362.2L980 369.7L1000 376.5L1020 382.4L1040 387.2L1060 390.7L1080 392.9L1100 393.7L1120 393.1L1140 391.1L1160 387.8L1180 383.2L1200 377.4L1220 370.8L1240 363.3L1260 355.2L1280 346.7L1300 338.0L1320 329.2L1340 320.5L1360 312.1L1380 304.0L1400 296.5L1420 289.5L1440 283.1L1460 277.3L1480 272.2L1500 267.8L1520 263.9L1540 260.6L1560 257.9L1580 255.6L1600 253.8' stroke-opacity='0.61'/%3E%3Cpath d='M0 284.0L20 284.4L40 284.9L60 285.4L80 286.1L100 286.9L120 287.7L140 288.7L160 289.9L180 291.1L200 292.4L220 293.8L240 295.3L260 296.7L280 298.2L300 299.7L320 301.1L340 302.3L360 303.4L380 304.2L400 304.9L420 305.2L440 305.2L460 304.9L480 304.2L500 303.3L520 302.2L540 300.8L560 299.4L580 298.0L600 296.7L620 295.6L640 295.0L660 294.9L680 295.5L700 296.8L720 299.1L740 302.4L760 306.7L780 312.1L800 318.5L820 325.9L840 334.2L860 343.1L880 352.6L900 362.4L920 372.3L940 382.0L960 391.3L980 399.9L1000 407.5L1020 414.1L1040 419.3L1060 423.0L1080 425.2L1100 425.9L1120 424.9L1140 422.4L1160 418.4L1180 413.1L1200 406.6L1220 399.2L1240 391.1L1260 382.4L1280 373.3L1300 364.2L1320 355.1L1340 346.2L1360 337.8L1380 329.9L1400 322.6L1420 316.0L1440 310.0L1460 304.9L1480 300.4L1500 296.6L1520 293.5L1540 290.9L1560 288.9L1580 287.4L1600 286.2' stroke-opacity='0.73'/%3E%3Cpath d='M0 321.1L20 321.5L40 322.0L60 322.5L80 323.1L100 323.9L120 324.7L140 325.6L160 326.6L180 327.6L200 328.7L220 329.9L240 331.0L260 332.1L280 333.1L300 334.0L320 334.8L340 335.3L360 335.5L380 335.5L400 335.1L420 334.3L440 333.2L460 331.7L480 329.9L500 327.7L520 325.4L540 322.9L560 320.4L580 318.1L600 316.0L620 314.3L640 313.2L660 312.9L680 313.4L700 315.0L720 317.8L740 321.7L760 326.9L780 333.3L800 340.8L820 349.5L840 359.0L860 369.3L880 380.1L900 391.1L920 402.1L940 412.7L960 422.7L980 431.8L1000 439.8L1020 446.4L1040 451.5L1060 454.9L1080 456.6L1100 456.5L1120 454.7L1140 451.3L1160 446.5L1180 440.2L1200 432.9L1220 424.7L1240 415.8L1260 406.6L1280 397.1L1300 387.7L1320 378.5L1340 369.8L1360 361.6L1380 354.0L1400 347.2L1420 341.3L1440 336.1L1460 331.7L1480 328.1L1500 325.2L1520 322.9L1540 321.2L1560 320.0L1580 319.3L1600 318.8' stroke-opacity='0.83'/%3E%3Cpath d='M0 358.3L20 358.6L40 359.1L60 359.6L80 360.1L100 360.8L120 361.5L140 362.3L160 363.1L180 363.9L200 364.8L220 365.6L240 366.4L260 367.0L280 367.5L300 367.8L320 367.9L340 367.6L360 367.1L380 366.1L400 364.7L420 363.0L440 360.8L460 358.2L480 355.4L500 352.2L520 348.9L540 345.6L560 342.4L580 339.4L600 336.9L620 334.9L640 333.8L660 333.6L680 334.5L700 336.6L720 340.0L740 344.8L760 351.0L780 358.4L800 367.1L820 376.9L840 387.6L860 398.9L880 410.6L900 422.4L920 433.9L940 444.9L960 455.1L980 464.1L1000 471.8L1020 477.9L1040 482.3L1060 484.8L1080 485.5L1100 484.4L1120 481.5L1140 477.0L1160 471.0L1180 463.9L1200 455.7L1220 446.7L1240 437.3L1260 427.7L1280 418.0L1300 408.6L1320 399.7L1340 391.3L1360 383.7L1380 376.9L1400 370.9L1420 365.8L1440 361.6L1460 358.2L1480 355.7L1500 353.8L1520 352.5L1540 351.8L1560 351.5L1580 351.6L1600 351.9' stroke-opacity='0.91'/%3E%3Cpath d='M0 395.4L20 395.7L40 396.1L60 396.6L80 397.1L100 397.6L120 398.2L140 398.8L160 399.4L180 400.0L200 400.6L220 401.0L240 401.4L260 401.5L280 401.5L300 401.2L320 400.5L340 399.6L360 398.2L380 396.4L400 394.1L420 391.5L440 388.4L460 385.0L480 381.3L500 377.4L520 373.4L540 369.6L560 365.9L580 362.7L600 360.0L620 358.1L640 357.2L660 357.4L680 358.9L700 361.7L720 365.9L740 371.6L760 378.7L780 387.1L800 396.8L820 407.4L840 418.8L860 430.7L880 442.8L900 454.8L920 466.3L940 477.1L960 486.8L980 495.1L1000 501.9L1020 507.0L1040 510.2L1060 511.5L1080 510.9L1100 508.5L1120 504.3L1140 498.6L1160 491.6L1180 483.6L1200 474.7L1220 465.3L1240 455.6L1260 445.9L1280 436.4L1300 427.5L1320 419.1L1340 411.5L1360 404.8L1380 399.0L1400 394.1L1420 390.2L1440 387.2L1460 385.0L1480 383.6L1500 382.8L1520 382.7L1540 382.9L1560 383.5L1580 384.4L1600 385.5' stroke-opacity='0.97'/%3E%3Cpath d='M0 432.5L20 432.8L40 433.1L60 433.5L80 433.9L100 434.3L120 434.7L140 435.1L160 435.5L180 435.8L200 436.0L220 436.1L240 436.0L260 435.7L280 435.1L300 434.2L320 432.9L340 431.3L360 429.2L380 426.6L400 423.6L420 420.2L440 416.5L460 412.4L480 408.1L500 403.8L520 399.4L540 395.3L560 391.5L580 388.3L600 385.8L620 384.2L640 383.7L660 384.5L680 386.6L700 390.1L720 395.1L740 401.6L760 409.4L780 418.5L800 428.7L820 439.7L840 451.4L860 463.3L880 475.2L900 486.8L920 497.6L940 507.6L960 516.2L980 523.3L1000 528.8L1020 532.4L1040 534.1L1060 533.9L1080 531.9L1100 528.1L1120 522.7L1140 516.0L1160 508.1L1180 499.4L1200 490.2L1220 480.6L1240 471.1L1260 461.8L1280 453.0L1300 444.8L1320 437.4L1340 430.9L1360 425.4L1380 421.0L1400 417.5L1420 414.9L1440 413.3L1460 412.4L1480 412.3L1500 412.7L1520 413.6L1540 414.9L1560 416.4L1580 418.0L1600 419.8' stroke-opacity='1.00'/%3E%3Cpath d='M0 469.5L20 469.8L40 470.0L60 470.3L80 470.5L100 470.8L120 471.1L140 471.3L160 471.4L180 471.4L200 471.3L220 471.0L240 470.5L260 469.7L280 468.6L300 467.1L320 465.3L340 463.0L360 460.3L380 457.1L400 453.6L420 449.6L440 445.4L460 440.9L480 436.3L500 431.7L520 427.2L540 423.0L560 419.4L580 416.4L600 414.2L620 413.1L640 413.1L660 414.5L680 417.2L700 421.3L720 426.9L740 433.8L760 442.0L780 451.4L800 461.6L820 472.5L840 483.8L860 495.1L880 506.2L900 516.8L920 526.4L940 534.9L960 542.0L980 547.5L1000 551.3L1020 553.2L1040 553.3L1060 551.5L1080 548.1L1100 543.1L1120 536.7L1140 529.2L1160 520.9L1180 512.0L1200 502.8L1220 493.6L1240 484.7L1260 476.2L1280 468.4L1300 461.5L1320 455.5L1340 450.5L1360 446.5L1380 443.6L1400 441.6L1420 440.6L1440 440.4L1460 440.9L1480 442.0L1500 443.6L1520 445.6L1540 447.7L1560 450.1L1580 452.4L1600 454.7' stroke-opacity='1.00'/%3E%3Cpath d='M0 506.5L20 506.7L40 506.8L60 507.0L80 507.1L100 507.2L120 507.3L140 507.3L160 507.1L180 506.9L200 506.4L220 505.7L240 504.8L260 503.6L280 502.0L300 500.1L320 497.7L340 495.0L360 491.8L380 488.2L400 484.2L420 480.0L440 475.4L460 470.7L480 466.0L500 461.3L520 456.9L540 452.9L560 449.5L580 446.9L600 445.1L620 444.4L640 445.0L660 446.7L680 449.9L700 454.3L720 460.1L740 467.1L760 475.2L780 484.3L800 494.0L820 504.2L840 514.5L860 524.7L880 534.4L900 543.4L920 551.4L940 558.1L960 563.3L980 566.9L1000 568.9L1020 569.1L1040 567.5L1060 564.4L1080 559.7L1100 553.8L1120 546.8L1140 539.0L1160 530.7L1180 522.1L1200 513.5L1220 505.2L1240 497.3L1260 490.2L1280 483.9L1300 478.5L1320 474.1L1340 470.9L1360 468.6L1380 467.4L1400 467.1L1420 467.6L1440 468.9L1460 470.7L1480 473.0L1500 475.7L1520 478.6L1540 481.6L1560 484.6L1580 487.5L1600 490.3' stroke-opacity='0.97'/%3E%3Cpath d='M0 543.4L20 543.5L40 543.6L60 543.6L80 543.6L100 543.5L120 543.4L140 543.2L160 542.8L180 542.2L200 541.5L220 540.5L240 539.2L260 537.6L280 535.6L300 533.3L320 530.6L340 527.5L360 523.9L380 520.1L400 515.9L420 511.4L440 506.8L460 502.0L480 497.3L500 492.8L520 488.6L540 484.9L560 481.7L580 479.4L600 478.0L620 477.7L640 478.4L660 480.4L680 483.6L700 488.1L720 493.6L740 500.2L760 507.7L780 515.9L800 524.6L820 533.5L840 542.3L860 550.8L880 558.7L900 565.7L920 571.7L940 576.4L960 579.6L980 581.3L1000 581.5L1020 580.1L1040 577.2L1060 573.0L1080 567.6L1100 561.2L1120 554.1L1140 546.5L1160 538.7L1180 531.0L1200 523.5L1220 516.5L1240 510.2L1260 504.7L1280 500.2L1300 496.7L1320 494.2L1340 492.8L1360 492.4L1380 492.9L1400 494.3L1420 496.3L1440 498.9L1460 502.0L1480 505.4L1500 509.0L1520 512.7L1540 516.4L1560 519.9L1580 523.3L1600 526.4' stroke-opacity='0.91'/%3E%3Cpath d='M0 580.3L20 580.3L40 580.2L60 580.2L80 580.0L100 579.8L120 579.5L140 579.0L160 578.4L180 577.6L200 576.5L220 575.3L240 573.7L260 571.8L280 569.5L300 566.9L320 563.9L340 560.6L360 556.9L380 552.8L400 548.5L420 544.0L440 539.4L460 534.8L480 530.2L500 525.9L520 521.9L540 518.4L560 515.5L580 513.4L600 512.2L620 511.9L640 512.7L660 514.5L680 517.4L700 521.3L720 526.2L740 531.9L760 538.2L780 545.1L800 552.2L820 559.3L840 566.2L860 572.6L880 578.4L900 583.3L920 587.1L940 589.7L960 591.0L980 591.0L1000 589.6L1020 587.0L1040 583.2L1060 578.4L1080 572.7L1100 566.5L1120 559.8L1140 553.0L1160 546.3L1180 539.8L1200 533.9L1220 528.7L1240 524.3L1260 520.8L1280 518.3L1300 516.8L1320 516.4L1340 516.9L1360 518.3L1380 520.5L1400 523.3L1420 526.8L1440 530.6L1460 534.8L1480 539.1L1500 543.4L1520 547.7L1540 551.9L1560 555.8L1580 559.5L1600 562.9' stroke-opacity='0.83'/%3E%3Cpath d='M0 617.1L20 617.0L40 616.9L60 616.7L80 616.4L100 616.0L120 615.5L140 614.9L160 614.0L180 613.0L200 611.8L220 610.2L240 608.4L260 606.3L280 603.8L300 601.0L320 597.9L340 594.4L360 590.6L380 586.6L400 582.3L420 577.8L440 573.3L460 568.7L480 564.3L500 560.1L520 556.3L540 552.9L560 550.2L580 548.1L600 546.7L620 546.3L640 546.7L660 547.9L680 550.1L700 553.1L720 556.8L740 561.0L760 565.8L780 570.8L800 576.0L820 581.0L840 585.7L860 589.9L880 593.4L900 596.1L920 597.9L940 598.6L960 598.2L980 596.8L1000 594.4L1020 591.0L1040 586.8L1060 581.9L1080 576.6L1100 571.0L1120 565.3L1140 559.8L1160 554.6L1180 549.9L1200 546.0L1220 542.8L1240 540.5L1260 539.2L1280 538.8L1300 539.4L1320 540.9L1340 543.2L1360 546.3L1380 550.0L1400 554.3L1420 558.9L1440 563.7L1460 568.7L1480 573.7L1500 578.7L1520 583.4L1540 587.9L1560 592.1L1580 595.9L1600 599.4' stroke-opacity='0.73'/%3E%3Cpath d='M0 654.0L20 653.8L40 653.5L60 653.2L80 652.8L100 652.3L120 651.6L140 650.8L160 649.8L180 648.6L200 647.2L220 645.5L240 643.5L260 641.2L280 638.6L300 635.7L320 632.5L340 629.0L360 625.2L380 621.1L400 616.9L420 612.5L440 608.0L460 603.6L480 599.3L500 595.2L520 591.4L540 587.9L560 585.0L580 582.7L600 580.9L620 579.9L640 579.5L660 579.8L680 580.8L700 582.4L720 584.5L740 587.0L760 589.8L780 592.8L800 595.7L820 598.4L840 600.9L860 602.8L880 604.2L900 604.9L920 604.9L940 604.0L960 602.4L980 600.0L1000 597.0L1020 593.4L1040 589.4L1060 585.0L1080 580.6L1100 576.1L1120 572.0L1140 568.2L1160 564.9L1180 562.3L1200 560.5L1220 559.6L1240 559.5L1260 560.3L1280 562.0L1300 564.6L1320 567.9L1340 571.9L1360 576.4L1380 581.5L1400 586.8L1420 592.3L1440 598.0L1460 603.6L1480 609.1L1500 614.4L1520 619.4L1540 624.1L1560 628.4L1580 632.3L1600 635.8' stroke-opacity='0.61'/%3E%3Cpath d='M0 690.8L20 690.5L40 690.2L60 689.7L80 689.2L100 688.6L120 687.8L140 686.9L160 685.7L180 684.4L200 682.8L220 681.0L240 678.9L260 676.6L280 673.9L300 670.9L320 667.7L340 664.2L360 660.4L380 656.3L400 652.1L420 647.8L440 643.4L460 639.0L480 634.6L500 630.4L520 626.4L540 622.7L560 619.3L580 616.4L600 613.9L620 612.0L640 610.5L660 609.5L680 608.9L700 608.8L720 609.0L740 609.5L760 610.2L780 610.9L800 611.5L820 612.0L840 612.3L860 612.2L880 611.6L900 610.7L920 609.2L940 607.3L960 604.9L980 602.2L1000 599.1L1020 595.9L1040 592.5L1060 589.2L1080 586.1L1100 583.3L1120 581.0L1140 579.2L1160 578.1L1180 577.7L1200 578.2L1220 579.4L1240 581.5L1260 584.4L1280 588.0L1300 592.3L1320 597.2L1340 602.6L1360 608.3L1380 614.3L1400 620.5L1420 626.8L1440 632.9L1460 639.0L1480 644.7L1500 650.2L1520 655.4L1540 660.2L1560 664.5L1580 668.4L1600 672.0' stroke-opacity='0.49'/%3E%3Cpath d='M0 727.6L20 727.2L40 726.8L60 726.3L80 725.7L100 725.0L120 724.1L140 723.0L160 721.8L180 720.4L200 718.7L220 716.8L240 714.7L260 712.3L280 709.6L300 706.6L320 703.3L340 699.8L360 696.0L380 692.0L400 687.8L420 683.4L440 678.9L460 674.3L480 669.8L500 665.3L520 660.8L540 656.6L560 652.5L580 648.7L600 645.2L620 642.0L640 639.1L660 636.5L680 634.2L700 632.1L720 630.3L740 628.7L760 627.1L780 625.6L800 624.1L820 622.5L840 620.8L860 619.0L880 617.0L900 614.8L920 612.5L940 610.0L960 607.4L980 604.8L1000 602.2L1020 599.8L1040 597.6L1060 595.8L1080 594.4L1100 593.5L1120 593.2L1140 593.5L1160 594.6L1180 596.5L1200 599.0L1220 602.4L1240 606.4L1260 611.1L1280 616.3L1300 622.1L1320 628.2L1340 634.7L1360 641.4L1380 648.1L1400 654.9L1420 661.6L1440 668.1L1460 674.3L1480 680.3L1500 685.9L1520 691.1L1540 695.8L1560 700.2L1580 704.1L1600 707.7' stroke-opacity='0.35'/%3E%3C/g%3E%3C/svg%3E");
  --bg: #F5F5F7;
  --bg-2: #FFFFFF;
  --bg-3: #E8E8ED;
  --text-1: #1D1D1F;
  --text-2: #6E6E73;
  --text-3: #6E6E73;
  --line: rgba(0, 0, 0, .08);
  --line-2: rgba(0, 0, 0, .16);
  --glass-top: #FFFFFF;
  --glass-bottom: #FFFFFF;
  --glass-solid: rgba(255, 255, 255, .88);
  --edge-hi: rgba(255, 255, 255, .9);
  --accent: #0066CC;
  --accent-soft: rgba(0, 102, 204, .1);
  --cyan: #3D5A80;
  --blue: #3D5A80;
  --violet: #3D5A80;
  --aurora: linear-gradient(180deg, #16171B, #3A3D46);
  --aurora-soft: linear-gradient(180deg, #16171B, #3A3D46);
  --btn-bg: #0071E3;
  --btn-bg-hover: #0077ED;
  --btn-ink: #FFFFFF;
  --live: #15705F;
  --focus: #0071E3;
  --danger: #B23A48;
  --shadow-lg: 0 30px 70px -40px rgba(40, 40, 50, .35);
  --shadow-md: 0 1px 0 rgba(0, 0, 0, .02);
  --glow-cyan: transparent;
  --glow-blue: transparent;
  --glow-violet: transparent;
  --plate: url("/site/art/generated/lumina-aurora-veil-light.jpg?v=20260929");
  --plate-opacity: .14;
  --bg-tone: linear-gradient(180deg, #F5F5F7, #F5F5F7);
  --grain-opacity: 0;
  --contour-opacity: .07;
  --band: #FFFFFF;
  --scrim: rgba(244, 243, 239, .6);
}
@media (prefers-color-scheme: light) { :root:not([data-theme]) { color-scheme: light; } }

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--nav-h) + 12px); overflow-x: clip; }
html:not(.reduce-motion) { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg-tone), var(--bg);
  background-attachment: fixed;
  color: var(--text-1);
  font-family: var(--font-sans);
  font-size: var(--type-body);
  line-height: 1.53;
  letter-spacing: -.01em;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }
h1, h2, h3 { margin: 0; font-weight: 600; color: var(--text-1); }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
::selection { background: color-mix(in srgb, var(--blue) 45%, transparent); color: var(--text-1); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 8px; }
.mono, code { font-family: var(--font-mono); font-size: .92em; }
.num { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--text-1); }
.glow {
  font-style: normal;
  background: var(--aurora-text);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
@media (min-width: 768px) { h2 .glow { white-space: nowrap; } }
.skip-link {
  position: fixed; left: 16px; top: -60px; z-index: 100;
  padding: 10px 16px; border-radius: var(--r-sm);
  background: var(--btn-bg); color: var(--btn-ink); font-weight: 600;
  transition: top var(--dur-ui) var(--ease-out);
}
.skip-link:focus { top: 12px; }
.shell { width: min(100% - 2 * var(--gutter), var(--shell)); margin-inline: auto; }

/* ---------- the sky: cover veil, aurora plate, ambient glows ---------- */
.cover-veil, .site-aurora, .sky { position: fixed; inset: 0; pointer-events: none; overflow: hidden; }
.cover-veil { z-index: 0; opacity: calc(1 - var(--veil-p, 0)); }
.cover-fallback {
  position: absolute; inset: 0;
  background:
    radial-gradient(60% 55% at 22% 18%, rgba(56, 189, 248, .30), transparent 70%),
    radial-gradient(55% 60% at 58% 8%, rgba(68, 114, 251, .34), transparent 72%),
    radial-gradient(50% 55% at 86% 20%, rgba(106, 82, 251, .34), transparent 70%),
    var(--bg);
}
:root[data-theme="light"] .cover-fallback {
  background:
    radial-gradient(60% 55% at 22% 18%, rgba(14, 159, 216, .22), transparent 70%),
    radial-gradient(55% 60% at 58% 8%, rgba(79, 99, 245, .2), transparent 72%),
    radial-gradient(50% 55% at 86% 20%, rgba(123, 77, 242, .2), transparent 70%),
    var(--bg);
}
html.cover-webgl .cover-fallback { opacity: 0; transition: opacity 1.2s var(--ease-soft); }
.cover-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }

.site-aurora { z-index: 0; opacity: calc(var(--veil-p, 0) * var(--plate-opacity)); }
.aurora-plate {
  position: absolute; inset: 0 0 auto 0; height: 100vh;
  background: var(--plate) center top / cover no-repeat;
  filter: blur(22px) saturate(.85);
  transform: scale(1.08);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .75) 45%, transparent 92%);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .75) 45%, transparent 92%);
}
.sky { z-index: 0; overflow: hidden; }
.sky-glow {
  position: absolute; border-radius: 50%;
  filter: blur(90px);
  opacity: calc(var(--veil-p, 0) * .6);
  will-change: transform;
}
.sky-glow-a { width: 48vw; height: 42vw; left: -12vw; top: 38vh; background: var(--glow-cyan); animation: drift-a 38s var(--ease-soft) infinite alternate; }
.sky-glow-b { width: 52vw; height: 40vw; right: -14vw; top: 8vh; background: var(--glow-violet); animation: drift-b 46s var(--ease-soft) infinite alternate; }
.sky-glow-c { width: 40vw; height: 36vw; left: 30vw; bottom: -18vw; background: var(--glow-blue); animation: drift-c 52s var(--ease-soft) infinite alternate; }
.sky-stars {
  position: absolute; inset: 0;
  opacity: calc(.1 + var(--veil-p, 0) * .14);
  background-image:
    radial-gradient(1px 1px at 12% 22%, rgba(255, 255, 255, .7), transparent 60%),
    radial-gradient(1px 1px at 68% 14%, rgba(255, 255, 255, .55), transparent 60%),
    radial-gradient(1.2px 1.2px at 38% 64%, rgba(200, 220, 255, .55), transparent 60%),
    radial-gradient(1px 1px at 84% 72%, rgba(255, 255, 255, .45), transparent 60%),
    radial-gradient(1px 1px at 24% 86%, rgba(210, 225, 255, .5), transparent 60%),
    radial-gradient(1.3px 1.3px at 92% 40%, rgba(255, 255, 255, .5), transparent 60%);
  background-size: 620px 620px;
}
:root[data-theme="light"] .sky-stars { display: none; }
.sky::after {
  content: ""; position: absolute; inset: 0;
  background-image: var(--grain); background-size: 180px 180px;
  opacity: var(--grain-opacity); mix-blend-mode: overlay;
}
:root[data-theme="light"] .sky::after { mix-blend-mode: multiply; }
.sky { z-index: 0; }
@keyframes drift-a { to { transform: translate3d(9vw, -6vh, 0) scale(1.12); } }
@keyframes drift-b { to { transform: translate3d(-8vw, 10vh, 0) scale(1.08); } }
@keyframes drift-c { to { transform: translate3d(6vw, -8vh, 0) scale(1.15); } }

main, .closing, .site-nav { position: relative; z-index: 1; }

/* ---------- navigation ---------- */
.site-nav {
  position: fixed; inset: 0 0 auto 0; z-index: 40;
  height: var(--nav-h);
  transition: background-color var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out), backdrop-filter var(--dur-ui);
}
html .site-nav { text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
.site-nav.is-scrolled {
  background: color-mix(in srgb, var(--bg) 72%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  box-shadow: inset 0 -1px 0 var(--line);
}
.nav-inner {
  height: 100%;
  width: min(100% - 2 * var(--gutter), 1280px); margin-inline: auto;
  display: flex; align-items: center; gap: 24px;
}
.brand { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .95rem; letter-spacing: -.01em; }
.brand img { width: 22px; height: 22px; }
.nav-links { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nav-links a {
  position: relative; padding: 6px 12px; border-radius: var(--r-pill);
  font-size: .8125rem; color: color-mix(in srgb, var(--text-1) 80%, transparent);
  transition: color var(--dur-ui) var(--ease-out), background-color var(--dur-ui) var(--ease-out);
}
.nav-links a:hover { color: var(--text-1); }
.nav-links .nav-cta {
  margin-left: 10px; padding: 4px 12px; color: #fff; font-weight: 500; background: var(--btn-bg);
}
.nav-links .nav-cta:hover { color: #fff; background: var(--btn-bg-hover); }
.nav-tools { display: flex; align-items: center; gap: 8px; }
.nav-login {
  padding: 4px 12px; border-radius: var(--r-pill); font-size: .8125rem; font-weight: 500;
  color: var(--text-1); background: transparent; box-shadow: inset 0 0 0 1px var(--line-2);
  transition: transform var(--dur-press) var(--ease-out), background-color var(--dur-ui);
}
.nav-login:hover { box-shadow: inset 0 0 0 1px var(--text-2); }
.nav-login:active { transform: scale(.97); }
.theme-switch {
  display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 8px;
  border: 0; background: none; cursor: pointer; color: var(--text-2); font-size: var(--type-xs);
  border-radius: var(--r-pill);
}
.theme-switch:hover { color: var(--text-1); }
.theme-switch-track {
  position: relative; width: 34px; height: 20px; border-radius: var(--r-pill);
  background: color-mix(in srgb, var(--text-2) 32%, transparent);
  transition: background-color var(--dur-ui) var(--ease-out);
}
.theme-switch-thumb {
  position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--text-1);
  transition: transform var(--dur-ui) var(--ease-out);
}
.theme-switch[aria-checked="true"] .theme-switch-track { background: color-mix(in srgb, var(--accent) 70%, transparent); }
.theme-switch[aria-checked="true"] .theme-switch-thumb { transform: translateX(14px); background: #fff; }
html:not(.js) .theme-switch { display: none; }
.menu-button {
  display: none; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px;
  border: 0; border-radius: var(--r-pill); cursor: pointer;
  background: color-mix(in srgb, var(--text-1) 7%, transparent); font-size: var(--type-sm);
}
.menu-lines, .menu-lines::before, .menu-lines::after {
  display: block; width: 14px; height: 1.5px; border-radius: 2px; background: currentColor;
  transition: transform var(--dur-ui) var(--ease-out), opacity var(--dur-ui);
}
.menu-lines { position: relative; }
.menu-lines::before, .menu-lines::after { content: ""; position: absolute; left: 0; }
.menu-lines::before { top: -5px; }
.menu-lines::after { top: 5px; }
.menu-button[aria-expanded="true"] .menu-lines { background: transparent; }
.menu-button[aria-expanded="true"] .menu-lines::before { transform: translateY(5px) rotate(45deg); }
.menu-button[aria-expanded="true"] .menu-lines::after { transform: translateY(-5px) rotate(-45deg); }
.menu-backdrop { display: none; }

/* ---------- buttons ---------- */
.button {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; padding: 0 22px; border: 0; border-radius: 980px;
  font-size: var(--type-body); font-weight: 500; letter-spacing: -.01em; cursor: pointer; white-space: nowrap;
  transition: background-color var(--dur-ui) var(--ease-out), color var(--dur-ui), box-shadow var(--dur-ui), transform var(--dur-press) var(--ease-out);
}
.button:active { transform: scale(0.97); }
.button-primary { color: var(--btn-ink); background: var(--btn-bg); }
.button-secondary { color: var(--accent); background: transparent; box-shadow: inset 0 0 0 1px var(--accent); }
/* Apple's quiet text action: a link with a chevron, no container */
.button-ghost { min-height: 44px; padding: 0 8px; color: var(--accent); background: transparent; }
.button-lg { min-height: 52px; padding: 0 30px; font-size: 1.125rem; }
@media (hover: hover) and (pointer: fine) {
  .button-primary:hover { background: var(--btn-bg-hover); }
  .button-secondary:hover { color: var(--btn-ink); background: var(--btn-bg); box-shadow: inset 0 0 0 1px var(--btn-bg); }
  .button-ghost:hover { text-decoration: underline; text-underline-offset: 4px; }
}
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.actions.is-center { justify-content: center; }

/* ---------- cover ---------- */
.cover-section { position: relative; }
.cover { position: relative; min-height: 100vh; min-height: 100svh; display: grid; grid-template-rows: 1fr auto; }
.cover-scrim {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(55% 45% at 50% 56%, color-mix(in srgb, var(--bg) 62%, transparent), transparent 75%),
    linear-gradient(to bottom, transparent 55%, var(--bg) 100%);
}
.cover-inner { position: relative; display: grid; place-items: center; padding: calc(var(--nav-h) + 40px) var(--gutter) 32px; }
.cover-lockup { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 980px; }
.cover-mark {
  width: clamp(56px, 6vw, 76px); height: auto;
  filter: drop-shadow(0 8px 28px rgba(130, 150, 255, .35));
}
.cover-wordmark {
  margin-top: 18px;
  display: flex; gap: .62em;
  font-weight: 200; font-size: clamp(1.9rem, 4.6vw, 3.8rem); letter-spacing: 0; line-height: 1;
  color: var(--text-1);
  text-shadow: 0 2px 30px rgba(0, 0, 0, .35);
}
.cover-tagline {
  margin-top: clamp(26px, 3.6vw, 40px);
  font-family: var(--font-display);
  /* min(): on a phone each line (≤10 characters) still fits on one row, so the
     sentence never breaks mid-word (变成能说出 / 口的回答). */
  font-size: min(var(--type-hero), 8.6vw); line-height: 1.1; font-weight: 600; letter-spacing: -.015em;
  text-wrap: balance;
}
.cover-tagline .line { display: block; }
.cover-support {
  margin-top: 20px; max-width: 32em;
  font-size: var(--type-lead); line-height: 1.42; font-weight: 500; color: var(--text-2);
  text-wrap: pretty;
}
.cover-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 36px; }
.cover-trust {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 20px; margin-top: 22px;
  font-size: var(--type-xs); color: var(--text-3);
}
.cover-trust li { display: inline-flex; align-items: center; gap: 7px; }
.cover-trust li::before {
  content: ""; width: 11px; height: 11px; flex: none; background: var(--live);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.cover-continue-icon { display: inline-flex; transition: transform var(--dur-ui) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .cover-continue:hover .cover-continue-icon { transform: translateY(2px); } }
.cover-bar {
  position: relative;
  width: min(100% - 2 * var(--gutter), 1280px); margin-inline: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px 0 22px; border-top: 1px solid var(--line);
  font-size: var(--type-xs); color: var(--text-3);
}
.cover-bar-end { display: inline-flex; align-items: center; gap: 14px; }
.cover-motion {
  display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px;
  border: 0; border-radius: var(--r-pill); cursor: pointer; font-size: var(--type-xs); color: var(--text-2);
  box-shadow: inset 0 0 0 1px var(--line-2); background: color-mix(in srgb, var(--bg) 40%, transparent);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.cover-motion:hover { color: var(--text-1); }
.cover-motion .ic-play { display: none; }
.cover-motion[aria-pressed="true"] .ic-play { display: block; }
.cover-motion[aria-pressed="true"] .ic-pause { display: none; }

/* cover entrance: a staged rise, armed by landing-boot (html.hero-arm) */
html.hero-arm .cover-mark, html.hero-arm .cover-wordmark span, html.hero-arm .cover-tagline .line,
html.hero-arm .cover-support, html.hero-arm .cover-actions, html.hero-arm .cover-trust {
  opacity: 0; transform: translateY(18px); filter: blur(10px);
}
html.hero-in .cover-mark, html.hero-in .cover-wordmark span, html.hero-in .cover-tagline .line,
html.hero-in .cover-support, html.hero-in .cover-actions, html.hero-in .cover-trust {
  opacity: 1; transform: none; filter: none;
  transition: opacity 1.1s var(--ease-out), transform 1.1s var(--ease-out), filter 1.1s var(--ease-out);
}
html.hero-in .cover-mark { transition-delay: 0ms; }
html.hero-in .cover-wordmark span:nth-child(1) { transition-delay: 120ms; }
html.hero-in .cover-wordmark span:nth-child(2) { transition-delay: 170ms; }
html.hero-in .cover-wordmark span:nth-child(3) { transition-delay: 220ms; }
html.hero-in .cover-wordmark span:nth-child(4) { transition-delay: 270ms; }
html.hero-in .cover-wordmark span:nth-child(5) { transition-delay: 320ms; }
html.hero-in .cover-wordmark span:nth-child(6) { transition-delay: 370ms; }
html.hero-in .cover-tagline .line:nth-child(1) { transition-delay: 460ms; }
html.hero-in .cover-tagline .line:nth-child(2) { transition-delay: 560ms; }
html.hero-in .cover-support { transition-delay: 700ms; }
html.hero-in .cover-actions { transition-delay: 820ms; }
html.hero-in .cover-trust { transition-delay: 940ms; }

/* ---------- blocks ---------- */
.block { padding-block: var(--block-pad) 0; }
.block:last-child { padding-bottom: var(--block-pad); }
.block-head { max-width: 760px; margin-bottom: clamp(44px, 6vw, 72px); }
.block-head.is-center { margin-inline: auto; text-align: center; }
.eyebrow {
  display: inline-block;
  font-family: var(--font-display); font-size: var(--type-lead); font-weight: 600; letter-spacing: -.01em;
  background: var(--aurora-text); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.block-head h2, .scene-lead h2, .demo-intro h2 {
  margin-top: 8px;
  font-family: var(--font-display);
  font-size: var(--type-h2); line-height: 1.1; letter-spacing: -.015em; font-weight: 600;
  text-wrap: balance;
}
.lead { margin-top: 18px; font-size: var(--type-lead); line-height: 1.42; font-weight: 500; color: var(--text-2); text-wrap: pretty; }
.block-head.is-center .lead { margin-inline: auto; max-width: 40em; }

/* ---------- glass card ---------- */
.card {
  position: relative; isolation: isolate;
  border-radius: var(--r-lg);
  background: linear-gradient(180deg, var(--glass-top), var(--glass-bottom));
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  backdrop-filter: blur(16px) saturate(1.3);
}
.card::before { content: none; }
[data-spotlight]::after {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  background: radial-gradient(380px circle at var(--mx, 50%) var(--my, -30%), color-mix(in srgb, var(--text-1) 5%, transparent), transparent 60%);
  opacity: 0; transition: opacity var(--dur-ui) var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  [data-spotlight]:hover::after { opacity: 1; }
  .card[data-spotlight] { transition: transform 600ms var(--ease-out); }
  .card[data-spotlight]:hover { transform: scale(1.012); }
}

/* ---------- features ---------- */
.stage-shot { position: relative; margin: 0 auto; max-width: 1080px; }
.contour-field, #features::before, .block.band::after, .closing::before {
  content: ""; position: absolute; pointer-events: none; z-index: -1;
  background: var(--aurora-line); -webkit-mask: var(--contour) center / 100% 100% no-repeat; mask: var(--contour) center / 100% 100% no-repeat;
  opacity: var(--contour-opacity);
}
#features { position: relative; }
#features::before {
  left: 0; right: 0; top: 0; height: 780px;
  -webkit-mask-image: var(--contour), radial-gradient(70% 60% at 50% 40%, #000 20%, transparent 78%);
  -webkit-mask-size: 100% 100%, 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: source-in;
  mask-image: var(--contour), radial-gradient(70% 60% at 50% 40%, #000 20%, transparent 78%);
  mask-size: 100% 100%, 100% 100%;
  mask-repeat: no-repeat;
  mask-composite: intersect;
}
/* tonal bands: a slightly lifted surface with soft, edgeless entries */
.block.band { position: relative; padding-bottom: var(--block-pad); isolation: isolate; }
.block.band + .block { padding-top: calc(var(--block-pad) * .75); }
.block.band::before {
  content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background: linear-gradient(to bottom, transparent, var(--band) 14%, var(--band) 86%, transparent);
}
.block.band::after {
  left: 45%; right: -10%; top: 6%; height: 70%;
  -webkit-mask-image: var(--contour), radial-gradient(60% 60% at 50% 50%, #000 10%, transparent 75%);
  -webkit-mask-size: 100% 100%, 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: source-in;
  mask-image: var(--contour), radial-gradient(60% 60% at 50% 50%, #000 10%, transparent 75%);
  mask-size: 100% 100%, 100% 100%;
  mask-repeat: no-repeat;
  mask-composite: intersect;
}
#pricing.band::after { left: -10%; right: 45%; transform: scaleX(-1); }
.stage-halo {
  position: absolute; inset: 12% 6% -6%; z-index: -1; border-radius: 50%;
  background: var(--aurora-line); filter: blur(90px); opacity: .16;
}
.shot-frame {
  position: relative; overflow: hidden; border-radius: var(--r-lg);
  box-shadow: 0 0 0 1px var(--line-2), var(--shadow-lg);
  background: #05070d;
}
.shot-frame img { width: 100%; height: auto; }
.shot-caption {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  margin-top: 18px; font-size: var(--type-xs); color: var(--text-3); text-align: center;
}
.dot-live { width: 7px; height: 7px; border-radius: 50%; background: var(--live); box-shadow: 0 0 0 4px color-mix(in srgb, var(--live) 18%, transparent); }
.source-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;
  margin-top: clamp(48px, 6vw, 80px);
}
.source-card { padding: 28px 24px 26px; }
.source-card:nth-child(1) .source-icon { --hue: var(--hue-1); }
.source-card:nth-child(2) .source-icon { --hue: var(--hue-2); }
.source-card:nth-child(3) .source-icon { --hue: var(--hue-3); }
.source-card:nth-child(4) .source-icon { --hue: var(--hue-4); }
.source-icon {
  display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 14px;
  --hue: var(--hue-2);
  background: color-mix(in srgb, var(--hue) 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hue) 34%, transparent);
  color: var(--hue);
}
.source-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.source-card h3 { margin-top: 22px; font-size: var(--type-h3); line-height: 1.4; letter-spacing: -.01em; }
.source-tag { margin-top: 2px; font-size: var(--type-xs); font-weight: 600; color: var(--text-3); }
.source-card p:last-child { margin-top: 12px; font-size: var(--type-sm); line-height: 1.75; color: var(--text-2); }

/* ---------- scenes ---------- */
.scene-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 104px); align-items: start; }
.scene-lead h2 { font-size: clamp(2rem, 3.6vw, 3.2rem); }
.scene-lead { position: sticky; top: calc(var(--nav-h) + 48px); }
.chip-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.chip-list li {
  padding: 8px 16px; border-radius: var(--r-pill); font-size: var(--type-sm); color: var(--text-1);
  background: var(--glass-top);
}
.spec-line { margin-top: 22px; font-size: var(--type-sm); color: var(--text-3); }
.spec-line .mono { margin-right: 10px; color: var(--text-2); }
.flow-line { position: relative; display: grid; gap: clamp(40px, 5vw, 64px); padding-left: 44px; padding-top: 8px; }
.flow-line::before {
  content: ""; position: absolute; left: 7px; top: 14px; bottom: 14px; width: 1px; border-radius: 1px;
  background: var(--line-2);
}
.flow-line::after {
  content: ""; position: absolute; left: 7px; top: 14px; bottom: 14px; width: 1px; border-radius: 1px;
  background: linear-gradient(to bottom, var(--hue-1), var(--hue-2), var(--hue-4));
  transform-origin: top; transform: scaleY(var(--flow-p, 1));
}
.flow-line li { position: relative; }
.flow-node {
  position: absolute; left: -44px; top: 8px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--bg); box-shadow: inset 0 0 0 1.5px var(--accent), 0 0 0 5px var(--bg), 0 0 18px color-mix(in srgb, var(--accent) 45%, transparent);
}
.flow-line h3 { font-family: var(--font-display); font-size: clamp(1.31rem, 1.9vw, 1.75rem); line-height: 1.2; letter-spacing: -.01em; }
.flow-line p { margin-top: 12px; font-size: 1rem; line-height: 1.8; color: var(--text-2); max-width: 30em; }

/* ---------- interactive example ---------- */
.demo-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.demo-tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-top: 32px; padding: 4px; border-radius: var(--r-pill); background: color-mix(in srgb, var(--text-1) 5%, transparent); box-shadow: inset 0 0 0 1px var(--line); }
.demo-tab {
  min-height: 40px; padding: 0 18px; border: 0; border-radius: var(--r-pill); cursor: pointer;
  background: transparent; color: var(--text-2); font-size: var(--type-sm); font-weight: 600;
  transition: background-color var(--dur-ui) var(--ease-out), color var(--dur-ui);
}
.demo-tab:hover { color: var(--text-1); }
.demo-tab[aria-pressed="true"] { color: var(--bg); background: var(--text-1); }
.demo-hint { margin-top: 18px; font-size: var(--type-xs); color: var(--text-3); }
.demo-stage { position: relative; min-width: 0; }
/* The example mirrors the real overlay (renderer/styles.css): the separate
   toolbar capsule, the 24px dark glass panel rgba(20,22,28,.72) with
   blur(40px) saturate(180%), Apple-system type, the #3C83F5 question bubble,
   20px answer text, the 14px action row, the composer and the chip row. It is
   always the dark overlay, whatever the site palette, because the app is. */
.demo-desk {
  position: absolute; inset: 0; z-index: -1; border-radius: 30px; overflow: hidden;
  background:
    radial-gradient(38% 46% at 22% 30%, rgba(96, 140, 190, .55), transparent 70%),
    radial-gradient(34% 42% at 78% 26%, rgba(150, 128, 210, .45), transparent 72%),
    radial-gradient(40% 48% at 58% 82%, rgba(214, 170, 120, .32), transparent 72%),
    linear-gradient(160deg, #2A3242, #1B2130 55%, #252B37);
  filter: saturate(1.05);
  box-shadow: 0 30px 80px -40px rgba(0, 0, 0, .7);
}
:root[data-theme="light"] .demo-desk {
  background:
    radial-gradient(38% 46% at 22% 30%, rgba(120, 170, 220, .8), transparent 70%),
    radial-gradient(34% 42% at 78% 26%, rgba(190, 170, 240, .75), transparent 72%),
    radial-gradient(40% 48% at 58% 82%, rgba(245, 200, 150, .6), transparent 72%),
    linear-gradient(160deg, #C9D3E3, #B7C2D6 55%, #CDD2DD);
  box-shadow: 0 30px 70px -40px rgba(40, 40, 60, .35);
}
.demo-float { position: relative; isolation: isolate; padding: clamp(16px, 3vw, 34px) clamp(12px, 3vw, 34px) clamp(16px, 3vw, 34px); display: flex; flex-direction: column; align-items: center; }
.ov-toolbar, .product-demo {
  --ov-accent: #3C83F5;
  --ov-tx-1: rgba(255, 255, 255, .95);
  --ov-tx-2: rgba(255, 255, 255, .90);
  --ov-mut: rgba(255, 255, 255, .40);
  --ov-ic: rgba(255, 255, 255, .85);
  --ov-hair: rgba(255, 255, 255, .12);
  font-family: -apple-system, "SF Pro Text", "SF Pro Display", BlinkMacSystemFont, "PingFang SC", system-ui, sans-serif;
  color: var(--ov-tx-1);
  -webkit-font-smoothing: antialiased;
}
.ov-toolbar {
  display: inline-flex; align-items: center; gap: 4px; padding: 5px 6px; border-radius: 999px;
  background: rgba(28, 30, 38, .85); border: 1px solid rgba(255, 255, 255, .10);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .08);
  -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%);
  font-size: 13px; font-weight: 500; letter-spacing: 0;
}
.ov-toolbar svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ov-toolbar svg.filled, .product-demo svg.filled { fill: currentColor; stroke: none; }
.drag-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 999px; background: rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .9); font-size: 12px; font-weight: 600; }
.drag-dots { width: 14px; height: 10px; background-image: radial-gradient(circle, rgba(255, 255, 255, .9) 1.2px, transparent 1.3px); background-size: 4px 4px; background-position: center; opacity: .85; }
.tb-logo { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, .06); }
.tb-logo img { width: 18px; height: 18px; border-radius: 5px; }
.tb-divider { width: 1px; height: 20px; margin: 0 2px; background: rgba(255, 255, 255, .10); }
.tb-hide { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px 5px 10px; border-radius: 999px; color: #fff; }
.tb-stop { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: #fff; }
.product-demo {
  position: relative; width: 100%; margin-top: 6px; padding: 20px 22px; border-radius: 24px;
  background: rgba(20, 22, 28, .72);
  -webkit-backdrop-filter: blur(40px) saturate(180%); backdrop-filter: blur(40px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .26), inset 0 1px 0 rgba(255, 255, 255, .10);
  font-size: 15px; line-height: 1.5; letter-spacing: 0;
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ov-status { display: flex; align-items: center; gap: 8px; margin: -6px 0 10px; font-size: 12px; color: rgba(255, 255, 255, .62); }
.live-dot { width: 10px; height: 10px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 3px rgba(34, 197, 94, .25), 0 0 8px rgba(34, 197, 94, .6); animation: live-pulse 2s infinite; }
@keyframes live-pulse { 50% { opacity: .55; } }
.ov-messages { display: flex; flex-direction: column; }
.live-caption {
  height: 24px; margin: 0 0 10px; padding: 3px 10px; border-radius: 8px;
  background: rgba(255, 255, 255, .05); border: 1px solid var(--ov-hair);
  font-size: 12.5px; line-height: 16px; color: var(--ov-tx-2); overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.user-bubble {
  align-self: flex-end; max-width: 75%; padding: 9px 14px; border-radius: 16px 16px 4px 16px;
  background: var(--ov-accent); color: #fff; font-size: 15px; font-weight: 500; line-height: 1.35;
  box-shadow: 0 2px 8px rgba(60, 131, 245, .35);
}
.ai-text { margin: 14px 0 2px; min-height: 6em; color: var(--ov-tx-1); font-size: clamp(17px, 1.5vw, 20px); font-weight: 400; line-height: 1.5; letter-spacing: -.01em; }
.ai-text p::after { content: ""; display: inline-block; width: 7px; height: 1.05em; margin-left: 2px; vertical-align: -2px; border-radius: 1px; background: var(--ov-accent); animation: caret 1s step-end infinite; }
@keyframes caret { 50% { opacity: 0; } }
.read-bar { margin-top: 10px; height: 4px; border-radius: 999px; background: rgba(255, 255, 255, .10); overflow: hidden; }
.read-bar span { display: block; height: 100%; border-radius: 999px; background: var(--ov-accent); transform-origin: left; transform: scaleX(0); }
.action-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; row-gap: 2px; margin-top: 6px; }
.act {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 7px; border: 1px solid transparent; border-radius: 8px;
  background: transparent; color: var(--ov-tx-2); font: inherit; font-size: 14px; font-weight: 500;
}
.act .ic { display: inline-flex; color: var(--ov-ic); }
.act svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
button.act { cursor: pointer; transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease; }
button.act:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.act-toggle[aria-pressed="true"] { color: #fff; background: rgba(91, 140, 255, .22); border-color: rgba(91, 140, 255, .55); }
.act[data-teleprompt-btn][aria-pressed="true"] { color: #7FB0F9; background: rgba(60, 131, 245, .14); }
.act[data-teleprompt-btn][aria-pressed="true"] .ic { color: #7FB0F9; }
.composer {
  margin-top: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px;
  background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .10); border-radius: 16px;
}
.composer .placeholder { display: flex; align-items: center; flex-wrap: wrap; gap: 3px; color: var(--ov-mut); font-size: 15px; line-height: 22px; }
.keycap {
  display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; margin: 0 1px;
  border-radius: 6px; background: rgba(255, 255, 255, .10); border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25), 0 1px 0 rgba(255, 255, 255, .06);
  color: rgba(255, 255, 255, .85); font-size: 12px; font-weight: 600; line-height: 1;
}
.composer-bottom { display: flex; align-items: center; gap: 8px; }
.smart-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px;
  border: 1px solid rgba(60, 131, 245, .5); background: rgba(60, 131, 245, .10); color: #7FB0F9; font-size: 13px; font-weight: 500;
}
.smart-pill svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.more-btn { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: rgba(255, 255, 255, .7); }
.more-btn svg { fill: none; stroke: currentColor; stroke-width: 2; }
.push { flex: 1; }
.send-btn { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ov-accent); color: #fff; box-shadow: 0 2px 8px rgba(60, 131, 245, .45); }
.prep-status { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--ov-hair); }
.prep-status .prep-item { font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 999px; border: 1px solid transparent; }
.prep-status .prep-item.loaded { color: rgba(34, 197, 94, .9); border-color: rgba(34, 197, 94, .25); background: rgba(34, 197, 94, .08); }
.prep-status .prep-item.speed { margin-left: auto; color: var(--ov-tx-2); border-color: rgba(255, 255, 255, .12); }
.demo-context-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 18px; }
.ctx-label { font-size: var(--type-xs); font-weight: 600; color: var(--text-2); margin-right: 4px; }
.demo-context-row .prep-item { font-size: .75rem; padding: 3px 10px; border-radius: var(--r-pill); color: var(--text-3); box-shadow: inset 0 0 0 1px var(--line-2); }
.demo-context-row .prep-item.on { color: var(--live); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--live) 45%, transparent); }
.demo-context { margin-top: 8px; font-size: var(--type-xs); color: var(--text-3); line-height: 1.6; }
.demo-provenance { margin-top: 10px; font-size: var(--type-xs); line-height: 1.6; color: var(--text-3); }
.is-swapping { animation: swap-in 420ms var(--ease-out); }
@keyframes swap-in { from { opacity: .2; transform: translateY(6px); filter: blur(4px); } }

.badge {
  display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--r-pill);
  font-size: .74rem; font-weight: 600; color: var(--text-1);
  background: var(--accent-soft); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);
}

/* ---------- steps ---------- */
.step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.step-card { padding: 32px 28px 30px; }
.step-no { display: block; font-family: var(--font-display); font-size: 3.5rem; font-weight: 600; letter-spacing: -.03em; line-height: 1; background: var(--aurora-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.step-card h3 { margin-top: 26px; font-size: var(--type-h3); line-height: 1.45; }
.step-card p { margin-top: 10px; font-size: var(--type-sm); color: var(--text-2); line-height: 1.75; }

/* ---------- privacy ---------- */
.privacy-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
  margin-top: clamp(40px, 5vw, 64px);
}
.privacy-card { padding: 30px 28px 28px; }
.privacy-card.is-lead {
  grid-column: span 2; min-height: 300px; overflow: hidden;
  display: flex; flex-direction: column; padding: clamp(32px, 4vw, 48px);
}
.privacy-card.is-lead::before {
  content: ""; position: absolute; inset: auto -10% -45% 30%; height: 90%; z-index: -1; pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--hue-1) 22%, transparent), transparent 70%),
              radial-gradient(closest-side at 70% 60%, color-mix(in srgb, var(--hue-3) 18%, transparent), transparent 70%);
  filter: blur(8px);
}
.privacy-icon {
  display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 14px;
  color: var(--live);
  background: color-mix(in srgb, var(--live) 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--live) 32%, transparent);
}
.privacy-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.privacy-card.is-lead .privacy-icon { margin-bottom: auto; }
.privacy-kicker { margin-top: 36px; font-size: var(--type-sm); font-weight: 600; color: var(--live); }
.privacy-card h3 { margin-top: 20px; font-size: var(--type-h3); line-height: 1.4; letter-spacing: -.01em; }
.privacy-card.is-lead h3 { margin-top: 8px; font-family: var(--font-display); font-size: clamp(1.6rem, 2.6vw, 2.25rem); line-height: 1.2; letter-spacing: -.015em; }
.privacy-card p:last-child { margin-top: 10px; font-size: var(--type-sm); line-height: 1.75; color: var(--text-2); }
.privacy-card.is-lead p:last-child { max-width: 34em; font-size: var(--type-body); }
.account-vault { margin-top: 16px; padding: clamp(28px, 4vw, 44px); overflow: hidden; }
.account-vault::before {
  content: ""; position: absolute; inset: -40% 55% auto -10%; height: 120%; z-index: -1; pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--live) 16%, transparent), transparent 70%);
  filter: blur(8px);
}
.vault-head { display: flex; align-items: flex-start; gap: 20px; }
.vault-head .privacy-kicker { margin-top: 0; }
.vault-head h3 { margin-top: 6px; font-family: var(--font-display); font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.2; letter-spacing: -.015em; }
.vault-head p:last-child { margin-top: 10px; max-width: 36em; color: var(--text-2); font-size: var(--type-body); line-height: 1.7; }
.vault-list {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 28px;
  margin-top: clamp(24px, 3vw, 36px); padding-top: clamp(22px, 3vw, 30px); border-top: 1px solid var(--line);
}
.vault-list li { position: relative; padding-left: 26px; }
.vault-list li::before {
  content: ""; position: absolute; left: 0; top: 4px; width: 15px; height: 15px; background: var(--live);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.vault-list strong { display: block; font-size: var(--type-body); font-weight: 600; color: var(--text-1); }
.vault-list span { display: block; margin-top: 4px; font-size: var(--type-sm); line-height: 1.7; color: var(--text-2); }
@media (max-width: 1100px) { .vault-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .vault-list { grid-template-columns: 1fr; } .vault-head { flex-direction: column; gap: 16px; } }
.privacy-more { margin-top: 28px; text-align: center; font-size: var(--type-body); }
.privacy-more a { color: var(--accent); text-decoration: none; }
.privacy-more a:hover { text-decoration: underline; }

/* ---------- pricing ---------- */
.price-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.duo-card { padding: 28px 30px; }
.duo-label { font-size: var(--type-xs); font-weight: 600; color: var(--text-3); }
.duo-title { margin-top: 6px; font-size: 1.35rem; font-weight: 600; letter-spacing: -.01em; }
.duo-card p:not(.duo-label):not(.duo-title) { margin-top: 10px; font-size: var(--type-sm); color: var(--text-2); line-height: 1.8; }
.duo-card .actions { margin-top: 20px; }
.plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.plan {
  position: relative; isolation: isolate; display: flex; flex-direction: column;
  padding: 28px 24px 26px; border-radius: var(--r-lg);
  background: linear-gradient(180deg, var(--glass-top), var(--glass-bottom));
  -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3);
}
.plan.is-pick {
  background: linear-gradient(180deg, color-mix(in srgb, var(--hue-3) 12%, var(--glass-top)), var(--glass-bottom));
  box-shadow: 0 30px 70px -40px color-mix(in srgb, var(--hue-3) 45%, transparent);
}
.plan.is-pick::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
  background: var(--aurora-line);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
.plan-kicker { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: var(--type-xs); color: var(--text-3); }
.plan-badge { padding: 2px 10px; border-radius: var(--r-pill); font-size: .74rem; font-weight: 700; color: var(--btn-ink); background: var(--aurora-line); }
.plan h3 { margin-top: 16px; font-size: 1.2rem; }
.plan-price { display: flex; align-items: baseline; gap: 6px; margin-top: 14px; }
.plan-price .amount { font-size: clamp(2.3rem, 3.2vw, 2.9rem); font-weight: 300; letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.plan.is-pick .plan-price .amount { font-weight: 400; background: var(--aurora-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.plan-price .per { color: var(--text-3); font-size: var(--type-sm); }
.plan-unit { margin-top: 10px; font-size: var(--type-sm); color: var(--text-1); }
.plan-desc { margin-top: 10px; font-size: .86rem; color: var(--text-2); line-height: 1.75; }
.plan-features { display: grid; gap: 9px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); font-size: .86rem; color: var(--text-2); }
.plan-features li { position: relative; padding-left: 22px; line-height: 1.55; }
.plan-features li::before {
  content: ""; position: absolute; left: 2px; top: .38em; width: 11px; height: 6px;
  border-left: 1.5px solid var(--text-2); border-bottom: 1.5px solid var(--text-2); transform: rotate(-45deg);
}
.plan-features li.excl { color: var(--text-3); }
.plan-features li.excl::before { width: 10px; height: 0; top: .72em; border-left: 0; border-bottom: 1.6px solid var(--text-3); transform: none; }
.plan-note { margin-top: 16px; font-size: var(--type-xs); color: var(--text-3); line-height: 1.6; }
.plan .actions { margin-top: auto; padding-top: 22px; }
.plan .actions .button { width: 100%; }
.plan-guide { margin-top: 28px; text-align: center; color: var(--text-2); font-size: var(--type-sm); }
.price-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 40px; margin: 48px 0 0; padding-top: 36px; border-top: 1px solid var(--line); }
.price-notes div { font-size: var(--type-sm); line-height: 1.8; color: var(--text-2); }
.price-notes dt { font-weight: 600; color: var(--text-1); margin-bottom: 4px; }
.price-notes dd { margin: 0; }

/* ---------- FAQ ---------- */
.faq-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px); align-items: start; }
.faq-col > h2 { font-size: var(--type-sm); font-weight: 600; color: var(--text-3); letter-spacing: .04em; margin-bottom: 12px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq details:first-child { border-top: 1px solid var(--line); }
.faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 64px; padding: 16px 4px; cursor: pointer; list-style: none;
  font-size: 1.04rem; font-weight: 600; line-height: 1.5;
  transition: color var(--dur-ui);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%;
  background:
    linear-gradient(currentColor, currentColor) center / 11px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) center / 1.5px 11px no-repeat;
  box-shadow: inset 0 0 0 1px var(--line-2);
  color: var(--text-2);
  transition: transform 360ms var(--ease-out), background-color var(--dur-ui);
}
.faq details[open] summary::after { transform: rotate(45deg); color: var(--text-1); }
.faq summary:hover { color: var(--blue); }
.faq .answer { padding: 0 44px 22px 4px; color: var(--text-2); line-height: 1.85; font-size: .96rem; }
.faq details::details-content {
  block-size: 0; overflow: hidden;
  transition: block-size 420ms var(--ease-out), content-visibility 420ms allow-discrete;
}
.faq details[open]::details-content { block-size: auto; }
:root { interpolate-size: allow-keywords; }

/* ---------- closing + footer ---------- */
.closing { position: relative; overflow: hidden; padding-top: var(--block-pad); isolation: isolate; }
.closing::before {
  left: -5%; right: -5%; top: 4%; height: 560px; opacity: calc(var(--contour-opacity) * 1.3);
  -webkit-mask-image: var(--contour), radial-gradient(60% 55% at 50% 50%, #000 15%, transparent 80%);
  -webkit-mask-size: 100% 100%, 100% 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: source-in;
  mask-image: var(--contour), radial-gradient(60% 55% at 50% 50%, #000 15%, transparent 80%);
  mask-size: 100% 100%, 100% 100%;
  mask-repeat: no-repeat;
  mask-composite: intersect;
}
.closing-glow {
  position: absolute; left: 50%; top: 0; width: min(1100px, 120vw); height: 620px; translate: -50% 0; z-index: -1;
  background:
    radial-gradient(40% 55% at 30% 45%, var(--glow-cyan), transparent 70%),
    radial-gradient(40% 55% at 70% 40%, var(--glow-violet), transparent 70%),
    radial-gradient(45% 60% at 50% 55%, var(--glow-blue), transparent 72%);
  filter: blur(30px); opacity: .7;
}
.closing-inner { text-align: center; display: flex; flex-direction: column; align-items: center; }
.closing-mark { width: 64px; height: 64px; filter: none; }
.closing h2 { margin-top: 24px; font-family: var(--font-display); font-size: clamp(2.5rem, 5.6vw, 4.5rem); line-height: 1.08; letter-spacing: -.015em; font-weight: 600; text-wrap: balance; }
.closing-inner > p { margin-top: 22px; max-width: 38em; color: var(--text-2); font-size: var(--type-lead); line-height: 1.8; }
.footer { margin-top: var(--block-pad); padding: 56px 0 28px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 70%, transparent); }
.footer-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; }
.footer-brand strong { display: inline-flex; align-items: center; gap: 10px; font-size: 1.05rem; }
.footer-brand p { margin-top: 14px; max-width: 26em; font-size: var(--type-sm); line-height: 1.8; color: var(--text-3); }
.footer-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.footer-nav h2 { font-size: var(--type-xs); font-weight: 600; letter-spacing: .06em; color: var(--text-3); }
.footer-nav ul { display: grid; gap: 4px; margin-top: 14px; }
.footer-nav a { display: inline-flex; min-height: 36px; align-items: center; font-size: var(--type-sm); color: var(--text-2); transition: color var(--dur-ui); }
.footer-nav a:hover { color: var(--text-1); }
.footer-base { display: flex; justify-content: space-between; gap: 16px; margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--line); font-size: var(--type-xs); color: var(--text-3); }

/* ---------- download dialog ---------- */
.download-dialog {
  width: min(560px, calc(100% - 32px)); padding: 0; border: 0; border-radius: var(--r-lg);
  color: var(--text-1); background: var(--glass-solid);
  -webkit-backdrop-filter: blur(24px) saturate(1.4); backdrop-filter: blur(24px) saturate(1.4);
  box-shadow: inset 0 0 0 1px var(--line-2), var(--shadow-lg);
}
.download-dialog::backdrop { background: color-mix(in srgb, var(--bg) 55%, transparent); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.download-dialog[open] { animation: dialog-in 420ms var(--ease-out); }
@keyframes dialog-in { from { opacity: 0; transform: translateY(14px) scale(.98); } }
.dialog-inner { padding: 28px; }
.dialog-head { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: start; }
.dialog-head h2 { font-size: 1.35rem; }
.dialog-head p { margin-top: 6px; color: var(--text-2); font-size: var(--type-sm); line-height: 1.7; }
.dialog-close { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; cursor: pointer; background: color-mix(in srgb, var(--text-1) 7%, transparent); color: var(--text-2); }
.dialog-close svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.dialog-close:hover { color: var(--text-1); }
.dialog-list { display: grid; gap: 0; margin-top: 22px; }
.dialog-list li { display: grid; grid-template-columns: 6.2em 1fr; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); font-size: var(--type-sm); line-height: 1.7; color: var(--text-2); }
.dialog-list .k { color: var(--text-1); font-weight: 600; }
.dialog-route { margin-top: 12px; font-size: var(--type-xs); color: var(--text-3); }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }

/* ---------- scroll reveal (armed by landing.js only) ---------- */
html.reveal-armed [data-reveal]:not(.is-in) { opacity: 0; transform: translateY(28px); filter: blur(10px); }
html.reveal-armed [data-reveal] {
  transition: opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out), filter var(--dur-reveal) var(--ease-out);
  transition-delay: calc(var(--i, 0) * 90ms);
}
html.reveal-armed .card[data-reveal].is-in { transition-delay: 0ms; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .source-grid, .plan-grid, .privacy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .nav-links {
    position: fixed; top: calc(var(--nav-h) + 8px); right: 12px; left: 12px; z-index: 50;
    flex-direction: column; align-items: stretch; gap: 2px; margin: 0; padding: 10px;
    border-radius: var(--r-md); background: var(--glass-solid);
    -webkit-backdrop-filter: blur(24px) saturate(1.4); backdrop-filter: blur(24px) saturate(1.4);
    box-shadow: inset 0 0 0 1px var(--line-2), var(--shadow-lg);
    opacity: 0; transform: translateY(-8px) scale(.98); visibility: hidden;
    transition: opacity var(--dur-ui) var(--ease-out), transform var(--dur-ui) var(--ease-out), visibility 0s linear var(--dur-ui);
  }
  .nav-links[data-open="true"] { opacity: 1; transform: none; visibility: visible; transition-delay: 0s; }
  .nav-links a { min-height: 48px; display: flex; align-items: center; padding: 0 16px; font-size: 1rem; border-radius: 12px; }
  .nav-links .nav-cta { margin: 6px 0 0; justify-content: center; }
  .nav-tools { margin-left: auto; }
  .menu-button { display: inline-flex; }
  .menu-backdrop[data-open="true"] { display: block; position: fixed; inset: 0; z-index: 39; background: color-mix(in srgb, var(--bg) 40%, transparent); }
  .scene-layout, .demo-layout { grid-template-columns: minmax(0, 1fr); }
  .scene-lead { position: static; }
  .faq-columns { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  :root { --nav-h: 58px; }
  .theme-switch-label, .cover-hint { display: none; }
  .step-grid, .price-duo, .price-notes { grid-template-columns: 1fr; }
  .cover-bar { flex-wrap: wrap; }
  .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dialog-list li { grid-template-columns: 1fr; gap: 2px; }
  .dialog-actions { flex-direction: column-reverse; }
  .dialog-actions .button { width: 100%; }
}
@media (max-width: 560px) {
  .source-grid, .plan-grid, .privacy-grid { grid-template-columns: 1fr; }
  .privacy-card.is-lead { grid-column: auto; min-height: 0; }
  .cover-actions { flex-direction: column; align-items: stretch; width: 100%; max-width: 340px; }
  .menu-text { display: none; }
  .footer-base { flex-direction: column; }
}

/* ---------- reduced motion: final state, no travel ---------- */
/* platform hygiene */
button, a { -webkit-tap-highlight-color: transparent; }
.nav-links { overscroll-behavior: contain; }
@media (prefers-reduced-transparency: reduce) {
  .site-nav, .site-nav.is-scrolled, .nav-links, .card, .plan, .product-demo, .download-dialog, .button-ghost, .cover-motion {
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  }
  .site-nav, .site-nav.is-scrolled, .nav-links, .download-dialog { background: var(--bg-2) !important; }
  .product-demo, .ov-toolbar { background: rgb(26, 28, 34) !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; transition-delay: 0ms !important; }
  html { scroll-behavior: auto; }
  .sky-glow, .plan.is-pick::before, .live-dot, .ai-text p::after { animation: none !important; }
  html.hero-arm .cover-mark, html.hero-arm .cover-wordmark span, html.hero-arm .cover-tagline .line,
  html.hero-arm .cover-support, html.hero-arm .cover-actions, html.hero-arm .cover-trust,
  html.reveal-armed [data-reveal]:not(.is-in) { opacity: 1; transform: none; filter: none; }
}
@media print {
  .cover-veil, .site-aurora, .sky, .site-nav, .cover-bar { display: none; }
  html.reveal-armed [data-reveal]:not(.is-in), html.hero-arm .cover-lockup * { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* Film (homepage, right after the cover). The frame stays dark in both themes:
   it is a screen. Behind it, .film-ambient is that screen's light on the page. */
.film { position: relative; isolation: isolate; max-width: 1080px; margin-inline: auto; }
.film::before {
  content: ""; position: absolute; inset: 4% 6% 30%; z-index: -2; border-radius: 50%;
  background: radial-gradient(closest-side, var(--glow-blue), var(--glow-violet) 55%, transparent);
  filter: blur(40px); pointer-events: none;
}
.film-ambient {
  position: absolute; z-index: -1; left: -7%; top: -9%; width: 114%; aspect-ratio: 16 / 9;
  filter: blur(56px) saturate(1.5); opacity: 0; pointer-events: none;
  transition: opacity 1.2s var(--ease-soft);
}
.film-ambient.is-lit { opacity: .5; }
.film[data-film-state="playing"] .film-ambient.is-lit { opacity: .72; }
:root[data-theme="light"] .film-ambient.is-lit { opacity: .32; }
:root[data-theme="light"] .film[data-film-state="playing"] .film-ambient.is-lit { opacity: .42; }
.film-frame {
  position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-media);
  background: #05070D; box-shadow: var(--shadow-lg), 0 0 0 1px var(--line-2);
}
.film-video { display: block; width: 100%; height: 100%; object-fit: cover; background: #05070D; }
.film-play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 8px 22px 8px 8px;
  border: 0; border-radius: var(--r-pill); cursor: pointer; color: #F5F5F7; font-size: var(--type-sm); font-weight: 600; white-space: nowrap;
  background: rgba(10, 14, 26, .56); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18), 0 14px 36px -14px rgba(0, 0, 0, .7);
  transition: transform var(--dur-press) var(--ease-out), background-color var(--dur-ui) var(--ease-out);
}
.film-play[hidden], .film-end[hidden], .film-chapters[hidden] { display: none; }
.film-play-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #0A0E1A; background: #F5F5F7; }
.film-play-icon svg { margin-left: 2px; }
.film-play-len { color: rgba(245, 245, 247, .66); font-weight: 500; font-variant-numeric: tabular-nums; }
.film-play:active { transform: translate(-50%, -50%) scale(.97); }
.film-play:focus-visible, .film-chapter:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .film-play:hover { background: rgba(10, 14, 26, .74); } }
.film-end {
  position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 22px; padding: 24px;
  text-align: center; color: #F5F5F7;
  background: radial-gradient(70% 70% at 50% 50%, rgba(10, 14, 26, .72), rgba(5, 7, 13, .9));
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  animation: film-end-in .6s var(--ease-out) both;
}
.film-end-line { margin: 0; font-size: clamp(1.25rem, 2.4vw, 1.75rem); font-weight: 600; letter-spacing: -.01em; }
.film-end-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.film-end .button-ghost { color: #F5F5F7; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); }
@keyframes film-end-in { from { opacity: 0; } to { opacity: 1; } }
.film-chapters {
  list-style: none; margin: 30px 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 clamp(14px, 2.4vw, 28px);
}
.film-chapter {
  display: grid; gap: 4px; width: 100%; padding: 0 0 6px; border: 0; background: none; cursor: pointer;
  text-align: left; color: var(--text-2); font: inherit; border-radius: 6px;
}
.film-chapter-bar { position: relative; height: 2px; margin-bottom: 12px; overflow: hidden; border-radius: 2px; background: var(--line-2); }
.film-chapter-fill {
  position: absolute; inset: 0; background: var(--text-1); transform-origin: left center;
  transform: scaleX(var(--p, 0)); transition: transform .25s linear;
}
.film-chapter-time { font-size: var(--type-xs); color: var(--text-3); font-variant-numeric: tabular-nums; }
.film-chapter-title { font-size: var(--type-sm); font-weight: 650; color: var(--text-1); transition: color var(--dur-ui); }
.film-chapter-desc { font-size: var(--type-xs); line-height: 1.5; color: var(--text-2); text-wrap: pretty; }
.film[data-film-state] .film-chapter:not([aria-current]) .film-chapter-title { color: var(--text-2); }
.film-chapter[aria-current] .film-chapter-time { color: var(--accent); }
@media (hover: hover) and (pointer: fine) { .film-chapter:hover .film-chapter-title { color: var(--text-1); } }
.film-note { max-width: 52em; margin: 22px auto 0; text-align: center; font-size: var(--type-xs); line-height: 1.6; color: var(--text-3); }
@media (max-width: 760px) {
  .film-chapters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
}
@media (max-width: 560px) {
  .film-frame { border-radius: var(--radius-surface); }
  .film-play { min-height: 48px; gap: 10px; padding: 6px 16px 6px 6px; }
  .film-play-icon { width: 36px; height: 36px; }
  .film-end { gap: 14px; }
  .film-end .button { min-height: 40px; padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .film-ambient, .film-chapter-fill { transition: none; }
  .film-end { animation: none; }
}

/* Real-time transcription: transcript card (meeting-notes "转写" view) + three figures. */
.tx-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.tx-visual {
  margin: 0; padding: clamp(22px, 4vw, 44px); border-radius: var(--radius-media);
  background: radial-gradient(120% 90% at 20% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), color-mix(in srgb, var(--text-1) 5%, transparent);
  box-shadow: inset 0 0 0 1px var(--line);
}
.tx-card {
  padding: 26px 26px 30px; border-radius: 18px; background: #FBFBFD; color: #1D1D1F;
  box-shadow: 0 30px 70px -40px rgba(0, 0, 0, .65), 0 0 0 1px rgba(0, 0, 0, .04);
  -webkit-mask-image: linear-gradient(180deg, #000 78%, transparent); mask-image: linear-gradient(180deg, #000 78%, transparent);
}
.tx-meta { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 12px; color: #86868B; }
.tx-people { display: inline-flex; }
.tx-people i { width: 16px; height: 16px; margin-left: -5px; border-radius: 50%; border: 2px solid #FBFBFD; background: linear-gradient(135deg, #C9D6FF, #E2E2E2); }
.tx-people i:nth-child(2) { background: linear-gradient(135deg, #FBD3E9, #BB377D33); }
.tx-people i:nth-child(3) { background: linear-gradient(135deg, #D4FC79, #96E6A1); }
.tx-title { margin: 10px 0 0; font-size: clamp(1.1rem, 1.8vw, 1.35rem); font-weight: 650; line-height: 1.3; letter-spacing: -.01em; }
.tx-tabs { display: inline-flex; gap: 2px; margin-top: 16px; padding: 3px; border-radius: 8px; background: #EEEEF1; font-size: 12px; color: #6E6E73; }
.tx-tabs span { padding: 3px 10px; border-radius: 6px; }
.tx-tabs .is-on { background: #fff; color: #1D1D1F; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.tx-lines { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; font-size: 14px; }
.tx-lines li { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; row-gap: 2px; }
.tx-lines b { font-weight: 600; color: #1D1D1F; }
.tx-lines b.tx-me { color: #0071E3; }
.tx-lines time { font-size: 11px; color: #A1A1A6; align-self: center; }
.tx-lines span { grid-column: 1 / -1; color: #3A3A3C; line-height: 1.5; }
.tx-copy h2 { font-size: var(--type-h2); line-height: 1.12; letter-spacing: -.02em; }
.tx-stats { margin: clamp(26px, 4vw, 40px) 0 0; display: grid; }
.tx-stats > div { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: 20px; align-items: start; padding: 24px 0; border-top: 1px solid var(--line); }
.tx-stats > div:first-child { border-top: 0; padding-top: 4px; }
.tx-stats dt { margin: 0; line-height: 1; font-variant-numeric: tabular-nums; }
.tx-num { font-size: clamp(2.6rem, 5vw, 3.6rem); font-weight: 500; letter-spacing: -.03em; color: var(--text-1); }
.tx-unit { margin-left: 2px; font-size: clamp(1.1rem, 2vw, 1.5rem); color: var(--text-2); }
.tx-stats dd { margin: 0; display: grid; gap: 6px; }
.tx-stats dd strong { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 600; color: var(--text-1); }
.tx-stats dd span { font-size: var(--type-sm); line-height: 1.6; color: var(--text-2); }
@media (max-width: 900px) { .tx-layout { grid-template-columns: 1fr; } .tx-copy { order: -1; } }
@media (max-width: 480px) { .tx-stats > div { grid-template-columns: 1fr; gap: 10px; } }

/* Screen share: sliding divider. The stage is one range input stretched over
   the picture; --split (set by JS, 55% without it) clips "your" layer. */
.share { --split: 60%; position: relative; max-width: 1080px; margin-inline: auto; }
.share-stage {
  position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--radius-media);
  background: radial-gradient(90% 80% at 15% 10%, #5B4BB5, transparent 60%), radial-gradient(80% 90% at 90% 90%, #B5487A, transparent 60%), linear-gradient(135deg, #22264A, #3B2457);
  box-shadow: var(--shadow-lg), 0 0 0 1px var(--line-2); touch-action: pan-y; container-type: inline-size;
}
.share-screen { position: absolute; inset: 0; }
/* overflow (not clip-path) does the cut: clip-path would make this layer a
   backdrop root and the panel's frosted glass could no longer blur the slide. */
.share-mine { position: absolute; top: 0; bottom: 0; left: 0; width: var(--split); overflow: hidden; }
.share-mine-inner { position: absolute; top: 0; bottom: 0; left: 0; width: 100cqw; }
.share-live {
  position: absolute; top: 3.2%; left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 12px; border-radius: 999px; background: rgba(20, 160, 90, .92); color: #fff; font-size: clamp(10px, 1.1vw, 12px); font-weight: 600; white-space: nowrap;
}
.share-live i { width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.share-slide {
  position: absolute; left: 8%; right: 8%; top: 13%; bottom: 7%; padding: 4.5% 5%; border-radius: 12px;
  background: #FFFFFF; color: #1D1D1F; box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .6); overflow: hidden;
}
.share-slide-kicker { margin: 0; font-size: clamp(9px, 1.1vw, 12px); color: #86868B; }
.share-slide-title { margin: .4em 0 0; font-size: clamp(14px, 2.4vw, 28px); font-weight: 700; letter-spacing: -.02em; }
.share-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3%; margin-top: 4%; }
.share-kpis div { display: grid; gap: 2px; padding: 6% 8%; border-radius: 8px; background: #F5F5F7; }
.share-kpis span { font-size: clamp(8px, 1vw, 12px); color: #6E6E73; }
.share-kpis b { font-size: clamp(14px, 2.2vw, 26px); font-weight: 700; font-variant-numeric: tabular-nums; }
.share-kpis em { font-style: normal; font-size: clamp(8px, .95vw, 11px); color: #1A9E55; }
.share-chart { display: block; width: 100%; height: 28%; margin-top: 4%; }
.share-chart path { fill: none; stroke-width: 3; vector-effect: non-scaling-stroke; }
.share-chart-base { stroke: #D2D2D7; stroke-dasharray: 6 6; }
.share-chart-line { stroke: #0071E3; }
.share-overlay { position: absolute; left: 15%; top: 17%; width: 56%; display: grid; justify-items: center; gap: 8px; }
.share-toolbar {
  display: inline-flex; align-items: center; gap: 10px; padding: 5px 12px; border-radius: 999px;
  background: rgba(20, 22, 28, .78); color: #fff; font-size: clamp(9px, 1vw, 12px); font-weight: 600;
  -webkit-backdrop-filter: blur(20px) saturate(150%); backdrop-filter: blur(20px) saturate(150%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}
.share-toolbar img { border-radius: 4px; }
.share-drag { padding: 2px 8px; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.share-panel {
  width: 100%; padding: 5% 6%; border-radius: clamp(12px, 2vw, 22px); color: #fff;
  background: rgba(20, 22, 28, .8); -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 30px 60px -30px rgba(0, 0, 0, .7);
}
.share-q { justify-self: end; margin: 0 0 0 auto; width: fit-content; max-width: 85%; padding: .45em .9em; border-radius: 14px 14px 4px 14px; background: #0A84FF; font-size: clamp(9px, 1.15vw, 14px); }
.share-tag { margin: 4% 0 0; display: inline-block; padding: 1px 8px; border-radius: 6px; background: rgba(10, 132, 255, .2); color: #64B5FF; font-size: clamp(8px, .9vw, 11px); font-weight: 600; }
.share-a { margin: 3% 0 0; font-size: clamp(10px, 1.45vw, 17px); line-height: 1.55; color: rgba(255, 255, 255, .94); }
.share-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 4% 0 0; }
.share-chips span { padding: 2px 9px; border-radius: 999px; background: rgba(255, 255, 255, .07); color: rgba(255, 255, 255, .7); font-size: clamp(8px, .9vw, 11px); }
.share-chips .is-on { background: rgba(10, 132, 255, .22); color: #9CD0FF; }
.share-label {
  position: absolute; top: 3.2%; padding: 5px 12px; border-radius: 8px; background: rgba(20, 22, 28, .72); color: #fff;
  font-size: clamp(10px, 1.1vw, 13px); font-weight: 600; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); pointer-events: none;
}
.share-label-mine { left: 2.6%; }
.share-label-theirs { right: 2.6%; }
.share-mine-inner::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 2px #30D158; border-radius: var(--radius-media); pointer-events: none; }
.share-divider { position: absolute; top: 0; bottom: 0; left: var(--split); width: 2px; margin-left: -1px; background: rgba(255, 255, 255, .92); box-shadow: 0 0 18px rgba(0, 0, 0, .35); pointer-events: none; }
.share-handle {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center;
  width: 40px; height: 40px; border-radius: 50%; background: #1D1D1F; color: #fff; box-shadow: 0 0 0 2px #fff, 0 8px 22px rgba(0, 0, 0, .45);
}
.share-handle svg { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.share-range {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize;
  -webkit-appearance: none; appearance: none; background: transparent;
}
.share-range::-webkit-slider-thumb { -webkit-appearance: none; width: 48px; height: 100vh; cursor: ew-resize; }
.share-range::-moz-range-thumb { width: 48px; height: 100vh; border: 0; cursor: ew-resize; }
.share:has(.share-range:focus-visible) .share-handle { box-shadow: 0 0 0 2px #fff, 0 0 0 5px var(--accent), 0 8px 22px rgba(0, 0, 0, .45); }
.share-note { margin: 14px 0 0; text-align: center; font-size: var(--type-xs); color: var(--text-3); }
.share-facts { list-style: none; margin: clamp(30px, 5vw, 48px) auto 0; padding: 0; max-width: 1080px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 3vw, 36px); }
.share-facts li { font-size: var(--type-body); line-height: 1.6; color: var(--text-2); }
.share-facts strong { color: var(--text-1); font-weight: 600; }
@media (max-width: 760px) { .share-facts { grid-template-columns: 1fr; } .share-handle { width: 34px; height: 34px; } }
@media (max-width: 560px) {
  .share-stage { aspect-ratio: 4 / 5; border-radius: var(--radius-surface); }
  .share-mine-inner::after { border-radius: var(--radius-surface); }
  .share-live { top: auto; bottom: 3%; }
  .share-slide { left: 6%; right: 6%; top: 12%; bottom: 10%; }
  .share-overlay { left: 6%; width: 80%; top: 22%; }
  .share-a { font-size: 12px; }
  .share-q { font-size: 11px; }
}

/* ICP filing line (mainland deployment only; injected by the gateway). */
.footer-icp { width: 100%; padding: 14px 16px 18px; text-align: center; font-size: 12px; }
.footer-icp a { color: inherit; text-decoration: none; opacity: 0.7; }
.footer-icp a:hover { text-decoration: underline; }
