/* ABOUTME: A travel passport built from visa panels, stamps, and blue rules. */
/* ABOUTME: The itinerary is a sequential grid of daily slots with clear date tabs. */
:root{--paper:#faf8f1;--surface:#fffdf8;--ink:#333780;--muted:#626784;--line:#b5b7cc;--accent:#34378b;--soft:#edeef6;--warm:#43713b}
.app-surface{padding:0 5%}.site-header{border-color:var(--ink)}.brand{letter-spacing:.08em}.brand-mark{font-size:34px}.brand strong{font-weight:400}.button{border-radius:0}.hero{display:grid;grid-template-columns:1fr 38%;gap:6%;padding:40px 0 30px;align-items:center}.passport-cover{position:relative;padding:10px 0 20px}.display-city{font:400 clamp(35px,5.2cqw,72px)/1.1 Arial,sans-serif;letter-spacing:.035em;margin-top:27px}.hero h1{font:400 clamp(27px,3.15cqw,43px)/1.5 var(--serif);margin:18px 0}.hero-description{max-width:360px;font-size:13px}.passport-stamp{display:flex;flex-direction:column;justify-content:center;align-items:center;width:115px;height:115px;border:2px solid #477c3e;border-radius:50%;transform:rotate(-15deg);color:#477c3e;position:absolute;right:0;bottom:5px;box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6px #477c3e;background:#faf8f1e8}.passport-stamp span{font-size:10px;letter-spacing:.05em}.passport-stamp b{font:600 20px Georgia,serif;margin:4px 0}.passport-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.passport-photos figure{padding:8px;background:#fff;border:1px solid var(--line)}.passport-photos figure:first-child{margin-bottom:40px}.passport-photos img{height:245px;object-fit:cover}.passport-photos figcaption{font-size:10px;line-height:1.6}.passport-ticket{border:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;position:relative}.passport-ticket:before,.passport-ticket:after{content:'';width:14px;height:14px;border:1px solid var(--ink);background:var(--paper);border-radius:50%;position:absolute;top:calc(50% - 7px)}.passport-ticket:before{left:-8px;clip-path:inset(0 0 0 50%)}.passport-ticket:after{right:-8px;clip-path:inset(0 50% 0 0)}.together-strip{border:0}.main-tabs{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);justify-content:space-between}.main-tabs button{padding:10px 25px}.main-tabs button[aria-current]{background:#edeef6;border-bottom:3px solid var(--ink)}.content-layout{display:block}.sidebar-heading,.sidebar-note{display:none}.day-nav{display:flex;flex-direction:row;gap:0;border:1px solid var(--ink);margin-bottom:32px}.day-button{border-radius:0;border:0;border-right:1px solid var(--ink);padding:15px 20px;grid-template-columns:33px 1fr}.day-button:last-child{border-right:0}.day-button svg{display:none}.day-number{font:30px Georgia,serif}.day-button.selected{background:var(--ink);color:var(--paper)}.selected .day-number,.selected small{color:var(--paper)}.section-heading{align-items:center}.section-heading h2{font-size:32px}.day-counter{border:1px solid #477c3e;color:#477c3e;padding:12px 15px;transform:rotate(7deg)}.day-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.slot{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:22px 25px;margin:0;min-width:0}.slot-label{border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:17px;gap:10px}.slot-index{margin-left:auto;font:11px monospace;color:var(--muted);order:3}.slot-icon{color:#477c3e}.entry{padding:0 0 20px;margin:0 0 18px;background:none;border:0;border-bottom:1px dotted var(--line)}.entry h3{font:600 19px/1.6 var(--serif)}.entry-description{font-size:13px}.entry-time{color:#43713b;font-size:12px;padding-right:20px}.entry-time svg{display:none}.entry-edit{right:-12px;top:-7px}.add-entry{border:0;padding:5px 0;min-height:36px}.check-table-scroll{border-color:var(--ink)}
@container experience (max-width:1000px){.hero{grid-template-columns:1fr 36%;gap:4%}.passport-photos{gap:8px}.passport-photos img{height:200px}.passport-photos figure{padding:5px}.passport-stamp{width:90px;height:90px;right:0;bottom:-10px}.passport-stamp b{font-size:17px}.passport-stamp span{font-size:8px}.hero-description{max-width:280px}.passport-ticket .destination-label{display:none}}
@container experience (max-width:700px){.hero{display:block;padding:28px 0}.display-city{font-size:11cqw;margin-top:20px}.hero h1{font-size:31px}.hero-description{max-width:235px;padding-right:5px}.passport-stamp{bottom:15px}.passport-photos{margin-top:25px;gap:15px}.passport-photos img{height:170px}.passport-photos figure:first-child{margin-bottom:20px}.passport-ticket{padding:17px}.trip-meta{gap:12px;justify-content:center}.main-tabs button{padding:10px 7px}.day-button{display:block;text-align:center;padding:12px 4px}.day-number{display:block;font-size:27px}.day-button small{font-size:10px}.section-heading h2{font-size:26px}.day-counter{font-size:10px;padding:8px}.day-slots{grid-template-columns:1fr}.slot{padding:22px 18px}.entry h3{font-size:20px}.day-nav{margin-bottom:26px}.slot-label{font-size:14px}}
