.cabin{--ink:#213e3b;--accent:#256a5d;max-width:1080px;color:var(--ink);margin:auto;padding:24px;font-family:system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.75}.cabin *{box-sizing:border-box}.cabin header{border-bottom:1px solid #d8e0d7;justify-content:space-between;align-items:center;gap:12px;padding-bottom:20px;display:flex}.cabin-brand{color:inherit;gap:12px;font-weight:700;text-decoration:none;display:flex}.cabin-brand i{background:var(--ink);color:#fff;border-radius:12px;padding:6px 14px;font-style:normal}.cabin small{color:#586c64;font-size:13px;display:block}.cabin nav{gap:6px;display:flex}.cabin button{font:inherit;cursor:pointer;color:var(--ink);background:#fffdf8;border:1px solid #c9d8cc;border-radius:12px;min-height:46px;padding:10px 16px;font-size:15px}.cabin button:disabled{opacity:.45;cursor:not-allowed}:is(.cabin button:focus-visible,.cabin input:focus-visible,.cabin textarea:focus-visible,.cabin summary:focus-visible){outline-offset:3px;outline:3px solid #ba8433}.cabin .active,.cabin .chosen{border-color:var(--accent);background:#e0eee5}.cabin .primary{background:var(--ink);color:#fff;margin-top:16px}.cabin h1{letter-spacing:-1px;margin:18px 0;font-size:clamp(30px,5vw,52px);line-height:1.25}.cabin h2{margin:10px 0;font-size:25px;line-height:1.5}.cabin h3{margin:8px 0;font-size:18px}.cabin em{color:var(--accent);font-style:normal}.cabin p{margin:12px 0}.cabin .eyebrow{letter-spacing:2px;color:var(--accent);font-size:12px;font-weight:700}.cabin .intro{max-width:760px;padding:42px 0 20px}.cabin .today-card,.cabin .lesson-sheet{background:#fffdf8;border:1px solid #d8e0d7;border-radius:22px;padding:30px}.cabin .today-card small{margin-top:14px}.cabin .notice{background:#edf1e6;border:1px solid #dce3d6;border-radius:16px;margin:22px 0;padding:20px}.cabin section{margin-bottom:28px}.cabin .subject-grid,.cabin .book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cabin .subject-grid button{text-align:left;flex-direction:column;gap:7px;padding:22px;display:flex}.cabin .subject-grid b{font-size:21px}.cabin .week-list article{border-bottom:1px solid #d8e0d7;gap:24px;padding:22px 0;display:flex}.cabin .week-list article>span{color:var(--accent);flex-shrink:0;font-weight:700}.cabin .chips{flex-wrap:wrap;gap:8px;display:flex}.cabin .exploration{background:#fffdf8;border-radius:12px;padding:20px}.cabin .lesson-top{justify-content:space-between;align-items:center;margin:24px 0;display:flex}.cabin .lesson-title{font-size:32px}.cabin .steps{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.cabin .steps span{background:#edf0e8;border-radius:20px;padding:6px 12px;font-size:13px}.cabin .steps .current{background:var(--ink);color:#fff}.cabin .teaching{font-size:20px;line-height:1.95}.cabin .difficulty{background:#f1f4eb;border-radius:14px;margin:20px 0;padding:18px}.cabin .difficulty>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cabin .difficulty aside{padding-top:16px}.cabin input,.cabin textarea{font:inherit;width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #bdcfc4;border-radius:10px;margin:6px 0 14px;padding:12px}.cabin textarea{min-height:120px}.cabin label{font-size:14px;display:block}.cabin .answer-label{margin:20px 0;font-size:16px}.cabin details{margin:18px 0}.cabin summary{cursor:pointer;color:var(--accent);padding:10px 0}.cabin .book-grid article{background:#fffdf8;border:1px solid #d8e0d7;border-radius:14px;padding:20px}.cabin .checkbox{align-items:center;gap:10px;display:flex}.cabin .checkbox input{flex-shrink:0;width:20px;margin:0}.cabin .record{border-bottom:1px solid #d8e0d7;padding:18px}.cabin footer{color:#586c64;border-top:1px solid #d8e0d7;margin-top:50px;padding:24px 0;font-size:13px}body{background:#f7f5ed!important;margin:0!important}.cabin .result{background:#ecf3ea;border-radius:10px;padding:14px}@media (max-width:600px){.cabin{padding:16px;font-size:16px}.cabin header{flex-wrap:wrap;align-items:flex-start}.cabin nav{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.cabin nav button{padding:8px}.cabin .intro{padding-top:28px}.cabin .subject-grid,.cabin .book-grid{grid-template-columns:1fr}.cabin .today-card,.cabin .lesson-sheet{padding:20px}.cabin .lesson-title{font-size:27px}.cabin .teaching{font-size:18px}.cabin .week-list article{gap:14px}.cabin .primary{width:100%}.cabin .steps{gap:6px}.cabin .steps span{padding:5px 9px;font-size:12px}}@media (prefers-reduced-motion:reduce){.cabin *{transition:none!important;animation:none!important}}
