.top-bar[data-v-44bc3f61]{height:var(--topbar-height);padding-inline:var(--space-6);background-color:var(--color-surface-secondary);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;gap:var(--space-4);flex-shrink:0;display:flex;position:sticky;top:0}.top-bar-brand[data-v-44bc3f61]{align-items:center;gap:var(--space-3);display:flex}.brand-mark[data-v-44bc3f61]{background:linear-gradient(135deg, var(--color-role-depot-dark), var(--color-role-depot));border-radius:var(--radius-md);color:#fff;letter-spacing:-.03em;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.65rem;font-weight:900;display:flex}.brand-name[data-v-44bc3f61]{font-size:var(--font-size-sm);color:var(--color-text-primary);letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-weight:700}.workspace-name[data-v-44bc3f61]{font-size:var(--font-size-xs);color:var(--color-text-muted);border-left:1px solid var(--color-border-strong);padding-left:var(--space-3);-webkit-user-select:none;user-select:none}.top-bar-actions[data-v-44bc3f61]{align-items:center;gap:var(--space-2);display:flex}.icon-btn[data-v-44bc3f61]{width:var(--touch-target-min);height:var(--touch-target-min);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:#ffffff0d;justify-content:center;align-items:center;display:inline-flex}.icon-btn[data-v-44bc3f61]:hover,.icon-btn[data-v-44bc3f61]:focus-visible{background-color:var(--color-brand-dim);color:var(--color-brand);outline:2px solid var(--color-brand);outline-offset:2px;border-color:#4a9eda4d}.sign-out-btn[data-v-44bc3f61]{color:var(--color-text-muted)}.rail-banner-slot[data-v-006dc56b]{height:var(--rail-banner-height);background-color:var(--color-surface-secondary);border-top:1px solid var(--color-border);padding-inline:var(--space-4);z-index:10;flex-shrink:0;align-items:center;display:flex;position:sticky;bottom:0}@media (width>=768px){.rail-banner-slot[data-v-006dc56b]{padding-inline:var(--space-6)}}.app-shell[data-v-07aaf2e4]{background-color:var(--color-surface-primary);height:100dvh;color:var(--color-text-primary);font-family:var(--font-family);flex-direction:column;display:flex}.shell-content[data-v-07aaf2e4]{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.auth-shell[data-v-083ecfc2]{min-height:100dvh;font-family:var(--font-family);background:linear-gradient(160deg,#070d1c 0%,#0d1929 60%,#111c2a 100%);flex-direction:column;display:flex;position:relative}.auth-bg[data-v-083ecfc2]{pointer-events:none;background:radial-gradient(at 65%,#4a9eda12,#0000 55%),radial-gradient(at 20% 30%,#a78bfa0a,#0000 50%);position:fixed;inset:0}.shell-center[data-v-083ecfc2]{padding:var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}.brand-bar[data-v-083ecfc2]{z-index:3;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0;display:flex;position:relative}.logo-mark[data-v-083ecfc2]{border-radius:var(--radius-md);color:#fff;letter-spacing:-.03em;background:linear-gradient(135deg,#1e3a8a,#4a9eda);flex-shrink:0;justify-content:center;align-items:center;width:2.125rem;height:2.125rem;font-size:.6875rem;font-weight:900;display:flex;box-shadow:0 4px 12px #4a9eda4d}.brand-text[data-v-083ecfc2]{flex-direction:column;flex:1;gap:.125rem;display:flex}.brand-name[data-v-083ecfc2]{font-size:var(--font-size-sm);color:var(--color-text-primary);letter-spacing:.06em;text-transform:uppercase;font-weight:700;line-height:1}.brand-tagline[data-v-083ecfc2]{color:var(--color-text-muted);letter-spacing:.02em;font-size:.5625rem}.lang-switcher[data-v-083ecfc2]{gap:var(--space-1);margin-left:auto;display:flex}.lang-btn[data-v-083ecfc2]{color:var(--color-text-muted);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-family);cursor:pointer;letter-spacing:.04em;transition:background-color var(--transition-fast);background:#ffffff0d;padding:.2rem .5rem}.lang-btn.active[data-v-083ecfc2]{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.lang-btn[data-v-083ecfc2]:hover:not(.active){background:#ffffff1a}.auth-main[data-v-083ecfc2]{padding:var(--space-6) var(--space-5);z-index:1;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.form-wrapper[data-v-083ecfc2]{width:min(400px,100%);position:relative}.form-panel[data-v-083ecfc2]{background:var(--color-surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex;box-shadow:0 8px 40px #0006,0 0 0 1px #4a9eda0a}.character-aside[data-v-083ecfc2]{display:none}@media (width>=600px){.character-aside[data-v-083ecfc2]{align-items:center;gap:var(--space-2);z-index:2;flex-direction:column;width:110px;display:flex;position:absolute;bottom:0;right:-65px}}.character-img[data-v-083ecfc2]{width:auto;height:180px}.speech-bubble[data-v-083ecfc2]{background:#111c2af2;border:1px solid #4a9eda4d;border-radius:.75rem .75rem .25rem;width:220px;margin-left:-115px;padding:.625rem .75rem;position:relative;box-shadow:0 4px 16px #00000080}.speech-bubble p[data-v-083ecfc2]{font-size:var(--font-size-xs);color:var(--color-text-primary);margin:0;font-style:italic;line-height:1.5}.speech-bubble[data-v-083ecfc2]:before{content:"";border-top:9px solid #4a9eda4d;border-left:9px solid #0000;width:0;height:0;position:absolute;bottom:-9px;right:18px}.speech-bubble[data-v-083ecfc2]:after{content:"";border-top:8px solid #111c2af2;border-left:8px solid #0000;width:0;height:0;position:absolute;bottom:-7px;right:19px}.auth-form[data-v-083ecfc2]{gap:.75rem;display:grid}.auth-form label[data-v-083ecfc2]{font-size:var(--font-size-sm);color:var(--color-text-secondary);gap:.35rem;display:grid}.auth-tabs[data-v-083ecfc2]{border-bottom:1px solid var(--color-border-strong);margin-bottom:var(--space-2);display:flex}.tab-btn[data-v-083ecfc2]{color:var(--color-text-muted);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:.5rem .5rem .6rem}.tab-btn.active[data-v-083ecfc2]{color:var(--color-brand);border-bottom-color:var(--color-brand)}.divider[data-v-083ecfc2]{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:var(--space-1) 0;align-items:center;gap:.75rem;display:flex}.divider[data-v-083ecfc2]:before,.divider[data-v-083ecfc2]:after{content:"";border-top:1px solid var(--color-border-strong);flex:1}.btn-link[data-v-083ecfc2]{color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;font-family:var(--font-family);background:0 0;border:none;width:fit-content;padding:.4rem 0;text-decoration:underline}.btn-link[data-v-083ecfc2]:hover:not(:disabled){color:var(--color-text-secondary)}.btn-link[data-v-083ecfc2]:disabled{opacity:.5;cursor:not-allowed}.error[data-v-083ecfc2]{color:var(--color-error);font-size:var(--font-size-sm)}.loading[data-v-083ecfc2]{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.form-intro[data-v-083ecfc2]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.google-icon[data-v-083ecfc2]{font-weight:700;font-size:var(--font-size-base);color:#4285f4}.panel[data-v-083ecfc2]{background:var(--color-surface-secondary);border-radius:var(--radius-lg);width:min(30rem,100%);padding:var(--space-6);box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.panel h1[data-v-083ecfc2]{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:.5rem;font-weight:700}.lang-setup-subtitle[data-v-083ecfc2]{color:var(--color-text-muted);margin-bottom:var(--space-6);font-size:var(--font-size-sm)}.lang-setup-options[data-v-083ecfc2]{gap:var(--space-4);display:flex}.lang-option-btn[data-v-083ecfc2]{align-items:center;gap:var(--space-2);background:var(--color-surface-card);color:var(--color-text-primary);border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-3);font-size:var(--font-size-base);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);font-weight:600;font-family:var(--font-family);flex-direction:column;flex:1;display:flex}.lang-option-btn[data-v-083ecfc2]:hover{border-color:var(--color-brand);background:var(--color-surface-card-hover)}.lang-option-btn[data-v-083ecfc2]:disabled{opacity:.5;cursor:not-allowed}.lang-option-flag[data-v-083ecfc2]{font-size:2rem}.terms-body[data-v-083ecfc2]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-8);line-height:1.6}.terms-accept-btn[data-v-083ecfc2]{background:var(--color-brand);width:100%;color:var(--color-text-inverse);border-radius:var(--radius-md);padding:.75rem var(--space-6);font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--transition-fast);font-weight:600;font-family:var(--font-family);border:none}.terms-accept-btn[data-v-083ecfc2]:hover:not(:disabled){background:var(--color-brand-hover)}.terms-accept-btn[data-v-083ecfc2]:disabled{opacity:.5;cursor:not-allowed}.hub-block[data-v-d6ffb71a]{cursor:pointer;outline:none;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:visible}.hub-block--coming-soon[data-v-d6ffb71a]{cursor:default;filter:brightness(.6)}.hub-block[data-v-d6ffb71a]:not(.hub-block--coming-soon):focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.hub-block[data-v-d6ffb71a]:before{content:"";z-index:2;height:2px;position:absolute;top:0;left:0;right:0}.hub-block--depot[data-v-d6ffb71a]:before{background:linear-gradient(90deg, var(--color-role-depot-dark), var(--color-role-depot) 60%, transparent)}.hub-block--cond[data-v-d6ffb71a]:before{background:linear-gradient(90deg, var(--color-role-cond-dark), var(--color-role-cond) 60%, transparent)}.hub-block--switch[data-v-d6ffb71a]:before{background:linear-gradient(90deg, var(--color-role-switch-dark), var(--color-role-switch) 60%, transparent)}.hub-block-bg[data-v-d6ffb71a]{z-index:0;pointer-events:none;position:absolute;inset:0}.hub-block--depot .hub-block-bg[data-v-d6ffb71a]{background:radial-gradient(85% 80% at 100% 100%,#1e5ac8bf 0%,#0f32784d 40%,#0000 65%),linear-gradient(150deg,#070d1c,#0a1428)}.hub-block--cond .hub-block-bg[data-v-d6ffb71a]{background:radial-gradient(85% 80% at 100% 100%,#c85a00cc 0%,#82370059 40%,#0000 65%),linear-gradient(150deg,#0e0902,#180f03)}.hub-block--switch .hub-block-bg[data-v-d6ffb71a]{background:radial-gradient(85% 80% at 100% 100%,#6e1edca6 0%,#410f914d 40%,#0000 65%),linear-gradient(150deg,#080615,#0d0b1e)}.hub-block-content[data-v-d6ffb71a]{z-index:3;padding:var(--space-8) var(--space-6);justify-content:flex-start;align-items:flex-start;gap:var(--space-2);flex-direction:column;flex:1;width:58%;min-height:0;display:flex;position:relative}.hub-block-eyebrow[data-v-d6ffb71a]{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.14em;font-weight:700;line-height:1}.hub-block--depot .hub-block-eyebrow[data-v-d6ffb71a]{color:var(--color-role-depot)}.hub-block--cond .hub-block-eyebrow[data-v-d6ffb71a]{color:var(--color-role-cond)}.hub-block--switch .hub-block-eyebrow[data-v-d6ffb71a]{color:var(--color-role-switch)}.hub-block-desc[data-v-d6ffb71a]{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1);line-height:1.5}.hub-block-badge[data-v-d6ffb71a]{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);color:var(--color-role-switch);border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;background-color:#a78bfa1f;border:1px solid #a78bfa38;font-weight:700;display:inline-block}.hub-block-status[data-v-d6ffb71a]{padding-top:var(--space-4);width:100%;margin-top:auto}.hub-block-char[data-v-d6ffb71a]{z-index:5;pointer-events:none;justify-content:flex-end;align-items:flex-end;width:52%;height:85%;display:flex;position:absolute;bottom:0;right:-12px;overflow:visible}.hub-block-char-img[data-v-d6ffb71a]{object-fit:contain;object-position:bottom center;filter:drop-shadow(-5px 0 20px #0009);-webkit-user-select:none;user-select:none;width:auto;height:100%;display:block}.hub-block:not(.hub-block--coming-soon):hover .hub-block-bg[data-v-d6ffb71a]{filter:brightness(1.15)}.home-hub[data-v-92a01a9d]{flex-direction:column;flex:1;min-height:0;display:flex}.hub-grid[data-v-92a01a9d]{flex-direction:row;flex:1;min-height:0;margin:0;padding:0;list-style:none;display:flex}.hub-grid-item[data-v-92a01a9d]{border-right:1px solid var(--color-border);flex-direction:column;flex:1;min-width:0;display:flex}.hub-grid-item[data-v-92a01a9d]:last-child{border-right:none}@media (width<=767px){.hub-grid[data-v-92a01a9d]{flex-direction:column}.hub-grid-item[data-v-92a01a9d]{border-right:none;border-bottom:1px solid var(--color-border)}.hub-grid-item[data-v-92a01a9d]:last-child{border-bottom:none}}.hub-grid-item[data-v-92a01a9d]{animation:hub-fade-in-92a01a9d var(--transition-hub) ease both}.hub-grid-item[data-v-92a01a9d]:nth-child(2){animation-delay:50ms}.hub-grid-item[data-v-92a01a9d]:nth-child(3){animation-delay:.1s}@keyframes hub-fade-in-92a01a9d{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hub-grid-item[data-v-92a01a9d]{animation:none}}.stub-view[data-v-3b16f8b6]{padding-top:var(--space-12);justify-content:center;align-items:flex-start;display:flex}.stub-card[data-v-3b16f8b6]{gap:var(--space-4);width:100%;max-width:28rem;padding:var(--space-8);background-color:var(--color-surface-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.stub-badge[data-v-3b16f8b6]{padding:var(--space-1) var(--space-2);background-color:var(--color-brand-dim);color:var(--color-brand);border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;align-self:flex-start;margin:0;font-weight:600;display:inline-block}.stub-title[data-v-3b16f8b6]{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0;font-weight:600}.stub-message[data-v-3b16f8b6]{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.6}.stub-back-btn[data-v-3b16f8b6]{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);min-height:var(--touch-target-min);background:0 0;align-self:flex-start}.stub-back-btn[data-v-3b16f8b6]:hover,.stub-back-btn[data-v-3b16f8b6]:focus-visible{border-color:var(--color-brand);color:var(--color-brand);outline:2px solid var(--color-brand);outline-offset:2px}*,:before,:after{box-sizing:border-box}html,body{background:#0a0e14;height:100%;margin:0;padding:0}#app{height:100%}:root{--color-surface-primary:#0a0e14;--color-surface-secondary:#111c2a;--color-surface-card:#111c2a;--color-surface-card-hover:#1a2a3e;--color-border:#ffffff12;--color-border-strong:#ffffff2e;--color-text-primary:#e8edf2;--color-text-secondary:#8aa3bc;--color-text-muted:#3a5a76;--color-text-inverse:#0a0e14;--color-brand:#4a9eda;--color-brand-hover:#6ab4f0;--color-brand-dim:#4a9eda26;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-role-depot:#4a9eda;--color-role-depot-bg:#1e5ac8bf;--color-role-depot-dark:#1e3a8a;--color-role-cond:#f59e0b;--color-role-cond-bg:#c85a00cc;--color-role-cond-dark:#7c2d00;--color-role-switch:#a78bfa;--color-role-switch-bg:#6e1edca6;--color-role-switch-dark:#4a1890;--color-role-config:#10b981;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--touch-target-min:2.75rem;--font-family:"Noto Sans JP", "Segoe UI", system-ui, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 4px #00000040;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 8px 32px #00000073;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-hub:.3s ease;--topbar-height:3.5rem;--rail-banner-height:3.5rem}.input-field{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:100%;height:2.75rem;padding:0 var(--space-3);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);transition:border-color var(--transition-fast);background:#0a0e14cc;outline:none}.input-field:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-dim)}.btn-primary{background:var(--color-brand);width:100%;height:2.75rem;color:var(--color-text-inverse);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-sm);letter-spacing:.04em;cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast);border:none;font-weight:700;box-shadow:0 2px 12px #4a9eda40}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);box-shadow:0 4px 20px #4a9eda66}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-google{width:100%;height:2.75rem;color:var(--color-text-secondary);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:background-color var(--transition-fast);background:#ffffff0a;display:flex}.btn-google:hover:not(:disabled){background:#ffffff14}.btn-google:disabled{opacity:.5;cursor:not-allowed}
