@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");:root{--bg:#f7f8fb;--surface:#fff;--surface-soft:#f2f4f8;--text:#111827;--text-muted:#5b6472;--border:#e5e8ef;--primary:#2563eb;--primary-strong:#1d4ed8;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;--shadow:0 10px 30px rgba(15,23,42,.08)}*{box-sizing:border-box;padding:0;margin:0}body{font-family:Manrope,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit;background:none}img{max-width:100%;height:auto}.container{width:min(1160px,92vw);margin:0 auto}.header-wrap{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(247,248,251,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:74px;grid-gap:20px;gap:20px}.brand{justify-self:start;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;color:#0f172a}.nav{justify-self:center;display:flex;align-items:center;gap:24px;color:#344153;font-weight:600}.nav a{padding:8px 0}.nav a:hover{color:var(--primary)}.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:28px;gap:28px;align-items:stretch;padding:48px 0 44px}.hero h1{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:14px}.hero p{color:var(--text-muted);font-size:1.05rem;line-height:1.75}.cta-row{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;border:1px solid transparent;padding:10px 16px;font-weight:700;cursor:pointer;transition:all .18s ease}.button-primary{background:var(--primary);color:#fff}.button-primary:hover{background:var(--primary-strong)}.button-outline{background:var(--surface);border-color:var(--border);color:#20293a}.button-outline:hover{border-color:#c8cfdb}.section-title{font-size:clamp(1.6rem,2.5vw,2.2rem);letter-spacing:-.02em;margin:24px 0 8px}.section-subtitle{color:var(--text-muted);margin-bottom:20px;line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:18px;gap:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;color:var(--text);display:flex;flex-direction:column;box-shadow:var(--shadow)}.card img{width:100%;height:auto;display:block;object-fit:cover}.card-body{padding:16px;display:flex;flex-direction:column;gap:10px}.card-title{font-weight:800;font-size:1.02rem;letter-spacing:-.01em}.card-meta{font-size:.84rem;color:var(--text-muted)}.card-actions{display:flex;gap:10px;flex-wrap:wrap}.card-actions .button{font-size:.84rem;padding:9px 13px}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tag{padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:#374151;font-size:.85rem;cursor:pointer}.tag.active{border-color:var(--primary);color:var(--primary);background:#eef4ff}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--surface);color:var(--text);width:min(980px,94vw);max-height:calc(100vh - 40px);border-radius:var(--radius-lg);box-shadow:0 24px 70px rgba(15,23,42,.24);display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1fr);grid-gap:20px;gap:20px;padding:20px;position:relative;overflow:auto}.modal img{border-radius:var(--radius-md);border:1px solid var(--border)}.modal h3{font-size:1.35rem;margin-bottom:10px;letter-spacing:-.01em}.modal p{color:#2f3a4d;line-height:1.65;font-size:.96rem}.prompt-text{white-space:pre-wrap;max-height:42vh;overflow:auto;padding-right:6px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.modal-close{position:absolute;right:14px;top:10px;background:transparent;border:none;color:#4b5563;font-size:1.25rem;cursor:pointer}.copy-note{font-size:.82rem;color:#6b7280;margin-top:10px}.save-album-box{margin-top:14px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-soft)}.save-album-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.album-input,.album-select{height:40px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 12px;min-width:180px}.album-create-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.albums-list{display:grid;grid-gap:18px;gap:18px;margin-top:18px}.album-card{border-radius:var(--radius-lg);border:1px solid var(--border);padding:16px;background:var(--surface)}.album-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.album-inline-form{display:flex;gap:8px;flex-wrap:wrap;width:100%}.album-post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px}.album-post-card{background:var(--surface-soft);border-radius:var(--radius-md);border:1px solid var(--border);padding:10px}.album-post-card img{border-radius:8px;width:100%;height:auto}.album-post-card h3{font-size:1rem;margin:9px 0 4px}.footer{margin-top:64px;padding:34px 0 48px;border-top:1px solid var(--border);color:var(--text-muted)}.footer .cta-row{margin-top:12px}.content-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;line-height:1.8;color:#344153}.content-block p+p{margin-top:12px}.detail-header{display:grid;grid-template-columns:minmax(240px,1.05fr) minmax(260px,.95fr);grid-gap:22px;gap:22px;align-items:start;margin-top:20px}.detail-header img{border-radius:var(--radius-lg);border:1px solid var(--border)}.detail-panel{background:var(--surface);border:1px solid var(--border);padding:18px;border-radius:var(--radius-lg)}.detail-panel h2{margin-bottom:10px;letter-spacing:-.01em}.detail-panel .button{margin-top:10px}.card-media-button{border:0;padding:0;width:100%;display:block;cursor:pointer;background:transparent}.card-media-button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media (max-width:980px){.header{grid-template-columns:1fr;gap:10px;padding:14px 0}.brand,.header-actions,.nav{justify-self:center}.nav{gap:14px;flex-wrap:wrap;justify-content:center}.hero{padding-top:28px}.detail-header,.modal{grid-template-columns:1fr}}.hero-search{display:flex;gap:10px;margin-top:18px;max-width:560px}.search-wrap{margin-bottom:14px}.search-input{width:100%;height:44px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 14px;font-size:.95rem}.search-input:focus{outline:2px solid rgba(37,99,235,.25);border-color:#aec8ff}.gallery-tools{margin-bottom:14px}@media (max-width:980px){.hero-search{max-width:100%}}.card-media-button{position:relative;aspect-ratio:4/5;overflow:hidden}.card-media-button img{width:100%;height:100%;object-fit:cover}.modal-actions-secondary{margin-top:10px;flex-wrap:nowrap}@media (max-width:700px){.modal-actions-secondary{flex-wrap:wrap}}.hero{grid-template-columns:1fr;justify-items:center;text-align:center;padding:56px 0 36px;gap:22px}.hero-intro{width:min(980px,100%)}.hero-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border:1px solid #9fb0ca;border-radius:999px;color:#3b4f6f;font-weight:700;margin-bottom:16px;background:#f3f6fb}.hero h1{max-width:1000px;margin-left:auto;margin-right:auto;font-size:clamp(2.2rem,5.2vw,4.1rem);line-height:1.12}.hero p{max-width:940px;margin:0 auto;font-size:clamp(1.05rem,2.2vw,1.15rem)}.hero-search{width:min(680px,100%);margin-left:auto;margin-right:auto}.hero .cta-row{justify-content:center}.hero-content-note{width:min(980px,100%);text-align:left}