:root{--bg:#ffffff;--bg-strong:#f5f5f7;--panel:#ffffff;--panel-strong:#ffffff;--ink:#1d1d1f;--muted:#6e6e73;--muted-strong:#424245;--line:rgba(29,29,31,0.12);--line-strong:rgba(29,29,31,0.2);--accent:#0071e3;--accent-strong:#0071e3;--accent-soft:#e8f2ff;--warm:#6e6e73;--blue:#0071e3;--shadow:0 18px 44px rgba(29,29,31,0.08);--radius:8px;--button-radius:980px;--ease-standard:cubic-bezier(0.25,0.1,0.25,1);--duration-standard:240ms}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{max-width:100%;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,ui-sans-serif,system-ui,sans-serif;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,input,select,textarea{touch-action:manipulation}button{border:0;cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.48}::selection{background:var(--accent);color:white}.site-shell{min-height:100vh}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;grid-gap:24px;gap:24px;align-items:center;padding:16px 56px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.brand,.download-grid,.footer-social,.header-action,.primary-nav,.tool-actions{display:flex;align-items:center}.brand{gap:10px;min-width:180px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;color:var(--accent-strong);background:var(--bg-strong)}.brand-mark img{display:block;width:20px;height:20px}.brand strong{display:block;font-size:.98rem;line-height:1.05;font-weight:600}.brand small{color:var(--muted);display:block;font-size:.78rem}.primary-nav{justify-content:center;gap:24px;color:var(--muted);font-size:.88rem;font-weight:500;min-width:0}.footer-group a,.primary-nav a{transition:color var(--duration-standard) var(--ease-standard)}.primary-nav a{flex:0 0 auto;white-space:nowrap}.footer-group a:hover,.primary-nav a:hover{color:var(--accent-strong)}.header-action{justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--button-radius);color:white;background:var(--accent);font-size:.88rem;font-weight:600;transition:transform var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.header-action:hover{background:#0077ed;transform:translateY(-1px)}.header-controls{display:flex;justify-content:flex-end;gap:8px;align-items:center}.header-controls,.language-switcher{position:relative}.language-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--ink);background:white;font-size:.86rem;font-weight:600;transition:color var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.language-trigger:hover,.language-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.language-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;width:248px;padding:6px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(29,29,31,.14);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.language-menu button{display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;align-items:center;min-height:48px;padding:8px 10px;border-radius:8px;color:var(--ink);background:transparent;text-align:left;transition:color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.language-menu button.active,.language-menu button:hover{color:var(--accent);background:var(--accent-soft)}.language-menu small,.language-menu strong{display:block}.language-menu strong{color:currentColor;font-size:.86rem;line-height:1.15}.language-menu small{margin-top:2px;color:var(--muted);font-size:.76rem;line-height:1.25}.page-main{width:100%}.tool-shell{width:min(1440px,calc(100% - 48px));margin:32px auto 0;padding:32px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.tool-shell-compact{margin-top:20px}.tool-topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:.76rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.tool-title{margin:0;color:var(--ink);font-size:1.06rem;font-weight:600;line-height:1.2;letter-spacing:0}.content-hero h1,.hero-copy h1{margin:0;color:var(--ink);font-size:64px;font-weight:700;line-height:1.06;letter-spacing:0;overflow-wrap:break-word}.tool-actions{gap:8px}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--ink);background:var(--panel-strong);transition:color var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.icon-button:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);grid-gap:24px;gap:24px;align-items:flex-start;min-width:0}.tiktok-tool-layout{grid-template-columns:minmax(320px,390px) minmax(0,1fr)}.article-card,.contact-card,.control-panel,.legal-panel,.preview-panel,.resource-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-strong)}.preview-panel{overflow:hidden;min-width:0}.preview-heading,.tile-preview-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px;border-bottom:1px solid var(--line);background:var(--bg-strong)}.preview-heading h2{margin:0;font-size:1.08rem;font-weight:600;line-height:1.15}.preview-heading p,.tile-preview-header span{margin:4px 0 0;color:var(--muted);font-size:.86rem}.tile-preview-header{border-top:1px solid var(--line)}.tile-preview-header strong{display:block}.tile-preview-header>span{flex:0 0 auto;margin:0;padding:5px 10px;border:1px solid var(--line);border-radius:var(--button-radius);background:white;font-weight:600}.canvas-frame{position:relative;display:grid;place-items:center;height:680px;max-height:min(78vh,820px);overflow:auto;padding:24px;background:var(--bg-strong)}.canvas-frame canvas{display:block;width:auto;height:auto;max-width:100%;max-height:min(72vh,760px);border-radius:6px;background:white;box-shadow:0 18px 44px rgba(29,29,31,.12)}.splitter-canvas-empty{opacity:0;pointer-events:none}.splitter-empty-preview{position:absolute;inset:24px;display:grid;place-items:center;align-content:center;grid-gap:10px;gap:10px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:white;color:var(--muted);text-align:center}.splitter-empty-preview strong{color:var(--ink)}.tiktok-preview-frame{min-height:520px;background-image:linear-gradient(90deg,rgba(29,29,31,.07) 1px,transparent 0),linear-gradient(rgba(29,29,31,.07) 1px,transparent 0);background-size:24px 24px}.tiktok-result-image{display:block;width:auto;height:auto;max-width:100%;max-height:min(72vh,680px);border:1px solid var(--line);border-radius:6px;background:white;box-shadow:0 18px 44px rgba(29,29,31,.12);transition:opacity var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.tiktok-result-image.is-updating{opacity:.7}.tiktok-empty-preview{position:relative;display:grid;place-items:center;width:min(420px,100%);aspect-ratio:1;border:1px solid var(--line);background:var(--panel);color:var(--accent)}.tiktok-empty-preview div{position:absolute;inset:32px;border:2px solid var(--ink)}.tiktok-empty-preview:after,.tiktok-empty-preview:before{position:absolute;content:"";background:var(--ink);opacity:.9}.tiktok-empty-preview:before{top:32px;bottom:32px;left:50%;width:1px}.tiktok-empty-preview:after{right:32px;left:32px;top:50%;height:1px}.hidden-reference{display:none}.preview-meta{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:white}.preview-meta span{padding:5px 10px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--muted);background:var(--bg-strong);font-size:.82rem;font-weight:500}.control-panel{position:-webkit-sticky;position:sticky;top:82px;align-self:start;display:grid;grid-gap:16px;gap:16px;min-width:0;max-height:calc(100vh - 104px);overflow-y:auto;scrollbar-gutter:stable;padding:16px}.drop-zone{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;min-height:80px;padding:16px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--bg-strong);transition:border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.drop-zone input,.hidden-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.drop-zone strong,.resource-card strong{display:block}.article-card p,.contact-card p,.drop-zone small,.footer-brand p,.guide-meta,.legal-panel p,.resource-card small{color:var(--muted)}.drop-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--button-radius);color:var(--accent-strong);background:white}.drop-zone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.tiktok-upload-card{display:flex;min-height:176px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:white;text-align:center}.tiktok-upload-card strong{color:var(--ink);font-weight:600}.tiktok-upload-card small{max-width:260px;color:var(--muted);font-size:.88rem;line-height:1.5}.tiktok-upload-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:4px;padding:0 18px;border:1px solid var(--accent);border-radius:var(--button-radius);color:white;background:var(--accent);font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.tiktok-upload-button:hover{background:#0077ed;transform:translateY(-1px)}.tiktok-photo-actions input,.tiktok-upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tiktok-sample-button{border-style:dashed}.tiktok-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.tiktok-photo-thumb{position:relative;overflow:hidden;aspect-ratio:1;border:1px solid var(--line);border-radius:6px;background:var(--bg-strong)}.tiktok-photo-thumb.is-unused img{opacity:.36}.tiktok-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}.tiktok-photo-thumb span{position:absolute;top:4px;left:4px;min-width:18px;padding:2px 5px;border-radius:999px;color:white;background:rgba(29,29,31,.68);font-size:.68rem;font-weight:700;text-align:center}.tiktok-photo-thumb button{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:var(--button-radius);color:white;background:rgba(29,29,31,.68);opacity:0;transition:opacity var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.tiktok-photo-thumb button:focus-visible,.tiktok-photo-thumb:hover button{opacity:1}.tiktok-photo-actions{display:flex;gap:8px}.tiktok-photo-actions .secondary-tool-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.tiktok-photo-note{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.control-group{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-strong)}.control-heading{display:flex;gap:8px;align-items:center;color:var(--accent-strong)}.control-heading h3,.control-heading strong{margin:0;color:var(--ink);font-size:1rem;font-weight:600;line-height:1.15}.control-subtitle{margin:0 0 8px;color:var(--muted);font-size:.82rem;font-weight:500}.segmented-control{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px;padding:4px;border:0;border-radius:var(--button-radius);background:#e8e8ed}.segmented-control button{min-height:40px;border:0;border-radius:var(--button-radius);color:var(--muted);background:transparent;font-size:.84rem;font-weight:600;transition:color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.segmented-control button.active{color:white;background:var(--accent)}.segmented-control-three{grid-template-columns:repeat(3,1fr)}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.preset-grid button,.secondary-tool-button{min-height:40px;border:1px solid var(--accent);border-radius:var(--button-radius);background:transparent;color:var(--accent);font-size:.84rem;font-weight:600;transition:color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.preset-grid button{display:grid;place-items:center;grid-gap:2px;gap:2px;padding:8px 6px}.preset-grid button small{color:var(--muted);font-size:.72rem;font-weight:500}.preset-grid button.active{border-color:var(--accent);background:var(--accent);color:white}.preset-grid button.active small{color:rgba(255,255,255,.82)}.preset-grid button:hover,.secondary-tool-button:hover{background:var(--accent-soft);transform:translateY(-1px)}.secondary-tool-button{width:100%}.primary-download:disabled,.secondary-tool-button:disabled,.tiktok-preview-download:disabled{cursor:not-allowed;opacity:.45;transform:none}.tiktok-featured-layouts{display:grid;grid-gap:8px;gap:8px}.tiktok-featured-layouts button{display:flex;align-items:center;gap:12px;min-height:52px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:white;text-align:left;transition:color var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.tiktok-featured-layouts button:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-1px)}.tiktok-featured-layouts button.active{border-color:var(--accent);color:white;background:var(--accent)}.tiktok-featured-layouts small,.tiktok-featured-layouts strong{display:block}.tiktok-featured-layouts strong{font-size:.86rem;font-weight:600}.tiktok-featured-layouts small{margin-top:2px;color:currentColor;font-size:.76rem;opacity:.74}.grid-glyph{display:grid;flex:0 0 auto;grid-gap:2px;gap:2px}.grid-glyph span{border-radius:2px;background:rgba(29,29,31,.24)}.active .grid-glyph span,.grid-glyph.is-active span{background:rgba(255,255,255,.82)}.tiktok-layout-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tiktok-layout-grid button{gap:4px}.tiktok-shape-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.photo-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.auto-fit-button,.photo-action-grid .secondary-tool-button{display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:0 10px}.photo-stack{grid-gap:8px;max-height:178px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:var(--radius)}.photo-stack,.photo-stack-item{display:grid;gap:8px;background:white}.photo-stack-item{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:8px;min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:6px}.photo-stack-item span{min-width:0;overflow:hidden;color:var(--ink);font-size:.82rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.photo-stack-item small{color:var(--muted);font-size:.72rem;font-weight:600}.photo-stack-item button{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--muted);background:white}.print-guide-copy{gap:6px}.print-guide-copy,.secondary-tool-link{display:inline-flex;justify-content:center;align-items:center}.secondary-tool-link{padding:0 12px;color:var(--accent);text-align:center}.range-row,.select-row,.style-grid label,.toggle-row{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:.9rem}.range-row{grid-template-columns:70px minmax(0,1fr) 46px;align-items:center}.range-row input[type=number],.range-row output{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.range-row input[type=number]{width:46px;min-height:40px;padding:0 6px;border:1px solid var(--line);border-radius:var(--button-radius);background:white}.range-row input[type=range]{accent-color:var(--accent)}.style-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.select-row select,.style-grid input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:var(--button-radius);background:white;color:var(--ink)}.style-grid input[type=color]{padding:4px}.style-grid input[type=number]{padding:0 10px}.toggle-row{grid-template-columns:auto 1fr;align-items:center}.toggle-row input{width:18px;height:18px;accent-color:var(--accent)}.select-row{grid-template-columns:70px 1fr;align-items:center}.select-row select{padding:0 10px}.split-summary{display:grid;grid-template-columns:70px auto 1fr;align-items:center;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:white;color:var(--muted)}.split-summary strong{color:var(--ink);font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.split-summary small{min-width:0;font-size:.76rem;font-weight:700;text-align:right}.print-guide-list{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:white;color:var(--muted);font-size:.82rem;line-height:1.35}.print-guide-list span{min-width:0}.download-grid{gap:8px}.download-grid button{flex:1 1;display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:44px;border:1px solid var(--accent);border-radius:var(--button-radius);color:var(--accent);background:transparent;font-weight:600;transition:color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.download-grid button.primary-download{border-color:var(--accent);background:var(--accent);color:white}.download-grid button:hover{background:var(--accent-soft);transform:translateY(-1px)}.download-grid button.primary-download:hover{background:#0077ed}.tiktok-preview-download{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--accent);border-radius:var(--button-radius);color:white;background:var(--accent);font-weight:600;transition:background-color var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.tiktok-preview-download:hover:not(:disabled){background:#0077ed;transform:translateY(-1px)}.palette-strip,.swatch-row,.tile-preview-grid{display:grid;grid-gap:6px;gap:6px}.swatch-row{grid-template-columns:repeat(5,32px) 1fr;align-items:center}.swatch-row button,.swatch-row input{width:32px;height:32px;border:1px solid var(--line);border-radius:var(--button-radius)}.swatch-row button.active{outline:3px solid rgba(0,113,227,.24);outline-offset:2px}.tiktok-swatch-row{grid-template-columns:repeat(5,32px) 32px}.photo-to-grid-layout{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:flex-start}.photo-to-grid-controls{min-width:0}.photo-reference-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:white}.photo-reference-card img{width:72px;height:72px;border-radius:6px;object-fit:cover}.photo-reference-card small,.photo-reference-card strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-reference-card strong{color:var(--ink);font-size:.9rem;font-weight:600}.photo-reference-card small,.photo-to-grid-note{color:var(--muted);font-size:.82rem;line-height:1.5}.photo-reference-card button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--muted);background:white;transition:color var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.photo-reference-card button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.photo-reference-upload{min-height:188px}.photo-to-grid-error,.photo-to-grid-note{margin:0}.photo-to-grid-error{color:#b42318;font-size:.84rem;line-height:1.5}.photo-sample-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.photo-grid-mode-cards button,.photo-paper-cards button,.photo-sample-row button{border:1px solid var(--line);border-radius:var(--radius);background:white;color:var(--ink);transition:color var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.photo-sample-row button{min-height:38px;padding:0 10px;color:var(--muted);font-size:.78rem;font-weight:600}.photo-grid-mode-cards button:hover,.photo-paper-cards button:hover,.photo-sample-row button:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-1px)}.photo-grid-mode-cards,.photo-paper-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.photo-grid-mode-cards button,.photo-paper-cards button{display:grid;grid-gap:4px;gap:4px;min-height:64px;padding:10px;text-align:left}.photo-grid-mode-cards button.active,.photo-paper-cards button.active{border-color:var(--accent);color:white;background:var(--accent)}.photo-grid-mode-cards small,.photo-grid-mode-cards strong,.photo-paper-cards small,.photo-paper-cards strong{display:block}.photo-grid-mode-cards strong,.photo-paper-cards strong{font-size:.86rem;font-weight:600;line-height:1.15}.photo-grid-mode-cards small,.photo-paper-cards small{color:currentColor;font-size:.74rem;line-height:1.3;opacity:.72}.photo-to-grid-range{grid-template-columns:72px minmax(0,1fr) 58px}.photo-measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.photo-measure-grid span{display:grid;grid-gap:2px;gap:2px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:white}.photo-measure-grid small,.photo-measure-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-measure-grid strong{color:var(--ink);font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.photo-measure-grid small{color:var(--muted);font-size:.72rem;font-weight:600}.photo-switch-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:white;color:var(--ink);text-align:left;transition:border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.photo-switch-row>span:first-child{min-width:0;color:var(--ink);font-size:.84rem;font-weight:600;line-height:1.35}.photo-switch-row>span:last-child{position:relative;width:42px;height:24px;border-radius:var(--button-radius);background:#d2d2d7;transition:background-color var(--duration-standard) var(--ease-standard)}.photo-switch-row>span:last-child:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white;box-shadow:0 1px 3px rgba(29,29,31,.24);transition:transform var(--duration-standard) var(--ease-standard)}.photo-switch-row.active{border-color:rgba(0,113,227,.36);background:var(--accent-soft)}.photo-switch-row.active>span:last-child{background:var(--accent)}.photo-switch-row.active>span:last-child:after{transform:translateX(18px)}.photo-to-grid-preview-frame{min-height:640px;background-color:#f5f5f7}.photo-to-grid-result{max-height:min(72vh,720px)}.photo-to-grid-mobile-action{display:none;padding:12px 16px;border-top:1px solid var(--line);background:white}.photo-to-grid-mobile-action .tiktok-preview-download{width:100%}.photo-effect-mode-grid,.photo-effect-segment{display:grid;grid-gap:8px;gap:8px}.photo-effect-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-effect-mode-grid button,.photo-effect-segment button{border:1px solid var(--line);border-radius:var(--radius);background:white;color:var(--ink);transition:color var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.photo-effect-mode-grid button{display:grid;grid-gap:4px;gap:4px;min-height:64px;padding:10px;text-align:left}.photo-effect-mode-grid button:hover,.photo-effect-segment button:hover{border-color:var(--accent);transform:translateY(-1px)}.photo-effect-mode-grid button.active,.photo-effect-segment button.active{border-color:var(--accent);color:white;background:var(--accent)}.photo-effect-mode-grid small,.photo-effect-mode-grid strong{display:block}.photo-effect-mode-grid strong{font-size:.86rem;font-weight:600;line-height:1.15}.photo-effect-mode-grid small{color:currentColor;font-size:.74rem;line-height:1.3;opacity:.72}.photo-effect-segment{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.photo-effect-segment button{min-height:38px;padding:0 10px;color:var(--muted);font-size:.78rem;font-weight:600;text-transform:capitalize}.effect-settings{display:grid;grid-gap:12px;gap:12px}.effect-url-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.effect-url-form button,.effect-url-form input{min-height:40px;border-radius:var(--button-radius)}.effect-url-form input{min-width:0;border:1px solid var(--line);background:white;color:var(--ink);padding:0 12px}.effect-apply-button,.effect-url-form button{border:1px solid var(--accent);background:var(--accent);color:white;font-weight:600}.effect-apply-button{min-height:44px;border-radius:var(--button-radius)}.effect-grid-download{min-height:44px;border:1px solid var(--accent);border-radius:var(--button-radius);background:transparent;color:var(--accent);font-weight:600}.effect-grid-download:hover{background:var(--accent-soft)}.effect-apply-button:disabled,.effect-grid-download:disabled{cursor:not-allowed;opacity:.45}.photo-effects-preview-frame{min-height:640px}.effect-preview-stack{position:relative;display:grid;place-items:center;width:100%}.photo-effects-result{max-height:min(72vh,720px)}.effect-compare-button{position:absolute;top:12px;right:12px;min-height:40px;border:1px solid var(--line);border-radius:var(--button-radius);background:rgba(255,255,255,.94);color:var(--ink);padding:0 14px;font-size:.78rem;font-weight:600;box-shadow:0 10px 28px rgba(29,29,31,.12)}.palette-strip{grid-template-columns:repeat(auto-fit,minmax(28px,1fr));padding:12px;border-top:1px solid var(--line);background:white}.palette-strip span{min-height:28px;border:1px solid var(--line);border-radius:4px}.tile-preview-grid{padding:12px;background:white}.tile-preview-grid button{position:relative;display:block;min-width:0;padding:0;border:0;background:transparent;cursor:pointer}.tile-preview-grid button:focus-visible{outline:3px solid rgba(0,113,227,.24);outline-offset:2px}.tile-preview-grid button span{position:absolute;top:5px;left:5px;z-index:1;min-width:24px;padding:3px 5px;border-radius:4px;background:rgba(29,29,31,.82);color:white;font-size:.68rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile-preview-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:4px;background:white}.posting-order-panel{display:grid;grid-gap:12px;gap:12px;padding:14px;border-top:1px solid var(--line);background:white}.posting-order-panel>div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.86rem}.posting-order-panel strong{color:var(--ink)}.posting-order-panel ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px 12px;gap:6px 12px;margin:0;padding-left:20px;color:var(--muted);font-size:.78rem}.posting-order-panel li{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.before-after-section{width:min(1120px,calc(100% - 32px));margin:64px auto 0;padding:48px 0 8px}.comparison-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.comparison-heading h2{max-width:620px}.comparison-frame{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.comparison-pane{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-strong);box-shadow:0 18px 44px rgba(29,29,31,.08)}.comparison-pane-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--bg-strong)}.comparison-pane-heading span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:var(--button-radius);color:white;background:var(--accent);font-size:.82rem;font-weight:600}.comparison-pane:first-child .comparison-pane-heading span{background:var(--muted-strong)}.comparison-pane-heading strong{font-size:1rem}.sample-art{position:relative;min-height:340px;aspect-ratio:4/3;overflow:hidden;background:var(--bg-strong)}.sample-note{left:9%;top:16%;z-index:2;padding:10px 18px;border:1px solid var(--line);border-radius:var(--button-radius);background:rgba(255,255,255,.82);color:var(--ink);font-size:1rem}.sample-curve,.sample-grid-label,.sample-grid-overlay,.sample-note,.sample-shape{position:absolute}.sample-shape{display:block;border-radius:999px}.sample-shape-dark{left:39%;top:36%;width:22%;aspect-ratio:1;background:var(--ink)}.sample-shape-warm{left:55%;top:52%;width:20%;aspect-ratio:1;background:var(--muted)}.sample-curve{left:15%;bottom:20%;width:68%;height:22%;border-bottom:3px solid rgba(29,29,31,.38);border-radius:50%;transform:rotate(-2deg)}.sample-grid-overlay{inset:0;z-index:4;background:linear-gradient(90deg,rgba(29,29,31,.5) 1px,transparent 0),linear-gradient(rgba(29,29,31,.5) 1px,transparent 0);background-size:calc(100% / 6) calc(100% / 5);box-shadow:inset 0 0 0 2px rgba(29,29,31,.56);pointer-events:none}.sample-grid-label{z-index:5;color:var(--ink);font-size:.78rem;font-weight:600;line-height:1}.sample-grid-label-a{left:2%;top:8%}.sample-grid-label-b{left:2%;top:28%}.sample-grid-label-c{left:2%;top:48%}.sample-grid-label-1{left:9%;top:2%}.sample-grid-label-2{left:25%;top:2%}.sample-grid-label-3{left:42%;top:2%}.hero-copy{width:min(1120px,calc(100% - 32px));margin:72px auto 0;display:grid;grid-gap:16px;gap:16px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid var(--accent);border-radius:var(--button-radius);background:transparent;color:var(--accent);font-weight:600;transition:background-color var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.hero-actions a:first-child{border-color:var(--accent);background:var(--accent);color:white}.hero-actions a:hover{background:var(--accent-soft);transform:translateY(-1px)}.hero-actions a:first-child:hover{background:#0077ed}.content-hero p,.hero-copy p{margin:0;max-width:760px;color:var(--muted);font-size:1.08rem;line-height:1.5}.article-body,.content-band,.content-hero,.site-footer{width:min(1120px,calc(100% - 32px));margin:0 auto}.content-band{padding:64px 0}.section-heading{margin-bottom:24px}.section-copy{max-width:760px;margin:-8px 0 18px;color:var(--muted);font-size:1.05rem}.section-heading p{margin:0 0 6px;color:var(--muted);font-weight:600;text-transform:uppercase;font-size:.78rem}.article-body h2,.section-heading h2{margin:0;font-size:40px;font-weight:700;letter-spacing:0;line-height:1.1}.article-grid,.link-grid,.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;min-width:0}.related-tool-group{display:grid;grid-gap:10px;gap:10px}.related-tool-group+.related-tool-group{margin-top:18px}.related-tool-group-label{margin:0;color:var(--muted);font-size:.82rem;font-weight:600;letter-spacing:0;text-transform:uppercase}.article-card,.contact-card,.resource-card{padding:20px}.resource-card{display:flex;justify-content:space-between;gap:14px;min-height:132px;transition:border-color var(--duration-standard) var(--ease-standard),box-shadow var(--duration-standard) var(--ease-standard),transform var(--duration-standard) var(--ease-standard)}.resource-card>span{min-width:0}.resource-card:hover{transform:translateY(-2px);border-color:rgba(0,113,227,.38);box-shadow:0 12px 32px rgba(29,29,31,.08)}.article-card{min-height:190px}.article-card h2,.article-card h3,.contact-card h2,.legal-panel h2{margin:0 0 10px;font-size:1.2rem;font-weight:600;line-height:1.16}.resource-card h3{margin:0 0 4px;font-size:1.05rem;font-weight:600;line-height:1.2}.article-card p,.contact-card p,.legal-panel p{margin:0}.article-card a{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:var(--accent);font-weight:600}.faq-accordion{display:grid;grid-gap:8px;gap:8px;max-width:960px}.faq-item{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--duration-standard) var(--ease-standard),box-shadow var(--duration-standard) var(--ease-standard)}.faq-item.is-open{border-color:rgba(0,113,227,.28);box-shadow:0 12px 28px rgba(29,29,31,.06)}.faq-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:24px;color:var(--ink);font:inherit;font-size:1.05rem;font-weight:600;line-height:1.2;text-align:left;background:transparent;border:0;cursor:pointer;transition:color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.faq-trigger:hover{color:var(--accent);background:var(--bg-strong)}.faq-trigger:focus-visible{outline:3px solid rgba(0,113,227,.28);outline-offset:-3px}.faq-icon{flex:0 0 auto;color:var(--accent);transition:transform .24s var(--ease-standard)}.faq-item.is-open .faq-icon{transform:rotate(180deg)}.faq-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .26s var(--ease-standard),opacity .22s var(--ease-standard)}.faq-item.is-open .faq-panel{grid-template-rows:1fr;opacity:1}.faq-panel-inner{overflow:hidden}.faq-panel p{margin:0;padding:0 24px 24px;color:var(--muted);font-size:.98rem;line-height:1.5}.content-hero{padding:72px 0 24px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;color:var(--muted);font-size:.9rem}.breadcrumbs a{color:var(--accent);font-weight:600}.article-body{display:grid;grid-gap:24px;gap:24px;padding:32px 0 72px}.article-body section,.legal-panel{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:white}.article-body li,.article-body p{color:var(--muted);font-size:1.02rem}.article-body ul{margin:12px 0 0;padding-left:20px}.guide-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.guide-meta span{padding:6px 10px;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--bg-strong)}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;padding-bottom:64px}.contact-card a{display:inline-flex;margin-top:14px;color:var(--accent);font-weight:600}.site-footer{padding:48px 0 32px;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:2fr repeat(3,1fr);grid-gap:28px;gap:28px}.footer-brand p{max-width:420px}.footer-social{gap:8px}.footer-social a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:var(--button-radius);background:white;transition:color var(--duration-standard) var(--ease-standard),border-color var(--duration-standard) var(--ease-standard),background-color var(--duration-standard) var(--ease-standard)}.footer-social a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.footer-group{display:grid;align-content:start;grid-gap:10px;gap:10px}.footer-group strong{margin:0 0 4px;font-size:.96rem;font-weight:600}.footer-bottom,.footer-group a{color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-size:.88rem}.not-found{width:min(720px,calc(100% - 32px));margin:80px auto;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:white}.not-found a{color:var(--accent);font-weight:600}@media (max-width:1020px){.site-header{grid-template-columns:1fr auto}.primary-nav{grid-column:1/-1;justify-content:flex-start;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.photo-to-grid-layout,.tool-layout{grid-template-columns:1fr}.control-panel{position:static;max-height:none;overflow:visible;scrollbar-gutter:auto}.article-grid,.comparison-frame,.footer-main,.link-grid,.value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.site-header{grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:16px}.brand{min-width:0}.brand small,.header-action span{display:none}.header-controls{grid-column:2;grid-row:1}.header-action{width:44px;min-height:44px;padding:0}.language-trigger{min-width:44px;min-height:44px;padding:0 10px}.language-trigger svg:first-child{display:none}.language-menu{right:-48px;width:min(248px,calc(100vw - 32px))}.primary-nav{grid-row:2;gap:16px;margin-inline:-16px;padding:0 16px 4px}.primary-nav a{display:inline-flex;align-items:center;min-height:36px}.tool-shell{width:calc(100% - 32px);margin-top:16px;padding:16px}.tool-topline{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:18px}.tool-actions{flex-wrap:wrap}.icon-button{width:44px;height:44px}.content-hero h1,.hero-copy h1{font-size:44px;line-height:1.08}.tool-title{font-size:1.06rem}.article-body h2,.section-heading h2{font-size:32px}.before-after-section{width:calc(100% - 32px);margin-top:32px;padding-top:32px}.comparison-heading{display:block}.sample-art{min-height:260px}.canvas-frame{height:340px;max-height:72vh;padding:16px}.splitter-empty-preview{inset:16px}.preview-heading,.tile-preview-header{flex-direction:column;gap:10px;padding:14px}.preview-heading h2{font-size:1rem}.control-group,.control-panel{padding:12px}.drop-zone{grid-template-columns:1fr;justify-items:center;min-height:108px;text-align:center}.drop-icon{width:44px;height:44px}.tiktok-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tiktok-photo-thumb button{width:32px;height:32px;opacity:1}.tiktok-photo-actions{flex-direction:column}.tile-preview-header>span{align-self:flex-start}.photo-effect-mode-grid,.preset-grid,.segmented-control,.segmented-control-three,.style-grid,.tiktok-layout-grid,.tiktok-shape-grid{grid-template-columns:repeat(2,1fr)}.download-grid button,.effect-apply-button,.effect-grid-download,.effect-url-form button,.photo-effect-segment button,.photo-sample-row button,.preset-grid button,.secondary-tool-button,.segmented-control button,.tiktok-preview-download,.tiktok-upload-button{min-height:44px}.effect-url-form,.photo-grid-mode-cards,.photo-measure-grid,.photo-paper-cards,.photo-sample-row,.photo-to-grid-range,.range-row,.select-row{grid-template-columns:1fr}.photo-to-grid-preview-frame{min-height:380px}.photo-to-grid-preview-panel .preview-heading .tiktok-preview-download{display:none}.photo-to-grid-mobile-action{display:block}.photo-action-grid{grid-template-columns:1fr}.photo-reference-card{grid-template-columns:56px minmax(0,1fr) 40px}.photo-reference-card img{width:56px;height:56px}.photo-reference-card button{width:40px;height:40px}.range-row input[type=number]{width:100%;text-align:left}.posting-order-panel ol,.split-summary{grid-template-columns:1fr}.split-summary small{text-align:left}.posting-order-panel>div{flex-direction:column}.posting-order-panel li{overflow:visible;text-overflow:clip;white-space:normal}.download-grid{flex-wrap:wrap}.download-grid button{min-width:calc(50% - 4px)}.article-grid,.comparison-frame,.contact-grid,.footer-main,.link-grid,.value-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.hero-copy{margin-top:48px}.hero-actions a{flex:1 1 100%}.content-band{padding:48px 0}.article-body section,.article-card,.contact-card,.legal-panel,.resource-card{min-height:auto;padding:16px}.faq-trigger{min-height:56px;gap:16px;padding:18px}.faq-panel p{padding:0 18px 18px}.comparison-pane-heading{align-items:flex-start;flex-direction:column}}@media (max-width:430px){.site-header{padding:12px;gap:12px}.brand{gap:8px}.brand-mark{width:30px;height:30px}.brand strong{font-size:.92rem}.header-action,.language-trigger{min-height:44px}.header-action{width:44px}.language-trigger{padding:0 9px}.language-menu{right:-42px;width:min(248px,calc(100vw - 24px))}.primary-nav{gap:12px;margin-inline:-12px;padding-inline:12px}.article-body,.before-after-section,.content-band,.content-hero,.hero-copy,.not-found,.site-footer{width:calc(100% - 24px)}.hero-copy{margin-top:36px}.content-hero h1,.hero-copy h1{font-size:36px}.content-hero p,.hero-copy p,.section-copy{font-size:1rem}.article-body h2,.section-heading h2{font-size:28px}.tool-shell{width:calc(100% - 16px);padding:10px}.posting-order-panel,.preview-heading,.preview-meta,.tile-preview-header{padding:12px}.canvas-frame{height:300px;padding:12px}.splitter-empty-preview{inset:12px}.photo-effects-preview-frame,.tiktok-preview-frame{min-height:360px}.tiktok-empty-preview div{inset:20px}.tiktok-empty-preview:before{top:20px;bottom:20px}.tiktok-empty-preview:after{right:20px;left:20px}.photo-effect-mode-grid,.photo-effect-segment,.preset-grid,.segmented-control,.segmented-control-three,.style-grid,.tiktok-layout-grid{grid-template-columns:1fr}.photo-measure-grid,.tiktok-photo-grid,.tiktok-shape-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swatch-row,.tiktok-swatch-row{grid-template-columns:repeat(6,32px);justify-content:start}.photo-reference-card{grid-template-columns:48px minmax(0,1fr) 40px;gap:10px}.photo-reference-card img{width:48px;height:48px}.photo-stack-item{grid-template-columns:minmax(0,1fr) auto}.photo-stack-item small{grid-column:1/-1;text-align:left}.download-grid button{min-width:100%}.sample-art{min-height:220px}.sample-note{left:6%;top:12%;padding:8px 12px;font-size:.86rem}.site-footer{padding-top:36px}}