@import url('');
:root {
    color-scheme:light;
    --ink:#17251e;
    --muted:#68766d;
    --green:#24583f;
    --green-deep:#183d2c;
    --mint:#e5eee5;
    --mint-2:#f0f5ef;
    --paper:#fffefa;
    --canvas:#f6f7f1;
    --line:#e2e8df;
    --gold:#d9b875;
    --light-square:#e9eee3;
    --dark-square:#68856f;
    --shadow:0 24px 70px rgba(28,54,38,.10)
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:90px
}
body {
    margin:0;
    background:var(--canvas);
    color:var(--ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased
}
a {
    color:inherit
}
.top {
    height:78px;
    padding:0 max(5vw,24px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:rgba(255,254,250,.9);
    border-bottom:1px solid rgba(226,232,223,.9);
    position:sticky;
    top:0;
    z-index:20;
    backdrop-filter:blur(16px)
}
.brand,.footer-brand {
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    font-size:1.22rem;
    font-weight:800;
    letter-spacing:-.045em;
    color:var(--green)
}
.brand:first-letter {
    font-size:1.5em
}
.top nav {
    display:flex;
    align-items:center;
    gap:30px
}
.top nav a {
    text-decoration:none;
    font-size:.91rem;
    font-weight:650;
    color:#526258;
    transition:color .2s
}
.top nav a:hover {
    color:var(--green)
}
.top nav .nav-cta {
    padding:10px 16px;
    border-radius:100px;
    background:var(--green);
    color:white;
    display:flex;
    gap:12px;
    align-items:center
}
.nav-cta span {
    font-size:1.1rem
}
.wrap {
    max-width:1240px;
    margin:auto;
    padding:0 32px
}
.hero {
    padding:80px 0 96px;
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:64px;
    align-items:center;
    min-height:570px
}
.eyebrow {
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--green);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.16em;
    margin:0 0 20px
}
.eyebrow-dot,.live-dot {
    width:8px;
    height:8px;
    background:#7eaa76;
    border-radius:50%;
    display:inline-block;
    box-shadow:0 0 0 4px #7eaa7622
}
h1,h2,h3 {
    font-family:Georgia,"Times New Roman",serif;
    letter-spacing:-.045em;
    line-height:1.06
}
h1 {
    font-size:clamp(3.6rem,6.6vw,6.2rem);
    font-weight:500;
    margin:0 0 26px;
    line-height:.99
}
h1 em {
    font-weight:500;
    color:var(--green);
    font-style:italic
}
.hero p:not(.eyebrow) {
    max-width:500px;
    color:var(--muted);
    font-size:1.08rem;
    line-height:1.8;
    margin:0 0 30px
}
.btn {
    border:1px solid var(--green);
    border-radius:12px;
    background:var(--green);
    color:white;
    padding:14px 20px;
    font-family:inherit;
    font-size:.93rem;
    font-weight:700;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    cursor:pointer;
    box-shadow:0 8px 18px #24583f20;
    transition:transform .18s,background .18s,box-shadow .18s
}
.btn:hover {
    background:var(--green-deep);
    transform:translateY(-2px);
    box-shadow:0 12px 25px #24583f30
}
.btn.secondary {
    background:#fffefa;
    color:var(--green);
    border-color:#dce5db;
    box-shadow:none
}
.btn.secondary:hover {
    background:var(--mint-2)
}
.hero-note {
    display:flex;
    align-items:center;
    gap:10px;
    color:#758177;
    font-size:.78rem;
    margin-top:22px
}
.mini-avatars {
    display:inline-grid;
    place-items:center;
    width:44px;
    height:26px;
    background:var(--mint);
    border-radius:20px;
    color:var(--green);
    letter-spacing:-.15em;
    padding-right:4px
}
.hero-visual {
    position:relative;
    max-width:510px;
    width:100%;
    margin:auto;
    padding:24px 20px 22px;
    background:linear-gradient(145deg,#e7eee4,#f4f5ec);
    border:1px solid #dfe8dc;
    border-radius:32px
}
.visual-label {
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.14em;
    color:#64766a;
    margin:0 0 16px 4px;
    display:flex;
    align-items:center;
    gap:9px
}
.hero-art {
    width:100%;
    aspect-ratio:1;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    box-shadow:0 24px 45px #203d2a20;
    border:7px solid #fffefa;
    border-radius:10px;
    overflow:hidden;
    background:#fff
}
.hero-art span {
    display:grid;
    place-items:center;
    aspect-ratio:1;
    font-size:clamp(2.2rem,5vw,3.7rem);
    color:#f9f8ef;
    background:var(--dark-square);
    text-shadow:0 2px 1px #203d2a55
}
.hero-art span:nth-child(8n+1),.hero-art span:nth-child(8n+3),.hero-art span:nth-child(8n+6),.hero-art span:nth-child(8n+8) {
    background:var(--light-square);
    color:var(--green-deep);
    text-shadow:0 2px 0 #fff
}
.floating-note {
    position:absolute;
    display:flex;
    align-items:center;
    gap:12px;
    background:#fffefa;
    border:1px solid #e3e9df;
    border-radius:15px;
    padding:12px 15px;
    box-shadow:0 12px 35px #1b3c2814
}
.note-top {
    right:-26px;
    top:90px
}
.note-bottom {
    left:-32px;
    bottom:50px
}
.note-icon {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    background:var(--mint);
    border-radius:10px;
    color:var(--green);
    font-size:1.15rem
}
.floating-note strong,.floating-note small {
    display:block
}
.floating-note strong {
    font-size:.78rem
}
.floating-note small {
    font-size:.68rem;
    color:var(--muted);
    margin-top:2px
}
.play-section,.lessons-section {
    padding:76px 0 88px;
    border-top:1px solid var(--line)
}
.section-head {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-end;
    margin-bottom:32px
}
.section-head h2 {
    font-size:clamp(2.2rem,4vw,3.2rem);
    font-weight:500;
    margin:0 0 12px
}
.muted {
    color:var(--muted);
    margin:0;
    max-width:600px
}
.game-grid {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.8fr);
    gap:26px;
    align-items:start
}
.game-grid>div:first-child {
    padding:20px;
    background:#fffefa;
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow)
}
.mode-switch {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    padding:5px;
    margin:0 0 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#f2f5ef
}
.mode-button {
    min-height:42px;
    padding:9px 12px;
    border:1px solid transparent;
    border-radius:10px;
    background:transparent;
    color:var(--muted);
    font-family:inherit;
    font-size:.88rem;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    transition:background .18s,color .18s,box-shadow .18s
}
.mode-button.active {
    background:#fffefa;
    border-color:#dce5db;
    color:var(--green);
    box-shadow:0 2px 7px #203d2a0d
}
.mode-button:focus-visible {
    outline:3px solid #d9b875;
    outline-offset:2px
}
.computer-options {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid #dce9dc;
    border-radius:12px;
    background:var(--mint-2);
    font-size:.84rem
}
.computer-options[hidden] { display:none }
.computer-options label { font-weight:750; color:var(--green) }
.computer-options select {
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:white;
    color:var(--ink);
    font:inherit
}
.computer-note {
    flex-basis:100%;
    color:var(--muted);
    font-size:.76rem;
    line-height:1.4
}
.playerbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 15px;
    background:#f4f6ef;
    border:1px solid #e9ede5;
    border-radius:12px;
    margin:0 0 12px;
    font-weight:750
}
.playerbar span {
    font-size:.92rem
}
.playerbar strong {
    font-variant-numeric:tabular-nums;
    font-feature-settings:"tnum" 1;
    font-size:1.08rem;
    letter-spacing:.03em;
    white-space:nowrap;
    text-align:center;
    min-width:5.4ch;
    flex-shrink:0;
    background:white;
    border:1px solid #e3e9df;
    border-radius:8px;
    padding:5px 10px
}
.board-stage {
    position:relative;
    width:min(100%, 620px);
    margin-inline:auto;
    isolation:isolate
}
.check-overlay[hidden] {
    display:none
}
.check-overlay {
    position:absolute;
    z-index:20;
    inset:0;
    display:grid;
    place-items:center;
    padding:clamp(12px,3vw,28px);
    border-radius:8px;
    overflow:hidden;
    cursor:pointer;
    background:rgba(13,28,20,.68);
    -webkit-backdrop-filter:blur(5px) saturate(.85);
    backdrop-filter:blur(5px) saturate(.85);
    animation:check-overlay-in .22s ease-out both;
    touch-action:manipulation
}
.check-overlay-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:clamp(5px,1.2vw,10px);
    width:min(100%,320px);
    padding:clamp(18px,4vw,30px) 16px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:20px;
    color:#fffdf5;
    text-align:center;
    background:linear-gradient(145deg,rgba(37,72,51,.96),rgba(16,37,27,.97));
    box-shadow:0 18px 55px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.15)
}
.check-overlay-icon {
    display:grid;
    place-items:center;
    width:clamp(42px,8vw,58px);
    height:clamp(42px,8vw,58px);
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    color:#fff8df;
    background:rgba(255,255,255,.1);
    font-size:clamp(1.7rem,5vw,2.4rem);
    line-height:1
}
.check-overlay-kicker {
    margin-top:3px;
    color:#f0d18a;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.18em
}
.check-overlay-title {
    font-size:clamp(2.4rem,8vw,4rem);
    line-height:.98;
    letter-spacing:.04em;
    font-weight:900
}
.check-overlay-copy {
    color:rgba(255,253,245,.84);
    font-size:clamp(.85rem,2.6vw,1rem)
}
.check-overlay-continue {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:42px;
    margin-top:8px;
    padding:0 18px;
    border:0;
    border-radius:999px;
    color:#183d2c;
    background:#f4e8c8;
    font:700 .9rem/1 ui-sans-serif,system-ui,sans-serif;
    cursor:pointer;
    box-shadow:0 3px 0 rgba(0,0,0,.12)
}
.check-overlay-result .check-overlay-card {
    border-color:rgba(240,209,138,.72);
    background:linear-gradient(145deg,rgba(48,78,48,.98),rgba(17,34,25,.99));
    box-shadow:0 22px 70px rgba(0,0,0,.42),0 0 0 1px rgba(240,209,138,.16),inset 0 1px 0 rgba(255,255,255,.18)
}
.check-overlay-result .check-overlay-icon {
    color:#f0d18a;
    border-color:rgba(240,209,138,.6);
    background:rgba(240,209,138,.12)
}
.check-overlay-result .check-overlay-title {
    color:#f5d98f;
    font-size:clamp(2.2rem,7vw,3.6rem)
}
.check-overlay-continue:focus-visible {
    outline:3px solid #fff;
    outline-offset:3px
}
.check-overlay-hint {
    margin-top:2px;
    color:rgba(255,255,255,.68);
    font-size:clamp(.62rem,2vw,.73rem)
}
@keyframes check-overlay-in {
    from { opacity:0; transform:scale(.985) }
    to { opacity:1; transform:scale(1) }
}
@media(prefers-reduced-motion:reduce) {
    .check-overlay { animation:none }
}
.board {
    display:grid;
    grid-template-columns:repeat(8,1fr);
    aspect-ratio:1;
    border:7px solid #fff;
    border-radius:8px;
    box-shadow:0 8px 22px #203d2a16;
    overflow:hidden;
    touch-action:manipulation;
    outline:1px solid #dfe5db
}
.square {
    position:relative;
    display:grid;
    place-items:center;
    aspect-ratio:1;
    border:0;
    padding:0;
    cursor:pointer;
    font-size:clamp(1.5rem,4.6vw,3.4rem);
    line-height:1
}
.square.light {
    background:var(--light-square)
}
.square.dark {
    background:var(--dark-square)
}
.square.selected {
    box-shadow:inset 0 0 0 4px #e3bb5c
}
.square.legal:after {
    content:'';
    width:23%;
    height:23%;
    border-radius:50%;
    background:#234f36a8;
    position:absolute
}
.square.legal:has(.piece):after {
    width:88%;
    height:88%;
    background:transparent;
    border:4px solid #234f36b8
}
.piece {
    z-index:1;
    cursor:grab;
    user-select:none;
    font-family:"DejaVu Sans", "Segoe UI Symbol", "Noto Sans Symbols 2", serif;
    font-variant-emoji:text;
    filter:drop-shadow(0 2px 1px #16261d20)
}
.piece.white {
    color:#fffefa;
    text-shadow:-1px -1px 0 #34483a,1px -1px 0 #34483a,-1px 1px 0 #34483a,1px 1px 0 #34483a,0 2px 3px #34483a88
}
.piece.black {
    color:#183d2c;
    text-shadow:0 1px 1px #ffffff66
}
.coord-file,.coord-rank {
    position:absolute;
    font:700 .6rem/1 ui-sans-serif,system-ui;
    opacity:.72;
    z-index:2
}
.coord-file {
    right:4px;
    bottom:3px
}
.coord-rank {
    left:4px;
    top:3px
}
.square.light .coord-file,.square.light .coord-rank {
    color:#43614b
}
.square.dark .coord-file,.square.dark .coord-rank {
    color:#f8f7ef
}
.game-controls {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:16px;
    flex-wrap:wrap
}
.game-controls label {
    font-size:.82rem;
    color:var(--muted);
    font-weight:650
}
.game-controls select {
    margin-left:7px;
    padding:9px 11px;
    border:1px solid var(--line);
    border-radius:9px;
    background:white;
    color:var(--ink);
    font:inherit
}
.game-controls .btn {
    padding:10px 13px;
    font-size:.82rem
}
.panel {
    background:#fffefa;
    border:1px solid var(--line);
    border-radius:22px;
    padding:22px;
    box-shadow:0 14px 45px #1c36260a
}
.panel-title {
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    padding-bottom:16px
}
.panel-title h3 {
    margin:0;
    font-size:1.45rem;
    font-weight:500
}
.text-btn {
    background:none;
    border:0;
    color:var(--green);
    font-weight:750;
    cursor:pointer
}
.notation-controls {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:18px 0
}
.notation-controls .btn {
    padding:11px 9px;
    font-size:.8rem;
    white-space:nowrap
}
.notation-controls #startGame {
    grid-column:1/-1
}
.status-label {
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:800;
    color:#8a968b;
    margin-top:8px
}
.status {
    padding:13px 15px;
    background:var(--mint-2);
    color:var(--green);
    border:1px solid #dce9dc;
    border-radius:12px;
    font-weight:800;
    font-size:.9rem;
    margin:8px 0 10px
}
.status-check,.status-mate {
    background:#fff0e8;
    color:#9c4229;
    border-color:#f1d2c4
}
.status-draw {
    background:#f3f0e7;
    color:#75623a;
    border-color:#e9e1cb
}
.start-hint {
    font-size:.79rem;
    color:var(--muted);
    line-height:1.6
}
.notation-help {
    border-top:1px solid var(--line);
    margin-top:20px;
    padding-top:18px
}
.notation-help strong,.tip strong {
    font-size:.87rem
}
.notation-help p {
    font-size:.8rem;
    line-height:1.75;
    color:var(--muted);
    margin:6px 0 0
}
.moves {
    min-height:92px;
    max-height:230px;
    overflow:auto;
    padding:10px 0;
    font-variant-numeric:tabular-nums;
    font-size:.88rem
}
.move-row {
    display:grid;
    grid-template-columns:36px 1fr 1fr;
    padding:7px 10px;
    border-radius:7px
}
.move-row:nth-child(even) {
    background:#f4f6ef
}
.tip {
    padding:14px;
    background:#f4f5ed;
    border:1px solid #e7ebdf;
    border-radius:12px;
    color:#49624d;
    font-size:.85rem
}
.tip p {
    margin:5px 0 0;
    color:#6a796a;
    font-size:.79rem
}
.lesson-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px
}
.lesson-card {
    position:relative;
    min-height:190px;
    padding:22px;
    background:#fffefa;
    border:1px solid var(--line);
    border-radius:17px;
    text-decoration:none;
    color:var(--ink);
    transition:transform .2s,border-color .2s,box-shadow .2s;
    overflow:hidden
}
.lesson-card:hover {
    transform:translateY(-4px);
    border-color:#b9cdb9;
    box-shadow:0 16px 35px #1c36260e
}
.lesson-card>span {
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:var(--mint-2);
    color:var(--green);
    font-size:.73rem;
    font-weight:850;
    margin-bottom:22px
}
.lesson-card h3 {
    font-size:1.3rem;
    font-weight:500;
    margin:0 0 10px;
    letter-spacing:-.025em
}
.lesson-card p {
    font-size:.82rem;
    color:var(--muted);
    line-height:1.65;
    margin:0
}
.lesson-card:after {
    content:'↗';
    position:absolute;
    right:18px;
    top:20px;
    color:#a4b3a5;
    font-size:1rem;
    transition:transform .2s
}
.lesson-card:hover:after {
    transform:translate(2px,-2px);
    color:var(--green)
}
footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:28px 0 34px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.78rem
}
footer a {
    text-decoration:none;
    color:var(--green);
    font-weight:700
}
.footer-brand {
    font-size:1rem
}
button:focus-visible,a:focus-visible,select:focus-visible {
    outline:3px solid #9fbd89;
    outline-offset:3px
}
.restore-backdrop {
    position:fixed;
    inset:0;
    z-index:50;
    display:grid;
    place-items:center;
    padding:20px;
    background:#10241999;
    backdrop-filter:blur(6px)
}
.restore-backdrop[hidden] {
    display:none
}
.restore-card {
    max-width:440px;
    width:100%;
    padding:30px;
    background:#fffefa;
    border-radius:22px;
    box-shadow:0 25px 80px #0a1d12aa
}
.restore-icon {
    font-size:2rem;
    color:var(--green)
}
.restore-card h2 {
    font-size:2rem;
    margin:0 0 12px
}
.restore-card>p:not(.eyebrow) {
    color:var(--muted)
}
.restore-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px
}
.response-list {
    display:grid;
    gap:4px;
    font-size:.8rem;
    margin-top:8px
}
@media(max-width:900px) {
    .hero {
        gap:34px;
        padding:64px 0 76px
    }
    .game-grid {
        grid-template-columns:minmax(0,1fr) minmax(270px,.8fr);
        gap:16px
    }
    .game-grid>div:first-child {
        padding:13px
    }
    .panel {
        padding:17px
    }
    .lesson-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .note-top {
        right:-10px
    }
    .note-bottom {
        left:-15px
    }
}
@media(max-width:700px) {
    .top {
        height:68px;
        padding:0 18px
    }
    .top nav {
        gap:16px
    }
    .top nav a {
        font-size:.82rem
    }
    .top nav .nav-cta {
        padding:8px 11px
    }
    .wrap {
        padding:0 18px
    }
    .hero {
        grid-template-columns:1fr;
        gap:46px;
        padding:58px 0 68px;
        min-height:auto
    }
    .hero-copy {
        max-width:620px
    }
    h1 {
        font-size:clamp(3.5rem,14vw,5.5rem)
    }
    .hero-visual {
        max-width:430px
    }
    .floating-note {
        padding:9px 11px
    }
    .note-top {
        right:-5px;
        top:70px
    }
    .note-bottom {
        left:-7px;
        bottom:35px
    }
    .play-section,.lessons-section {
        padding:58px 0 66px
    }
    .section-head {
        align-items:flex-start
    }
    .game-grid {
        grid-template-columns:1fr;
        gap:18px
    }
    .game-grid>div:first-child {
        padding:14px
    }
    .board-stage {
        width:100%;
        max-width:none
    }
    .board {
        border-width:5px
    }
    .square {
        font-size:clamp(2rem,9vw,3.6rem)
    }
    .panel {
        padding:20px
    }
    .lesson-grid {
        gap:11px
    }
    .lesson-card {
        padding:17px;
        min-height:175px
    }
    .lesson-card>span {
        margin-bottom:17px
    }
    footer {
        flex-wrap:wrap
    }
    footer>span {
        order:3;
        width:100%
    }
}
@media(max-width:420px) {
    .top nav {
        gap:12px
    }
    .brand {
        font-size:1.08rem
    }
    .top nav a {
        font-size:.76rem
    }
    .top nav .nav-cta {
        gap:5px
    }
    .hero-visual {
        padding:14px
    }
    .floating-note strong {
        font-size:.69rem
    }
    .floating-note small {
        font-size:.6rem
    }
    .lesson-grid {
        grid-template-columns:1fr 1fr
    }
    .lesson-card h3 {
        font-size:1.15rem
    }
    .lesson-card p {
        font-size:.76rem
    }
    .game-controls {
        align-items:stretch
    }
    .game-controls label {
        width:100%
    }
    .game-controls select {
        float:right
    }
    .game-controls .btn {
        flex:1
    }
    .section-head h2 {
        font-size:2.25rem
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        scroll-behavior:auto!important;
        transition:none!important
    }
}
/* Lesson pages */
.lesson-wrap {
    max-width:850px;
    margin:0 auto;
    padding:42px 28px 90px
}
.back {
    display:inline-flex;
    text-decoration:none;
    color:var(--green);
    font-weight:750;
    font-size:.86rem
}
.lesson-wrap h1 {
    font-size:clamp(2.7rem,6vw,4.8rem);
    margin:12px 0 22px
}
.lesson-wrap h2 {
    font-size:2rem;
    font-weight:500;
    margin-top:42px
}
.lesson-wrap h3 {
    font-size:1.35rem;
    font-weight:500
}
.lesson-wrap p,.lesson-wrap li {
    color:#59685e;
    line-height:1.85
}
.lesson-wrap .example,.lesson-wrap .exercise,.lesson-wrap .answer {
    padding:20px 22px;
    border:1px solid var(--line);
    background:#fffefa;
    border-radius:15px;
    margin:18px 0;
    box-shadow:0 10px 30px #1c362608
}
.lesson-wrap .exercise {
    background:var(--mint-2)
}
.lesson-wrap .answer {
    border-left:4px solid var(--green)
}
.lesson-nav {
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:42px;
    padding-top:22px;
    border-top:1px solid var(--line)
}
.lesson-nav a {
    color:var(--green);
    font-weight:750;
    text-decoration:none
}
.lesson-wrap table {
    width:100%;
    border-collapse:collapse;
    background:#fffefa;
    border-radius:12px;
    overflow:hidden
}
.lesson-wrap th,.lesson-wrap td {
    text-align:left;
    padding:12px;
    border-bottom:1px solid var(--line)
}
@media(max-width:600px) {
    .lesson-wrap {
        padding:28px 18px 60px
    }
    .lesson-wrap h1 {
        font-size:3rem
    }
    .lesson-nav {
        flex-direction:column
    }
}
