:root{--ivory:#f7f5f1;--paper:#fff;--sand:#f1ece4;--line:#e8e1d7;--ink:#26211d;--ink-soft:#776b61;--gold:#b8955a;--gold-soft:#efe5d2;--terracotta:#b9735e;--terracotta-dark:#9c5c48;--night:#15110e;--warn-bg:#fbf3e8;--warn-ink:#8a4b1f;--accent:#9b7b45;--accent-dark:#7e6236;--accent-soft:#f3ebdc;--accent-line:#d9c49c;--radius:18px;--shadow:0 1px 2px #26211d0a, 0 6px 20px #26211d0d;--serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;--sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--ivory);margin:0}body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-size:16px;line-height:1.7}button,input,select,textarea{font:inherit;color:inherit}.app{background:var(--ivory);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.demo-band{z-index:20;background:var(--ink);color:var(--ivory);letter-spacing:.04em;text-align:center;padding:6px 12px;padding-top:calc(6px + env(safe-area-inset-top));white-space:nowrap;text-overflow:ellipsis;font-size:12px;position:sticky;top:0;overflow:hidden}.topbar{align-items:center;gap:8px;min-height:56px;padding:8px 12px;display:flex}.topbar h1{font-family:var(--serif);text-align:center;letter-spacing:.06em;flex:1;margin:0;font-size:18px;font-weight:600}.topbar .spacer{width:72px}.steps{justify-content:center;gap:6px;padding:0 16px 8px;display:flex}.steps span{background:var(--line);border-radius:2px;width:22px;height:3px}main.content{flex:1;padding:8px 16px 120px}.bottombar{z-index:10;background:linear-gradient(to top, var(--ivory) 70%, #f7f2ea00);padding:16px 16px calc(16px + env(safe-area-inset-bottom));position:sticky;bottom:0}h2{font-family:var(--serif);letter-spacing:.04em;margin:24px 0 8px;font-size:20px;font-weight:600}h3{font-family:var(--serif);margin:0 0 4px;font-size:17px;font-weight:600}p{margin:0 0 8px}.lead{color:var(--ink-soft);font-size:15px}.small{color:var(--ink-soft);font-size:13px}.ornament{background:var(--gold);width:40px;height:1px;margin:12px auto;display:block}.btn{cursor:pointer;letter-spacing:.04em;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:0 20px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--terracotta);color:#fff;width:100%}.btn-primary:not(:disabled):active{background:var(--terracotta-dark)}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn-text{color:var(--ink);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;padding:0 8px;font-size:15px}.btn-small{min-height:44px;padding:0 14px;font-size:14px}.btn-block{width:100%}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1}.stack>*+*{margin-top:12px}.icon-btn{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;display:inline-flex}.icon-btn:disabled{opacity:.3}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card+.card{margin-top:12px}.choice{text-align:left;cursor:pointer;width:100%;display:block;position:relative}.choice .check{border:1.5px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex;position:absolute;top:14px;right:14px}.choice.selected .check{background:var(--gold);border-color:var(--gold);color:#fff}.price{font-family:var(--serif);font-size:24px;font-weight:600}.price small{color:var(--ink-soft);font-size:13px;font-family:var(--sans);font-weight:400}dl.spec{grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0 0;font-size:14px;display:grid}dl.spec dt{color:var(--ink-soft)}dl.spec dd{margin:0}label.field,div.field{margin-top:16px;display:block}label.field>span,div.field>span{margin-bottom:6px;font-size:14px;font-weight:600;display:block}label.field>span em{color:var(--terracotta-dark);margin-left:6px;font-size:12px;font-style:normal}input[type=text],input[type=email],textarea,select{border:1px solid var(--line);background:var(--paper);border-radius:12px;width:100%;min-height:48px;padding:12px 14px;font-size:16px}textarea{resize:vertical;min-height:112px}input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px}input:disabled,textarea:disabled{background:var(--sand);color:var(--ink-soft)}.checkline{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;display:flex}.checkline input{width:22px;height:22px;accent-color:var(--terracotta);flex:none;margin:2px 0 0}.checkline.disabled{opacity:.55;cursor:not-allowed}.toggle-lock{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:999px;min-height:36px;padding:0 12px;font-size:13px}.note{color:var(--ink-soft);background:var(--sand);border-radius:12px;margin:12px 0;padding:10px 12px;font-size:13px}.warn{color:var(--warn-ink);background:var(--warn-bg);border:1px solid #f0d9bf;border-radius:12px;margin:12px 0;padding:10px 12px;font-size:14px}.tag{background:var(--sand);color:var(--ink-soft);border-radius:999px;margin-right:4px;padding:2px 8px;font-size:12px;display:inline-block}.tag.gold{background:var(--gold-soft);color:var(--ink)}.thumbs{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.thumb{border-radius:10px;flex:none;justify-content:flex-start;align-items:flex-end;width:56px;height:56px;display:flex;position:relative;overflow:hidden}.thumb .kind{color:#fff;background:#15110e73;border-top-right-radius:6px;padding:1px 5px;font-size:10px}.thumb .star{color:#fff;text-shadow:0 0 3px #00000080;font-size:13px;position:absolute;top:2px;right:4px}.thumb.selected{outline:3px solid var(--gold);outline-offset:1px}.thumb.dim{opacity:.35}.list-item{align-items:flex-start;gap:12px;display:flex}.list-item .body{flex:1;min-width:0}.list-item .order{flex-direction:column;gap:6px;display:flex}.pnum{font-family:var(--serif);color:var(--terracotta-dark);letter-spacing:.08em;font-size:14px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-title{color:var(--ink-soft);letter-spacing:.04em;border-bottom:1px solid var(--line);margin:16px 0 6px;padding-bottom:4px;font-size:13px;font-weight:600}.radio{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;display:flex}.radio input{width:22px;height:22px;accent-color:var(--terracotta);flex:none;margin:2px 0 0}.radio.disabled{opacity:.5;cursor:not-allowed}.radio .meta{color:var(--ink-soft);font-size:13px}.moods{border-left:1px solid var(--gold-soft);margin-left:34px;padding-left:12px}.moods .radio{min-height:40px;padding:6px 0}.stage{background:var(--night);aspect-ratio:16/9;color:var(--ivory);border-radius:14px;position:relative;overflow:hidden}.stage .frame{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:16px;animation:.8s fadein;display:flex;position:absolute;inset:0}.stage .frame.cut{animation:none}.stage .frame.slow{animation-duration:1.6s}@keyframes fadein{0%{opacity:0}to{opacity:1}}.stage .ctitle{font-family:var(--serif);letter-spacing:.1em;text-shadow:0 1px 6px #00000080;font-size:20px}.stage .ctext{font-family:var(--serif);opacity:.95;text-shadow:0 1px 6px #0009;margin-top:6px;font-size:14px}.stage .watermark{letter-spacing:.1em;opacity:.9;background:#15110e59;border:1px solid #f7f2ea99;border-radius:4px;padding:1px 6px;font-size:11px;position:absolute;top:8px;left:10px}.stage .brand{text-align:center;letter-spacing:.3em;color:var(--gold);opacity:.85;font-size:10px;position:absolute;bottom:10px;left:0;right:0}.progress{background:var(--line);border-radius:2px;height:3px;margin-top:10px;overflow:hidden}.progress>div{background:var(--gold);height:100%;transition:width .3s linear}.summary-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-row .label{width:84px;color:var(--ink-soft);flex:none;padding-top:2px;font-size:13px}.summary-row .value{flex:1;min-width:0;font-size:15px}.price-table{border-collapse:collapse;width:100%;font-size:15px}.price-table td{vertical-align:top;border-bottom:1px solid var(--line);padding:10px 0}.price-table td.amount{text-align:right;white-space:nowrap;padding-left:12px}.price-table tr.total td{font-family:var(--serif);border-bottom:none;font-size:17px;font-weight:600}.hero{background:radial-gradient(120% 80% at 80% 0%, #b8955a59, transparent 60%), radial-gradient(90% 70% at 0% 100%, #b9735e59, transparent 60%), var(--night);color:var(--ivory);text-align:center;border-radius:20px;margin:8px 0 20px;padding:36px 24px 28px}.hero .logo{letter-spacing:.3em;color:var(--gold);font-size:14px}.hero h2{color:var(--ivory);letter-spacing:.08em;margin:12px 0 8px;font-size:26px}.hero p{color:#f7f2eacc;font-size:14px}.sheet-backdrop{z-index:40;background:#15110e73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--ivory);width:100%;max-width:480px;max-height:85dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow:auto}.slot-grid{flex-direction:column;gap:8px;margin-top:12px;display:flex}.slot{text-align:left;width:100%;min-height:52px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;border-left-width:6px;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:6px 10px 6px 12px;display:flex}div.slot{cursor:default}.slot:active{background:var(--sand)}.slot.empty{border:2px dashed var(--line);background:0 0}.slot.outside{border-left-color:var(--warn-ink);background:var(--warn-bg)}.slot-label{min-width:2em;color:var(--ink);flex:none;font-size:16px;font-weight:700}.slot.chapter .slot-label{background:var(--night);color:var(--ivory);border-radius:6px;padding:1px 8px}.slot-status{white-space:nowrap;border:1.5px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:700;display:inline-flex}.slot-status.partial{color:var(--warn-ink)}.slot-status.empty{color:var(--ink-soft)}.slot-status.outside{color:var(--warn-ink)}.slot-main{white-space:nowrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.slot-title{text-overflow:ellipsis;flex:auto;min-width:3em;font-size:16px;font-weight:600;overflow:hidden}.slot-sub{flex:none;align-items:center;gap:4px;display:flex}.slot-sub .thumb{border-radius:6px;flex:none}.slot-more{color:var(--ink-soft);flex:none;font-size:14px;font-weight:600}.slot-sub .slot-meta{margin-left:4px}.slot-meta{color:var(--ink-soft);text-overflow:ellipsis;flex:1 1 0;min-width:0;font-size:15px;overflow:hidden}.slot-add{color:var(--ink-soft);flex-direction:row;font-size:15px;font-weight:600}.slot-marks{flex:none;font-size:16px}.slot-go{color:var(--ink-soft);flex:none;font-size:20px}.slot .icon-btn{flex:none}.slot-progress{gap:3px;margin-top:6px;display:flex}.slot-progress span{background:var(--line);border-radius:3px;flex:1;height:6px}.summary-toggle{border:1px solid var(--line);background:var(--paper);width:100%;min-height:44px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:8px;margin-bottom:8px;padding:0 12px;font-size:15px;display:flex}.summary-toggle .grow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.summary-detail{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin:0 0 8px;padding:10px 12px;font-size:15px}.summary-detail div+div{margin-top:4px}.pager{gap:8px;margin-bottom:8px;display:flex}.pager .btn{background:var(--paper);flex:1;padding:0 10px}div.slot .slot-sub{display:none}.slot-aside{color:var(--ink-soft);flex:none;font-size:15px;font-weight:600}.slot.open{border-color:var(--night);border-bottom-right-radius:0;border-bottom-left-radius:0}.slot-detail{background:var(--paper);border:1px solid var(--night);border-top:none;border-radius:0 0 12px 12px;margin-top:-8px;padding:12px}.thumb-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.thumb .kind,.thumb .star{z-index:1}.media-play{background:var(--night);border-radius:10px;width:100%;max-height:240px;margin-top:8px;display:block}.pick-row{flex-direction:column;gap:8px;display:flex}.pick-btn{position:relative;overflow:hidden}.pick-btn input{opacity:0;cursor:pointer;font-size:0;position:absolute;inset:0}.mat-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mat-tile{cursor:pointer;background:0 0;border:none;border-radius:10px;padding:0;position:relative}.mat-tile .thumb{aspect-ratio:1;width:100%!important;height:auto!important}.mat-no{z-index:1;color:#fff;text-align:center;background:#15110e99;border-radius:10px;min-width:20px;height:20px;font-size:12px;line-height:20px;position:absolute;bottom:22px;left:4px}.mat-detail{margin-top:12px;padding:12px}img.media-play{object-fit:contain}details.more{border-top:1px solid var(--line);margin-top:24px}details.more>summary{cursor:pointer;min-height:48px;color:var(--ink-soft);align-items:center;font-size:15px;display:flex}.pager-row{gap:8px;display:flex}.pager-row .btn-ghost{background:var(--paper);flex:none;width:56px;padding:0;font-size:20px}.pager-row .btn-primary{flex:1}details.music-panel>summary{cursor:pointer;align-items:center;gap:8px;min-height:48px;font-weight:600;list-style:none;display:flex}details.music-panel>summary::-webkit-details-marker{display:none}details.music-panel>summary .small{color:var(--terracotta-dark)}details.music-panel[open]>summary .small{visibility:hidden}img.media-play{background:var(--sand);max-height:200px}details.more>summary{gap:8px;list-style:none}details.more>summary::-webkit-details-marker{display:none}details.more>summary:before{content:"＋";border:1px solid var(--line);border-radius:12px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:inline-flex}details.more[open]>summary:before{content:"－"}.toggle-lock.on{background:var(--gold-soft);color:var(--ink);border-color:var(--gold)}.btn-ghost.btn-on{background:var(--gold-soft);border-color:var(--gold);color:var(--ink)}.slot.open,.slot-detail{border-color:var(--gold)}.edit-compact{padding-top:4px}.page-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;margin:0 -2px 6px;padding:2px 2px 8px;display:flex;overflow-x:auto}.page-strip::-webkit-scrollbar{display:none}.strip-chip{border:1px solid var(--line);background:var(--paper);width:48px;font:inherit;cursor:pointer;border-bottom-width:4px;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:2px;padding:4px 0 3px;display:flex}.strip-chip.empty{background:0 0;border-style:dashed;border-bottom-width:1px}.strip-chip.outside{background:var(--warn-bg)}.strip-chip .thumb{border-radius:6px}.strip-chip .thumb .kind{display:none}.strip-empty{background:var(--sand);border-radius:6px;width:36px;height:36px}.strip-no{font-size:12px;font-weight:700;line-height:1}.pick-row.two{flex-direction:row}.pick-row.two .pick-btn:first-child{flex:2}.pick-row.two .pick-btn:last-child{flex:1}.pick-row.two .btn{min-height:48px;padding:0 10px}.small.tight{margin:4px 0 0;font-size:12px}.label-strong{font-size:15px;font-weight:700}.edit-compact .mat-grid{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:6px}.edit-compact .mat-no{min-width:18px;height:18px;font-size:11px;line-height:18px;top:3px;bottom:auto;left:3px}.edit-compact .thumb .kind{font-size:9px}.edit-compact .mat-detail{margin-top:8px}.edit-compact img.media-play,.edit-compact video.media-play{max-height:150px}.field.compact{margin-top:10px}.field.compact textarea{min-height:64px}.field.compact input[type=text]{min-height:44px;padding:8px 12px}.edit-compact details.more{margin-top:12px}.edit-compact .mat-detail{padding:8px 10px}.edit-compact .mat-detail .truncate{font-size:14px}.theme-picker{gap:6px;margin:4px 0 10px;display:flex}.theme-chip{border:1px solid var(--line);background:var(--paper);min-height:44px;font:inherit;color:var(--ink);cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 6px;font-size:14px;font-weight:600;display:flex}.theme-chip.on{border-color:var(--gold);background:var(--gold-soft)}.theme-swatch{border-radius:50%;flex:none;width:14px;height:14px}.theme-chip.wedding .theme-swatch{background:linear-gradient(135deg,#fbf6ec,#c9a55e);border:1px solid #c9a55e}.theme-chip.memorial .theme-swatch{background:linear-gradient(135deg,#ebe5de,#9a8fa0);border:1px solid #9a8fa0}.theme-chip.birthday .theme-swatch{background:conic-gradient(#f28b6f 0 33%, #7cc3e8 0 66%, #f6cf5b 0)}.stage .cnum{letter-spacing:.25em;font-size:11px}.stage .photos{justify-content:center;gap:8px;margin:6px 0 8px;display:flex}.stage .photo{flex:none;width:104px;height:78px;position:relative;overflow:hidden}.stage .photos.n1 .photo{width:140px;height:92px}.stage .photo video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage .deco{pointer-events:none;z-index:0;position:absolute;inset:0}.stage .frame{z-index:1}.stage .watermark{z-index:2}[data-theme=wedding] .stage{color:#3a2f22;background:radial-gradient(70% 90% at 50% 40%,#fffdf7 0%,#f6eedf 60%,#eadcc0 100%)}[data-theme=wedding] .stage .deco{outline-offset:3px;background:radial-gradient(circle at 18% 22%,#ffecbee6 0 2px,#0000 3px),radial-gradient(circle at 82% 30%,#ffecbee6 0 1.5px,#0000 3px),radial-gradient(circle at 74% 80%,#ffecbecc 0 2px,#0000 3px),radial-gradient(circle at 26% 76%,#ffecbeb3 0 1.5px,#0000 3px);border:1px solid #b8955ab3;outline:1px solid #b8955a59;inset:8px}[data-theme=wedding] .stage .frame{animation-duration:1.4s}[data-theme=wedding] .stage .cnum{color:#9a7a3c;font-family:var(--serif)}[data-theme=wedding] .stage .photo{outline-offset:2px;border:2px solid #fff;outline:1px solid #c9a55e;box-shadow:0 4px 14px #785a2840}[data-theme=wedding] .stage .ctitle{font-family:var(--serif);letter-spacing:.18em;text-shadow:none;color:#3a2f22;font-size:19px}[data-theme=wedding] .stage .ctitle:after{content:"";background:linear-gradient(90deg,#0000,#b8955a,#0000);width:48px;height:1px;margin:6px auto 0;display:block}[data-theme=wedding] .stage .ctext{color:#5b4b36;text-shadow:none;letter-spacing:.08em;font-size:13px}[data-theme=wedding] .stage .brand{color:#9a7a3c}[data-theme=wedding] .stage .watermark{color:#3a2f22;background:#fffdf7cc;border-color:#b8955ab3}[data-theme=wedding] .progress>div{background:#b8955a}[data-theme=memorial] .stage{color:#3f3a40;background:radial-gradient(90% 80% at 50% 45%,#f4efe9 0%,#e7e0d8 70%,#d9d0c8 100%)}[data-theme=memorial] .stage .deco{background:radial-gradient(circle at 50% 14px,#0000 0 5px,#7a6e808c 5px 6px,#0000 6.5px),linear-gradient(90deg,#0000 30%,#7a6e8059 30% 70%,#0000 70%) 0 30px/100% 1px no-repeat,radial-gradient(circle,#7a6e8059 1px,#0000 1.5px) 50% calc(100% - 14px)/10px 3px repeat-x}[data-theme=memorial] .stage .frame{padding:26px 24px 20px;animation-duration:2.2s}[data-theme=memorial] .stage .cnum{color:#7a6e80;font-family:var(--serif);letter-spacing:.35em;font-size:10px}[data-theme=memorial] .stage .photo{filter:saturate(.85);border-radius:12px;box-shadow:0 6px 18px #5046552e}[data-theme=memorial] .stage .photos.n1 .photo{border-radius:50%;width:120px;height:84px}[data-theme=memorial] .stage .ctitle{font-family:var(--serif);letter-spacing:.22em;text-shadow:none;color:#3f3a40;font-size:16px;font-weight:400}[data-theme=memorial] .stage .ctext{color:#6a616d;text-shadow:none;letter-spacing:.1em;font-size:12px;line-height:1.9}[data-theme=memorial] .stage .brand{color:#7a6e80}[data-theme=memorial] .stage .watermark{color:#3f3a40;background:#f4efe9d9;border-color:#7a6e8080}[data-theme=memorial] .progress>div{background:#9a8fa0}[data-theme=birthday] .stage{color:#4a3426;background:radial-gradient(circle at 12% 20%,#f6cf5b 0 4px,#0000 5px),radial-gradient(circle at 88% 16%,#7cc3e8 0 5px,#0000 6px),radial-gradient(circle at 8% 78%,#f28b6f 0 5px,#0000 6px),radial-gradient(circle at 92% 82%,#f6cf5b 0 3px,#0000 4px),radial-gradient(circle at 70% 8%,#f28b6f 0 3px,#0000 4px),radial-gradient(circle at 30% 92%,#7cc3e8 0 3px,#0000 4px),#fff8ee}[data-theme=birthday] .stage .frame{animation:.5s cubic-bezier(.2,1.4,.4,1) popin}[data-theme=birthday] .stage .frame.cut{animation:none}@keyframes popin{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}[data-theme=birthday] .stage .cnum{color:#fff;letter-spacing:.1em;background:#cf5a43;border-radius:999px;padding:1px 10px;font-weight:700}[data-theme=birthday] .stage .photo{background-color:#fff;border:4px solid #fff;border-bottom-width:12px;border-radius:4px;transform:rotate(-4deg);box-shadow:0 4px 10px #4a342633}[data-theme=birthday] .stage .photo:nth-child(3){transform:rotate(-2deg)}[data-theme=birthday] .stage .ctitle,[data-theme=birthday] .stage .ctext{font-family:"Hiragino Maru Gothic ProN", "Hiragino Maru Gothic Pro", "Zen Maru Gothic", var(--sans);text-shadow:none}[data-theme=birthday] .stage .ctitle{letter-spacing:.06em;color:#cf5a43;font-size:19px;font-weight:700}[data-theme=birthday] .stage .ctext{color:#5d4535;font-size:13px}[data-theme=birthday] .stage .brand{color:#cf5a43}[data-theme=birthday] .stage .watermark{color:#4a3426;background:#fff8eed9;border-color:#cf5a4380}[data-theme=birthday] .progress>div{background:#cf5a43}.app[data-theme=wedding]{--accent:#9b7b45;--accent-dark:#7e6236;--accent-soft:#f4ecdd;--accent-line:#dcc8a2;--ivory:#f8f6f1}.app[data-theme=memorial]{--accent:#7a6a70;--accent-dark:#615459;--accent-soft:#f2edec;--accent-line:#d7cbcd;--ivory:#f6f5f3}.app[data-theme=birthday]{--accent:#bc6b56;--accent-dark:#9f5643;--accent-soft:#f7ece7;--accent-line:#e6c6ba;--ivory:#f9f6f2}html,body{background:var(--ivory)}body{letter-spacing:.02em;font-size:15px;line-height:1.75}.app{background:var(--ivory);transition:background .3s}.demo-band{background:var(--ivory);color:var(--ink-soft);letter-spacing:.08em;padding:5px 12px;padding-top:calc(5px + env(safe-area-inset-top));border-bottom:1px solid var(--line);font-size:11px}.topbar{min-height:52px;padding:6px 8px}.topbar h1{letter-spacing:.08em;font-size:17px}.topbar .btn-text{color:var(--ink-soft);font-size:14px;font-weight:500}.steps{gap:4px;padding:0 16px 10px}.steps span{width:18px;height:2px}.steps span.on{background:var(--accent)}h2{letter-spacing:.06em;margin:28px 0 10px;font-size:19px}h3{letter-spacing:.04em;font-size:16px}.lead,.small{color:var(--ink-soft)}.small{font-size:12.5px;line-height:1.7}main.content{padding:8px 20px 128px}.bottombar{padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--ivory) 72%, transparent)}.btn{letter-spacing:.06em;border-radius:14px;min-height:52px;font-size:15px}.btn-primary,.app[data-theme] .btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px -8px var(--accent)}.btn-primary:not(:disabled):active,.app[data-theme] .btn-primary:not(:disabled):active{background:var(--accent-dark)}.btn-primary:disabled{opacity:1;background:var(--accent-line);box-shadow:none}.btn-ghost{background:var(--paper);border-color:var(--line)}.btn-ghost:active{background:var(--sand)}.btn-small{border-radius:12px;min-height:44px;font-size:13.5px}.btn-ghost.btn-on,.toggle-lock.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink)}.toggle-lock{border-radius:10px;min-height:32px;font-size:12.5px}.icon-btn{background:var(--paper);border-color:var(--line);border-radius:12px}.btn-text{font-weight:500}.pager-row .btn-ghost{width:52px;font-size:18px}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}input[type=text],input[type=email],textarea,select{background:var(--paper);border-color:var(--line);border-radius:12px}input:focus,textarea:focus,select:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input:disabled,textarea:disabled{background:var(--sand)}label.field>span,div.field>span{letter-spacing:.06em;color:var(--ink);font-size:13px}label.field>span em{color:var(--accent);font-weight:600}.checkline input,.radio input,.app[data-theme] .radio input,.app[data-theme] .checkline input{accent-color:var(--accent)}.note{background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);border-radius:14px;padding:12px 14px;font-size:12.5px}.warn{border-radius:14px;font-size:13px}.tag.gold{background:var(--accent-soft)}.choice.selected{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow)}.choice.selected .check{background:var(--accent);border-color:var(--accent)}.price{letter-spacing:.02em;font-size:22px}.slot{border-left-width:4px;border-color:var(--line);border-radius:14px;min-height:54px;box-shadow:0 1px 2px #26211d08}.slot.done{border-left-color:#6f9a7a}.slot.partial{border-left-color:#d6a86a}.slot.empty{border:1.5px dashed var(--line);box-shadow:none}.slot.chapter{border-left-color:var(--accent)}.slot.chapter .slot-label{background:var(--accent)}.slot-status.done{color:#4f7d5b}.slot-label{letter-spacing:.04em;font-size:14px}.slot-title{font-size:15px}.slot.open,.slot-detail{border-color:var(--accent-line)}.slot-detail{border-radius:0 0 14px 14px;padding:14px}.slot-progress span{height:4px}.slot-progress span.done{background:#6f9a7a}.slot-progress span.partial{background:#d6a86a}.summary-toggle{border-radius:14px}.strip-chip{border-bottom-width:3px;border-radius:12px}.strip-chip.done{border-bottom-color:#6f9a7a}.strip-chip.partial{border-bottom-color:#d6a86a}.strip-chip.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.thumb{border-radius:10px}.thumb.selected{outline-color:var(--accent)}details.more{border-top-color:var(--line)}details.more>summary{font-size:13.5px}.theme-chip{border-radius:12px;font-size:13.5px}.theme-chip.on{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.hero{background:radial-gradient(120% 90% at 85% 0,#b8955a47,#0000 60%),radial-gradient(90% 70% at 0 100%,#b9735e38,#0000 60%),#1c1814;border-radius:22px;padding:44px 24px 34px}.hero h2{letter-spacing:.12em;font-size:25px;line-height:1.6}.hero p{font-size:13px;line-height:1.9}.stage{border-radius:16px;box-shadow:0 10px 30px -14px #26211d59}.progress{height:2px}.progress>div,[data-theme] .progress>div{background:var(--accent)}[data-theme=wedding] .stage .deco{border-color:#b8955a8c;outline-color:#b8955a38;inset:10px}[data-theme=wedding] .stage .ctitle{letter-spacing:.22em;font-size:18px;font-weight:500}[data-theme=wedding] .stage .photo{outline-offset:1px;border-width:3px}[data-theme=memorial] .stage{background:radial-gradient(90% 80% at 50% 42%,#f6f2ee 0%,#ebe5df 70%,#ded6cf 100%)}[data-theme=memorial] .stage .photo{filter:saturate(.8)sepia(.08)}[data-theme=birthday] .stage{background:radial-gradient(circle at 12% 22%,#efc75e 0 3px,#0000 4px),radial-gradient(circle at 88% 18%,#8fbfd9 0 3.5px,#0000 4.5px),radial-gradient(circle at 9% 80%,#e9937c 0 3.5px,#0000 4.5px),radial-gradient(circle at 91% 82%,#efc75e 0 2.5px,#0000 3.5px),#fdf8f1}[data-theme=birthday] .stage .deco{background:linear-gradient(90deg,#e9937c 0 33%,#8fbfd9 33% 66%,#efc75e 66%) 0 0/100% 3px no-repeat}[data-theme=birthday] .stage .ctitle{color:#b4573f;letter-spacing:.08em;font-size:18px}[data-theme=birthday] .stage .cnum{background:#c5654e;font-size:10px}[data-theme=birthday] .stage .photo{border-bottom-width:10px;transform:rotate(-3deg)}[data-theme=birthday] .stage .photo:nth-child(2){transform:rotate(2deg)translateY(-3px)}details.more>summary{white-space:nowrap;overflow:hidden}details.more>summary .sum-note{color:var(--ink-soft);opacity:.8;text-overflow:ellipsis;margin-left:8px;font-size:12px;overflow:hidden}.stage .watermark{opacity:.75;letter-spacing:.12em;padding:0 5px;font-size:9.5px}.save-info{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:12px;align-items:center;gap:8px;margin-top:10px;padding:4px 4px 4px 14px;font-size:12.5px;display:flex}.save-info .btn-text{color:var(--terracotta-dark);font-size:12.5px}.stage{background:#000}.movie-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stage-loading{color:var(--ink-soft);background:var(--paper);justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.seek{width:100%;accent-color:var(--accent);height:28px;margin:12px 0 0}.time-row{margin-top:-2px}.export-card{margin-top:18px;padding:16px}.small.err{color:var(--warn-ink)}.backup-card{padding:16px}.pick-btn.disabled{opacity:.4;pointer-events:none}.text-style{margin-top:4px}.font-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.font-chip{border:1px solid var(--line);background:var(--paper);min-height:48px;color:var(--ink);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:4px 8px;font-size:17px;line-height:1.3;display:flex}.font-chip small{font-family:var(--sans);color:var(--ink-soft);font-size:11px;font-weight:400}.font-chip.on{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.color-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.color-dot{cursor:pointer;border:1px solid #0003;border-radius:50%;width:34px;height:34px;padding:0}.color-dot.on{box-shadow:0 0 0 3px var(--ivory), 0 0 0 5px var(--accent)}.style-panel{border-top:none;margin-top:0}.pos-grid{grid-template-columns:repeat(3,1fr);grid-template-areas:"tl tc tr"".c.""bl bc br";gap:6px;max-width:320px;display:grid}.pos-cell{border:1px solid var(--line);background:var(--paper);min-height:40px;font:inherit;color:var(--ink);cursor:pointer;border-radius:10px;font-size:13px}.pos-cell.on{border-color:var(--accent-line);background:var(--accent-soft);font-weight:700}.pos-tl{grid-area:tl}.pos-tc{grid-area:tc}.pos-tr{grid-area:tr}.pos-c{grid-area:c}.pos-bl{grid-area:bl}.pos-bc{grid-area:bc}.pos-br{grid-area:br}.tr-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.tr-chip{border:1px solid var(--line);background:var(--paper);min-height:44px;font:inherit;color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:8px;padding:0 10px;font-size:13.5px;display:flex}.tr-chip.on{border-color:var(--accent-line);background:var(--accent-soft);font-weight:700}.tr-icon{background:var(--sand);border-radius:4px;flex:none;width:26px;height:18px;position:relative;overflow:hidden}.tr-icon:after{content:"";background:var(--accent);position:absolute;inset:0}.tr-fade .tr-icon:after{opacity:.45}.tr-slide .tr-icon:after{left:45%}.tr-zoom .tr-icon:after{border-radius:2px;inset:4px 6px}.tr-wipe .tr-icon:after{right:50%}.tr-iris .tr-icon:after{border-radius:50%;inset:3px 7px}.tr-flash .tr-icon:after{background:radial-gradient(circle, #fff 0 30%, var(--accent) 70%)}.tr-cut .tr-icon:after{clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}.concept{margin-top:18px}.concept ul{margin:6px 0 8px;padding-left:1.2em;font-size:14px;line-height:1.9}.hero .hero-sub{font-family:var(--serif);color:var(--gold);letter-spacing:.12em;margin:0 0 12px;font-size:15px}.hero h2{white-space:nowrap;font-size:22px}.concept .concept-imagine{font-family:var(--serif);color:var(--ink);margin:4px 0 6px;font-size:15px}.pick-row.three{flex-direction:row}.pick-row.three .pick-btn{flex:1;min-height:48px;padding:0 6px}.pick-row.three .pick-btn:first-child{flex:1.3}.story-card{margin-top:12px}.story-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);margin-top:8px;display:block}.story-item.selected{border-color:var(--accent-line);background:var(--accent-soft)}.story-flow{color:var(--accent-dark);margin-top:6px;font-size:12.5px;line-height:1.5;display:block}.hint-note{margin-top:8px}.track-row{align-items:center;gap:8px;display:flex}.track-row .radio{flex:1;min-width:0}.track-row .listen{flex:none;width:auto;min-width:84px}.q-mark{z-index:1;color:#fff;text-align:center;background:#8a4b1f;border-radius:9px;min-width:18px;height:18px;padding:0 3px;font-size:11px;line-height:18px;position:absolute;bottom:22px;right:4px}.dialog-backdrop{z-index:60;align-items:center;padding:16px}.dialog{background:var(--paper);border-radius:18px;width:100%;max-width:360px;padding:20px 18px 16px;box-shadow:0 20px 50px -20px #15110e80}.dialog-text{white-space:pre-wrap;margin:0 0 16px;font-size:15px;line-height:1.75}.dialog-actions{gap:8px;display:flex}.dialog-actions .btn{flex:1;width:auto;min-height:48px;padding:0 10px}.dialog-input{width:100%;margin:0 0 14px}.gate{gap:8px;margin-top:10px;display:grid}.gate .btn{margin:0}.gate-or{text-align:center;color:var(--ink-soft);font-size:12px}.gate-mail{gap:6px;display:flex}.gate-mail input{flex:1;min-width:0}.gate-mail .btn{flex:none;width:auto;padding:0 14px}.paid-badge{background:var(--accent-soft);color:var(--accent-dark);border:1px solid var(--accent-line);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.account-line{color:var(--ink-soft);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.account-line .grow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gate-table td:first-child{white-space:nowrap;vertical-align:top;padding-right:12px}.gate-table td.amount{white-space:normal;text-align:right}.legal-links{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:24px 0 8px;font-size:12px;display:flex}.legal-links a{color:var(--ink-soft)}
