:root{--color-primary: #0369A1;--color-secondary: #0EA5E9;--color-cta: #22C55E;--color-border: rgba(255, 255, 255, .1);--color-background: #0A0A0A;--color-background-card: rgba(15, 23, 42, .7);--color-text: #F8FAFC;--color-text-muted: #94A3B8;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--shadow-glow: 0 0 20px rgba(3, 105, 161, .4);--shadow-glow-lg: 0 0 40px rgba(14, 165, 233, .5);--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.3);--shadow-lg: 0 10px 15px rgba(0,0,0,.4);--shadow-xl: 0 20px 25px rgba(0,0,0,.5);--font-heading: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--font-body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--nav-height: 72px}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:var(--font-body);background:var(--color-background);color:var(--color-text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em}a{color:inherit;text-decoration:none}.glass{background:var(--color-background-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);border-radius:16px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;padding:10px 24px;border-radius:8px;font-weight:600;font-family:var(--font-body);cursor:pointer;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);position:relative;overflow:hidden;white-space:nowrap}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-primary:hover:before{left:100%}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);background:#ffffff0d;color:var(--color-text);padding:10px 24px;border-radius:8px;font-weight:500;font-family:var(--font-body);cursor:pointer;border:1px solid var(--color-border);transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);background:#ef444426;color:#fca5a5;padding:10px 24px;border-radius:8px;font-weight:500;font-family:var(--font-body);cursor:pointer;border:1px solid rgba(239,68,68,.3);transition:all .3s ease;white-space:nowrap}.btn-danger:hover{background:#ef444440;border-color:#ef444480;color:#fecaca;transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}.text-gradient{background:linear-gradient(to right,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 var(--space-md)}input,select,textarea{width:100%;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#0000004d;color:var(--color-text);font:inherit;transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #0ea5e933;background:#00000080}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media(max-width:1024px){:root{--nav-height: 64px}}.navbar{position:fixed;top:0;left:0;width:100%;height:var(--nav-height);z-index:70;border-bottom:1px solid var(--color-border);background:#0a0a0ab3;overflow:visible}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--space-md)}.navbar-logo{display:inline-flex;align-items:center;gap:var(--space-sm);position:relative;min-width:0;flex-shrink:0;cursor:pointer}.logo-glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:var(--color-primary);border-radius:50%;filter:blur(20px);opacity:.5;z-index:-1;transition:opacity .3s ease}.navbar-logo:hover .logo-glow{opacity:.8;background:var(--color-cta)}.logo-icon{width:28px;height:28px;border-radius:8px;object-fit:cover;box-shadow:0 0 0 1px #ffffff40,0 8px 18px #00000059}.logo-text{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;letter-spacing:.05em;white-space:nowrap;line-height:1}.navbar-nav{display:flex;align-items:center;gap:var(--space-md);min-width:0}.nav-link{position:relative;display:flex;align-items:center;gap:6px;padding:8px 16px;color:var(--color-text-muted);font-size:.95rem;font-weight:500;transition:color .2s ease;border-radius:10px;cursor:pointer}.nav-link:hover,.nav-link.active{color:var(--color-text)}.nav-active-pill{position:absolute;inset:0;background:#ffffff14;border-radius:10px;z-index:-1}.navbar-actions{display:flex;align-items:center;gap:8px}.navbar-profile-entry{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;max-width:220px;border-radius:999px;border:1px solid rgba(14,165,233,.35);background:#0369a129;color:#e2f3ff;transition:all .2s ease;cursor:pointer}.navbar-profile-entry:hover{border-color:#0ea5e999;background:#0ea5e92e}.navbar-profile-text{display:inline-block;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-avatar-wrap{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff17;color:var(--color-text);flex-shrink:0}.navbar-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.navbar-logout{padding:9px 12px;border-radius:999px;cursor:pointer}.navbar-mobile-toggle{display:none;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:var(--color-text);align-items:center;justify-content:center;cursor:pointer}.navbar-mobile-panel{position:absolute;top:calc(100% + 8px);left:12px;right:12px;border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,.08);background:#040a14e6;box-shadow:0 16px 40px #00000073}.navbar-mobile-nav{display:flex;flex-direction:column;gap:8px}.mobile-nav-link{display:flex;align-items:center;padding:10px 12px;border-radius:10px;color:var(--color-text-muted);transition:all .2s ease;cursor:pointer}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--color-text);background:#ffffff14}.mobile-nav-main{display:inline-flex;align-items:center;gap:10px}.navbar-mobile-actions{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.mobile-profile-entry{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#0369a129;border:1px solid rgba(14,165,233,.35);color:#e2f3ff}.mobile-logout-btn,.mobile-login-btn{width:100%}.navbar-nav-desktop,.navbar-actions-desktop{display:flex}@media(max-width:1024px){.navbar{height:64px}.navbar-nav-desktop,.navbar-actions-desktop{display:none}.navbar-mobile-toggle{display:inline-flex}.logo-text{font-size:1.05rem}.logo-icon{width:24px;height:24px}}@media(max-width:520px){.navbar-container{gap:8px}.logo-text{font-size:.95rem;letter-spacing:.03em}.navbar-mobile-panel{left:8px;right:8px}}.footer{border-top:1px solid var(--color-border);background:#0a0a0ae6;padding:var(--space-xl) 0;margin-top:auto}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.footer-brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:600;font-family:var(--font-heading)}.footer-logo{width:24px;height:24px;border-radius:6px;object-fit:cover;box-shadow:0 0 0 1px #fff3,0 6px 16px #00000059}.footer-copyright{color:var(--color-text-muted);font-size:.875rem}@media(max-width:768px){.footer-content{flex-direction:column;text-align:center}}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;display:flex;flex-direction:column;padding-top:var(--nav-height);position:relative;z-index:1}.main-content-isolated{padding-top:0}.page-transition-wrap{flex:1;display:flex;flex-direction:column}
