:root{--g-night: #1b1565;--g-indigo: #1a1e70;--g-deep: #183a92;--g-titan: #174eaa;--g-crystal: #00b8eb;--g-crystal-hi: #bef6f1;--g-sun: #ffe6bd;--g-shadow: #6b75b3;--g-sky: #c2def7;--g-glow: #99e6ff;--g-ink: #080b22;--g-ink-2: #0e1336;--g-text: #eef2ff;--g-mute: rgba(232, 238, 255, .72);--g-faint: rgba(232, 238, 255, .46);--g-line: rgba(255, 255, 255, .14);--g-line-2: rgba(255, 255, 255, .26);--g-gold: #e8c46a;--g-gold-2: #f6dc8c;--g-gold-grad: linear-gradient(135deg, #f8e3a0 0%, #e8c46a 45%, #c99a3a 100%);--g-crystal-grad: linear-gradient(135deg, #bef6f1 0%, #5ad8f5 45%, #1d8fe0 100%);--g-accent: var(--g-crystal);--g-accent-2: var(--g-glow);--g-r1: #9aa3b5;--g-r2: #eef2ff;--g-r3: #6fe08f;--g-r4: #5fb4ff;--g-r5: #c08bff;--g-r6: #ffae4a;--g-radius: 20px;--g-serif: "Noto Serif TC", "Noto Serif JP", serif;--g-sans: "Noto Sans TC", "Noto Sans JP", system-ui, sans-serif;--g-display: "Cinzel", serif;--g-ease: cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body.g-page{margin:0;min-height:100vh;min-height:100dvh;background:var(--g-ink);color:var(--g-text);font-family:var(--g-sans);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}:where(body.g-page) a{color:inherit;text-decoration:none}:where(body.g-page) img{max-width:100%;display:block}:where(body.g-page) button{font:inherit;color:inherit}body.g-page [hidden]{display:none!important}html:has(>body.g-page){overflow-x:clip}body.g-page{overflow-x:clip}.g-bar{position:fixed;z-index:60;inset:0 0 auto;height:60px;display:flex;align-items:center;gap:14px;padding:0 clamp(14px,3vw,28px);background:linear-gradient(180deg,#080b22c7,#080b2200);pointer-events:none}.g-bar>*{pointer-events:auto}.g-bar-logo img{height:34px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}.g-bar-sep{width:1px;height:22px;background:var(--g-line-2)}.g-bar-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.1em;color:var(--g-mute);padding:7px 14px 7px 11px;border-radius:999px;border:1px solid var(--g-line);background:#080b2273;backdrop-filter:blur(8px);transition:color .3s,background .3s}.g-bar-back:hover{color:var(--g-text);background:#ffffff1a}.g-bar-right{margin-left:auto;display:flex;gap:10px;align-items:center}.g-bg{position:fixed;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#1a2266 0%,#0e1440 45%,var(--g-ink) 100%)}.g-bg:before,.g-bg:after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.45;mix-blend-mode:screen;animation:g-drift 32s ease-in-out infinite alternate}.g-bg:before{width:60vw;height:42vw;left:-14vw;top:-10vw;background:radial-gradient(closest-side,color-mix(in srgb,var(--g-accent) 55%,transparent),transparent)}.g-bg:after{width:55vw;height:40vw;right:-12vw;bottom:-8vw;background:radial-gradient(closest-side,rgba(120,110,255,.45),transparent);animation-duration:40s}.g-stars{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.6;background-image:radial-gradient(1px 1px at 12% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 76% 12%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 42% 8%,#dfe8ff 50%,transparent 51%),radial-gradient(1px 1px at 88% 44%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 22% 58%,#cfe0ff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 62% 36%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 80%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 94% 72%,#e8f0ff 50%,transparent 51%);background-size:520px 520px}@keyframes g-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(4vw,3vw,0) scale(1.08)}}.g-main{position:relative;min-height:100vh;min-height:100dvh;padding:84px clamp(16px,4vw,40px) 60px;display:flex;flex-direction:column;align-items:center}.g-wrap{width:min(100%,1100px);margin:0 auto}.g-narrow{width:min(100%,640px);margin:0 auto}.g-stack{display:flex;flex-direction:column;gap:var(--gap, 16px)}.g-row{display:flex;flex-wrap:wrap;gap:var(--gap, 12px);align-items:center}.g-center{text-align:center;justify-content:center;align-items:center}.g-eyebrow{font-family:var(--g-display);font-size:12px;letter-spacing:.42em;color:var(--g-gold);text-transform:uppercase}.g-title{margin:10px 0 12px;font-family:var(--g-serif);font-weight:900;font-size:clamp(30px,5vw,56px);line-height:1.22;letter-spacing:.08em;background:linear-gradient(180deg,#fff,#e4eaff 55%,color-mix(in srgb,var(--g-accent) 55%,#b9c4ff));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 26px color-mix(in srgb,var(--g-accent) 30%,transparent));text-wrap:balance}.g-h2{margin:0 0 8px;font-family:var(--g-serif);font-weight:900;font-size:clamp(22px,2.6vw,30px);letter-spacing:.08em}.g-lead{margin:0;color:var(--g-mute);font-size:16px}.g-small{font-size:13px;color:var(--g-faint)}.g-panel{position:relative;padding:clamp(20px,3vw,32px);border-radius:24px;background:linear-gradient(170deg,#1e26609e,#0a0e28bd);border:1px solid var(--g-line);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 40px 90px -40px #000000d9,inset 0 1px #ffffff14}.g-panel:before{content:"";position:absolute;left:12%;right:12%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--g-accent),transparent);opacity:.8}.g-panel--flat{background:#ffffff0a;backdrop-filter:none;box-shadow:none}.g-panel--flat:before{display:none}.g-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 26px;border-radius:999px;cursor:pointer;font-size:15px;font-weight:700;letter-spacing:.1em;color:var(--g-text);border:1px solid var(--g-line-2);background:#ffffff12;transition:transform .3s var(--g-ease),background .3s,box-shadow .3s,filter .3s;-webkit-tap-highlight-color:transparent}.g-btn:hover{transform:translateY(-2px);background:#ffffff21}.g-btn:active{transform:translateY(0)}.g-btn:focus-visible{outline:2px solid var(--g-gold-2);outline-offset:3px}.g-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.g-btn--primary{color:#1a1406;border-color:#f8e3a0e6;background:var(--g-gold-grad);box-shadow:0 10px 30px -8px #e8c46a8c}.g-btn--primary:hover{background:var(--g-gold-grad);filter:brightness(1.05);box-shadow:0 14px 38px -8px #e8c46ab3}.g-btn--crystal{color:#04203a;border-color:#bef6f1e6;background:var(--g-crystal-grad);box-shadow:0 10px 30px -8px #00b8eb8c}.g-btn--crystal:hover{background:var(--g-crystal-grad);filter:brightness(1.06)}.g-btn--ghost{background:transparent}.g-btn--lg{padding:16px 34px;font-size:17px}.g-btn--sm{padding:8px 16px;font-size:13px}.g-btn--shine:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 48%,transparent 66%);transform:translate(-120%);animation:g-shine 6s ease-in-out 1.2s infinite;pointer-events:none}@keyframes g-shine{0%,72%{transform:translate(-120%)}to{transform:translate(120%)}}.g-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:13px;letter-spacing:.06em;color:var(--g-mute);border:1px solid var(--g-line);background:#ffffff0d}.g-chip svg{width:16px;height:16px;color:var(--g-accent)}.g-input,.g-textarea{width:100%;padding:13px 16px;border-radius:14px;font:inherit;font-size:16px;color:var(--g-text);background:#0407168c;border:1px solid var(--g-line);outline:none;transition:border-color .3s,box-shadow .3s}.g-input::placeholder,.g-textarea::placeholder{color:#e8eeff57}.g-input:focus,.g-textarea:focus{border-color:color-mix(in srgb,var(--g-accent) 70%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--g-accent) 16%,transparent)}.g-label{display:block;margin:0 0 7px 2px;font-size:13px;letter-spacing:.08em;color:var(--g-mute)}.g-choice{display:flex;align-items:center;gap:12px;width:100%;padding:15px 18px;border-radius:16px;cursor:pointer;text-align:left;border:1px solid var(--g-line);background:#ffffff0a;transition:transform .3s var(--g-ease),border-color .3s,background .3s,box-shadow .3s}.g-choice:hover{transform:translateY(-2px);background:#ffffff14;border-color:var(--g-line-2)}.g-choice.is-on{border-color:color-mix(in srgb,var(--g-accent) 75%,transparent);background:color-mix(in srgb,var(--g-accent) 14%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--g-accent) 40%,transparent),0 14px 32px -14px color-mix(in srgb,var(--g-accent) 70%,transparent)}.g-choice.is-right{border-color:#6fe08fcc;background:#6fe08f24}.g-choice.is-wrong{border-color:#ff8c8cb3;background:#ff78781a}.g-progress{height:6px;border-radius:999px;background:#ffffff1a;overflow:hidden}.g-progress>i{display:block;height:100%;width:var(--p, 0%);border-radius:inherit;background:linear-gradient(90deg,var(--g-accent),var(--g-accent-2));transition:width .6s var(--g-ease)}.g-r1{--rc: var(--g-r1)}.g-r2{--rc: var(--g-r2)}.g-r3{--rc: var(--g-r3)}.g-r4{--rc: var(--g-r4)}.g-r5{--rc: var(--g-r5)}.g-r6{--rc: var(--g-r6)}.g-rname{color:var(--rc, var(--g-text));text-shadow:0 0 18px color-mix(in srgb,var(--rc, #fff) 45%,transparent)}.g-card{position:relative;border-radius:24px;padding:2px;background:linear-gradient(135deg,color-mix(in srgb,var(--rc, var(--g-accent)) 80%,transparent),#ffffff14 40%,color-mix(in srgb,var(--g-accent-2) 70%,transparent));box-shadow:0 30px 70px -30px #000000d9,0 0 50px -16px color-mix(in srgb,var(--rc, var(--g-accent)) 55%,transparent)}.g-card>.g-card-body{border-radius:22px;padding:clamp(22px,3vw,34px);background:linear-gradient(160deg,#161c4af5,#090c22fa)}.g-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#040612a8;backdrop-filter:blur(6px)}.g-modal[hidden]{display:none}.g-fade-up{animation:g-fade-up .9s var(--g-ease) both;animation-delay:var(--d, 0ms)}@keyframes g-fade-up{0%{opacity:0;transform:translateY(18px)}}.g-breathe{animation:g-breathe 5s ease-in-out infinite}@keyframes g-breathe{0%,to{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--g-accent) 45%,transparent));transform:scale(1)}50%{filter:drop-shadow(0 0 22px color-mix(in srgb,var(--g-accent) 75%,transparent));transform:scale(1.03)}}.g-float{animation:g-float 6s ease-in-out infinite}@keyframes g-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){.g-bg:before,.g-bg:after,.g-breathe,.g-float,.g-btn--shine:after{animation:none}.g-fade-up{animation:none}}@media(max-width:640px){.g-bar{height:54px}.g-bar-logo img{height:28px}.g-main{padding-top:72px}}.g-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) brightness(.62)}.g-bg-veil{position:absolute;inset:0;background:radial-gradient(110% 85% at 50% 35%,#080b221a,#080b22e0),linear-gradient(180deg,#080b228c,#080b2200 25% 70%,#080b22d9)}.g-bg:has(.g-bg-img):before,.g-bg:has(.g-bg-img):after{opacity:.22;z-index:1}
