.jigsaw-page.svelte-1ril1bk{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--ts-light);color:var(--ts-text)}.jigsaw-layout.svelte-1ril1bk{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar.svelte-1ril1bk{width:270px;min-width:270px;border-right:1px solid var(--ts-border);background:#fff;display:flex;flex-direction:column;padding:.75rem;gap:.6rem;overflow-y:auto}.sidebar-hero.svelte-1ril1bk{border-left:4px solid #00BCD4;padding:.5rem .6rem}.sidebar-hero-title.svelte-1ril1bk{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:#00bcd4;margin:0}.sidebar-hero-tagline.svelte-1ril1bk{font-family:var(--font-body);font-size:.75rem;color:var(--ts-text-secondary);margin:.2rem 0 0}.sidebar-how-to-use.svelte-1ril1bk{font-family:var(--font-ui);font-size:.7rem;color:var(--ts-text-secondary);margin-top:.3rem}.sidebar-how-to-use.svelte-1ril1bk summary:where(.svelte-1ril1bk){cursor:pointer;-webkit-user-select:none;user-select:none;padding:.15rem 0}.sidebar-how-content.svelte-1ril1bk{margin-top:.25rem;padding:.4rem;background:var(--ts-bg-alt);border-radius:var(--radius-sm);font-size:.7rem;line-height:1.4}.sidebar-section.svelte-1ril1bk{display:flex;flex-direction:column;gap:.4rem}.sidebar-label.svelte-1ril1bk{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--ts-text-secondary)}.sidebar-footer.svelte-1ril1bk{display:flex;justify-content:center;border-top:1px solid var(--ts-border);padding-top:.5rem;margin-top:auto}.panel-show.svelte-1ril1bk{position:absolute;top:12px;left:0;z-index:10;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ts-border);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fff;cursor:pointer}.icon-sm.svelte-1ril1bk{width:14px;height:14px}.form-row.svelte-1ril1bk{display:flex;gap:.25rem;align-items:center}.tag-list.svelte-1ril1bk{display:flex;flex-wrap:wrap;gap:.2rem}.tag.svelte-1ril1bk{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .4rem;background:color-mix(in srgb,var(--tag-color) 15%,white);border:1px solid var(--tag-color);border-radius:var(--radius-xl);font-family:var(--font-ui);font-size:.65rem;font-weight:600;color:var(--tag-color)}.tag-del.svelte-1ril1bk{border:none;background:none;cursor:pointer;font-size:.6rem;color:var(--tag-color);opacity:.5}.tag-del.svelte-1ril1bk:hover{opacity:1}.student-list.svelte-1ril1bk{display:flex;flex-wrap:wrap;gap:.2rem;max-height:100px;overflow-y:auto}.student-chip.svelte-1ril1bk{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem .35rem;background:var(--ts-bg-alt);border-radius:var(--radius-xl);font-family:var(--font-ui);font-size:.65rem;color:var(--ts-text)}.chip-del.svelte-1ril1bk{border:none;background:none;cursor:pointer;font-size:.55rem;color:var(--ts-text-secondary)}.chip-del.svelte-1ril1bk:hover{color:#e91e63}.hint-text.svelte-1ril1bk{font-family:var(--font-ui);font-size:.65rem;color:var(--ts-text-secondary);font-style:italic}.phase-nav.svelte-1ril1bk{display:flex;flex-direction:column;gap:.2rem}.phase-btn.svelte-1ril1bk{padding:.3rem .5rem;border:1px solid var(--ts-border);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.7rem;cursor:pointer;background:#fff;color:var(--ts-text);text-align:left;transition:all .15s}.phase-btn.active.svelte-1ril1bk{background:#00bcd4;color:#fff;border-color:#00bcd4}.phase-btn.svelte-1ril1bk:hover:not(.active){background:var(--ts-bg-alt)}.set-list.svelte-1ril1bk{display:flex;flex-direction:column;gap:.2rem;max-height:80px;overflow-y:auto}.set-item.svelte-1ril1bk{display:flex;align-items:center;gap:.2rem;border-radius:var(--radius-sm)}.set-item.active.svelte-1ril1bk{background:var(--ts-bg-alt)}.set-btn.svelte-1ril1bk{flex:1;display:flex;justify-content:space-between;padding:.3rem .4rem;border:none;background:none;cursor:pointer}.set-title.svelte-1ril1bk{font-family:var(--font-heading);font-size:.75rem;font-weight:600;color:var(--ts-text)}.set-meta.svelte-1ril1bk{font-size:.8rem}.set-del.svelte-1ril1bk{padding:.2rem .3rem;border:none;background:none;cursor:pointer;color:var(--ts-text-secondary);font-size:.7rem;opacity:0}.set-item.svelte-1ril1bk:hover .set-del:where(.svelte-1ril1bk){opacity:1}.btn-sm.svelte-1ril1bk{padding:.25rem .6rem;border:1px solid var(--ts-border);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.7rem;cursor:pointer;background:#fff;color:var(--ts-text);transition:all .15s}.btn-sm.svelte-1ril1bk:hover:not(:disabled){background:var(--ts-bg-alt)}.btn-accent.svelte-1ril1bk{background:#00bcd4;color:#fff;border-color:#00bcd4}.input-sm.svelte-1ril1bk{padding:.25rem .4rem;border:1px solid var(--ts-border);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.75rem;outline:none;width:100%}.input-sm.svelte-1ril1bk:focus{border-color:#00bcd4}.jigsaw-main.svelte-1ril1bk{flex:1;display:flex;flex-direction:column;padding:1rem;overflow-y:auto;min-height:0;align-items:center}.phase-header.svelte-1ril1bk{text-align:center;margin-bottom:1rem}.phase-emoji.svelte-1ril1bk{font-size:2.5rem;line-height:1}.phase-title.svelte-1ril1bk{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--ts-text);margin:.25rem 0 0}.phase-desc.svelte-1ril1bk{font-family:var(--font-body);font-size:.85rem;color:var(--ts-text-secondary);margin:.2rem 0 0}.groups-grid.svelte-1ril1bk{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;width:100%;max-width:900px}.group-card.svelte-1ril1bk{background:#fff;border:1px solid var(--ts-border);border-top:4px solid var(--g-color, #00BCD4);border-radius:var(--radius-md);padding:.6rem}.home-card.svelte-1ril1bk{border-top-color:#607d8b;--g-color: #607D8B}.group-header.svelte-1ril1bk{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.group-label.svelte-1ril1bk{font-family:var(--font-heading);font-size:.8rem;font-weight:700;color:var(--ts-text)}.group-topic.svelte-1ril1bk{font-family:var(--font-ui);font-size:.7rem;font-weight:600;color:var(--g-color)}.group-members.svelte-1ril1bk{display:flex;flex-direction:column;gap:.2rem}.member.svelte-1ril1bk{font-family:var(--font-body);font-size:.85rem;color:var(--ts-text);padding:.2rem .4rem;background:var(--ts-bg-alt);border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center}.member-topic.svelte-1ril1bk{font-family:var(--font-ui);font-size:.6rem;color:var(--ts-text-secondary)}.share-display.svelte-1ril1bk{text-align:center;width:100%;max-width:700px}.share-grid.svelte-1ril1bk{display:flex;flex-direction:column;gap:.5rem}.share-card.svelte-1ril1bk{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--ts-border);border-radius:var(--radius-md)}.share-num.svelte-1ril1bk{font-family:var(--font-body);font-size:1.3rem;font-weight:700;color:#00bcd4;width:30px;text-align:center}.share-members.svelte-1ril1bk{font-family:var(--font-body);font-size:.9rem;color:var(--ts-text)}.share-hint.svelte-1ril1bk{font-family:var(--font-ui);font-size:.75rem;color:var(--ts-text-secondary);margin-top:1rem}.topic-legend.svelte-1ril1bk{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center;margin-top:1rem}.legend-tag.svelte-1ril1bk{padding:.2rem .5rem;background:color-mix(in srgb,var(--tag-color) 15%,white);border:1px solid var(--tag-color);border-radius:var(--radius-xl);font-family:var(--font-ui);font-size:.65rem;font-weight:600;color:var(--tag-color)}.empty-state.svelte-1ril1bk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center}.empty-icon.svelte-1ril1bk{font-size:4rem;line-height:1}.empty-title.svelte-1ril1bk{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--ts-text);margin:0}.empty-desc.svelte-1ril1bk{font-family:var(--font-body);font-size:.9rem;color:var(--ts-text-secondary);margin:0}@media(max-width:768px){.jigsaw-page.svelte-1ril1bk{height:auto;min-height:100vh;overflow:auto}.jigsaw-layout.svelte-1ril1bk{flex-direction:column;overflow:visible}.sidebar.svelte-1ril1bk{width:100%;min-width:100%;border-right:none;border-bottom:1px solid var(--ts-border);padding:.5rem}.groups-grid.svelte-1ril1bk{grid-template-columns:1fr}}
