@charset "UTF-8";
:root{color-scheme:only dark;--navy:#061326;--text:#f8faff;--muted:#d3dfef;--gold:#f5cf54;--cyan:#75e6fa;--line:rgba(127,190,249,.48);--panel:rgba(5,20,42,.89);--footer:rgba(4,20,42,.96);--dialog:#0a203c;font-family:Inter,"Noto Sans JP","Yu Gothic UI","Meiryo",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--text)}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}button{border:0}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button,select,a{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;z-index:20;top:8px;left:8px;padding:12px;background:var(--navy);transform:translateY(-180%)}.skip:focus{transform:translateY(0)}
.site-shell{min-height:100svh;display:flex;flex-direction:column}.hero{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:center;flex:1;min-height:calc(100svh - 190px);padding:143px 24px 55px;overflow:hidden}.room{position:absolute;inset:0;z-index:-3;display:block}.room img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,8,23,.12),transparent 35%,rgba(2,13,31,.15)),radial-gradient(ellipse at 50% 35%,rgba(2,12,32,.35),transparent 45%);pointer-events:none}
.header{position:absolute;top:25px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;filter:drop-shadow(0 2px 8px #0009)}.brand img{width:58px;height:58px;object-fit:contain}.brand span{display:flex;flex-direction:column;gap:5px}.brand strong{font-size:20px;font-weight:750;letter-spacing:.02em;color:#fff}.brand small{font-size:13px;color:var(--gold);white-space:nowrap}.preferences{display:flex;align-items:center;gap:17px}.language{display:flex;align-items:center;position:relative;height:46px;border:1px solid rgba(108,183,255,.62);border-radius:10px;background:rgba(3,23,49,.8);padding-left:12px;color:#f5f8ff}.language svg{width:22px;height:22px}.language select{appearance:none;cursor:pointer;border:0;color:#fff;background:transparent;padding:10px 30px 10px 10px;min-width:101px}.language option{background:#0d2440;color:#fff}.select-arrow{position:absolute;right:10px;pointer-events:none}.themes{display:flex;border-radius:24px;padding:3px;background:rgba(5,23,48,.8);border:1px solid rgba(115,174,235,.22)}.themes button{width:38px;height:38px;background:transparent;border-radius:50%;display:grid;place-items:center;color:var(--gold)}.themes svg{width:24px;height:24px}.themes button[data-theme-choice="dark"]{color:#a6cfff}.themes button[aria-pressed="true"]{background:#204a7d;box-shadow:inset 0 0 0 1px #6babef33}
.main-ui{width:min(500px,100%);text-align:center}.portal-heading{margin-bottom:32px;text-shadow:0 3px 22px #02091299}.portal-heading h1{font-size:clamp(52px,5.1vw,84px);font-weight:850;line-height:1.08;letter-spacing:-.045em;margin:0 -25px 5px;color:#fff;white-space:nowrap}.portal-heading p{font-size:clamp(24px,2vw,33px);font-weight:750;letter-spacing:.035em;color:var(--gold);margin:0}.login-card{padding:40px 33px 0;border:1px solid #85c5ff;border-radius:23px;background:linear-gradient(135deg,rgba(27,58,95,.28),transparent 35%),var(--panel);backdrop-filter:blur(17px);box-shadow:0 14px 50px #0005,inset 0 1px 0 #d3edff17}.login-card h2{font-size:36px;line-height:1.2;font-weight:750;letter-spacing:.05em;margin:10px 0 17px}.intro{font-size:16px;line-height:1.7;margin:0 0 23px}.discord-button{display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 18px;min-height:66px;width:100%;border-radius:11px;background:linear-gradient(110deg,#6069ff,#4058fc);box-shadow:0 5px 24px #1f34ba38;color:#fff;text-decoration:none;font-size:23px;font-weight:750;transition:transform .18s,filter .18s,box-shadow .18s}.discord-button:hover{filter:brightness(1.13);transform:translateY(-2px);box-shadow:0 9px 25px #3c53ff66}.discord-button:active{transform:translateY(0)}.discord-icon{width:37px;height:32px;stroke:none;flex:none}.chevron{font-size:32px;font-weight:300;margin-left:auto;line-height:1}.consent-note{font-size:14px;line-height:1.7;margin:26px -6px 23px;color:var(--muted)}.help-link{width:100%;padding:22px 0 24px;display:flex;gap:12px;align-items:center;justify-content:center;background:none;border-top:1px solid var(--line);color:var(--cyan);font-weight:600;font-size:15px}.help-link:hover span:first-child{text-decoration:underline}.help-link span:last-child{font-size:23px;line-height:1}.auth-error{border:1px solid #ee9f93;border-radius:8px;background:#452b38;color:#ffe1dc;padding:12px;font-size:14px;line-height:1.5;margin:0 0 18px}
.features{display:grid;grid-template-columns:repeat(3,1fr);padding:25px max(5%,calc((100% - 1200px)/2));background:var(--footer);border-top:1px solid var(--line);min-height:139px;gap:0}.feature{display:flex;align-items:center;justify-content:center;gap:28px;text-align:left;background:none;padding:3px 28px;position:relative;border-radius:10px;transition:background .18s}.feature:not(:last-child):after{content:"";position:absolute;right:0;height:64px;width:1px;background:var(--line)}.feature:hover{background:rgba(85,148,219,.1)}.feature-icon{width:81px;height:81px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex:none;color:var(--gold)}.feature-icon svg{width:45px;height:45px;stroke-width:2.2}.feature-copy{display:flex;flex-direction:column;gap:8px}.feature-copy strong{font-size:20px;white-space:nowrap;font-weight:700}.feature-copy>span{font-size:15px;color:var(--muted);white-space:nowrap}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 35px;border-top:1px solid var(--line);margin:0 30px;background:var(--navy);min-height:58px}.footer small{font-size:12px;color:var(--muted)}.footer nav{display:flex;gap:20px;align-items:center}.footer a{font-size:12px;background:none;padding:6px 0;color:var(--muted)}.footer a:hover{text-decoration:underline}.footer nav>span{height:13px;width:1px;background:var(--line)}
dialog{width:min(540px,calc(100% - 32px));max-height:calc(100svh - 40px);border:1px solid var(--line);border-radius:22px;background:var(--dialog);color:var(--text);box-shadow:0 30px 100px #0008;padding:26px 30px}dialog::backdrop{background:rgba(1,8,20,.78);backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-top>span{font-size:12px;letter-spacing:.09em;color:var(--gold);text-transform:uppercase}.close-dialog{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#759dcc1a;font-size:27px;line-height:1}dialog h2{font-size:29px;margin:15px 0 20px}#dialog-content{font-size:15px;line-height:1.85;color:var(--muted)}#dialog-content p{margin:0 0 16px}.dialog-done{width:100%;background:#294b72;border-radius:10px;padding:13px;font-weight:650;margin-top:16px}.sample-chat{display:grid;gap:10px;margin:20px 0}.bubble{padding:13px 16px;border-radius:14px;background:#79a9eb13;border:1px solid #79a9eb29}.bubble.result{border-color:#e9c25044;background:#e9c2500d}.sample-label{font-size:11px;color:var(--gold);display:block;margin-bottom:4px}.sample-members{display:grid;gap:8px;margin:20px 0}.sample-person{padding:12px;background:#81a5d010;border:1px solid #80a8d922;border-radius:12px;display:flex;align-items:center;gap:12px}.person-avatar{display:grid;place-items:center;border-radius:50%;width:42px;height:42px;background:#6587c126;color:var(--gold);font-weight:750}.person-location{margin-left:auto;text-align:right;font-size:13px}.sample-map{display:block;width:100%;height:175px;border:1px solid var(--line);border-radius:14px;background:radial-gradient(ellipse at center,#214368,#0b213f);margin:15px 0}.sample-map svg{width:100%;height:100%;stroke:#82b4df66;stroke-width:1}.sample-map circle{fill:var(--gold);stroke:none}.mock-note{font-size:12px;color:var(--muted);opacity:.8}.noscript{padding:16px;text-align:center;font-size:14px}
@media(min-width:1700px){.hero{padding-top:160px;padding-bottom:65px}.main-ui{width:530px}.login-card{padding-top:45px}.login-card h2{font-size:40px}.intro{font-size:18px}.consent-note{font-size:15px}}
@media(min-width:701px) and (max-width:1100px){.hero{padding-top:130px}.main-ui{width:460px}.portal-heading h1{font-size:66px}.feature{gap:16px;padding:5px 14px}.features{padding-left:3%;padding-right:3%}.feature-icon{width:64px;height:64px}.feature-icon svg{width:37px;height:37px}.feature-copy strong{font-size:17px}.feature-copy>span{font-size:12px}.brand strong{font-size:17px}.brand small{font-size:11px}.preferences{gap:8px}}
@media(max-width:700px){.hero{display:block;min-height:0;padding:clamp(302px,82vw,540px) 20px 23px;overflow:hidden}.room{height:auto;bottom:auto;width:100%;aspect-ratio:887/1774}.room img{object-fit:fill}.hero:after{background:linear-gradient(180deg,rgba(0,8,25,.16),transparent 22%,rgba(3,15,34,.15) 36%,rgba(3,15,34,.76) 59%,#061326 95%)}.header{top:17px;left:18px;right:18px;gap:10px;align-items:flex-start}.brand{gap:8px}.brand img{width:39px;height:39px}.brand span{gap:4px}.brand strong{font-size:13px;letter-spacing:0}.brand small{font-size:8px}.preferences{gap:5px;align-items:flex-end;flex-direction:column}.language{height:32px;border-radius:8px;padding-left:7px}.language svg{width:16px;height:16px}.language select{font-size:11px;min-width:70px;padding:6px 19px 6px 6px}.select-arrow{right:6px}.themes{padding:2px}.themes button{width:29px;height:29px}.themes svg{width:18px;height:18px}.main-ui{width:100%;max-width:530px;margin:0 auto}.portal-heading{margin-bottom:24px}.portal-heading h1{font-size:clamp(44px,12.9vw,80px);letter-spacing:-.045em;margin:0 -8px 3px;line-height:1.13}.portal-heading p{font-size:clamp(24px,5.8vw,34px);letter-spacing:.02em}.login-card{border-radius:19px;padding:25px 18px 0;background:var(--panel)}.login-card h2{font-size:29px;margin:0 0 13px}.intro{font-size:13px;margin:0 0 20px;line-height:1.7}.discord-button{font-size:18px;gap:12px;min-height:58px;padding:13px 15px}.discord-icon{width:28px;height:26px}.chevron{font-size:29px}.consent-note{font-size:11px;margin:22px -10px 20px}.help-link{font-size:13px;padding:18px 0 20px}.features{padding:7px 10px 23px;min-height:0;border-top:0;background:var(--navy)}.feature{padding:5px 4px;gap:10px;flex-direction:column;text-align:center;align-items:center;justify-content:flex-start}.feature:not(:last-child):after{height:94px;top:10px}.feature-icon{width:61px;height:61px}.feature-icon svg{width:34px;height:34px;stroke-width:2}.feature-copy{gap:6px}.feature-copy strong{font-size:13px}.feature-copy>span{font-size:10px;white-space:normal;line-height:1.6;letter-spacing:-.04em}.footer{margin:0 15px;padding:17px 0 20px;min-height:0;justify-content:center;gap:12px;flex-wrap:wrap}.footer small{font-size:9px}.footer nav{gap:10px}.footer a{font-size:9px}.footer nav>span{height:10px}.auth-error{font-size:12px}dialog{padding:20px}dialog h2{font-size:25px} }
@media(max-width:355px){.hero{padding-left:13px;padding-right:13px;padding-top:290px}.header{left:12px;right:12px}.brand img{width:33px;height:33px}.brand{gap:6px}.brand strong{font-size:12px}.brand small{font-size:7.6px}.portal-heading h1{font-size:44px}.discord-button{font-size:16px;gap:10px}.intro{font-size:12px}.feature-copy strong{font-size:11px}.consent-note{font-size:10px}.feature-copy>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Community & Privacy shares the login page’s language, theme and branding. */
[hidden]{display:none!important}
.consent-note{font-size:13px;line-height:1.85;margin:22px 0;color:var(--muted);text-wrap:pretty}
.consent-note a{color:var(--cyan);text-underline-offset:3px;text-decoration-thickness:1px}
.footer a{padding:6px 0;text-decoration:none}.footer a:hover{text-decoration:underline}
.policy-view .hero{align-items:flex-start;padding:132px 24px 48px;min-height:calc(100svh - 59px)}
.policy-view .room{height:100%;aspect-ratio:auto}.policy-view .room img{object-fit:cover;object-position:center top}
.policy-view .hero:after{background:rgba(2,12,28,.65)}.policy-view .features{display:none}
.policy-card{width:min(760px,100%);padding:34px 44px 38px;border:1px solid var(--line);border-radius:22px;background:var(--panel);backdrop-filter:blur(17px);box-shadow:0 14px 50px #0005;text-align:left}
.back-to-login{font-size:14px;font-weight:600;color:var(--cyan);text-decoration:none;text-underline-offset:4px}.back-to-login:hover{text-decoration:underline}
.policy-kicker{font-size:14px;font-weight:650;letter-spacing:.04em;color:var(--gold);margin:28px 0 6px}
.policy-card h1{font-size:clamp(25px,3.4vw,37px);line-height:1.25;letter-spacing:-.035em;margin:0 0 10px;overflow-wrap:anywhere}
.policy-description{font-size:15px;margin:0;color:var(--muted)}.policy-updated{font-size:12px;color:var(--muted);margin:16px 0 28px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.policy-card section+section{margin-top:27px}.policy-card h2{font-size:18px;line-height:1.5;margin:0 0 9px;scroll-margin-top:30px}
.policy-card section p{font-size:15px;line-height:1.95;color:var(--muted);margin:0 0 12px}.policy-back-bottom{display:inline-block;margin-top:22px}
@media(max-width:700px){.consent-note{font-size:12px;margin:20px 0;line-height:1.85}.intro{font-size:13px}.policy-view .hero{padding:115px 14px 24px}.policy-card{padding:25px 23px 30px;border-radius:19px}.policy-card section p{font-size:14px}.policy-card h2{font-size:17px}.policy-updated{margin-bottom:24px}.policy-kicker{margin-top:25px}.footer a{font-size:10px}}
@media(max-width:355px){.intro{font-size:12px}.consent-note{font-size:11px}.policy-card{padding-left:20px;padding-right:20px}.policy-card h1{font-size:25px}}

/* v0.1.2: quiet menu inventory and a focused policy overlay. */
.features{display:block;min-height:0;padding:30px max(4%,calc((100% - 1340px)/2)) 32px;border-top:1px solid var(--line);background:var(--footer)}
.feature-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:27px 10px;list-style:none;margin:0;padding:0}
.feature{grid-column:span 2;display:flex;flex-direction:column;gap:12px;justify-content:flex-start;align-items:center;padding:0 5px;text-align:center;border-radius:0;cursor:default;transition:none}
.feature:after{display:none!important}.feature:hover{background:none}
.feature-icon{width:57px;height:57px;border-color:rgba(127,190,249,.28);background:rgba(94,143,203,.04)}.feature-icon svg{width:31px;height:31px;stroke-width:2}
.feature-copy{gap:7px;width:100%}.feature-copy strong{font-size:15px;font-weight:650;white-space:normal}.feature-copy>span{font-size:12px;line-height:1.65;white-space:normal;letter-spacing:0;color:var(--muted);text-wrap:balance}
.policy-open{overflow:hidden}
.policy-dialog{width:min(740px,calc(100% - 48px));max-height:calc(100svh - 70px);padding:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:22px;background:var(--dialog);border:1px solid var(--line);box-shadow:0 28px 100px #0009}
.policy-dialog::backdrop{background:rgba(1,8,20,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.policy-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:12px 22px;background:var(--dialog);border-bottom:1px solid var(--line)}
.policy-language select{color:var(--text);font-size:13px;padding:8px 10px;background:var(--dialog);border:1px solid var(--line);border-radius:8px;cursor:pointer}
.policy-close{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:27px;line-height:1;background:#759dcc1a;color:var(--text)}
.policy-card{width:100%;padding:4px 43px 36px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.policy-card #policy-title{font-size:clamp(25px,3.4vw,37px);line-height:1.25;letter-spacing:-.035em;margin:0 0 10px;overflow-wrap:anywhere}
.policy-card h3{font-size:18px;line-height:1.5;margin:0 0 9px;color:var(--text)}.policy-card section+section{margin-top:27px}.policy-card section p{font-size:15px;line-height:1.95;margin:0 0 12px;color:var(--muted)}.policy-done{margin-top:20px}
@media(max-width:1100px) and (min-width:701px){.feature-list{grid-template-columns:repeat(8,minmax(0,1fr));gap:25px 10px}.feature:nth-child(7){grid-column:span 2}}
@media(max-width:700px){.features{padding:25px 19px 30px}.feature-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 12px}.feature{padding:0 5px;gap:10px}.feature:nth-child(7){grid-column:span 2}.feature-icon{width:51px;height:51px}.feature-icon svg{width:29px;height:29px}.feature-copy strong{font-size:14px}.feature-copy>span{font-size:11px;line-height:1.65}.policy-dialog{width:calc(100% - 24px);max-height:calc(100svh - 36px);border-radius:18px}.policy-toolbar{padding:10px 15px}.policy-card{padding:1px 23px 26px}.policy-card #policy-title{font-size:27px}.policy-card h3{font-size:17px}.policy-card section p{font-size:14px}.policy-kicker{margin-top:23px}}
@media(max-width:355px){.feature-copy strong{font-size:13px}.feature-copy>span{font-size:11px}.policy-card{padding-left:20px;padding-right:20px}.policy-card #policy-title{font-size:24px}}

html:not([data-locale-ready="true"]) body>.site-shell{visibility:hidden}
.locale-error{font-size:13px;line-height:1.6;color:var(--muted);padding:8px 12px;margin:8px 0}
[data-locale-retry]{position:fixed;inset:40% auto auto 50%;font-size:36px;padding:20px;background:var(--dialog);border:1px solid var(--line);border-radius:12px}

/* Stage 2: isolated preview flow. Approved room, branding and card layout retained. */
.preview-label{display:inline-block;color:var(--gold);border:1px solid #f5cf5466;border-radius:20px;padding:5px 11px;margin:0 0 2px;font-size:10px;font-weight:750;letter-spacing:.1em}
.login-card{padding-top:25px}.login-card h2{margin-top:12px}.preview-notice{font-size:12px;line-height:1.75;color:var(--muted);margin:18px 0 0}.consent-note{margin:15px 0 18px}.preview-enter-icon{stroke:currentColor;stroke-width:2;fill:none;width:31px;height:31px}.discord-button[disabled]{cursor:wait;opacity:.7;transform:none}.discord-button span[data-i18n]{overflow-wrap:anywhere}.language-picker{font:inherit;display:flex;align-items:center;gap:10px;color:var(--text);cursor:pointer}.language.language-picker{padding:10px 30px 10px 12px;min-width:142px}.language-picker [data-language-name]{font-size:14px}.policy-language.language-picker{border:1px solid var(--line);border-radius:8px;background:var(--dialog);padding:8px 12px}.language-options{display:grid;gap:7px;margin-top:15px}.language-options button{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:13px 15px;background:#79a9eb13;border:1px solid #79a9eb29;border-radius:10px;min-height:48px}.language-options button[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}.language-options small{opacity:.75}#language-search{font:inherit;width:100%;margin:4px 0 0;padding:13px 15px;background:var(--navy);color:var(--text);border:1px solid var(--line);border-radius:10px}#language-search:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}#language-dialog .dialog-top h2{font-size:23px;margin:0 0 12px}#language-dialog .close-dialog{flex-shrink:0}.no-script{padding:20px}
@media(max-width:700px){.preview-notice{font-size:11px}.login-card{padding-top:20px}.preview-label{font-size:9px}.language.language-picker{height:38px;min-width:113px;padding:7px 24px 7px 9px;gap:6px}.language-picker [data-language-name]{font-size:12px}.language svg{width:18px;height:18px}.discord-button{font-size:18px;gap:10px}.hero{padding-bottom:30px}}
@media(max-width:355px){.language.language-picker{min-width:100px}.language-picker [data-language-name]{font-size:11px}.discord-button{font-size:16px}}

/* Official Discord status: independent of the sign-in action. */
.discord-status{margin:16px 0 12px;padding:12px 14px;border:1px solid rgba(202,172,105,.2);border-radius:12px;background:rgba(4,14,28,.72);text-align:left;color:#dbe4ee;font-size:12px;line-height:1.6}
.discord-status-line{display:flex;align-items:flex-start;gap:8px;margin:0;font-weight:600}
.discord-status-dot{flex:0 0 8px;width:8px;height:8px;margin-top:6px;border-radius:50%;background:#aab4c1}
.discord-status[data-state="operational"] .discord-status-dot{background:#68d6a0}
.discord-status[data-state="partial"] .discord-status-dot{background:#f0ca65}
.discord-status[data-state="outage"] .discord-status-dot{background:#ff7e83}
.discord-status time{display:block;color:#aebdd0;font-size:11px;margin:3px 0 0 16px}
.discord-status time:empty{display:none}
.discord-status-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin:7px 0 0 16px}
.discord-status-links a{color:#d9bc80;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.discord-status-links a:hover{color:#ffe4ae}.discord-status-links a:focus-visible{outline:2px solid #d9bc80;outline-offset:3px;border-radius:2px}
@media(max-width:480px){.discord-status{padding:10px 12px}.discord-status-links{gap:5px 12px}}

/* Member-facing login help: readable at narrow widths and with enlarged text. */
#detail-dialog { overflow-y:auto; overscroll-behavior:contain; }
#dialog-content h3 { font-size:1em; line-height:1.5; margin:0 0 8px; color:var(--text, #e8edf5); }
#dialog-content ol { padding-inline-start:24px; }
#dialog-content li { margin-block:0 20px; }
#dialog-content li p { margin-block:0 8px; }
#dialog-content a { color:#a9d9ff; text-underline-offset:3px; overflow-wrap:anywhere; }
#dialog-content a:focus-visible { outline:2px solid #e3c579; outline-offset:4px; }
