html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:#e3dece}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default}


    #wedding-structure { --w-bg:light-dark(#f7f5ef,#242723); --w-paper:light-dark(#fffefa,#33382f); --w-ink:light-dark(#323931,#f0f1e8); --w-muted:light-dark(#72796e,#bec5b7); --w-line:light-dark(#d9ddd1,#565e50); --w-green:light-dark(#e6ecd9,#394630); --w-peach:light-dark(#f5e5db,#4b3931); --w-fold:light-dark(#798169,#d1d7c4); color:var(--w-ink); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; width:100%; }
    #wedding-structure * { box-sizing:border-box; }
    #wedding-structure [hidden] { display:none!important; }
    #wedding-structure button,#wedding-structure input { font:inherit; }
    #wedding-structure button { color:inherit; }
    #wedding-structure button:focus-visible,#wedding-structure input:focus-visible { outline:2px solid var(--w-ink); outline-offset:4px; }
    #wedding-structure .w-shell { max-width:420px; margin:0 auto; background:var(--w-bg); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; min-height:670px; }
    #wedding-structure .w-top { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:22px 24px 16px; font-size:12px; color:var(--w-muted); }
    #wedding-structure .w-name { font-size:13px; letter-spacing:2px; color:var(--w-ink); }
    #wedding-structure .w-main { flex:1; min-width:0; padding:0 24px 26px; }
    #wedding-structure .w-intro { padding:18px 0 28px; }
    #wedding-structure .w-eyebrow { margin:0 0 12px; font-size:12px; letter-spacing:1px; color:var(--w-muted); }
    #wedding-structure h2 { font-size:27px; line-height:1.45; font-weight:500; letter-spacing:1px; margin:0 0 12px; }
    #wedding-structure .w-sub { margin:0; font-size:14px; line-height:1.8; color:var(--w-muted); }
    #wedding-structure .w-papers { display:grid; gap:22px; }
    #wedding-structure .w-paper { background:var(--w-paper); border-radius:3px; position:relative; box-shadow:0 4px 12px color-mix(in srgb,var(--w-ink) 5%,transparent); isolation:isolate; }
    #wedding-structure .w-paper.w-green { background:var(--w-green); }
    #wedding-structure .w-paper.w-peach { background:var(--w-peach); }
    #wedding-structure .w-paper:before { content:""; pointer-events:none; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,transparent 49.5%,color-mix(in srgb,var(--w-fold) 10%,transparent) 50%,transparent 51.2%),linear-gradient(176deg,transparent 63%,color-mix(in srgb,var(--w-fold) 9%,transparent) 64%,transparent 66%); opacity:.8; transition:opacity .45s; }
    #wedding-structure .w-paper.is-open:before { opacity:.26; }
    #wedding-structure .w-paper-head { display:flex; width:100%; min-height:136px; padding:22px 22px 19px; align-items:flex-start; justify-content:space-between; text-align:left; border:0; background:transparent; position:relative; gap:12px; }
    #wedding-structure .w-paper-heading { display:block; font-size:21px; line-height:1.5; font-weight:500; margin-top:8px; }
    #wedding-structure .w-paper-note { display:block; margin-top:9px; font-size:12px; line-height:1.7; color:var(--w-muted); }
    #wedding-structure .w-toggle { display:block; font-size:19px; font-weight:400; min-width:20px; padding-top:11px; text-align:center; }
    #wedding-structure .w-paper-body { display:grid; grid-template-rows:0fr; transition:grid-template-rows .48s cubic-bezier(.2,.7,.2,1); }
    #wedding-structure .w-paper.is-open .w-paper-body { grid-template-rows:1fr; }
    #wedding-structure .w-paper-inner { min-height:0; overflow:hidden; opacity:0; transform:translateY(-8px); transition:opacity .25s,transform .45s; }
    #wedding-structure .w-paper.is-open .w-paper-inner { opacity:1; transform:translateY(0); }
    #wedding-structure .w-paper-content { padding:0 22px 25px; border-top:1px solid color-mix(in srgb,var(--w-fold) 18%,transparent); margin-top:0; }
    #wedding-structure .w-info { display:grid; gap:17px; padding:21px 0; }
    #wedding-structure .w-info-row { display:grid; grid-template-columns:50px minmax(0,1fr); gap:14px; font-size:14px; line-height:1.7; }
    #wedding-structure .w-info-row>span:first-child { color:var(--w-muted); }
    #wedding-structure .w-info-row small { display:block; font-size:12px; color:var(--w-muted); margin-top:3px; }
    #wedding-structure .w-action { border:1px solid var(--w-line); background:transparent; min-height:44px; padding:10px 14px; border-radius:7px; font-size:14px; }
    #wedding-structure .w-action:disabled { opacity:.55; }
    #wedding-structure .w-action.w-primary { background:var(--w-ink); border-color:var(--w-ink); color:var(--w-bg); }
    #wedding-structure .w-full { width:100%; }
    #wedding-structure .w-tiny { font-size:12px; line-height:1.8; color:var(--w-muted); margin:12px 0 0; }
    #wedding-structure .w-trip { padding:19px 0; border-bottom:1px solid color-mix(in srgb,var(--w-fold) 18%,transparent); }
    #wedding-structure .w-trip:last-of-type { border-bottom:0; }
    #wedding-structure .w-trip span { font-size:12px; color:var(--w-muted); }
    #wedding-structure .w-trip h3 { margin:7px 0; font-size:16px; font-weight:500; }
    #wedding-structure .w-trip p { margin:0; font-size:14px; line-height:1.85; }
    #wedding-structure .w-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:10px 14px 16px; background:var(--w-bg); border-top:1px solid var(--w-line); gap:5px; }
    #wedding-structure .w-nav button { border:0; background:transparent; font-size:13px; min-height:48px; border-radius:8px; color:var(--w-muted); padding:9px 2px; }
    #wedding-structure .w-nav button[aria-selected="true"] { background:var(--w-green); color:var(--w-ink); }
    #wedding-structure .w-shell.w-nav-top .w-nav { order:-1; margin-top:0; padding:10px 16px; border-top:0; border-bottom:1px solid var(--w-line); }
    #wedding-structure .w-shell.w-nav-top .w-top { order:-2; }
    #wedding-structure .w-letter-intro { padding-top:18px; }
    #wedding-structure .w-letter-paper .w-paper-head { min-height:182px; align-items:center; }
    #wedding-structure .w-form { padding-top:20px; }
    #wedding-structure .w-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 18px; }
    #wedding-structure label { display:block; font-size:13px; line-height:1.7; }
    #wedding-structure input { display:block; width:100%; min-width:0; margin-top:7px; min-height:46px; border:1px solid var(--w-line); border-radius:6px; background:var(--w-paper); color:var(--w-ink); padding:10px 12px; font-size:16px; }
    #wedding-structure .w-error { color:light-dark(#9c493e,#f0ad9e); font-size:13px; margin:0 0 14px; }
    #wedding-structure .w-letter-text { padding-top:22px; font-size:15px; line-height:2; }
    #wedding-structure .w-letter-text p { margin:0 0 19px; }
    #wedding-structure .w-letter-sign { text-align:right; }
    #wedding-structure .w-link { background:transparent; border:0; font-size:12px; color:var(--w-muted); min-height:44px; padding:10px 0; text-decoration:underline; text-underline-offset:4px; }
    #wedding-structure .w-story-head { padding:18px 0 10px; }
    #wedding-structure .w-story-head h2 { font-size:24px; }
    #wedding-structure .w-story-window { overflow:hidden; }
    #wedding-structure #w-story-panel { touch-action:pan-y; }
    #wedding-structure .w-object { display:flex; width:75px; height:75px; flex:none; align-items:center; justify-content:center; }
    #wedding-structure .w-story-track { display:flex; width:100%; transition:transform .45s cubic-bezier(.22,.68,.2,1); }
    #wedding-structure .w-story-page { flex:0 0 100%; min-width:0; }
    #wedding-structure .w-story-art { height:234px; display:flex; align-items:center; justify-content:center; gap:24px; background:var(--w-green); border-radius:4px; margin-top:8px; overflow:hidden; color:var(--w-ink); }
    #wedding-structure .w-story-page:nth-child(2) .w-story-art { background:var(--w-peach); }
    #wedding-structure .w-story-page:nth-child(3) .w-story-art { background:var(--w-paper); }
    #wedding-structure .w-story-art svg { width:75px!important; height:75px!important; max-width:none!important; stroke-width:1.05!important; }
    #wedding-structure .w-story-art .w-object:first-child { transform:translateX(-7px) rotate(-5deg); }
    #wedding-structure .w-story-art .w-object:last-child { transform:translateX(7px) rotate(5deg); }
    #wedding-structure .w-story-page.is-current .w-object:first-child { animation:w-meet-left 1.4s ease both; }
    #wedding-structure .w-story-page.is-current .w-object:last-child { animation:w-meet-right 1.4s ease both; }
    #wedding-structure .w-story-copy { padding:23px 3px 12px; min-height:184px; }
    #wedding-structure .w-story-copy small { font-size:12px; color:var(--w-muted); }
    #wedding-structure .w-story-copy h3 { font-size:22px; line-height:1.5; font-weight:500; margin:8px 0 12px; }
    #wedding-structure .w-story-copy p { font-size:14px; line-height:1.9; margin:0; color:var(--w-muted); }
    #wedding-structure .w-story-controls { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
    #wedding-structure .w-pages { display:flex; gap:7px; align-items:center; }
    #wedding-structure .w-dot { width:6px; height:6px; background:var(--w-line); border-radius:50%; }
    #wedding-structure .w-dot.is-current { background:var(--w-ink); }
    #wedding-structure .w-swipe-label { text-align:center; margin-top:14px; }
    @keyframes w-meet-left { 0%{transform:translateX(-24px) rotate(-9deg)} 70%{transform:translateX(4px) rotate(2deg)} 100%{transform:translateX(-7px) rotate(-5deg)} }
    @keyframes w-meet-right { 0%{transform:translateX(24px) rotate(9deg)} 70%{transform:translateX(-4px) rotate(-2deg)} 100%{transform:translateX(7px) rotate(5deg)} }
    @media(max-width:360px) { #wedding-structure .w-main{padding-left:18px;padding-right:18px} #wedding-structure .w-top{padding-left:18px;padding-right:18px} #wedding-structure .w-paper-head{padding-left:18px;padding-right:18px} #wedding-structure .w-paper-content{padding-left:18px;padding-right:18px} }
    @media(prefers-reduced-motion:reduce) { #wedding-structure *,#wedding-structure *:before { animation:none!important; transition:none!important; } }

/* Warm paper, domestic line art, and a quiet checklist rhythm. */
#wedding-structure{--w-bg:#eee8d7;--w-paper:#f4efdf;--w-ink:#554334;--w-muted:#796956;--w-line:#cfc4af;--w-green:#f2ecdd;--w-peach:#f2ecdd;--w-fold:#8e7b62;font-weight:400;-webkit-font-smoothing:antialiased}
#wedding-structure .w-shell{max-width:480px;min-height:100svh;border-radius:0;overflow:clip;padding-bottom:calc(86px + env(safe-area-inset-bottom))}
#wedding-structure .w-top{padding:28px 26px 12px;font-size:10px;letter-spacing:.6px}
#wedding-structure .w-name{font-size:12px;letter-spacing:3px}
#wedding-structure .w-main{padding:0 26px 30px}
#wedding-structure .w-home-intro{text-align:center;padding:37px 0 29px}
#wedding-structure .w-eyebrow{font-size:10px;letter-spacing:3.2px;line-height:1.7;margin-bottom:17px}
#wedding-structure h2{font-size:25px;font-weight:400;letter-spacing:1px;line-height:1.6}
#wedding-structure .w-home-intro h2{font-size:23px;letter-spacing:1.5px;white-space:nowrap;margin-bottom:0}
#wedding-structure .w-sub{font-size:13px;line-height:1.95;letter-spacing:.5px}
#wedding-structure .w-tea{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;filter:brightness(1.035);mix-blend-mode:darken;margin:4px auto 0}
#wedding-structure .w-hosts{font-size:11px;letter-spacing:1px;margin:19px 0 0;color:var(--w-muted)}
#wedding-structure .w-hosts span{margin:0 6px}
#wedding-structure .w-papers{gap:17px}
#wedding-structure .w-paper{border-radius:0;box-shadow:0 2px 2px #55433407;border:1px solid #d9cdb744}
#wedding-structure .w-paper:before{background:linear-gradient(90deg,transparent 49.2%,#705b4120 50%,#fffaf535 50.7%,transparent 52%);opacity:.5}
#wedding-structure .w-paper-head{min-height:99px;padding:19px 17px;align-items:center;gap:10px}
#wedding-structure .w-paper-heading{font-size:18px;letter-spacing:1px;margin-top:0;display:flex;gap:12px;align-items:center;font-weight:400}
#wedding-structure .w-paper-heading:before{content:'';width:12px;height:12px;border:1.2px solid currentColor;flex:none}
#wedding-structure .w-paper-note{font-size:12px;letter-spacing:.2px;margin:7px 0 0 25px}
#wedding-structure .w-toggle{font-size:19px;padding:0;min-width:24px}
#wedding-structure .w-paper-content{padding:0 17px 20px}
#wedding-structure .w-info{gap:15px;padding:23px 0}
#wedding-structure .w-info-row{grid-template-columns:34px minmax(0,1fr);gap:12px;font-size:14px;line-height:1.8}
#wedding-structure .w-info-row small{font-size:12px;line-height:1.8;margin-top:4px}
#wedding-structure .w-contacts a{display:flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;border-bottom:1px solid #cfc4af77}
#wedding-structure .w-contacts a span{font-size:12px;font-variant-numeric:tabular-nums}
#wedding-structure .w-contacts svg{width:13px;height:13px;margin-left:auto;stroke-width:1.3}
#wedding-structure .w-action{border-color:var(--w-line);border-radius:1px;font-size:12px;letter-spacing:.6px}
#wedding-structure .w-map-link{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none}
#wedding-structure .w-map-link svg{width:16px;height:16px;stroke-width:1.4}
#wedding-structure .w-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;z-index:20;padding:10px 20px calc(12px + env(safe-area-inset-bottom));background:#eee8d7f5;backdrop-filter:blur(12px);gap:12px}
#wedding-structure .w-nav button{border-radius:0;font-size:13px;letter-spacing:.5px;min-height:43px;border-bottom:1px solid transparent}
#wedding-structure .w-nav button[aria-selected="true"]{background:transparent;border-bottom-color:var(--w-ink)}
#wedding-structure .w-letter-intro{padding:39px 0 34px}
#wedding-structure .w-letter-paper .w-paper-head{min-height:166px}
#wedding-structure .w-fields{gap:12px}
#wedding-structure .w-fields-pin{grid-template-columns:1fr}
#wedding-structure input{border-radius:1px;background:#f8f4e9}
#wedding-structure .w-paper-body{position:relative;z-index:1}
#wedding-structure #w-letter-form input{pointer-events:auto;user-select:text;-webkit-user-select:text;cursor:text;caret-color:var(--w-ink)}
#wedding-structure .w-error{color:#9a493e}
/* A small sticky return control keeps switching letters within reach. */
#wedding-structure #w-letter-panel.is-reading{padding-top:8px}
#wedding-structure .w-letter-toolbar{position:sticky;top:0;z-index:5;background:var(--w-bg);padding:8px 0;margin-bottom:16px}
#wedding-structure .w-letter-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:72px;padding:0 8px;border:0;background:transparent;color:var(--w-ink);font-size:13px;letter-spacing:.5px}
#wedding-structure .w-letter-back svg{width:16px;height:16px;stroke-width:1.5}
#wedding-structure .is-reading .w-letter-paper{background:transparent;border:0;box-shadow:none}
#wedding-structure .is-reading .w-letter-paper:before{display:none}
#wedding-structure .is-reading .w-paper-content{padding:0;border:0}
#wedding-structure .is-reading .w-letter-text{padding:0;font-size:16px;line-height:2;letter-spacing:.15px;overflow-wrap:anywhere;outline:none}
#wedding-structure .is-reading .w-letter-text p{margin:0 0 24px}
#wedding-structure .is-reading .w-letter-text p:last-child{margin-bottom:0}
#wedding-structure .w-story-head{padding:39px 0 18px}
#wedding-structure .w-story-head h2{font-size:22px}
#wedding-structure .w-story-art,#wedding-structure .w-story-page:nth-child(2) .w-story-art,#wedding-structure .w-story-page:nth-child(3) .w-story-art{background:#f4efdf;border-radius:0}
#wedding-structure .w-story-copy h3{font-size:21px;font-weight:400}
#wedding-structure .w-trip-intro{font-size:12px;line-height:1.9;letter-spacing:.2px;padding-top:12px}
#wedding-structure .w-time-filters{display:flex;gap:5px;margin:16px 0 12px;justify-content:space-between}
#wedding-structure .w-time-filters button{min-height:44px;border:1px solid transparent;padding:7px 9px;background:transparent;font-size:11px;white-space:nowrap}
#wedding-structure .w-time-filters button[aria-pressed="true"]{border-color:var(--w-ink)}
#wedding-structure .w-map{position:relative;aspect-ratio:340/400;background:#eee8d7;border:1px solid var(--w-line);overflow:hidden}
#wedding-structure .w-map-meta{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.5px;z-index:2}
#wedding-structure .w-map-geography{position:absolute;left:0;top:7%;width:100%;height:90%}
#wedding-structure .w-map-pins{position:absolute;left:0;top:7%;width:100%;height:90%}
#wedding-structure .w-map-pin{position:absolute;transform:translate(-50%,-50%);width:82px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;padding:0;border:0}
#wedding-structure .w-map-pin span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #8c7a60;background:#f9f4e7;border-radius:50%;font-size:11px}
#wedding-structure .w-map-pin small{font-size:11px;line-height:1.4;white-space:nowrap;text-shadow:1px 1px var(--w-bg),-1px -1px var(--w-bg)}
#wedding-structure .w-map-pin[aria-pressed="true"] span{background:var(--w-ink);color:var(--w-bg);border-color:var(--w-ink)}
#wedding-structure .w-map-pin[aria-pressed="true"] small{font-weight:600}
#wedding-structure .w-map-caption{position:absolute;bottom:9px;left:12px;font-size:9px;color:var(--w-muted);letter-spacing:.5px}
#wedding-structure .w-map-help{font-size:10px;color:var(--w-muted);margin:10px 0 5px;text-align:center}
#wedding-structure .w-place-list{display:grid;grid-template-columns:1fr 1fr;gap:0 8px;margin:9px 0 17px}
#wedding-structure .w-place-option{min-height:44px;display:flex;align-items:center;gap:6px;padding:7px 0;border:0;border-bottom:1px solid #cfc4af88;text-align:left;background:transparent;font-size:12px;line-height:1.4}
#wedding-structure .w-place-option span{font-size:10px;opacity:.7}
#wedding-structure .w-place-option[aria-pressed="true"]{font-weight:600;border-bottom-color:var(--w-ink)}
#wedding-structure .w-place-detail{border-top:1px solid var(--w-ink);padding-top:17px}
#wedding-structure .w-place-kicker{font-size:10px;letter-spacing:.6px;color:var(--w-muted);margin:0 0 8px}
#wedding-structure .w-place-detail h3{font-size:19px;font-weight:400;margin:0 0 10px;letter-spacing:.6px}
#wedding-structure .w-place-detail p:not(.w-place-kicker){font-size:13px;line-height:1.9;margin:0 0 10px}
#wedding-structure .w-place-detail .w-place-tip{color:var(--w-muted);font-size:12px!important}
#wedding-structure .w-place-detail a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;gap:8px;text-underline-offset:5px}
#wedding-structure .w-place-detail svg{width:14px;height:14px}
#wedding-structure .w-travel-footnote{font-size:10px;line-height:1.9;border-top:1px solid var(--w-line);padding-top:15px;margin-top:15px}
#wedding-structure .w-source-note{font-size:9px;color:var(--w-muted);line-height:1.8;margin-bottom:0}
#wedding-structure .w-day-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 13px}
#wedding-structure .w-day-options button{background:transparent;border:1px solid var(--w-line);min-height:48px;padding:10px 7px;font-size:12px}
#wedding-structure .w-day-options button[aria-pressed="true"]{border-color:var(--w-ink);background:#e8dfca}
#wedding-structure .w-route-plan{margin:20px 0 24px}
#wedding-structure .w-route-plan h3{font-size:18px;font-weight:400;margin:0 0 8px;letter-spacing:.5px}
#wedding-structure .w-route-plan>p{font-size:12px;line-height:1.9;color:var(--w-muted);margin:0 0 14px}
#wedding-structure .w-route-plan ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--w-line)}
#wedding-structure .w-route-step{width:100%;border:0;border-bottom:1px solid var(--w-line);background:transparent;display:grid;grid-template-columns:22px 1fr;gap:9px;text-align:left;padding:13px 3px;min-height:64px;align-items:start}
#wedding-structure .w-route-step>span:first-child{font-size:11px;padding-top:3px;color:var(--w-muted)}
#wedding-structure .w-route-step strong{font-size:13px;font-weight:400;display:block;line-height:1.8}
#wedding-structure .w-route-step small{font-size:11px;line-height:1.8;color:var(--w-muted);display:block}
#wedding-structure .w-route-step[aria-pressed="true"]{background:#e8dfca70}
#wedding-structure .w-route-return{font-size:11px!important;margin-top:13px!important}
@media(max-width:360px){#wedding-structure .w-main{padding-left:19px;padding-right:19px}#wedding-structure .w-home-intro h2{font-size:20px}#wedding-structure .w-paper-content{padding-left:13px;padding-right:13px}#wedding-structure .w-time-filters button{padding-left:7px;padding-right:7px}#wedding-structure .w-info-row{gap:9px;grid-template-columns:29px minmax(0,1fr)}}
@media(min-width:600px){#wedding-structure .w-shell{box-shadow:0 0 90px #5543340a}#wedding-structure .w-home-intro{padding-top:46px}}


    #wedding-structure #w-story-panel .w-shell{padding-bottom:calc(26px + env(safe-area-inset-bottom))}
    #wedding-structure #w-story-panel .w-top a{text-decoration:none;min-height:32px;display:flex;align-items:center}
    #wedding-structure #w-story-panel .w-story-head{padding-top:27px}
    #wedding-structure #w-story-panel .w-story-head h2{font-size:25px;margin-bottom:8px}
    #wedding-structure #w-story-panel .draft-progress{font-size:12px;color:var(--w-muted);margin:0;line-height:1.8}
    #wedding-structure #w-story-panel .w-story-art{height:198px;position:relative;border:1px dashed #cfc4af;background:transparent;flex-direction:column;gap:9px;text-align:center;user-select:none}
    #wedding-structure #w-story-panel .w-story-art.has-illustration{border-color:transparent;overflow:visible}
    #wedding-structure #w-story-panel #draft-art{background:transparent}
    #wedding-structure #w-story-panel .draft-art-image{display:block;width:90%;max-width:330px;height:100%;object-fit:contain;filter:brightness(1.035);mix-blend-mode:darken;pointer-events:none}
    #wedding-structure #w-story-panel .draft-layered-art{width:90%;max-width:330px;height:100%;filter:brightness(1.035);mix-blend-mode:darken;pointer-events:none}
    #wedding-structure #w-story-panel #draft-layered-art svg{display:block;width:100%!important;height:100%!important;max-width:none!important;overflow:visible}
    #wedding-structure #w-story-panel .draft-layered-art[hidden],#wedding-structure #w-story-panel .has-layered-illustration .draft-art-image{display:none}
    #wedding-structure #w-story-panel .motion-screen-left{transform-origin:601px 364px}
    #wedding-structure #w-story-panel .motion-screen-right{transform-origin:853px 409px}
    #wedding-structure #w-story-panel .motion-lanyard{transform-origin:1102px 634px}
    #wedding-structure #w-story-panel .motion-computer{transform-origin:595px 675px}
    #wedding-structure #w-story-panel .motion-badge{transform-origin:1102px 659px}
    #wedding-structure #w-story-panel .motion-table-left{transform-origin:360px 476px}
    #wedding-structure #w-story-panel .motion-table-right{transform-origin:1036px 502px}
    /* A shared held-frame clock updates all poses atomically; no browser interpolation. */
    #wedding-structure #w-story-panel #draft-layered-art .motion-piece{animation:none;transition:none}
    #wedding-structure #w-story-panel .draft-motion-toggle{position:absolute;right:0;bottom:-12px;min-height:44px;padding:10px 0 10px 12px;border:0;background:transparent;color:var(--w-muted);font-size:11px;line-height:1.5}
    #wedding-structure #w-story-panel .draft-motion-toggle[hidden]{display:none}
    #wedding-structure #w-story-panel .draft-motion-toggle:focus-visible{outline:1px solid var(--w-ink);outline-offset:2px}
    @media (prefers-reduced-motion:reduce){#wedding-structure #w-story-panel #draft-layered-art .motion-piece{transform:none!important}}
    #wedding-structure #w-story-panel .draft-art-placeholder{display:flex;flex-direction:column;align-items:center;gap:9px}
    #wedding-structure #w-story-panel .draft-art-image[hidden],#wedding-structure #w-story-panel .draft-art-placeholder[hidden]{display:none}
    #wedding-structure #w-story-panel .draft-art-symbol{font-size:32px;font-weight:200;line-height:1;color:#a0937e}
    #wedding-structure #w-story-panel .draft-art-label{font-size:12px;letter-spacing:1px;color:var(--w-muted)}
    #wedding-structure #w-story-panel .draft-art-note{font-size:11px;color:var(--w-muted);margin:0}
    #wedding-structure #w-story-panel .draft-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--w-muted)}
    #wedding-structure #w-story-panel .draft-badge{border:1px solid var(--w-line);padding:4px 7px;white-space:nowrap;line-height:1.5}
    #wedding-structure #w-story-panel .draft-badge[data-status="complete"]{border-color:#a4ad91;color:#566348;background:#e4e7d9}
    #wedding-structure #w-story-panel .w-story-copy{padding-top:22px;min-height:190px}
    #wedding-structure #w-story-panel .w-story-copy h3{margin:14px 0;font-size:21px;line-height:1.6}
    #wedding-structure #w-story-panel .w-story-copy p{font-size:15px;line-height:1.95;color:var(--w-ink);margin:0 0 14px;white-space:pre-line;overflow-wrap:anywhere}
    #wedding-structure #w-story-panel .w-story-copy .draft-empty{color:var(--w-muted)}
    #wedding-structure #w-story-panel .draft-counter{font-size:12px;white-space:nowrap;color:var(--w-muted)}
    #wedding-structure #w-story-panel .draft-sections{margin:23px 0 0;padding-top:16px;border-top:1px solid var(--w-line);display:flex;flex-wrap:wrap;gap:8px}
    #wedding-structure #w-story-panel .draft-sections button{background:transparent;border:1px solid var(--w-line);min-height:44px;padding:9px 11px;font-size:12px;line-height:1.6;text-align:left;max-width:100%;overflow-wrap:anywhere}
    #wedding-structure #w-story-panel .draft-sections button[aria-current="step"]{border-color:var(--w-ink);background:#e8dfca}
    #wedding-structure #w-story-panel .draft-sections .draft-done{color:#647250;margin-right:5px}
    #wedding-structure #w-story-panel .draft-footer{font-size:11px;line-height:1.9;color:var(--w-muted);margin-top:22px;padding-top:16px;border-top:1px solid var(--w-line)}
    #wedding-structure #w-story-panel .draft-footer p{margin:0 0 5px}
    #wedding-structure #w-story-panel #draft-live{font-size:10px;min-height:19px}
    #wedding-structure #w-story-panel #draft-page{touch-action:pan-y}

    #wedding-structure #w-story-panel .draft-sections{justify-content:center;flex-wrap:nowrap;gap:0;margin:8px 0 0;padding:0;border:0}
    #wedding-structure #w-story-panel .draft-sections button{display:grid;place-items:center;width:34px;min-width:0;height:44px;padding:0;border:0;background:transparent}
    #wedding-structure #w-story-panel .draft-sections button[aria-current="step"]{background:transparent}
    #wedding-structure #w-story-panel .draft-sections button span{display:block;width:5px;height:5px;border:1px solid var(--w-muted);border-radius:50%}
    #wedding-structure #w-story-panel .draft-sections button[aria-current="step"] span{background:var(--w-ink);border-color:var(--w-ink)}
    #wedding-structure #w-story-panel .w-story-hint{text-align:center;margin:0}
