@font-face{font-family:system;src:local('Avenir Next')}*{box-sizing:border-box}body{margin:0;background:#fffbf6;color:#392443;font-family:system,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #e3d4e5;border-radius:15px;background:#fffafc;color:#43294d;padding:12px 17px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}button:disabled{opacity:.5;cursor:wait}button:hover{background:#f4e6f0}button:focus-visible,a:focus-visible{outline:3px solid #9b5baf;outline-offset:3px}.primary{background:#ca537f;color:white;border-color:#ca537f}.primary:hover{background:#b44770}.quiet{background:transparent;border-color:transparent}svg{width:22px;height:22px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.topbar{border-bottom:1px solid #eddfeb;background:#f8edf3}.topinner{max-width:1180px;margin:auto;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{display:flex;gap:10px;align-items:center;font-family:Georgia,serif;font-size:25px;line-height:1.05;font-weight:700;letter-spacing:-1px}.brand img{width:53px}.topactions{display:flex;align-items:center;gap:12px}.sync{font-size:12px;color:#745b7d;max-width:180px}.sync:before{content:'';display:inline-block;width:7px;height:7px;background:#65826c;border-radius:100%;margin-right:6px}main{max-width:1124px;margin:0 auto;padding:38px 24px 120px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#986b86;margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;letter-spacing:-1.3px;font-size:44px;line-height:1.1;margin-bottom:12px}h2{font-family:Georgia,serif;font-size:27px}h3{font-size:17px;line-height:1.35;margin-bottom:8px}.muted,.sub{color:#796780;line-height:1.65}.sub{max-width:550px;margin-bottom:24px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero{display:grid;grid-template-columns:1fr 230px;background:linear-gradient(120deg,#f8e9ef,#eee6f6);border:1px solid #ecdaea;border-radius:25px;padding:30px;margin-bottom:26px;overflow:hidden}.hero img{width:185px;justify-self:center;align-self:center;transform:rotate(7deg);filter:drop-shadow(0 12px 12px #77538920)}.hero h1{font-size:39px}.hero p{margin-bottom:0}.toolbar{display:flex;gap:10px;margin:18px 0;align-items:center;flex-wrap:wrap}.search{flex:1;min-width:160px}.chips{display:flex;gap:8px;overflow:auto;padding:3px 0 8px;scrollbar-width:none}.chips button{white-space:nowrap;border-radius:99px;font-size:14px;padding:10px 16px;min-height:40px}.chips .active{background:#50315d;color:white;border-color:#50315d}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}.card{border:1px solid #ebdfe8;border-radius:21px;background:white;overflow:hidden;box-shadow:0 4px 16px #50315d04}.photo{position:relative;aspect-ratio:1;background:linear-gradient(135deg,#f6eaf0,#f0eafa);display:flex;align-items:center;justify-content:center;width:100%;border:0;border-radius:0;padding:15px}.photo img{height:100%;width:100%;object-fit:contain;border-radius:9px}.photo>svg{width:65px;height:65px;stroke:#ba9acb;stroke-width:1}.cardbody{padding:17px}.cardbody p{font-size:13px;margin-bottom:10px}.badge{font-size:11px;padding:5px 9px;background:#f0e5f5;border-radius:7px;display:inline-block;margin-bottom:9px;font-weight:600}.card .actions{display:flex;gap:6px}.card .actions button{flex:1;font-size:12px;padding:9px 7px}.card .actions svg{width:16px}.empty{border:1px dashed #d5bfd8;border-radius:22px;padding:45px 24px;text-align:center;background:#fcf6f9;margin:24px 0}.empty>svg{height:48px;width:48px;color:#bc83a1;margin-bottom:15px}.empty p{max-width:470px;margin:12px auto 20px;color:#796780;line-height:1.7}.bottomnav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:8px;background:#fffbf6f5;backdrop-filter:blur(15px);border-top:1px solid #eadce8;padding:10px 12px max(10px,env(safe-area-inset-bottom));z-index:3}.bottomnav button{flex:1;max-width:175px;border:0;background:none;flex-direction:column;font-size:12px;gap:5px;padding:8px}.bottomnav .active{background:#f5dfe9;color:#aa3e6b}.panel{background:white;padding:25px;border:1px solid #ebdfe8;border-radius:22px;margin:20px 0}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.row img{width:60px;height:65px;object-fit:contain}.stack{display:grid;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-weight:600;font-size:14px;display:grid;gap:8px}input,select,textarea{width:100%;padding:13px;border-radius:12px;border:1px solid #dcccdf;background:white;color:#392443;min-height:45px}textarea{resize:vertical;min-height:110px}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:#bc5080}label.check{display:flex;align-items:center;font-weight:400}small{color:#796780;line-height:1.5}a{color:#8c3b80;text-underline-offset:3px}.note{background:#f3edf9;border-radius:13px;padding:14px;font-size:14px;line-height:1.6}.error{color:#a2214c}.login{max-width:440px;margin:8vh auto;padding:30px;text-align:center}.login>img{width:125px}.login h1{font-size:40px;margin:16px 0}.login form{text-align:left;margin-top:30px}.login button{width:100%}.loading{text-align:center;padding:80px}.trip{border-bottom:1px solid #eee1eb;padding:16px 0}.trip:last-child{border:0}.draft{white-space:pre-wrap;line-height:1.7}.detailsimage{width:100%;height:260px;object-fit:contain;background:#f8f1fa;border-radius:15px}dialog{border:1px solid #dfcde0;border-radius:24px;width:min(560px,calc(100% - 24px));max-height:90dvh;padding:25px;color:#392443;background:#fffbf6}dialog::backdrop{background:#291a3b77;backdrop-filter:blur(3px)}dialog .close{float:right;margin:-8px -8px 8px 12px}dialog h2{margin-bottom:22px}dialog form{clear:both}.wide{width:100%}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#392443;color:white;border-radius:14px;padding:13px 20px;max-width:90%;z-index:20;display:none;box-shadow:0 6px 30px #39244333}.sectiontitle{margin:32px 0 8px}.notice{font-size:13px;color:#796780;margin:14px 0}.results{white-space:pre-wrap;line-height:1.65}.favorite{color:#ba4276}.packdetails{margin:12px 0 0 36px}.compact{font-size:13px}.mini{height:80px;width:80px;object-fit:contain}.stats{display:flex;gap:20px;margin-top:20px;font-size:13px;color:#725777}.stats strong{display:block;color:#43294d;font-size:23px}.install{font-size:12px}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}@media(max-width:700px){.topinner{padding:15px 18px}.brand{font-size:21px}.brand img{width:45px}.sync{font-size:10px;max-width:95px}.topactions{gap:0}.topactions button{padding:8px}.topactions button span{display:none}main{padding:26px 18px 110px}h1{font-size:34px}.heading{align-items:flex-start}.heading>.primary{font-size:0;padding:12px}.heading>.primary svg{width:23px}.hero{grid-template-columns:1fr 85px;padding:23px 20px}.hero img{width:100px}.hero h1{font-size:30px}.hero .sub{font-size:14px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cardbody{padding:12px}.card h3{font-size:14px}.card .actions{flex-wrap:wrap}.card .actions button{min-width:70px}.two,.split{grid-template-columns:1fr}.bottomnav{gap:2px}.bottomnav button{font-size:11px}.panel{padding:19px}.toolbar{gap:8px}.toolbar select{width:auto;max-width:145px}.empty{padding:35px 20px}}

/* Responsive layout: keep text, controls and images within their grid tracks. */
html{-webkit-text-size-adjust:100%;scroll-padding-bottom:110px}body{min-width:0}main,.hero>div,.heading>div,.card,.cardbody,.panel,.row>*,.split>*,.two>*,label{min-width:0}h1,h2,h3,p,small,a,.note,.results{overflow-wrap:anywhere}.brand{flex-shrink:0}.topinner{gap:8px}.sync{line-height:1.35}.hero{grid-template-columns:minmax(0,1fr) 180px}.hero img{max-width:100%}.heading h2{margin-bottom:0}.photo{aspect-ratio:1/1;overflow:hidden}.photo img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.card{display:flex;flex-direction:column}.cardbody{display:flex;flex:1;flex-direction:column}.card .actions{margin-top:auto;display:grid;grid-template-columns:1fr;gap:7px}.card .actions button{width:100%;font-size:13px;min-height:44px;white-space:normal}.card h3{line-height:1.45}.card .badge{align-self:flex-start}.cardbody p{line-height:1.5}.catalog-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:20px 0 12px}.catalog-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.catalog-filters label{font-size:12px}.catalog-filters select{font-size:16px}.more-results{display:block;margin:24px auto;width:min(100%,360px)}input,select,textarea{max-width:100%;min-width:0;font-size:16px}input[type=file]{font-size:14px;overflow:hidden}input[type=checkbox]{flex-shrink:0}input[type=date]{min-height:48px}.row{align-items:flex-start}.row button{flex-shrink:0}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.stack button{max-width:100%}.bottomnav{padding-bottom:max(12px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(15px)}.bottomnav button{min-width:0}.bottomnav svg{height:23px;width:23px}.chipcount{font-size:11px;opacity:.8}dialog{overscroll-behavior:contain;max-height:calc(100dvh - 32px);padding:24px;overflow-y:auto}dialog .close{position:sticky;top:0;background:#fffbf6;z-index:1}dialog h2{padding-right:35px;line-height:1.2}dialog .row{flex-wrap:wrap}dialog .row button{flex:1}dialog .photo{max-height:300px}.results{white-space:pre-wrap}.detailsimage{height:auto;max-height:300px}.login{margin:5vh auto;max-width:440px}.login .eyebrow{line-height:1.6}
@media(min-width:701px) and (max-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{grid-template-columns:minmax(0,1fr) 140px}.split{grid-template-columns:1fr}}
@media(max-width:700px){
 .topinner{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.brand{font-size:20px;gap:8px;letter-spacing:-.7px}.brand img{width:40px;height:40px}.topactions{gap:2px;min-width:0}.sync{font-size:10px;max-width:90px}.topactions button{min-height:44px;min-width:40px;padding:8px}
 main{padding:22px 16px calc(104px + env(safe-area-inset-bottom))}h1{font-size:30px;letter-spacing:-.8px;line-height:1.13;margin-bottom:12px}h2{font-size:24px;line-height:1.2}.sub{font-size:14px;line-height:1.6;margin-bottom:18px}.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:9px}
 .hero{display:block;padding:21px;margin-bottom:22px;border-radius:20px}.hero>img{display:none}.hero h1{font-size:29px;max-width:300px}.hero .sub{max-width:320px}.stats{margin-top:16px;gap:28px}.stats strong{font-size:22px}
 .heading{gap:10px;align-items:center}.heading>.primary{font-size:13px;min-height:44px;padding:10px 12px;flex-shrink:0}.heading>.primary svg{width:18px}.heading h1{font-size:29px}.chips{gap:6px;margin-top:14px;padding-bottom:8px}.chips button{font-size:12px;padding:10px 12px;min-height:42px}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 130px}.toolbar select{max-width:100%;width:100%;padding-left:9px;padding-right:5px}.search{min-width:0}
 .catalog-tools{grid-template-columns:1fr;margin:16px 0 12px}.catalog-tools button{width:100%}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.catalog-filters label:last-child{grid-column:1/-1}.catalog-filters select{padding:11px}
 .grid{gap:10px;margin-top:16px}.card{border-radius:16px}.photo img{inset:9px;width:calc(100% - 18px);height:calc(100% - 18px)}.cardbody{padding:12px 10px;gap:0}.card h3{font-size:14px;margin-bottom:8px}.cardbody p{font-size:12px;margin-bottom:9px}.badge{font-size:10px;max-width:100%;padding:4px 7px}.card .actions{gap:6px;padding-top:3px}.card .actions button{font-size:12px;padding:9px 6px;min-width:0;border-radius:11px}.card .actions svg{height:15px;width:15px}
 .split,.two{grid-template-columns:minmax(0,1fr)}.panel{padding:18px;border-radius:18px}.panel .row h2{font-size:22px}.trip .row{gap:6px}.trip .check{line-height:1.5}.packdetails{margin-left:0}.empty{padding:28px 18px}.empty h2{font-size:24px}.empty p{font-size:14px}.empty button{width:100%}.bottomnav{gap:3px;padding-left:10px;padding-right:10px}.bottomnav button{font-size:11px;padding:8px 3px;line-height:1.2;gap:5px;min-height:56px}
 dialog{width:calc(100% - 16px);padding:20px 16px;border-radius:20px;max-height:calc(100dvh - 24px);margin:auto}dialog h2{font-size:25px}dialog .detailsimage{max-height:230px}dialog button{min-height:46px}.login{padding:24px;margin:4vh auto}.login>img{width:100px}.login h1{font-size:36px}#toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:14px;width:max-content;max-width:calc(100% - 28px)}
}
@media(max-width:360px){.sync{max-width:68px;font-size:9px}.brand{font-size:18px}.brand img{width:34px}.topinner{padding-left:12px;padding-right:10px}main{padding-left:12px;padding-right:12px}.hero{padding:18px}.hero h1{font-size:27px}.heading h2{font-size:22px}.chips button{padding:9px 10px;font-size:11px}}
.catalog-refine{margin:12px 0;border:1px solid #e3d4e5;border-radius:14px;background:#fff}.catalog-refine summary{cursor:pointer;min-height:44px;padding:12px 15px;font-size:14px;font-weight:650}.catalog-refine .catalog-filters{margin:0;padding:0 14px 14px}.catalog-tools button span{display:inline}
@media(max-width:700px){.catalog-tools{grid-template-columns:minmax(0,1fr) 48px;gap:8px}.catalog-tools button{padding:10px}.catalog-tools button span{display:none}.catalog-refine{margin:10px 0}.hero .sub{display:none}.hero .stats{margin-top:12px;gap:20px}.hero .stats strong{display:inline;margin-right:6px;font-size:19px}.hero h1{font-size:27px}.hero{padding:18px}.notice{font-size:12px;line-height:1.5;margin:10px 0}}
.picker-option{display:flex;align-items:center;justify-content:flex-start;gap:12px;text-align:left;width:100%;padding:10px;min-height:86px}.picker-photo,.pack-photo{display:flex;align-items:center;justify-content:center;background:#f3eaf6;border-radius:12px;flex:0 0 64px;height:70px;overflow:hidden;padding:5px}.picker-photo img,.pack-photo img{display:block;width:100%;height:100%;object-fit:contain}.picker-photo>svg,.pack-photo>svg{width:30px;height:30px;color:#a481b7}.picker-label{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.45}.picker-label small{display:block;font-size:12px;font-weight:400;margin-top:3px}.pack-photo{flex-basis:46px;width:46px;height:54px;border-radius:9px}.trip .check{flex:1;min-width:0;gap:9px}.trip .check strong{font-size:14px;overflow-wrap:anywhere}.trip .row{align-items:center}.trip .row>button{font-size:12px;padding:9px 7px}
