:root{--ink:#26322d;--cream:#f5f0e6;--paper:#fffdf9;--green:#365a4a;--coral:#e97861;--line:#ded8cd}*{box-sizing:border-box}html{background:#ded9cf}body{margin:0;color:var(--ink);background:linear-gradient(135deg,#d9d4c9,#f1eee7);font-family:Arial,"Noto Sans JP",sans-serif}.app{width:min(100%,480px);min-height:100vh;margin:auto;background:var(--paper);padding-bottom:84px;position:relative;overflow:hidden;box-shadow:0 0 40px #27342d20}button,input{font:inherit;color:inherit}button{cursor:pointer}header{height:78px;display:flex;align-items:center;gap:11px;padding:14px 20px}.logo{width:38px;height:38px;border:1.5px solid var(--green);border-radius:50%;display:grid;place-items:center;font:italic 20px Georgia}header small,.eyebrow{color:#7f897f;font-size:9px;font-weight:750;letter-spacing:.2em}header h1{font-size:16px;margin:2px 0}.avatar{margin-left:auto;border:0;width:36px;height:36px;border-radius:50%;background:#e7b98d}.hero{margin:0 14px;min-height:204px;padding:30px 24px;color:white;display:flex;align-items:flex-end;justify-content:space-between;border-radius:4px 4px 22px 4px;background:radial-gradient(circle at 82% 30%,#ed9676 0 12%,transparent 12.5%),linear-gradient(135deg,#315949 0 57%,#d87862 57%)}.hero>div>span{font-size:10px;border:1px solid #ffffff40;background:#ffffff18;padding:6px 10px;border-radius:20px}.hero h2{font:29px/1.25 Georgia,"Yu Mincho",serif;letter-spacing:.06em;margin:16px 0 0}.hero p{font-size:11px;letter-spacing:.12em;color:#ffffffcc}.count{text-align:center}.count b{display:block;font:44px Georgia}.count small{text-transform:uppercase;font-size:8px}.page{display:none}.page.active{display:block}.days{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:18px}.days button{border:0;background:transparent;border-radius:14px;min-height:70px;display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap}.days small{width:100%;font-size:9px;color:#8a918b}.days b{font:23px Georgia}.days span{font-size:10px}.days .on{background:var(--green);color:white}.days .on small{color:#dfe8e2}.content{padding:24px 20px}.content h3{font:700 22px/1.3 Georgia,"Yu Mincho",serif;margin:6px 0 20px}.title{display:flex;justify-content:space-between;align-items:center}.title>button{border:0;background:var(--coral);color:white;width:38px;height:38px;border-radius:50%;font-size:22px}.title>button,.title>h3{margin-top:5px}.title>b{width:50px;height:50px;border:4px solid #e3ddd3;border-top-color:var(--coral);border-radius:50%;display:grid;place-items:center;font-size:11px}.switch{display:grid;grid-template-columns:1fr 1fr;background:#efebe4;padding:4px;border-radius:10px;margin:4px 0 22px}.switch button{border:0;background:transparent;padding:9px;border-radius:8px;font-size:12px;font-weight:bold}.switch .on{background:white;color:var(--green);box-shadow:0 2px 8px #27342d18}.event{display:grid;grid-template-columns:45px 35px 1fr;gap:8px;min-height:84px;position:relative}.event:after{content:"";position:absolute;left:62px;top:35px;bottom:0;border-left:1px dashed #c7cfc8}.event:last-child:after{display:none}.event time{font:14px Georgia;padding-top:9px}.event>i{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#dce9ed;font-style:normal;z-index:1}.event h4{font-size:14px;margin:5px 0}.event p{font-size:11px;color:#7b827d;margin:0}.checklist{border-top:1px solid var(--line)}.checklist label{display:flex;align-items:center;gap:12px;padding:15px 4px;border-bottom:1px solid var(--line);font-size:13px}.checklist input{width:21px;height:21px;accent-color:var(--green)}#addform{display:flex;gap:8px;margin-top:20px}input{border:1px solid var(--line);border-radius:10px;padding:12px;width:100%;min-width:0;background:white}#addform button,#hotelform button,.upload{border:0;background:var(--green);color:white;padding:0 18px;border-radius:10px;font-size:12px;font-weight:bold}.ticket{background:var(--green);color:white;border-radius:16px;padding:22px;margin:20px 0}.ticket>div{display:flex;justify-content:space-between;align-items:center;text-align:center}.ticket span{display:grid}.ticket small{font-size:8px;color:#cbd8d1}.ticket b{font:32px Georgia}.ticket em{font-size:12px;font-style:normal}.ticket footer{display:flex;justify-content:space-between;border-top:1px dashed #ffffff66;margin-top:18px;padding-top:14px;font-size:10px}.qrbox{min-height:220px;border:1px dashed #bfc5bf;background:#f5f2eb;border-radius:16px;display:grid;place-items:center;text-align:center;color:#858d87;padding:14px}.qrbox b{font-size:58px}.qrbox p{font-size:12px;line-height:1.6}.qrbox img{max-width:100%;max-height:300px;border-radius:8px}.upload{height:48px;display:flex;align-items:center;justify-content:center;margin-top:14px}.upload input{display:none}.delete{border:0;background:transparent;color:#a05d50;font-size:11px;display:block;margin:12px auto}.hotelpic{height:150px;background:linear-gradient(145deg,#d97861,#e9a17d);color:white;border-radius:16px;margin:20px 0;display:flex;align-items:flex-end;gap:15px;padding:22px}.hotelpic>b{font-size:38px}.hotelpic div{display:grid}.hotelpic strong{font:20px Georgia;margin-top:4px}#hotelform{display:grid;gap:12px}#hotelform label{display:grid;gap:5px;color:#777f79;font-size:10px;font-weight:bold}#hotelform>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}#hotelform button{height:48px;margin-top:6px}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);height:72px;background:#fffdfaed;backdrop-filter:blur(12px);border-top:1px solid #e2ddd4;display:grid;grid-template-columns:repeat(4,1fr)}nav button{border:0;background:transparent;color:#8a908c;font-size:9px;font-weight:bold;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}nav button b{font-size:21px}nav .on{color:var(--green)}#toast{display:none;position:fixed;top:18px;left:50%;transform:translateX(-50%);background:#26322d;color:white;border-radius:99px;padding:11px 17px;font-size:11px;z-index:9}@media(min-width:700px){.app{margin:24px auto;min-height:calc(100vh - 48px);border-radius:24px}nav{bottom:24px;border-radius:0 0 24px 24px}}
