:root{color-scheme:light;--pink:#db5088;--bg:#fff7fa;--ink:#312630;--line:#efdce6;--muted:#746973}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;color:var(--ink);line-height:1.7}.wrap{max-width:800px;margin:auto;padding:0 22px}.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;height:76px}.logo{font-weight:850;color:var(--pink);text-decoration:none;font-size:1.27rem}.pill,.eyebrow{color:#9e4071;font-size:.8rem;font-weight:700;background:#ffe9f2;border-radius:20px;padding:6px 11px}.hero{padding:40px 0 28px}.hero h1{font-size:clamp(2.2rem,6vw,3.7rem);line-height:1.26;letter-spacing:-.045em;margin:22px 0 14px}.hero em{font-style:normal;color:var(--pink)}.hero p{color:var(--muted)}.panel{border:1px solid var(--line);background:#fff;border-radius:22px;padding:27px;margin:14px 0 28px;box-shadow:0 15px 40px #b4578510}h2{font-size:1.25rem;margin:0}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.sub,.muted,.small{color:var(--muted);font-size:.79rem}.small{align-items:start}.small p{margin:4px 0}.drop{border:2px dashed #edb1cb;background:#fff8fb;border-radius:17px;padding:35px 12px;margin:17px 0;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;color:#a23264;font-weight:750}.drop span{font-size:.78rem;color:var(--muted);font-weight:400}.title{font-weight:750}.top{margin-top:26px}textarea{width:100%;padding:13px;border:1px solid #e6ccd8;border-radius:12px;font:inherit;resize:vertical;margin-top:9px}button{border:0;background:var(--pink);color:white;border-radius:12px;padding:14px 16px;font:inherit;font-weight:750;cursor:pointer;width:100%;margin-top:15px}button:disabled{opacity:.55;cursor:wait}.secondary{background:#fff;color:var(--pink);border:1px solid #edb1cb}.note{border-top:1px solid var(--line);padding-top:15px}.previews{display:flex;flex-wrap:wrap;gap:8px}.previews img{height:94px;max-width:100px;object-fit:cover;border:1px solid var(--line);border-radius:8px}.result h3{margin-bottom:4px;font-size:1rem}.result p{margin-top:4px}.score{display:flex;align-items:baseline;gap:15px}.score strong{font-size:3.3rem;color:var(--pink)}.score span{font-weight:700}.bar{height:9px;border-radius:20px;background:#f2e9ee;overflow:hidden}.bar div{height:100%;width:0%;background:var(--pink);border-radius:20px}footer{display:flex;gap:20px;flex-wrap:wrap;padding-bottom:40px;color:var(--muted);font-size:.8rem}footer a{color:var(--muted)}.legal{padding-bottom:50px}.legal h1{font-size:1.8rem}.legal p{margin-bottom:18px}@media(max-width:540px){.pill{display:none}.panel{padding:19px}.hero{padding-top:23px}.row{align-items:start}.sub{text-align:right}}

.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.fields label{display:block;margin:0 0 8px}select{width:100%;border:1px solid #e8ceda;border-radius:12px;background:#fff;color:#372630;padding:12px;font:inherit}select:focus{outline:2px solid #e65a93;outline-offset:1px}.top{margin-top:22px;margin-bottom:12px}@media(max-width:580px){.fields{grid-template-columns:1fr}}

.history-items{display:grid;gap:10px;margin:16px 0}.history-entry{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid #ecd7e1;border-radius:12px;padding:12px;background:#fff}.history-entry button{font:inherit;border-radius:9px;padding:8px 10px}.history-main{flex:1;text-align:left;background:none;border:0;cursor:pointer;color:inherit}.history-main strong,.history-main small{display:block}.history-main small{color:#796b73;margin-top:3px}.history-delete{background:#fff;border:1px solid #e9d5de;color:#804c64;cursor:pointer}

.special-panel { margin: 22px 0; padding: 20px; border: 1px solid #e5b6ba; border-radius: 16px; text-align: center; background: #fff8f8; }
.special-panel h3 { margin-top: 0; line-height: 1.6; }
.special-panel p { line-height: 1.65; }
.special-panel a { color: #9f2444; overflow-wrap: anywhere; }

.date-panel{padding:20px 0;margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.date-panel input{width:100%;padding:12px;border:1px solid #e8ceda;border-radius:12px;font:inherit}.spot-list{display:grid;gap:12px;margin-top:12px}.spot-item{background:#fff8fb;border:1px solid #f0d7e1;padding:14px;border-radius:12px}.spot-item p{margin:6px 0}.spot-item a{color:#9f2444}
