.free-tools-page{background:var(--hilvy-surface-base);color:var(--foreground);padding-bottom:2rem}.free-tools-intro{padding-block:7.5rem 1.75rem}.free-tools-back{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;margin-bottom:.75rem;color:var(--hilvy-text-soft);font-size:.875rem}.free-tools-heading-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:2rem 4rem}.free-tools-heading-row .site-title{max-width:15ch;font-size:clamp(2.7rem,4.5vw,4.25rem);line-height:1.08}.free-tools-heading-row .site-lead{margin:0;max-width:36rem;padding-bottom:.2rem}.migration-tool{scroll-margin-top:7rem}.migration-tool-frame{display:grid;grid-template-columns:minmax(17rem,.78fr) minmax(0,1.6fr);border:1px solid var(--hilvy-rule);border-radius:1rem;overflow:clip;background:color-mix(in srgb,var(--hilvy-violet) 3%,var(--hilvy-surface-base))}.migration-scope{padding:1.75rem;background:color-mix(in srgb,var(--hilvy-violet) 5%,var(--hilvy-surface-base));border-right:1px solid var(--hilvy-rule)}.migration-scope fieldset{min-width:0}.migration-panel-heading{display:flex;gap:.8rem;align-items:center;margin-bottom:1.35rem}.migration-panel-heading>.studio-icon-frame{flex-shrink:0;color:var(--hilvy-violet)}.migration-panel-heading h2,.migration-result-heading h2{margin:0;font-size:1.15rem;font-weight:550;line-height:1.4;letter-spacing:-.025em}.migration-panel-heading p{font-size:.8125rem;line-height:1.5;color:var(--hilvy-text-soft);margin-top:.2rem}.migration-tool label{display:block;margin:.9rem 0 .35rem;font-size:.8125rem;font-weight:500;line-height:1.5}.migration-tool label>span{color:var(--hilvy-text-soft);font-weight:400}.migration-tool :is(input:not([type=checkbox]),select,textarea){width:100%;min-width:0;min-height:2.75rem;padding:.6rem .7rem;background:var(--hilvy-surface-base);border:1px solid var(--hilvy-rule);border-radius:.45rem;color:var(--foreground);font:inherit;font-size:1rem;line-height:1.4}.migration-tool input::placeholder,.migration-tool textarea::placeholder{color:color-mix(in srgb,var(--hilvy-text-soft) 60%,transparent)}.migration-tool textarea{resize:vertical}.migration-tool input[type=checkbox]{width:1.1rem;height:1.1rem;flex:0 0 auto;accent-color:var(--hilvy-violet)}.migration-tool select{color-scheme:dark}.migration-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.migration-checks{display:grid;grid-template-columns:1fr 1fr;gap:.1rem .75rem;margin-block:1rem}.migration-checks label{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;margin:0;cursor:pointer;font-weight:400}.migration-origins{border-top:1px solid var(--hilvy-rule)}.migration-tool summary{cursor:pointer;min-height:2.75rem;padding-block:.8rem;font-size:.875rem;line-height:1.5}.migration-origins>p,.migration-import>p{color:var(--hilvy-text-soft);font-size:.8125rem;line-height:1.6}.migration-button{display:inline-flex;justify-content:center;align-items:center;gap:.75rem;min-height:2.75rem;padding:.65rem 1rem;border:1px solid var(--hilvy-rule);border-radius:999px;color:var(--foreground);background:transparent;font-size:.875rem;line-height:1.5;cursor:pointer}.migration-button:hover:not(:disabled){background:color-mix(in srgb,var(--hilvy-violet) 12%,transparent)}.migration-button--primary{width:100%;color:var(--hilvy-surface-base);background:var(--hilvy-text-soft);border-color:transparent;font-weight:550}.migration-button--primary:hover:not(:disabled){background:#fff}.migration-tool button:disabled{opacity:.45;cursor:not-allowed}.migration-quiet-actions{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.4rem}.migration-quiet-actions button,.migration-text-button{min-height:2.75rem;color:var(--hilvy-text-soft);text-decoration:underline;text-underline-offset:.25rem;font-size:.8125rem;cursor:pointer}.migration-small{color:var(--hilvy-text-soft);font-size:.75rem;line-height:1.7;margin-block:.75rem 0}.migration-output{min-width:0;padding:1.5rem 1.75rem 1.75rem}.migration-tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--hilvy-rule)}.migration-tabs button{min-height:2.75rem;padding:.5rem .1rem .85rem;border-bottom:2px solid transparent;font-size:.875rem;color:var(--hilvy-text-soft);cursor:pointer}.migration-tabs button[aria-selected=true]{color:#fff;border-color:var(--hilvy-violet)}.migration-output [hidden]{display:none}.migration-notice{color:var(--hilvy-text-soft);font-size:.8125rem;line-height:1.6;margin-block:.8rem}.migration-notice:empty,.migration-error:empty{display:none}.migration-result-heading{margin-block:1.25rem}.migration-result-heading h2{font-size:1.5rem;overflow-wrap:anywhere}.migration-result-heading p{max-width:42rem;margin-top:.5rem;font-size:.875rem;line-height:1.65;color:var(--hilvy-text-soft)}.migration-empty{padding-block:1.5rem 2rem;max-width:31rem}.migration-empty>.studio-icon{color:var(--hilvy-violet);margin-bottom:1.5rem}.migration-empty h3{font-size:clamp(1.65rem,2.5vw,2.4rem);line-height:1.2;letter-spacing:-.035em}.migration-empty p{margin-block:1rem 1.5rem;line-height:1.7;font-size:.9375rem;color:var(--hilvy-text-soft)}.migration-empty>div{display:flex;flex-wrap:wrap;gap:.5rem}.migration-empty>div>span{font-size:.75rem;padding:.4rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--hilvy-violet) 7%,transparent);color:var(--hilvy-text-soft)}.migration-progress{display:grid;gap:.6rem;margin-bottom:1rem;font-size:.8125rem;color:var(--hilvy-text-soft)}.migration-progress progress{width:100%;height:.3rem;border:0;border-radius:1rem;overflow:hidden;accent-color:var(--hilvy-violet)}.migration-progress progress::-webkit-progress-bar{background:var(--hilvy-rule)}.migration-progress progress::-webkit-progress-value{background:var(--hilvy-violet)}.migration-phases{margin-bottom:1.25rem}.migration-phases>details{border-bottom:1px solid var(--hilvy-rule)}.migration-phases>details>summary{display:flex;gap:.75rem;align-items:center;list-style:none}.migration-phases>details>summary::-webkit-details-marker{display:none}.migration-phases>details>summary>span:first-child{flex:1}.migration-phases>details>summary small{color:var(--hilvy-text-soft);font-size:.75rem}.migration-phases>details[open]>summary>.studio-icon{transform:rotate(45deg)}.migration-task{padding-block:.85rem 1rem}.migration-task+.migration-task{border-top:1px solid var(--hilvy-rule)}.migration-task-top{display:flex;gap:1rem;align-items:start;justify-content:space-between}.migration-task-top h3{font-size:.9375rem;font-weight:500;line-height:1.5;padding-top:.6rem}.migration-tool .migration-task-top select{width:9.5rem;flex-shrink:0;font-size:.875rem}.migration-task>p{margin-top:.5rem;color:var(--hilvy-text-soft);font-size:.8125rem;line-height:1.65}.migration-task--done h3{color:var(--hilvy-violet)}.migration-task--na h3{text-decoration:line-through;color:var(--hilvy-text-soft)}.migration-task-notes>summary{color:var(--hilvy-text-soft);font-size:.75rem;padding-bottom:.3rem}.migration-task-notes{padding-bottom:.15rem}.migration-assumptions{padding-top:.8rem;margin-top:1rem;border-top:1px solid var(--hilvy-rule)}.migration-error,.migration-warning{margin-block:.65rem;font-size:.8125rem;line-height:1.6;overflow-wrap:anywhere}.migration-error{color:#ffb7c4}.migration-warning{color:#e6d2a8}.migration-import{padding:.2rem 1rem .8rem;margin-bottom:1rem;border:1px solid var(--hilvy-rule);border-radius:.5rem}.migration-import .migration-button{margin-top:.75rem}.migration-import input[type=file]{font-size:.8125rem;padding:.5rem}.migration-import input::file-selector-button{margin-right:.75rem;padding:.4rem .6rem;color:var(--foreground);background:var(--hilvy-surface-process);border:1px solid var(--hilvy-rule);border-radius:.35rem}.migration-map-rows{margin-top:1rem;max-height:32rem;overflow-y:auto;overscroll-behavior:contain;padding:.15rem .3rem .15rem .15rem}.migration-map-row{display:grid;grid-template-columns:minmax(0,1fr) 1rem minmax(0,1fr) 2.75rem;gap:.3rem .5rem;align-items:center}.migration-map-row>.studio-icon{margin-top:1.7rem;color:var(--hilvy-violet)}.migration-map-row>button{display:grid;place-items:center;min-height:2.75rem;width:2.75rem;margin-top:1.7rem;color:var(--hilvy-text-soft);cursor:pointer;border-radius:.4rem}.migration-map-row>button:hover{background:var(--hilvy-rule)}.migration-map-row input{font-size:.875rem}.migration-row-issues{grid-column:1 / -1}.migration-row-issues:empty{display:none}.migration-row-issues li{margin-block:.25rem}.migration-text-button{display:inline-flex;align-items:center;gap:.4rem}.migration-map-status{font-size:.8125rem;margin-block:.75rem;color:var(--hilvy-text-soft)}.migration-tool .migration-acknowledge{display:flex;align-items:start;gap:.65rem;max-width:40rem;font-weight:400;color:var(--hilvy-text-soft)}.migration-acknowledge input{margin-top:.15rem}.free-tools-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding-block:clamp(3.5rem,6vw,6rem)}.free-tools-feature h2,.free-tools-examples h2,.free-tools-next h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;letter-spacing:-.04em;font-weight:450}.free-tools-feature-copy{max-width:33rem}.free-tools-feature-copy>p,.free-tools-section-lead,.free-tools-next p{color:var(--hilvy-text-soft);line-height:1.75;margin-top:1.25rem;font-size:1rem}.free-tools-feature-copy .home-editorial-link{margin-top:1.25rem}.free-tools-feature figure img{width:100%;height:auto;border-radius:1rem}.free-tools-feature figcaption{color:color-mix(in srgb,var(--hilvy-text-soft) 75%,transparent);font-size:.75rem;line-height:1.6;margin-top:.75rem}.free-tools-feature--reverse .free-tools-feature-copy{grid-column:2;grid-row:1}.free-tools-feature--reverse figure{grid-column:1;grid-row:1}.free-tools-map-example{padding:clamp(1.25rem,3vw,2.5rem);background:color-mix(in srgb,var(--hilvy-violet) 6%,var(--hilvy-surface-base));border-radius:1rem}.free-tools-example-label{display:flex;align-items:center;gap:.75rem;color:var(--hilvy-violet);font-size:.875rem;margin-bottom:1rem}.free-tools-map-example>div:not(:first-child){display:grid;grid-template-columns:minmax(0,1fr) 1rem minmax(0,1fr);gap:.5rem;padding-block:1.25rem;border-bottom:1px solid var(--hilvy-rule);align-items:center}.free-tools-map-example code{overflow-wrap:anywhere;font-size:.875rem}.free-tools-map-example>div>span:last-child{grid-column:1 / -1;font-size:.75rem;color:var(--hilvy-text-soft)}.free-tools-map-example .free-tools-example-issue>span:last-child{color:#e6d2a8}.free-tools-examples{padding-block:1.5rem 4rem}.free-tools-section-lead{max-width:44rem}.free-tools-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.5rem}.free-tools-example-grid article{padding-top:1.5rem;border-top:1px solid var(--hilvy-rule)}.free-tools-example-grid article>.studio-icon{color:var(--hilvy-violet);margin-bottom:1.25rem}.free-tools-example-grid h3{font-size:1.15rem;letter-spacing:-.025em}.free-tools-example-grid p{color:var(--hilvy-text-soft);font-size:.9375rem;line-height:1.75;margin-top:.75rem}.free-tools-reading{color:var(--hilvy-text-soft);margin-top:2rem;font-size:.875rem;line-height:1.8;max-width:54rem}.free-tools-reading a{text-decoration:underline;text-underline-offset:.25rem}.free-tools-next{padding-block:2rem}.free-tools-next>div{max-width:52rem}.free-tools-context-links{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin-top:1rem}.free-tools-context-links a{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;font-size:.875rem;color:var(--hilvy-text-soft)}.free-tools-noscript{padding-top:1rem}.free-tools-directory{padding-block:1rem 5rem}.free-tools-directory-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;border:1px solid var(--hilvy-rule);border-radius:1rem;overflow:hidden;background:color-mix(in srgb,var(--hilvy-violet) 4%,var(--hilvy-surface-base))}.free-tools-directory-card>img{width:100%;height:100%;object-fit:cover}.free-tools-directory-card>div{padding:clamp(1.5rem,4vw,3.5rem)}.free-tools-directory-card>div>.studio-icon{color:var(--hilvy-violet);margin-bottom:1.5rem}.free-tools-directory-card h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.04em}.free-tools-directory-card p{color:var(--hilvy-text-soft);line-height:1.75;margin-block:1rem 1.75rem}.free-tools-directory-card div>span{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9375rem}.free-tools-directory-card small{display:block;font-size:.75rem;color:var(--hilvy-text-soft);margin-top:1.5rem}.free-tools-directory-card:hover h2{color:var(--hilvy-violet)}.free-tools-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--hilvy-violet);outline-offset:4px}.migration-result-heading h2:focus{outline:2px solid var(--hilvy-violet);outline-offset:.4rem}.migration-result-heading h2{scroll-margin-top:7rem}@media(max-width:1000px){.migration-tool-frame{grid-template-columns:minmax(16rem,.9fr) minmax(0,1.4fr)}.migration-scope,.migration-output{padding:1.25rem}.migration-checks,.migration-field-pair{grid-template-columns:1fr}.free-tools-heading-row{gap:2rem}}@media(max-width:800px){.free-tools-intro{padding-block:7rem 1.75rem}.free-tools-heading-row{grid-template-columns:1fr;gap:1rem}.free-tools-heading-row .site-title{max-width:20ch}.free-tools-heading-row .site-lead{max-width:40rem}.migration-tool-frame{grid-template-columns:1fr}.migration-scope{border-right:0;border-bottom:1px solid var(--hilvy-rule)}.migration-field-pair,.migration-checks{grid-template-columns:1fr 1fr}.migration-empty{padding-block:1.5rem 2rem}.free-tools-feature{grid-template-columns:1fr}.free-tools-feature--reverse .free-tools-feature-copy,.free-tools-feature--reverse figure{grid-column:auto;grid-row:auto}.free-tools-feature-copy{max-width:40rem}.free-tools-example-grid{grid-template-columns:1fr;gap:1.5rem}.free-tools-directory-card{grid-template-columns:1fr}}@media(max-width:420px){.migration-scope,.migration-output{padding:1rem}.migration-field-pair,.migration-checks{grid-template-columns:1fr}.migration-task-top{flex-direction:column;gap:.5rem}.migration-task-top h3{padding-top:0}.migration-tool .migration-task-top select{width:100%}.migration-map-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 2.75rem}.migration-map-row>.studio-icon{display:none}.migration-tabs{gap:1.25rem}}@media(forced-colors:active){.migration-button,.migration-tool-frame,.migration-tabs button[aria-selected=true]{border:1px solid ButtonText}}
