.app{--bg:#f8fafc;--surface:#ffffff;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--primary:#2563eb;--primary-hover:#1d4ed8;--link:#1d4ed8;--success:#047857;--error:#dc2626;--header-h:52px;--footer-h:44px;--sidebar-w:250px;--ad-width:250px;--ad-height:200px;--scrollbar-size:10px;--scrollbar-track:color-mix(in srgb,var(--border) 45%,var(--bg));--scrollbar-thumb:#cbd5e1;--scrollbar-thumb-hover:#94a3b8;--scrollbar-thumb-active:#64748b;color-scheme:light}.app[data-theme=dark],html[data-htmlviewer-theme=dark] .app{--bg:#0f172a;--surface:#1e293b;--border:#334155;--text:#f1f5f9;--muted:#94a3b8;--primary:#60a5fa;--primary-hover:#93c5fd;--link:#93c5fd;--success:#34d399;--scrollbar-track:color-mix(in srgb,var(--border) 55%,var(--bg));--scrollbar-thumb:#475569;--scrollbar-thumb-hover:#64748b;--scrollbar-thumb-active:#94a3b8;color-scheme:dark}*,:after,:before{box-sizing:border-box}.ace_scrollbar-h,.ace_scrollbar-v,.diff-content,.legal-page,.main-col,.sidebar__ads,.validation,body,html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.ace_scrollbar-h::-webkit-scrollbar,.ace_scrollbar-v::-webkit-scrollbar,.diff-content::-webkit-scrollbar,.legal-page::-webkit-scrollbar,.main-col::-webkit-scrollbar,.sidebar__ads::-webkit-scrollbar,.validation::-webkit-scrollbar,body::-webkit-scrollbar,html::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.ace_scrollbar-h::-webkit-scrollbar-track,.ace_scrollbar-v::-webkit-scrollbar-track,.diff-content::-webkit-scrollbar-track,.legal-page::-webkit-scrollbar-track,.main-col::-webkit-scrollbar-track,.sidebar__ads::-webkit-scrollbar-track,.validation::-webkit-scrollbar-track,body::-webkit-scrollbar-track,html::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.ace_scrollbar-h::-webkit-scrollbar-thumb,.ace_scrollbar-v::-webkit-scrollbar-thumb,.diff-content::-webkit-scrollbar-thumb,.legal-page::-webkit-scrollbar-thumb,.main-col::-webkit-scrollbar-thumb,.sidebar__ads::-webkit-scrollbar-thumb,.validation::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:999px;border:2px solid var(--scrollbar-track);background-clip:padding-box}.ace_scrollbar-h::-webkit-scrollbar-thumb:hover,.ace_scrollbar-v::-webkit-scrollbar-thumb:hover,.diff-content::-webkit-scrollbar-thumb:hover,.legal-page::-webkit-scrollbar-thumb:hover,.main-col::-webkit-scrollbar-thumb:hover,.sidebar__ads::-webkit-scrollbar-thumb:hover,.validation::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,html::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.ace_scrollbar-h::-webkit-scrollbar-thumb:active,.ace_scrollbar-v::-webkit-scrollbar-thumb:active,.diff-content::-webkit-scrollbar-thumb:active,.legal-page::-webkit-scrollbar-thumb:active,.main-col::-webkit-scrollbar-thumb:active,.sidebar__ads::-webkit-scrollbar-thumb:active,.validation::-webkit-scrollbar-thumb:active,body::-webkit-scrollbar-thumb:active,html::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active)}.ace_scrollbar-h::-webkit-scrollbar-corner,.ace_scrollbar-v::-webkit-scrollbar-corner,.diff-content::-webkit-scrollbar-corner,.legal-page::-webkit-scrollbar-corner,.main-col::-webkit-scrollbar-corner,.sidebar__ads::-webkit-scrollbar-corner,.validation::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner,html::-webkit-scrollbar-corner{background:var(--scrollbar-track)}html:has(#htmlviewer-app){color-scheme:light dark}html:has(#htmlviewer-app),html:has(#htmlviewer-app) body,html:has(.app[aria-busy]) body{margin:0;min-height:100%;overflow:auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f8fafc;color:#0f172a}html:has(#htmlviewer-app[data-theme=dark]),html:has(#htmlviewer-app[data-theme=dark]) body,html[data-htmlviewer-theme=dark]:has(#htmlviewer-app) body,html[data-htmlviewer-theme=dark]:has(.app[aria-busy]) body{background:#0f172a;color:#f1f5f9}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.hv-seo{border-top:1px solid var(--border,#e2e8f0);background:var(--bg,#f8fafc);color:var(--text,#0f172a)}html:has(#htmlviewer-app[data-theme=dark]) .hv-seo,html[data-htmlviewer-theme=dark] .hv-seo{background:#0f172a;color:#f1f5f9;border-top-color:#334155}.hv-seo__inner{max-width:720px;margin:0 auto;padding:2.5rem 1.25rem 3.5rem}.hv-seo__title{margin:0 0 .75rem;font-size:1.35rem;line-height:1.3}.hv-seo__subtitle{margin:1.75rem 0 .65rem;font-size:1.05rem}.hv-seo__lead,.hv-seo__related,.hv-seo__text{margin:0 0 .9rem;font-size:.95rem;line-height:1.6;color:var(--muted,#64748b)}html:has(#htmlviewer-app[data-theme=dark]) .hv-seo__lead,html:has(#htmlviewer-app[data-theme=dark]) .hv-seo__related,html:has(#htmlviewer-app[data-theme=dark]) .hv-seo__text,html[data-htmlviewer-theme=dark] .hv-seo__lead,html[data-htmlviewer-theme=dark] .hv-seo__related,html[data-htmlviewer-theme=dark] .hv-seo__text{color:#94a3b8}.hv-seo__lead strong,.hv-seo__list strong,.hv-seo__text strong{color:inherit;font-weight:650}html:has(#htmlviewer-app[data-theme=dark]) .hv-seo__lead strong,html:has(#htmlviewer-app[data-theme=dark]) .hv-seo__list strong,html:has(#htmlviewer-app[data-theme=dark]) .hv-seo__text strong,html[data-htmlviewer-theme=dark] .hv-seo__lead strong,html[data-htmlviewer-theme=dark] .hv-seo__list strong,html[data-htmlviewer-theme=dark] .hv-seo__text strong{color:#e2e8f0}.hv-seo a{color:var(--link,#1d4ed8)}html:has(#htmlviewer-app[data-theme=dark]) .hv-seo a,html[data-htmlviewer-theme=dark] .hv-seo a{color:#93c5fd}.hv-seo__list{margin:0 0 1.25rem;padding-left:1.2rem;font-size:.95rem;line-height:1.55;color:var(--muted,#64748b)}.hv-seo__list li{margin-bottom:.45rem}.hv-seo__list code{font-size:.85em}.hv-seo__links{margin:0 0 1.25rem;padding-left:1.2rem;font-size:.95rem;line-height:1.55}.hv-seo__links li{margin-bottom:.4rem}.hv-seo__faq{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.hv-seo__faq-item{border:1px solid var(--border,#e2e8f0);border-radius:10px;background:var(--surface,#fff);padding:.65rem .9rem}html:has(#htmlviewer-app[data-theme=dark]) .hv-seo__faq-item,html[data-htmlviewer-theme=dark] .hv-seo__faq-item{border-color:#334155;background:#1e293b}.hv-seo__faq-item summary{cursor:pointer;font-weight:600;font-size:.92rem;line-height:1.4}.hv-seo__faq-item p{margin:.55rem 0 .15rem;font-size:.9rem;line-height:1.55;color:var(--muted,#64748b)}html:has(#htmlviewer-app[data-theme=dark]) .hv-seo__faq-item p,html[data-htmlviewer-theme=dark] .hv-seo__faq-item p{color:#94a3b8}.header{gap:1rem;padding:.5rem .75rem;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.header,.header__brand{display:flex;align-items:center;flex-shrink:0}.header__brand{gap:.5rem}.header__publisher{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-decoration:none;padding-right:.35rem;border-right:1px solid var(--border);margin-right:.15rem}.header__publisher:hover{color:var(--primary)}.header__title{font-size:1rem;font-weight:700;margin:0;white-space:nowrap;color:var(--text)}.toolbar{display:flex;flex-wrap:wrap;gap:.35rem;flex:1 1}.btn{padding:.35rem .65rem;font-size:.8rem;font-weight:500;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap}@media (prefers-reduced-motion:no-preference){.btn{transition:background-color .15s}}.btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.btn--ghost{background:transparent}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--muted);padding:.2rem .4rem;border-radius:4px}.btn-icon:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.btn-icon.btn--active{color:var(--primary);background:color-mix(in srgb,var(--primary) 15%,var(--surface))}.panel__head-actions{display:flex;align-items:center;gap:.15rem}.panel-zoom{display:inline-flex;align-items:center;gap:.05rem}.panel-zoom__value{min-width:2.75rem;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-icon:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.preview-zoom-host{flex:1 1;min-height:0;overflow:auto;position:relative;background:#fff}.preview-zoom-scaler{width:calc(100% / var(--preview-zoom, 1));height:calc(100% / var(--preview-zoom, 1));transform:scale(var(--preview-zoom,1));transform-origin:0 0}.preview-zoom-scaler .preview-frame{width:100%;height:100%;min-height:0;display:block}.btn-icon svg{width:16px;height:16px;display:block}.btn--icon{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0;padding:.4rem;min-width:2rem;min-height:2rem}.btn--icon .btn__icon{display:inline-flex;flex-shrink:0}.btn--icon .btn__icon,.btn--icon .btn__icon svg{width:16px;height:16px}.btn--icon .btn__label{display:none}.toolbar .btn--icon:after{content:attr(data-label);position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(2px);padding:.28rem .5rem;border-radius:6px;background:color-mix(in srgb,var(--text) 92%,var(--bg));color:var(--bg);font-size:.68rem;font-weight:600;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;z-index:40;box-shadow:0 6px 16px color-mix(in srgb,var(--text) 18%,transparent);transition:opacity .12s ease,transform .12s ease}.toolbar .btn--icon:focus-visible:after,.toolbar .btn--icon:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}@media (hover:none){.toolbar .btn--icon:after{display:none}}.btn--active{background:color-mix(in srgb,var(--primary) 15%,var(--surface));border-color:var(--primary);color:var(--primary)}.btn--sm{padding:.25rem .55rem;font-size:.75rem}.btn__icon--inline{display:inline-flex;vertical-align:middle}.btn__icon--inline,.btn__icon--inline svg{width:16px;height:16px}.workspace{flex:1 1;overflow:hidden}.main-col,.workspace{display:flex;min-height:0}.main-col{flex-direction:column}.main-col,.panels{flex:1 1;min-width:0}.panels{--split-col:50%;display:grid;grid-template-columns:var(--split-col) 6px 1fr;min-height:0;grid-gap:0;gap:0;background:var(--border);position:relative}.panels>.panel--editor{grid-column:1;min-width:0}.panels>.panel--preview{grid-column:3;min-width:0}.panels__col-handle{grid-column:2;grid-row:1;align-self:stretch;cursor:col-resize;touch-action:none;position:relative;z-index:3;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--border) 70%,transparent) 45%,color-mix(in srgb,var(--primary) 25%,var(--border)) 50%,color-mix(in srgb,var(--border) 70%,transparent) 55%,transparent)}.panels__col-handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4px;height:36px;border-radius:999px;background:color-mix(in srgb,var(--muted) 55%,transparent)}.panels__col-handle:focus-visible:after,.panels__col-handle:hover:after{background:var(--primary)}.panels__col-handle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}body.is-resizing-split{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}body.is-resizing-split iframe{pointer-events:none}.ace_color_swatch_layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.ace_color_swatch{position:absolute;border-radius:3px;box-shadow:0 0 0 1px rgba(128,128,128,.55),0 1px 2px rgba(0,0,0,.35)}.panels-quad{--panels-col:50%;--panels-row:50%;display:grid;grid-template-columns:var(--panels-col) 6px 1fr;grid-template-rows:var(--panels-row) 6px 1fr;flex:1 1;min-width:0;min-height:0;overflow:hidden;position:relative;grid-gap:0;gap:0;background:var(--border)}.panels-quad .panel--css{grid-column:1;grid-row:1}.panels-quad .panel--js{grid-column:3;grid-row:1}.panels-quad .panel--html{grid-column:1;grid-row:3}.panels-quad .panel--preview-quad{grid-column:3;grid-row:3}.panels-quad__col-handle{grid-column:2;grid-row:1/-1;cursor:col-resize;touch-action:none;position:relative;z-index:3;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--border) 70%,transparent) 45%,color-mix(in srgb,var(--primary) 25%,var(--border)) 50%,color-mix(in srgb,var(--border) 70%,transparent) 55%,transparent)}.panels-quad__col-handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4px;height:36px;border-radius:999px;background:color-mix(in srgb,var(--muted) 55%,transparent)}.panels-quad__col-handle:focus-visible:after,.panels-quad__col-handle:hover:after{background:var(--primary)}.panels-quad__col-handle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.panels-quad__row-handle{grid-column:1/-1;grid-row:2;cursor:row-resize;touch-action:none;position:relative;z-index:3;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--border) 70%,transparent) 45%,color-mix(in srgb,var(--primary) 25%,var(--border)) 50%,color-mix(in srgb,var(--border) 70%,transparent) 55%,transparent)}.panels-quad__row-handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--muted) 55%,transparent)}.panels-quad__row-handle:focus-visible:after,.panels-quad__row-handle:hover:after{background:var(--primary)}.panels-quad__row-handle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}body.is-resizing-panels{-webkit-user-select:none;-moz-user-select:none;user-select:none}body.is-resizing-panels iframe{pointer-events:none}.preview-frame--placeholder{background:var(--surface);flex:1 1}@media (max-width:768px){.panels-quad{grid-template-columns:1fr;grid-template-rows:minmax(120px,20%) minmax(120px,20%) minmax(140px,26%) minmax(160px,1fr)}.panels-quad .panel--css,.panels-quad .panel--html,.panels-quad .panel--js,.panels-quad .panel--preview-quad{grid-column:1}.panels-quad .panel--css{grid-row:1}.panels-quad .panel--js{grid-row:2}.panels-quad .panel--html{grid-row:3}.panels-quad .panel--preview-quad{grid-row:4}.panels-quad__col-handle,.panels-quad__row-handle{display:none}}.panel{display:flex;flex-direction:column;background:var(--surface);min-height:0}.panel--preview{contain:layout}.panel__head{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0;font-size:.75rem}.panel__label{font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);cursor:default}.panel__label--live{color:var(--success);font-weight:700}.panel__file{font-family:ui-monospace,monospace;color:var(--muted);font-size:.7rem}.panel__file--saving{color:var(--warning)}.panel__file--saved{color:var(--success)}.editor-shell{position:relative;flex:1 1;min-height:200px;width:100%;display:flex;flex-direction:column}.editor-shell--loading{background:color-mix(in srgb,var(--border) 35%,var(--surface))}.editor-shell__error{position:absolute;inset:0;z-index:2;margin:0;padding:1rem;color:#dc2626;font-family:system-ui,sans-serif;background:var(--surface)}.editor{flex:1 1;min-height:200px;width:100%;font-size:14px}.ace_search{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:8px!important;color:var(--text)!important;box-shadow:0 10px 28px color-mix(in srgb,var(--text) 16%,transparent);padding:.35rem .45rem!important;z-index:50!important}.ace_replace_form,.ace_search_form{margin:.15rem 0!important}.ace_search_form.ace_nomatch{outline:1px solid var(--error)!important}.ace_search_field{background:var(--bg)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:6px!important}.ace_button,.ace_searchbtn,.ace_searchbtn_close{background:color-mix(in srgb,var(--border) 40%,var(--surface))!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:5px!important}.ace_button:hover,.ace_searchbtn:hover{background:color-mix(in srgb,var(--primary) 14%,var(--surface))!important;color:var(--primary)!important}.ace_button.checked{border-color:var(--primary)!important;color:var(--primary)!important}.ace_editor>.ace_sb-h div,.ace_editor>.ace_sb-v div{background:var(--scrollbar-thumb)!important;border:none!important;border-radius:999px!important}.ace_editor>.ace_sb-h:hover div,.ace_editor>.ace_sb-v:hover div{background:var(--scrollbar-thumb-hover)!important}.preview-frame{flex:1 1;width:100%;border:none;background:#fff;min-height:200px}.validation{padding:.4rem .75rem;font-size:.75rem;border-top:1px solid var(--border);max-height:80px;overflow-y:auto}.validation-ok{color:var(--success);margin:0;font-weight:600}.validation-err{color:var(--error);margin:0 0 .25rem;font-weight:600}.validation ul{margin:0;padding-left:1.2rem;color:var(--muted)}.diff-panel{flex-shrink:0;height:var(--diff-height,220px);min-height:100px;border-top:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column}.diff-panel[hidden]{display:none!important}.diff-resize-handle{flex-shrink:0;height:8px;margin-top:-4px;cursor:row-resize;touch-action:none;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--border) 70%,transparent) 45%,color-mix(in srgb,var(--primary) 25%,var(--border)) 50%,color-mix(in srgb,var(--border) 70%,transparent) 55%,transparent);position:relative;z-index:2}.diff-resize-handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--muted) 55%,transparent)}.diff-resize-handle:focus-visible:after,.diff-resize-handle:hover:after{background:var(--primary)}.diff-resize-handle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}body.is-resizing-diff{cursor:row-resize!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}body.is-resizing-diff iframe{pointer-events:none}.diff-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .75rem;border-bottom:1px solid var(--border);font-size:.8rem;font-weight:600;flex-shrink:0}.diff-panel__title{display:flex;align-items:center;gap:.4rem}.diff-stats{font-weight:400;color:var(--muted);font-size:.75rem}.diff-panel__actions{display:flex;align-items:center;gap:.35rem}.diff-content{flex:1 1;overflow:auto;min-height:0}.diff-grid{display:grid;grid-template-columns:1fr 1fr;min-height:100%}.diff-col__head{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:.3rem .5rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:color-mix(in srgb,var(--border) 40%,var(--surface));border-bottom:1px solid var(--border)}.diff-col:first-child{border-right:1px solid var(--border)}.diff-line{display:flex;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.72rem;line-height:1.5;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.diff-num{flex-shrink:0;width:2.5rem;padding:0 .35rem;text-align:right;color:var(--muted);background:color-mix(in srgb,var(--border) 25%,var(--surface));-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-text{flex:1 1;padding:0 .5rem;white-space:pre-wrap;word-break:break-all}.diff-line--added{background:color-mix(in srgb,#059669 12%,var(--surface))}.diff-line--added .diff-num{background:color-mix(in srgb,#059669 20%,var(--surface));color:#059669}.diff-line--removed{background:color-mix(in srgb,#dc2626 12%,var(--surface))}.diff-line--removed .diff-num{background:color-mix(in srgb,#dc2626 20%,var(--surface));color:#dc2626}.diff-line--faded{opacity:.35}.sidebar{display:none!important;width:0;overflow:hidden;flex-shrink:0;align-self:stretch;flex-direction:column;padding:.6rem;background:var(--surface);border-left:1px solid var(--border);min-height:0}.sidebar__ads,.sidebar__inner{display:flex;flex-direction:column;flex:1 1;min-height:0;width:100%;align-items:center}.sidebar__ads{gap:.5rem;overflow-y:auto}.ad-slot{width:var(--ad-width);max-width:100%;height:var(--ad-height);flex-shrink:0}.ad-placeholder,.ad-slot{display:flex;align-items:center;justify-content:center}.ad-placeholder{height:100%;min-height:var(--ad-height);border:1px dashed var(--border);border-radius:8px;flex-direction:column;font-size:.75rem;padding:.75rem;line-height:1.4}.ad-placeholder,.sidebar__note{width:100%;text-align:center;color:var(--muted)}.sidebar__note{font-size:.62rem;margin:auto 0 0;padding-top:.5rem;line-height:1.35;flex-shrink:0}.footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;color:var(--muted);background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.footer p{margin:0}.footer__links{display:flex;align-items:center;gap:.5rem}.footer__links a{color:var(--link);text-decoration:none;font-weight:500}.footer__links a:hover{color:var(--primary-hover);text-decoration:underline}.toast{position:fixed;bottom:1.25rem;right:1.25rem;padding:.7rem 1.05rem;border-radius:10px;font-size:.85rem;font-weight:600;background:#0f172a;color:#f8fafc;box-shadow:0 10px 30px color-mix(in srgb,#0f172a 28%,transparent);opacity:0;transform:translateY(8px);pointer-events:none;z-index:320;max-width:300px;will-change:transform,opacity}.app[data-theme=dark] .toast{background:#f1f5f9;color:#0f172a;box-shadow:0 10px 30px color-mix(in srgb,#000 45%,transparent)}@media (prefers-reduced-motion:no-preference){.toast{transition:opacity .2s,transform .2s}}.toast--show{opacity:1;transform:translateY(0)}.toast--success{background:#047857;color:#fff;box-shadow:0 10px 28px color-mix(in srgb,#047857 35%,transparent)}.toast--error{background:#dc2626;color:#fff;box-shadow:0 10px 28px color-mix(in srgb,#dc2626 35%,transparent)}.app[data-theme=dark] .toast--success{background:#059669;color:#fff}.app[data-theme=dark] .toast--error{background:#ef4444;color:#fff}.confirm-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1.25rem}.confirm-modal__backdrop{position:absolute;inset:0;border:0;padding:0;margin:0;cursor:pointer;background:color-mix(in srgb,#020617 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app[data-theme=dark] .confirm-modal__backdrop{background:color-mix(in srgb,#000 65%,transparent)}.confirm-modal__dialog{position:relative;width:min(100%,420px);padding:1.35rem 1.35rem 1.2rem;border-radius:14px;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 24px 48px color-mix(in srgb,#0f172a 22%,transparent),0 0 0 1px color-mix(in srgb,var(--border) 80%,transparent)}.confirm-modal__icon{width:2.5rem;height:2.5rem;border-radius:10px;display:grid;place-items:center;margin-bottom:.85rem;color:#dc2626;background:color-mix(in srgb,#dc2626 12%,var(--surface))}.confirm-modal__icon svg{width:1.15rem;height:1.15rem}.confirm-modal__title{margin:0 0 .4rem;font-size:1.1rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.confirm-modal__desc{margin:0 0 1.25rem;font-size:.9rem;line-height:1.5;color:var(--muted)}.confirm-modal__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.55rem}.confirm-modal__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:8px;padding:.55rem .95rem;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.confirm-modal__btn--ghost{background:transparent;border-color:var(--border);color:var(--text)}.confirm-modal__btn--ghost:focus-visible,.confirm-modal__btn--ghost:hover{background:color-mix(in srgb,var(--border) 35%,var(--surface));outline:none}.confirm-modal__btn--solid{background:var(--primary);color:#fff}.confirm-modal__btn--solid:focus-visible,.confirm-modal__btn--solid:hover{background:var(--primary-hover);outline:none}.confirm-modal__btn--danger{background:#dc2626;color:#fff}.confirm-modal__btn--danger:focus-visible,.confirm-modal__btn--danger:hover{background:#b91c1c;outline:none}.app[data-theme=dark] .confirm-modal__btn--solid{color:#0f172a}.app[data-theme=dark] .confirm-modal__btn--danger{background:#ef4444;color:#fff}.app[data-theme=dark] .confirm-modal__btn--danger:focus-visible,.app[data-theme=dark] .confirm-modal__btn--danger:hover{background:#f87171;color:#0f172a}.cookie-banner{position:fixed;inset:auto 0 0 0;z-index:250;padding:.75rem;pointer-events:none;opacity:0;transform:translateY(1rem)}@media (prefers-reduced-motion:no-preference){.cookie-banner{transition:opacity .35s ease,transform .35s ease}}.cookie-banner--show{opacity:1;transform:translateY(0);pointer-events:auto}.cookie-banner__panel{max-width:52rem;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;padding:1rem 1.15rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--border) 80%,var(--primary) 20%);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 4px 6px -2px color-mix(in srgb,var(--text) 8%,transparent),0 20px 40px -12px color-mix(in srgb,var(--text) 18%,transparent)}.cookie-banner__icon{flex-shrink:0;width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary)}.cookie-banner__icon svg{width:1.45rem;height:1.45rem}.cookie-banner__content{flex:1 1 14rem;min-width:0}.cookie-banner__title{margin:0 0 .35rem;font-size:.95rem;font-weight:700;color:var(--text)}.cookie-banner__text{margin:0;font-size:.8rem;line-height:1.55;color:var(--muted)}.cookie-banner__text a{color:var(--link);font-weight:500;text-decoration:none}.cookie-banner__text a:hover{text-decoration:underline}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0;width:100%}@media (min-width:720px){.cookie-banner__actions{width:auto;margin-left:auto}}.cookie-banner__btn{flex:1 1 auto;min-width:8.5rem;padding:.55rem 1rem;font-size:.8rem;font-weight:600;border-radius:10px;border:1px solid transparent;cursor:pointer;white-space:nowrap}@media (min-width:720px){.cookie-banner__btn{flex:0 0 auto}}.cookie-banner__btn--primary{background:#2563eb;color:#fff;border-color:#2563eb}.cookie-banner__btn--primary:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.cookie-banner__btn--ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.cookie-banner__btn--ghost:hover{background:color-mix(in srgb,var(--border) 35%,var(--surface))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app:-webkit-full-screen{background:var(--bg)}.app:fullscreen{background:var(--bg)}.app:-webkit-full-screen .footer{display:none}.app:fullscreen .footer{display:none}@media (max-width:1024px){.app{--ad-width:300px;--ad-height:250px;--mobile-editor-min:max(200px,28vh);--mobile-preview-min:max(160px,22vh)}.workspace{flex-direction:column;overflow:hidden}.main-col,.workspace{flex:1 1;min-height:0}.main-col{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.panels{flex:1 1 auto;min-height:calc(var(--mobile-editor-min) + var(--mobile-preview-min))}.sidebar{display:none!important;width:0;flex:0 0 auto;border-left:none;border-top:1px solid var(--border);padding:.45rem .5rem .5rem}.sidebar__inner{width:100%;max-width:none;margin:0}.sidebar__ads{flex-direction:row;flex:0 0 auto;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:.5rem;padding-bottom:2px;scrollbar-width:none}.sidebar__ads::-webkit-scrollbar{display:none}.ad-slot{flex:0 0 var(--ad-width)}.sidebar__note{margin-top:.35rem;padding-top:0}.diff-panel{max-height:min(38vh,280px)}.diff-grid{grid-template-columns:1fr}.diff-col:first-child{border-right:none;border-bottom:1px solid var(--border)}.diff-line{font-size:.68rem}.diff-num{width:2rem}}@media (max-width:900px){.btn--icon{padding:.4rem}.header{gap:.5rem}.toolbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.toolbar::-webkit-scrollbar{display:none}}@media (max-width:768px){.app{--diff-height:150px;--ad-width:280px;--ad-height:100px;--mobile-editor-min:max(220px,32vh);--mobile-preview-min:max(180px,26vh)}.panels{display:flex;flex-direction:column;flex:1 1 auto;min-height:calc(var(--mobile-editor-min) + var(--mobile-preview-min));gap:1px;background:var(--border)}.panels__col-handle{display:none}.panel{flex:1 1 auto;min-height:0}.panel--editor{min-height:var(--mobile-editor-min)}.panel--preview{min-height:var(--mobile-preview-min)}.editor{min-height:calc(var(--mobile-editor-min) - 2rem)}.preview-frame{min-height:calc(var(--mobile-preview-min) - 2rem)}.validation{max-height:56px;flex-shrink:0}.diff-panel{max-height:min(35vh,220px);min-height:80px}.header__title{max-width:7.5rem;overflow:hidden;text-overflow:ellipsis}}@media (max-width:480px){.btn{font-size:.72rem;padding:.3rem .5rem}}