:root{color:#172033;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-background:#fff;font-synthesis:none;text-rendering:optimizelegibility;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{background:var(--page-background)}body{min-width:320px;margin:0}button{color:#fff;background:var(--theme-strong,#111827);min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:16px;padding:0 22px;font-weight:700}button:disabled{opacity:.55;cursor:wait}button:focus-visible{outline-offset:3px;outline:3px solid #80bfff}.loading-overlay{z-index:1000;color:#172033;cursor:wait;-webkit-user-select:none;user-select:none;background:#ffffffc7;place-content:center;gap:16px;display:grid;position:fixed;inset:0}.loading-spinner{border:6px solid #d7e5f2;border-top-color:#1769aa;border-radius:50%;width:52px;height:52px;margin:0 auto;animation:.8s linear infinite loading-spin}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-background:#000}.loading-overlay{color:#f5f7fa;background:#0f172ac7}.loading-spinner{border-color:#7dd3fc #334155 #334155}}@keyframes loading-spin{to{transform:rotate(360deg)}}.nfc-shell{min-height:100svh;color:var(--theme-text,#172033);background:var(--page-background,#fff);padding:12px 20px 20px;transition:background-color .18s}.nfc-shell.theme-empty{--theme-strong:#18864b;--theme-status:#18864b}.nfc-shell.theme-waiting{--theme-strong:#b77900;--theme-status:#b77900}.nfc-shell.theme-using{--theme-strong:#c5332b;--theme-status:#c5332b}@media (prefers-color-scheme:dark){body{background:#000}.nfc-shell{--page-background:#000;--theme-text:#f5f7fa}}@media (prefers-color-scheme:light){.nfc-shell{--page-background:#fff;--theme-text:#172033}}.nfc-page{flex-direction:column;gap:24px;width:min(100%,720px);min-height:calc(100svh - 40px);margin:0 auto;display:flex}.nfc-entry-page,.nfc-error-page{padding-top:clamp(12px,3.2vh,34px)}.result-banner{border:2px solid;border-radius:18px;align-items:center;gap:14px;min-height:76px;padding:18px 22px;font-size:clamp(18px,4vw,24px);line-height:1.35;display:flex;box-shadow:0 8px 24px #182d4b1f}.result-banner-icon{color:#fff;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:22px;font-weight:900;display:grid}.result-banner-success{color:#075c38;background:#e8f8ef;border-color:#82d6ae}.result-banner-success .result-banner-icon{background:#087f4e}.result-banner-error{color:#8b1e16;background:#fff0ee;border-color:#f0a29a}.result-banner-error .result-banner-icon{background:#b42318}.end-warning{z-index:900;padding:32px 24px calc(32px + env(safe-area-inset-bottom));color:#7f1d1d;text-align:center;background:#fef2f2;flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex;position:fixed;inset:0}.end-warning-icon{color:#d97706;place-items:center;font-size:clamp(72px,18vw,132px);line-height:1;display:grid}.end-warning strong{max-width:90%;font-size:clamp(32px,8vw,64px);line-height:1.3}.end-warning-close{right:24px;bottom:calc(24px + env(safe-area-inset-bottom));color:#7f1d1d;background:#fff;border:1px solid #fecaca;border-radius:14px;min-height:56px;font-size:20px;position:absolute;left:24px}.nfc-card{background:var(--card-background,#fff);border:1px solid #fffc;border-radius:28px;width:100%;padding:clamp(24px,6vw,48px);box-shadow:0 18px 48px #182d4b26}.nfc-brand{justify-items:center;margin-bottom:20px;display:grid}.nfc-brand-logo{width:min(260px,80vw);height:auto;display:block}.nfc-build-badge{right:10px;bottom:calc(6px + env(safe-area-inset-bottom));z-index:1200;color:#667085;letter-spacing:.02em;-webkit-user-select:none;user-select:none;background:#ffffffb3;border-radius:999px;padding:2px 8px;font-size:11px;line-height:1.4;position:fixed}.nfc-content{flex:1;min-width:0}.nfc-header{justify-content:flex-end;min-height:24px;margin-bottom:12px}.nfc-header h1{margin:0;font-size:clamp(28px,7vw,42px);line-height:1.15}.nfc-header p{color:#667085;margin:6px 0 0;font-size:14px}.nfc-card p{line-height:1.6}.nfc-header,.action-row{align-items:center;gap:12px;display:flex}.user-avatar,.user-avatar-fallback{border-radius:50%;flex:0 0 40px;width:40px;height:40px}.user-avatar{object-fit:cover}.user-avatar-fallback{color:#fff;background:var(--theme-strong,#1769aa);place-items:center;display:grid}.user-menu-container{position:relative}.user-avatar-button{background:0 0;border:0;border-radius:50%;min-height:40px;padding:4px}.user-avatar-button:focus-visible{outline-color:var(--theme-strong,#1769aa)}.user-menu{z-index:2;border:1px solid var(--card-border,#e6eaf0);min-width:190px;color:var(--theme-text,#172033);background:var(--card-background,#fff);border-radius:16px;justify-items:center;gap:10px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #182d4b26}.user-menu-avatar{object-fit:cover;border-radius:50%;width:56px;height:56px}.user-menu-name{overflow-wrap:anywhere;text-align:center;max-width:100%}.user-menu-signout{background:#b42318;border-radius:10px;width:100%;min-height:40px;padding:0 12px;font-size:14px}.secondary-button{min-height:40px;color:var(--theme-status,#1769aa);border:2px solid var(--theme-status,#1769aa);background:0 0;padding:0 14px}.danger-button{color:var(--theme-status,#c5332b);background:0 0;border:2px solid}.action-row{padding-bottom:env(safe-area-inset-bottom);flex-direction:column;align-items:stretch;margin-top:0}.action-row button{flex:1}@media (width<=767px){.action-row button{border-radius:24px;min-height:56px}}.nfc-shell.theme-using .extend-button{background:var(--theme-strong)}.room-summary-card{border-bottom:1px solid var(--card-border,#e6eaf0);text-align:center;flex-direction:column;align-items:center;margin-bottom:20px;padding:0 4px 16px;display:flex}.room-summary-card h1{overflow-wrap:anywhere;margin:0;font-size:clamp(28px,7vw,42px);line-height:1.15}.room-summary-card p{color:#667085;margin:10px 0 0;font-size:14px}.room-status{color:var(--theme-status,#1769aa);background:color-mix(in srgb, var(--theme-status,#1769aa) 16%, transparent);border-radius:999px;align-items:center;gap:8px;margin:14px 0 0;padding:7px 14px;font-weight:700;display:inline-flex}.room-status-dot{background:currentColor;border-radius:50%;width:12px;height:12px;animation:2.8s ease-in-out infinite status-pulse}.schedule-list{gap:16px;display:grid}.room-details{margin:24px 0 0}.room-details div{border-top:1px solid #e6eaf0;justify-content:space-between;gap:16px;padding:12px 0;display:flex}.room-details dt{color:#667085}.room-details dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.status-message{color:var(--theme-text,#475467);font-weight:700}.error-message{color:#b42318;font-weight:600}.bottom-sheet-backdrop{z-index:1000;align-items:flex-end;padding:0 20px;display:flex;position:fixed;inset:0}.bottom-sheet{width:min(100%,720px);max-height:100svh;padding:24px 24px calc(24px + env(safe-area-inset-bottom));border:1px solid var(--card-border,#e6eaf0);color:var(--theme-text,#172033);background:var(--card-background,#fff);border-bottom:0;border-radius:24px 24px 0 0;margin:0 auto;animation:.22s ease-out bottom-sheet-enter;overflow-y:auto;box-shadow:0 -12px 40px #00000040}.bottom-sheet h2{margin:0 0 16px;font-size:20px}.bottom-sheet label,.bottom-sheet .form-label{color:#475467;gap:8px;font-weight:700;display:grid}.bottom-sheet input{min-height:48px;font:inherit;border:1px solid #98a2b3;border-radius:10px;padding:0 12px}.choice-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.choice-button,.choice-selected{min-height:42px;padding:0 14px;font-size:14px}.choice-button{color:var(--theme-strong);background:color-mix(in srgb, var(--theme-strong) 12%, transparent)}.choice-selected{color:#fff;background:var(--theme-strong)}.form-actions{gap:10px;margin-top:20px;display:flex}.form-actions button{flex:1}.confirm-dialog-backdrop{z-index:1100;background:0 0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--card-border,#e6eaf0);width:min(100%,360px);color:var(--theme-text,#172033);background:var(--card-background,#fff);border-radius:20px;padding:24px;box-shadow:0 20px 60px #00000059}.confirm-dialog h2{text-align:center;margin:0;font-size:22px}.confirm-dialog-actions{gap:10px;margin-top:24px;display:flex}.confirm-dialog-actions button{flex:1}.confirm-dialog-actions-column{flex-direction:column}.schedule-card{border:1px solid var(--card-border,#e6eaf0);background:var(--card-background,#fff);border-radius:24px;padding:20px;box-shadow:0 8px 24px #182d4b1a}.schedule-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-card h2{margin:0;font-size:18px}.schedule-card h3{color:#27364d;overflow-wrap:anywhere;margin:16px 0 6px;font-size:clamp(22px,4vw,28px);font-weight:600;line-height:1.3}.schedule-card-badge{color:#fff;background:var(--theme-strong,#111827);border-radius:999px;place-items:center;min-width:44px;height:28px;padding:0 10px;font-size:12px;font-weight:700;display:grid}.schedule-card-badge-starting-soon{color:var(--theme-strong,#111827);background:0 0;border:1px solid}.schedule-card-badge-warning{color:#fff;background:var(--theme-status,#c5332b);min-width:64px;height:44px;box-shadow:0 0 0 4px color-mix(in srgb, var(--theme-status,#c5332b) 18%, transparent);font-size:16px;animation:.9s ease-in-out infinite ending-warning}.schedule-time{color:#475467;overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:500;line-height:1.4}.schedule-organizer{color:#7a8699;overflow-wrap:anywhere;margin:10px 0 0;font-size:14px;line-height:1.4}.schedule-card-next h3{font-weight:500}.schedule-card-next .schedule-time{font-weight:400}.schedule-empty{color:#667085;margin:18px 0 0}@keyframes status-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@keyframes ending-warning{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@media (width>=768px){.nfc-shell{padding:32px 40px 40px}.nfc-page{gap:32px;width:min(100%,960px);min-height:calc(100svh - 72px)}.schedule-list{grid-template-columns:repeat(2,minmax(0,1fr))}.action-row{flex-direction:row;align-items:center}}@keyframes bottom-sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.room-status-dot,.schedule-card-badge-warning,.bottom-sheet{animation:none}}@media (prefers-color-scheme:dark){.nfc-shell{--card-background:#111;--card-border:#333}.nfc-header p,.room-summary-card p,.schedule-organizer,.schedule-empty,.room-details dt,.operation-form label,.form-label{color:#aab2bf}.schedule-card h3{color:#f5f7fa}.schedule-time{color:#d7dee8}.secondary-button{background:0 0}.nfc-build-badge{color:#cbd5e1;background:#111827a6}}
