header h1{flex:1;font-size:1.6rem;font-weight:700}main{max-width:1200px;margin:0 auto;padding:2rem}.top-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.album-search{background:var(--white);color:var(--text);border:1.5px solid #ccc;border-radius:8px;flex:1;max-width:320px;padding:.5rem .85rem;font-family:Outfit,sans-serif;font-size:.95rem;transition:border-color .15s}.album-search:focus{border-color:var(--blue);outline:none}.album-search::placeholder{opacity:.5}.add-btn{background-color:var(--blue);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;padding:.5rem 1rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;transition:opacity .15s}.add-btn:hover{opacity:.88}.album-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem;padding:8px;display:grid}.album-stack{isolation:isolate;flex-direction:column;display:flex;position:relative}.album-stack:before,.album-stack:after{content:"";background:var(--white);box-shadow:var(--card-shadow);z-index:-1;border-radius:10px;position:absolute;inset:0}.album-stack:before{transform:rotate(-2deg)}.album-stack:after{transform:rotate(1.5deg)}.album-card{background:var(--white);box-shadow:var(--card-shadow);cursor:pointer;color:inherit;border-radius:10px;flex-direction:column;flex:1;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.album-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #34403a38}.album-cover-wrap{aspect-ratio:4/3;background:#34403a14;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.album-cover-wrap img{object-fit:cover;width:100%;height:100%;display:block}.album-cover-wrap .album-cover-bg{object-fit:cover;filter:blur(16px)brightness(.7);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.15)}.album-cover-wrap .album-cover-fg{z-index:1;object-fit:contain;width:auto;height:100%;position:relative}.album-cover-placeholder{color:#34403a40}.album-cover-placeholder svg{width:52px;height:52px}.album-info{flex:1;padding:.75rem 1rem .5rem}.album-name{color:var(--text);margin-bottom:.2rem;font-size:1rem;font-weight:700}.album-meta{color:var(--text);opacity:.6;font-size:.82rem}.status-message{text-align:center;color:var(--text);opacity:.6;grid-column:1/-1;padding:3rem 1rem;font-size:1.1rem}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-start;padding:5vh 1rem;display:flex;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal-box{background:var(--white);border-radius:12px;flex-direction:column;gap:.75rem;width:100%;max-width:420px;padding:1.5rem;display:flex;box-shadow:0 8px 32px #0000002e}.modal-title{color:var(--text);margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.form-field{flex-direction:column;gap:.25rem;display:flex}.form-label{color:var(--text);opacity:.7;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.modal-box input[type=text],.modal-box input[type=number],.modal-box textarea{background:var(--bg);color:var(--text);border:1.5px solid #ccc;border-radius:7px;width:100%;padding:.45rem .75rem;font-family:Outfit,sans-serif;font-size:1rem}.modal-box input:focus,.modal-box textarea:focus{border-color:var(--blue);outline:none}.modal-box textarea{resize:vertical;min-height:64px;font-size:.95rem}.modal-box input[type=number]{width:110px}.loc-chips{flex-wrap:wrap;gap:.3rem;margin-bottom:.35rem;display:flex}.loc-chips:empty{margin-bottom:0}.loc-chip{color:var(--text);white-space:normal;word-break:break-word;background:#34403a12;border:1.5px solid #34403a33;border-radius:20px;align-items:center;gap:.25rem;padding:.15rem .4rem .15rem .65rem;font-family:Outfit,sans-serif;font-size:.82rem;display:inline-flex}.loc-chip-remove{cursor:pointer;color:var(--text);opacity:.45;background:0 0;border:none;flex-shrink:0;padding:0 .1rem;font-size:1rem;line-height:1}.loc-chip-remove:hover{opacity:.9}.location-wrap{position:relative}.location-dropdown{background:var(--white);z-index:200;border:1.5px solid #ddd;border-radius:6px;max-height:150px;display:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 14px #34403a1f}.location-dropdown.open{display:block}.location-item{cursor:pointer;color:var(--text);padding:.35rem .7rem;font-family:Outfit,sans-serif;font-size:.9rem}.location-item:hover{background:var(--bg)}.location-item.create-option{color:var(--blue);font-style:italic}.modal-footer{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.save-btn,.cancel-btn{cursor:pointer;border:none;border-radius:7px;padding:.4rem 1rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;transition:opacity .15s}.save-btn{background:var(--blue);color:var(--white)}.save-btn:hover{opacity:.88}.save-btn:disabled{opacity:.45;cursor:default}.cancel-btn{color:var(--text);background:0 0;border:2px solid #ccc}.cancel-btn:hover{border-color:var(--text)}.albums-help-disclosure{flex:1}.albums-help-disclosure summary{color:var(--blue);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;font-size:.85rem;font-weight:600;list-style:none;display:inline-flex}.albums-help-disclosure summary::-webkit-details-marker{display:none}.albums-help-disclosure summary:before{content:"▸";font-size:.7rem;transition:transform .15s}.albums-help-disclosure[open] summary:before{transform:rotate(90deg)}.albums-help{color:var(--text);opacity:.6;max-width:640px;margin-top:.5rem;font-size:.85rem;line-height:1.5}.controls-row{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.sort-bar{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.sort-label{color:var(--text);opacity:.45;font-size:.85rem}.sort-select{color:var(--text);cursor:pointer;opacity:.45;background:0 0;border:none;padding:0;font-family:Outfit,sans-serif;font-size:.85rem}.sort-select:hover,.sort-select:focus{opacity:.75;outline:none}@media (width<=600px){header h1{font-size:1.1rem}main{padding:1rem}.album-grid{gap:1.25rem;padding:6px}}
