    *{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{
        font-family:'Segoe UI','PingFang SC','Lucida Grande','Microsoft YaHei',system-ui,sans-serif;
        color:#0f172a;line-height:1.6;overflow-x:hidden;
        background:linear-gradient(160deg,#eaf2ff 0%,#f7fbff 45%,#edf7f4 100%);
        background-attachment:fixed;
    }
    #bgCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;}
    .app{
        position:relative;z-index:1;max-width:1180px;margin:0 auto;min-height:100vh;
        background:rgba(255,255,255,.88);
        backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
        box-shadow:0 12px 48px rgba(15,42,80,.10);
    }
    .header{
        position:relative;overflow:hidden;color:#fff;padding:1.5rem 1.6rem 1.15rem;
        background:linear-gradient(120deg,#082032,#134e6f,#0a7ea4,#082032);
        background-size:300% 300%;animation:flow 18s ease infinite;
    }
    @keyframes flow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
    .header::before{
        content:'';position:absolute;width:240px;height:240px;right:-70px;top:-100px;border-radius:50%;
        background:radial-gradient(circle,rgba(56,189,248,.5),transparent 70%);
        animation:orbFloat 9s ease-in-out infinite;
    }
    .header::after{
        content:'';position:absolute;width:170px;height:170px;left:-60px;bottom:-90px;border-radius:50%;
        background:radial-gradient(circle,rgba(245,158,11,.4),transparent 70%);
        animation:orbFloat 12s ease-in-out infinite reverse;
    }
    @keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(22px,-16px) scale(1.15)}}
    .header h1{font-size:1.6rem;font-weight:700;letter-spacing:.5px;position:relative;z-index:2;
        text-shadow:0 2px 14px rgba(56,189,248,.45);}
    .header p{font-size:.85rem;opacity:.82;margin-top:.25rem;position:relative;z-index:2;}
    .nav-links{display:flex;gap:.7rem;margin-top:.9rem;flex-wrap:wrap;position:relative;z-index:2;}
    .nav-btn{
        background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#fff;
        padding:.42rem 1.15rem;border-radius:40px;font-size:.88rem;font-weight:500;cursor:pointer;
        transition:all .25s ease;font-family:inherit;
    }
    .nav-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-2px);}
    .nav-btn.active{
        background:linear-gradient(120deg,#ffb347,#ff8c42);color:#1b2b3a;font-weight:700;
        border-color:transparent;box-shadow:0 6px 18px -6px rgba(255,140,66,.8);
    }
    .nav-btn a{color:inherit;text-decoration:none;}

    .main-content{padding:1.8rem 1.6rem;min-height:60vh;}

    /* ---------- 首页 ---------- */
    .hero{text-align:center;}
    .hero h2{
        font-size:1.9rem;margin-bottom:.6rem;
        background:linear-gradient(120deg,#0b2545,#0a7ea4,#6366f1);
        -webkit-background-clip:text;background-clip:text;color:transparent;
        animation:fadeUp .7s cubic-bezier(.2,.8,.3,1) both;
    }
    .hero>p{font-size:1rem;color:#334155;max-width:720px;margin:0 auto 1rem;
        animation:fadeUp .7s .08s cubic-bezier(.2,.8,.3,1) both;}
    .quick-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin:1.2rem 0 .4rem;}
    .stat-card{
        background:linear-gradient(135deg,#eef2ff,#e0f2fe);border-radius:2rem;padding:.45rem 1.15rem;
        font-weight:600;color:#1e40af;font-size:.88rem;border:1px solid #dbeafe;
        animation:fadeUp .6s cubic-bezier(.2,.8,.3,1) both;transition:transform .3s;
    }
    .stat-card:nth-child(1){animation-delay:.12s}
    .stat-card:nth-child(2){animation-delay:.2s}
    .stat-card:nth-child(3){animation-delay:.28s}
    .stat-card:hover{transform:translateY(-4px) scale(1.05);}

    .hero-canvas-wrap{
        margin:1.2rem auto .4rem;max-width:820px;border-radius:20px;overflow:hidden;
        box-shadow:0 18px 44px -22px rgba(8,32,50,.6);
        animation:fadeUp .8s .2s cubic-bezier(.2,.8,.3,1) both;position:relative;
    }
    .hero-canvas{display:block;width:100%;height:190px;background:#07131f;}
    .hero-canvas-wrap::after{
        position:absolute;left:14px;bottom:10px;font-size:.68rem;color:rgba(148,197,255,.6);
        letter-spacing:1px;pointer-events:none;
    }

    .feature-grid{
        display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));
        gap:14px;margin-top:1.4rem;perspective:1000px;
    }
    .chapter-card{
        position:relative;overflow:hidden;cursor:pointer;
        background:linear-gradient(150deg,#ffffff,#f3f8ff);
        border:1px solid #e3ecf7;border-radius:16px;padding:1rem 1.05rem;
        transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s,border-color .3s;
        animation:cardIn .55s cubic-bezier(.2,.8,.3,1) both;
        transform-style:preserve-3d;will-change:transform;
    }
    .chapter-card::before{
        content:'';position:absolute;inset:0;opacity:0;transition:opacity .3s;pointer-events:none;
        background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(56,189,248,.22),transparent 65%);
    }
    .chapter-card:hover::before{opacity:1;}
    .chapter-card:hover{border-color:#8dd4f5;box-shadow:0 18px 34px -18px rgba(14,165,233,.75);}
    .chapter-card .idx{
        display:inline-flex;align-items:center;justify-content:center;
        width:30px;height:30px;border-radius:9px;font-size:.8rem;font-weight:700;color:#fff;
        margin-bottom:.55rem;box-shadow:0 6px 14px -6px currentColor;
    }
    .chapter-card h3{font-size:1.02rem;margin-bottom:.25rem;color:#0c3454;font-weight:700;}
    .chapter-card p{font-size:.78rem;color:#5b7189;}
    .chapter-card .arrow{
        position:absolute;right:14px;top:14px;font-size:.9rem;color:#93b7d4;
        transition:transform .3s,color .3s;
    }
    .chapter-card:hover .arrow{transform:translateX(4px);color:#0a7ea4;}

    /* ---------- 目录 ---------- */
    .catalog-title-bar{margin-bottom:1rem;animation:fadeUp .5s both;}
    .catalog-title-bar h2{
        font-size:1.45rem;color:#0b2545;display:inline-block;position:relative;
    }
    .catalog-title-bar h2::after{
        content:'';position:absolute;left:0;bottom:-6px;height:4px;width:100%;border-radius:4px;
        background:linear-gradient(90deg,#0a7ea4,#ffb347);
    }
    .catalog-list{margin-top:1rem;display:flex;flex-direction:column;gap:.7rem;}
    .catalog-item{
        background:#fff;border:1px solid #e2eaf3;border-radius:14px;padding:.7rem .95rem;
        cursor:pointer;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;
        transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s,border-color .25s,background .25s;
        animation:slideIn .45s cubic-bezier(.2,.8,.3,1) both;
        position:relative;overflow:hidden;
    }
    .catalog-item::after{
        content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
        background:linear-gradient(180deg,#0a7ea4,#ffb347);transform:scaleY(0);transition:transform .3s;
        transform-origin:center;
    }
    .catalog-item:hover::after{transform:scaleY(1);}
    .catalog-item:hover{background:#f6fbff;border-color:#9fd6f0;
        transform:translateX(6px);box-shadow:0 10px 24px -16px rgba(10,126,164,.9);}
    .catalog-num{
        background:linear-gradient(135deg,#134e6f,#0a7ea4);color:#fff;width:32px;height:32px;
        display:inline-flex;align-items:center;justify-content:center;border-radius:10px;
        font-weight:700;font-size:.85rem;flex-shrink:0;
        box-shadow:0 6px 14px -8px #0a7ea4;
    }
    .catalog-title{font-weight:600;font-size:.98rem;flex:1;color:#12304a;}
    .catalog-go{font-size:.78rem;color:#f59e0b;font-weight:600;}

    /* ---------- 章节内容 ---------- */
    .chapter-container{animation:fadeIn .35s;}
    .chapter-header{
        border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#ffb347,#0a7ea4) 1;
        margin-bottom:1.2rem;padding-bottom:.6rem;
        display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.6rem;
    }
    .chapter-header h2{
        font-size:1.55rem;color:#0b2545;
        display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
    }
    .chapter-header h2 .chip{
        font-size:.7rem;font-weight:600;color:#0a7ea4;background:#e0f2fe;
        border-radius:20px;padding:.15rem .6rem;border:1px solid #bae6fd;
    }
    .back-buttons{display:flex;gap:.55rem;}
    .btn-outline{
        background:transparent;border:1px solid #cbd5e1;padding:.32rem .95rem;border-radius:2rem;
        font-size:.8rem;cursor:pointer;transition:all .25s;font-family:inherit;color:#334155;
    }
    .btn-outline:hover{background:#eef7ff;border-color:#0a7ea4;color:#0a7ea4;transform:translateY(-2px);}
    .chapter-content{font-size:.98rem;}
    .chapter-content h3{
        margin:1.3rem 0 .55rem;color:#0e3a5c;font-size:1.08rem;
        padding-left:.7rem;border-left:4px solid #0a7ea4;line-height:1.3;
    }
    .chapter-content ul,.chapter-content ol{padding-left:1.4rem;margin:.5rem 0;}
    .chapter-content li{
        margin-bottom:.4rem;opacity:0;animation:liIn .45s cubic-bezier(.2,.8,.3,1) both;
    }
    .chapter-content li::marker{color:#0a7ea4;}
    .chapter-content strong{color:#b45309;}
    .formula{background:#f1f5f9;padding:.15rem .45rem;border-radius:6px;
        font-family:'Consolas',monospace;color:#0f766e;font-weight:600;}

    /* ---------- 表格 ---------- */
    .table-responsive{
        width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0 .6rem;
        border-radius:14px;border:1px solid #e2e8f0;background:#fff;
    }
    .unit-table{width:100%;border-collapse:collapse;background:#fff;font-size:.85rem;min-width:560px;}
    .unit-table th,.unit-table td{border:1px solid #dbe6f2;padding:10px 9px;vertical-align:top;text-align:left;}
    .unit-table th{
        background:linear-gradient(180deg,#eef6ff,#e0efff);font-weight:700;
        white-space:nowrap;color:#0e3a5c;position:sticky;top:0;
    }
    .unit-table tr{transition:background .2s;}
    .unit-table tbody tr:hover{background:#f2f9ff;}
    .unit-table td{white-space:normal;word-break:break-word;}
    .scroll-hint{text-align:right;font-size:.7rem;color:#5b6e8c;margin:.25rem 0 .2rem;
        display:flex;justify-content:flex-end;gap:.5rem;align-items:center;}
    .scroll-hint span{background:#f1f5f9;padding:.2rem .5rem;border-radius:20px;}

    /* ---------- 互动实验组件 ---------- */
    .widget{
        margin:1.1rem 0 1.4rem;border-radius:18px;padding:1rem;
        background:linear-gradient(150deg,#0d1b2a,#102a3f 60%,#0b2033);
        box-shadow:0 20px 40px -24px rgba(8,32,50,.9),inset 0 1px 0 rgba(255,255,255,.06);
        border:1px solid rgba(56,189,248,.18);
        animation:widgetIn .6s cubic-bezier(.2,.8,.3,1) both;
        position:relative;overflow:hidden;
    }
    .widget::before{
        content:'';position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;
        background:radial-gradient(circle,rgba(56,189,248,.18),transparent 70%);
        animation:orbFloat 8s ease-in-out infinite;pointer-events:none;
    }
    .widget-title{
        color:#7dd3fc;font-size:.85rem;font-weight:600;letter-spacing:.6px;margin-bottom:.6rem;
        display:flex;align-items:center;gap:.4rem;position:relative;z-index:1;
    }
    .widget-canvas{
        display:block;width:100%;border-radius:12px;
        background:#07131f;box-shadow:inset 0 0 40px rgba(0,0,0,.6);
    }
    .widget-bar{
        display:flex;align-items:center;gap:.7rem;margin-top:.7rem;flex-wrap:wrap;position:relative;z-index:1;
    }
    .widget-bar.center{justify-content:center;}
    .pill{
        font-size:.75rem;color:#a5d8f5;background:rgba(56,189,248,.12);
        border:1px solid rgba(56,189,248,.25);border-radius:20px;padding:.2rem .65rem;
        white-space:nowrap;min-width:52px;text-align:center;transition:color .3s,border-color .3s;
    }
    .widget-bar input[type=range]{
        -webkit-appearance:none;appearance:none;flex:1;min-width:120px;height:6px;border-radius:6px;
        background:linear-gradient(90deg,#0ea5e9,#6366f1);outline:none;cursor:pointer;
    }
    .widget-bar input[type=range]::-webkit-slider-thumb{
        -webkit-appearance:none;width:20px;height:20px;border-radius:50%;
        background:radial-gradient(circle at 35% 30%,#fff,#7dd3fc 60%,#0ea5e9);
        box-shadow:0 0 12px rgba(56,189,248,.9);cursor:pointer;transition:transform .2s;
    }
    .widget-bar input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.18);}
    .widget-bar input[type=range]::-moz-range-thumb{
        width:18px;height:18px;border:none;border-radius:50%;
        background:radial-gradient(circle at 35% 30%,#fff,#7dd3fc 60%,#0ea5e9);
        box-shadow:0 0 12px rgba(56,189,248,.9);cursor:pointer;
    }
    .widget-tip{font-size:.76rem;color:#8fb6d1;margin-top:.55rem;line-height:1.5;position:relative;z-index:1;}
    .widget-tip b{color:#ffd28a;}

    .wbtn{
        background:rgba(56,189,248,.14);border:1px solid rgba(56,189,248,.35);color:#a5d8f5;
        padding:.3rem 1rem;border-radius:20px;font-size:.8rem;cursor:pointer;
        font-family:inherit;transition:all .25s;font-weight:500;
    }
    .wbtn:hover{background:rgba(56,189,248,.3);color:#e0f2fe;}
    .wbtn.on{
        background:linear-gradient(120deg,#0ea5e9,#6366f1);color:#fff;
        border-color:transparent;box-shadow:0 6px 16px -8px #0ea5e9;font-weight:700;
    }

    /* ---------- 页脚 ---------- */
    footer{
        text-align:center;padding:1.2rem 1rem;font-size:.75rem;color:#5b6e8c;
        border-top:1px solid #e2e8f0;background:rgba(250,252,255,.7);line-height:1.8;
    }
    footer b{color:#0a7ea4;}

    @keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
    @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
    @keyframes cardIn{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
    @keyframes slideIn{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}
    @keyframes liIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
    @keyframes widgetIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

    @media (max-width:640px){
        .main-content{padding:1.1rem 1rem;}
        .header{padding:1.2rem 1.1rem 1rem;}
        .header h1{font-size:1.32rem;}
        .chapter-header h2{font-size:1.25rem;}
        .hero h2{font-size:1.42rem;}
        .unit-table{font-size:.75rem;min-width:520px;}
        .unit-table th,.unit-table td{padding:8px 6px;}
        .feature-grid{grid-template-columns:1fr;}
        .hero-canvas{height:150px;}
        .widget{padding:.75rem;}
    }
    @media (max-width:400px){
        .unit-table{min-width:480px;font-size:.7rem;}
    }