.tt-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:clamp(14px,2vw,24px);display:grid}.tt-subjects{gap:5px;max-height:560px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.tt-subjects li{border-radius:var(--r-sm);border:1px solid #0000;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:4px;display:grid}.tt-subjects li.is-active{border-color:var(--orange);background:rgba(var(--accent-rgb),.08)}.tt-subjects input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:6px;width:30px;height:30px;padding:0}.tt-name{width:100%;min-width:0;color:var(--paper);font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 8px;font-size:.84rem}.tt-name:hover,.tt-name:focus{border-color:var(--line);background:#00000040;outline:0}.tt-hours{gap:5px;margin:0;padding:0;list-style:none;display:grid}.tt-hours li{grid-template-columns:22px 1fr 1fr auto;align-items:center;gap:6px;display:grid}.tt-hours li.is-bad .ak-input{border-color:#ff5b5b}.tt-hours .ak-input{padding:6px 8px;font-size:.78rem}.tt-sheet{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:clamp(8px,1.4vw,16px);overflow-x:auto}.tt-print-title{display:none}.tt-grid{grid-template-columns:74px repeat(var(--days), minmax(118px, 1fr));min-width:calc(74px + var(--days) * 122px);gap:4px;display:grid}.tt-row{display:contents}.tt-corner{min-height:34px}.tt-day{border-radius:var(--r-sm);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);place-items:center;padding:8px;font-size:.64rem;display:grid}.tt-day.is-today{color:var(--ink);background:var(--paper)}.tt-time{border-radius:var(--r-sm);font-family:var(--font-mono);color:var(--faint);align-content:center;justify-items:start;gap:1px;padding:6px 8px;font-size:.66rem;display:grid}.tt-time b{color:var(--paper);font-size:.9rem;font-weight:600}.tt-time.is-now{background:rgba(var(--accent-rgb),.12);color:var(--orange)}.tt-cell{--subject:transparent;border:1px dashed var(--line);border-radius:var(--r-sm);min-height:64px;color:var(--paper);text-align:left;cursor:pointer;background:#00000026;align-content:center;gap:3px;padding:8px 10px 8px 13px;transition:border-color .15s,background .15s,transform .1s;display:grid;position:relative;overflow:hidden}.tt-cell:hover{border-color:var(--line-strong);background:#ffffff0a}.tt-cell:active{transform:scale(.98)}.tt-cell.has-lesson{border-style:solid;border-color:color-mix(in srgb, var(--subject) 45%, transparent);background:color-mix(in srgb, var(--subject) 18%, #00000040)}.tt-cell.has-lesson:before{content:"";background:var(--subject);width:4px;position:absolute;inset:0 auto 0 0}.tt-cell strong{font-size:.84rem;line-height:1.2}.tt-cell small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.tt-cell.is-selected{outline:2px solid var(--paper);outline-offset:1px}.tt-cell.is-now{box-shadow:0 0 0 2px var(--orange), 0 0 22px rgba(var(--accent-rgb),.3)}.tt-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.tt-counts{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:5px;margin:12px 0 0;padding:0;list-style:none;display:grid}.tt-counts li{border-left:3px solid var(--subject);background:#0003;border-radius:4px;justify-content:space-between;gap:8px;padding:6px 10px;font-size:.78rem;display:flex}.tt-counts b{color:var(--muted);font-weight:500}@media (max-width:1080px){.tt-layout,.tt-bottom{grid-template-columns:1fr}.tt-layout>aside{order:2}}@media print{.tt-layout{display:block}.tt-sheet{background:#fff;border:0;padding:0;overflow:visible}.tt-print-title{color:#000;margin:0 0 12px;font-size:20px;display:block}.tt-grid{min-width:0}.tt-day,.tt-time,.tt-time b{color:#000;background:0 0}.tt-cell{color:#000;background:#fff;border:1px solid #ccc;min-height:52px}.tt-cell.has-lesson{background:color-mix(in srgb, var(--subject) 22%, #fff);-webkit-print-color-adjust:exact;print-color-adjust:exact}.tt-cell small{color:#444}.tt-cell.is-now,.tt-cell.is-selected{box-shadow:none;outline:0}}
