:root{--bg: var(--tg-theme-bg-color, #f4f4f5);--text: var(--tg-theme-text-color, #111);--hint: var(--tg-theme-hint-color, #6b7280);--btn: var(--tg-theme-button-color, #2481cc);--btn-text: var(--tg-theme-button-text-color, #fff);--secondary: var(--tg-theme-secondary-bg-color, #fff);--border: color-mix(in srgb, var(--hint) 22%, transparent);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}#app{min-height:100dvh;padding:12px 16px calc(88px + var(--safe-bottom))}.back-btn{margin-bottom:8px}.meeting-when{margin:0 0 10px;font-size:.9rem;color:var(--hint);text-transform:capitalize}.meeting-title{margin:12px 0 16px;font-size:1.15rem;font-weight:600;line-height:1.35}.meeting-title.hidden,.title-input.hidden,.cal-suggest.hidden{display:none}.title-wrap{margin:8px 0 12px}.title-input{width:100%;font:inherit;font-size:1.05rem;font-weight:600;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--secondary);color:var(--text)}.cal-suggest{margin-bottom:14px;padding:12px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--btn) 6%,var(--secondary))}.cal-suggest-label{margin:0 0 10px;font-size:.85rem;color:var(--hint)}.cal-alt-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid var(--border)}.cal-alt-row:first-of-type{border-top:none;padding-top:0}.cal-alt-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cal-alt-name{font-weight:600;font-size:.95rem;line-height:1.3}.cal-alt-when{font-size:.8rem;color:var(--hint)}.btn-sm{padding:8px 12px;font-size:.85rem;flex-shrink:0}.card-title{font-size:1.05rem;margin:0 0 4px;font-weight:600}h1{font-size:1.25rem;margin:0 0 4px;font-weight:600}.sub{color:var(--hint);font-size:.85rem;margin:0 0 16px}.card{background:var(--secondary);border-radius:14px;padding:14px 16px;margin-bottom:10px;border:1px solid var(--border)}.card.tap{cursor:pointer}.card.tap:active{opacity:.88}.clips-row{display:flex;gap:10px;align-items:center;margin-bottom:4px}.clip-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--border);background:var(--secondary);color:var(--text);font-size:.95rem;font-weight:600;cursor:pointer;flex-shrink:0}.clip-btn.active{border-color:var(--btn)}.clip-btn.playing{background:var(--btn);color:var(--btn-text);border-color:var(--btn)}.roster-wrap{margin-top:4px}.roster-empty{color:var(--hint);font-size:.9rem;padding:12px 0}.roster-empty.hidden{display:none}.roster-table{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--secondary)}.roster-head,.roster-row{display:grid;grid-template-columns:1fr minmax(72px,28%) 72px;gap:8px;align-items:center;padding:10px 12px}.roster-head{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--hint);background:color-mix(in srgb,var(--hint) 8%,var(--secondary));border-bottom:1px solid var(--border)}.roster-row+.roster-row{border-top:1px solid var(--border)}.roster-row.assigned{opacity:.55}.col-name{font-size:.92rem;font-weight:500;line-height:1.25}.col-login{font-size:.78rem;color:var(--hint);word-break:break-all}.speaker-pick{min-height:36px;padding:6px 8px;border-radius:8px;border:1.5px solid var(--border);background:var(--bg);color:var(--hint);font-size:.72rem;font-weight:600;text-transform:lowercase;cursor:pointer}.speaker-pick.on{background:var(--btn);color:var(--btn-text);border-color:var(--btn)}.label-footer{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;padding:10px 16px calc(10px + var(--safe-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border)}.label-footer .btn-ghost{flex:1}.btn{border:none;border-radius:10px;padding:10px 14px;font-size:.9rem;cursor:pointer;background:var(--bg);color:var(--text)}.btn.active{background:var(--btn);color:var(--btn-text)}.btn-ghost{background:transparent;color:var(--btn);border:1px solid color-mix(in srgb,var(--btn) 35%,transparent)}.empty{text-align:center;color:var(--hint);padding:40px 16px}.error{color:#b91c1c;padding:12px;background:#fef2f2;border-radius:10px;margin-bottom:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;z-index:50;padding:12px;padding-bottom:calc(12px + var(--safe-bottom))}.modal{width:100%;background:var(--secondary);border-radius:16px 16px 12px 12px;padding:16px}.modal h2{margin:0 0 12px;font-size:1rem}.field{margin-bottom:10px}.field label{display:block;font-size:.8rem;color:var(--hint);margin-bottom:4px}.field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:1rem;background:var(--bg);color:var(--text)}.modal-actions{display:flex;gap:8px;margin-top:14px}.modal-actions .btn{flex:1}
