.app-footer[data-v-4c02f548]{position:relative;z-index:1;padding:1.5rem 1.25rem 2.5rem;text-align:center;border-top:1px solid var(--color-border);background:#07061a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.disclaimer[data-v-4c02f548]{margin:0 0 .75rem;color:var(--color-text-mute);font-size:.78rem;line-height:1.7;max-width:420px;margin-inline:auto}.links[data-v-4c02f548]{margin-bottom:.5rem;font-size:.85rem}.links a[data-v-4c02f548]{color:var(--color-text-soft)}.sep[data-v-4c02f548]{color:var(--color-text-mute);margin:0 .6em}.copy[data-v-4c02f548]{margin:0;color:var(--color-text-mute);font-size:.75rem;letter-spacing:.15em;font-family:var(--font-serif)}.starfield[data-v-961595fa]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.star[data-v-961595fa]{position:absolute;background:#fff8d8;border-radius:50%;box-shadow:0 0 4px #fff0b4b3;opacity:.5;animation:twinkle-961595fa ease-in-out infinite}@keyframes twinkle-961595fa{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.app-main[data-v-b7abbe02]{flex:1;position:relative;z-index:1}.page-enter-active[data-v-b7abbe02],.page-leave-active[data-v-b7abbe02]{transition:opacity .35s ease,transform .35s ease}.page-enter-from[data-v-b7abbe02]{opacity:0;transform:translateY(8px)}.page-leave-to[data-v-b7abbe02]{opacity:0;transform:translateY(-8px)}:root{--color-bg-deep: #07061a;--color-bg: #0d0a26;--color-bg-soft: #1a1240;--color-surface: #1f1648;--color-surface-2: #281c5a;--color-border: #382970;--color-gold: #d4af37;--color-gold-soft: #e8c547;--color-gold-dim: #8a7129;--color-text: #e8e6f0;--color-text-soft: #c2bcd9;--color-text-mute: #8a85a8;--color-accent: #b48bff;--color-accent-soft: #e0c3ff;--shadow-glow-gold: 0 0 24px rgba(212, 175, 55, .35);--shadow-card: 0 12px 36px rgba(0, 0, 0, .55);--shadow-card-hover: 0 16px 48px rgba(180, 139, 255, .35);--font-serif: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", "YuMincho", serif;--font-body: "Noto Serif JP", "Hiragino Mincho ProN", "YuMincho", serif;--radius-card: 14px;--radius-button: 999px;--max-width: 480px}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:var(--color-bg-deep);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{background:radial-gradient(ellipse at 20% -10%,rgba(180,139,255,.18),transparent 60%),radial-gradient(ellipse at 80% 110%,rgba(212,175,55,.12),transparent 50%),linear-gradient(180deg,#07061a,#0d0a26,#07061a);background-attachment:fixed}#app{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-gold-soft);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}h1,h2,h3{font-family:var(--font-serif);font-weight:500;letter-spacing:.05em;margin:0}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-12px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes flip{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em 2em;border-radius:var(--radius-button);border:1px solid var(--color-gold-dim);background:linear-gradient(135deg,#2a1b5a,#1a1240);color:var(--color-gold-soft);font-family:var(--font-serif);font-size:1rem;letter-spacing:.1em;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease;text-decoration:none}.btn:hover,.btn:focus-visible{outline:none;transform:translateY(-1px);box-shadow:var(--shadow-glow-gold);border-color:var(--color-gold);text-decoration:none}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#d4af37,#a3811f);color:#1a1240;border-color:var(--color-gold);font-weight:700}.btn-primary:hover,.btn-primary:focus-visible{background:linear-gradient(135deg,#e8c547,#b8932a)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:1.5rem 1.25rem}.text-center{text-align:center}
