/* Futaba v2: forest exterior, cream reading surfaces, fine gold framing. */
:root{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.7;color:#0b3d20;background:#0f3a1e;--forest:#0f3a1e;--ink:#0b3d20;--cream:#f6f5ee;--gold:#e7b84b;--lime:#8ddb16;--muted:#516153;--line:#d9d8c6}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 95% 0%,#2e7d4644,transparent 38%),linear-gradient(135deg,#0f3a1e,#123d1f);min-height:100vh}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;min-height:44px;border:0}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid #8ddb16;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:900;letter-spacing:.015em}h1{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.45;margin-bottom:10px}h2{font-size:1.3rem}h3{font-size:1.25rem;line-height:1.5}a{color:var(--ink);text-underline-offset:4px}small{font-size:.875rem}.skip{position:absolute;left:16px;top:-100px;background:var(--cream);padding:12px;z-index:20}.skip:focus{top:10px}
.topbar{max-width:1380px;height:108px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;color:var(--cream);border-bottom:1px solid #e7b84b42}.brand{display:flex;gap:16px;align-items:center;font-size:1.25rem;font-weight:800;line-height:1.4;letter-spacing:.06em}.brand small{display:block;color:#c7d4b9;font-weight:500;font-size:.65rem;letter-spacing:.21em;margin-top:6px}.brand-icon{height:57px;width:50px;border:1px solid var(--gold);outline:1px solid #e7b84b45;outline-offset:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:15px 15px 4px 4px;font-size:1.7rem;line-height:1;color:var(--gold);font-weight:500}.brand-icon span{font-size:.4rem;letter-spacing:.12em;margin-top:5px}.trip-date{font-size:1.6rem;letter-spacing:.06em;font-weight:800;color:var(--gold)}.trip-date span{display:block;font-size:.75rem;color:#d5ddcc;text-align:right;font-weight:500;letter-spacing:.05em}
.app-shell{max-width:1380px;margin:auto;padding:28px 5% 64px;display:block}.sidebar{display:flex;align-items:center;gap:30px;margin-bottom:42px}.side-title{font-size:.65rem;letter-spacing:.14em;color:#bccdaa;font-weight:500;flex-shrink:0}.side-title span{display:block;font-size:.875rem;letter-spacing:.06em;font-weight:700;color:var(--cream);margin-top:2px}.sidebar nav{display:flex;gap:8px;margin-left:auto}.nav-button{background:transparent;display:flex;align-items:center;gap:10px;padding:12px 22px;color:#e1e7d9;font-size:.875rem;border-radius:7px;font-weight:700;border:1px solid transparent}.nav-button:hover{background:#f6f5ee0d}.nav-button.active{background:var(--cream);color:var(--ink);border-color:var(--gold);box-shadow:inset 0 0 0 3px var(--cream),inset 0 0 0 4px #e7b84b66}.nav-icon{font-size:.75rem;font-weight:500;letter-spacing:.08em;color:var(--gold)}.active .nav-icon{color:#5d622e}.count{border-radius:20px;padding:0 7px;font-size:.75rem;background:#ffffff13;color:var(--cream)}.active .count{background:#dce8ce;color:var(--ink)}.family-panel,.sidebar>.save-note{display:none}main{outline:none}main>.eyebrow{color:#b9e77b;font-size:.7rem;letter-spacing:.2em;margin-bottom:10px}main>h1{color:var(--cream)}.intro{color:#d2ddc9;font-size:.9375rem;margin-bottom:23px}.family-strip{display:flex;gap:12px 30px;align-items:center;flex-wrap:wrap;margin:0 0 27px;padding:0 0 24px;border-bottom:1px solid #e7b84b4a;color:#d9e3ce;font-size:.875rem}.family-strip b{font-size:1rem;color:var(--cream);margin-right:10px}.family-caption{font-size:.75rem;color:#b2c4a4;margin-left:auto}.filters{display:flex;gap:7px;flex-wrap:wrap;padding:6px;background:#092e1899;width:fit-content;border:1px solid #cfce9140;border-radius:9px;margin-bottom:22px}.filter{padding:9px 20px;border-radius:5px;background:transparent;color:#dce5d4;font-weight:700;font-size:.875rem}.filter.selected{background:var(--cream);color:var(--ink);box-shadow:0 2px 6px #061e1529}.filter:not(.selected):hover{background:#f6f5ee15}.list-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:16px}.list-heading p{font-size:.75rem;color:#c7d5bb;margin:0}.list-heading strong{font-size:1rem;color:var(--cream);margin-right:4px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card{position:relative;display:flex;flex-direction:column;min-width:0;padding:7px;background:var(--cream);border:1px solid #e7b84bc4;border-radius:15px;box-shadow:0 12px 28px #021c1b35,inset 0 0 0 3px var(--cream),inset 0 0 0 4px #e7b84b50}.photo-wrap{position:relative;aspect-ratio:1.45;overflow:hidden;background:#dae1ce;border-radius:9px 9px 3px 3px}.photo-wrap:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0b251347);pointer-events:none}.photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}.photo-wrap img[src$="nintendo.jpg"]{width:233.333%;max-width:none;position:relative;left:50%;transform:translateX(-50%)}.card-number{position:absolute;left:12px;top:12px;background:var(--lime);color:var(--ink);min-width:33px;height:32px;display:grid;place-items:center;border-radius:5px;font-size:.875rem;font-weight:900;z-index:1}.category{position:absolute;bottom:12px;left:12px;color:var(--cream);font-size:.75rem;font-weight:700;z-index:1;letter-spacing:.03em}.card-body{padding:20px 17px 17px;display:flex;flex-direction:column;flex:1}.area{color:var(--muted);font-size:.75rem;margin-bottom:8px;line-height:1.5}.card h3{margin-bottom:5px}.official-name{font-size:.75rem;line-height:1.6;color:var(--muted);margin-bottom:13px;min-height:2.5em}.description{font-size:.875rem;line-height:1.75;color:#1e2b24;margin-bottom:17px;min-height:3.5em}.eligibility{border-top:1px dashed #83a358;border-bottom:1px dashed #83a358;padding:13px 0;margin:0 0 15px;display:grid;gap:9px;font-size:.8125rem}.eligibility div{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:10px}.eligibility b{color:var(--ink);font-size:.875rem;white-space:nowrap}.eligibility span{color:#344c37;line-height:1.75}.eligibility .condition{color:#725714}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tag{color:#516153;font-size:.75rem;line-height:1.6;padding:3px 8px;background:#e7eadc;border-radius:4px}.wait{font-size:.75rem;color:var(--muted);margin-bottom:16px}.card-actions{display:flex;gap:9px;margin-top:auto}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:11px 14px;border-radius:6px;font-weight:800;font-size:.875rem;min-height:46px}.primary{color:#193a21;background:linear-gradient(125deg,#f0d58c,#e7b84b);border:1px solid #bb9135;box-shadow:inset 0 1px 0 #fff8}.primary:hover{filter:brightness(1.04)}.secondary{background:transparent;color:var(--ink);border:1px solid #acb69f}.secondary:hover{background:#e8ebdf}.card-actions .primary{flex:1}.card-actions .secondary{flex:.78}.saved{background:var(--forest);color:var(--cream);border-color:var(--forest);box-shadow:none}.footnote{color:#bcccaf;font-size:.8125rem;line-height:1.9;margin:30px 0 0}.storage-error{color:#f6e4a0!important}
.section-label{color:var(--cream);font-size:1.2rem;margin:30px 0 12px}.detail-note{font-size:.875rem;color:var(--muted)}main>.detail-note{color:#c6d4b9}.empty{background:var(--cream);border:1px solid var(--gold);border-radius:14px;box-shadow:inset 0 0 0 4px var(--cream),inset 0 0 0 5px #e7b84b66;padding:55px 24px;text-align:center}.empty-icon{font-size:2.2rem;color:#457534;margin-bottom:10px}.empty h2{margin-bottom:9px}.empty p{font-size:.9375rem;color:var(--muted);margin-bottom:24px}.compare-wrap{overflow:auto;border:1px solid #e7b84bb3;border-radius:10px;background:var(--cream);margin-bottom:25px}.compare{width:100%;min-width:580px;border-collapse:collapse;font-size:.875rem}.compare th,.compare td{padding:17px 20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:200px}.compare th:first-child{min-width:110px;width:110px;background:#e8ecdd}.compare tr:last-child>*{border-bottom:0}.compare td .primary{margin-top:6px}.plan-note{background:#e7b84b17;border:1px solid #e7b84b4d;color:#eadbb3;border-radius:8px;padding:16px 20px;font-size:.875rem;margin-bottom:24px}.plan-list{display:grid;gap:16px}.plan-item{display:grid;grid-template-columns:38px 120px minmax(0,1fr);gap:20px;align-items:center;padding:24px;background:var(--cream);border:1px solid #e7b84bb3;border-radius:12px;box-shadow:0 5px 16px #031e1022}.order{display:grid;place-items:center;width:32px;height:32px;background:var(--lime);color:var(--ink);border-radius:5px;font-weight:900}.plan-item img{width:120px;height:100px;object-fit:cover;border-radius:7px}.plan-item h3{font-size:1.1rem;margin-bottom:6px}.plan-item p{font-size:.875rem;color:var(--muted);margin-bottom:12px}.plan-controls{display:flex;gap:8px;flex-wrap:wrap}.plan-controls button{font-size:.875rem;border:1px solid #c4ccb8;background:transparent;color:var(--ink);padding:7px 12px;border-radius:5px}.plan-controls .remove{border-color:transparent;color:#686a51;text-decoration:underline;text-underline-offset:3px}
dialog{background:var(--cream);color:var(--ink);border:1px solid var(--gold);border-radius:17px;padding:7px;width:min(650px,calc(100% - 24px));max-height:90dvh;box-shadow:0 30px 110px #071a0db3}dialog::backdrop{background:#051e11bd;backdrop-filter:blur(6px)}.dialog-photo{width:100%;height:270px;object-fit:cover;display:block;border-radius:10px 10px 3px 3px}.dialog-close{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:50%;background:var(--cream);color:var(--ink);font-size:1.5rem;z-index:1;box-shadow:0 2px 10px #0002}.dialog-body{padding:26px}.dialog-body h2{font-size:1.5rem;line-height:1.6;margin-bottom:14px}.dialog-body h3{font-size:1rem;margin:23px 0 8px}.dialog-body p{font-size:.9375rem}.dialog-body .eligibility{font-size:.9375rem}.dialog-body .eligibility b{font-size:.9375rem}.dialog-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.dialog-buttons>*{flex:1}.dialog-body .detail-note{font-size:.8125rem}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--cream);color:var(--ink);border:1px solid var(--gold);padding:12px 22px;max-width:calc(100% - 32px);width:max-content;border-radius:8px;box-shadow:0 8px 30px #05231166;z-index:10;font-size:.875rem;opacity:0;pointer-events:none;transition:opacity .15s}#toast.visible{opacity:1}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.app-shell{padding-left:4%;padding-right:4%}.topbar{padding-left:4%;padding-right:4%}.photo-wrap{aspect-ratio:1.65}.sidebar{margin-bottom:33px}.nav-button{padding:11px 16px}.card-body{padding:21px}.official-name{min-height:0}}
@media(max-width:700px){.topbar{height:91px;padding:0 22px}.brand{font-size:1.05rem;gap:14px}.brand small{font-size:.55rem;letter-spacing:.16em}.brand-icon{height:43px;width:37px;font-size:1.4rem;border-radius:11px 11px 3px 3px}.brand-icon span{font-size:.33rem;margin-top:4px}.trip-date{font-size:1.1rem}.trip-date span{font-size:.65rem;margin-top:2px}.app-shell{padding:27px 18px 130px}.sidebar{margin:0}.side-title{display:none}.sidebar nav{position:fixed;bottom:14px;left:14px;right:14px;z-index:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px;margin:0;background:var(--cream);border:1px solid #e7b84bbf;border-radius:15px;box-shadow:0 8px 30px #021d1380;bottom:calc(12px + env(safe-area-inset-bottom))}.nav-button{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:2px 6px;padding:8px 3px;color:var(--muted);font-size:.75rem;min-height:56px;border-radius:9px;line-height:1.5}.nav-icon{font-size:.65rem;letter-spacing:.1em;color:#6a7658;width:100%;text-align:center;line-height:1.2}.nav-button.active{background:var(--forest);color:var(--cream);border-color:var(--forest);box-shadow:none}.active .nav-icon{color:var(--gold)}.count{font-size:.7rem;padding:0 5px;background:#dfe6d5;color:var(--ink)}.active .count{background:#f6f5ee22;color:var(--cream)}main>.eyebrow{font-size:.65rem;margin-bottom:10px}h1{font-size:1.62rem;max-width:330px;line-height:1.6;margin-bottom:9px;letter-spacing:0}.intro{font-size:.8125rem;margin-bottom:20px;line-height:1.85}.family-strip{gap:7px 24px;padding-bottom:19px;margin-bottom:20px;font-size:.75rem}.family-strip b{font-size:.875rem;margin-right:7px}.family-caption{display:none}.filters{gap:3px;padding:4px;margin-bottom:19px;width:100%;border-radius:8px}.filter{padding:8px 9px;font-size:.75rem;flex-grow:1;min-height:39px}.list-heading{margin-bottom:15px}.list-heading p{font-size:.7rem}.list-heading strong{font-size:.9375rem}.cards{grid-template-columns:1fr;gap:25px}.photo-wrap{aspect-ratio:1.55}.card{padding:6px;border-radius:13px}.card-body{padding:20px 17px 17px}.card h3{font-size:1.25rem}.official-name{font-size:.75rem;margin-bottom:11px}.description{min-height:0;margin-bottom:15px;font-size:.875rem}.eligibility{font-size:.875rem;padding:12px 0;gap:8px}.eligibility div{grid-template-columns:38px minmax(0,1fr);gap:13px}.card-actions{gap:10px}.primary,.secondary{min-height:47px;font-size:.875rem}.wait{margin-bottom:15px}.footnote{font-size:.75rem;line-height:1.95}.section-label{font-size:1.1rem}.plan-item{grid-template-columns:29px minmax(0,1fr);padding:19px 16px;gap:12px}.plan-item img{display:none}.order{width:28px;height:29px;font-size:.875rem}.plan-item h3{font-size:1rem}.plan-item p{font-size:.8125rem}.plan-controls button{font-size:.75rem;padding:7px 10px}.plan-note{padding:14px;font-size:.8125rem}.dialog-photo{height:220px}.dialog-body{padding:22px 16px}.dialog-body h2{font-size:1.2rem}.dialog-buttons{position:sticky;bottom:-1px;background:var(--cream);padding-top:10px}.dialog-body .eligibility{font-size:.875rem}.dialog-close{right:15px;top:15px}#toast{bottom:105px}.empty{padding:40px 20px}.empty h2{font-size:1.15rem}}
@media(max-width:360px){.topbar{padding:0 18px}.brand{font-size:.9375rem;gap:11px}.trip-date{font-size:1rem}.brand small{font-size:.5rem}.app-shell{padding-left:14px;padding-right:14px}h1{font-size:1.45rem}.filter{font-size:.75rem;padding:7px}.card-body{padding:17px 13px}.family-strip{gap:7px 16px}}
.guide-family,.guide-step,.help-panel{background:var(--cream);border:1px solid #e7b84bb3;border-radius:12px;padding:26px;color:var(--ink);box-shadow:0 8px 22px #061e1422}.guide-family{margin-bottom:22px}.guide-family p{margin:9px 0;font-size:.9375rem}.guide-family small{color:var(--muted)}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.step-number{display:inline-grid;place-items:center;background:var(--lime);width:34px;height:33px;border-radius:5px;font-weight:900;margin-bottom:17px}.guide-step h2{font-size:1.15rem}.guide-step p{font-size:.9375rem;color:#1e2b24}.guide-step a,.help-panel a{font-size:.875rem;font-weight:700}.guide-next{margin-top:25px;color:#d8e2ce;font-size:.875rem}.help-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.panel-label{font-size:.75rem;letter-spacing:.06em;color:#657148}.help-panel h2{margin:12px 0}.help-caption{font-size:.8125rem;color:var(--muted);line-height:1.8}.faq-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.faq-button{background:#e7ebde;border:1px solid #c7d1b8;border-radius:7px;color:var(--ink);font-size:.8125rem;padding:10px 12px;text-align:left}.faq-button.chosen{background:var(--forest);color:var(--cream);border-color:var(--forest)}.faq-answer{border-top:1px dashed #83a358;padding:20px 0 0}.faq-answer h3{font-size:1rem}.faq-answer p{font-size:.9375rem}.checked{display:block;margin-top:15px;color:var(--muted);font-size:.75rem}.ai-status{background:#e9e7d4;color:#685b26;border-radius:6px;padding:10px;font-size:.8125rem}.ai-status.ready{background:#deead2;color:var(--ink)}.chat-messages{max-height:380px;overflow:auto;margin:18px 0}.chat-welcome{background:#e8ebdf;border-radius:9px;padding:18px;font-size:.875rem;line-height:1.9}.chat-welcome small{color:var(--muted)}.chat-message{padding:14px 16px;background:#e4eadb;border-radius:10px;margin-bottom:12px}.chat-message.user{background:#183f28;color:var(--cream);margin-left:20px}.chat-message small{font-size:.7rem;opacity:.8}.chat-message p{font-size:.875rem;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}#chat-form label{display:block;font-size:.875rem;font-weight:700;margin-bottom:8px}#chat-input{resize:vertical;width:100%;font:inherit;font-size:1rem;border:1px solid #a8b69c;border-radius:8px;padding:12px;background:#faf9f2;color:var(--ink);min-height:95px}#chat-input:focus-visible{outline:3px solid #75ac3a;outline-offset:2px}.chat-form-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0 18px}.chat-form-bottom small{font-size:.7rem;color:var(--muted)}
@media(max-width:1050px) and (min-width:701px){.side-title{display:none}.sidebar nav{margin-left:0;width:100%;justify-content:space-between}.nav-button{padding:10px 12px}.help-layout{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;left:10px;right:10px}.nav-button{font-size:.65rem;padding:8px 1px;gap:2px 3px}.nav-button .count{font-size:.6rem;padding:0 4px}.guide-grid,.help-layout{grid-template-columns:1fr}.guide-family,.guide-step,.help-panel{padding:20px}.guide-family p{font-size:.875rem}.guide-family small{font-size:.75rem}.chat-form-bottom{align-items:flex-start}.chat-form-bottom small{max-width:130px}.guide-step h2{font-size:1.1rem}}
.trip-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 30px}.trip-days button{background:#f6f5ee12;color:var(--cream);border:1px solid #e7b84b66;border-radius:10px;padding:18px 10px;text-align:left}.trip-days strong{display:block;font-size:1.5rem;letter-spacing:.04em}.trip-days span{display:block;font-size:.8rem;margin-top:5px}.trip-days [aria-pressed=true]{background:var(--cream);color:var(--ink);box-shadow:inset 0 0 0 3px var(--cream),inset 0 0 0 4px #e7b84b99;border-color:var(--gold)}.trip-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--cream)}.trip-heading h2{color:var(--cream);font-size:1.3rem;margin:0}.trip-heading small{font-size:.8rem;font-weight:500;margin-left:8px}.trip-heading>span{font-size:.8rem}.trip-hint,.trip-save{color:#c6d4b9;font-size:.8125rem;margin:13px 0 20px}.trip-list{display:grid;gap:15px}.trip-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;background:var(--cream);border:1px solid var(--gold);border-radius:12px;padding:25px;box-shadow:inset 0 0 0 4px var(--cream),inset 0 0 0 5px #e7b84b55}.trip-time{font-size:1.05rem;font-weight:900;border-right:1px dashed #83a358;line-height:1.8}.trip-time span{display:block;font-size:.75rem;font-weight:500;color:var(--muted)}.trip-body{min-width:0}.trip-body h3{font-size:1.1rem;margin:9px 0;overflow-wrap:anywhere}.trip-status{background:#e4e9d6;color:var(--ink);padding:4px 9px;border-radius:4px;font-size:.7rem}.trip-note{font-size:.875rem;color:#344c37;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px}.trip-edit{margin-top:18px;border-top:1px dashed #83a358;padding-top:13px}.trip-edit summary,.trip-add summary{cursor:pointer;font-size:.875rem;font-weight:800;min-height:30px}.trip-add{background:var(--cream);border:1px solid #e7b84b99;border-radius:12px;padding:22px;margin:20px 0}.trip-form{margin-top:16px;display:grid;gap:15px}.trip-form label{display:grid;gap:7px;font-size:.8125rem;font-weight:700;min-width:0}.trip-form input,.trip-form select,.trip-form textarea{width:100%;min-width:0;max-width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#faf9f2;border:1px solid #a8b69c;border-radius:6px;padding:11px;box-sizing:border-box}.trip-form textarea{resize:vertical}.trip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.trip-form .primary{justify-self:start}.trip-explore{margin-top:20px;background:var(--cream)}
@media(max-width:700px){.trip-days{gap:7px;margin-top:18px}.trip-days button{padding:15px 10px}.trip-days strong{font-size:1.15rem}.trip-days span{font-size:.65rem}.trip-heading{align-items:start}.trip-heading h2{font-size:1.15rem}.trip-heading small{display:block;margin:4px 0 0}.trip-item{grid-template-columns:1fr;gap:13px;padding:20px}.trip-time{border-right:0;border-bottom:1px dashed #83a358;padding-bottom:10px;display:flex;align-items:center;gap:15px}.trip-fields{grid-template-columns:1fr}.trip-body h3{font-size:1rem}.trip-add{padding:20px}.trip-form .primary{width:100%}}
.tool-card{background:var(--cream);color:var(--ink);border:1px solid var(--gold);border-radius:13px;padding:26px;margin:0 0 22px;box-shadow:inset 0 0 0 4px var(--cream),inset 0 0 0 5px #e7b84b55}.tool-card h2{font-size:1.22rem;margin:12px 0}.tool-card p{font-size:.9rem;overflow-wrap:anywhere}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.quick-actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.quick-actions a{align-self:center;font-size:.85rem}.next-card>h2{font-size:1.65rem}.reservation{border-width:2px}.field-label{display:grid;gap:9px;margin:18px 0;font-size:.9rem;font-weight:700}.field-label input,.field-label select,.packing-item select{font:inherit;color:var(--ink);background:#faf9f2;border:1px solid #a8b69c;border-radius:7px;padding:10px;min-width:0;max-width:100%}.check-label{display:flex!important;align-items:center}.check-label input{width:22px!important;height:22px}.packing-list{display:grid;gap:0}.packing-item{display:grid;grid-template-columns:minmax(0,1fr) 130px 40px;gap:12px;align-items:center;border-bottom:1px dashed #a9b48f;padding:16px 0}.packing-item label{display:flex;align-items:center;gap:11px;overflow-wrap:anywhere}.packing-item input{width:23px;height:23px;flex-shrink:0;accent-color:var(--forest)}.packing-item:has(input:checked) label span{text-decoration:line-through;opacity:.6}.packing-item .remove{background:none;color:var(--muted);font-size:.75rem;text-decoration:underline;padding:8px 0}.tool-card progress{width:100%;height:14px;accent-color:var(--forest)}.map-toolbar{margin-bottom:15px}#park-map{height:430px;border:1px solid var(--gold);border-radius:12px;background:#e1e7d7;z-index:0}.map-credit{color:#d7dfc8;font-size:.75rem;margin:12px 0 25px}.map-credit a{color:#f0d58c}.map-results{display:grid;grid-template-columns:1fr 1fr;gap:18px}.map-results .tool-card{margin:0}.map-result:target{outline:3px solid var(--lime)}.quick-actions [aria-pressed=true]{background:var(--forest);color:var(--cream)}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:10px!important}.leaflet-control-attribution a{color:#17472b}.sidebar nav{flex-wrap:wrap;gap:6px}.nav-button{padding:10px 13px}.login-page{max-width:500px;margin:10vh auto;padding:28px}.login-page h1{color:var(--ink)}.login-page label{display:grid;gap:9px}.login-page input{font:inherit;min-height:46px;max-width:100%}.login-page button{margin-top:15px}.research-status{margin-top:20px}.research-status a{display:inline-block;margin-right:15px}
@media(max-width:700px){.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));padding:5px;gap:3px;max-height:145px}.nav-button{min-height:49px}.app-shell{padding-bottom:175px}#toast{bottom:150px}.tool-card{padding:21px}.tool-grid,.map-results{grid-template-columns:1fr}.tool-grid{gap:0}.next-card>h2{font-size:1.35rem}.packing-item{grid-template-columns:minmax(0,1fr) 104px;gap:10px}.packing-item .remove{grid-column:2;justify-self:end;padding-top:0}.packing-item select{font-size:.8rem;width:100%}.packing-item label{font-size:.875rem}.quick-actions .secondary,.quick-actions .primary{font-size:.8rem;padding:10px}#park-map{height:370px}.login-page{margin:5vh 15px}.map-results h2{font-size:1.1rem}}
main>.quick-actions .secondary{background:var(--cream);border-color:var(--gold)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.catalog-search{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:20px 0}.catalog-search label{display:flex;flex-direction:column;gap:6px;flex:1 1 220px;min-width:0}.catalog-search input,.catalog-search select{width:100%;min-width:0;padding:12px;border-radius:8px;border:1px solid #d5cbb2;font:inherit;background:#fff;color:#123d24}.catalog-status{font-weight:700;color:#234b30}.catalog-status.unavailable{color:#8b311b}.photo-wrap{background:#e8e5da}.card h3{overflow-wrap:anywhere}

.catalog-search label{color:var(--cream)}main>.catalog-note{color:var(--cream);opacity:.9;line-height:1.7}

.transport-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px}.transport-totals>div{background:#ece9dd;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px}.transport-totals strong{font-size:clamp(20px,4vw,32px)}.transport-difference{font-weight:700}#transport-form{display:block}#transport-form .tool-card{margin-bottom:20px}#transport-form label{display:flex;flex-direction:column;margin:14px 0;gap:6px}#transport-form input,#transport-form textarea{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #bfbba8;border-radius:8px;font:inherit}

.transport-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}.transport-options article{border:1px solid #cfc8b4;border-radius:10px;padding:16px}.transport-options strong{font-size:25px}.transport-options h3{font-size:16px}.transport-options a{overflow-wrap:anywhere}#transport-form .tool-card a{overflow-wrap:anywhere}
