@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Cormorant+Garamond:ital,wght@0,300;1,300;1,400&family=Noto+Sans+JP:wght@100;200;300&display=swap");:root{--bg-base:#020810;--bg-card:rgba(8,20,55,.52);--blue-bloom-1:rgba(10,50,120,.55);--blue-bloom-2:rgba(6,30,90,.58);--gold-primary:#f0d791;--gold-soft:hsla(44,76%,75%,.72);--gold-border:rgba(180,150,40,.18);--pearl-text:rgba(232,242,255,.9);--muted-blue:rgba(185,210,245,.7);--input-text:#dce8ff;--input-bg:rgba(5,15,45,.66);--input-border:rgba(180,150,40,.18)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg-base)}.login-v4{position:relative;min-height:100vh;overflow:hidden;display:grid;place-items:center;padding:36px 20px;color:var(--pearl-text);background:radial-gradient(circle at 18% 14%,rgba(10,50,120,.6),transparent 34%),radial-gradient(circle at 78% 22%,rgba(10,70,150,.28),transparent 30%),linear-gradient(145deg,#020810,#061633 50%,#020810);font-family:Noto Sans JP,system-ui,sans-serif}.bg-grid,.bg-layer,.bracket,.bracket-inner,.columns,.comet,.frieze,.kintsugi-v,.micro-stars{pointer-events:none}.bg-layer{z-index:0;background:radial-gradient(circle at 50% 38%,rgba(10,50,120,.22),transparent 28%),radial-gradient(circle at 50% 50%,hsla(44,55%,62%,.045),transparent 38%)}.bg-grid,.bg-layer{position:fixed;inset:0}.bg-grid{z-index:1;opacity:.18;background-image:linear-gradient(rgba(180,150,40,.07) 1px,transparent 0),linear-gradient(90deg,rgba(180,150,40,.07) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:radial-gradient(circle at center,#000,transparent 80%);mask-image:radial-gradient(circle at center,#000,transparent 80%)}.kintsugi-v{position:fixed;top:52px;bottom:52px;left:50%;width:1px;z-index:2;background:linear-gradient(180deg,transparent,hsla(44,55%,62%,.42),transparent);box-shadow:0 0 22px hsla(44,55%,62%,.18)}.micro-stars{position:fixed;inset:0;z-index:2}.star{position:absolute;border-radius:50%;animation-name:twinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes twinkle{0%,to{opacity:.08;transform:scale(.7)}50%{opacity:.62;transform:scale(1.28)}}.comet,.login-v4:after{display:none!important}.columns{position:fixed;inset:0;z-index:2}.column-line{position:absolute;top:0;bottom:0;width:1px;background:rgba(180,150,40,.045)}.frieze{position:fixed;left:52px;right:52px;height:1px;z-index:3;background:linear-gradient(90deg,transparent,hsla(44,55%,62%,.34),transparent)}.frieze-top{top:52px}.frieze-bot{bottom:52px}.frieze-dot{position:absolute;top:-3px;width:7px;height:7px;border-radius:999px;background:rgba(200,170,60,.66);box-shadow:0 0 14px hsla(44,55%,62%,.34)}.bracket,.bracket-inner{position:fixed;z-index:4;width:70px;height:70px;border-color:hsla(44,55%,62%,.38)}.bracket-inner{width:48px;height:48px;border-color:hsla(44,55%,62%,.18)}.bracket-inner.tl,.bracket.tl{top:52px;left:52px;border-top:1.5px solid;border-left:1.5px solid}.bracket-inner.tr,.bracket.tr{top:52px;right:52px;border-top:1.5px solid;border-right:1.5px solid}.bracket-inner.bl,.bracket.bl{bottom:52px;left:52px;border-bottom:1.5px solid;border-left:1.5px solid}.bracket-inner.br,.bracket.br{bottom:52px;right:52px;border-bottom:1.5px solid;border-right:1.5px solid}.login-column{position:relative;z-index:10;width:min(404px,calc(100vw - 40px));display:flex;flex-direction:column;align-items:center;text-align:center;animation:loginFloat .7s ease-out both}@keyframes loginFloat{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.seal{position:relative;width:66px;height:66px;border-radius:999px;display:grid;place-items:center;margin-bottom:14px;border:1px solid hsla(44,55%,62%,.4);background:radial-gradient(circle,rgba(10,50,120,.7),rgba(2,8,16,.22) 64%),linear-gradient(145deg,rgba(10,35,90,.72),rgba(4,12,32,.84));box-shadow:0 0 26px rgba(20,70,180,.3),inset 0 0 22px hsla(44,55%,62%,.07)}.seal:after,.seal:before{content:"";position:absolute;border-radius:inherit;border:1px solid hsla(44,55%,62%,.22)}.seal:before{inset:8px}.seal:after{inset:16px}.seal-kintsugi{position:absolute;left:18%;right:18%;top:50%;height:1px;background:linear-gradient(90deg,transparent,hsla(44,55%,62%,.7),transparent);z-index:2}.seal-diamond{width:28px;height:28px;border:1px solid hsla(44,55%,62%,.58);transform:rotate(45deg);display:grid;place-items:center;z-index:3}.seal-dot{width:6px;height:6px;border-radius:999px;background:#ffe6a8;box-shadow:0 0 16px rgba(255,230,168,.68)}.wordmark{margin:0;font-family:Cinzel,serif;font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:.96;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-primary);text-shadow:0 0 34px rgba(220,190,90,.36),0 0 68px rgba(20,80,200,.2)}.sub-en{margin:10px 0 0;font-size:11px;letter-spacing:.38em;text-transform:uppercase;color:rgba(255,238,180,.94)}.sub-en,.sub-kanji{font-family:Noto Sans JP,system-ui,sans-serif;font-weight:100}.sub-kanji{letter-spacing:.25em;color:rgba(170,195,245,.82)}.rule{width:104px;height:1px;margin:14px 0;background:linear-gradient(90deg,transparent,hsla(44,55%,62%,.68),transparent)}.quote-wrap{min-height:70px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.quote{margin:0;max-width:352px;color:var(--pearl-text);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:18px;letter-spacing:.03em;line-height:1.34;opacity:1;transition:opacity 1.2s ease,transform 1.2s ease}.quote.fade{opacity:0;transform:translateY(4px)}.card{width:100%;border:1px solid var(--gold-border);border-radius:26px;background:rgba(8,20,55,.52);backdrop-filter:blur(24px);box-shadow:inset 0 0 34px rgba(10,40,120,.12),0 24px 76px rgba(0,0,0,.34);padding:22px;text-align:left;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:30%;right:30%;height:1px;background:linear-gradient(90deg,transparent,hsla(44,55%,62%,.66),transparent)}.field-label,.role-label{display:block;margin:0 0 7px;font-family:Noto Sans JP,system-ui,sans-serif;font-weight:200;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:hsla(47,66%,66%,.86)}.role-label{margin-top:16px}.field-input{width:100%;height:44px;border:1px solid var(--input-border);border-radius:15px;padding:0 14px;background:var(--input-bg);color:var(--input-text);outline:none;margin-bottom:12px;font-size:14px}.field-input::-moz-placeholder{color:rgba(190,210,245,.42)}.field-input::placeholder{color:rgba(190,210,245,.42)}.field-input:focus{border-color:hsla(44,55%,62%,.5);box-shadow:0 0 0 3px hsla(44,55%,62%,.08)}.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(4.75rem,1fr));gap:10px;margin-bottom:16px}.role{min-height:68px;border:1px solid rgba(180,150,40,.16);border-radius:16px;background:rgba(5,15,45,.58);color:rgba(220,235,255,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:.18s ease;font-family:Noto Sans JP,system-ui,sans-serif;font-weight:200;letter-spacing:.12em;font-size:10px}.role.active,.role:hover{color:#ffe6a8;border-color:rgba(180,150,40,.48);background:rgba(10,30,90,.76);box-shadow:inset 0 0 24px rgba(10,50,160,.22),0 0 18px rgba(10,50,160,.16);transform:translateY(-1px)}.role-glyph{width:26px;height:26px;display:grid;place-items:center}.role-glyph svg{width:25px;height:25px}.enter-btn{width:100%;height:48px;border-radius:16px;border:1px solid rgba(180,150,40,.34);background:linear-gradient(135deg,rgba(15,45,130,.88),rgba(8,25,80,.92));color:#ffe6a8;font-family:Cinzel,serif;font-weight:600;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:.18s ease;position:relative;overflow:hidden}.enter-btn:hover{transform:translateY(-1px);border-color:rgba(180,150,40,.56);box-shadow:0 16px 36px rgba(0,0,0,.3),0 0 22px rgba(10,80,160,.22)}.footer{margin-top:18px;color:hsla(48,63%,63%,.56);font-family:Noto Sans JP,system-ui,sans-serif;font-weight:100;font-size:9px;letter-spacing:.18em;text-transform:uppercase}@media (max-width:720px){.login-v4{padding:32px 14px}.roles{grid-template-columns:repeat(2,minmax(0,1fr))}.wordmark{font-size:34px;letter-spacing:.16em}.card{padding:20px}.frieze{left:20px;right:20px}.bracket,.bracket-inner{display:none}}