.tp-dialog{width:min(820px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #e1e5df;border-radius:24px;background:#fbfcf8;color:#203026;box-shadow:0 24px 90px #13281c30;font-family:inherit;overflow:auto;overscroll-behavior:contain}
.tp-dialog::backdrop{background:#12251dd0;backdrop-filter:blur(5px)}
.tp-dialog *{box-sizing:border-box}
.tp-dialog button,.tp-dialog input,.tp-dialog textarea{font:inherit}
.tp-dialog button{cursor:pointer;border:1px solid #d9e0d6;border-radius:12px;padding:11px 17px;background:#fff;color:#29432f;font-weight:650;transition:background .15s,border-color .15s}
.tp-dialog button:hover:not(:disabled){background:#eff5ea;border-color:#a8bf91}
.tp-dialog button:disabled{cursor:default;opacity:.62}
.tp-dialog button:focus-visible,.tp-dialog input:focus-visible,.tp-dialog textarea:focus-visible,.tp-dialog summary:focus-visible{outline:3px solid #c7dd96;outline-offset:3px}
.tp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 30px;border-bottom:1px solid #e4e9df;background:#f3f6ec}
.tp-header p{margin:0 0 7px;font-size:12px;color:#6b7964;line-height:1.5}
.tp-header h2{margin:0;font-size:22px;line-height:1.4;letter-spacing:-.02em}
.tp-dialog .tp-close{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;font-size:23px;line-height:1;padding:0;border-radius:50%;background:transparent}
.tp-progress{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:17px 30px 0;font-size:12px;color:#6d7a64}
.tp-progress>div{width:100%;height:5px;overflow:hidden;border-radius:10px;background:#e5ebdc}
.tp-progress i{height:100%;display:block;background:#7f9d4e;border-radius:inherit;transition:width .2s}
.tp-content{padding:26px 30px}
.tp-question-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#6a795d;font-size:12px;margin-bottom:17px}
.tp-question-meta span:first-child{background:#edf2e3;border:1px solid #dce5cf;border-radius:20px;padding:5px 10px;color:#556b38;font-weight:650}
.tp-dialog .tp-collect{margin-left:auto;flex:0 0 auto;padding:7px 11px;font-size:12px;white-space:nowrap;background:#fff}
.tp-dialog .tp-collect>span{padding:0;border:0;background:transparent;color:inherit;font-size:15px}
.tp-dialog .tp-collect.is-collected{background:#eef4e3;border-color:#b5c898;color:#587235}
.tp-material{border:1px solid #e2e7d9;border-radius:12px;background:#f7f8f2;padding:13px 16px;margin:0 0 20px;font-size:13px;line-height:1.8;color:#5c6953}
.tp-material summary{font-weight:650;cursor:pointer;color:#5a694b}
.tp-material>div{margin-top:10px;white-space:pre-wrap}
.tp-prompt{font-size:19px;line-height:1.75;margin:0 0 10px;font-weight:650;overflow-wrap:anywhere}
.tp-source{margin:0 0 21px;font-size:11px;line-height:1.6;color:#89937e;overflow-wrap:anywhere}
.tp-options{display:grid;gap:10px}
.tp-dialog .tp-option{display:flex;align-items:flex-start;gap:12px;text-align:left;background:#fff;border-color:#dfe5d9;padding:15px 16px;line-height:1.7;font-size:14px;font-weight:400}
.tp-option>span{flex:0 0 27px;display:grid;place-items:center;line-height:27px;border-radius:7px;background:#f0f3e9;font-size:12px;color:#7c886c}
.tp-option>b{font-weight:450;overflow-wrap:anywhere}
.tp-dialog .tp-option.is-selected{background:#f3f8e9;border-color:#99b46c}
.tp-dialog .tp-option.is-correct{background:#edf7e9;border-color:#88b474;opacity:1}
.tp-dialog .tp-option.is-wrong{background:#fcf0e8;border-color:#d9ab92;opacity:1}
.tp-answer-label{display:block;margin:0 0 10px;font-size:13px;color:#6a765f;line-height:1.6}
.tp-number-input,.tp-text-answer{display:block;width:100%;padding:14px 16px;border:1px solid #d8e0d0;border-radius:12px;background:#fff;color:#263627;line-height:1.75;outline:none;resize:vertical}
.tp-number-input:disabled,.tp-text-answer:disabled{background:#f3f5ee;color:#53614a}
.tp-text-answer{min-height:145px}
.tp-submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.tp-dialog .tp-primary{background:#566e3c;border-color:#566e3c;color:#fff}
.tp-dialog .tp-primary:hover:not(:disabled){background:#435a2d;border-color:#435a2d}
.tp-dialog .tp-reveal{border:0;background:transparent;color:#83906e;font-weight:450;padding-left:0;padding-right:0;font-size:12px}
.tp-feedback{background:#f2f5eb;border:1px solid #dce5ce;border-radius:15px;padding:20px;margin-top:22px;line-height:1.75;font-size:14px}
.tp-feedback.is-correct{background:#eff7e9;border-color:#cce1ba}
.tp-feedback h3{margin:0 0 13px;font-size:16px;color:#586d3e}
.tp-reference>span{display:block;margin:0 0 6px;font-size:11px;color:#7a8966;font-weight:650}
.tp-reference>div{overflow-wrap:anywhere;white-space:pre-wrap}
.tp-explanation{margin-top:14px;color:#667557;white-space:pre-wrap;overflow-wrap:anywhere}
.tp-review-note{margin:17px 0 10px;font-size:12px;color:#778565}
.tp-self-review{display:flex;gap:9px;flex-wrap:wrap}
.tp-self-review button{font-size:12px}
.tp-self-review button[aria-pressed=true]{background:#e2edcc;color:#536b30;border-color:#a4be7a;opacity:1}
.tp-save-note{font-size:11px;color:#929d86;line-height:1.7;margin:21px 0 0}
.tp-footer{display:flex;align-items:center;justify-content:space-between;gap:13px;position:sticky;bottom:0;padding:18px 30px;background:#fbfcf8f5;border-top:1px solid #e2e8d9;backdrop-filter:blur(10px)}
.tp-footer>button{font-size:12px}
.tp-question-dots{display:flex;gap:5px}
.tp-dialog .tp-question-dots button{padding:0;width:29px;height:29px;border-radius:50%;font-size:11px;background:transparent;color:#89947d;border-color:transparent}
.tp-dialog .tp-question-dots button.is-answered{background:#eaf0de;color:#60753f}
.tp-dialog .tp-question-dots button.is-current{border-color:#8fa766;color:#455e2b}
.tp-result{text-align:center;padding-top:38px;padding-bottom:38px}
.tp-result-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:50%;background:#e8f1d9;color:#6e8844;font-size:29px}
.tp-kicker{font-size:12px;letter-spacing:.06em;color:#829166;margin:0 0 10px}
.tp-result h3{font-size:23px;line-height:1.5;margin:0 0 25px}
.tp-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 23px}
.tp-result-grid>div{padding:20px 9px;border:1px solid #e0e6d6;background:#f5f7ef;border-radius:15px}
.tp-result-grid strong{display:block;font-size:26px;font-weight:600;margin-bottom:7px;color:#4b6636}
.tp-result-grid span{font-size:12px;color:#7e8d6d}
.tp-result-note{font-size:13px;line-height:1.9;color:#78876a;text-align:left;margin:0 0 24px}
.tp-result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:600px){.tp-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:19px}.tp-header{padding:20px 18px;gap:12px}.tp-header h2{font-size:19px}.tp-header p{font-size:11px}.tp-content{padding:21px 18px}.tp-progress{padding:16px 18px 0;font-size:11px}.tp-prompt{font-size:17px}.tp-dialog .tp-option{font-size:13px;padding:12px}.tp-footer{padding:13px 14px;gap:6px;flex-wrap:wrap}.tp-footer>button{padding:10px 12px}.tp-dialog .tp-question-dots button{width:24px;height:24px;font-size:10px}.tp-question-dots{gap:2px}.tp-feedback{padding:16px}.tp-result-grid{gap:6px}.tp-result-grid>div{padding:16px 5px}.tp-result-grid strong{font-size:21px}.tp-result-grid span{font-size:11px}.tp-result h3{font-size:21px}}
