.navbar.svelte-4ixq7d{display:flex;align-items:center;background:#f1eadb;padding:0 24px;height:var(--header-h, 64px);flex:0 0 var(--header-h, 64px);border-bottom:1px solid #e6dcc5;box-shadow:0 2px 6px #00000008;overflow:visible;white-space:nowrap;position:relative;z-index:200}.navbar.svelte-4ixq7d img:where(.svelte-4ixq7d){width:36px;margin-right:18px;vertical-align:middle;filter:saturate(.85)}.logo-link.svelte-4ixq7d{display:flex;align-items:center;margin-right:18px}.site-title.svelte-4ixq7d{font-weight:900;color:#2f2a1f;margin-left:8px;font-size:1.05rem}.navbar.svelte-4ixq7d a:where(.svelte-4ixq7d){color:#2f2a1f;text-decoration:none;font-weight:600;font-size:1rem;text-align:right;padding:8px 10px;display:inline-block;min-width:72px;box-sizing:border-box;border-radius:6px}.navbar.svelte-4ixq7d a:where(.svelte-4ixq7d):hover{background:#f5efdf}.navbar.svelte-4ixq7d .right:where(.svelte-4ixq7d){margin-left:auto}.hamburger.svelte-4ixq7d{display:none;margin-left:auto;background:transparent;border:none;padding:8px;border-radius:6px;cursor:pointer;position:relative;width:40px;height:40px}.hamburger.svelte-4ixq7d:focus{outline:2px solid #bfa676}.hamburger.svelte-4ixq7d span:where(.svelte-4ixq7d){position:absolute;left:9px;right:9px;height:3px;background:#2f2a1f;border-radius:2px;transition:transform .2s ease,opacity .2s ease,top .2s ease}.hamburger.svelte-4ixq7d span:where(.svelte-4ixq7d):nth-child(1){top:12px}.hamburger.svelte-4ixq7d span:where(.svelte-4ixq7d):nth-child(2){top:18px}.hamburger.svelte-4ixq7d span:where(.svelte-4ixq7d):nth-child(3){top:24px}.hamburger.open.svelte-4ixq7d span:where(.svelte-4ixq7d):nth-child(1){top:18px;transform:rotate(45deg)}.hamburger.open.svelte-4ixq7d span:where(.svelte-4ixq7d):nth-child(2){opacity:0}.hamburger.open.svelte-4ixq7d span:where(.svelte-4ixq7d):nth-child(3){top:18px;transform:rotate(-45deg)}.mobile-menu.svelte-4ixq7d{display:none;position:absolute;left:0;right:0;top:100%;background:#fffef9;border-bottom:1px solid #e6dcc5;box-shadow:0 8px 16px #0000000f;z-index:201;padding:8px 12px 12px}.mobile-menu.svelte-4ixq7d a:where(.svelte-4ixq7d){display:block;color:#2f2a1f;padding:10px 8px;font-weight:600;text-decoration:none;border-radius:6px}.mobile-menu.svelte-4ixq7d a:where(.svelte-4ixq7d):hover{background:#f5efdf}.mobile-menu.svelte-4ixq7d .mobile-section:where(.svelte-4ixq7d){padding:8px 8px 4px;color:#6b5e3c;font-size:.9rem;font-weight:700}.mobile-menu.open.svelte-4ixq7d{display:block}.as-link.svelte-4ixq7d{background:none;border:none;padding:8px 10px;font:inherit;color:#2f2a1f;cursor:pointer;border-radius:6px}.as-link.svelte-4ixq7d:hover{background:#f5efdf}.dropdown.svelte-4ixq7d{position:relative;display:inline-block}.dropbtn.svelte-4ixq7d{cursor:pointer;color:#2f2a1f}.dropdown-content.svelte-4ixq7d{display:none;position:absolute;background:#fffef9;min-width:200px;border:1px solid #e6dcc5;box-shadow:0 8px 16px #0000000f;z-index:1;right:0;border-radius:8px;overflow:hidden}.dropdown.svelte-4ixq7d:hover .dropdown-content:where(.svelte-4ixq7d){display:block}.dropdown-content.svelte-4ixq7d a:where(.svelte-4ixq7d){color:#2f2a1f;padding:10px 12px;text-decoration:none;display:block;font-size:.95rem}.dropdown-content.svelte-4ixq7d a:where(.svelte-4ixq7d):hover{background:#f5efdf}.dropdown-content.svelte-4ixq7d .as-link:where(.svelte-4ixq7d){display:block;width:100%;text-align:right;padding:10px 12px;color:#2f2a1f;background:none;border:none;font:inherit;cursor:pointer}.dropdown-content.svelte-4ixq7d .as-link:where(.svelte-4ixq7d):hover{background:#f5efdf}@media (max-width: 768px){.navbar.svelte-4ixq7d{padding:0 12px}.navbar.svelte-4ixq7d>a:where(.svelte-4ixq7d):not(.logo-link){display:none}.navbar.svelte-4ixq7d .right:where(.svelte-4ixq7d){display:none}.hamburger.svelte-4ixq7d{display:inline-flex;align-items:center;justify-content:center}}@media (min-width: 769px){.mobile-menu.svelte-4ixq7d{display:none!important}}.page-footer.svelte-1h39i6k{height:var(--footer-h, 52px);flex:0 0 var(--footer-h, 52px);display:flex;align-items:center;justify-content:center;padding:0 16px;text-align:center;color:#6b5e3c;font-size:.9rem;margin:0;max-width:none;background:#f1eadb;border-top:1px solid #e6dcc5}.shimmer.svelte-h5ga34{background:linear-gradient(90deg,#f3f6fa 25%,#e9eef5 37%,#f3f6fa 63%);background-size:400% 100%;animation:skeleton-shimmer var(--skeleton-speed, 1.2s) ease-in-out infinite}.skeleton-msg.svelte-h5ga34{list-style:none;background:#fff;border:1px solid #eadfca;border-radius:8px;padding:8px 10px;display:block}.row.meta.svelte-h5ga34{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;margin-bottom:6px}.chip.svelte-h5ga34{height:14px;border-radius:7px}.chip.name.svelte-h5ga34{width:120px}.chip.role.svelte-h5ga34{width:60px}.chip.role.small.svelte-h5ga34{width:48px}.chip.time.svelte-h5ga34{width:90px;justify-self:end}.row.body.svelte-h5ga34{display:grid;gap:8px}.line.svelte-h5ga34{height:12px;border-radius:6px}.line.short.svelte-h5ga34{width:60%}.img.svelte-h5ga34{margin-top:8px;height:140px;border-radius:8px}.disc-wrap.svelte-upk9tp{background:#fffef9;border:1px solid #e6dcc5;border-radius:10px;padding:12px;height:100%;display:flex;flex-direction:column;min-height:0}.messages.svelte-upk9tp{flex:1 1 auto;overflow:auto;min-height:0}.state.svelte-upk9tp{color:#6b6b6b;margin:8px 0}.state.error.svelte-upk9tp{color:#a33}.msg-list.svelte-upk9tp{list-style:none;margin:0;padding:0;display:grid;gap:8px}.msg-list.svelte-upk9tp li:where(.svelte-upk9tp){background:#fff;border:1px solid #eadfca;border-radius:8px;padding:8px 10px;min-width:0;overflow-wrap:anywhere}.msg-list.svelte-upk9tp li.by-tutor:where(.svelte-upk9tp){background:#f0f7ff;border-color:#cde2ff}.msg-list.svelte-upk9tp li.by-admin:where(.svelte-upk9tp){background:#fff5f0;border-color:#ffd6c8}.meta.svelte-upk9tp{display:flex;gap:8px;align-items:center;font-size:.9rem;color:#6b5e3c;margin-bottom:4px}.badge.svelte-upk9tp{color:#fff;border-radius:6px;padding:1px 6px;font-size:.75rem;font-weight:700}.badge.tutor.svelte-upk9tp{background:#2a73cc}.badge.admin.svelte-upk9tp{background:#b15600}.time.svelte-upk9tp{margin-left:auto;color:#8a7f62;font-size:.85rem}.content.svelte-upk9tp{color:#2f2a1f;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.composer.svelte-upk9tp{display:flex;gap:8px;margin-top:10px;align-items:stretch;flex-shrink:0}.composer-left.svelte-upk9tp{flex:1 1 auto;min-width:0;display:grid;gap:6px}textarea.svelte-upk9tp{border:1px solid #dccfae;border-radius:8px;padding:8px;height:90px;min-height:90px;max-height:90px;background:#fffdfa;width:100%;box-sizing:border-box;resize:none;overflow:auto}.attach-row.svelte-upk9tp{display:flex;gap:8px;align-items:center}.attach-btn.svelte-upk9tp{display:inline-block;border:1px dashed #cdbf9d;background:#f7f2e6;color:#5a533e;border-radius:8px;padding:6px 10px;cursor:pointer;font-weight:600}.attach-btn.svelte-upk9tp input:where(.svelte-upk9tp){display:none}.attach-chip.svelte-upk9tp{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #dccfae;border-radius:999px;padding:4px 8px;color:#4b4635}.attach-chip.svelte-upk9tp .name:where(.svelte-upk9tp){max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}.attach-chip.svelte-upk9tp .remove:where(.svelte-upk9tp){background:transparent;border:none;cursor:pointer;font-size:14px;line-height:1;color:#7a725b}.send.svelte-upk9tp{background:#2a73cc;color:#fff;border:none;border-radius:8px;padding:0 14px;font-weight:700;cursor:pointer;height:90px;align-self:end;display:inline-flex;align-items:center;justify-content:center}.send.svelte-upk9tp:hover{background:#215ea8}.preview.svelte-upk9tp{background:transparent;padding:0;border:none}.preview.svelte-upk9tp img:where(.svelte-upk9tp){display:block;max-width:100%;max-height:160px;height:auto;border-radius:6px;object-fit:contain}.attachment.svelte-upk9tp img:where(.svelte-upk9tp){display:block;max-width:100%;height:auto;border-radius:8px;margin-top:6px;border:1px solid #eadfca;max-height:60vh;object-fit:contain}.shimmer.svelte-l0t79f{background:linear-gradient(90deg,#f3f6fa 25%,#e9eef5 37%,#f3f6fa 63%);background-size:400% 100%;animation:skeleton-shimmer var(--skeleton-speed, 1.2s) ease-in-out infinite}.item-skeleton.svelte-l0t79f{width:100%;display:grid;grid-template-columns:1fr 56px;align-items:center;gap:8px;border:1px solid #e6dcc5;border-radius:8px;padding:8px;background:#fffef9;box-sizing:border-box}.title.svelte-l0t79f{height:16px;border-radius:8px}.thumb.svelte-l0t79f{width:56px;height:38px;border-radius:6px}.discussion-overlay.svelte-wnx7uh{position:fixed;inset:0;background:#00000014;display:flex;justify-content:flex-end;z-index:10000}.panel.svelte-wnx7uh{width:min(440px,95vw);height:100vh;background:#faf6ee;box-shadow:-8px 0 20px #0000001f;display:flex;flex-direction:column;border-left:1px solid #e6dcc5;font-size:14px}.panel-header.svelte-wnx7uh{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #e6dcc5;background:#f1eadb}.title.svelte-wnx7uh{font-weight:700;color:#6b5e3c;font-size:18px}.close-btn.svelte-wnx7uh{border:1px solid #dccfae;background:#f7f2e6;color:#3a3a3a;cursor:pointer;font-size:16px;border-radius:6px;padding:6px 12px}.close-btn.svelte-wnx7uh:hover{background:#efe6d2}.panel-body.svelte-wnx7uh{padding:8px 10px;overflow:auto;flex:1}.panel-body.viewing.svelte-wnx7uh{overflow:hidden;display:flex;flex-direction:column;min-height:0}.search.svelte-wnx7uh{width:100%;padding:6px 8px;border:1px solid #d8ccb1;border-radius:8px;margin-bottom:8px;background:#fffdfa}.state.svelte-wnx7uh{color:#6b6b6b;padding:6px}.state.error.svelte-wnx7uh{color:#b33}.course-list.svelte-wnx7uh{list-style:none;margin:0;padding:0;display:grid;gap:6px}.course-item.svelte-wnx7uh{width:100%;display:grid;grid-template-columns:1fr 56px;align-items:center;gap:8px;text-align:left;border:1px solid #e6dcc5;border-radius:8px;padding:8px;background:#fffef9;cursor:pointer}.course-item.svelte-wnx7uh:hover{background:#f5efdf;border-color:#dccfae}.ci-title.svelte-wnx7uh{font-weight:600;color:#2f2a1f;line-height:1.2}.ci-cover.svelte-wnx7uh{width:56px;height:38px;object-fit:cover;border-radius:6px;border:1px solid #e6dcc5}.debug-container.svelte-uqbwou{max-width:1100px;margin:32px auto;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;padding:24px 24px 32px}h2.svelte-uqbwou{color:#0077c8;margin:0 0 12px}.actions.svelte-uqbwou{display:flex;gap:12px;margin-bottom:16px}.ep-card.svelte-uqbwou{border:1px solid #e7eef5;border-radius:10px;padding:16px;margin:10px 0 18px}.ep-header.svelte-uqbwou{display:flex;align-items:center;gap:10px;margin-bottom:10px}.method.svelte-uqbwou{font-weight:700;font-size:.9rem;padding:2px 8px;border-radius:999px}.method.GET.svelte-uqbwou{background:#e7f3ff;color:#0a66c2}.method.POST.svelte-uqbwou{background:#e8f5e9;color:#1b5e20}.title.svelte-uqbwou{font-weight:700;color:#333}.row.svelte-uqbwou{display:flex;gap:10px;align-items:center;margin:8px 0}.url-label.svelte-uqbwou{width:42px;color:#777}.url.svelte-uqbwou{flex:1;padding:10px;border:1px solid #cfd8dc;border-radius:6px;background:#f8fafc}.url-display.svelte-uqbwou{flex:1;padding:10px;border:1px solid #cfd8dc;border-radius:6px;background:#f8fafc;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:nowrap;overflow:auto}.params.svelte-uqbwou{gap:12px;flex-wrap:wrap}.param.svelte-uqbwou{display:flex;flex-direction:column;gap:6px}.param.svelte-uqbwou label:where(.svelte-uqbwou){font-size:.92rem;color:#333}.param.svelte-uqbwou input:where(.svelte-uqbwou){padding:10px;border:1px solid #cfd8dc;border-radius:6px;min-width:220px}.param.svelte-uqbwou select:where(.svelte-uqbwou){padding:10px;border:1px solid #cfd8dc;border-radius:6px;min-width:220px;background:#fff}textarea.svelte-uqbwou{width:100%;padding:10px;border:1px solid #cfd8dc;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.primary.svelte-uqbwou{background:#0077c8;border:none;color:#fff;border-radius:6px;padding:10px 16px;font-weight:700;cursor:pointer}.secondary.svelte-uqbwou{background:#f3f6fa;border:1px solid #cfd8dc;color:#2a73cc;border-radius:6px;padding:8px 12px;cursor:pointer;align-self:end}.meta.svelte-uqbwou{color:#666;font-size:.92rem}.result.svelte-uqbwou{background:#0b1020;color:#d7f1ff;padding:12px;border-radius:8px;overflow:auto;max-height:320px}.result.ok.svelte-uqbwou{border:1px solid #1e88e5}.result.fail.svelte-uqbwou{border:1px solid #e53935}.error.svelte-uqbwou{color:#c00;white-space:pre-wrap}:root{--skeleton-speed: 2s}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}html,body,#app{height:100%;min-height:100%;margin:0}body{overflow:hidden}.app-shell.svelte-1kf62o0{height:100%;display:flex;flex-direction:column;background:#f6f4ec}.page-content.svelte-1kf62o0{flex:1 1 auto;overflow:auto;min-height:0}.discussion-fab.svelte-1kf62o0{position:fixed;right:16px;bottom:60px;z-index:10010;width:44px;height:44px;border-radius:10px;background:#c7b693;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 3px 10px #00000029;font-size:18px;line-height:1;border:1px solid rgba(0,0,0,.08)}.discussion-fab.svelte-1kf62o0:hover{background:#b6a37f}.debug-fab.svelte-1kf62o0{position:fixed;right:14px;bottom:10px;z-index:10000;width:40px;height:40px;border-radius:8px;background:#a7b2bd;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 3px 10px #00000029;font-size:16px;line-height:1;border:1px solid rgba(0,0,0,.08)}.debug-fab.svelte-1kf62o0:hover{background:#8fa0ad}.debug-overlay.svelte-1kf62o0{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:20000;padding:20px}.debug-modal.svelte-1kf62o0{width:min(1100px,96%);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000080;position:relative;padding:12px}.debug-close.svelte-1kf62o0{position:absolute;right:8px;top:8px;border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#333;padding:6px 8px;border-radius:6px}.debug-close.svelte-1kf62o0:hover{background:#0000000d}
