@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/karla-latin-ext-400-normal-DQe2ZdED.woff2) format("woff2"),url(/assets/karla-latin-ext-400-normal-CMxStcnq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/karla-latin-400-normal-C_jajTY_.woff2) format("woff2"),url(/assets/karla-latin-400-normal-iWRxgclR.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/karla-latin-ext-500-normal-BQGx_UZ6.woff2) format("woff2"),url(/assets/karla-latin-ext-500-normal-BR9CgtUN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/karla-latin-500-normal-6wzn_4WC.woff2) format("woff2"),url(/assets/karla-latin-500-normal-BWjg-GL4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/karla-latin-ext-600-normal-CIPY_Mp5.woff2) format("woff2"),url(/assets/karla-latin-ext-600-normal-Cf-uwXr_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/karla-latin-600-normal-BH_u9dis.woff2) format("woff2"),url(/assets/karla-latin-600-normal-BAoyHYuk.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/karla-latin-ext-700-normal-DnPH2EDB.woff2) format("woff2"),url(/assets/karla-latin-ext-700-normal-eTNnM7bB.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/karla-latin-700-normal-DFuMffT3.woff2) format("woff2"),url(/assets/karla-latin-700-normal-CospC10L.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/newsreader-vietnamese-300-normal-D3VHEe81.woff2) format("woff2"),url(/assets/newsreader-vietnamese-300-normal-CsrIkm-V.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/newsreader-latin-ext-300-normal-DRMzurxT.woff2) format("woff2"),url(/assets/newsreader-latin-ext-300-normal-CFtw49Zd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/newsreader-latin-300-normal-FGBQ0wlI.woff2) format("woff2"),url(/assets/newsreader-latin-300-normal-AOSWdb_s.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2) format("woff2"),url(/assets/newsreader-vietnamese-400-normal-BekUZro8.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2) format("woff2"),url(/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-400-normal-BFBkh4jY.woff2) format("woff2"),url(/assets/newsreader-latin-400-normal-gRTjlS2D.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Newsreader-Bold.ttf) format("truetype")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexMono-Regular.ttf) format("truetype")}:root{--paper: #1d2320;--wall: #4f5652;--wall-2: #454c48;--panel: #252b28;--panel2: #2d3431;--panel3: #343c38;--ink: #eef1ee;--muted: #9aa5a0;--line: #3a423e;--line2: #4d5853;--accent: #cf6b4a;--premium: #6cc49c;--premium-wash: rgba(108, 196, 156, .09);--accent2: #b3563a;--soft: #3f3a37;--on: #fff7f2;--ring: rgba(207, 107, 74, .35);--danger: #e0705e;--danger-strong: #c4503f;--danger-weak: rgba(224, 112, 94, .14);--r: 14px;--r2: 10px;--r-sharp: 6px;--sh1: 0 1px 2px rgba(0, 0, 0, .4);--sh2: 0 12px 30px rgba(0, 0, 0, .45);--sh3: 0 26px 64px rgba(0, 0, 0, .55);--fd: "Newsreader", Georgia, serif;--fu: "Karla", system-ui, -apple-system, "Segoe UI", sans-serif;--fm: "IBM Plex Mono", ui-monospace, monospace;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.3, .64, 1);--t-fade: .14s;--t-thumb: .16s;--t-state: .18s;--t-lift: .2s;--t-reveal: .22s;--t-disclose: .26s;--t-travel: .34s;--bg: var(--paper);--panel-2: var(--panel2);--border: var(--line);--border-strong: var(--line2);--accent-strong: var(--accent2);--accent-soft: var(--accent2);--accent-weak: var(--soft);--on-accent: var(--on);--radius: var(--r2);--shadow-sm: var(--sh1);--shadow-md: var(--sh2);--shadow-accent: 0 6px 16px rgba(207, 107, 74, .28);--font-sans: var(--fu);font-family:var(--fu);color:var(--ink);-webkit-font-smoothing:antialiased;--tm-ink: var(--ink);--tm-route: var(--accent);--tm-map: #2f2620;--tm-map-line: #4a3d33;--tm-map-water: #2b3a3e;--tm-map-green: #333b2e}:root[data-theme=light]{--paper: #e9dfcf;--wall: #8f8778;--wall-2: #7f7768;--panel: #f4ece0;--panel2: #ede4d5;--panel3: #e4d9c6;--ink: #2b1f16;--muted: #6f5b48;--line: #d6c9b4;--line2: #bfae93;--accent: #b3452b;--premium: #1e6b4b;--premium-wash: rgba(30, 107, 75, .08);--accent2: #8f341f;--soft: #dde3d4;--on: #fff7f0;--ring: rgba(179, 69, 43, .32);--danger: #a3261c;--danger-strong: #821d15;--danger-weak: rgba(163, 38, 28, .1);--sh1: 0 1px 2px rgba(43, 31, 22, .08);--sh2: 0 10px 30px rgba(43, 31, 22, .14);--sh3: 0 22px 60px rgba(43, 31, 22, .2);--shadow-accent: 0 6px 16px rgba(179, 69, 43, .28);color-scheme:light;--tm-map: #f2ece1;--tm-map-line: #dccfbc;--tm-map-water: #c6d9db;--tm-map-green: #dbe3cf}:root[data-theme=dark]{color-scheme:dark}@media (prefers-reduced-motion: reduce){:root{--t-fade: 0ms;--t-thumb: 0ms;--t-state: 0ms;--t-lift: 0ms;--t-reveal: 0ms;--t-disclose: 0ms;--t-travel: 0ms}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}#app-view{height:100vh;display:flex;flex-direction:column;overflow:hidden}body[data-view=landing] #app-view,body[data-view=app] #landing-view{display:none}.topbar{flex:none;padding:14px 24px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.topbar .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;cursor:pointer}.topbar h1{margin:0;display:flex;align-items:center}.brand-logo{display:block;height:44px}.brand-logo svg{display:block;height:100%;width:auto}.tagline{margin:0;font-size:13px;color:var(--muted)}.legal-links{margin-left:auto;display:flex;align-items:center;gap:16px}.legal-links a{color:var(--muted);font-size:12.5px;text-decoration:none;white-space:nowrap}.legal-links a:hover{color:var(--ink);text-decoration:underline}.legal-optout{background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.legal-links .legal-optout{color:var(--muted);font-size:12.5px;text-decoration:none;white-space:nowrap}.legal-links .legal-optout:hover{color:var(--ink);text-decoration:underline}.layout{flex:1;min-height:0;display:flex;gap:24px;padding:24px;align-items:stretch}.controls{width:280px;flex:none;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.trip-row{display:flex;align-items:stretch;gap:8px}.trip-row[hidden]{display:none}.drop-zone{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1.5px dashed var(--border-strong);border-radius:var(--r2);background:var(--panel);cursor:pointer;transition:border-color .15s,background .15s}.drop-zone:hover{border-color:var(--muted)}.drop-zone.drag{border-color:var(--accent);background:var(--accent-weak)}.drop-zone-icon{flex:0 0 auto;width:15px;height:15px;color:var(--accent)}.drop-zone-label{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}.drop-zone-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--muted)}.trip-reset{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r2);background:var(--panel);color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.trip-reset svg{width:15px;height:15px}.trip-reset:hover{color:var(--danger);border-color:var(--danger);background:var(--panel-2)}.link-btn{background:none;border:none;color:var(--muted);font-size:13px;text-decoration:underline;cursor:pointer;padding:0;align-self:flex-start}.ghost-btn{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:7px 12px;border:1px solid var(--border);border-radius:var(--r2);background:var(--panel);color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.ghost-btn[hidden]{display:none}.ghost-btn svg{flex:none;width:15px;height:15px}.ghost-btn:hover{border-color:var(--muted);color:var(--ink)}.ghost-btn--danger:hover{border-color:var(--danger);background:var(--danger-weak);color:var(--danger)}.error{margin:0;padding:10px 12px;border-radius:var(--r-sharp);background:var(--danger-weak);border:1px solid var(--danger);color:var(--danger);font-size:13px}.sections{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;min-inline-size:0}.sections[disabled]{opacity:.5}.section{display:flex;flex-direction:column}.section>summary{list-style:none;cursor:pointer;padding:13px 16px;border-radius:var(--r);background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:600;letter-spacing:-.1px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);transition:background .14s,box-shadow .14s}.section>summary:hover{background:var(--accent-strong)}.section[open]>summary{box-shadow:var(--shadow-accent)}.section>summary::-webkit-details-marker{display:none}.section>summary:after{content:"›";color:var(--on-accent);font-size:19px;line-height:1;opacity:.9;transition:transform .18s ease}.section[open]>summary:after{transform:rotate(90deg)}.section-body{margin-top:6px;padding:15px 15px 16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;animation:section-reveal .16s ease}@keyframes section-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.field{display:flex;flex-direction:column;gap:6px;font-size:13px}.field[hidden]{display:none}.stat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.stat-row{display:flex;align-items:center;gap:4px}.stat-label{flex:0 0 auto;width:60px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-row input[type=text]{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r-sharp);font:inherit;font-size:13px;background:var(--panel2)}.stat-btn{flex:none;width:22px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:var(--r-sharp);background:none;color:var(--muted);font:inherit;font-size:13px;line-height:1;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.stat-btn:hover:not(:disabled){border-color:var(--muted);color:var(--ink)}.stat-btn:disabled{opacity:.35;cursor:default}.stat-del:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.stat-custom{display:flex;flex-direction:column;gap:8px;margin-top:4px}.stat-custom-row{display:flex;gap:6px}.stat-custom-row input{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r-sharp);font:inherit;font-size:13px;background:var(--panel2)}.field>span{color:var(--muted);display:flex;justify-content:space-between}.field output{color:var(--ink);font-variant-numeric:tabular-nums}.field input[type=text],.field select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sharp);font:inherit;background:var(--panel2)}.field input[type=range]{width:100%}.field--row{flex-direction:row;align-items:center;gap:8px}.field--row>span{color:var(--ink)}.map-status{margin:0;font-size:12px;color:var(--muted);min-height:14px}.map-status.loading:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hint{margin:0;font-size:12px;color:var(--muted)}.hint-mark{display:inline-block;width:15px;height:15px;line-height:14px;text-align:center;border:1px dashed var(--muted);border-radius:var(--r-sharp);font-size:11px}.primary-btn.small{padding:7px 14px;font-size:13px}.picker{display:flex;gap:6px}.pick-btn{flex:1;min-width:0;padding:7px 4px;border:1px solid var(--border);border-radius:var(--r2);background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;transition:border-color .12s,color .12s,background .12s,transform .12s}.pick-btn:active{transform:scale(.96)}.pick-btn:hover{border-color:var(--muted)}.pick-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-weak)}.pick-label{display:none}.picker--cards{gap:8px}.picker--cards .pick-btn{flex-direction:column;gap:7px;padding:10px 4px 9px;border-radius:var(--r2)}.picker--cards .pick-btn svg{width:32px;height:32px}.picker--cards .pick-label{display:block;font-size:11px;font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:5px 11px;border-radius:var(--r);border:1px solid var(--border);background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.chip:hover{border-color:var(--muted)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:34px;height:20px;border-radius:16px;background:var(--panel2);border:1px solid var(--line2);position:relative;cursor:pointer;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(14px)}.master-row{justify-content:space-between}.master-row>span{order:-1}.subhead{margin:0;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.hl-sep{border-top:1px solid var(--border);margin:2px 0}.hl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.hl-list li{display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:var(--r2);background:var(--panel-2)}.hl-icon{flex:none;width:18px;text-align:center}.hl-label{flex:1;min-width:0}.day-dist{flex:none;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.hl-edit,.hl-remove{flex:none;background:none;border:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:2px 4px;border-radius:var(--r-sharp)}.hl-edit:hover{color:var(--ink);background:var(--bg)}.hl-remove:hover{color:var(--danger)}.preset-apply{flex:1;min-width:0;text-align:left;background:none;border:none;color:var(--ink);font:inherit;cursor:pointer;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-apply:hover{color:var(--accent)}.add-highlight-btn{width:100%;padding:10px 12px;border:1px dashed var(--border-strong, #c7c7cc);border-radius:var(--r2);background:none;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s,background .12s}.add-highlight-btn:hover{border-color:var(--accent);background:var(--bg)}.add-chip-plus{color:var(--accent);font-weight:600}.chip-cloud{display:flex;flex-wrap:wrap;gap:6px}.chip-cloud[hidden]{display:none}.add-chip{padding:5px 11px;border-radius:var(--r);border:1px solid var(--border);background:var(--panel);color:var(--ink);font:inherit;font-size:12px;cursor:pointer;transition:border-color .12s,background .12s}.add-chip:hover{border-color:var(--accent);background:var(--bg)}.poster-hint{position:absolute;left:50%;top:16px;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--r2);background:var(--panel);color:var(--muted);font-size:12.5px;box-shadow:var(--shadow-md, 0 6px 22px rgba(74, 40, 24, .1))}.poster-hint[hidden]{display:none}.poster-hint svg{flex:none;width:16px;height:16px;color:var(--accent)}.poster-add{position:absolute;right:16px;bottom:16px;z-index:6;display:flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:var(--r2);background:var(--panel);box-shadow:var(--shadow-md, 0 6px 22px rgba(74, 40, 24, .1))}.poster-add[hidden]{display:none}.poster-add-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:none;border-radius:var(--r-sharp);background:none;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;transition:background .12s,color .12s}.poster-add-btn svg{width:17px;height:17px;color:var(--accent)}.poster-add-btn:hover{background:var(--accent-weak);color:var(--accent-strong)}.poster-add-sep{width:1px;height:18px;background:var(--border)}.place-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:6;padding:7px 14px;border-radius:var(--r);background:var(--accent);color:#fff;font-size:12px;white-space:nowrap;box-shadow:0 4px 14px #0000002e}.place-hint[hidden]{display:none}.toast{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:7;max-width:min(360px,calc(100% - 24px));padding:9px 15px;border-radius:var(--r);background:var(--ink);color:var(--paper);font-size:12.5px;line-height:1.35;text-align:center;box-shadow:0 6px 20px #00000038}.toast[data-kind=success]{background:#1f7a4d}.toast[data-kind=error]{background:#a5342b}.toast[hidden]{display:none}.delivery-dialog{border:none;border-radius:var(--r);padding:0;max-width:900px;width:calc(100% - 32px);background:var(--panel);color:var(--ink);box-shadow:var(--sh3)}.delivery-dialog::backdrop{background:#0009}.delivery-head{padding:32px 34px 22px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--accent-weak),var(--panel));border-radius:var(--r) var(--r) 0 0}.delivery-kicker{display:flex;align-items:center;gap:6px;margin:0 0 6px;color:var(--accent-strong);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.delivery-title{margin:0 0 6px;font-size:25px;font-weight:700}.delivery-sub{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}.delivery-progress{margin:18px 0 0}.delivery-dialog[data-state=ready] .delivery-progress{display:none}.delivery-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.delivery-bar-fill{height:100%;border-radius:inherit;background:var(--accent)}.delivery-progress-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:7px 0 0;color:var(--muted);font-size:12.5px}.delivery-pct{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent-strong)}.delivery-body{display:flex;gap:28px;padding:26px 34px}.delivery-poster{flex:0 0 210px;align-self:flex-start;border-radius:8px;overflow:hidden;box-shadow:var(--sh2);background:var(--panel-2)}.delivery-poster svg{display:block;width:100%;height:auto}.delivery-files{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:11px;margin:0;padding:0;list-style:none}.delivery-file{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel-2);transition:border-color .2s ease,background .2s ease,opacity .2s ease}.delivery-file[data-state=waiting]{opacity:.55}.delivery-file[data-state=ready]{border-color:var(--accent-soft);background:var(--panel)}.delivery-file-badge{flex:0 0 auto;min-width:50px;padding:5px 9px;border-radius:var(--r-sharp);background:var(--border);color:var(--ink);font-size:12px;font-weight:700;text-align:center;letter-spacing:.03em}.delivery-file[data-state=ready] .delivery-file-badge{background:var(--accent);color:var(--on-accent)}.delivery-file-name{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivery-file-status{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.delivery-file[data-state=ready] .delivery-file-status{color:var(--accent-strong);font-weight:600}.delivery-file[data-state=failed] .delivery-file-status{color:var(--danger)}.delivery-spinner{display:none;width:13px;height:13px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:delivery-spin .8s linear infinite}.delivery-file[data-state=building] .delivery-spinner{display:block}@keyframes delivery-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.delivery-spinner{animation:none}}.delivery-dl{flex:0 0 auto;padding:9px 18px;border:none;border-radius:var(--r2);background:var(--accent);color:var(--on-accent);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .14s ease}.delivery-dl:hover{background:var(--accent-strong)}.delivery-dl[hidden]{display:none}.delivery-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 34px 24px;border-top:1px solid var(--border)}.delivery-note{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}@media (max-width: 620px){.delivery-body{flex-direction:column;gap:18px;padding:18px 20px}.delivery-poster{flex:0 0 auto;align-self:center;width:150px}.delivery-title{font-size:21px}.delivery-head{padding:24px 20px 18px}.delivery-foot{padding:14px 20px 20px}}.confirm-dialog{border:1px solid var(--border);border-radius:var(--r);padding:20px;max-width:340px;width:calc(100% - 32px);background:var(--panel);color:var(--ink);box-shadow:0 12px 40px #0000003d}.confirm-dialog::backdrop{background:#0000008c}.confirm-title{margin:0 0 8px;font-size:17px;font-weight:600}.confirm-body{margin:0 0 18px;font-size:13.5px;line-height:1.5;color:var(--muted)}.confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.danger-btn{background:var(--danger)}.danger-btn:hover:not(:disabled){background:var(--danger-strong)}.legal-dialog{max-width:620px}.legal-dialog .confirm-body{max-height:60vh;overflow-y:auto;padding-right:6px}.legal-dialog .confirm-body h3{margin:20px 0 6px;font-size:14px;color:var(--ink)}.legal-dialog .confirm-body h3:first-child{margin-top:0}.legal-dialog .confirm-body p{margin:0 0 10px}.legal-dialog .confirm-body .legal-placeholder{color:var(--accent-strong);font-style:italic}.legal-dialog .confirm-body h4{margin:14px 0 4px;font-size:13.5px;color:var(--ink)}.legal-dialog .confirm-body ul,.legal-dialog .confirm-body ol{margin:0 0 10px;padding-left:20px}.legal-dialog .confirm-body li{margin:0 0 4px}.legal-dialog .confirm-body a,.legal-dialog .confirm-body .legal-optout{color:var(--ink);overflow-wrap:anywhere}.legal-dialog .confirm-body .legal-placeholder a{color:inherit}.legal-dialog .confirm-body strong{color:var(--ink);font-weight:600}.contact-form .contact-honeypot{position:absolute;left:-10000px}.contact-form .contact-field{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;color:var(--ink)}.contact-form input,.contact-form textarea{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sharp);font:inherit;color:var(--ink);background:var(--panel2)}.contact-form textarea{resize:vertical;min-height:110px}.contact-form .contact-privacy{font-size:12px}.contact-form .contact-status:empty{display:none}.contact-form .contact-status.is-error{color:var(--danger)}.contact-actions{display:flex;justify-content:flex-end}.styles-dialog #preset-list{max-height:240px;overflow-y:auto;margin-bottom:10px}.styles-dialog .stat-custom{margin-top:4px}.popover[hidden]{display:none}.popover{position:absolute;z-index:5;width:220px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r2);box-shadow:0 6px 24px #00000029;padding:12px;display:flex;flex-direction:column;gap:9px}.popover-title{font-size:13px;color:var(--muted)}.popover input[type=text],.popover-select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sharp);font:inherit;background:var(--panel2);width:100%}.field input[type=color]{width:100%;height:34px;padding:2px;border:1px solid var(--border);border-radius:6px;background:var(--panel2);cursor:pointer}.segmented{display:flex;gap:4px;padding:3px;border-radius:var(--r2);background:var(--bg)}.seg-btn{flex:1;padding:6px 0;border:none;border-radius:var(--r-sharp);background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.seg-btn[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #0000001a}.icon-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:208px;overflow-y:auto;padding-right:2px}.icon-group-head{grid-column:1 / -1;margin:4px 0 0;font-size:10.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}.icon-group-head:first-child{margin-top:0}.icon-tile{aspect-ratio:1;border-radius:var(--r-sharp);border:1px solid var(--border);background:var(--panel);cursor:pointer;font-size:17px;line-height:1;transition:border-color .12s,background .12s}.icon-tile:hover{border-color:var(--muted)}.icon-tile[aria-pressed=true]{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 1px var(--accent) inset}.upload-btn{width:100%;padding:20px 12px;border:1px dashed var(--border-strong, #c7c7cc);border-radius:var(--r2);background:none;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.upload-btn:hover{border-color:var(--accent);background:var(--bg)}#hl-text-fields,#hl-photo-fields{display:flex;flex-direction:column;gap:9px}#hl-text-fields[hidden],#hl-photo-fields[hidden]{display:none}.photo-preview{width:100%;max-height:120px;object-fit:contain;border-radius:var(--r-sharp);background:var(--panel2)}.popover-style{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r2);background:var(--panel-2, var(--panel));color:var(--ink);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.popover-style[hidden]{display:none}.popover-style svg{flex:none;width:15px;height:15px;color:var(--accent)}.popover-style-text{display:flex;flex-direction:column;gap:1px}.popover-style-sub{color:var(--muted);font-size:11px}.popover-style:hover{border-color:var(--accent);background:var(--accent-weak)}.popover-actions{display:flex;align-items:center;gap:12px}.popover-actions .spacer{flex:1}.link-btn.danger{color:var(--danger)}.preview.clickable svg{cursor:crosshair}.preview svg g.highlight,.preview svg g.day-marker{cursor:move}.primary-btn{padding:11px 16px;border:none;border-radius:var(--r2);background:var(--accent);color:#fff;font:inherit;font-weight:500;cursor:pointer;transition:filter .12s}.primary-btn:hover:not(:disabled){background:var(--accent-strong)}.primary-btn:disabled{background:var(--border-strong);cursor:not-allowed}.export-row{display:flex;flex-direction:column;gap:8px}.print-group{display:flex;gap:8px}.print-group select{flex:none;width:64px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sharp);font:inherit;background:var(--panel2)}.print-group .primary-btn{flex:1}.preview-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.preview-wrap{position:relative;flex:1;min-height:0;display:flex}.preview{flex:1;min-height:0;background:radial-gradient(120% 120% at 50% 0%,var(--panel2) 0%,var(--paper) 70%);border:1px solid var(--border);border-radius:var(--r);padding:28px;display:flex;justify-content:center;align-items:center}.preview svg{max-width:100%;max-height:100%;border-radius:var(--r-sharp);box-shadow:var(--sh3),0 2px 6px #00000059}.empty{color:var(--muted);font-size:14px;text-align:center;max-width:260px;line-height:1.5}.stats{margin:12px 2px 0;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}@media (max-width: 720px){#app-view{height:auto;overflow:auto}.layout{flex-direction:column}.controls{width:100%;overflow:visible}.preview{min-height:60vh}}.lang-toggle{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-family:var(--fm);font-size:11.5px;font-weight:500;letter-spacing:.08em;cursor:pointer;transition:color .14s ease-out,border-color .14s ease-out}.lang-toggle:hover{color:var(--ink);border-color:var(--line2)}.legal-note{margin:0 0 18px;padding:10px 12px;border-left:2px solid var(--line2);color:var(--muted);font-size:12.5px;line-height:1.55}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2) format("woff2"),url(/assets/newsreader-vietnamese-400-italic-QbB8kb5s.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2) format("woff2"),url(/assets/newsreader-latin-ext-400-italic-qdgKLcPG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-400-italic-CEihAR-f.woff2) format("woff2"),url(/assets/newsreader-latin-400-italic-CNZoH1hn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body[data-view=landing]{background:#b9bcc0}.flyover-track{height:580vh}#flyover{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:block;opacity:0;transition:opacity 1.2s ease}.is-ready #flyover{opacity:1}.flyover-trail{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none}.flyover-hud{position:fixed;bottom:8px;left:8px;z-index:30;margin:0;padding:6px 8px;font:11px/1.2 ui-monospace,monospace;color:#fff;background:#00000080;pointer-events:none}.tm-still,.is-still #flyover,.is-still .flyover-track,.is-still .tm-header-skip,.is-still .tm-film-h1{display:none}.is-still .tm-still{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,6vw,80px);padding-top:clamp(120px,14vw,168px)}.is-still .tm-page{box-shadow:none}.is-still .tm-header-logo{opacity:1}.is-still .tm-header{background:#fbf6f0f5}.tm-still-h1{margin:0 0 20px;font:400 clamp(40px,5.6vw,68px) / 1.04 "Newsreader",Georgia,serif;letter-spacing:-.015em}.tm-still-sub{max-width:34em;margin:0 0 32px;color:#2b1d17c7}.tm-still-poster{justify-self:center;width:min(100%,420px);height:auto;box-shadow:0 1px 2px #140c081f,0 24px 60px #140c0833}@media (max-width: 760px){.is-still .tm-still{grid-template-columns:1fr}.tm-still-poster{width:min(78vw,360px)}}.flyover-brand{--tm-ink: #2b1d17;--tm-cream: #fbf6f0;--tm-route: #c0553b;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden;font-family:Karla,system-ui,sans-serif}.tm-intro{position:absolute;left:50%;top:46%;width:min(560px,80vw);transform:translate(-50%,-50%);text-align:center;will-change:opacity,transform,filter}.tm-intro-word svg,.tm-close-word svg{display:block;width:100%;height:auto}.tm-intro-word{clip-path:inset(-12% 100% -10% 0%)}.flyover-brand svg path[stroke]{stroke:var(--tm-route)}.flyover-brand svg circle{fill:var(--tm-route)}.tm-intro-word path[stroke]{stroke-dasharray:1;stroke-dashoffset:1}.tm-intro-word circle{transform-box:fill-box;transform-origin:center;transform:scale(0)}.tm-intro-line{margin:18px 0 0;font:italic 400 clamp(17px,2.2vw,22px) / 1.3 "Newsreader",Georgia,serif;color:var(--tm-ink);opacity:0;transform:translateY(6px);transition:opacity 1.1s ease 3s,transform 1.1s ease 3s}.tm-intro.is-playing .tm-intro-line{opacity:.85;transform:none}.tm-loading{position:absolute;left:50%;bottom:96px;width:120px;height:1px;margin-left:-60px;background:#2b1d171f;overflow:hidden;transition:opacity .6s ease}.tm-loading span{position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:var(--tm-route);animation:tm-loading 1.3s cubic-bezier(.45,0,.55,1) infinite}@keyframes tm-loading{0%{transform:translate(-100%)}to{transform:translate(250%)}}.is-ready .tm-loading{opacity:0}.tm-scroll{position:absolute;left:50%;bottom:clamp(28px,6vh,56px);display:flex;flex-direction:column;align-items:center;gap:12px;transform:translate(-50%);font:600 12px/1 Karla,system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#2b1d17c7;visibility:hidden;pointer-events:none}.tm-scroll>*{opacity:0}.is-ready .tm-scroll{visibility:visible}.is-ready .tm-scroll>span:first-child{animation:tm-scroll-in .9s ease .3s forwards}@keyframes tm-scroll-in{to{opacity:1}}.tm-scroll-mouse{position:relative;width:24px;height:38px;border:1.75px solid rgba(43,29,23,.7);border-radius:13px;box-shadow:0 0 0 6px #ffffff2e,0 6px 20px #2b1d171f}.is-ready .tm-scroll-mouse{animation:tm-scroll-in .9s ease .5s forwards,tm-scroll-bob 2.4s ease-in-out .5s infinite}.tm-scroll-mouse:after{content:"";position:absolute;left:50%;top:7px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--tm-route);animation:tm-scroll-wheel 2.4s cubic-bezier(.45,0,.55,1) infinite}@keyframes tm-scroll-wheel{0%{transform:translateY(0);opacity:0}15%{opacity:1}60%{transform:translateY(15px);opacity:1}80%,to{transform:translateY(17px);opacity:0}}@keyframes tm-scroll-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.tm-scroll-touch{display:none}@media (hover: none) and (pointer: coarse){.tm-scroll-wheel{display:none}.tm-scroll-touch{display:inline}}@media (prefers-reduced-motion: reduce){.is-ready .tm-scroll-mouse{animation:tm-scroll-in .9s ease .5s forwards}.tm-scroll-mouse:after{animation:none}.tm-scroll-mouse:after{opacity:1}}.tm-moment{position:absolute;left:0;top:0;margin:0;will-change:transform;transition:opacity .5s ease}.tm-moment-dot{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--tm-route);box-shadow:0 0 0 2.5px var(--tm-cream),0 1px 6px #00000059;transform:scale(0);transition:transform .4s cubic-bezier(.16,1,.3,1)}.tm-moment-leader{position:absolute;left:-.75px;bottom:7px;width:1.5px;height:70px;background:var(--tm-cream);box-shadow:0 0 4px #0000004d;transform-origin:bottom;transform:scaleY(0);transition:transform .5s cubic-bezier(.5,0,.2,1) .15s}.tm-moment-mat{position:absolute;left:-69px;bottom:77px;width:138px;padding:5px;background:var(--tm-cream);border-radius:7px;box-shadow:0 10px 30px #140c0859,0 2px 6px #140c0840;opacity:0;transform:translateY(12px) scale(.9);transform-origin:bottom center;transition:opacity .5s ease .5s,transform .7s cubic-bezier(.16,1,.3,1) .5s}.tm-moment-mat img{display:block;width:128px;height:96px;object-fit:cover;border-radius:5px}.tm-moment figcaption{position:absolute;left:14px;top:-6px;white-space:nowrap;font:500 10.5px/1 Karla,system-ui,sans-serif;letter-spacing:.08em;color:var(--tm-cream);text-shadow:0 1px 4px rgba(0,0,0,.6);opacity:0;transition:opacity .5s ease .8s}.tm-moment.is-shown .tm-moment-dot{transform:scale(1)}.tm-moment.is-shown .tm-moment-leader{transform:scaleY(1)}.tm-moment.is-shown .tm-moment-mat{opacity:1;transform:none}.tm-moment.is-shown figcaption{opacity:1}.tm-moment:not(.is-shown) *{transition-delay:0s;transition-duration:.25s}.is-closing .tm-moment{opacity:0}.tm-close{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,72px);padding:96px clamp(24px,6vw,96px) 48px;box-sizing:border-box}.tm-close.is-text-only{grid-template-columns:minmax(0,1fr);justify-items:center}.tm-close.is-text-only .tm-close-text{justify-self:center}.tm-close-text{position:relative;justify-self:end;max-width:400px;opacity:0;will-change:opacity,transform}.tm-close-text:before{content:"";position:absolute;top:-90px;right:-110px;bottom:-90px;left:-110px;z-index:-1;background:radial-gradient(closest-side,#f5f0e6d1,#f5f0e68c 55%,#f5f0e600);filter:blur(8px)}.tm-close-line{margin:16px 0 12px;font:italic 400 clamp(20px,2.2vw,26px) / 1.25 "Newsreader",Georgia,serif;color:var(--tm-ink)}.tm-close-sub{margin:0 0 26px;font:400 15px/1.5 Karla,system-ui,sans-serif;color:#2b1d17c7}.tm-close-cta,.tm-button,.tm-header-cta{display:inline-block;padding:12px 26px;border-radius:999px;background:var(--tm-route);color:var(--tm-cream);font:600 14px/1 Karla,system-ui,sans-serif;letter-spacing:.02em;text-decoration:none;box-shadow:0 6px 20px #7828144d;transition:background .2s ease}.tm-close-cta:hover,.tm-button:hover,.tm-header-cta:hover{background:#9e4230}.tm-close-cta:focus-visible,.tm-button:focus-visible,.tm-header-cta:focus-visible,.tm-header-skip:focus-visible,.tm-header-logo:focus-visible{outline:2px solid var(--tm-ink);outline-offset:3px}.tm-poster{justify-self:start;margin:0;height:min(78vh,900px);aspect-ratio:5 / 7;max-width:100%;opacity:0;transform-origin:50% 80%;will-change:opacity,transform}.tm-poster img{display:block;width:100%;height:100%;object-fit:contain;background:#fbf6f0;box-shadow:0 0 0 1px #2b1d1714,0 2px 4px #140c081f,0 24px 60px #140c0859,0 60px 120px #140c0840}@media (max-width: 760px){.tm-close{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start;justify-items:center;padding:84px 20px 28px;gap:18px;text-align:center}.tm-close-text{justify-self:center}.tm-close-sub{display:none}.tm-close-line{margin:8px 0 16px;font-size:18px}.tm-close-word{width:min(260px,70vw);margin:0 auto}.tm-poster{justify-self:center;height:auto;width:min(78vw,380px)}}.tm-header{--tm-ink: #2b1d17;--tm-cream: #fbf6f0;--tm-route: #c0553b;position:fixed;top:14px;left:50%;z-index:10;display:flex;align-items:center;gap:24px;width:min(1080px,calc(100vw - 28px));box-sizing:border-box;padding:8px 8px 8px 20px;transform:translate(-50%);border-radius:999px;background:#fbf6f0b8;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px #fff9 inset,0 8px 30px #140c081f;transition:background .3s ease}.tm-header.is-solid{background:#fbf6f0f5}.tm-header-logo{display:block;width:150px;color:var(--tm-ink);opacity:0;transition:opacity .6s ease}.has-logo .tm-header-logo{opacity:1}.tm-header-logo svg{display:block;width:100%;height:auto}.tm-header-logo svg path[stroke]{stroke:var(--tm-route)}.tm-header-logo svg circle{fill:var(--tm-route)}.tm-header-nav{display:flex;align-items:center;gap:8px;margin-left:auto}.tm-header-skip{padding:10px 14px;white-space:nowrap;border:0;border-radius:999px;background:none;font:500 14px/1 Karla,system-ui,sans-serif;color:var(--tm-ink);cursor:pointer}.tm-header-skip:hover{background:#2b1d170f}.tm-header-cta{padding:10px 20px;box-shadow:none;white-space:nowrap}.tm-cta-short{display:none}@media (max-width: 560px){.tm-cta-long{display:none}.tm-cta-short{display:inline}}.tm-header-lang{min-width:40px;padding:10px;border:0;border-radius:999px;background:none;font:600 13px/1 Karla,system-ui,sans-serif;letter-spacing:.06em;color:var(--tm-ink);cursor:pointer}.tm-header-lang:hover{background:#2b1d170f}.is-solid .tm-header-skip{display:none}@media (max-width: 480px){.tm-header{gap:10px;padding-left:14px}.tm-header-logo{width:112px}.tm-header-skip{padding:10px 8px;font-size:13px}.tm-header-cta{padding:10px 14px;font-size:13px}}.tm-skiplink{position:fixed;top:-100px;left:16px;z-index:20;padding:10px 14px;background:#fbf6f0;color:#2b1d17;font:600 14px Karla,sans-serif}.tm-skiplink:focus{top:16px}.tm-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tm-page{scroll-margin-top:80px;--tm-ink: #2b1d17;--tm-route: #c0553b;position:relative;z-index:5;background:#fbf6f0;color:var(--tm-ink);font:400 17px/1.55 Karla,system-ui,sans-serif;box-shadow:0 -30px 60px #140c082e}.tm-page section{max-width:1080px;margin:0 auto;padding:clamp(72px,10vw,128px) clamp(20px,5vw,48px)}.tm-page h2{margin:0 0 40px;font:400 clamp(32px,4.4vw,52px) / 1.1 "Newsreader",Georgia,serif;letter-spacing:-.01em;text-wrap:balance}.tm-page .tm-how{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,96px);align-items:center}.tm-how-art{position:relative;margin:0;padding:4% 8%}.tm-how-poster{display:block;width:100%;height:auto;transform:rotate(-1.2deg);box-shadow:0 2px 4px #140c081a,0 24px 48px #140c0829}.tm-steps{margin:0;padding:0;list-style:none}.tm-steps li{padding:22px 0;border-top:1px solid rgba(43,29,23,.12)}.tm-steps li:first-child{border-top:0;padding-top:0}.tm-steps h3{margin:0 0 6px;font:600 20px/1.3 Karla,sans-serif}.tm-steps p{margin:0;max-width:46ch;font-size:16px;color:#2b1d17bf}@media (max-width: 860px){.tm-page .tm-how{grid-template-columns:minmax(0,1fr)}.tm-how-art{width:min(100%,440px);margin:0 auto}}.tm-get{border-top:1px solid rgba(43,29,23,.1)}.tm-get-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tm-get-col{padding-right:clamp(24px,4vw,56px)}.tm-get-col+.tm-get-col{padding:0 0 0 clamp(24px,4vw,56px);border-left:1px solid rgba(43,29,23,.12)}.tm-get-price{margin:0 0 14px;font:400 clamp(24px,2.6vw,30px) / 1.2 "Newsreader",Georgia,serif}.tm-get-col ul{margin:0;padding:0;list-style:none}.tm-get-col li{position:relative;margin:0 0 8px;padding-left:22px;color:#2b1d17c7}.tm-get-col li:before{content:"";position:absolute;left:0;top:.78em;width:10px;height:2px;border-radius:1px;background:var(--tm-route)}@media (max-width: 640px){.tm-get-cols{grid-template-columns:minmax(0,1fr);gap:32px}.tm-get-col{padding:0}.tm-get-col+.tm-get-col{padding:32px 0 0;border-left:0;border-top:1px solid rgba(43,29,23,.12)}}.tm-wall{text-align:center;border-top:1px solid rgba(43,29,23,.1)}.tm-wall-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);align-items:center;margin:8px 0 44px}.tm-wall-row img{width:100%;height:auto;object-fit:cover;background:#efe8dd;box-shadow:0 1px 2px #140c081f,0 12px 30px #140c0824}.tm-wall-poster{aspect-ratio:5 / 7}.tm-wall-photo{aspect-ratio:4 / 5;border:5px solid #fff;border-bottom-width:16px;transform:rotate(2.5deg) scale(.86)}.tm-wall-photo:nth-child(4){transform:rotate(-3deg) scale(.86) translateY(-6%)}.tm-wall-photo:nth-child(6){transform:rotate(1.5deg) scale(.86) translateY(5%)}@media (max-width: 760px){.tm-wall-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-wall-row img:nth-child(n+5){display:none}}.tm-wall-p{max-width:560px;margin:0 auto 28px;color:#2b1d17c7}.tm-note{margin:14px 0 0;font-size:13px;color:#2b1d1799}.tm-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;max-width:1080px;margin:0 auto;padding:28px clamp(20px,5vw,48px) 40px;border-top:1px solid rgba(43,29,23,.1);font-size:13px;color:#2b1d1799}.tm-footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;width:100%}.tm-footer-links a,.tm-footer-links .legal-optout{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#2b1d1740}.tm-footer-links a:hover,.tm-footer-links .legal-optout:hover{color:var(--tm-ink);text-decoration-color:currentColor}@media (prefers-reduced-motion: reduce){.flyover-brand *{transition:none!important}}
