:root{--cream:#fff8f2;--white:#fffdf9;--ink:#162944;--muted:#82919b;--coral:#f86c60;--peach:#ffecdf;--line:#e9ded5}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #fa9b90;outline-offset:2px}
.hidden{display:none!important}.shell{max-width:670px;margin:auto;min-height:100dvh;background:var(--white);box-shadow:0 12px 55px #b78e7c12}
.app-top{height:74px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 21px;border-bottom:1px solid #f0e6df}
.logo{font-size:26px;letter-spacing:-1.5px;font-weight:880;white-space:nowrap}.logo span{color:var(--coral)}.logo em{font-style:normal}
.right-top{display:flex;align-items:center;gap:9px}.pilot-tag{font-size:9px;letter-spacing:.7px;background:#ffece4;color:#c2715e;padding:7px 8px;border-radius:40px;font-weight:850}
.top-action{width:36px;height:36px;display:grid;place-items:center;background:#fff1e7;border-radius:50%;font-size:21px;color:#ac7269}
main{padding:0 20px 105px;min-height:60vh}.page-view{padding-top:18px}.intro{padding:18px 0 18px}
.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:850;color:#cb7e67}
.intro h1{font-size:clamp(37px,7.4vw,54px);font-weight:780;letter-spacing:-2.3px;line-height:1.07;margin:13px 0}
.intro h1 i{font-family:Georgia,serif;font-weight:450;color:var(--coral)}
.intro p,.section-intro p{font-size:13px;color:#788995;line-height:1.8;max-width:520px;margin:13px 0 6px}
.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;background:#f8eee8;border-radius:15px;margin:14px 0 17px}
.tabs button{font-weight:820;font-size:12px;background:transparent;border:0;padding:12px 2px;color:#97887f;border-radius:11px}
.tabs button.active{background:white;color:var(--ink);box-shadow:0 4px 10px #998b7b20}
.filters{display:flex;flex-wrap:wrap;justify-content:space-between;gap:13px;padding:5px 0 18px;align-items:center}
.area-select{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.area-select>span:first-child{font-size:21px;color:var(--coral)}
.area-select select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px;font-size:12px;max-width:170px}
.area-info{font-size:10px;color:#9f9085}
.filter-buttons{display:flex;gap:7px}.filter-buttons button{border:1px solid #eaded3;background:#fff;padding:8px 11px;border-radius:8px;font-size:11px;font-weight:800;color:#9a8478}
.filter-buttons button.active{background:#ffe5db;border-color:#f9b7a7;color:#bc6254}
.feed-explanation{font-size:12px;line-height:1.65;background:#ffefe2;border:1px solid #f3daca;color:#93685d;border-radius:13px;padding:13px;margin:4px 0 18px}
.posts-list{display:flex;flex-direction:column;gap:23px}
.post-card{border:1px solid #ece0d8;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 23px #483a3110}
.post-user{display:flex;gap:10px;align-items:center;padding:14px;min-width:0}.post-avatar{width:39px;height:39px;display:grid;place-items:center;flex:none;background:linear-gradient(145deg,#ffd7bc,#f39a89);color:white;font-weight:850;border-radius:50%;font-size:18px}
.post-byline{min-width:0;flex:1}.post-byline>a{font-size:12px;font-weight:850;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.post-byline small{font-size:10px;color:#8f949b;display:block}.post-byline small a{color:#b66557;text-decoration:underline;text-underline-offset:2px}
.post-menu{border:0;background:transparent;color:#929da3;font-size:25px;padding:0 8px}
.post-media{position:relative;background:#f1d5c6}
.post-media img,.post-media video{display:block;width:100%;max-height:550px;object-fit:cover;background:#263850;aspect-ratio:4/5}
.post-media video{aspect-ratio:9/16;max-height:560px;object-fit:contain}
.media-kind{position:absolute;top:11px;right:13px;padding:6px 9px;background:#162b43b9;color:white;font-size:11px;font-weight:800;border-radius:9px}
.post-bottom{padding:13px 15px 18px}
.post-caption{font-size:13px;line-height:1.7;overflow-wrap:anywhere;margin:4px 0 11px}
.post-controls{display:flex;align-items:center;gap:17px;flex-wrap:wrap}
.post-controls button{display:flex;align-items:center;gap:6px;background:transparent;border:0;font-size:12px;font-weight:800;color:#5d7180;padding:3px 0}
.post-controls button.liked{color:#f46762}.post-controls button span{font-size:19px}
.post-controls button:last-child{margin-left:auto}.post-place{background:#fef2ed;padding:8px 10px;border-radius:9px;display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px}
.post-place a{font-weight:780}.post-place small{font-size:10px;color:#ac8a7c}.demo-label{font-size:9px;border-radius:7px;background:#fff7d6;padding:4px 5px;color:#907349;font-weight:750}
.empty-state{border:1px dashed #eed3bf;background:#fff5ec;border-radius:17px;text-align:center;padding:37px 20px;margin:14px 0}
.empty-state>div{font-size:38px;color:var(--coral)}.empty-state h3{font-size:22px;margin:9px 0 8px;letter-spacing:-.6px}
.empty-state p{color:#8e8782;line-height:1.7;font-size:12px}
.coral-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--coral);color:white;padding:13px 18px;border:0;border-radius:11px;font-size:12px;font-weight:850;min-height:43px}
.coral-button:disabled{opacity:.55;cursor:not-allowed}.outline-button,.subtle-action{background:#fff9f5;border:1px solid #efcbb9;color:#b66c5b;border-radius:10px;padding:11px 15px;font-size:12px;font-weight:800}
.load-more{display:block;margin:20px auto;border:1px solid #ecdbce;border-radius:12px;background:white;padding:12px 26px;font-size:12px;font-weight:800}
.search-field{display:flex;align-items:center;border:1px solid #e7d8cc;border-radius:13px;padding:4px 6px 4px 14px;gap:9px;background:#fff;margin:15px 0}
.search-field span{font-size:24px;color:#c8755e}.search-field input{border:0;outline:0;min-width:0;flex:1;font-size:13px}
.search-field button{border:0;background:var(--peach);color:#ad6757;padding:10px;border-radius:8px;font-size:11px;font-weight:800}
.places-top h2,.section-intro h2{font-size:29px;letter-spacing:-1px;line-height:1.15;margin:8px 0}
.places-list{display:flex;flex-direction:column;gap:11px}
.place-card{display:flex;gap:15px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:white}
.place-icon{flex:none;width:52px;height:52px;background:#ffebdf;border-radius:12px;display:grid;place-items:center;font-size:25px}
.place-details{min-width:0;flex:1}.place-details b{font-size:14px;display:block}.place-details small{color:#87929a;font-size:11px}
.place-card a:last-child{color:#ce7360;font-size:12px;font-weight:850}.suggest-place{border-top:1px solid #efe0d6;margin:32px 0;padding-top:22px}
.suggest-place h3{margin:0 0 5px;font-size:19px}.suggest-place p{color:#87919b;font-size:12px;line-height:1.7}
.suggest-place form{background:#fff6ef;border:1px solid #f0ddcd;border-radius:13px;margin:14px 0;padding:17px}
.suggest-place form>label:not(.check-row),#publishForm>label:not(.check-row),.dialog-card label{display:block;font-weight:850;font-size:12px;margin:14px 0 7px}
.suggest-place input:not([type=checkbox]),.suggest-place select,#publishForm select,#publishForm textarea,.dialog-card select,.dialog-card textarea{width:100%;border:1px solid #e7d7ce;background:white;border-radius:10px;padding:12px;font-size:13px;outline-offset:2px}
.back{display:inline-block;font-size:12px;font-weight:850;color:#b57361;margin:9px 0 20px}
.creator-hero,.place-hero{background:linear-gradient(125deg,#fff0e6,#ffdccb);border-radius:18px;padding:24px;margin:8px 0 25px}
.creator-initial{border:3px solid #fff;width:81px;height:81px;border-radius:50%;display:grid;place-items:center;background:var(--coral);font-size:39px;color:white;margin-bottom:12px}
.creator-hero h1,.place-hero h1{font-size:35px;letter-spacing:-1.1px;line-height:1.14;margin:8px 0}
.creator-hero p,.place-hero p{font-size:12px;color:#85766e;line-height:1.7}
.creator-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:13px 0}
.creator-meta strong{font-size:15px}.creator-meta small{font-size:11px;color:#8a8078}
.studio-hero{padding-bottom:12px}.studio-card{padding:21px 20px;border-radius:18px;background:white;border:1px solid #eaded4;margin:16px 0 25px}
.studio-card .section-intro h2{margin-bottom:6px}
.privacy-tile{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#fff4eb;padding:14px;border-radius:12px}
.privacy-tile strong{font-size:13px}.privacy-tile p{font-size:11px;color:#867970;line-height:1.65;margin:4px 0}
.switch{display:block;width:52px;height:30px;position:relative;flex:none}.switch input{position:absolute;opacity:0;width:100%;height:100%;z-index:2;cursor:pointer}
.switch span{position:absolute;inset:0;border-radius:20px;background:#cfc7be}.switch span:before{content:"";position:absolute;width:22px;height:22px;top:4px;left:4px;background:white;border-radius:50%;transition:transform .2s}
.switch input:checked+span{background:var(--coral)}.switch input:checked+span:before{transform:translateX(22px)}
.check-row{display:flex;gap:10px;align-items:start;margin:15px 0;color:#78818b;font-size:11px;line-height:1.65}
.check-row input{accent-color:var(--coral);min-height:18px;min-width:18px;flex:none;margin:3px 0 0}
.hint-text{font-size:11px;color:#95857b;line-height:1.7;margin-top:11px}
.file-picker{border:1px dashed #eabda7;background:#fff7f1;padding:24px 18px;border-radius:15px;display:flex;flex-direction:column;gap:5px;align-items:center;position:relative;text-align:center}
.file-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.file-picker strong{font-size:13px;color:#c5745e}.file-picker small{font-size:10px;color:#98867c}
.preview img,.preview video{width:100%;max-height:320px;object-fit:contain;border-radius:10px;background:#243c58;margin:12px 0}
.my-post-row{border-bottom:1px solid #eee2d7;display:flex;align-items:center;justify-content:space-between;gap:13px;padding:15px 0}
.my-post-row b{font-size:12px;display:block}.my-post-row small{display:block;font-size:10px;color:#8c9397}.my-post-row button{background:#fff0ec;color:#b24b45;border:0;border-radius:8px;font-size:11px;font-weight:800;padding:8px}
.review-status{font-size:10px;color:#a46754;background:#fff0dc;border-radius:6px;display:inline-block;padding:3px 6px;margin-top:5px}
.status-message{font-size:12px;font-weight:750;color:#3f8c70;margin:18px 0 4px;min-height:18px;line-height:1.6}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:670px;height:72px;background:#fffdf9eb;backdrop-filter:blur(12px);border-top:1px solid #ecddd3;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:750;font-size:10px;color:#85919d}
.bottom-nav a span{font-size:23px;line-height:1}.bottom-nav a.active{color:var(--coral)}
.modal{position:fixed;z-index:30;inset:0;background:#12213acb;display:flex;align-items:center;justify-content:center;padding:14px}
.dialog-card{background:var(--white);border-radius:17px;padding:24px;max-width:460px;width:100%}
.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:24px;margin:0}
.dialog-head button{width:36px;height:36px;border:0;border-radius:50%;background:#f5e5dc;font-size:26px}
.dialog-card p{font-size:12px;color:#83919a;line-height:1.7}
.signin-prompt{text-align:center;background:#fff2e9;border:1px solid #f0d5c7;padding:34px 20px;border-radius:18px}
.signin-prompt h2{font-size:24px}.signin-prompt p{font-size:12px;color:#859099}
.empty-heart{font-size:48px;color:#f27660}
@media(max-width:430px){main{padding:0 13px 95px}.app-top{padding:0 14px}.pilot-tag{font-size:8px}.logo{font-size:22px}.right-top{gap:6px}.top-action{width:32px;height:32px}.intro h1{font-size:38px}.tabs button{font-size:10px;padding:10px 1px}.area-info{display:none}.post-media img{max-height:480px}.studio-card{padding:16px}.creator-hero,.place-hero{padding:18px}}

@media(max-width:520px){
 #feedScreen>.intro{padding:12px 0 6px}
 #feedScreen>.intro h1{font-size:33px;line-height:1.08;letter-spacing:-1.4px;margin:8px 0 6px}
 #feedScreen>.intro p{font-size:11px;line-height:1.55;margin:7px 0}
 #feedScreen>.tabs{margin:9px 0 8px}
 #feedScreen>.filters{padding:3px 0 9px}
 #feedScreen>.feed-explanation{padding:9px 11px;margin:0 0 12px;font-size:11px}
 .post-user{padding:10px 12px}
 }

/* Identical four-destination app navigation */
.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));height:74px}
.bottom-nav a{min-width:0;text-decoration:none}

/* Reduce intro repetition, keep filters and moderation disclosures readable. */
#feedScreen>.intro{padding-top:12px;padding-bottom:8px}
#feedScreen>.intro h1{font-size:clamp(36px,8vw,47px);line-height:1.1;margin:8px 0}
#feedScreen>.intro p{font-size:13px;line-height:1.5;margin:8px 0 14px}
#studioScreen .studio-hero h1{font-size:clamp(34px,8vw,46px);line-height:1.1;margin:10px 0}
#studioScreen .studio-hero p{font-size:13px;line-height:1.5}
