:root{
  --sky:#55CDE0;--sky-deep:#2FB3CB;--sky-pale:#E6F7FA;--orange:#FF7A45;--ink:#2B3A40;--line:#CFE7EC;--bg:#F3FAFB;
}
*{box-sizing:border-box;margin:0}
body{font-family:"Zen Maru Gothic",sans-serif;color:var(--ink);background:var(--bg);padding-bottom:110px;
     -webkit-text-size-adjust:100%}
button,input,textarea{font:inherit;color:inherit}

.top{background:var(--sky);color:#fff;padding:22px 16px 20px;text-align:center}
.top h1{font-family:"M PLUS Rounded 1c";font-weight:800;font-size:26px;letter-spacing:.08em}
.top p{font-size:14px;margin-top:6px;line-height:1.6}

#slides{max-width:1100px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:20px}
.card{background:#fff;border-radius:20px;box-shadow:0 4px 16px rgba(0,80,100,.08);padding:16px;
      display:grid;gap:16px}
@media (min-width:900px){
  .card{grid-template-columns:minmax(0,1fr) 400px;padding:22px;gap:26px;align-items:start}
  .card .view{position:sticky;top:16px}
}
@media (min-width:900px){.card h2{grid-column:1/-1}}
.card h2{flex-wrap:wrap;white-space:nowrap;font-family:"M PLUS Rounded 1c";font-weight:800;color:var(--sky-deep);font-size:20px;letter-spacing:.06em;
         display:flex;align-items:center;justify-content:space-between;gap:8px}
.card h2 .num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
              background:var(--sky);color:#fff;font-size:18px;margin-right:8px}

.view canvas{width:100%;height:auto;display:block;border-radius:10px;background:#eee;
             box-shadow:0 0 0 1px var(--line);touch-action:pan-y}
.view canvas.moving{box-shadow:0 0 0 4px var(--orange);touch-action:none;cursor:grab}
.view canvas.has-photo{cursor:grab}
.warn{color:#D9480F;font-size:14px;font-weight:700;margin-top:8px;line-height:1.5}
.warn:empty{display:none}

.photo-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.photo-tools .zoom{display:flex;align-items:center;gap:8px;flex:1 1 180px;font-size:14px}
.photo-tools .zoom input{flex:1;accent-color:var(--sky-deep)}
.photo-tools[data-empty] .needs-photo{display:none}
.hint{font-size:13px;color:#6B8189;margin-top:6px;line-height:1.5}

.fields{display:flex;flex-direction:column;gap:14px}
.field label{display:block;font-weight:700;font-size:15px;margin-bottom:5px}
.field label small{font-weight:500;color:#6B8189;font-size:12px;margin-left:6px}
.field input,.field textarea{width:100%;border:2px solid var(--line);border-radius:10px;padding:10px 12px;
     font-size:16px;line-height:1.5;background:#fff}
.field textarea{resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sky)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.btn{border:0;border-radius:999px;padding:11px 20px;font-weight:700;cursor:pointer;font-size:15px;
     display:inline-flex;align-items:center;gap:6px;justify-content:center}
.btn.main{background:var(--orange);color:#fff;font-size:17px;padding:14px 28px;font-weight:900;letter-spacing:.06em}
.btn.sky{background:var(--sky);color:#fff}
.btn.line{background:#fff;color:var(--sky-deep);box-shadow:inset 0 0 0 2px var(--sky)}
.btn.ghost{background:#fff;color:var(--sky-deep);box-shadow:inset 0 0 0 2px var(--sky);font-size:16px;padding:14px 26px}
.btn.small{background:transparent;color:#6B8189;font-size:13px;padding:8px 10px;text-decoration:underline}
.btn.del{background:transparent;color:#B0353A;font-size:13px;padding:6px 8px;font-family:"Zen Maru Gothic"}
.btn.on{background:var(--orange);color:#fff;box-shadow:none}
.file{position:relative;overflow:hidden}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer}

.add-wrap{text-align:center;padding:4px 16px 20px}
.bar{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid var(--line);
     padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:12px;
     backdrop-filter:blur(6px);z-index:5}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;
       border-radius:999px;font-size:14px;z-index:6;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1}
