@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap";:root{color:#f1f1f4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#080809;--surface:#0f0f13d1;--surface-solid:#0f0f13;--surface-raised:#15151a;--ink:#f1f1f4;--muted:#92929d;--muted-bright:#bebec7;--line:#e0e0ec13;--line-strong:#e0e0ec21;--violet:#a9b4ff;--mint:#82dcae;--peach:#edb783;--rose:#d99aaa;--accent:var(--violet);--shadow:0 18px 50px #0000004d, inset 0 1px #ffffff06;--shadow-lift:0 24px 70px #0000006b, inset 0 1px #ffffff09;--radius:8px;--radius-soft:12px;--ease-out:cubic-bezier(.16, 1, .3, 1);--font-body:"Inter", "Helvetica Neue", Arial, sans-serif;--font-display:"Instrument Serif", Georgia, serif;--noise:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background:#080809;font-family:Inter,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;min-height:100%;overflow-x:hidden}body{min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 5%, #a9b4ff0e, transparent 28rem), radial-gradient(circle at 92% 48%, #82dcae09, transparent 30rem), var(--paper);margin:0;line-height:1.65;overflow-x:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}::selection{color:#09090b;background:#a9b4ffe6}.app-shell{isolation:isolate;width:100%;min-height:100vh;margin:0 auto;padding-bottom:76px;position:relative}.app-shell:before{content:"";z-index:-2;pointer-events:none;opacity:.018;background-image:var(--noise);mix-blend-mode:overlay;background-size:200px 200px;position:fixed;inset:0}.eyebrow{color:var(--muted);letter-spacing:.22em;text-transform:uppercase;margin:0 0 .45rem;font-size:.68rem;font-weight:600}h1,h2,h3,p{text-wrap:pretty}h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(3.6rem,8vw,7rem);font-weight:400;line-height:.88}h1 i{color:#d4d4da;font-weight:400}.library-hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:min(48rem,52svh);padding:6.5rem max(4vw,1.25rem) 4.5rem;display:flex;position:relative;overflow:hidden}.library-hero:before,.library-hero:after{content:"";pointer-events:none;filter:blur(4px);border-radius:999px;position:absolute}.library-hero:before{background:radial-gradient(circle,#a9b4ff1b,#0000 67%);width:31rem;height:31rem;top:-13rem;right:-8rem}.library-hero:after{background:radial-gradient(circle,#82dcae11,#0000 68%);width:30rem;height:30rem;bottom:-15rem;left:-6rem}.brand-line{z-index:2;justify-content:space-between;align-items:baseline;max-width:76rem;margin:0 auto;display:flex;position:absolute;top:1.6rem;left:max(4vw,1.25rem);right:max(4vw,1.25rem)}.brand-line span{font-family:var(--font-display);font-size:1.15rem;font-style:italic}.brand-line small{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:.65rem;font-weight:600}.library-title-row{z-index:1;text-align:center;justify-content:center;align-items:flex-end;width:min(100%,66rem);margin:0 auto;display:flex;position:relative}.library-title-row h1{font-style:normal}.library-title-row h1 i{font-style:italic}.library-title-row>div>p:last-child{max-width:32ch;color:var(--muted-bright);margin:1.4rem auto 0;font-size:clamp(.85rem,1.4vw,1rem);line-height:1.8}.library-mark{border:1px solid var(--line-strong);width:4.2rem;height:4.2rem;color:var(--violet);background:#a9b4ff09;border-radius:50%;place-items:center;font-size:2rem;display:grid;position:absolute;bottom:-.4rem;right:2%}.library-main{width:min(72rem,92vw);margin:0 auto;padding:clamp(3rem,7vh,5.5rem) 0 4rem}.library-actions{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.8rem;display:flex}.library-actions h2,.day-heading h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(2.2rem,4vw,3.6rem);font-style:italic;font-weight:400;line-height:.95}.library-content{gap:1rem;display:grid}.library-content.with-form{grid-template-columns:minmax(17rem,.65fr) minmax(0,1.35fr);align-items:start;gap:1.25rem}.trip-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.with-form .trip-list{grid-template-columns:1fr}.trip-card,.card,.plan-card,.hotel-card,.flight-card,.check-row{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#17171cd1,#0c0c0fe6)}.trip-card{border-radius:var(--radius);transition:transform .35s var(--ease-out), border-color .25s ease, box-shadow .35s var(--ease-out);position:relative;overflow:hidden}.trip-card:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(110deg,#0000 20%,#a9b4ff0b,#0000 70%);transition:opacity .3s;position:absolute;inset:0}.trip-open{z-index:1;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:2rem 3.25rem 1fr auto;align-items:center;gap:1rem;width:100%;min-height:9.5rem;padding:1.35rem;display:grid;position:relative}.trip-index{color:#f1f1f440;font-family:var(--font-display);align-self:start;font-size:1.2rem;font-style:italic}.trip-emoji{border:1px solid var(--line);background:#ffffff06;border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;font-size:1.35rem;display:grid}.trip-card-copy{min-width:0}.trip-card-copy small,.trip-card-copy b,.trip-card-copy>span{display:block}.trip-card-copy small{color:var(--mint);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.2rem;font-size:.68rem;font-weight:600}.trip-card-copy b{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.8rem,3.5vw,2.6rem);font-style:italic;font-weight:400;line-height:.98;overflow:hidden}.trip-card-copy>span{color:var(--muted);margin-top:.55rem;font-size:.72rem}.trip-arrow{color:#f1f1f466;transition:transform .3s var(--ease-out), color .25s ease;font-size:1rem}.delete-trip{z-index:2;border:0;border-top:1px solid var(--line);color:#d99aaa94;text-align:right;cursor:pointer;background:#d99aaa04;width:100%;padding:.65rem 1.35rem .75rem;font-size:.68rem;position:relative}.empty-trips,.empty-editor{text-align:center;padding:3.5rem 1.5rem}.empty-trips>span,.empty-editor>span{margin-bottom:.7rem;font-size:1.8rem;display:block}.empty-trips h3,.empty-editor h3{font-family:var(--font-display);margin:0;font-size:1.7rem;font-style:italic;font-weight:400}.empty-trips p,.empty-editor p{max-width:34ch;color:var(--muted);margin:.55rem auto 0;font-size:.8rem}.add-trip-button,.save-trip-button,.primary-link,.document-button,.map-chip{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;transition:transform .3s var(--ease-out), background .25s ease, border-color .25s ease;background:#e0e0ec0f;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff06,0 8px 24px #0000003d}.add-trip-button{flex:none;padding:.72rem 1.08rem;font-size:.74rem}.save-trip-button{color:#dfe3ff;background:#a9b4ff1a;border-color:#a9b4ff42;width:100%;margin-top:1rem;padding:.9rem 1.2rem;font-size:.78rem}.card{border-radius:var(--radius);padding:1.25rem}.section-title{color:var(--muted-bright);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.68rem;font-weight:600;display:flex}.trip-form,.editor-form{animation:form-in .45s var(--ease-out)}.mobile-modal-header{display:none}.trip-form{position:sticky;top:1rem}@keyframes form-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.trip-form label,.editor-form label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;gap:.45rem;margin-top:.9rem;font-size:.64rem;font-weight:600;display:grid}.trip-form input,.editor-form input,textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;letter-spacing:0;text-transform:none;background:#0505078c;border-radius:6px;outline:none;padding:.82rem .9rem;font-size:.86rem;font-weight:400;transition:border-color .2s,background .2s,box-shadow .2s}textarea{resize:vertical;min-height:9rem;line-height:1.6}input::placeholder,textarea::placeholder{color:#505058}.trip-form input:focus,.editor-form input:focus,textarea:focus{background:#0a0a0ecc;border-color:#a9b4ff57;box-shadow:0 0 0 3px #a9b4ff0e}.editor-form textarea{min-height:6rem}.editor-form label>small{color:#55555e;letter-spacing:0;text-transform:none;margin:-1.2rem 0 0 auto;font-size:.64rem}.date-fields{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-intro{color:var(--muted)!important;margin:0 0 .25rem!important;font-size:.8rem!important;line-height:1.7!important}.form-actions{justify-content:flex-end;align-items:center;gap:.65rem;margin-top:1rem;display:flex}.form-actions .save-trip-button{width:auto;min-width:12rem;margin-top:0}.cancel-edit-button,.delete-edit-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.75rem .9rem;font-size:.7rem}.delete-edit-button{color:#d99aaab8;margin-right:auto}.hero{border-bottom:1px solid var(--line);background:linear-gradient(#ffffff04,#0000 38%),radial-gradient(circle at 78% 10%,#a9b4ff14,#0000 28rem);min-height:clamp(25rem,48svh,37rem);padding:6.5rem max(4vw,1.25rem) 3rem;position:relative;overflow:hidden}.hero:after{content:attr(data-code);color:#f1f1f406;font-family:var(--font-display);pointer-events:none;font-size:clamp(9rem,22vw,18rem);font-style:italic;line-height:.8;position:absolute;bottom:-3.8rem;right:max(2vw,.5rem)}.back-button{z-index:3;border:1px solid var(--line);color:var(--muted-bright);-webkit-backdrop-filter:blur(18px);cursor:pointer;background:#08080ab3;border-radius:999px;padding:.6rem 1rem;font-size:.74rem;position:absolute;top:1.7rem;left:max(4vw,1.25rem)}.hero-content{z-index:1;grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);align-items:end;gap:clamp(2rem,7vw,7rem);width:min(72rem,100%);margin:0 auto;display:grid;position:relative}.hero-top{min-width:0}.hero-top h1{overflow-wrap:anywhere;max-width:12ch;font-size:clamp(4.5rem,9vw,8rem)}.hero-top h1 i{font-size:.5em;font-style:italic}.hero-date{color:var(--muted-bright);letter-spacing:.035em;margin:1.2rem 0 0;font-size:.82rem}.countdown{color:var(--mint);letter-spacing:.08em;text-transform:uppercase;background:#82dcae0b;border:1px solid #82dcae33;border-radius:999px;margin-top:1.25rem;padding:.42rem .72rem;font-size:.68rem;font-weight:600;display:inline-flex}.flight-strip{border:1px solid var(--line-strong);border-radius:var(--radius);min-height:9rem;box-shadow:var(--shadow-lift);background:linear-gradient(145deg,#1b1b21d6,#0b0b0ee6);grid-template-columns:1fr auto 1fr;align-items:center;padding:1.4rem;display:grid}.flight-strip span{flex-direction:column;display:flex}.flight-strip span:last-child{text-align:right;align-items:flex-end}.flight-strip b{letter-spacing:.08em;font-size:1.5rem;font-weight:400}.flight-strip small{color:var(--muted);margin-top:.15rem;font-size:.72rem}.flight-strip .plane{color:var(--violet);font-size:1.2rem}.empty-flight-strip{width:100%;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:1fr auto}.empty-flight-strip span:first-child{align-items:flex-start}.empty-flight-strip .plane{font-size:2rem;font-weight:300}.trip-main{width:min(72rem,92vw);min-height:50vh;margin:0 auto;padding:clamp(3rem,7vh,5rem) 0 4rem}.home-view{gap:1rem;display:grid}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.quick-card{border:1px solid var(--line);border-radius:var(--radius);min-height:10rem;color:var(--ink);box-shadow:var(--shadow);text-align:left;cursor:pointer;transition:transform .35s var(--ease-out), border-color .25s ease, background .25s ease;background:linear-gradient(145deg,#15151acc,#0b0b0ee0);flex-direction:column;align-items:flex-start;padding:1rem;display:flex;overflow:hidden}.quick-card>span{background:#a9b4ff0b;border:1px solid #a9b4ff24;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;margin-bottom:auto;font-size:.95rem;display:grid}.quick-card:nth-child(2)>span{background:#82dcae0a;border-color:#82dcae24}.quick-card:nth-child(3)>span{background:#edb7830b;border-color:#edb78326}.quick-card:nth-child(4)>span{background:#d99aaa0a;border-color:#d99aaa24}.quick-card b{font-family:var(--font-display);font-size:1.45rem;font-style:italic;font-weight:400;line-height:1}.quick-card small{color:var(--muted);margin-top:.35rem;font-size:.72rem}.home-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;display:grid}.home-stack{gap:1rem;display:grid}.card.priority{background:linear-gradient(135deg,#4a321c33,#0d0d11e6);border-color:#edb78326}.card p{color:var(--muted-bright);margin:.35rem 0;font-size:.86rem}.card p b{color:var(--ink);font-weight:500}.primary-link,.document-button,.map-chip{padding:.62rem .88rem;font-size:.68rem}.primary-link{color:#f4cda7;background:#edb7830e;border-color:#edb7832e;margin-top:.9rem}.progress-row{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;font-size:.76rem;display:flex}.progress-row:first-of-type{border-top:0}.progress-row b{color:var(--mint);font-size:.7rem;font-weight:600}.notes-card{flex-direction:column;display:flex}.notes-card textarea{flex:1;min-height:12rem}.muted{color:var(--muted);margin-top:.65rem;font-size:.64rem;display:block}.view-frame{width:min(52rem,100%);margin:0 auto}.editor-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.day-heading{margin:0 0 1.5rem}.editor-heading .day-heading{margin:0}.day-heading p{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin:0 0 .4rem;font-size:.66rem;font-weight:600}.editor-heading-actions{align-items:center;gap:.5rem;display:flex}.manage-program-button{border:1px solid var(--line);color:var(--muted-bright);cursor:pointer;background:0 0;border-radius:999px;padding:.7rem 1.05rem;font-size:.74rem;font-weight:600}.manage-program-button.active{color:#dfe3ff;background:#a9b4ff14;border-color:#a9b4ff3d}.edit-mode-hint{border-radius:var(--radius);color:var(--muted-bright);background:#a9b4ff09;border:1px solid #a9b4ff1f;align-items:center;gap:.55rem;margin:-.55rem 0 1.25rem;padding:.75rem .9rem;font-size:.74rem;display:flex}.edit-mode-hint span{color:var(--violet)}.editor-form{margin-bottom:1.5rem}.program-days{gap:2rem;display:grid}.program-day>h3{color:var(--muted-bright);font-family:var(--font-display);text-transform:capitalize;margin:0 0 .7rem;font-size:1.2rem;font-style:italic;font-weight:400}.program-list,.hotel-list,.flight-list{gap:.65rem;display:grid}.plan-card{border-radius:var(--radius);transition:transform .25s var(--ease-out), border-color .2s ease, background .2s ease;grid-template-columns:4.5rem 1fr;gap:1rem;padding:1.1rem;display:grid}.plan-card.important{background:linear-gradient(135deg,#4a321c33,#0d0d11eb);border-color:#edb78329}.plan-time{color:var(--peach);text-align:right;padding-top:.15rem;font-size:.72rem;font-weight:600}.plan-copy{min-width:0}.plan-copy h4{margin:0;font-size:.9rem;font-weight:600}.plan-copy p{color:var(--muted);margin:.45rem 0 0;font-size:.78rem;line-height:1.55}.plan-copy .plan-place{color:#a9d9c1;font-size:.72rem}.item-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;display:flex}.item-actions button,.flight-card-bottom button{color:#d99aaa99;cursor:pointer;background:0 0;border:0;padding:.4rem 0;font-size:.66rem}.plan-card.is-editable{cursor:pointer;border-color:#a9b4ff29}.map-chip{color:#b8ead1;background:#82dcae0b;border-color:#82dcae29}.hotel-list,.flight-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-card{border-radius:var(--radius);grid-template-columns:3rem 1fr;gap:.9rem;padding:1rem;display:grid}.hotel-icon{background:#82dcae09;border:1px solid #82dcae21;border-radius:50%;place-items:center;width:3rem;height:3rem;font-size:1rem;display:grid}.hotel-copy{min-width:0}.hotel-copy>small{color:var(--peach);text-transform:uppercase;font-size:.68rem;font-weight:600}.hotel-copy h3{font-family:var(--font-display);margin:.15rem 0;font-size:1.35rem;font-style:italic;font-weight:400;line-height:1.05}.hotel-copy>p{color:var(--muted);margin:.3rem 0 0;font-size:.74rem}.flight-card{border-radius:var(--radius);background:linear-gradient(145deg,#1d1d23db,#0b0b0ef0);overflow:hidden}.flight-card-top,.flight-card-bottom{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.flight-card-top{border-bottom:1px solid var(--line)}.flight-card-top span{color:var(--violet);letter-spacing:.15em;font-size:.64rem;font-weight:700}.flight-card-top small{color:var(--muted);font-size:.68rem}.flight-route{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.8rem;padding:1.25rem 1rem;display:grid}.flight-route>div{min-width:0;display:grid}.flight-route>div:last-child{text-align:right}.flight-route b{letter-spacing:.06em;font-size:1.5rem;font-weight:400}.flight-route small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.flight-route strong{margin-top:.4rem;font-size:.7rem;font-weight:500}.flight-route>span{color:var(--violet)}.flight-card-bottom{border-top:1px solid var(--line);color:var(--muted);font-size:.64rem}.check-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.check-row{border-radius:var(--radius);cursor:pointer;align-items:center;gap:.8rem;min-height:3.7rem;padding:.85rem;display:flex}.check-row input{appearance:none;background:0 0;border:1px solid #e0e0ec38;border-radius:50%;flex:none;place-content:center;width:1.15rem;height:1.15rem;margin:0;display:grid}.check-row input:before{content:"✓";color:#080809;transition:transform .2s var(--ease-out);font-size:.7rem;transform:scale(0)}.check-row input:checked{border-color:var(--mint);background:var(--mint)}.check-row input:checked:before{transform:scale(1)}.check-row span{font-size:.8rem}.check-row.done span{color:#55555e;text-decoration:line-through}.secondary-button{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;margin-top:1rem;padding:.85rem;font-size:.7rem}.secondary-button:disabled{opacity:.3;cursor:default}.document-button{width:100%;margin:1.25rem 0;padding:.8rem;display:flex}.reference-box{border:1px solid var(--line);border-radius:var(--radius);background:#0e0e12b8;padding:.85rem 1rem}.reference-box p{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;margin:0;padding:.65rem 0;font-size:.72rem;display:flex}.reference-box p:last-child{border:0}.reference-box p b{color:var(--ink);font-weight:500}.bottom-nav{z-index:30;border:1px solid var(--line-strong);background:#111116;border-radius:1.35rem;grid-template-columns:1fr;gap:.3rem;width:5.4rem;padding:.55rem;display:grid;position:fixed;top:50%;left:clamp(1rem,2vw,1.75rem);transform:translateY(-50%);box-shadow:0 .8rem 2.2rem #00000057}.bottom-nav button{z-index:1;width:4.3rem;min-height:4.2rem;color:var(--muted);cursor:pointer;transition:color .22s ease, background .28s ease, border-color .28s ease, transform .3s var(--ease-out), box-shadow .3s ease;background:0 0;border:1px solid #0000;border-radius:.9rem;flex-direction:column;justify-content:center;align-items:center;gap:.32rem;padding:.5rem .2rem;display:flex;position:relative}.bottom-nav small{letter-spacing:-.01em;text-overflow:ellipsis;max-width:100%;font-size:.62rem;font-weight:600;overflow:hidden}.bottom-nav button.active{color:#e4e7ff;background:#a9b4ff1a;border-color:#a9b4ff24}@media (width>=721px){.hero-content,.trip-main{width:min(64rem,100% - 14rem)}}:focus-visible{outline-offset:3px;outline:2px solid #a9b4ffb8}@media (hover:hover){.trip-card:hover,.quick-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-3px)}.trip-card:hover:before{opacity:1}.trip-card:hover .trip-arrow{color:var(--ink);transform:translate(2px,-2px)}.add-trip-button:hover,.save-trip-button:hover,.primary-link:hover,.document-button:hover,.map-chip:hover{background:#e0e0ec1a;border-color:#e0e0ec38;transform:translateY(-2px)}.delete-trip:hover,.item-actions button:hover,.flight-card-bottom button:hover{color:var(--rose)}.back-button:hover{color:var(--ink);border-color:var(--line-strong)}.bottom-nav button:not(.active):hover{color:var(--ink);background:#ffffff0a}.plan-card.is-editable:hover{background:linear-gradient(145deg,#1f202bd1,#0d0d12eb);border-color:#a9b4ff52;transform:translate(4px)}}@media (width<=900px){.library-content.with-form{grid-template-columns:1fr}.trip-form{position:static}.with-form .trip-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-content{grid-template-columns:1fr;gap:2rem}.hero-top h1{max-width:100%}.flight-strip{width:min(100%,30rem)}.home-grid{grid-template-columns:1fr}}@media (width<=720px){.app-shell{width:min(100%,36rem);padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.library-shell{padding-bottom:2rem}.mobile-modal-form{z-index:100;width:min(100%,36rem);height:100dvh;padding:0 1.25rem calc(2rem + env(safe-area-inset-bottom));background:radial-gradient(circle at 90% 0%, #a9b4ff14, transparent 18rem), var(--paper);animation:modal-in .4s var(--ease-out);border:0;border-radius:0;margin:0;position:fixed;inset:0 auto 0 50%;overflow:hidden auto;transform:translate(-50%);box-shadow:0 0 70px #000000a6}@keyframes modal-in{0%{opacity:0;transform:translate(-50%)translateY(1rem)}to{opacity:1;transform:translate(-50%)translateY(0)}}.mobile-modal-header{z-index:3;padding:calc(1rem + env(safe-area-inset-top)) 1.25rem 1rem;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(24px);background:#080809e6;justify-content:space-between;align-items:center;gap:1rem;margin:0 -1.25rem 1.5rem;display:flex;position:sticky;top:0}.mobile-modal-header p{color:var(--violet);letter-spacing:.18em;margin:0 0 .2rem;font-size:.62rem;font-weight:600}.mobile-modal-header h2{max-width:14ch;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:2rem;font-style:italic;font-weight:400;line-height:1;overflow:hidden}.mobile-modal-header button{border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;color:var(--muted-bright);cursor:pointer;background:#e0e0ec0b;border-radius:50%;flex:none;place-items:center;padding:0 0 .15rem;font-size:1.4rem;font-weight:300;display:grid}.desktop-form-title{display:none}.mobile-modal-form label{margin-top:1.1rem;font-size:.7rem}.mobile-modal-form input,.mobile-modal-form textarea{border-radius:8px;min-height:3.25rem;padding:.9rem 1rem;font-size:1rem}.mobile-modal-form textarea{min-height:8rem}.mobile-modal-form>.save-trip-button{bottom:calc(1rem + env(safe-area-inset-bottom));background:#282b45;min-height:3.25rem;margin-top:1.75rem;position:sticky;box-shadow:0 12px 30px #00000080}.mobile-modal-form .form-actions{z-index:2;padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:linear-gradient(0deg, var(--paper) 78%, #08080900);margin:1.5rem -1.25rem 0;position:sticky;bottom:0}.library-hero{min-height:44svh;padding:calc(5rem + env(safe-area-inset-top)) 1rem 3rem}.brand-line{top:calc(1rem + env(safe-area-inset-top));left:1rem;right:1rem}.library-title-row{text-align:left;justify-content:flex-start}.library-title-row>div>p:last-child{margin-left:0}.library-mark{width:3.4rem;height:3.4rem;bottom:-1rem;right:0}.library-main{width:auto;padding:2.5rem 1rem 2rem}.library-actions{align-items:center}.library-actions h2{font-size:2.2rem}.trip-list,.with-form .trip-list{grid-template-columns:1fr}.hero{min-height:31rem;padding:calc(5rem + env(safe-area-inset-top)) 1rem 2.2rem}.back-button{top:calc(1rem + env(safe-area-inset-top));left:1rem}.hero-content{gap:1.8rem}.hero-top h1{font-size:clamp(3.6rem,17vw,5rem)}.hero-top h1 i{margin-top:.45rem;font-size:.36em;display:block}.flight-strip{min-height:7.5rem}.trip-main{width:auto;padding:2.5rem 1rem 2rem}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-card{min-height:8.5rem}.hotel-list,.flight-list,.check-list{grid-template-columns:1fr}.bottom-nav{top:auto;bottom:max(.7rem, env(safe-area-inset-bottom));border:1px solid var(--line-strong);background:#111116;border-radius:1.2rem;grid-template-columns:repeat(5,1fr);gap:.15rem;width:min(100% - 1.25rem,34rem);padding:.4rem;left:50%;transform:translate(-50%);box-shadow:0 .8rem 2.2rem #00000061}.bottom-nav button{border-radius:.8rem;width:auto;min-height:3.65rem;padding:.45rem .1rem;display:flex}.nav-icon{width:1.18rem;height:1.18rem}.bottom-nav small{margin-top:.08rem;font-size:.6rem}.bottom-nav button.active{color:#fff}}@media (width<=480px){h1{font-size:clamp(3rem,17vw,4.2rem)}.library-mark{display:none}.library-actions{gap:1rem}.add-trip-button{padding:.65rem .8rem}.trip-open{grid-template-columns:1.5rem 2.8rem 1fr auto;gap:.7rem;min-height:8.5rem;padding:1rem}.trip-emoji{width:2.8rem;height:2.8rem}.trip-card-copy b{font-size:1.8rem}.date-fields{grid-template-columns:1fr;gap:0}.plan-card{grid-template-columns:3.6rem 1fr;gap:.75rem;padding:.9rem}.editor-heading{gap:.8rem}.editor-heading-actions{flex-direction:column-reverse;align-items:flex-end}.editor-heading .add-trip-button,.manage-program-button{max-width:8.5rem;padding:.6rem .8rem}.item-actions{align-items:flex-end}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .save-trip-button{width:100%;min-width:0}.cancel-edit-button,.delete-edit-button{width:100%;margin-right:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{scroll-behavior:auto}html,body,#root{overscroll-behavior-x:none;width:100%;max-width:100%;overflow-x:clip}body{background:#040405}.app-shell{width:min(100%,30rem);min-height:100dvh;padding-bottom:calc(6.5rem + env(safe-area-inset-bottom));background:radial-gradient(circle at 100% 0%, #a9b4ff0e, transparent 22rem), var(--paper);box-shadow:0 0 0 1px var(--line), 0 2rem 7rem #00000094;overflow:clip visible}.library-shell{padding-bottom:2rem}.library-hero{min-height:43svh;padding:calc(5rem + env(safe-area-inset-top)) 1rem 3rem}.brand-line{top:calc(1rem + env(safe-area-inset-top));left:1rem;right:1rem}.library-title-row{text-align:left;justify-content:flex-start}.library-title-row h1{font-size:clamp(3.7rem,16vw,5rem)}.library-title-row>div>p:last-child{margin-left:0;font-size:.95rem}.library-mark{width:3.4rem;height:3.4rem;bottom:-1rem;right:0}.library-main,.trip-main{width:auto;margin:0;padding:2.4rem 1rem 2rem}.library-actions{align-items:center;gap:1rem}.library-actions h2,.day-heading h2{overflow-wrap:anywhere;font-size:2.25rem}.editor-heading{align-items:center;min-height:5.75rem}.editor-heading .day-heading{min-width:0}.library-content,.library-content.with-form{display:block}.trip-list,.with-form .trip-list,.hotel-list,.flight-list,.check-list{grid-template-columns:1fr}.hero{min-height:23rem;padding:calc(4.5rem + env(safe-area-inset-top)) 1rem 1.5rem}.back-button{top:calc(1rem + env(safe-area-inset-top));left:1rem}.hero-content{grid-template-columns:1fr;gap:1.2rem;width:100%}.hero-top h1{max-width:100%;font-size:clamp(3.35rem,15vw,4.4rem)}.hero-top h1 i{margin-top:.45rem;font-size:.36em;display:block}.flight-strip{width:100%;min-height:6.25rem;padding:1rem}.trip-toolbar{z-index:25;min-height:calc(5rem + env(safe-area-inset-top));padding:calc(.85rem + env(safe-area-inset-top)) 1rem .85rem;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);background:#080809f2;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.trip-toolbar>button{border:1px solid var(--line);min-height:2.75rem;color:var(--muted-bright);background:var(--surface);cursor:pointer;border-radius:999px;padding:.55rem .85rem;font-size:.76rem}.trip-toolbar>div{text-align:right;min-width:0;display:grid}.trip-toolbar small{color:var(--violet);letter-spacing:.16em;font-size:.6rem;font-weight:700}.trip-toolbar strong{max-width:20ch;font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.35rem;font-style:italic;font-weight:400;line-height:1.1}.trip-main.inner-page-main{padding-top:1.75rem}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-card{min-height:8.5rem}.home-grid{grid-template-columns:1fr}.weather-card{background:radial-gradient(circle at 100% 0,#a9b4ff1a,#0000 14rem),linear-gradient(145deg,#17171eeb,#0b0b0ef5);border-color:#a9b4ff1f;overflow:hidden}.weather-card .section-title{margin-bottom:.85rem}.weather-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.weather-day{border:1px solid var(--line);border-radius:var(--radius);background:#07070a75;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:8.4rem;padding:.9rem;display:grid;position:relative}.weather-day>div:first-child{min-width:0;display:grid}.weather-day>div:first-child small{color:var(--violet);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:700}.weather-day>div:first-child b{color:var(--muted-bright);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:500;overflow:hidden}.weather-icon{font-size:1.65rem;line-height:1}.weather-temperatures{align-items:baseline;gap:.4rem;display:flex}.weather-temperatures strong{font-family:var(--font-display);font-size:2rem;font-style:italic;font-weight:400;line-height:1}.weather-temperatures span{color:var(--muted);font-size:.78rem}.weather-rain{color:#a9d9c1;justify-self:end;font-size:.66rem}.weather-message{border:1px solid var(--line);border-radius:var(--radius);background:#07070a66;align-items:center;gap:1rem;min-height:6.5rem;padding:1rem;display:flex}.weather-message>span{width:2.8rem;height:2.8rem;color:var(--violet);border:1px solid #a9b4ff24;border-radius:50%;flex:none;place-items:center;font-size:1.25rem;display:grid}.weather-message b{font-family:var(--font-display);font-size:1.25rem;font-style:italic;font-weight:400}.weather-message p{color:var(--muted);margin:.2rem 0 0;font-size:.74rem;line-height:1.5}.weather-loading>span{animation:1.2s linear infinite weather-spin}@keyframes weather-spin{to{transform:rotate(360deg)}}.weather-source{color:var(--muted);text-align:right;margin-top:.7rem;font-size:.58rem;display:block}.view-frame{width:100%}.bottom-nav{top:auto;bottom:max(.7rem, env(safe-area-inset-bottom));background:#111116;border-radius:1.2rem;grid-template-columns:repeat(5,1fr);gap:.15rem;width:min(100% - 1.25rem,28.75rem);padding:.4rem;left:50%;transform:translate(-50%);box-shadow:0 .8rem 2.2rem #0000006b}.bottom-nav button{border-radius:.8rem;width:auto;min-width:0;min-height:3.65rem;padding:.45rem .1rem}.nav-icon{width:1.18rem;height:1.18rem}.bottom-nav small{margin-top:.08rem;font-size:.6rem}.bottom-nav button.active{color:#fff}.mobile-modal-form{z-index:100;width:min(100%,30rem);height:100dvh;scroll-padding-bottom:calc(10rem + env(safe-area-inset-bottom));scroll-behavior:auto;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 90% 0%, #a9b4ff14, transparent 18rem), var(--paper);scrollbar-width:none;animation:phone-modal-in .38s var(--ease-out);border:0;border-radius:0;flex-direction:column;margin:0 auto;padding:0 1.1rem;display:flex;position:fixed;inset:0;overflow:hidden auto;transform:none;box-shadow:0 0 0 100vmax #000000b8,0 0 5rem #000000b8}.mobile-modal-form::-webkit-scrollbar{display:none}.mobile-modal-form>*{flex-shrink:0}@keyframes phone-modal-in{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.mobile-modal-header{z-index:4;min-height:calc(6.5rem + env(safe-area-inset-top));padding:calc(1rem + env(safe-area-inset-top)) 1.1rem 1rem;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);background:#080809f0;outline:none;justify-content:space-between;align-items:center;gap:1rem;margin:0 -1.1rem 1.5rem;display:flex;position:sticky;top:0}.mobile-modal-header>div{flex:1;min-width:0}.mobile-modal-header p{color:var(--violet);letter-spacing:.16em;margin:0 0 .2rem;font-size:.68rem;font-weight:600}.mobile-modal-header h2{max-width:19ch;font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:clamp(1.65rem,7vw,2rem);font-style:italic;font-weight:400;line-height:1.08}.mobile-modal-header button{border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;color:var(--muted-bright);background:var(--surface-raised);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0 0 .15rem;font-size:1.4rem;font-weight:300;display:grid}.desktop-form-title{display:none}.mobile-modal-form label{margin-top:1.1rem;font-size:.7rem}.destination-field{min-width:0;margin-top:1.1rem}.destination-field>label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:0 0 .45rem;font-size:.7rem;font-weight:600;display:block}.destination-combobox{min-width:0;position:relative}.destination-suggestions{z-index:5;border:1px solid var(--line-strong);background:#121217;border-radius:.85rem;max-height:18rem;margin-top:.5rem;padding:.35rem;display:grid;position:relative;overflow-y:auto;box-shadow:0 1rem 2.5rem #00000075}.destination-suggestions>button{width:100%;min-height:3.65rem;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;grid-template-columns:2.35rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.55rem .65rem;display:grid}.destination-suggestions>button.active{background:#a9b4ff14;border-color:#a9b4ff24}.destination-flag{border:1px solid var(--line);background:#ffffff06;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;font-size:1.05rem;display:grid}.destination-suggestion-copy{min-width:0;display:grid}.destination-suggestion-copy b{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;overflow:hidden}.destination-suggestion-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.destination-select-arrow{color:var(--violet);font-size:.78rem}.destination-suggestion-status{min-height:4.4rem;color:var(--muted-bright);align-items:center;gap:.7rem;padding:.8rem;font-size:.72rem;line-height:1.45;display:flex}.destination-suggestion-status>span{color:var(--violet);font-size:1.1rem}.destination-provider{color:var(--muted);text-align:right;padding:.45rem .65rem .2rem;font-size:.55rem}.mobile-modal-form .date-fields{grid-template-columns:minmax(0,1fr);gap:0;width:100%;min-width:0}.date-fields>label,.date-fields input,.mobile-modal-form input[type=date]{width:100%;min-width:0;max-width:100%}.mobile-modal-form input[type=date]{appearance:none;inline-size:100%;min-inline-size:0;max-inline-size:100%;display:block}.mobile-modal-form input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0;margin:0}.mobile-modal-form input,.mobile-modal-form textarea{border-radius:10px;min-height:3.35rem;padding:.9rem 1rem;font-size:1rem}.mobile-modal-form textarea{min-height:8rem}.mobile-modal-form>.save-trip-button{bottom:calc(1rem + env(safe-area-inset-bottom));z-index:2;background:#282b45;min-height:3.35rem;margin-top:1.75rem;position:sticky;box-shadow:0 12px 30px #00000080}.mobile-modal-form .form-actions{z-index:3;padding:1rem 1.1rem max(.75rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#0c0c10;flex-direction:column-reverse;flex:none;align-items:stretch;margin:auto -1.1rem 0;position:sticky;bottom:0;box-shadow:0 -1rem 2.5rem #00000061}.mobile-modal-form>:has(+.form-actions){margin-bottom:3rem}.mobile-modal-form .form-actions.single-action{gap:0}.mobile-modal-form .form-actions .save-trip-button,.mobile-modal-form .cancel-edit-button,.mobile-modal-form .delete-edit-button{width:100%;min-width:0;margin-right:0}.checklist-editor-form .form-intro{margin-bottom:1rem!important}.checklist-edit-list{gap:.55rem;display:grid}.checklist-edit-row{transition:transform .18s var(--ease-out), background .18s ease, opacity .18s ease;border-radius:.75rem;grid-template-columns:2.4rem minmax(0,1fr) 2.75rem;align-items:center;gap:.55rem;display:grid;position:relative}.checklist-drag-handle{touch-action:none;width:2.4rem;height:2.75rem;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;background:#ffffff06;border:0;border-radius:.65rem;place-items:center;padding:0;font-size:1.2rem;display:grid}.checklist-drag-handle:active{cursor:grabbing}.checklist-edit-row.is-dragging{z-index:2;opacity:.82;background:#a9b4ff12;transform:scale(.985)}.checklist-edit-row input{min-width:0;margin:0}.checklist-edit-row>button:last-child{width:2.75rem;height:2.75rem;color:var(--rose);cursor:pointer;background:#d99aaa0b;border:1px solid #d99aaa29;border-radius:50%;padding:0 0 .12rem;font-size:1.25rem}.add-checklist-item{color:#dfe3ff;cursor:pointer;background:#a9b4ff0b;border:1px dashed #a9b4ff33;border-radius:.8rem;min-height:3.15rem;margin-top:.8rem;font-size:.76rem;font-weight:700}@media (orientation:landscape){.app-shell,.mobile-modal-form{width:min(100%,30rem);margin-left:auto;margin-right:auto}.bottom-nav{width:min(100% - 1.25rem,28.75rem)}}.confirm-overlay{z-index:300;-webkit-backdrop-filter:blur(8px);background:#020204c2;justify-content:center;align-items:flex-end;padding:.65rem;animation:.2s ease-out confirm-backdrop-in;display:flex;position:fixed;inset:0}.confirm-dialog{width:min(100%,28.75rem);max-height:calc(100dvh - 1.3rem);padding:1.25rem 1.1rem max(1rem, env(safe-area-inset-bottom));border:1px solid var(--line-strong);animation:confirm-dialog-in .3s var(--ease-out);background:radial-gradient(circle at 100% 0,#d99aaa17,#0000 13rem),#111116;border-radius:1.25rem;overflow-y:auto;box-shadow:0 -1rem 4rem #0009,inset 0 1px #ffffff09}.confirm-icon{color:#efb6c4;width:2.9rem;height:2.9rem;font-family:var(--font-display);background:#d99aaa14;border:1px solid #d99aaa3d;border-radius:50%;place-items:center;margin-bottom:1.1rem;font-size:1.45rem;font-style:italic;display:grid}.confirm-dialog .eyebrow{color:var(--rose);margin-bottom:.45rem}.confirm-dialog h2{font-family:var(--font-display);margin:0;font-size:2rem;font-style:italic;font-weight:400;line-height:1.02}.confirm-dialog>p:last-of-type{color:var(--muted);margin:.75rem 0 0;font-size:.8rem;line-height:1.6}.confirm-actions{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.4rem;display:grid}.confirm-actions button{cursor:pointer;border-radius:.85rem;min-height:3.15rem;padding:.75rem 1rem;font-size:.78rem;font-weight:700}.confirm-cancel{border:1px solid var(--line-strong);color:var(--muted-bright);background:#ffffff09}.confirm-delete{color:#1a090e;background:#e2a0b1;border:1px solid #d99aaa33}@keyframes confirm-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(1.25rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=390px){.date-fields{grid-template-columns:1fr;gap:0}.library-mark{display:none}}
