/* Jade, warm paper and a small vermilion accent. No external fonts or assets. */
:root{color-scheme:light dark;--ink:#1b3028;--muted:#52675c;--green:#1e6548;--button:#205e43;--button-ink:#fffdf6;--accent:#a84f40;--pale:#e9f0e3;--paper:#f7f5ee;--white:#fffef9;--line:#d7dfd0;--field:#f9faf5;--error:#a52e2a;--shadow:0 12px 32px #2347340c;--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.7;overflow-wrap:break-word;background-image:radial-gradient(#73886b15 .7px,transparent .7px);background-size:7px 7px}
a{color:var(--green);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}
button,textarea,input,summary{font:inherit;-webkit-tap-highlight-color:transparent}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.55rem 1rem;border:1px solid var(--button);border-radius:.65rem;background:var(--button);color:var(--button-ink);font-weight:650;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}
button:hover,.button:hover{box-shadow:0 3px 0 #173e3620;transform:translateY(-1px)}button:active{transform:translateY(1px);box-shadow:none}button.secondary{background:var(--white);color:var(--green);border-color:var(--line)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}
.icon{width:19px;height:19px;flex:none;display:inline-block;vertical-align:middle}.button-label{pointer-events:none}.copied-icon{display:none}#copy.is-copied .copy-icon{display:none}#copy.is-copied .copied-icon{display:block}
.wrap{width:min(1120px,calc(100% - 2.5rem));margin-inline:auto}.skip{position:absolute;inset-inline-start:1rem;top:-100px;background:var(--white);z-index:100;padding:.5rem}.skip:focus{top:.5rem}
.header{border-bottom:1px solid var(--line);background:var(--white);position:relative;z-index:10}.topbar{display:flex;align-items:center;gap:1.5rem;min-height:72px;padding-block:.65rem}
.brand{text-decoration:none;color:var(--ink);font-size:1.55rem;font-weight:800;letter-spacing:-.05em;display:flex;gap:.55rem;align-items:center}.brand-mark{background:var(--button);color:var(--button-ink);border-radius:10px 10px 3px 10px;display:grid;place-items:center;width:34px;height:34px;font-size:1.3rem;letter-spacing:0;transform:rotate(-5deg)}
.nav{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1.35rem}.topbar>.nav{margin-inline:auto}.nav a{color:var(--muted);text-decoration:none;padding-block:.35rem;font-size:.9rem}.nav a[aria-current=page]{color:var(--green);text-decoration:underline;font-weight:650}
.language-picker{position:relative;flex:none}.language-toggle{list-style:none;display:flex;align-items:center;gap:.5rem;min-height:42px;padding:.4rem .65rem;border:1px solid var(--line);border-radius:.6rem;color:var(--green);background:var(--field);font-size:.9rem;cursor:pointer;user-select:none}.language-toggle::-webkit-details-marker{display:none}.chevron{width:15px;height:15px;transition:transform .15s}.language-picker[open] .chevron{transform:rotate(180deg)}
.languages{position:absolute;inset-inline-end:0;top:calc(100% + .7rem);width:300px;max-width:calc(100vw - 2rem);display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.65rem;background:var(--white);border:1px solid var(--line);border-radius:.85rem;box-shadow:0 16px 40px #123c2922;z-index:30;animation:reveal .15s ease-out}.language-caption{grid-column:1/-1;padding:.25rem .45rem .5rem;color:var(--muted);font-size:.8rem}.languages a{display:flex;justify-content:space-between;align-items:center;min-height:42px;padding:.4rem .55rem;text-decoration:none;border-radius:.45rem;font-size:.9rem}.languages a:hover,.languages a[aria-current=page]{background:var(--pale)}.languages a[aria-current=page]{font-weight:700}.languages .icon{width:16px;height:16px}
main{padding-block:1.6rem 2.5rem}.hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem;align-items:center;margin-block:0 1.5rem}.hero-intro{position:relative;padding-inline-end:.5rem}.hero-art{height:86px;width:165px;position:relative;margin-block:-.35rem .2rem}.origami{width:150px;height:92px;display:block;animation:drift 8s ease-in-out infinite}.petal{position:absolute;font-size:1.1rem;animation:drift 6s ease-in-out infinite;pointer-events:none}.petal-one{top:0;inset-inline-end:0}.petal-two{color:var(--accent);top:50px;inset-inline-start:5px;animation-delay:-2s}.petal-three{top:62px;inset-inline-end:3px;animation-delay:-4s;font-size:1.3rem}
.eyebrow{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:var(--green);font-weight:750}.eyebrow:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-inline-end:.5rem}h1,h2,h3{line-height:1.3;text-wrap:balance}h1{font-size:clamp(2rem,3.8vw,2.9rem);letter-spacing:-.045em;margin:.45rem 0 .85rem;max-width:20ch}h2{font-size:1.35rem;margin:0 0 .65rem;letter-spacing:-.025em}h3{font-size:1.02rem}.intro{color:var(--muted);font-size:1.04rem;max-width:62ch;margin-block:.6rem .8rem}.badge{display:table;font-size:.8rem;padding:.3rem .65rem;background:var(--pale);border:1px solid var(--line);border-radius:2rem;margin-block:.65rem}.hero-intro>a{font-size:.85rem}
.tool{background:var(--white);border:1px solid var(--line);border-radius:1.1rem .45rem 1.1rem 1.1rem;padding:1.3rem;box-shadow:var(--shadow);position:relative;transition:border-color .2s,box-shadow .2s}.tool:before{content:"";display:block;height:3px;width:70px;background:var(--green);border-radius:2px;position:absolute;top:-1px;inset-inline-start:1.3rem}.tool-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.tool h2{font-size:1.05rem;margin:0;display:flex;align-items:center;gap:.5rem}.tool h2 .icon{color:var(--green)}.tool-stamp{display:grid;place-items:center;color:var(--accent);border:1px solid var(--accent);border-radius:5px;width:25px;height:25px;font-size:1.15rem;transform:rotate(7deg)}.tool label{display:block;font-weight:650;font-size:.9rem;margin-bottom:.35rem}
textarea{resize:vertical;display:block;width:100%;border:1px solid #91a38e;border-radius:.65rem;background:var(--field);color:var(--ink);padding:.75rem;font-family:ui-monospace,"Cascadia Code",monospace;font-size:.9rem;line-height:1.6;min-height:100px;direction:ltr;text-align:left;unicode-bidi:plaintext;transition:border-color .15s,box-shadow .15s}textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #5b946315}textarea[aria-invalid=true]{border-color:var(--error)}.help,.micro{font-size:.78rem;color:var(--muted);line-height:1.6;margin-block:.5rem}.utility-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-block:.65rem}.utility-actions button{font-size:.81rem;padding:.4rem .65rem;min-height:40px}.utility-actions .icon{width:16px;height:16px}.sample-links{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;font-size:.72rem;color:var(--muted);margin-block:.5rem .75rem}.sample-links>span{margin-inline-end:.2rem}.sample-chip{min-height:30px;padding:.15rem .5rem;font-size:.72rem;border:1px solid var(--line);border-radius:1rem;background:var(--pale);color:var(--green);font-weight:500}.primary-action{width:100%;position:relative}.key-hint{position:absolute;inset-inline-end:.75rem;opacity:.65;font-size:1rem;font-weight:400}
.error{color:var(--error);font-size:.9rem;font-weight:600;margin:.7rem 0 0}.status{color:var(--green);font-size:.85rem;margin:.7rem 0 0;line-height:1.6}.error:empty,.status:empty{display:none}.status:not(:empty):before{content:"✦";display:inline-block;margin-inline-end:.45rem;color:var(--accent)}.tool[data-state=cleaned]{border-color:var(--green)}.tool[data-state=error]{border-color:var(--error)}.privacy-note{margin:.85rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.6}
.result{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--line);animation:reveal .22s ease-out}.result-meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-block:0 .8rem;padding:.6rem .8rem;background:var(--pale);border-radius:.55rem}.result-meta p{margin:0;font-size:.78rem;color:var(--muted)}.result-meta strong{display:block;font-size:.95rem;color:var(--ink)}.result label{font-size:.83rem}.result textarea{min-height:75px;font-size:.83rem;margin-block:.35rem .7rem}.result label[for=original-url]{color:var(--muted)}.result #original-url{min-height:60px}.result-cols{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.result-cols h3{font-size:.9rem;margin-bottom:.3rem}.result ul{padding-inline-start:1rem;margin-top:.3rem;font-size:.85rem;overflow-wrap:anywhere}.result li+li{margin-top:.4rem}.result li bdi{font-family:ui-monospace,monospace}.parameter-reason{display:block;color:var(--muted);font-size:.75rem;font-family:var(--font)}.notice{padding:.65rem .8rem;border-inline-start:3px solid var(--green);background:var(--pale);font-size:.8rem;line-height:1.65}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.card{padding:1.05rem 1.15rem;border:1px solid var(--line);border-radius:.8rem;background:var(--white);transition:transform .18s,border-color .18s}.card:hover{transform:translateY(-2px);border-color:#93b99a}.card p{color:var(--muted);font-size:.9rem;margin:.4rem 0}.card h2{font-size:1.12rem}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.card-emoji{font-size:1.4rem}.card-number{font-family:ui-monospace,monospace;font-size:.72rem;color:var(--muted)}
.home-explainer{margin-top:1.5rem;padding-block:1.25rem;border-top:1px solid var(--line)}.home-explainer>h2{max-width:42ch}.home-explainer p{color:var(--muted);max-width:90ch;font-size:.94rem}.home-explainer>.example{margin-top:.85rem}.home-explainer h3{margin-block:1rem .35rem}.home-explainer h3+p{margin-top:0}.code-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-block:.7rem}.code-list code{font-size:.75rem}
.article{max-width:780px}.article h1{max-width:none;font-size:clamp(1.8rem,3.8vw,2.65rem)}.article section{margin-block:1.75rem}.article p,.article li{color:var(--muted)}.article li+li{margin-top:.5rem}code{font-family:ui-monospace,monospace;direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere;background:var(--pale);padding:.12em .3em;border-radius:.3rem;color:var(--ink);font-size:.9em}.example{border:1px solid var(--line);background:var(--white);padding:.85rem 1rem;border-radius:.7rem;overflow:hidden;position:relative}.example:after{content:"↗";position:absolute;inset-inline-end:.75rem;top:.4rem;color:var(--green);font-size:1rem}.example code{display:block;direction:ltr;text-align:left;overflow-wrap:anywhere;background:transparent;margin-block:.35rem .65rem;padding:0;font-size:.82rem}.example span{font-size:.76rem;font-weight:650;color:var(--muted)}.terms{margin:0;display:grid;grid-template-columns:minmax(130px,1fr) 3fr;gap:.7rem 1rem;font-size:.9rem}.terms dt{font-weight:700}.terms dd{margin:0;color:var(--muted)}.faq section{border-top:1px solid var(--line);padding-top:1rem;margin-block:1.25rem}.footer{border-top:1px solid var(--line);padding-block:1.25rem;color:var(--muted);font-size:.8rem;background:var(--white)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer p{margin:0}.footer .nav a{font-size:.8rem}.noscript{display:block;background:#fff1ce;color:#553e0f;padding:.75rem;font-size:.85rem}.not-found{padding:3rem 0}
html[lang=ar] body{font-family:Tahoma,"Noto Sans Arabic",system-ui,sans-serif}html[lang=ar] h1{letter-spacing:0;line-height:1.5}html[lang=ar] .eyebrow{letter-spacing:0}html[lang=hi] body{font-family:"Nirmala UI","Noto Sans Devanagari",system-ui,sans-serif;line-height:1.85}html[lang=zh-Hans] body{font-family:system-ui,"PingFang SC","Microsoft YaHei",sans-serif}html[lang=ja] body{font-family:system-ui,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}html[lang=zh-Hans] h1,html[lang=ja] h1{letter-spacing:0;line-height:1.45}
@keyframes drift{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.topbar{gap:.5rem 1rem;flex-wrap:wrap;justify-content:space-between}.topbar>.nav{order:3;flex:1 0 100%;margin:0;justify-content:center;gap:.4rem 1.1rem}.brand{font-size:1.35rem}.brand-mark{height:30px;width:30px}.nav a{font-size:.8rem}.hero{gap:1rem;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.hero-art{height:64px}.origami{height:70px;width:130px}.petal-three{top:47px}.hero h1{font-size:2rem}.hero .intro{font-size:.95rem}.tool{padding:1rem}.utility-actions{gap:.35rem}.utility-actions button{font-size:.75rem;padding:.35rem .5rem}.utility-actions .icon{width:15px;height:15px}.cards{gap:.65rem}.card{padding:.85rem}.card p{font-size:.83rem}main{padding-block:1.25rem 2rem}}
@media(max-width:650px){.wrap{width:calc(100% - 1.5rem)}.topbar{padding-block:.5rem;gap:.35rem .7rem}.language-toggle{font-size:.82rem;min-height:38px}.topbar>.nav{gap:.25rem 1rem}.hero{grid-template-columns:minmax(0,1fr);gap:1rem;margin-bottom:1rem}.hero-intro{padding:0}.hero-art{float:inline-end;width:104px;height:68px;margin:0 0 .25rem .5rem}.origami{width:104px;height:68px}.petal-one{font-size:.9rem}.petal-two{top:44px;font-size:.85rem}.petal-three{top:48px;font-size:1rem}.hero h1{font-size:1.9rem;max-width:24ch;margin:.35rem 0 .6rem}.hero .intro{font-size:.92rem;line-height:1.65;margin:.4rem 0 .6rem;clear:both}.eyebrow{font-size:.69rem}.badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.73rem;margin:0;margin-inline-end:.6rem}.hero-intro>a{font-size:.76rem}.tool{padding:1rem;border-radius:.85rem .35rem .85rem .85rem}.tool-heading{margin-bottom:.5rem}textarea{min-height:94px;font-size:.85rem}.help{margin-block:.4rem;font-size:.73rem}.primary-action{min-height:46px}.sample-links{margin-block:.4rem .6rem}.cards{grid-template-columns:1fr}.page-home>.wrap>.cards:first-of-type{gap:.55rem}.card-top{margin-bottom:.25rem}.card-emoji{font-size:1.2rem}.card h2{margin-bottom:.3rem}.card p{font-size:.85rem}.home-explainer{margin-top:1rem;padding-block:1rem}.home-explainer p{font-size:.9rem}.terms{grid-template-columns:1fr;gap:.2rem}.terms dd{margin-bottom:.65rem}.footer-inner{gap:.5rem}.footer .nav{gap:.3rem 1rem}.article h1{font-size:1.85rem}.article section{margin-block:1.25rem}}
@media(max-width:350px){.result-cols{grid-template-columns:1fr}.utility-actions button{padding-inline:.45rem}.language-toggle{gap:.3rem}.topbar>.nav{gap:.25rem .6rem}.languages{width:270px}.hero-art{width:86px}.origami{width:86px}}
@media(prefers-color-scheme:dark){:root{--ink:#e5eee6;--muted:#b6c6ba;--green:#a8d5af;--button:#b2d8ae;--button-ink:#182c20;--accent:#eeaa8f;--pale:#273b2b;--paper:#151f18;--white:#1b2a20;--line:#3b4d3d;--field:#17231a;--error:#ffb5aa;--shadow:0 12px 32px #0002}body{background-image:radial-gradient(#97b18811 .7px,transparent .7px)}textarea{border-color:#7c947b}.origami{filter:saturate(.75) brightness(1.12)}.noscript{background:#44391e;color:#f5e3b5}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.tool,.language-picker,.skip,.hero-art{display:none}.hero{display:block}body{background:white}.header,.footer{border:0}.cards{display:block}.card{break-inside:avoid}}
.tool-free{font-size:.69rem;color:var(--green);background:var(--pale);padding:.2rem .45rem;border-radius:1rem;max-width:48%;text-align:center;line-height:1.5}.breadcrumbs{font-size:.8rem;color:var(--muted);margin-bottom:1rem}.breadcrumbs a{color:var(--green)}.review{border-inline-start:2px solid var(--line);padding-inline-start:1rem;margin-block:1rem}.review blockquote{margin-inline:0;color:var(--ink);white-space:pre-wrap}.review p{font-size:.8rem}.review h3{margin-bottom:.2rem}
/* Community feedback: a clear score dial and five numbered experience cards. */
.tool-rating{container-type:inline-size;margin-top:1.15rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(125deg,var(--white) 25%,var(--pale));color:var(--ink)}
.rating-heading{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:1rem}
.rating-kicker{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:650;color:var(--green)}.rating-spark{font-size:1rem;color:var(--accent)}
.rating-scale{padding:.12rem .45rem;border:1px solid var(--line);border-radius:2rem;background:var(--white);font-size:.65rem;color:var(--muted);font-variant-numeric:tabular-nums}
.rating-body{display:grid;grid-template-columns:104px minmax(0,1fr);gap:1.25rem;align-items:center}
.rating-overview{text-align:center;min-width:0}.rating-dial{width:104px;height:104px;position:relative;margin-inline:auto}
.rating-dial>svg{display:block;width:100%;height:100%}.rating-track{stroke:var(--line)}#rating-progress{stroke:var(--green);transition:stroke-dasharray .35s ease}
.rating-number{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;direction:ltr}
#rating-score{font-size:2rem;font-weight:800;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--green)}.rating-number>span{margin-top:.2rem;font-size:.75rem;color:var(--muted)}
.rating-summary{margin:.45rem 0 0;font-size:.8rem;font-weight:650;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.rating-experience{min-width:0}.rating-title{margin:0;font-size:.95rem;line-height:1.5;font-weight:750;color:var(--ink)}.rating-hint{margin:.15rem 0 .75rem;font-size:.74rem;line-height:1.5;color:var(--muted)}
.rating-fieldset{min-inline-size:0;margin:0;padding:0;border:0}.rating-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;position:relative}
.rating-choices input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.tool .rating-choices label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;min-height:70px;margin:0;padding:.4rem .1rem;border:1px solid var(--line);border-radius:.7rem;background:var(--white);color:var(--green);cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
.rating-face{width:25px;height:25px;flex:none;pointer-events:none}.rating-choice-number{font-size:1.05rem;line-height:1.1;font-weight:750;font-variant-numeric:tabular-nums;color:var(--ink)}
.tool .rating-choices label.is-selected{border-color:var(--button);background:var(--button);color:var(--button-ink);box-shadow:0 4px 12px #23473418}.rating-choices label.is-selected .rating-choice-number{color:inherit}
.rating-choices input:focus-visible+label{outline:3px solid var(--accent);outline-offset:3px}
.rating-choices input:enabled+label:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 4px 12px #23473412}
.rating-choices input:disabled+label{cursor:default}.rating-choices input:disabled+label .rating-face{opacity:.6}
.rating-range{direction:ltr;display:flex;justify-content:space-between;gap:.6rem;margin-top:.35rem;font-size:.65rem;line-height:1.5;color:var(--muted)}
.rating-action{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-top:.85rem;padding-top:.7rem;border-top:1px solid var(--line)}
.rating-choice{margin:0;font-size:.73rem;color:var(--green);line-height:1.6}.rating-save{min-height:36px;padding:.35rem .75rem;font-size:.75rem;border-radius:2rem}.rating-save>span{font-size:1rem}
.rating-status{font-size:.73rem;line-height:1.6;margin:.5rem 0 0;color:var(--muted)}.rating-status:empty{display:none}
button:disabled{cursor:default;opacity:.6;transform:none;box-shadow:none}
@container(max-width:370px){.rating-body{grid-template-columns:minmax(0,1fr);gap:.9rem}.rating-overview{display:flex;align-items:center;gap:.85rem;text-align:start}.rating-dial{width:76px;height:76px;margin:0;flex:none}#rating-score{font-size:1.6rem}.rating-summary{margin:0;font-size:.82rem}.rating-hint{margin-bottom:.65rem}}
@media(max-width:350px){.tool-rating{padding:.8rem}.rating-choices{gap:.25rem}.tool .rating-choices label{min-height:65px}.rating-face{width:23px;height:23px}}
