:root{--navy:#14233f;--navy2:#1d3155;--blue:#587cb7;--gold:#e9bd63;--paper:#f4f6fa;--ink:#17223a;--muted:#718096;--line:#e1e6ef;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:24px}.top{background:var(--navy);color:white;padding:18px max(18px,calc((100vw - 900px)/2));display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:5;box-shadow:0 5px 18px #14233f24}.brand-mark{width:42px;height:42px;border:1px solid #ffffff60;border-radius:13px;display:grid;place-items:center;color:var(--gold);font-size:25px}.brand{font-size:15px;letter-spacing:1.5px;font-weight:800}.sub{font-size:9px;letter-spacing:2px;color:#bdcbe1;margin-top:3px}.icon-btn{margin-left:auto;border:0;background:#ffffff18;color:inherit;border-radius:10px;padding:9px 12px;font-size:18px}main{max-width:900px;margin:auto;padding:18px 14px}.event-head{background:linear-gradient(135deg,var(--navy),#304c79);color:white;border-radius:22px;padding:22px 18px;margin-bottom:16px;box-shadow:0 10px 25px #14233f20}.event-kicker,.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:800;margin:0 0 8px}.event-title{width:100%;font-size:clamp(19px,4vw,27px);font-weight:800;color:white;background:transparent;border:0;padding:0;outline:none}.event-meta{display:flex;align-items:center;gap:12px;margin:12px 0 15px;font-size:12px;color:#c5d3e9}.event-meta input{width:55%;max-width:200px;background:#ffffff14;border:1px solid #ffffff30;color:white;border-radius:8px;padding:8px}.url-label{font-size:11px;color:#d5dfef}.url-label input{display:block;width:100%;margin-top:5px}.event-head input:not(.event-title){border-radius:9px;padding:10px;border:1px solid #ffffff35;background:#ffffff12;color:white;min-width:0}.event-head input::placeholder{color:#bac6d8}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.primary,.secondary{border:0;border-radius:11px;padding:11px 14px;font-weight:750;cursor:pointer}.primary{background:var(--gold);color:#202943}.secondary{background:#ffffff18;border:1px solid #ffffff45;color:inherit}.event-head .secondary{font-size:12px}.tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;background:white;padding:7px;border-radius:16px;box-shadow:0 3px 15px #14233f0b;margin-bottom:19px;position:sticky;top:77px;z-index:4}.tab{border:0;background:transparent;border-radius:11px;padding:8px 2px;color:#718096;font-size:22px;display:flex;flex-direction:column;align-items:center;gap:3px}.tab span{font-size:10px;font-weight:700}.tab.active{background:var(--navy);color:white}.view{animation:fade .18s ease}@keyframes fade{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 2px 15px}.section-title h2{margin:0;font-size:22px}.section-title .eyebrow{color:var(--blue)}.pill{border-radius:99px;background:#e6edf8;color:#31517e;font-size:10px;font-weight:800;padding:7px 10px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.quick-card{background:white;border:1px solid var(--line);border-radius:16px;text-align:left;padding:17px 14px;display:flex;flex-direction:column;gap:6px;color:var(--ink);cursor:pointer;min-height:130px}.quick-card b{font-size:25px;color:var(--blue)}.quick-card strong{font-size:14px}.quick-card small{color:var(--muted);font-size:11px}.panel{background:white;border:1px solid var(--line);border-radius:17px;padding:16px;margin:12px 0}.panel h3{margin:0 0 12px;font-size:15px}.muted,.hint{color:var(--muted);font-size:12px;line-height:1.65}.small{font-size:11px}input,textarea,select{font:inherit;border:1px solid #dbe2ed;border-radius:10px;padding:11px;background:#fbfcfe;color:var(--ink);width:100%;min-width:0}textarea{resize:vertical}label{display:block;font-size:12px;font-weight:700;margin:12px 0}label input{margin-top:6px}.auth-panel{max-width:460px;margin:30px auto;padding:24px}.auth-panel h2{margin-top:0}.auth-panel .primary,.auth-panel .secondary{flex:1}.auth-panel .secondary{background:var(--navy);color:white}.day-switch{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 10px;margin-bottom:8px}.day-btn{flex:0 0 auto;border:1px solid var(--line);background:white;border-radius:99px;padding:9px 15px;color:var(--muted);font-size:12px;font-weight:750}.day-btn.active{background:var(--navy);border-color:var(--navy);color:white}.item-list{display:flex;flex-direction:column;gap:9px}.item-card{background:white;border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;align-items:center;gap:10px;min-width:0}.item-main{flex:1;min-width:0}.item-main strong{display:block;font-size:14px;overflow-wrap:anywhere}.item-main small{display:block;color:var(--muted);font-size:11px;margin-top:4px;overflow-wrap:anywhere}.item-actions{display:flex;gap:5px;align-items:center}.mini-btn{border:1px solid var(--line);background:#f7f9fc;border-radius:9px;padding:7px 9px;color:var(--navy);font-weight:700}.star{font-size:21px;border:0;background:transparent;color:#c0c8d6}.star.on{color:#d89a23}.check{width:21px;height:21px;accent-color:var(--navy)}.done strong{text-decoration:line-through;color:#8b97a8}.add-form{display:flex;gap:8px;margin:8px 0 15px}.add-form input{flex:1}.stack-form{display:flex;flex-direction:column;gap:8px}.stack-form button{align-self:flex-start}.map-frame{border-radius:16px;overflow:hidden;height:290px;border:1px solid var(--line);background:white;margin-top:14px}.map-frame iframe{width:100%;height:100%;border:0}.text-btn{border:0;background:transparent;color:#6b7890;padding:12px 0;font-size:12px;text-decoration:underline}.hint{margin:12px 4px}.modal{position:fixed;inset:0;background:#101a2e99;z-index:20;display:grid;place-items:center;padding:16px}.modal-card{background:white;border-radius:20px;padding:20px;width:min(100%,480px);max-height:90vh;overflow:auto}.modal-top{display:flex;align-items:center;justify-content:space-between}.modal-top h3{margin:0}.modal-top .icon-btn{background:#eef1f6;color:var(--ink);margin:0}.modal-card label{margin:12px 0}.modal-card .primary{margin-top:10px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--navy);color:white;border-radius:99px;padding:11px 18px;font-size:12px;z-index:30;transition:.2s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}footer{text-align:center;color:#7f8ba0;font-size:10px;letter-spacing:2px;padding:20px}footer span{display:block;font-size:8px;margin-top:5px;color:#a3adbb}[hidden]{display:none!important}@media(min-width:700px){main{padding:24px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-card{min-height:145px}.event-head{padding:28px}.tabs{top:82px}.item-card{padding:15px 17px}}

.interactive-map{height:430px;width:100%;border-radius:16px;border:1px solid var(--line);z-index:1;background:#e7edf1}.map-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.fes-pin-wrap{background:transparent;border:0}.fes-pin{display:grid;place-items:center;width:38px;height:38px;border:3px solid white;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);background:var(--pin-color);box-shadow:0 3px 8px #0005;color:white;font-size:23px;font-weight:bold}.fes-pin::first-letter{transform:rotate(45deg)}.pin-list-icon{font-size:25px}.item-actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:480px){.interactive-map{height:350px}}

/* KAMIGATA-inspired original festival theme — all existing functionality remains */
:root{--navy:#241c55;--navy2:#38266c;--blue:#7a49bf;--gold:#ffd76d;--paper:#fff9f1;--ink:#302349;--muted:#796d86;--line:#e9dcf1;--white:#fff}
body{background:radial-gradient(ellipse at 10% 3%,#ffe7ef 0,transparent 37%),radial-gradient(ellipse at 94% 15%,#e9e1ff 0,transparent 35%),#fff9f1}
.top{background:linear-gradient(110deg,#251a57 0%,#51318a 52%,#b54b91 100%);box-shadow:0 5px 20px #4d27792a}
.brand-mark{background:linear-gradient(145deg,#ffe27a,#ff8cb3);color:#392060;border:2px solid #fff6;font-size:27px;box-shadow:0 2px 12px #ffbb6580}
.brand{font-size:16px;letter-spacing:1.1px}.sub{color:#ffe4aa;letter-spacing:1.5px}
.event-head{position:relative;overflow:hidden;background:linear-gradient(115deg,#29205e,#65359c 58%,#cf5992);box-shadow:0 10px 25px #623f862b;border:1px solid #ffffff4a}
.event-head:before{content:'✦';position:absolute;right:15px;top:2px;font-size:94px;color:#ffffff1c;pointer-events:none}.event-head:after{content:'✧  ✦  ✧';position:absolute;right:20px;bottom:10px;color:#ffe38d75;letter-spacing:12px;pointer-events:none}
.event-kicker{color:#ffdd7b;font-size:11px}.event-title{position:relative;z-index:1;text-shadow:0 2px 8px #241c5544}
.tabs{border:1px solid #eedff1;box-shadow:0 5px 16px #5b338510}.tab.active{background:linear-gradient(140deg,#59309b,#a8499c);box-shadow:0 4px 12px #8b4ca638}
.section-title .eyebrow{color:#a448a0}.section-title h2{color:#342157}.pill{background:#f5e5ff;color:#773a9c}
.quick-card{background:linear-gradient(160deg,#fff,#fff9fc);border:1px solid #ebdcef;box-shadow:0 3px 12px #6e41800a;transition:transform .15s}.quick-card:active{transform:scale(.98)}
.quick-card:nth-child(1) b{color:#c55098}.quick-card:nth-child(2) b{color:#4e9c88}.quick-card:nth-child(3) b{color:#ef994c}.quick-card:nth-child(4) b{color:#7555c4}
.panel,.item-card{border-color:#eadff0;box-shadow:0 2px 8px #5e3b7909}.primary{background:linear-gradient(125deg,#ffdf79,#ffc26c);color:#382553;box-shadow:0 3px 9px #c78e3a25}
.day-btn.active{background:#673c9b;border-color:#673c9b}.star.on{color:#e6a833}.check{accent-color:#8547a9}
.interactive-map{border:2px solid #e9d6f0;box-shadow:0 3px 16px #61408018}.modal{background:#261844a8}.modal-card{border:2px solid #f1ddeb}.toast{background:#392464}
footer{color:#7b4b97}footer span{color:#b178a5}
@media(max-width:480px){.brand{font-size:13px}.sub{font-size:8px}.event-head{padding:21px 15px}.tab{font-size:20px}}

/* KAMIGATA artist home */
.fes-hero{margin:4px 0 26px;padding:14px;border-radius:24px;background:#061738;color:#fff;border:2px solid #f8d750;box-shadow:0 10px 25px #0b1c4b23}
.fes-hero-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:800;letter-spacing:.1em;padding:5px 7px 13px;color:#f8df64}
.fes-hero-top span{color:#fff;letter-spacing:0}
.fes-hero-img{display:block;width:100%;max-height:480px;object-fit:contain;background:linear-gradient(140deg,#ffd5e6,#ffedb6);border-radius:17px}
.fes-hero-fallback{text-align:center;padding:55px 12px;border-radius:17px;background:linear-gradient(125deg,#ffb4d5,#f9d567,#94d7f7);font-size:clamp(23px,5vw,46px);font-weight:1000;color:#07214c;line-height:1.25}
.fes-hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 6px 3px;flex-wrap:wrap}.fes-hero-bottom strong{font-size:19px}.fes-hero-bottom a{color:#fff;text-decoration:none;background:#dd4c85;padding:9px 15px;border-radius:30px;font-weight:700}
.artist-section{background:#041736;color:#f7f8ff;border-radius:25px;padding:clamp(15px,3vw,27px);margin:0 0 28px}
.artist-heading{text-align:center;margin:0 0 20px}.artist-heading>span{font-weight:900;color:#f7db5c;letter-spacing:.17em;font-size:13px}.artist-heading h2{font-size:clamp(23px,4vw,32px);margin:8px 0}.artist-heading p{font-size:13px;color:#cbd4e5}
.artist-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.artist-card{display:block;min-width:0;background:#0d2650;border:1px solid #3c5681;border-radius:18px;padding:12px;color:#fff;text-decoration:none;overflow:hidden}.artist-card h3{font-size:clamp(16px,2.5vw,22px);margin:3px 0 12px}.artist-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#263b5d;display:block}.artist-card span{display:block;font-size:12px;color:#e5d486;margin-top:10px}.artist-note{font-size:12px;color:#c3ccdc;line-height:1.6;margin:17px 2px 0}
@media(max-width:600px){.artist-gallery{grid-template-columns:1fr}.artist-card{padding:13px}.artist-card img{aspect-ratio:1.5}.fes-hero{padding:10px}}

/* マップのマーク色カスタマイズ */
.pin-color-field{margin:14px 0 18px}.pin-color-field>strong{display:block;margin-bottom:10px}.pin-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:13px}.pin-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;font-size:12px}.pin-swatch input{position:absolute;opacity:0;width:1px;height:1px}.pin-swatch span{display:block;width:34px;height:34px;background:var(--swatch);border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #9da8b8}.pin-swatch input:checked+span{box-shadow:0 0 0 3px #213d70,0 0 0 5px #fff}.pin-swatch input:focus-visible+span{outline:3px solid #e9b842;outline-offset:4px}.pin-swatch small{font-size:11px}.pin-custom-label{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.pin-custom-label input[type=color]{width:66px!important;height:42px!important;padding:3px!important;cursor:pointer}@media(max-width:420px){.pin-palette{gap:5px}.pin-swatch span{width:30px;height:30px}}
