#root{width:100%;min-height:100vh}.site{width:min(1120px,100% - 32px);margin:0 auto;padding:40px 0 60px}.header{text-align:center;background:radial-gradient(circle at 12% 20%,#fff 0 5px,#0000 6px),radial-gradient(circle at 90% 28%,#fff 0 4px,#0000 5px),linear-gradient(135deg,#e7f5ef,#fffaf2);border:1px solid #dcebe5;border-radius:28px;padding:58px 24px;position:relative;overflow:hidden}.header:before,.header:after{color:#90bbaa;opacity:.45;content:"♧";font-size:36px;position:absolute}.header:before{top:22px;left:34px;transform:rotate(-15deg)}.header:after{bottom:20px;right:34px;transform:rotate(20deg)}.small-title{color:#71998b;letter-spacing:.25em;margin:0 0 12px;font-size:13px;font-weight:700}.header h1{color:#173b34;letter-spacing:-.05em;margin:0;font-size:clamp(32px,6vw,54px);line-height:1.2}.description{color:#61736d;margin:16px 0 0;font-size:15px;line-height:1.7}.summary{grid-template-columns:repeat(2,1fr);gap:14px;max-width:520px;margin:24px auto 14px;display:grid}.summary div{text-align:center;background:#fff;border:1px solid #deebe6;border-radius:18px;flex-direction:column;padding:20px;display:flex;box-shadow:0 8px 24px #30584c12}.summary strong{color:#315f52;font-size:25px}.summary span{color:#84928d;margin-top:5px;font-size:13px}.progress-background{background:#e5eeea;border-radius:999px;width:min(520px,100%);height:10px;margin:0 auto 30px;overflow:hidden}.progress-bar{border-radius:inherit;background:linear-gradient(90deg,#8dc5b1,#efbfc7);height:100%;transition:width .3s}.controls{margin-bottom:30px}.controls input{color:#29463e;width:min(520px,100%);height:50px;font:inherit;background:#fff;border:1px solid #cfdfd9;border-radius:16px;outline:none;margin:0 auto 18px;padding:0 20px;display:block;box-shadow:0 5px 20px #30584c0d}.controls input:focus{border-color:#7aae9d;box-shadow:0 0 0 4px #7aae9d26}.controls input::placeholder{color:#9ba9a4}.category-buttons{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.category-buttons button{color:#64766f;font:inherit;cursor:pointer;background:#fff;border:1px solid #d8e5e0;border-radius:999px;padding:9px 16px;font-size:13px;transition:all .2s}.category-buttons button:hover{color:#315f52;border-color:#98beaf;transform:translateY(-1px)}.category-buttons button.selected{color:#fff;background:#4f8273;border-color:#4f8273}.card-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:22px;display:grid}.photo-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #dae6e1;border-radius:18px;min-width:0;padding:0;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:0 8px 25px #264d4212}.photo-card:hover{border-color:#9cc4b5;transform:translateY(-4px);box-shadow:0 14px 32px #264d4221}.photo-card.owned{border:2px solid #63a38f}.photo-card.owned:after{color:#fff;content:"✓";background:#4f8c79;border:3px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 3px 10px #24493f40}.photo-placeholder{aspect-ratio:55/85;color:#6c9185;background:linear-gradient(#ffffff59,#ffffff59),linear-gradient(145deg,#d9eee6,#fff1e9);flex-direction:column;justify-content:center;align-items:center;display:flex}.photo-placeholder:before{content:"♧";margin-bottom:14px;font-size:34px}.photo-placeholder span{letter-spacing:.18em;font-size:13px;font-weight:800}.photo-placeholder small{color:#879b95;margin-top:6px;font-size:11px}.photo-card.owned .photo-placeholder{background:linear-gradient(#f0fff91f,#f0fff91f),linear-gradient(145deg,#bfe3d5,#ffe1e6)}.card-information{flex-direction:column;min-height:128px;padding:16px;display:flex}.category{color:#7b948b;margin-bottom:8px;font-size:11px}.card-information strong{color:#263b35;word-break:keep-all;font-size:14px;line-height:1.5}.owned-label{color:#8b9a95;margin-top:auto;padding-top:14px;font-size:11px}.photo-card.owned .owned-label{color:#397461;font-weight:700}.empty-message{color:#84938e;text-align:center;padding:60px 20px}footer{color:#758982;text-align:center;border-top:1px dashed #cdded8;margin-top:60px;padding-top:30px}footer p{margin:0 0 7px}footer small{color:#9baaa5;letter-spacing:.08em}@media (width<=600px){.site{width:min(100% - 22px,1120px);padding-top:12px}.header{border-radius:22px;padding:42px 18px}.description{font-size:13px}.summary div{padding:16px 10px}.summary strong{font-size:21px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-information{min-height:125px;padding:13px}.header:before,.header:after{font-size:26px}}.photo-image{aspect-ratio:55/85;object-fit:cover;background:#edf4f1;width:100%;display:block}.album-buttons{background:#edf5f1;border-radius:16px;flex-wrap:wrap;justify-content:center;gap:8px;margin:-12px 0 28px;padding:16px;display:flex}.album-buttons button{font:inherit;color:#426658;cursor:pointer;background:#fff;border:1px solid #cddfd5;border-radius:10px;padding:9px 14px;font-size:13px}.album-buttons button:hover{border-color:#4f8273}.album-buttons button.selected{color:#fff;background:#4f8273;border-color:#4f8273}.album-buttons button:focus-visible{outline-offset:3px;outline:3px solid #315f52}.owned-filter{color:#426658;cursor:pointer;justify-content:center;align-items:center;gap:8px;margin:0 0 24px;font-size:14px;display:flex}.owned-filter input{accent-color:#4f8273;cursor:pointer;width:18px;height:18px;margin:0}
