.mobile-menu{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#f7faf6f2;border-radius:16px;gap:10px;margin:0 18px 14px;padding:12px;display:grid}.mobile-menu a{color:var(--text);border:1px solid #0000;border-radius:12px;padding:12px;font-weight:600;text-decoration:none;transition:background-color .16s,color .16s,border-color .16s}.mobile-menu a:hover,.mobile-menu .mobile-active-link{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}@media (width>=980px){.mobile-menu{display:none}}.navbar{--nav-inline-gap:10px;z-index:100;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7faf6e6;position:sticky;top:0;box-shadow:0 1px #16241b0a}.navbar-container{width:100%;padding:12px var(--nav-inline-gap);justify-content:space-between;align-items:center;gap:10px;margin:0 auto;display:flex}.logo{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.logo-mark{object-fit:cover;object-position:center;background:#fff;border:2px solid #2f6d3842;border-radius:999px;width:42px;height:42px;box-shadow:0 0 0 4px #2f6d381f,0 8px 12px #2f6d382e}.logo-copy{display:grid}.logo-copy strong{letter-spacing:-.03em;font-size:1.08rem;font-weight:800}.logo-copy small{color:var(--muted);letter-spacing:.02em;font-size:.7rem}.nav-links{align-items:center;gap:calc(var(--nav-inline-gap) * 2);white-space:nowrap;flex-wrap:nowrap;min-width:0;margin:0 10px;display:none}.nav-links a{color:var(--text);border-bottom:2px solid #0000;padding:6px 0;font-size:.83rem;font-weight:600;text-decoration:none;transition:color .16s,border-color .16s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--accent);border-bottom-color:var(--border-strong)}.nav-links .active-link{color:var(--accent-strong);border-bottom-color:var(--accent)}.nav-right{align-items:center;gap:var(--nav-inline-gap);flex-wrap:wrap;justify-content:flex-end;margin-left:auto;display:flex}.icon-button,.menu-button{border:1px solid var(--border);min-width:44px;height:44px;box-shadow:var(--shadow-soft);background:#fffffff2;border-radius:12px;font-size:.9rem;transition:border-color .16s,background-color .16s,box-shadow .16s}.nav-text-button{width:auto;padding:0 14px;font-size:.8rem;font-weight:700}.nav-session-button{color:#6a2525;background:#fff7f7;border-color:#8d353559;min-width:0;padding:0 10px;font-size:.74rem}.nav-session-button:hover{background:#ffecec;border-color:#8f3a3a}.icon-button:hover,.menu-button:hover{border-color:var(--accent);background:var(--surface-soft);box-shadow:var(--shadow-card)}.admin-login{grid-template-columns:1fr 1fr;gap:10px;max-width:1340px;margin:0 auto 14px;padding:0 18px 14px;display:grid}.admin-login input{border:1px solid var(--border);background:#fffffff2;border-radius:12px;min-height:44px;padding:0 14px}.admin-login-actions{grid-column:1/-1;gap:10px;display:flex}.admin-login button,.admin-login-actions button{border:1px solid var(--accent);color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));min-height:44px;box-shadow:var(--shadow-soft);border-radius:12px;flex:1;padding:0 14px}.admin-login .admin-login-cancel{border-color:var(--border);color:var(--text);background:#f8fbf7}.admin-login-active{grid-column:1/-1;gap:10px;display:grid}.admin-login-active p{color:var(--muted);margin:0;font-size:.84rem;font-weight:700}@media (width>=980px){.nav-links{flex:auto;justify-content:center;display:flex}.menu-button{display:none}}@media (width<=720px){.logo-copy small{display:none}.admin-login{grid-template-columns:1fr}.admin-login-actions{flex-direction:column}}.layout{flex-direction:column;min-height:100vh;display:flex}.container{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:20px 14px 52px}.legal-footer{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7faf6e6}.legal-footer__inner{justify-items:center;gap:14px;max-width:1240px;margin:0 auto;padding:24px 20px 28px;display:grid}.legal-footer__links{color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0;font-weight:700;display:flex}.legal-footer__links a{color:var(--accent-strong);font-size:.92rem;text-decoration:none}@media (width>=768px){.container{padding:28px 20px 64px}.legal-footer__inner{padding:24px 24px 28px}}:root{--bg:#f3f7f2;--bg-deep:#e7efe6;--panel:#f7faf6;--panel-strong:#fff;--surface-soft:#eff5ee;--surface-tint:#e7f0e5;--text:#16241b;--muted:#526252;--accent:#2f6d38;--accent-strong:#24562c;--accent-soft:#d8ebd4;--accent-soft-strong:#cbe2c7;--highlight:#b7834d;--border:#c8d4c5;--border-strong:#9fb29d;--shadow-soft:0 2px 6px #17271c14;--shadow-card:0 8px 20px #17271c1f;--shadow-focus:0 0 0 3px #2f6d383d;--radius-s:10px;--radius-m:12px;--radius-l:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23586558' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}*{box-sizing:border-box}body{background:radial-gradient(circle at top right, #d8ebd473, transparent 38%), radial-gradient(circle at bottom left, #b7834d1f, transparent 42%), linear-gradient(180deg, #f7fbf6 0%, var(--bg) 48%, var(--bg-deep) 100%);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Roboto,Noto Sans,Segoe UI,Arial,sans-serif;font-size:.95rem;line-height:1.46}h1,h2,h3{letter-spacing:-.02em;color:var(--text);margin:0 0 .45rem;line-height:1.2}h1{font-size:clamp(1.35rem,1.05rem + 1.3vw,1.9rem)}h2{font-size:clamp(1.1rem,.96rem + .6vw,1.35rem)}h3{font-size:clamp(.98rem,.9rem + .35vw,1.12rem)}p{line-height:1.5}a{color:var(--accent);text-underline-offset:2px}button,input,select,textarea{font:inherit;color:var(--text);font-size:.9rem}button{justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;border:1px solid var(--border);background:var(--panel-strong);border-radius:var(--radius-m);letter-spacing:.005em;text-align:center;min-height:40px;box-shadow:var(--shadow-soft);padding:0 14px;font-weight:600;line-height:1;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}button:hover:not(:disabled){border-color:var(--accent);background:var(--surface-soft);box-shadow:var(--shadow-card);transform:translateY(-1px)}button:active:not(:disabled){box-shadow:var(--shadow-soft);transform:translateY(0)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{box-shadow:var(--shadow-focus);outline:none}button:disabled{opacity:.55;cursor:not-allowed}::placeholder{color:#738573}img{max-width:100%}details>summary{cursor:pointer;align-items:center;list-style:none;display:inline-flex}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸";width:10px;color:var(--muted);transform-origin:50%;margin-right:8px;font-size:.86rem;line-height:1;transition:transform .16s,color .16s;display:inline-block}details[open]>summary:before{color:var(--accent);transform:rotate(90deg)}input,select,textarea{border:1px solid var(--border);background:var(--panel-strong);border-radius:var(--radius-m);min-height:40px;padding:0 var(--space-3);line-height:1.2;transition:border-color .16s,box-shadow .16s,background-color .16s}input:hover,select:hover,textarea:hover{border-color:var(--border-strong);background:#fbfdfb}select{appearance:none;background-image:var(--select-chevron);background-position:right 10px center;background-repeat:no-repeat;background-size:10px 6px;padding-right:28px}select::-ms-expand{display:none}select[multiple],select[size]{padding-right:var(--space-3);background-image:none}textarea{min-height:88px;padding:var(--space-3);resize:vertical}.admin-image-upload{gap:8px;display:grid}.admin-image-upload-button{border-radius:var(--radius-m);border:1px dashed var(--accent);background:var(--accent-soft);min-height:44px;color:var(--accent-strong);cursor:pointer;padding:0 var(--space-4);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.admin-image-upload-button input{display:none}.admin-image-upload-error{color:#a22f2f;margin:0;font-size:.86rem;font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
