:root{color-scheme:dark;--bg:#09090f;--panel:rgba(20,12,42,.85);--panel-border:rgba(139,92,246,.2);--text:#ede9fe;--muted:#a78bfa;--accent:#8b5cf6;--accent-strong:#6d28d9;--accent-soft:rgba(139,92,246,.14);--ok:#22c55e;--ok-soft:rgba(34,197,94,.1);--danger:#ef4444;--danger-soft:rgba(239,68,68,.1);--shadow:0 24px 80px rgba(109,40,217,.18)}*{box-sizing:border-box}.skipNav{position:absolute;top:-100%;left:16px;z-index:1000;padding:12px 20px;border-radius:0 0 12px 12px;background:var(--accent);color:#fff;font-weight:700;font-size:.9rem;text-decoration:none;transition:top .15s ease}.skipNav:focus{top:0}body,html{margin:0;min-height:100%;font-family:IBM Plex Sans,Segoe UI,sans-serif;background:radial-gradient(ellipse at top left,rgba(109,40,217,.22),transparent 45%),radial-gradient(ellipse at bottom right,rgba(139,92,246,.12),transparent 35%),linear-gradient(180deg,#0d0820 0,var(--bg) 100%);color:var(--text)}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{display:grid;min-height:100vh;padding:32px 20px}.shell__content{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:1.15fr .85fr;grid-gap:24px;gap:24px;align-items:stretch}.hero,.panel{border:1px solid var(--panel-border);border-radius:28px;background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.hero{padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.eyebrow{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.hero h1,.panel h1,.panel h2{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;line-height:.95}.hero h1{font-size:clamp(3rem,7vw,5.8rem)}.field__hint,.hero p,.meta,.panel p{color:var(--muted);line-height:1.55}.hero__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.tile{padding:16px;border-radius:20px;background:rgba(109,40,217,.08);border:1px solid rgba(139,92,246,.15)}.tile strong{display:block;margin-bottom:6px}.panel{padding:28px;gap:20px}.panel,.stack{display:flex;flex-direction:column}.stack{gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:.95rem;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(139,92,246,.2);background:rgba(20,12,42,.7);color:var(--text);transition:border-color .12s ease,box-shadow .12s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(139,92,246,.2)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(139,92,246,.35)}.field input::placeholder,.field textarea::placeholder{color:rgba(167,139,250,.4)}.actions{display:flex;gap:12px;flex-wrap:wrap}.button,.buttonSecondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:16px;border:0;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease}.button{background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#fff;font-weight:700;box-shadow:0 4px 20px rgba(109,40,217,.35)}.buttonSecondary{background:transparent;border:1px solid rgba(139,92,246,.3);color:var(--muted)}.buttonDanger{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:16px;border:1px solid rgba(239,68,68,.4);background:transparent;color:var(--danger);font:inherit;font-weight:600;cursor:pointer;transition:transform .12s ease,background .12s ease}.buttonDanger:hover{background:var(--danger-soft);transform:translateY(-1px)}.buttonDanger:disabled{opacity:.5;cursor:not-allowed;transform:none}.button:hover,.buttonSecondary:hover{transform:translateY(-1px)}.button:disabled,.buttonSecondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.notice{padding:14px 16px;border-radius:16px;font-size:.95rem}.notice--error{color:var(--danger);background:var(--danger-soft);border:1px solid rgba(239,68,68,.2)}.notice--success{color:var(--ok);background:var(--ok-soft);border:1px solid rgba(34,197,94,.2)}.sessionCard{padding:18px;border-radius:20px;background:rgba(109,40,217,.07);border:1px solid rgba(139,92,246,.12)}.sessionCard pre{overflow:auto;padding:12px;border-radius:14px;background:rgba(32,23,21,.94);color:#fdf5ec;font-size:.82rem}.navRow{gap:12px}.chipGrid,.navRow{display:flex;flex-wrap:wrap}.chipGrid{gap:8px}.chip{padding:6px 14px;border-radius:999px;border:1px solid rgba(139,92,246,.2);background:rgba(109,40,217,.06);color:var(--muted);cursor:pointer;font-size:.88rem;transition:background .1s ease,border-color .1s ease,color .1s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip:hover{border-color:var(--accent);color:var(--text)}.chip--selected{background:linear-gradient(135deg,var(--accent-strong),var(--accent));border-color:var(--accent);color:#fff;font-weight:600}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%238B5CF6' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;cursor:pointer}.field select option{background:#1a0e33;color:var(--text)}.consentList{display:flex;flex-direction:column;gap:12px}.consentItem{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid rgba(139,92,246,.18);background:rgba(109,40,217,.06);transition:border-color .12s ease}.consentItem:has(input:checked){border-color:rgba(139,92,246,.45);background:rgba(109,40,217,.12)}.consentItem input[type=checkbox]{width:18px;min-width:18px;height:18px;margin-top:2px;accent-color:var(--accent);cursor:pointer}.consentItem label{font-size:.9rem;line-height:1.5;color:var(--muted);cursor:pointer}.consentItem label a{color:var(--accent);text-decoration:underline}.consentItem--optional label{opacity:.75}.siteFooter{margin-top:auto;padding:24px 20px;border-top:1px solid rgba(139,92,246,.12);background:rgba(9,9,15,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.siteFooter__inner{width:min(1120px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.siteFooter__brand{display:flex;align-items:center;gap:10px}.siteFooter__brand img,.siteFooter__brand svg{height:28px;width:auto;opacity:.85}.siteFooter__brand span{font-size:.82rem;color:rgba(167,139,250,.55)}.siteFooter__links{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.siteFooter__links a{font-size:.88rem;color:var(--muted);transition:color .12s ease}.siteFooter__links a:hover{color:var(--accent)}.siteHeader{padding:16px 20px 0}.siteHeader__inner{width:min(1120px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.siteHeader__logo{display:inline-block;transition:opacity .12s ease}.siteHeader__logo:hover{opacity:.85}.siteHeader__logo img,.siteHeader__logo svg{height:40px;width:auto}.siteHeader__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.siteHeader__navLink{font-size:.88rem;font-weight:600;color:var(--muted);padding:6px 14px;border-radius:10px;transition:color .12s ease,background .12s ease}.siteHeader__navLink:hover{color:var(--text);background:var(--accent-soft)}.siteHeader__signOutBtn{font:inherit;font-size:.88rem;font-weight:600;padding:6px 14px;border-radius:10px;border:1px solid rgba(139,92,246,.3);background:transparent;color:var(--muted);cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.siteHeader__signOutBtn:hover{color:var(--danger);border-color:rgba(239,68,68,.4);background:var(--danger-soft)}.siteHeader__signOutBtn:disabled{opacity:.5;cursor:not-allowed}.dangerZone{margin-top:8px;padding:20px;border-radius:20px;border:1px solid rgba(239,68,68,.2);background:rgba(239,68,68,.04)}.dangerZone h3{margin:0 0 8px;font-size:1rem;color:var(--danger)}.dangerZone p{margin:0 0 14px;font-size:.9rem;color:var(--muted)}.modalOverlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.modalBox{width:min(480px,100%);padding:32px;border-radius:24px;border:1px solid rgba(239,68,68,.25);background:#140c2a;box-shadow:0 24px 80px rgba(0,0,0,.6)}.modalBox h3{margin:0 0 12px;font-size:1.2rem;color:var(--danger)}.modalBox p{margin:0 0 24px;color:var(--muted);line-height:1.6}.modalActions{display:flex;gap:12px;flex-wrap:wrap}.cguPage{width:min(860px,100%);margin:0 auto;padding:40px 20px 60px}.cguPage h1{font-family:Space Grotesk,Segoe UI,sans-serif;font-size:clamp(2rem,5vw,3.2rem);margin:0 0 8px;background:linear-gradient(135deg,#ede9fe,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cguPage .cguSubtitle{color:var(--muted);font-size:.95rem;margin-bottom:40px}.cguDoc{margin-bottom:48px;padding:32px;border-radius:24px;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cguDoc h2{font-family:Space Grotesk,Segoe UI,sans-serif;font-size:1.4rem;margin:0 0 20px;color:var(--accent)}.cguDoc h3{font-size:1rem;font-weight:700;margin:20px 0 8px;color:var(--text)}.cguDoc p{line-height:1.65;color:var(--muted);margin:0 0 12px}.cguDoc ul{margin:0 0 12px;padding-left:20px}.cguDoc li{line-height:1.65;color:var(--muted);margin-bottom:6px}.cguTable{width:100%;border-collapse:collapse;font-size:.88rem;margin:12px 0}.cguTable th{text-align:left;font-weight:700;color:var(--text);padding:8px 12px;border-bottom:1px solid rgba(139,92,246,.2)}.cguTable td{padding:8px 12px;color:var(--muted);border-bottom:1px solid rgba(139,92,246,.08)}.cguWarning{padding:14px 16px;border-radius:14px;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.06);color:var(--danger);font-size:.9rem;line-height:1.5;margin-bottom:16px}.cguDocNav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.2);margin-bottom:28px}.cguDocNav a{color:var(--accent);font-size:.875rem;padding:4px 10px;border-radius:8px;transition:background .15s}.cguDocNav a:hover{background:rgba(139,92,246,.15)}.cguDocNav__current{font-size:.875rem;font-weight:600;color:var(--text);padding:4px 10px;border-radius:8px;background:rgba(139,92,246,.2)}.cguDocNav a+.cguDocNav__current:before,.cguDocNav a+a:before,.cguDocNav__current+a:before{content:"·";margin-right:8px;color:var(--muted);pointer-events:none}@media (max-width:940px){.shell__content{grid-template-columns:1fr}.hero,.panel{padding:24px}.hero__grid{grid-template-columns:1fr}.siteFooter__inner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:1}80%{opacity:1}to{transform:translateY(-280px) scale(1.4);opacity:0}}.floatingEmoji{position:absolute;bottom:0;font-size:2.5rem;animation:floatUp 3s ease-out forwards;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.emojiBar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:4px;background:rgba(10,10,20,.82);border:1px solid rgba(139,92,246,.3);border-radius:40px;padding:6px 12px;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.emojiBtn{font-size:1.5rem;background:none;border:none;cursor:pointer;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;transition:transform .12s ease;padding:0;line-height:1}.emojiBtn:hover{transform:scale(1.35)}.emojiBtn:active{transform:scale(.88)}.liveDot{width:10px;height:10px;border-radius:50%;background:var(--ok);display:inline-block;flex-shrink:0;animation:livePulse 1.5s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.72)}}