/* Second pass: tactile controls, warm gold completion states and immediate navigation. */
.page-animate{animation:none!important}.nav-logo .brand-dot{margin-left:-7px}
:root{--gold:#c48b27;--gold-d:#a46f18;--gold-l:#fff6df;--gold-t:#765114}
.fs,select.fi{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23566f66' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;padding-right:40px}
input[type=date].fi{appearance:none;min-height:50px;padding:12px 16px;color:var(--text);background:#f8faf8;border:1px solid #cadbd1;border-radius:12px;color-scheme:light}
input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;padding:4px}input[type=file].fi{background:#f8faf8;padding:10px!important;font-size:.875rem}
input[type=file]::file-selector-button{font:inherit;font-weight:650;background:var(--teal-l);color:var(--teal-d);border:1px solid #c4dfd3;border-radius:8px;padding:9px 12px;margin-right:12px;cursor:pointer}
.optional{font-size:.8rem;font-weight:450;color:var(--muted);margin-left:8px}.fl>i{margin-right:6px;color:var(--teal-d)}.completion-modal{max-width:620px}.completion-modal .modal-head{padding:24px 26px}.completion-modal .modal-body{padding:24px 26px}.completion-modal .modal-foot{flex-wrap:wrap;gap:10px;padding:20px 26px}.completion-modal .modal-title{font-size:1.35rem}.remove-completion{margin-right:auto}.form-error,.upload-error,.crop-error,.comment-error{color:#a63838;font-size:.875rem;line-height:1.5;margin-top:10px}.form-error:empty,.upload-error:empty,.crop-error:empty,.comment-error:empty{display:none}
.photo-uploader{border:1px solid var(--border);border-radius:16px;padding:18px;background:#fbfcfa}.photo-uploader.drag-over{background:var(--teal-l);outline:2px solid var(--teal)}.photo-uploader .fl{margin:0}.upload-count{font-size:.8rem;font-weight:700;color:var(--muted)}.upload-drop{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;flex-direction:column;border:1.5px dashed #abc9b9;background:#fff;border-radius:12px;padding:24px 14px;cursor:pointer;text-align:center;transition:background .12s}.upload-drop:hover,.upload-drop:focus-within{background:var(--teal-l);border-color:var(--teal)}.upload-drop>i{color:var(--teal-d);font-size:1.6rem;margin-bottom:5px}.upload-drop strong{font-size:.95rem;color:var(--text)}.upload-drop span{font-size:.8rem;color:var(--muted)}.upload-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.upload-previews:not(:empty){margin-bottom:14px}.upload-thumb{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--teal-l)}.upload-thumb img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:6px;right:6px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff80;background:#fff;color:#8f332b;box-shadow:0 2px 8px #0002;cursor:pointer}.photo-uploader>.fi-help{margin-top:12px}
.app-dialog{margin:auto;max-width:440px;width:calc(100% - 40px);padding:28px;border:1px solid var(--border);border-radius:20px;box-shadow:0 18px 70px #0d2e3130;color:var(--text)}.app-dialog::backdrop{background:#10282088;backdrop-filter:blur(3px)}.app-dialog h2{font-size:1.4rem;letter-spacing:-.03em}.app-dialog>p{color:var(--muted);margin:14px 0 24px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}
.achievement-page h1{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin:14px 0}.achievement-description{font-size:1rem;line-height:1.7;margin-bottom:20px}.ach-page-card{padding:28px;border:1px solid var(--border);border-radius:20px;margin-bottom:32px}.achievement-points{font-weight:750;font-size:1.15rem;color:var(--teal-d);margin:18px 0}.achievement-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}.completed-label{color:var(--gold-t);font-size:.9rem;font-weight:750}.progress-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0;font-size:.875rem;color:var(--muted)}.progress-summary strong{color:var(--text);flex:1}.progress-summary progress{display:block;width:100%;height:8px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#e4eee8;accent-color:var(--teal)}progress::-webkit-progress-bar{background:#e4eee8;border-radius:8px}progress::-webkit-progress-value{background:var(--teal);border-radius:8px}progress::-moz-progress-bar{background:var(--teal)}.milestone-items{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.milestone-item{margin:0}.milestone-toggle{display:flex;width:100%;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);padding:14px;text-align:left;cursor:pointer;font-size:.95rem}.milestone-toggle:hover{border-color:var(--teal)}.milestone-toggle>span:nth-child(2){flex:1}.milestone-toggle strong{font-size:.85rem;white-space:nowrap;color:var(--teal-d)}.milestone-check{width:26px;height:26px;border:2px solid #bacfc2;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.milestone-check i{opacity:0;font-size:.8rem}.milestone-item.is-complete .milestone-check{background:var(--gold);border-color:var(--gold);color:#fff}.milestone-item.is-complete .milestone-check i{opacity:1}.milestone-item.is-complete .milestone-toggle{background:var(--gold-l);border-color:#e5cc99}.milestone-item.is-complete strong{color:var(--gold-t)}.bonus-note{color:var(--gold-t);background:var(--gold-l);border-radius:10px;padding:12px;font-size:.875rem}
.category-tile .category-completed{display:block;font-size:.85rem;color:var(--gold-t)!important;font-weight:700;margin-top:5px}.category-completed i{font-size:.75rem;margin-right:4px}.is-complete.discover-card,.discovery-card.is-complete,.ach-item.is-complete,.grid-card.is-complete,.feat-card.is-complete,.completion-card.is-complete,.ach-page-card.is-complete{border-color:#e1c78e;background:#fffaf0}.discovery-card.is-complete .card-foot,.is-complete .ach-pts,.is-complete .feat-pts,.is-complete .grid-title,.is-complete .feat-title,.is-complete .achievement-points{color:var(--gold-t)}.is-complete .ach-dot{background:var(--gold)}.is-complete .ach-header,.is-complete .grid-photo{background:var(--gold-l)}.is-complete .spotlight-label,.is-complete .spotlight-label i{color:var(--gold-d)}.is-complete progress::-webkit-progress-value{background:var(--gold)}.is-complete progress::-moz-progress-bar{background:var(--gold)}.progress-label{display:block;font-size:.8rem;font-weight:500;color:var(--muted);margin-top:3px}.ach-bar.done .ach-bar-head{background:#f5e4bc}.ach-bar.done .ach-bar-pts{color:var(--gold-t)}.ach-bar.done .ach-bar-body{background:#fffaf0}.score-hero-num{color:var(--gold-t)}.score-hero{background:var(--gold-l);border-color:#ead4a7}.preview-moment.is-complete{border-color:#e1c78e;border-left-color:var(--gold);background:#fffcf5}
.completion-card{border:1px solid var(--border);border-radius:18px;overflow:hidden}.completion-photo{padding:0;border:0;cursor:pointer;height:220px;flex:1;min-width:0}.completion-photo img{width:100%;height:100%;object-fit:cover}.completion-story{font-size:1rem;line-height:1.7}.like-row{justify-content:space-between}.comment-bubble{min-width:0;flex:1}.comment-bubble .body{white-space:pre-wrap;overflow-wrap:anywhere}.comment-actions{display:flex;gap:14px;margin-top:7px}.comment-actions button,.comment-more{background:none;border:0;color:var(--teal-d);font-size:.8rem;font-weight:650;cursor:pointer;padding:4px 0}.comment-actions [data-delete-comment]{color:#986454}.comment-edit-form .fta{font-size:.9rem;min-height:90px;margin:10px 0}.comment-edit-form .btn{margin-right:8px}.comment-form{display:flex;align-items:center;gap:8px}.comment-input{min-width:0;font:inherit;font-size:.9rem;padding:10px 12px}.comment-more{margin:10px 0}.comment-submit{border-radius:8px;min-height:40px;padding:8px 12px}
/* The crop preview and saved image use the same aspect ratio. */
.profile-banner{height:auto!important;aspect-ratio:3/1}.profile-banner>img,.profile-banner-default{width:100%;height:100%}.crop-container{height:auto;aspect-ratio:3/1;touch-action:none;overflow:hidden;position:relative;background:#edf3ef;cursor:grab}.crop-container:active{cursor:grabbing}.crop-container img{position:absolute;left:0;top:0;max-width:none;max-height:none;transform-origin:0 0;user-select:none;pointer-events:none}.crop-container#crop-container-avatar{aspect-ratio:1;max-width:300px;margin:auto}.crop-controls{display:flex;gap:16px;align-items:center;margin-top:18px}.crop-controls input[type=range]{accent-color:var(--teal);width:100%}.crop-overlay{pointer-events:none}
/* Searchable showcase picker with a dedicated drag grip. */
.showcase-slot{position:relative;gap:10px;cursor:default}.showcase-drag,.sort-grip{border:0;background:transparent;padding:9px;color:#668c7c;font-size:1rem;cursor:grab;touch-action:none;flex-shrink:0}.showcase-drag:active,.sort-grip:active{cursor:grabbing}.showcase-slot .slot-number{display:none}.sort-ghost{opacity:.3;background:var(--teal-l)}.achievement-picker{position:relative}.achievement-picker.is-open{z-index:30}.picker-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ccddd3;border-radius:10px;background:#f9fbf8;color:var(--text);padding:12px 14px;text-align:left;font-size:.9rem;cursor:pointer}.picker-button>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.picker-button>i{font-size:.75rem;color:var(--muted)}.picker-panel{position:absolute;left:0;right:0;top:calc(100% + 5px);background:#fff;border:1px solid #c4d9cc;box-shadow:0 12px 28px #16392322;border-radius:12px;padding:10px}.picker-panel input{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px;font-size:.9rem}.picker-options{max-height:230px;overflow-y:auto;margin-top:6px}.picker-options button{display:block;width:100%;text-align:left;border:0;background:none;padding:10px;border-radius:7px;font-size:.875rem;color:var(--text);cursor:pointer}.picker-options button:hover,.picker-options button[aria-selected=true]{background:var(--teal-l);color:var(--teal-d)}.picker-options button:disabled{opacity:.4}.picker-options p{padding:12px;font-size:.85rem;color:var(--muted)}
/* Admin tree and transfer cards */
.admin-toolbar,.admin-search{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-search{margin:24px 0 14px}.admin-search input{flex:1;min-width:160px}.admin-category{border:1px solid var(--border);border-radius:16px;background:#fff;margin:14px 0;overflow:hidden}.admin-category>summary{display:flex;gap:14px;align-items:center;cursor:pointer;background:var(--teal-d);color:#fff;padding:20px;list-style:none}.admin-category summary::-webkit-details-marker{display:none}.admin-category>summary strong{flex:1}.admin-category>summary span{font-size:.8rem;opacity:.8}.admin-category>summary>.fa-chevron-down,.admin-subcategory>summary>.fa-chevron-down{font-size:.75rem}.admin-category[open]>summary>.fa-chevron-down,.admin-subcategory[open]>summary>.fa-chevron-down{transform:rotate(180deg)}.admin-sub-list{padding:16px}.admin-subcategory{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden;background:#fff}.admin-subcategory>summary{display:flex;align-items:center;gap:10px;background:#eff7f2;padding:12px;list-style:none;cursor:pointer}.admin-subcategory>summary strong{flex:1;font-size:.95rem}.admin-subcategory>summary span{font-size:.8rem;color:var(--muted)}.admin-ach-list{padding:0 14px;min-height:8px}.admin-ach-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);background:white}.admin-ach-row>a:first-of-type{flex:1;min-width:0;color:var(--text)}.admin-ach-row strong{display:block;font-size:.95rem;overflow-wrap:anywhere}.admin-ach-row span{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}.admin-add-ach{display:block;padding:14px 24px;font-size:.85rem;font-weight:650}.admin-subcategory .sort-grip{padding:6px 9px}.admin-achievements #sort-status{font-size:.875rem;color:var(--teal-d);min-height:1.5em}.transfer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.transfer-grid h2{font-size:1.4rem;margin:22px 0 14px}.transfer-grid p{font-size:.95rem;color:var(--muted);margin-bottom:16px}.transfer-grid form{margin-top:24px}.cat-header .btn,.cat-header .btn-admin-sm,.cat-header .cat-arrow{color:var(--teal-d)!important}.item-row{flex-wrap:wrap}.item-row .item-label{min-width:120px}
@media(max-width:600px){.completion-modal .modal-body,.completion-modal .modal-head{padding:20px}.completion-modal .modal-foot{padding:16px 20px}.completion-modal .remove-completion{flex-basis:100%;margin-right:0}.achievement-page h1{font-size:1.65rem}.ach-page-card{padding:20px}.milestone-toggle{padding:12px;font-size:.875rem}.transfer-grid{grid-template-columns:1fr}.admin-category>summary{padding:16px;gap:10px}.admin-category>summary span{display:none}.admin-sub-list{padding:10px}.admin-ach-row{gap:6px}.admin-ach-row strong{font-size:.875rem}.admin-ach-row .btn{padding:6px 9px}.showcase-drag{padding:9px 5px}.upload-thumb{min-width:0}.photo-remove{width:28px;height:28px}.profile-banner{min-height:0}.completion-photo{height:150px}.picker-panel{max-width:100%}}
