:root{--color-bg: #fffef7;--color-primary: #8e2219;--color-primary-light: #d67a7a;--color-accent: #e4c489;--color-accent-dark: #b69b6a;--color-text: #2c2c2c;--color-text-light: #666666;--font-serif: "Noto Serif JP", serif;--font-sans: "Noto Sans JP", sans-serif;--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.08);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--color-jade: #00796B}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}#app,.app{display:flex;flex-direction:column;min-height:100vh}.chinese-text{font-family:var(--font-serif)}.container{margin:0 auto;max-width:860px;padding:0 1rem;width:100%}.app-header{background-color:var(--color-primary);box-shadow:var(--shadow-md);color:#fff;padding:.9rem 1rem 0;position:sticky;top:0;z-index:1000}.header-top{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding-bottom:.7rem;width:100%}.app-title-link{color:#fff;text-decoration:none}.app-title{align-items:baseline;display:flex;gap:.6rem}.title-chinese{color:var(--color-accent);font-family:var(--font-serif);font-size:1.75rem;font-weight:700;letter-spacing:.08rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.title-site{font-size:1rem;font-weight:700;opacity:.95}.header-actions{align-items:center;display:flex;gap:.75rem}.language-selector select{background:#ffffff2e;border:1px solid rgba(255,255,255,.42);border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;outline:none;padding:.36rem .6rem}.language-selector select option{background:#fff;color:var(--color-text)}.mobile-menu-toggle{align-items:center;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:6px;cursor:pointer;display:none;height:38px;justify-content:center;padding:0;position:relative;width:38px}.hamburger-bar,.hamburger-bar:before,.hamburger-bar:after{background:#fff;border-radius:2px;display:block;height:2px;position:relative;transition:all .3s ease;width:20px}.hamburger-bar:before,.hamburger-bar:after{content:"";position:absolute}.hamburger-bar:before{top:-6px}.hamburger-bar:after{bottom:-6px}.hamburger-bar.open{background:transparent}.hamburger-bar.open:before{top:0;transform:rotate(45deg)}.hamburger-bar.open:after{bottom:0;transform:rotate(-45deg)}.mobile-menu-backdrop{background:#0000006b;border:0;display:none;top:0;right:0;bottom:0;left:0;opacity:0;position:fixed;transition:opacity .25s ease;visibility:hidden;z-index:1050}.mobile-menu-backdrop.visible{opacity:1;visibility:visible}.mobile-menu-backdrop:active{transform:none}.app-body{display:grid;flex:1;gap:1.25rem;grid-template-columns:280px minmax(0,1fr);margin:0 auto;max-width:1280px;padding:1rem;width:100%}.app-sidebar{align-self:start;background:#fffaf0;border:1px solid rgba(142,34,25,.12);border-radius:8px;box-shadow:var(--shadow-sm);padding:.75rem;position:sticky;top:90px}.sidebar-ad{margin-bottom:1rem;text-align:center}.sidebar-ad-label{display:block;color:var(--color-text-light);font-size:.75rem}.sidebar-ad a img{display:block;height:auto;margin:0 auto;max-width:100%}.campaign-sidebar-link{display:block;border-top:1px solid rgba(142,34,25,.14);color:var(--color-text-light);font-size:.78rem;line-height:1.6;margin-top:1rem;padding:.75rem .25rem 0;text-decoration:underline}.app-nav{display:flex;flex-direction:column;gap:.85rem;justify-content:flex-start;margin:0;max-width:none;padding:0}.nav-group{border-bottom:1px solid rgba(142,34,25,.1);padding-bottom:.75rem;position:relative}.nav-group:last-child{border-bottom:0;padding-bottom:0}.nav-group-button{align-items:center;background:#f8efe1;border:0;border-radius:6px;color:var(--color-primary);display:flex;font:inherit;font-size:.88rem;font-weight:800;gap:.35rem;justify-content:flex-start;min-height:36px;padding:.42rem .65rem;width:100%}.nav-group-button:hover,.nav-group.active .nav-group-button,.nav-group.open .nav-group-button{background:#f2dfbd;color:var(--color-primary)}.nav-icon{align-items:center;border:1px solid currentColor;border-radius:50%;display:inline-flex;font-size:.72rem;height:20px;justify-content:center;width:20px}.nav-caret{display:none}.nav-dropdown{display:grid;gap:.25rem;min-width:0;padding:.45rem 0 0}.nav-link{align-items:center;border-radius:6px;color:var(--color-text);display:flex;gap:.65rem;padding:.32rem .7rem;text-decoration:none}.nav-link:hover,.nav-link.active{background:#fbf4e8;color:var(--color-primary)}.nav-link-icon{align-items:center;background:#f8efe1;border:1px solid rgba(142,34,25,.14);border-radius:8px;color:var(--color-primary);display:inline-flex;flex:0 0 auto;font-family:var(--font-serif);font-size:.9rem;font-weight:800;height:32px;justify-content:center;width:32px}.nav-link:hover .nav-link-icon,.nav-link.active .nav-link-icon{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-accent)}.nav-link-text{min-width:0}.nav-link-main,.nav-link-desc{display:block}.nav-link-main{font-size:.9rem;font-weight:800}.nav-link-desc{color:var(--color-text-light);font-size:.76rem;line-height:1.35;margin-top:.14rem}.header-decoration{background:repeating-linear-gradient(45deg,var(--color-accent),var(--color-accent) 10px,var(--color-primary) 10px,var(--color-primary) 20px);height:4px;width:100%}.app-main{flex:1;min-width:0;padding:0;width:100%}.app-footer{background:#341a16;color:#fffaf0c7;margin-top:2rem;overflow:hidden;position:relative}.app-footer:before{background:linear-gradient(90deg,var(--color-accent),rgba(228,196,137,.2),var(--color-accent));content:"";height:2px;inset:0 0 auto;position:absolute}.footer-container{display:grid;gap:2.5rem 2rem;grid-template-columns:minmax(230px,1.35fr) repeat(3,minmax(130px,.72fr));margin:0 auto;max-width:1280px;padding:4.25rem 1.5rem 3.5rem;position:relative}.footer-intro{max-width:295px}.footer-brand{align-items:center;color:#fffaf0;display:inline-flex;gap:.75rem;text-decoration:none}.footer-brand-mark{align-items:center;background:var(--color-accent);border-radius:50%;color:#4a211b;display:inline-flex;font-family:var(--font-serif);font-size:1.25rem;font-weight:800;height:42px;justify-content:center;width:42px}.footer-brand-chinese,.footer-brand-name{display:block}.footer-brand-chinese{color:var(--color-accent);font-family:var(--font-serif);font-size:1.25rem;font-weight:700;letter-spacing:.12em;line-height:1.1}.footer-brand-name{font-size:.73rem;font-weight:700;letter-spacing:.04em;margin-top:.25rem}.footer-kicker{color:var(--color-accent);font-size:.68rem;font-weight:800;letter-spacing:.16em;margin-top:1.7rem}.footer-description{font-size:.88rem;line-height:1.8;margin-top:.5rem}.footer-home-link{border-bottom:1px solid rgba(228,196,137,.6);color:#fffaf0;display:inline-flex;font-size:.82rem;font-weight:700;gap:.65rem;margin-top:1.4rem;padding-bottom:.35rem;text-decoration:none;transition:color .2s ease,gap .2s ease}.footer-home-link:hover{color:var(--color-accent);gap:.9rem}.footer-nav-group{display:flex;flex-direction:column;gap:.64rem}.footer-nav-group h2{color:var(--color-accent);font-size:.76rem;letter-spacing:.1em;margin:0 0 1.1rem}.footer-link{color:#fffaf0c7;font-size:.8rem;line-height:1.35;text-decoration:none;transition:color .2s ease,transform .2s ease}.footer-link:hover{color:#fffaf0;transform:translate(3px)}.footer-scene{align-self:end;border:1px solid rgba(228,196,137,.35);border-radius:4px;display:none;height:130px;overflow:hidden;position:relative}.footer-scene:after{background:linear-gradient(0deg,rgba(39,17,14,.78),transparent 75%);content:"";top:0;right:0;bottom:0;left:0;position:absolute}.footer-scene img{height:100%;object-fit:cover;width:100%}.footer-scene-label{bottom:.75rem;color:#fffaf0;font-size:.62rem;font-weight:800;left:.8rem;letter-spacing:.12em;position:absolute;z-index:1}.footer-bottom{border-top:1px solid rgba(255,250,240,.14);display:flex;font-size:.72rem;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1280px;padding:1.25rem 1.5rem}.footer-bottom p{margin:0}.footer-bottom a{color:#fffaf0c7;text-decoration:none}.footer-bottom a:hover{color:var(--color-accent)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media (max-width: 760px){.app-header{max-height:100vh;max-height:100dvh}.mobile-menu-toggle{display:flex}.app-title{align-items:flex-start;flex-direction:column;gap:.1rem}.title-chinese{font-size:1.45rem}.title-site{font-size:.82rem}.mobile-menu-backdrop{display:block;pointer-events:none}.mobile-menu-backdrop.visible{pointer-events:auto}.app-body{display:block;overflow-x:clip;padding:.75rem}.app-sidebar{border-radius:0 8px 8px 0;height:100vh;height:100dvh;left:0;max-height:none;max-width:340px;overflow-y:auto;overscroll-behavior:contain;padding:.8rem;position:fixed;top:0;transform:translate(-105%);transition:transform .25s ease;width:86vw;z-index:1100;-webkit-overflow-scrolling:touch}.app-sidebar.mobile-open{transform:translate(0)}.app-nav{gap:.7rem}.nav-group{padding-bottom:.7rem}.footer-container{gap:2.25rem 1.25rem;grid-template-columns:repeat(3,1fr);padding:3.25rem 1rem 2.75rem}.footer-intro{grid-column:1 / -1;max-width:440px}.footer-scene{display:block;grid-column:1 / -1}.footer-bottom{padding:1.15rem 1rem}}@media (min-width: 1040px){.footer-container{grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(120px,.68fr)) minmax(150px,.9fr)}.footer-scene{display:block}}@media (max-width: 520px){.footer-container{grid-template-columns:repeat(2,1fr)}.footer-nav-group:last-of-type{grid-column:1 / -1}.footer-bottom{align-items:flex-start;flex-direction:column;gap:.4rem}}:root{--color-primary: #8B1A1A;--color-primary-light: #C41E3A;--color-accent: #FFD700;--color-accent-dark: #D4AF37;--color-jade: #2E7D32;--color-bg: #F5F1E8;--color-text: #3E2723;--color-text-light: #5D4037;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 8px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans JP,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .3s ease}button:active{transform:scale(.98)}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.chinese-text{font-family:"Noto Serif TC",serif}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn .5s ease-out}.slide-in{animation:slideIn .5s ease-out}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-accent-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}
