@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--primary-hue:350;--accent-hue:38;--primary:hsl(var(--primary-hue), 85%, 50%);--primary-hover:hsl(var(--primary-hue), 85%, 43%);--primary-light:hsl(var(--primary-hue), 90%, 95%);--primary-glow:hsla(var(--primary-hue), 85%, 50%, .15);--secondary:#b34de6;--accent:hsl(var(--accent-hue), 90%, 55%);--accent-hover:hsl(var(--accent-hue), 90%, 48%);--accent-light:hsl(var(--accent-hue), 90%, 96%);--success:#1ab366;--success-glow:#1ab36626;--error:#e62b1a;--error-glow:#e62b1a26;--warning:#f9a006;--bg-app:#f7f6f2;--bg-panel:#ffffffbf;--bg-input:#fff;--border:#21242c14;--border-glow:hsla(var(--primary-hue), 85%, 50%, .15);--text-main:#252b37;--text-muted:#676f7e;--text-light:#9da3af;--text-inverse:#fff;--font-heading:"Outfit", "Plus Jakarta Sans", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;--font-japanese:"Noto Sans JP", "Hiragino Kaku Gothic Pro", sans-serif;--glass-blur:16px;--glass-shadow:0 8px 32px 0 #8e44ad0d, 0 4px 12px 0 #00000008;--card-radius:20px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.5s cubic-bezier(.175, .885, .32, 1.275)}@media (prefers-color-scheme:dark){:root{--bg-app:#131720;--bg-panel:#1b202db3;--bg-input:#171b26;--border:#e0e3eb14;--border-glow:hsla(var(--primary-hue), 80%, 55%, .25);--primary-light:hsl(var(--primary-hue), 30%, 18%);--primary-glow:hsla(var(--primary-hue), 85%, 50%, .25);--accent-light:hsl(var(--accent-hue), 30%, 18%);--text-main:#e7e9ef;--text-muted:#b9bdc6;--text-light:#818898;--glass-shadow:0 8px 32px 0 #0000005e, inset 0 1px 1px 0 #ffffff0d}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;transition:background-color var(--transition-normal);line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--primary-glow)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-main);font-weight:700;line-height:1.2}h1{letter-spacing:-.03em;font-size:2.8rem}h2{letter-spacing:-.02em;font-size:2rem}h3{font-size:1.4rem;font-weight:600}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}button{cursor:pointer;font-family:var(--font-body);transition:all var(--transition-fast);background:0 0;border:none}input,select,textarea{font-family:var(--font-body);outline:none}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative}.bg-glow-1{filter:blur(80px);pointer-events:none;z-index:-1;background:radial-gradient(circle,#ec13371f 0%,#fff0 70%);border-radius:50%;width:40vw;height:40vw;position:fixed;top:-10%;left:-10%}.bg-glow-2{filter:blur(80px);pointer-events:none;z-index:-1;background:radial-gradient(circle,#f4a8251a 0%,#fff0 70%);border-radius:50%;width:45vw;height:45vw;position:fixed;bottom:-10%;right:-10%}.main-header{z-index:100;-webkit-backdrop-filter:blur(var(--glass-blur));background-color:var(--bg-panel);border-bottom:1px solid var(--border);transition:all var(--transition-normal);position:sticky;top:0}.header-content{align-items:center;gap:1rem;max-width:1280px;margin:0 auto;padding:.7rem 1.25rem;display:flex}.header-content-public{justify-content:space-between}.header-content-app{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid}.header-brand{flex-shrink:0;justify-self:start;align-items:center;gap:.65rem;min-width:0;display:flex}.logo-circle{aspect-ratio:1;background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff;width:42px;min-width:42px;height:42px;font-size:1.15rem;font-weight:700;font-family:var(--font-japanese);box-shadow:0 4px 10px var(--primary-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.logo-text{flex-direction:column;min-width:0;line-height:1.05;display:flex}.logo-text-primary{font-family:var(--font-heading);color:var(--primary);letter-spacing:-.02em;font-size:1.15rem;font-weight:700}.logo-text-secondary{font-family:var(--font-heading);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:600}.header-desktop-nav{justify-content:center;justify-self:center;align-items:center;gap:.15rem;min-width:0;display:flex}.header-actions{flex-shrink:0;justify-content:flex-end;justify-self:end;align-items:center;gap:.45rem;display:flex}.header-lang-btn{justify-content:center;align-items:center;gap:.4rem;height:40px;display:inline-flex;box-shadow:none!important;border-radius:10px!important;padding:0 .75rem!important;font-size:.82rem!important}.nav-link{color:var(--text-muted);white-space:nowrap;transition:all var(--transition-fast);border-radius:12px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.88rem;font-weight:600;display:inline-flex}.nav-link:hover{color:var(--primary);background-color:var(--primary-glow)}.nav-link.active{color:var(--primary);background-color:var(--primary-glow);box-shadow:inset 0 0 0 1px var(--border-glow)}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--border);background:var(--bg-input);height:40px;color:var(--text-main);max-width:180px;box-shadow:none;border-radius:10px;align-items:center;gap:.45rem;padding:0 .55rem 0 .35rem;font-size:.85rem;font-weight:600;display:inline-flex}.user-menu-trigger:hover,.user-menu-trigger.open{border-color:var(--border-glow);box-shadow:0 0 0 3px var(--primary-glow)}.user-menu-avatar{background:linear-gradient(135deg, var(--secondary), var(--primary));color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.82rem;font-weight:700;display:inline-flex}.user-menu-avatar-lg{width:40px;height:40px;font-size:1rem}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-menu-chevron{color:var(--text-light);transition:transform var(--transition-fast);flex-shrink:0}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{border:1px solid var(--border);background:var(--bg-input);min-width:240px;box-shadow:var(--glass-shadow);z-index:200;border-radius:14px;padding:.5rem;position:absolute;top:calc(100% + .45rem);right:0}.user-menu-header{align-items:center;gap:.65rem;padding:.45rem .55rem;display:flex}.user-menu-meta{flex-direction:column;gap:.1rem;min-width:0;display:flex}.user-menu-meta strong{font-size:.9rem}.user-menu-email{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.user-menu-badges{flex-wrap:wrap;gap:.35rem;margin-top:.25rem;display:flex}.user-menu-badge{border-radius:999px;align-items:center;gap:.25rem;padding:2px 7px;font-size:.68rem;font-weight:700;display:inline-flex}.user-menu-badge-admin{color:var(--primary);background:#e74c3c1f}.user-menu-badge-premium{color:var(--secondary);background:#9b59b626}.user-menu-divider{background:var(--border);height:1px;margin:.35rem 0}.user-menu-item{width:100%;color:var(--text-main);text-align:left;border-radius:10px;align-items:center;gap:.55rem;padding:.55rem .65rem;font-size:.88rem;font-weight:600;display:flex}.user-menu-item:hover,.user-menu-item.active{background:var(--primary-glow);color:var(--primary)}.user-menu-item-admin{color:var(--primary)}.user-menu-item-danger{color:var(--error)}.user-menu-item-danger:hover{background:var(--error-glow);color:var(--error)}.mobile-bottom-nav{z-index:110;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:var(--bg-panel);-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--border);justify-content:space-around;align-items:center;gap:.15rem;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--text-light);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;min-width:0;padding:.35rem .15rem;font-size:.65rem;font-weight:600;display:flex}.mobile-nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-nav-item:hover,.mobile-nav-item.active{color:var(--primary);background:var(--primary-glow)}.mobile-sheet-backdrop{z-index:120;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-sheet{background:var(--bg-input);width:100%;max-width:480px;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border:1px solid var(--border);box-shadow:var(--glass-shadow);border-radius:20px 20px 0 0}.mobile-sheet-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.mobile-sheet-header h3{font-size:1rem}.mobile-sheet-close{width:36px;height:36px;color:var(--text-muted);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.mobile-sheet-links{flex-direction:column;gap:.35rem;display:flex}.mobile-sheet-link{width:100%;color:var(--text-main);text-align:left;border-radius:12px;align-items:center;gap:.65rem;padding:.75rem .85rem;font-weight:600;display:flex}.mobile-sheet-link:hover,.mobile-sheet-link.active{background:var(--primary-glow);color:var(--primary)}.mobile-sheet-link-admin{color:var(--primary)}body.has-mobile-nav{padding-bottom:72px}@media (width<=1100px){.nav-link span{display:none}.nav-link{padding:.5rem .65rem}}@media (width<=900px){.header-lang-label{display:none}.header-lang-btn{width:40px;padding:0!important}.user-menu-name{display:none}.user-menu-trigger{justify-content:center;width:40px;max-width:none;padding:0}}@media (width<=768px){.header-content-app{justify-content:space-between;display:flex}.header-desktop-nav,.logo-text-desktop{display:none}.mobile-bottom-nav{display:flex}.footer-content{flex-direction:column}}@media (width>=769px){.mobile-bottom-nav,.mobile-sheet-backdrop{display:none!important}}.glass-panel{background-color:var(--bg-panel);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--glass-shadow);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal)}.glass-panel:hover{border-color:var(--border-glow)}.ja-text{font-family:var(--font-japanese)}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.btn{transition:all var(--transition-bounce);border-radius:14px;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.6rem;font-size:1rem;font-weight:600;display:inline-flex;box-shadow:0 4px 10px #0000000d}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg, var(--primary), hsl(var(--primary-hue), 85%, 45%));color:var(--text-inverse);box-shadow:0 4px 15px var(--primary-glow)}.btn-primary:hover{box-shadow:0 6px 20px var(--primary-glow);color:var(--text-inverse);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-input);border:1px solid var(--border);color:var(--text-main)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg, var(--accent), var(--primary));color:var(--text-inverse);box-shadow:0 4px 15px hsla(var(--accent-hue), 90%, 55%, .25)}.btn-accent:hover{box-shadow:0 6px 20px hsla(var(--accent-hue), 90%, 55%, .35);color:var(--text-inverse);transform:translateY(-2px)}.main-footer{text-align:center;background-color:var(--bg-panel);border-top:1px solid var(--border);color:var(--text-light);padding:2rem 1.5rem;font-size:.9rem}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}
