:root{--paper:#f7f5ed;--ink:#252c26;--muted:#73776c;--line:#d9dbcf;--green:#e5e9dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Arial,sans-serif}.prototype{text-align:center;background:#e8e9df;padding:7px 15px;font-size:10px;letter-spacing:1px}header,main,footer{max-width:1180px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:inherit;font:bold 32px Georgia,serif;display:flex;align-items:center;gap:13px}.brand span{font:12px Arial,sans-serif;letter-spacing:3px}nav{display:flex;gap:25px;align-items:center}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}.nav-link{background:none;border:0;padding:10px 0}.nav-link.active{border-bottom:1px solid}.nav-link span{font-size:11px;background:var(--green);padding:3px 6px;border-radius:50%}.button{border:1px solid var(--ink);background:transparent;padding:11px 19px;border-radius:4px;text-decoration:none;display:inline-block;text-align:center}.ink{background:var(--ink);color:var(--paper)}button:hover,.button:hover{filter:brightness(.9)}button:disabled{opacity:.5;cursor:not-allowed}main{padding:0 30px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:58px 0 48px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;margin:0 0 15px}h1{font:56px/1.08 Georgia,serif;letter-spacing:-2px;margin:0 0 20px}.intro{color:var(--muted);font-size:15px}.location{font-size:12px;margin-top:26px}.location span{margin:0 9px;color:#a9ad9c}.hero-art{padding:15px}.hero-art svg{width:100%;stroke:#7a826c;fill:none;stroke-width:1.4;stroke-linejoin:round}.hero-art p{text-align:center;font-size:9px;letter-spacing:3px;color:var(--muted)}.market{padding-top:38px}h2{font:30px Georgia,serif;margin:0 0 15px;letter-spacing:-.7px}.section-heading{display:flex;justify-content:space-between;align-items:center}.small,small{font-size:11px;color:var(--muted)}.searchbar{display:flex;border:1px solid #a5ac99;border-radius:5px;padding:6px;gap:12px;background:#fffdf7}.searchbar>span{font-size:28px;padding-left:12px}.searchbar input{flex:1;min-width:0;border:0;background:none;outline:0}.categories{display:flex;gap:8px;padding:21px 0;overflow:auto}.categories button{white-space:nowrap;border:1px solid var(--line);background:none;border-radius:4px;padding:9px 13px;font-size:12px}.categories .selected{background:var(--green);border-color:#8f9983}.filter-row{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding:18px 0;font-size:12px}.condition-tabs{display:flex;gap:3px}.condition-tabs button{border:0;background:none;padding:6px 10px}.condition-tabs .selected{background:var(--green);border-radius:3px}.filter-row label{display:flex;gap:5px;align-items:center}.filter-row input{width:65px;padding:5px;border:1px solid var(--line);background:none}.filter-row select{border:0;background:none;font-size:11px}#resultCount{margin-left:auto;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px 20px}.card{border:1px solid var(--line);border-radius:6px;background:#fbfaf5;overflow:hidden;position:relative;cursor:pointer;text-align:left;padding:0;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card img{width:100%;aspect-ratio:1.2;object-fit:cover;display:block;background:#e9e8de}.card-body{padding:15px}.card h3{font-size:15px;font-weight:normal;margin:7px 0}.card .price{font-weight:bold;font-size:18px}.card-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.badge{display:inline-block;font-size:10px;letter-spacing:.3px;background:var(--green);padding:3px 7px;border-radius:3px}.sample{position:absolute;top:9px;left:9px;background:#fbfaf5da;font-size:9px;padding:2px 6px}.how{margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;gap:18px;font:20px Georgia,serif}.how b{font:12px Arial,sans-serif;margin-left:10px}footer{display:flex;padding:30px;align-items:center;gap:35px}footer p{font-size:11px;color:var(--muted)}footer p:last-child{margin-left:auto}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;padding:32px;max-width:720px;width:calc(100% - 28px);max-height:90vh}dialog::backdrop{background:#1d281e80;backdrop-filter:blur(3px)}.close{float:right;background:none;border:0;font-size:28px;line-height:1}.muted{color:var(--muted);font-size:13px}form label{display:block;font-size:12px;margin:14px 0 6px}#postForm input:not([type=checkbox]),#postForm select,textarea{display:block;width:100%;padding:10px;margin-top:6px;border:1px solid var(--line);border-radius:4px;background:#fffdf7;color:inherit}textarea{min-height:82px;resize:vertical}.form-row{display:flex;gap:14px}.form-row>*{flex:1;min-width:0}.check{display:flex;gap:10px;align-items:flex-start}.check input{margin-top:4px}.wide{width:100%;margin-top:10px}.error{color:#99402d;font-size:13px}.photo-previews{display:flex;gap:8px}.photo-previews img{width:70px;height:65px;object-fit:cover}.gallery{display:flex;gap:8px;overflow:auto;margin:20px 0}.gallery img{width:85%;max-height:400px;object-fit:contain;background:var(--green);border-radius:4px}.detail-price{font:32px Georgia,serif}.detail-copy{white-space:pre-wrap}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.empty{grid-column:1/-1;text-align:center;padding:55px 15px;border:1px dashed var(--line)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;border-radius:4px;display:none;z-index:10}#usedFields[hidden],#publishPreview[hidden]{display:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8e9a76;outline-offset:3px}@media(max-width:850px){.grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:46px}.how{font-size:15px}.how b{display:block;margin:5px 0}}@media(max-width:600px){header{padding:17px 18px}main{padding:0 18px}.brand{font-size:26px}.brand span{font-size:9px}nav{gap:12px;font-size:11px}nav .button{padding:9px}header .brand span{display:none}.hero{padding:32px 0;grid-template-columns:1fr}.hero h1{font-size:44px}.hero-art{display:none}.intro{font-size:13px}.section-heading>.small{display:none}h2{font-size:26px}.grid{grid-template-columns:repeat(2,1fr);gap:14px 10px}.card-body{padding:11px}.card h3{font-size:13px}.filter-row{flex-wrap:wrap;gap:10px}.filter-row>.small{display:none}.card-meta{font-size:9px}.how{gap:10px}footer{padding:25px 18px;flex-wrap:wrap;gap:15px}footer p:last-child{margin:0}.form-row{flex-wrap:wrap}.form-row>*{min-width:120px}dialog{padding:22px}.searchbar .button{padding:9px 12px}}
/* Mobile app shell: compact reference layout, without a browser-sized hero. */
.language-switch{display:flex;gap:7px;align-items:center;margin-left:auto;margin-right:22px;font-size:13px;white-space:nowrap}.language-switch button{background:none;border:0;padding:8px 4px;min-height:44px}.language-switch button[aria-pressed=true]{font-weight:bold;text-decoration:underline;text-underline-offset:5px}.mobile-masthead,.bottom-nav{display:none}.dialog-language{margin:0 35px 10px 0;justify-content:flex-end}.dialog-language+ .eyebrow{clear:both}html[lang=km] body{font-family:'Noto Sans Khmer','Khmer Sangam MN',Arial,sans-serif;line-height:1.75}html[lang=km] h1,html[lang=km] h2{font-family:inherit;letter-spacing:0;line-height:1.6}.card h3{overflow-wrap:anywhere}button{touch-action:manipulation}
@media(max-width:600px){body{padding-bottom:90px}.prototype{font-size:9px;letter-spacing:0;padding:4px 12px}header{border:0;padding:4px 16px;position:relative;height:48px}header nav{display:none}header .brand{font-size:23px}header .language-switch{margin-right:0}.mobile-masthead{display:block;text-align:center;margin:-12px auto 15px;pointer-events:none}.mobile-masthead svg{width:175px;height:48px;stroke:#92938a;fill:none;stroke-width:1.5}.mobile-masthead h1{font:bold 25px/1.3 Arial,sans-serif;letter-spacing:-.5px;margin:0}.hero,.section-heading,.how,footer{display:none}.market{padding-top:0}main{padding:0 16px}.searchbar{padding:3px 6px;border-color:#aaa79c;background:transparent}.searchbar>span{padding-left:5px}.searchbar .button{font-size:12px;padding:8px}.categories{padding:18px 0 12px;gap:7px}.categories button{min-height:42px;border:1px solid #b3b1a7;border-radius:7px;font-size:12px;padding:7px 12px}.categories .selected{background:var(--ink);color:var(--paper)}.filter-row{padding:10px 0 14px;gap:6px}.condition-tabs button{min-height:42px;padding:6px 9px}.filter-row label{margin-left:auto}.filter-row input{width:48px}.filter-row #resultCount{width:100%;font-size:10px}.grid{gap:12px 9px}.card{border-radius:5px}.card img{aspect-ratio:.95}.card h3{font-weight:600;font-size:13px;line-height:1.5}.card .price{font-size:18px}.card-body{padding:9px}.card-meta{font-size:10px;gap:4px;flex-wrap:wrap}.sample{font-size:8px;padding:2px 4px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;background:var(--paper);border-top:1px solid #aaa79c;padding:5px 8px calc(12px + env(safe-area-inset-bottom));z-index:3}.bottom-nav:after{content:'';position:absolute;height:7px;bottom:0;left:0;right:0;background:repeating-linear-gradient(45deg,transparent 0 5px,#b5b3a4 5px 6px,transparent 6px 10px),repeating-linear-gradient(-45deg,transparent 0 5px,#b5b3a4 5px 6px,transparent 6px 10px)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:0;background:none;border:0;font-size:11px;min-width:75px;min-height:50px}.bottom-nav button>span:first-child{font-size:25px;line-height:1.2}dialog{margin:0;max-height:100dvh;height:100dvh;max-width:none;width:100%;border:0;border-radius:0;padding:18px 18px calc(30px + env(safe-area-inset-bottom))}dialog h2{font:bold 25px Arial,sans-serif;line-height:1.4}.gallery{margin:15px -18px;scroll-snap-type:x mandatory}.gallery img{width:100%;max-height:420px;flex-shrink:0;scroll-snap-align:start;border-radius:0}.detail-price{font:bold 27px Arial,sans-serif}.badge{font-size:12px;padding:8px 10px}.actions>.button{flex:1;min-height:46px}.form-row{gap:10px}.form-row>*{min-width:100px}#toast{bottom:90px;width:90%;font-size:12px}.searchbar input{font-size:14px}html[lang=km] .card h3{font-size:13px}html[lang=km] .mobile-masthead h1{font-size:25px}}
@media(max-width:600px){.dialog-masthead{margin:0 auto 20px;clear:both}.dialog-masthead p{font-weight:bold;font-size:24px;margin:0}.dialog-masthead svg{height:36px}#postDialog>.eyebrow{display:none}.upload{padding:13px;border:1px solid var(--line);border-radius:6px}.photo-previews{margin:10px 0 16px}.photo-previews img{border-radius:5px}html[lang=km] .filter-row label{font-size:10px}}
.angkor-silhouette{display:block;width:100%;height:auto;filter:grayscale(1);opacity:.65;object-fit:contain}.hero-art .angkor-silhouette{max-width:480px;margin:auto}@media(max-width:600px){.mobile-masthead .angkor-silhouette{width:240px;height:80px;margin:0 auto;opacity:.6}.dialog-masthead .angkor-silhouette{width:210px;height:70px}}
.account-status{max-width:1120px;margin:8px auto;color:var(--muted);font-size:12px;padding:0 18px}.mobile-account{display:none}#authForm input{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;background:#fffdf7;margin-top:6px}#authNameLabel[hidden]{display:none}@media(max-width:600px){.mobile-account{display:block;float:right;margin:4px 16px;background:none;border:0;text-decoration:underline;font-size:12px;padding:5px}.account-status{font-size:10px;min-height:28px;margin:5px 0 10px;padding-right:80px}#authDialog{padding-top:32px}}

/* Retro print / e-ink theme. Photos always retain their original colours. */
:root{color-scheme:light;--paper:#faf9f5;--ink:#181818;--muted:#60605c;--line:#d4d3cd;--green:#eae9e3;--surface:#fffefa;--grid-ink:rgba(30,30,30,.035);--focus:#64645e;--error:#9b3029;--art-filter:none}
:root[data-theme=dark]{color-scheme:dark;--paper:#111212;--ink:#f0efea;--muted:#b3b4af;--line:#424440;--green:#292b29;--surface:#1b1d1b;--grid-ink:rgba(245,245,238,.035);--focus:#d1d1c7;--error:#ffb4aa;--art-filter:invert(1)}
body{background-color:var(--paper);background-image:linear-gradient(var(--grid-ink) 1px,transparent 1px),linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px);background-size:96px 96px}
.prototype{background:var(--green);border-bottom:1px solid var(--line);color:var(--muted)}
header{gap:14px}.language-switch{margin-left:0;margin-right:6px}header nav{gap:18px}
h1,h2{font-weight:700}.hero h1{font-size:64px;letter-spacing:-2.6px}.hero{padding-top:54px;padding-bottom:48px}.hero-art p{letter-spacing:2px}.section-heading h2{font-size:31px}
.theme-toggle{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink)}
.theme-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}.theme-toggle svg path{fill:currentColor;stroke:none}header>.theme-toggle{margin-left:auto}.theme-toggle:hover{background:var(--green);filter:none}
.button,.searchbar,.card,.categories button{border-radius:3px}.button{font-weight:600}.searchbar{background:var(--surface);border-color:var(--line)}.searchbar:focus-within{outline:2px solid var(--focus);outline-offset:2px}.card{background:var(--surface);border-color:var(--line)}.card img{background:var(--green);filter:none}.card:hover{filter:none;border-color:var(--ink);transform:translateY(-2px)}.card h3{font-weight:600}.card .price{font-variant-numeric:tabular-nums}.sample{background:var(--surface);color:var(--ink)}
.categories .selected,.condition-tabs .selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.badge{border:1px solid var(--line);background:var(--green);color:var(--ink)}.location span{color:var(--muted)}
#postForm input:not([type=checkbox]),#postForm select,textarea,#authForm input{background:var(--surface);color:var(--ink);border-color:var(--line)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=checkbox]{accent-color:var(--ink)}.filter-row select{color:var(--ink)}.filter-row input{color:var(--ink)}.error{color:var(--error)}
dialog{box-shadow:0 20px 80px #0004;border-radius:5px}dialog::backdrop{background:#0009}dialog>.theme-toggle{float:right;margin-right:10px}dialog>.dialog-language{clear:both;padding-top:8px;margin-right:0}#authTitle{padding-right:104px}#authDialog>.theme-toggle{margin-bottom:12px}#authDialog>p{clear:both}
.angkor-silhouette{opacity:.85;filter:var(--art-filter);image-rendering:auto}.hero-art .angkor-silhouette{max-width:460px}#toast{color:var(--paper)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--focus)}
html[lang=km] h1,html[lang=km] h2{font-family:'Noto Sans Khmer','Khmer Sangam MN',Arial,sans-serif;letter-spacing:0;line-height:1.6}
@media(min-width:601px) and (max-width:980px){header{flex-wrap:wrap}header nav{width:100%;justify-content:flex-end}.hero h1{font-size:48px}}
@media(max-width:600px){header{height:58px;gap:10px;padding-top:6px;padding-bottom:6px}header>.theme-toggle{width:42px;height:42px}.language-switch{font-size:12px;margin-right:0;gap:4px}.mobile-masthead{margin:2px auto 14px}.mobile-masthead h1{font-family:Georgia,serif;font-weight:700;font-size:28px;letter-spacing:-.8px}.mobile-masthead .angkor-silhouette,.dialog-masthead .angkor-silhouette{opacity:.8}.categories button{border-color:var(--line);border-radius:3px}.searchbar{background:var(--surface);border-color:var(--line)}.card{border-radius:3px}.bottom-nav{background:var(--paper);border-color:var(--line)}.bottom-nav:after{background:repeating-linear-gradient(45deg,transparent 0 5px,var(--muted) 5px 6px,transparent 6px 10px),repeating-linear-gradient(-45deg,transparent 0 5px,var(--muted) 5px 6px,transparent 6px 10px);opacity:.35}.bottom-nav button{color:var(--ink)}dialog{border-radius:0}dialog h2{font-family:Georgia,serif;font-weight:700;letter-spacing:-.5px;line-height:1.25}.dialog-masthead p{font-family:Georgia,serif;letter-spacing:-.5px}dialog>.dialog-language{padding-top:4px;margin-bottom:4px}.dialog-masthead{margin-top:0}html[lang=km] .mobile-masthead h1,html[lang=km] .dialog-masthead p{font-family:inherit;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}
