#strc-root .ld-page {display: grid; gap: 26px; max-width: 1160px; margin-inline: auto; min-width: 0;}
#strc-root .ld-intro {max-width: 900px; padding: 16px 0;}
#strc-root .ld-intro h2 {font-size: clamp(32px,5vw,64px); line-height: 1.08; letter-spacing: -.035em; margin: 18px 0;}
#strc-root .ld-intro>p:last-child {font-size: clamp(16px,2vw,20px); line-height: 1.8; color: #b3c5ce; max-width: 800px;}
#strc-root .ld-network {width: 100%; height: auto; max-height: 240px; display: block;}
#strc-root .ld-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px;}
#strc-root .ld-card, #strc-root .ld-panel {min-width: 0; border: 1px solid #29434b; background: linear-gradient(145deg,#11242bd9,#0b171fd9); border-radius: 18px; padding: clamp(20px,3vw,34px);}
#strc-root .ld-card {display: flex; flex-direction: column; align-items: flex-start; gap: 14px;}
#strc-root .ld-card h3, #strc-root .ld-panel h3 {font-size: clamp(22px,2.3vw,29px); line-height: 1.25; margin: 0;}
#strc-root .ld-card p, #strc-root .ld-panel p, #strc-root .ld-panel li {font-size: 15px; line-height: 1.85; color: #b9ccd3; margin: 0;}
#strc-root .ld-panel h2 {font-size: clamp(25px,3vw,38px); margin: 0 0 20px; line-height: 1.2;}
#strc-root .ld-panel>p+* {margin-top: 18px;}
#strc-root .ld-index {font-size: 11px; letter-spacing: .13em; text-transform: uppercase; color: #90e1d1;}
#strc-root .ld-question {padding: 16px; border-left: 2px solid #70bda9; background: #05202770; margin-top: auto; width: 100%; box-sizing: border-box;}
#strc-root .ld-question b {font-size: 12px; color: #d5eee7;}
#strc-root .ld-question p {margin-top: 8px;}
#strc-root .ld-source {font-size: 12px; line-height: 1.6; color: #98bac5;}
#strc-root .ld-note {font-size: 12px !important; line-height: 1.8; color: #97adb8 !important; max-width: 900px;}
#strc-root .ld-filter {display: flex; align-items: end; gap: 14px; flex-wrap: wrap; margin-bottom: 22px;}
#strc-root .ld-filter label {flex: 1; min-width: 200px; display: grid; gap: 8px; font-size: 13px; color: #c7d8df;}
#strc-root .ld-page input, #strc-root .ld-page textarea {background: #07151e; color: #e7f5f4; border: 1px solid #45606a; border-radius: 8px; font: inherit; padding: 12px; min-height: 46px; box-sizing: border-box; max-width: 100%; width: 100%;}
#strc-root .ld-page textarea {resize: vertical; line-height: 1.65;}
#strc-root .ld-filter output {font-size: 12px; color: #99b8c4; padding: 14px 0;}
#strc-root .ld-progress {display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center;}
#strc-root .ld-progress h3 {margin: 8px 0;}
#strc-root .ld-progress progress {width: 100%; height: 12px; accent-color: #83e8c5; grid-column: 2;}
#strc-root .ld-progress .ld-note {grid-column: 1/-1;}
#strc-root .ld-progress button {justify-self: start;}
#strc-root .ld-quest-list {display: grid; gap: 20px;}
#strc-root .ld-quest {display: grid; gap: 18px;}
#strc-root .ld-quest[data-ld-complete=true] {border-color: #438c78;}
#strc-root .ld-quest form {max-width: 650px;}
#strc-root .ld-quest label {display: block; font-size: 13px; margin-bottom: 9px; color: #d4e4e7;}
#strc-root .ld-answer-row {display: flex; gap: 12px;}
#strc-root .ld-answer-row input {flex: 1; min-width: 80px;}
#strc-root .ld-answer-row button {flex-shrink: 0;}
#strc-root .ld-quest [data-ld-feedback] {min-height: 1.7em; font-size: 13px; margin-top: 10px;}
#strc-root .ld-quest [data-ld-feedback][data-state=success] {color: #91e7be;}
#strc-root .ld-quest [data-ld-feedback][data-state=error] {color: #ffbd9b;}
#strc-root .ld-solution {font-size: 13px; border-top: 1px solid #2c434b; padding-top: 16px;}
#strc-root .ld-solution summary {cursor: pointer; color: #a9c2cc;}
#strc-root .ld-solution p {margin-top: 12px; font-size: 13px;}
#strc-root .ld-steps, #strc-root .ld-lesson {padding-left: 22px; display: grid; gap: 14px; margin-bottom: 24px;}
#strc-root .ld-lesson b {color: #93dec9; padding-right: 10px; font-variant-numeric: tabular-nums;}
#strc-root .ld-worksheet-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 24px 0;}
#strc-root .ld-worksheet-grid label {display: grid; gap: 10px; font-size: 13px; color: #c5dce1;}
#strc-root .ld-sheet-actions {display: flex; flex-wrap: wrap; gap: 12px;}
#strc-root .ld-page a:focus-visible, #strc-root .ld-page button:focus-visible, #strc-root .ld-page input:focus-visible, #strc-root .ld-page textarea:focus-visible, #strc-root .ld-page summary:focus-visible {outline: 2px solid #98f3d3; outline-offset: 4px;}
#strc-root .ld-page [hidden] {display: none !important;}
@media (max-width:680px) {#strc-root .ld-grid, #strc-root .ld-worksheet-grid {grid-template-columns: 1fr;}#strc-root .ld-progress {grid-template-columns: 1fr;}#strc-root .ld-progress progress {grid-column: 1;}#strc-root .ld-answer-row {flex-wrap: wrap;}#strc-root .ld-answer-row input {flex-basis: 100%;}#strc-root .ld-page {gap: 20px;}#strc-root .ld-intro h2 {font-size: 36px;}#strc-root .ld-card, #strc-root .ld-panel {border-radius: 13px;}#strc-root .ld-network {min-height: 105px;}#strc-root .ld-filter label {min-width: 0; flex-basis: 100%;}}
@media print {body.ld-printing #strc-root * {visibility: hidden;}body.ld-printing #strc-root .ld-worksheet, body.ld-printing #strc-root .ld-worksheet * {visibility: visible;}body.ld-printing #strc-root .ld-worksheet {position: absolute; inset: 0; background: white; color: black; border: 0; padding: 18px; width: 100%; box-sizing: border-box;}body.ld-printing #strc-root .ld-worksheet p, body.ld-printing #strc-root .ld-worksheet label, body.ld-printing #strc-root .ld-worksheet h2 {color: black;}body.ld-printing #strc-root .ld-worksheet textarea {background: white; color: black; border: 1px solid #555; min-height: 110px; overflow: visible; break-inside: avoid;}body.ld-printing #strc-root .ld-sheet-actions, body.ld-printing #strc-root [data-ld-sheet-status] {display: none !important;}#strc-root .ld-worksheet-grid {grid-template-columns: 1fr; gap: 14px;}}
