@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{color:#1a2e28;background:#f5f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #ffffff;--ink: #1a2e28;--muted: #5c6e68;--line: #e2e8e4;--teal: #0e8385;--green: #2a7a52;--orange: #e86d32;--yellow: #f0c04a;--red: #c0392b;--soft-green: #e6f4eb;--soft-teal: #e0f1f1;--soft-orange: #fff3ec;--shadow-sm: 0 1px 3px rgba(16, 35, 31, .06), 0 1px 2px rgba(16, 35, 31, .04);--shadow: 0 4px 16px rgba(16, 35, 31, .07), 0 1px 3px rgba(16, 35, 31, .05);--shadow-lg: 0 12px 40px rgba(16, 35, 31, .1), 0 4px 12px rgba(16, 35, 31, .06);--radius: 12px;--radius-lg: 16px}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:0;max-width:100vw;min-height:100vh;overflow-x:hidden;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(14,131,133,.07),transparent 60%),linear-gradient(180deg,#f0f4ee,#f5f7f3 40%,#f5f7f3);color:var(--ink)}#root{overflow-x:hidden;max-width:100vw}button,input,select{font:inherit}button{cursor:pointer}textarea{font:inherit;min-height:96px;resize:vertical}a{color:inherit}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #0e838526}50%{box-shadow:0 0 0 6px #0e838500}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.app-shell{min-height:100vh;max-width:100vw;overflow-x:hidden;padding-bottom:88px;animation:fadeIn .4s ease-out}.topbar{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:16px 20px;max-width:100vw;background:#ffffffd1;border-bottom:1px solid rgba(226,232,228,.7);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);animation:slideDown .35s ease-out}.brand{display:flex;min-width:0;align-items:center;gap:12px}.brand-button{max-width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.brand-button:hover h1{color:var(--teal)}.brand-button:focus-visible{border-radius:10px;outline:3px solid rgba(14,131,133,.18);outline-offset:4px}.brand img{width:48px;height:48px;object-fit:contain;flex:0 0 auto}.brand h1,.brand p{margin:0}.brand h1{font-size:1.08rem;line-height:1.2}.brand p{color:var(--muted);font-size:.8rem}.editor-field,.settings-panel label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:.76rem}.editor-field input,.editor-field select,.settings-panel input,.filter-panel input,.assignment-row input,select{min-height:38px;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:8px 10px;transition:border-color .2s ease,box-shadow .2s ease}.editor-field input:focus,.editor-field select:focus,.settings-panel input:focus,.filter-panel input:focus,.assignment-row input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0e83851a;outline:none}.editor-field input{width:100%;max-width:128px}.editor-field select{width:100%;max-width:180px}.summary-strip{display:flex;flex-wrap:wrap;gap:8px;max-width:100vw;padding:12px 20px;border-bottom:1px solid rgba(226,232,228,.5);animation:slideDown .4s ease-out .1s both}.summary-strip .summary-btn{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:32px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:.8rem;font-weight:600;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease;cursor:pointer;outline:none;animation:summaryButtonPulse 2.8s ease-in-out infinite}.summary-strip .summary-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:#0e83854d;color:var(--ink)}.summary-strip .summary-btn:active{transform:scale(.97)}.summary-strip .summary-btn svg{animation:summaryIconNudge 2.8s ease-in-out infinite}.summary-strip .summary-status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:32px;padding:6px 12px;color:var(--muted);font-size:.8rem;font-weight:500;white-space:nowrap}.summary-strip svg,.bottom-nav svg,.secondary-button svg,.change-row svg,.conflict-row svg{width:17px;height:17px}.summary-strip .summary-danger{border-color:#bb3e3e59;color:var(--red);background:#fff2f2}.summary-strip .summary-danger:hover{border-color:var(--red);color:var(--red)}.summary-strip .summary-ok{border-color:#2f7d5759;color:var(--green);background:var(--soft-green)}.summary-strip .summary-ok:hover{border-color:var(--green);color:var(--green)}@keyframes summaryButtonPulse{0%,to{box-shadow:0 0 #0f8b8d00;border-color:var(--line)}45%{box-shadow:0 0 0 3px #0f8b8d1c;border-color:#0f8b8d61}}@keyframes summaryIconNudge{0%,to{transform:translate(0)}45%{transform:translate(1px)}}.content-shell{width:min(1180px,100%);max-width:100vw;margin:0 auto;padding:20px 16px;overflow-x:hidden}.view-stack{display:grid;gap:16px;animation:slideUp .35s ease-out}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;animation:slideUp .3s ease-out}.section-heading h1,.section-heading p{margin:0}.section-heading h1{font-size:1.5rem;font-weight:800;line-height:1.15;letter-spacing:-.02em}.eyebrow{color:var(--teal);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:34px;padding:6px 12px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:.85rem;white-space:nowrap}.count-badge.danger{background:var(--red)}.count-badge.ok{background:var(--green)}.event-list{display:grid;gap:10px}.event-card{overflow:visible;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-sm);transition:box-shadow .22s ease,border-color .22s ease;animation:fadeIn .35s ease-out both}.event-card:hover{box-shadow:var(--shadow);border-color:#0e838533}.event-card-highlight{border-color:#0f8b8d6b;background:var(--paper)}.event-card-has-assignment{border-color:#1f7a45;border-left:5px solid #1f7a45;box-shadow:0 0 0 2px #1f7a452e,var(--shadow-sm)}.event-card-has-assignment:hover{border-color:#176437;box-shadow:0 0 0 3px #1f7a453d,var(--shadow)}.side-event-card{border-left:3px solid #4257a8;border-radius:3px var(--radius) var(--radius) 3px}.event-card-transferred-side{border-color:#4257a861;background:linear-gradient(135deg,#f6f8ff,#fff 58%,#eef8f6);box-shadow:0 2px 10px #4257a814}.event-card-transferred-side.source-wsis{background:linear-gradient(135deg,#f3f7ff,#fff 58%,#edf7ff)}.event-card-transferred-side.source-ai-governance{background:linear-gradient(135deg,#fff8ed,#fff 58%,#f3f0ff)}.event-card-main{display:grid;grid-template-columns:58px minmax(0,1fr) 38px;gap:11px;padding:12px}.time-block{display:grid;align-content:start;justify-items:center;gap:3px;min-height:66px;padding:8px 6px;border-radius:10px;background:linear-gradient(135deg,var(--soft-teal) 0%,#d6ecec 100%);color:var(--teal);font-weight:800}.time-block small{color:var(--muted);font-size:.76rem;font-weight:650}.event-open-area{display:block;width:100%;min-width:0;max-width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;overflow:hidden}.event-content{min-width:0;overflow-wrap:anywhere;word-break:break-word}.meta-row,.tag-row,.assignment-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.meta-row{color:var(--muted);font-size:.78rem}.meta-row span{min-width:0}.event-card h2{margin:6px 0 0;font-size:1rem;line-height:1.28;overflow-wrap:anywhere}.english-title,.interest{margin:6px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}.interest{color:#33423e}.category-pill,.route-pill,.assignment-chip,.person-focus span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;font-size:.74rem;line-height:1.2;font-weight:720}.tag-row,.assignment-chips{margin-top:8px}.category-pill{max-width:100%;background:#f4f6f2;color:#36433f;border:1px solid var(--line)}.event-type-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;color:#fff;background:#66756f;font-size:.72rem;font-weight:800}.side-event-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid rgba(66,87,168,.25);border-radius:999px;background:#eef2ff;color:#2f408c;font-size:.72rem;font-weight:800}.source-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:#f4f6f2;color:#34423e;font-size:.72rem;font-weight:850}.source-badge.source-ai-for-good{border-color:#0e838547;background:var(--soft-teal);color:#185759}.source-badge.source-wsis{border-color:#4257a840;background:#eef2ff;color:#2f408c}.source-badge.source-ai-governance{border-color:#2f7d5747;background:var(--soft-green);color:var(--green)}.source-badge.source-delegation{border-color:#e86d3252;background:var(--soft-orange);color:#9a4c21}.type-workshop,.type-training{border-color:#0f8b8d52}.event-type-pill.type-workshop{background:#0f8b8d}.event-type-pill.type-training{background:#7c5cc4}.event-type-pill.type-panel{background:#2f7d57}.event-type-pill.type-keynote{background:#d0622f}.event-type-pill.type-symposium{background:#4257a8}.event-type-pill.type-session,.event-type-pill.type-program{background:#65736f}.event-type-pill.type-toplanti{background:#8a5a00}.event-type-pill.type-namaz{background:#5c6f2d}.route-core{background:var(--soft-green);color:var(--green)}.route-backup{background:#fff7dd;color:#7a5a00}.route-locked,.route-conflict{background:#fff2f2;color:var(--red)}.assignment-chip{background:#f5f7f4;border:1px solid var(--line)}.status-attending{border-color:#2f7d5759;background:var(--soft-green);color:var(--green)}.status-recommended{border-color:#0f8b8d52;background:var(--soft-teal);color:var(--teal)}.status-backup{border-color:#f07a3d61;background:#fff4ec;color:#9a4c21}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);transition:transform .15s ease,background .15s ease,border-color .15s ease}.icon-button:hover{background:#f4f6f2;border-color:var(--teal);transform:scale(1.06)}.icon-button:active{transform:scale(.95)}.icon-button svg{width:18px;height:18px}.event-detail{display:grid;gap:12px;padding:0 12px 12px 81px}.event-detail p{margin:0;color:#33423e;line-height:1.5}.speakers{font-size:.86rem}.assignment-editor{display:grid;gap:8px}.assignment-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.assignment-row strong,.assignment-row small{display:block;min-width:0}.assignment-row small{margin-top:2px;color:var(--muted);font-size:.76rem;line-height:1.3}.assignment-row input{grid-column:1 / -1;width:100%}.detail-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;color:var(--muted);font-size:.78rem}.detail-footer a,.secondary-button,.primary-button,.source-link{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:var(--teal);font-weight:750;text-decoration:none}.detail-footer a svg{width:15px;height:15px}.filter-panel,.settings-panel,.category-form{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-sm);max-width:100%;overflow:hidden}.filter-panel select,.filter-panel input{width:100%;min-width:0}.restaurant-list,.practical-grid{display:grid;gap:12px}.side-transferred-section{display:grid;gap:10px;padding-top:4px}.compact-heading h2{margin:0;font-size:1.12rem;line-height:1.2}.practical-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:4px var(--radius) var(--radius) 4px;background:var(--paper);box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease;animation:slideUp .35s ease-out both}.practical-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.practical-card:first-child{border-left-color:var(--red);background:linear-gradient(135deg,#fff8f7 0%,var(--paper) 100%)}.practical-card:nth-child(2){border-left-color:var(--green)}.practical-card:nth-child(4){border-left-color:var(--orange)}.practical-card header{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.practical-card header svg{width:24px;height:24px;color:var(--teal);justify-self:center;transition:transform .2s ease}.practical-card:hover header svg{transform:scale(1.15)}.practical-card h2{margin:0;font-size:1.02rem;line-height:1.25}.practical-card ul{display:grid;gap:8px;margin:0;padding-left:20px}.practical-card li{color:#33423e;font-size:.9rem;line-height:1.48}.practical-links{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px;border-top:1px solid var(--line)}.practical-links a{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 10px;border:1px solid rgba(14,131,133,.26);border-radius:8px;background:var(--soft-teal);color:#185759;font-size:.78rem;font-weight:700;text-decoration:none;transition:background .2s ease,transform .15s ease,box-shadow .15s ease}.practical-links a:hover{background:#d0eded;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.practical-links svg{width:14px;height:14px}.restaurant-card{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;animation:slideUp .3s ease-out both}.restaurant-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#0e838540}.restaurant-card:hover svg{transform:scale(1.15)}.restaurant-card h2,.restaurant-card p{margin:0}.restaurant-card h2{font-size:1rem}.restaurant-card p,.restaurant-card span{display:block;margin-top:5px;color:var(--muted);font-size:.84rem;line-height:1.4}.restaurant-card svg{width:22px;height:22px;color:var(--teal);justify-self:center;transition:transform .2s ease}.settings-subsection{display:grid;gap:12px}.settings-subsection h2{margin:4px 0 0;font-size:1.08rem}.search-field{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.search-field svg{width:17px;height:17px;color:var(--muted)}.search-field input{min-height:38px;padding:0;border:0;outline:0}.notice{padding:12px 14px;border:1px solid rgba(14,131,133,.25);border-radius:var(--radius);background:var(--soft-teal);color:#185759;font-size:.88rem;line-height:1.5;animation:slideUp .3s ease-out}.notice.danger{border-color:#c0392b4d;background:#fef4f3;color:var(--red)}.notice.warning{margin-top:10px;border-color:#e86d3257;background:#fff7ea;color:#8a4b13}.people-grid,.conflict-list,.change-log{display:grid;gap:12px}.person-card,.conflict-row,.change-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease;animation:slideUp .3s ease-out both}.person-card:hover,.change-row:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.person-card{padding:16px;border-left:3px solid var(--green);border-radius:3px var(--radius) var(--radius) 3px}.person-card h2,.person-card p{margin:0}.person-card h2{font-size:1.05rem}.person-card p,.muted{margin-top:5px;color:var(--muted);font-size:.86rem;line-height:1.4}.person-focus{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.person-focus span{background:#f4f6f2;color:#394944}.person-events{display:grid;gap:8px;margin-top:12px}.person-event{display:grid;gap:3px;padding-top:8px;border-top:1px solid var(--line)}.person-event strong{font-size:.88rem;line-height:1.35}.person-event span{color:var(--muted);font-size:.78rem}.conflict-row,.change-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:14px}.conflict-row{border-left:3px solid var(--red);border-radius:3px var(--radius) var(--radius) 3px;background:linear-gradient(135deg,#fef8f8 0%,var(--paper) 100%);animation:slideUp .3s ease-out both}.conflict-row svg{color:var(--red)}.conflict-row h2,.conflict-row p,.change-row strong,.change-row span{margin:0}.conflict-row h2{font-size:1rem}.conflict-row p,.change-row span{display:block;margin-top:4px;color:var(--muted);font-size:.82rem;line-height:1.4}.change-row svg{color:var(--green)}.settings-panel{gap:14px}.active-users-panel{border-color:#2a7a5238;background:#fbfefb}.active-user-list{display:grid;gap:8px}.active-user-row{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;align-items:center;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.active-user-row strong,.active-user-row span{display:block;overflow-wrap:anywhere}.active-user-row span{margin-top:2px;color:var(--muted);font-size:.78rem}.presence-dot{width:10px;height:10px;border-radius:999px;background:var(--green);box-shadow:0 0 0 4px #2a7a521f}.settings-panel label input{width:min(100%,260px)}.category-form label,.modal-side label{display:grid;gap:5px;color:var(--muted);font-size:.78rem}.category-form input,.category-form textarea,.modal-side input,.modal-side textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:8px 10px}.category-list{display:grid;gap:12px}.category-form-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.category-form-heading span{color:var(--muted);font-size:.82rem}.add-category{border-color:#0f8b8d52;background:var(--soft-teal)}.program-event-form{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}.program-event-form label:has(textarea),.program-event-form button{grid-column:1 / -1}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-row div{display:grid;gap:2px;min-height:68px;align-content:center;padding:10px;border-radius:8px;background:#f4f6f2}.metric-row strong{font-size:1rem;overflow-wrap:anywhere}.metric-row span{color:var(--muted);font-size:.78rem}.secondary-button,.primary-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:8px 14px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.secondary-button:hover,.primary-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.secondary-button:active,.primary-button:active{transform:translateY(0) scale(.98)}.primary-button{justify-content:center;border-color:var(--teal);background:var(--teal);color:#fff;font-weight:700}.primary-button:hover{background:#0b7476;box-shadow:0 4px 12px #0e838540}.danger-button{border-color:#c0392b57;color:var(--red)}.danger-button:hover{background:#fff2f2;border-color:var(--red)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.65}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:8px;background:#10231f6b;animation:backdropIn .2s ease-out;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.event-modal{width:min(1120px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:min(80vh,880px);max-height:min(80dvh,880px);flex-shrink:0;overflow:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-lg);animation:modalIn .3s ease-out;-webkit-overflow-scrolling:touch}.floor-plan-modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1180px,calc(100vw - 16px));max-width:calc(100vw - 16px);height:min(85vh,920px);height:min(85dvh,920px);flex-shrink:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-lg);animation:modalIn .3s ease-out}.floor-plan-scroll{overflow:auto;padding:10px;background:#f4f6f2;touch-action:pan-x pan-y pinch-zoom}.floor-plan-scroll img{display:block;width:100%;height:auto;border-radius:8px;background:#fff}.modal-header{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:12px;align-items:start;padding:14px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal-header>div{min-width:0}.modal-header h2,.detail-section h3{margin:0}.modal-header h2{font-size:1.22rem;line-height:1.2}.modal-header .icon-button{grid-column:2;justify-self:end;position:relative;z-index:4}.modal-grid{display:grid;gap:12px;padding:14px}.modal-main,.modal-side,.detail-section{display:grid;gap:12px}.detail-section{align-content:start;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.detail-section h3{font-size:.95rem}.detail-section p{margin:0;color:#33423e;line-height:1.5}.source-description{padding-top:8px;border-top:1px solid var(--line)}.source-description summary{cursor:pointer;color:var(--teal);font-size:.82rem;font-weight:750}.source-description p{margin-top:8px;color:var(--muted)}.ai-note-section{background:#fff9e8;border-color:#f3c969a6}.access-warning-section{background:#fff2f2;border-color:#bb3e3e59}.access-warning-section h3,.access-warning-section p{color:var(--red)}.speaker-grid{display:grid;gap:10px}.speaker-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;min-height:58px}.speaker-card img,.speaker-initials{width:48px;height:48px;border-radius:50%}.speaker-card img{object-fit:cover;background:#eef2ef}.speaker-initials{display:grid;place-items:center;background:var(--soft-teal);color:var(--teal);font-weight:800}.speaker-card strong,.speaker-card span{display:block}.speaker-card span{margin-top:3px;color:var(--muted);font-size:.8rem;line-height:1.35}.source-link svg{width:15px;height:15px}.empty-state,.loading-shell{display:grid;place-items:center;gap:10px;min-height:320px;text-align:center;color:var(--muted);animation:fadeIn .5s ease-out}.empty-state svg,.loading-shell svg{width:34px;height:34px;color:var(--teal)}.empty-state h2,.empty-state p,.loading-shell h1,.loading-shell p{margin:0}.empty-state h2,.loading-shell h1{color:var(--ink);font-size:1.1rem}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{position:fixed;right:0;bottom:var(--visual-bottom-offset, 0px);left:0;z-index:50;display:flex;gap:4px;overflow:hidden;max-width:100vw;padding:8px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid rgba(226,232,228,.7);background:#ffffffe0;-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);pointer-events:auto;isolation:isolate}.bottom-nav button{position:relative;z-index:1;pointer-events:auto;display:grid;flex:1 1 0;justify-items:center;gap:3px;min-width:0;min-height:52px;padding:6px 2px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.64rem;transition:background .2s ease,color .2s ease,transform .15s ease}.bottom-nav button:hover:not(.active){background:#0e83850f;color:var(--ink)}.bottom-nav button:active{transform:scale(.94)}.bottom-nav button.active{background:var(--ink);color:#fff;box-shadow:0 2px 8px #1a2e2833}.bottom-nav span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.08}.scroll-top-button{position:fixed;right:16px;bottom:calc(var(--visual-bottom-offset, 0px) + 82px);z-index:55;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(14,131,133,.24);border-radius:999px;background:var(--paper);color:var(--teal);box-shadow:var(--shadow-lg);animation:scaleIn .2s ease-out}.scroll-top-button svg{width:22px;height:22px}.toast-stack{position:fixed;right:14px;bottom:calc(var(--visual-bottom-offset, 0px) + 136px);left:14px;z-index:80;display:grid;justify-items:end;gap:8px;max-width:calc(100vw - 28px);pointer-events:none}.toast{width:min(100%,360px);padding:12px 14px;border:1px solid rgba(14,131,133,.22);border-left:4px solid var(--teal);border-radius:8px;background:#fffffff5;box-shadow:var(--shadow-lg);animation:slideUp .22s ease-out}.toast strong,.toast span{display:block}.toast span{margin-top:4px;color:var(--muted);font-size:.84rem;line-height:1.4}@media(min-width:760px){.app-shell{padding-bottom:0}.topbar{padding:20px 28px}.brand h1{font-size:1.28rem}.content-shell{padding:24px 28px 36px}.bottom-nav{position:sticky;top:0;bottom:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));width:min(1180px,calc(100% - 56px));margin:0 auto;padding:10px 0 0;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.bottom-nav button{flex:initial;grid-template-columns:18px auto;justify-content:center;align-items:center;min-height:42px;padding:8px 12px;border:1px solid var(--line);background:var(--paper);font-size:.86rem;transition:background .2s ease,border-color .2s ease,transform .15s ease}.bottom-nav button:hover:not(.active){border-color:#0e83854d;background:var(--soft-teal)}.bottom-nav button.active{border-color:var(--ink);box-shadow:0 2px 8px #1a2e2826}.summary-strip{justify-content:center}.practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading h1{font-size:1.85rem}.filter-panel{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));align-items:center}.side-filter-panel{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.event-card-main{grid-template-columns:72px minmax(0,1fr) 42px;padding:16px}.event-card h2{font-size:1.08rem}.event-detail{padding:0 16px 16px 99px}.assignment-row{grid-template-columns:minmax(0,1fr) 140px minmax(0,.8fr)}.assignment-row input{grid-column:auto}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{align-items:center}.modal-header{padding:18px}.modal-grid{grid-template-columns:minmax(0,1fr) min(320px,40%);padding:18px}.speaker-grid,.category-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.identity-backdrop{justify-content:center;align-items:center}.identity-modal{display:grid;gap:14px;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;flex-shrink:0;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-lg);animation:modalIn .35s ease-out;-webkit-overflow-scrolling:touch}.identity-modal h2,.identity-modal p{margin:0}.identity-modal h2{font-size:1.35rem;font-weight:800;letter-spacing:-.01em}.identity-modal p{color:var(--muted)}.intro-modal ul{display:grid;gap:8px;margin:0;padding-left:20px}.intro-modal li{color:#33423e;font-size:.9rem;line-height:1.45}.countdown-line{margin:8px 0 0;color:var(--orange);font-size:1.05rem;font-weight:850;animation:pulseGlow 2s ease-in-out infinite;display:inline-block}.reminder-modal{max-width:min(860px,calc(100vw - 16px));max-height:calc(72vh - 76px);max-height:calc(72dvh - 76px);margin-bottom:68px}.reminder-grid{grid-template-columns:1fr}.floating-reminder-close{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));left:18px;z-index:90;min-height:46px;box-shadow:0 16px 38px #10231f47}@media(min-width:1080px){.people-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:460px){.topbar{align-items:flex-start}.brand img{width:40px;height:40px}.editor-field{max-width:100px;flex-shrink:1}.editor-field input,.editor-field select{width:100%;max-width:100%}.event-card-main{grid-template-columns:52px minmax(0,1fr) 34px;gap:8px;padding:10px}.time-block{min-height:60px;padding:7px 4px;font-size:.88rem}.event-detail{padding:0 10px 10px 70px}.metric-row{grid-template-columns:1fr}.modal-backdrop{padding:0}.event-modal{width:100vw;max-width:100vw;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);border-radius:var(--radius) var(--radius) 0 0}.modal-grid{padding:10px}.modal-header{padding:12px}.identity-modal{padding:18px;width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}.reminder-modal{margin-bottom:60px}.content-shell{padding:12px 10px}.interest{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}.event-card:nth-child(1){animation-delay:0s}.event-card:nth-child(2){animation-delay:.04s}.event-card:nth-child(3){animation-delay:.08s}.event-card:nth-child(4){animation-delay:.12s}.event-card:nth-child(5){animation-delay:.16s}.event-card:nth-child(n+6){animation-delay:.2s}.practical-card:nth-child(1){animation-delay:0s}.practical-card:nth-child(2){animation-delay:.06s}.practical-card:nth-child(3){animation-delay:.12s}.practical-card:nth-child(4){animation-delay:.18s}.practical-card:nth-child(n+5){animation-delay:.22s}.person-card:nth-child(1){animation-delay:0s}.person-card:nth-child(2){animation-delay:.05s}.person-card:nth-child(3){animation-delay:.1s}.person-card:nth-child(n+4){animation-delay:.15s}.restaurant-card:nth-child(1){animation-delay:0s}.restaurant-card:nth-child(2){animation-delay:.06s}.restaurant-card:nth-child(3){animation-delay:.12s}.restaurant-card:nth-child(n+4){animation-delay:.16s}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
