:root{--indigo:#1d0024}.plan-hero{padding:3.5rem 0 3rem}.plan-hero h1{letter-spacing:0;background:linear-gradient(to right, var(--purple-300), var(--blue-300));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Playfair Display,Georgia,serif;font-size:2.3rem;font-weight:700;line-height:1.15;display:inline-block}.plan-hero .lede{color:#ffffffd1;max-width:760px;margin:.6rem 0 0;font-size:1.02rem}.plan-hero .lede strong{color:#fff}.lang-links a{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem 1rem .45rem .55rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.lang-links a .ico{letter-spacing:.06em;width:26px;height:26px;color:var(--purple-200);background:#ffffff1f;border-radius:999px;place-items:center;font-family:Inter,sans-serif;font-size:.66rem;display:inline-grid}.lang-links a.on{background:linear-gradient(to right, var(--grad-start), var(--grad-end));border-color:#0000}.lang-links a.on .ico{color:#fff;background:#fff3}.lang-links a:hover{border-color:#d8b4fe99;text-decoration:none}.plan-hero .stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.steps-grid{grid-template-columns:minmax(260px,1fr) 2fr;gap:1.25rem;display:grid}.steps-grid .card.span{grid-column:1/-1}@media (width<=860px){.steps-grid{grid-template-columns:1fr}}.card .cat.step{align-items:center;gap:.45rem;display:inline-flex}.card .cat.step .n{background:linear-gradient(to right, var(--grad-start), var(--grad-end));color:#fff;border-radius:999px;place-items:center;width:1.35rem;height:1.35rem;font-family:Playfair Display,Georgia,serif;font-size:.8rem;font-weight:700;display:inline-grid}.card h3.serif{font-family:Playfair Display,Georgia,serif;font-size:1.12rem}.card .sub2{color:var(--slate-600);flex:0;margin:0;font-size:.88rem}.card .hint{color:var(--slate-500);flex:0;margin:.4rem 0 0;font-size:.83rem}.field{gap:.35rem;margin-top:.5rem;display:grid}.field label{color:var(--slate-600);font-size:.82rem;font-weight:600}.field select,.field input[type=date]{font:inherit;border:1px solid var(--slate-200);color:var(--indigo);background:#fff;border-radius:12px;max-width:320px;padding:.6rem .8rem;font-size:1rem}.lang-inline a{border:1px solid var(--slate-200);color:var(--slate-600);background:#fff;border-radius:999px;padding:.35rem .9rem;font-size:.85rem;font-weight:600;text-decoration:none}.lang-inline a.on{background:var(--primary-900);color:#fff;border-color:var(--primary-900)}.proc-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.55rem;display:grid}.proc-grid button{text-align:left;border:1px solid var(--slate-200);font:inherit;cursor:pointer;color:var(--indigo);background:#fff;border-radius:14px;gap:.1rem;padding:.7rem .85rem;display:grid}.proc-grid button small{color:var(--slate-500);letter-spacing:.05em;text-transform:uppercase;font-family:Inter,Pretendard,sans-serif;font-size:.7rem}.proc-grid button b{font-size:.95rem;font-weight:700}.proc-grid button.on{border-color:var(--accent);background:var(--st-good-bg);box-shadow:inset 0 0 0 2px #6c5ce740}.pref-row{flex-wrap:wrap;gap:.5rem;display:flex}.pref-row button{border:1px solid var(--slate-200);color:var(--indigo);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.5rem 1rem;font-size:.92rem;font-weight:600}.pref-row button.on{background:linear-gradient(to right, var(--grad-start), var(--grad-end));color:#fff;border-color:#0000}.plan-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.btn.small{padding:.55rem 1rem;font-size:.88rem}.btn.ghost{color:var(--indigo);border:1px solid var(--slate-200);background:#fff}button.btn{font:inherit;cursor:pointer;border:0}.empty{text-align:center;color:#ffffffbf;border:1px dashed #ffffff40;border-radius:16px;padding:2.4rem 1rem}.empty b{color:#fff;margin-bottom:.3rem;font-size:1.1rem;display:block}.tag{vertical-align:middle;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.12rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.tag.prov{background:var(--st-warning-bg);color:var(--st-warning-text);border-color:var(--st-warning-border)}.tag.clinic{background:var(--st-good-bg);color:var(--st-good-text);border-color:var(--st-good-border)}.tag.l0{background:var(--st-critical-bg);color:var(--st-critical-text);border-color:var(--st-critical-border)}.tag.l1{background:var(--st-warning-bg);color:var(--st-warning-text);border-color:var(--st-warning-border)}.tag.l2{background:var(--st-info-bg);color:var(--st-info-text);border-color:var(--st-info-border)}.tag.l3{background:var(--st-good-bg);color:var(--st-good-text);border-color:var(--st-good-border)}.tag.diet{background:var(--slate-100);color:var(--slate-700)}.stats.dates{grid-template-columns:repeat(3,minmax(0,1fr))}.stats.dates .stat{flex-direction:column;display:flex}.stats.dates .stat .label{color:#ffffffb8;letter-spacing:.02em;order:-1;margin:0 0 .35rem;font-size:.8rem;font-weight:600}.stats.dates .stat b{flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:1.75rem;display:flex}.stats.dates .stat b .wd{color:#ffffffb3;font-family:Pretendard,Inter,sans-serif;font-size:.85rem;font-weight:600}.stats.dates .stat b .txt{color:#fff;font-family:Pretendard,Inter,sans-serif;font-size:1.15rem}.stats.dates .stat .desc{margin-top:.55rem}.stats.dates .tag.clinic{color:var(--purple-200);background:#af90ff2e;border-color:#d8b4fe73}.section.dark .note{color:#ffffffb8;max-width:900px;margin:1.2rem 0 0;font-size:.88rem}.section.dark .note a{color:var(--purple-300)}.card ul.rules{color:var(--slate-700);margin:.2rem 0 0;padding-left:1.15rem;font-size:.92rem}.card ul.rules li{margin-bottom:.4rem}.card.ok{background:var(--st-good-bg);border-color:var(--st-good-border)}.card.warn{background:var(--st-warning-bg);border-color:var(--st-warning-border)}.card.warn h3,.card.warn p{color:var(--st-warning-text)}.card.ok h3,.card.ok p{color:var(--st-good-text)}.card .fine{color:var(--slate-500);flex:0;margin-top:.3rem;font-size:.8rem}.card.warn .fine,.card.ok .fine{color:inherit;opacity:.85}.legend{color:var(--slate-600);flex-wrap:wrap;gap:.5rem 1.2rem;margin:0 0 1.25rem;font-size:.85rem;display:flex}.legend span{align-items:center;gap:.35rem;display:inline-flex}.timeline{gap:1.1rem;display:grid}.day{border:1px solid var(--slate-100);box-shadow:var(--shadow);background:#fff;border-radius:16px;grid-template-columns:160px 1fr;align-items:start;gap:.6rem 1.2rem;padding:1rem 1.2rem;display:grid}.day.mark{border-color:var(--st-good-border);background:#fbfaff}.day .d{gap:.1rem;display:grid}.day .d b{color:var(--primary-900);font-family:Playfair Display,Georgia,serif;font-size:1rem;font-weight:700}.day .d span{color:var(--slate-500);font-size:.78rem}.day .d .ev{color:var(--grad-start);font-size:.78rem;font-weight:700}.day .body{gap:.45rem;display:grid}.day .tags{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.day .tags .desc{color:var(--slate-600);font-size:.85rem}.day .picks{flex-wrap:wrap;gap:.4rem;display:flex}.day .picks a,.day .picks span.pick{border:1px solid var(--slate-200);color:var(--indigo);background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.85rem;display:inline-flex}.day .picks a:hover{border-color:var(--accent);text-decoration:none}.day .picks small{color:var(--slate-500);font-size:.72rem}.day .rest{color:var(--slate-500);font-size:.88rem}@media (width<=640px){.day{grid-template-columns:1fr}}.fest-card{padding:0;overflow:hidden}.fest-card img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.fest-card .cat,.fest-card h3,.fest-card p{margin-left:1.5rem;margin-right:1.5rem}.fest-card .cat{margin-top:1.2rem}.fest-card>p:last-child{margin-bottom:1.3rem}.day .picks a.fest{border-color:var(--st-good-border);background:var(--st-good-bg)}.hotel-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem;display:grid}.hotel-grid .card small{color:var(--slate-500);font-size:.78rem}.hotel-grid .card .links{flex-wrap:wrap;gap:.7rem;font-size:.85rem;font-weight:600;display:flex}.book-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.book-row .card .plan-actions{margin-top:.4rem}.section.dark .disclosure{color:#fff9;border-top-color:#ffffff1f}.section.dark .disclosure a,.section.dark .sources-list a{color:var(--purple-300)}.section.dark .sources-list{color:#ffffffb3;margin:.3rem 0 0;font-size:.85rem}.toast{background:var(--primary-900);color:#fff;opacity:0;pointer-events:none;z-index:20;border-radius:999px;padding:.6rem 1.1rem;font-size:.9rem;transition:opacity .2s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.plan-entry{box-shadow:var(--shadow);background:linear-gradient(90deg,#fff3eb,#e4cfff,#f5f9ff);border-radius:16px;gap:.4rem;margin:2rem 0;padding:1.3rem 1.5rem;display:grid}.plan-entry h2{color:var(--indigo);margin:0;font-size:1.1rem}.plan-entry p{color:var(--slate-700);margin:0;font-size:.95rem}.plan-entry .btn{justify-self:start;margin-top:.4rem}@media (width<=900px){.plan-hero .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.plan-hero h1{font-size:1.9rem}.plan-hero .lede{font-size:.95rem}.plan-hero .stats,.stats.dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.plan-hero .stat,.stats.dates .stat{padding:1.2rem}.plan-hero .stat b{font-size:1.8rem}.plan-hero .stat .label{font-size:.9rem}.plan-hero .stat .desc{font-size:.78rem}.stats.dates .stat b{font-size:1.35rem}.stats.dates .stat .desc{font-size:.78rem}.field select,.field input[type=date]{width:100%;max-width:none;font-size:16px}.proc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day{gap:.5rem}.day .d{flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;display:flex}.day .picks a,.day .picks span.pick{padding:.3rem .65rem;font-size:.82rem}.book-row,.hotel-grid{grid-template-columns:1fr}.plan-result-pad{padding-bottom:4.5rem}}.sticky-bar{display:none}@media (width<=720px){.sticky-bar{z-index:15;background:var(--primary-900);color:#fff;border-radius:999px;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .6rem .55rem 1rem;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:.9rem;left:.8rem;right:4.2rem;box-shadow:0 10px 28px #02134159}.sticky-bar[hidden]{display:none}.sticky-bar .s{min-width:0;line-height:1.2;display:grid}.sticky-bar .s b{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-family:Playfair Display,Georgia,serif;font-size:.95rem;overflow:hidden}.sticky-bar .s small{color:var(--purple-200);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.sticky-bar button{background:linear-gradient(to right, var(--grad-start), #6c5ce7);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;padding:.5rem .9rem;font-size:.82rem;font-weight:700}}@media print{.site-header,.backbar-wrap,.totop,.site-footer,.sample-banner,.draft-badge,.plan-input,.plan-actions,.toast,.lang-links,.sticky-bar{display:none!important}.section{padding:1rem 0!important}.section.dark,.section.tint{color:var(--primary-900);background:#fff!important}.section.dark .sec-head h2,.plan-hero h1{-webkit-text-fill-color:var(--primary-900);background:0 0}.stat{border:1px solid var(--slate-200);background:#fff}.stat b{color:var(--primary-900)}.stat .label,.stat .desc{color:var(--slate-700)}.card,.day{box-shadow:none;break-inside:avoid}}
