@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,600;1,400&display=swap');
:root{--ink:#233f38;--cream:#faf7ef;--pink:#edd1d2;--line:#dcded1;--gold:#ddac60;--muted:#6b756b}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',system-ui,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--ink);border-radius:24px;padding:10px 20px;background:var(--ink);color:white;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:wait}button:hover,.button:hover{filter:brightness(1.12)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c17892;outline-offset:3px}header{max-width:1280px;margin:auto;padding:25px 35px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);align-items:center}.brand{text-decoration:none;font-weight:700;letter-spacing:2px}.brand small{font-weight:400;letter-spacing:0;margin-left:16px;color:var(--muted)}header nav{display:flex;gap:25px;font-size:14px}main{max-width:1210px;margin:auto;padding:0 35px 80px}h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:400;line-height:1.14}h1{font-size:clamp(46px,5.4vw,76px);margin:20px 0}h1 em{color:#9d6274}h2{font-size:36px;margin:10px 0 25px}h3{font-size:27px}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:700}.journal-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center;padding:65px 0}.journal-hero p{color:var(--muted);font-size:16px}.route-label{font-size:12px;letter-spacing:2px;margin:28px 0}.route-label span{color:#a16c7d;margin:0 10px}.postcard-art{height:340px;position:relative;background:#e5e9d8;border:12px solid white;box-shadow:0 12px 35px #233f3814;transform:rotate(4deg);overflow:hidden;border-radius:5px}.sun{position:absolute;width:95px;height:95px;background:#e5a28d;border-radius:50%;top:40px;left:60px}.mountain{position:absolute;inset:90px -50px -60px 10px;background:#8aa393;clip-path:polygon(0 100%,48% 0,64% 25%,85% 6%,100% 100%)}.mountain:after{content:'';position:absolute;left:40%;top:0;width:27%;height:65px;background:#fff5e2;clip-path:polygon(0 100%,37% 0,100% 100%,70% 78%,55% 100%,30% 65%)}.torii{position:absolute;bottom:40px;left:30px;font-size:90px;color:#9c655a}.cat{position:absolute;right:35px;bottom:35px;padding:15px 14px;background:#fff2d4;border-radius:35% 35% 40% 40%;font-size:27px;transform:rotate(-10deg);border:2px solid #536a5c}.palms{position:absolute;right:30px;top:50px;font-size:65px}.stamp{position:absolute;right:10px;top:10px;border:2px dashed #a16c7d;padding:5px 15px;text-align:center;line-height:1.3;color:#a16c7d}.art-caption{position:absolute;bottom:3px;font:italic 14px Georgia;left:25px;color:white}.journal-stats{display:flex;gap:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:55px}.journal-stats strong{font:30px 'Fraunces',Georgia;margin-right:10px}.journal-stats span{font-size:13px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px}.section-heading>span,.fine{font-size:12px;color:var(--muted)}.route-map{height:290px;background:#e6eadf;border:1px solid #d5ddcf;border-radius:22px;overflow:hidden;display:grid;place-items:center}.filters{display:flex;gap:8px}.filters button{background:transparent;color:var(--ink);padding:7px 15px;font-size:13px;border-color:var(--line)}.filters .active{background:var(--ink);color:white}.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.story-card{background:white;border:1px solid #e4e4d8;border-radius:8px 8px 22px 22px;overflow:hidden;box-shadow:0 7px 20px #233f3806}.story-cover{height:230px;background:linear-gradient(140deg,#e2c9ce,#c8dbc4);display:flex;align-items:center;justify-content:center;font-size:56px}.story-cover img,.story-cover video{width:100%;height:100%;object-fit:cover}.story-body{padding:23px}.story-body small{color:var(--muted);font-size:11px;letter-spacing:1px}.story-body h3{margin:13px 0}.story-body p{font-size:14px;color:var(--muted);white-space:pre-line}.story-body button{background:transparent;color:var(--ink);padding:0;border:0;font-size:13px;font-weight:700}.story-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:11px;background:#eff2e8;border-radius:12px;padding:4px 10px}.empty{grid-column:1/-1;text-align:center;padding:50px;background:#f0ecdf;border:1px dashed #c6cdbd;border-radius:22px}.empty strong{display:block;font:30px 'Fraunces',Georgia}.empty .cat-icon{font-size:38px}.notice{padding:16px 24px;border-radius:16px;background:#faecd1;margin:20px 0;font-size:14px}.notice a{text-decoration:underline}footer{max-width:1210px;margin:auto;border-top:1px solid var(--line);padding:25px 35px 40px;display:flex;justify-content:space-between;font-size:12px;gap:15px;color:var(--muted)}dialog{border:0;border-radius:20px;background:var(--cream);color:var(--ink);max-width:850px;width:calc(100% - 28px);padding:50px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#122c24ba;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:10px;padding:0;width:38px;height:38px;font-size:25px}.story-text{white-space:pre-wrap}.gallery{display:grid;gap:18px;margin:25px 0}.gallery img,.gallery video{width:100%;max-height:650px;object-fit:contain;border-radius:12px;background:#e8e9df}.gallery figure{margin:0}.gallery figcaption{font-size:13px;color:var(--muted);margin-top:5px}.place-list{border-top:1px solid var(--line);padding-top:20px}.place-list a{display:inline-block;margin:4px 10px 4px 0;font-size:13px}.admin-hero{padding:35px 0 20px}.admin-hero h1{font-size:48px}.admin-layout{display:grid;grid-template-columns:260px 1fr;gap:28px}.sidebar,.editor,.login{background:white;border:1px solid var(--line);border-radius:22px;padding:25px}.sidebar{align-self:start;position:sticky;top:20px}.sidebar button{width:100%;margin:5px 0}.saved-post{border-bottom:1px solid var(--line);padding:12px 0;cursor:pointer}.saved-post b{display:block;font-size:14px}.saved-post small{font-size:11px}.editor h2{font-size:28px;margin-top:15px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;font-weight:600;margin:13px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #cdd5c9;border-radius:10px;background:#fcfcf7;color:var(--ink);padding:10px;margin-top:6px}textarea{min-height:130px;resize:vertical;line-height:1.7}textarea#body{min-height:300px;font-size:16px}.picks{display:flex;flex-wrap:wrap;gap:7px;max-height:250px;overflow:auto;padding:8px 0}.picks label{font-weight:400;border:1px solid var(--line);border-radius:18px;padding:6px 12px;margin:0;font-size:12px}.picks label:has(:checked){background:#e9d4e1;border-color:#b7839a}.picks input{accent-color:#99617a}.prompts{padding:20px;background:#f5edf3;border-radius:17px}.prompts button{background:transparent;border-color:#d5bdcb;color:var(--ink);font-size:12px;padding:7px 11px;margin:3px}.prompts p{font-size:13px;margin:8px 0}.editor details{margin:20px 0;padding:15px;background:#f4f5ee;border-radius:12px}.editor summary{cursor:pointer;font-size:14px;font-weight:600}.publish-controls{position:sticky;bottom:0;padding:16px;background:#fffef7ed;backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;align-items:center;z-index:2}.publish-controls button{font-size:13px}.secondary{background:transparent;color:var(--ink)}.danger{color:#a33b51;border-color:#c39198;background:transparent}.save-state{font-size:12px;display:block;min-height:20px}.media-edit{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.media-edit img,.media-edit video{width:100%;height:130px;object-fit:cover;border-radius:10px}.media-edit textarea{min-height:65px;font-size:12px}.login{max-width:500px;margin:30px auto}.login h2{font-size:30px}.login button{width:100%}.upload-zone{background:#f2eee1;border:1px dashed #a9b9a2;border-radius:18px;padding:20px;text-align:center}.upload-zone input{border:0}.progress{height:8px;accent-color:#99617a;width:100%}.private-note{background:#fcf0d6;padding:12px;border-radius:10px;font-size:12px}.word-count{font-size:12px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){.stories{grid-template-columns:repeat(2,1fr)}.journal-hero{gap:25px}.postcard-art{height:290px}.admin-layout{grid-template-columns:1fr}.sidebar{position:static}.saved-list{max-height:180px;overflow:auto}}@media(max-width:600px){header{padding:18px 20px}.brand small{display:none}header nav{gap:12px;font-size:12px}main{padding:0 20px 45px}.journal-hero{grid-template-columns:1fr;padding:35px 0;gap:30px}.postcard-art{height:240px;width:90%;margin:auto}.journal-stats{gap:20px;justify-content:space-between;margin-bottom:30px}.journal-stats strong{display:block;font-size:27px}.journal-stats span{font-size:11px}.section-heading{display:block}.section-heading>span{display:none}h2{font-size:30px}.filters{margin:18px 0}.stories{grid-template-columns:1fr}.story-cover{height:250px}.route-map{height:250px}dialog{padding:42px 22px 25px}.field-grid{grid-template-columns:1fr;gap:0}.editor,.sidebar{padding:18px}.admin-hero h1{font-size:40px}.media-edit{grid-template-columns:1fr 1fr}.publish-controls{bottom:0;padding:12px 0}.publish-controls button{flex:1}footer{flex-direction:column;padding:20px}.postcard-art .torii{font-size:65px}.cat{font-size:22px}}


label,input,select,textarea{min-width:0;max-width:100%}@media(max-width:600px){header{flex-wrap:wrap}header nav{flex-wrap:wrap;gap:10px}header nav button{padding:5px 12px;font-size:12px}}
