.tt-page{max-width:1160px;margin:0 auto;padding-bottom:28px}.tt-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 28px}.tt-heading h1{font-size:34px;letter-spacing:-1.3px;margin:5px 0 0}.tt-heading .eyebrow{font-size:12px;font-weight:500;letter-spacing:1px;color:#81928c}.tt-heading .tt-add{padding:11px 17px;border-radius:12px;font-size:14px}.tt-surface{background:#fffefb;border:1px solid #e3e8df;border-radius:24px;padding:24px;box-shadow:0 12px 45px #1f493306}.tt-sourcebar,.tt-source-name,.tt-tools,.tt-weekbar,.tt-week-navigation{display:flex;align-items:center;gap:10px}.tt-sourcebar{justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #edf0e9}.tt-source-name{min-width:0;max-width:80%}.tt-source-name select{border:0;background:transparent;font-size:17px;font-weight:650;padding:6px 22px 6px 0;max-width:550px;min-width:0;width:auto;box-shadow:none}.tt-icon,.tt-text{border:0;background:transparent;color:#526e62;box-shadow:none;white-space:nowrap;cursor:pointer}.tt-icon{padding:5px;width:34px;height:34px;flex:none;border-radius:9px;font-size:22px;font-weight:400;line-height:1}.tt-text{font-size:13px;padding:8px;border-radius:8px;font-weight:500}.tt-icon:hover,.tt-text:hover{background:#edf2e9}.tt-weekbar{justify-content:space-between;flex-wrap:wrap;margin:23px 0 15px}.tt-week-navigation{gap:3px}.tt-week-navigation select{border:0;background:transparent;width:auto;padding:8px 20px 8px 8px;font-size:17px;font-weight:700}.tt-edit{border:0;border-radius:10px;background:#e7efe3;color:#315b48;padding:10px 15px;font-size:13px;font-weight:650;cursor:pointer}.tt-tools{gap:8px}#tt-week-caption{display:flex;justify-content:space-between;color:#84948b;font-size:12px;padding:0 3px 13px}.tt-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.tt-grid{border-collapse:separate;border-spacing:5px;table-layout:fixed;width:100%;min-width:590px;margin:0}.tt-grid th{background:transparent;color:#6c8176;font-size:12px;padding:7px;text-align:center;border:0;font-weight:500}.tt-grid thead th{height:52px}.tt-grid th b{display:block;font-size:13px;color:#3c5d4c}.tt-grid th small{display:block;font-size:10px;margin-top:5px;color:#9aa69f;font-weight:400}.tt-grid th:first-child{width:48px;padding:2px}.tt-grid td{background:#f3f5f0;border-radius:11px;padding:4px;vertical-align:top;height:110px;border:0;overflow-wrap:anywhere}.tt-course{display:block;width:100%;text-align:left;padding:12px 10px;border:0;border-left:3px solid #81a28b;border-radius:8px;background:#e4eee0;color:#294937;font-size:12px;line-height:1.6;margin:0 0 5px;cursor:pointer;box-shadow:none;white-space:normal;min-height:82px}.tt-course:last-child{margin-bottom:0}.tt-course strong{display:block;font-size:13px;line-height:1.5;font-weight:650}.tt-course span,.tt-course small{display:block;color:#657d6b;font-size:11px;margin-top:6px}.tt-grid td:nth-child(3n) .tt-course{background:#e4edea;border-color:#85a69b}.tt-grid td:nth-child(4n) .tt-course{background:#f0ecde;border-color:#b5a778}.tt-course:hover{filter:brightness(.975);transform:translateY(-1px)}.tt-course:focus-visible,.tt-icon:focus-visible,.tt-text:focus-visible{outline:2px solid #416b56;outline-offset:2px}.tt-dimmed{opacity:.5;text-decoration:line-through}.tt-footnote{font-size:11px;text-align:center;color:#98a69c;margin:18px 0 0}.tt-free-week{text-align:center;color:#78907d;font-size:14px}.tt-review{background:#f3eedf;border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;font-size:13px;color:#76684b}.tt-review button{font-size:12px;padding:8px 12px;white-space:nowrap}.tt-empty{text-align:center;padding:64px 20px;color:#7c8c80}.tt-empty h2{color:#375645;font-size:22px}.tt-empty p{font-size:14px;margin-bottom:25px}.tt-empty-icon{font-size:45px;color:#8ca18a;margin-bottom:15px}.tt-import-options{display:grid;gap:12px;margin-top:22px}.tt-import-option{display:block;text-align:left;text-decoration:none;background:#f1f5ed;border:1px solid #e3e9df;border-radius:14px;padding:22px;color:#355340;cursor:pointer;width:100%;font:inherit}.tt-import-option strong{display:block;font-size:17px;margin-bottom:8px}.tt-import-option span{font-size:13px;color:#7a8d7b}.tt-course-detail{line-height:2;color:#78897d}.tt-checks{display:grid;gap:10px;margin:18px 0}.tt-checks label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500}.tt-checks input{width:17px;height:17px;accent-color:#375f49}.tt-settings-actions{display:flex;flex-wrap:wrap;gap:8px}.tt-page button:disabled{opacity:.4;cursor:default}.tt-page .danger{color:#a2635a}@media(max-width:680px){.tt-page{margin:0 -8px}.tt-heading{margin:5px 8px 20px;gap:8px}.tt-heading h1{font-size:28px}.tt-heading .tt-add{padding:9px 11px;font-size:12px}.tt-surface{padding:15px 9px;border-radius:19px}.tt-sourcebar{padding:0 5px 16px}.tt-source-name select{font-size:14px;max-width:calc(100vw - 160px)}.tt-weekbar{gap:8px;margin-top:14px}.tt-week-navigation select{font-size:14px;padding-left:2px}.tt-week-navigation .tt-icon{width:26px}.tt-weekbar .tt-tools{margin-left:auto}.tt-edit{font-size:12px;padding:9px}.tt-text{font-size:12px;padding:6px}.tt-grid{min-width:0;border-spacing:3px}.tt-grid th:first-child{width:24px}.tt-grid td{padding:3px}.tt-course{padding:8px 4px;border-left-width:2px}.tt-course strong{font-size:11px}.tt-course span{font-size:9px}.tt-review{align-items:flex-start;padding:12px;font-size:12px}.tt-empty{padding:48px 15px}}

.tt-sourcebar{flex-wrap:wrap}.tt-sourcebar>.tt-tools{flex-wrap:wrap;margin-left:auto}.tt-frequency{border:0;padding:0;margin:18px 0 8px}.tt-frequency legend{font-size:14px;margin-bottom:10px}.tt-segments{display:flex;background:#edf1e8;padding:5px;border-radius:13px;gap:5px}.tt-segments label{flex:1;margin:0;cursor:pointer}.tt-segments input{position:absolute;opacity:0;width:1px;height:1px}.tt-segments span{display:block;text-align:center;padding:12px;border-radius:10px;color:#718379}.tt-segments input:checked+span{background:#23574a;color:white}.tt-segments input:focus-visible+span{outline:2px solid #93b99e;outline-offset:2px}@media(max-width:680px){.tt-sourcebar>.tt-tools{width:100%;justify-content:flex-end}.tt-source-name{max-width:100%}.tt-source-name select{max-width:calc(100vw - 115px)}}
