.papycha-tool {
    --papycha-tool-accent: #639f24;
    --papycha-tool-border: rgba(99,159,36,.3);
    --papycha-tool-surface: rgba(255,255,255,.92);
    --papycha-tool-surface-raised: #fff;
    --papycha-tool-surface-soft: rgba(99,159,36,.055);
    --papycha-tool-field: #fff;
    --papycha-tool-field-border: #b8c3ae;
    --papycha-tool-text: inherit;
    --papycha-tool-muted: #657064;
    --papycha-tool-range-rest: #dce3d7;
    --papycha-tool-tick: rgba(28,50,22,.52);
    color: inherit;
    margin: 1.5rem 0;
}
.papycha-tool *, .papycha-tool *::before, .papycha-tool *::after { box-sizing: border-box; }
.papycha-tool__panel { border: 1px solid var(--papycha-tool-border); border-radius: 16px; padding: clamp(1rem, 3vw, 1.5rem); background: var(--papycha-tool-surface); color: var(--papycha-tool-text); }
.papycha-tool__hero { display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: center; margin: -0.2rem 0 1.25rem; padding: .85rem 1rem; border-radius: 14px; background: linear-gradient(120deg, rgba(99,159,36,.18), rgba(143,207,64,.05)); }
.papycha-tool__hero-icon { display: flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; padding: .68rem; border-radius: 14px; color: #fff; background: linear-gradient(145deg,#639f24,#91d63c); box-shadow: 0 8px 18px rgba(67,112,19,.24); line-height: 1; }
.papycha-tool__hero-svg { display: block; width: 100%; height: 100%; overflow: visible; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.papycha-tool__hero strong { display: block; font-size: 1.15rem; color: inherit; }
.papycha-tool__hero span { display: block; margin-top: .15rem; opacity: .76; }
.papycha-tool__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1rem; }
.papycha-tool label { display: grid; gap: .35rem; font-weight: 700; }
.papycha-tool input, .papycha-tool select, .papycha-tool button { min-height: 44px; font: inherit; }
.papycha-tool input, .papycha-tool select { width: 100%; border: 1px solid var(--papycha-tool-field-border); border-radius: 9px; padding: .6rem .7rem; background: var(--papycha-tool-field); color: var(--papycha-tool-field-text,#1e2a1d); }
.papycha-tool input::placeholder { color: var(--papycha-tool-muted); opacity: .88; }
.papycha-tool button { border: 0; border-radius: 999px; padding: .55rem 1rem; background: var(--papycha-tool-accent); color: #fff; font-weight: 800; cursor: pointer; }
.papycha-tool button:focus-visible, .papycha-tool input:focus-visible, .papycha-tool select:focus-visible { outline: 3px solid #8fcf40; outline-offset: 2px; }
.papycha-tool__results { margin-top: 1rem; }
.papycha-tool__message { padding: .75rem 1rem; border-left: 4px solid var(--papycha-tool-accent); background: rgba(99,159,36,.1); }
.papycha-tool__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr)); gap: .75rem; }
.papycha-tool__card { border: 1px solid var(--papycha-tool-border); border-radius: 12px; padding: .85rem; background: var(--papycha-tool-surface-raised); color: var(--papycha-tool-text); }
.papycha-tool__dual-range { margin: 1rem 0 1.4rem; padding: 1rem; border: 1px solid var(--papycha-tool-border); border-radius: 14px; background: var(--papycha-tool-surface-soft); }
.papycha-tool__range-values { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.papycha-tool__range-values strong { display: inline-grid; min-width: 2.4rem; place-items: center; margin-left: .35rem; padding: .2rem .45rem; border-radius: 999px; color: #fff; background: #639f24; }
.papycha-tool__range-stack { --range-progress: 0%; --range-target: 100%; --tick-step: 10%; position: relative; height: 2rem; background: linear-gradient(to right,#3787ba 0 var(--range-progress),#73b52d var(--range-progress) var(--range-target),var(--papycha-tool-range-rest) var(--range-target) 100%) center/100% 8px no-repeat; border-radius: 999px; }
.papycha-tool__range-stack::after { content:""; position:absolute; z-index:1; left:0; right:0; top:calc(50% - 6px); height:12px; pointer-events:none; background:repeating-linear-gradient(to right,transparent 0 calc(var(--tick-step) - 1px),var(--papycha-tool-tick) calc(var(--tick-step) - 1px) var(--tick-step)); mask:linear-gradient(#000 0 3px,transparent 3px 9px,#000 9px 12px); }
.papycha-tool__range-stack input[type="range"] { position: absolute; inset: 0; width: 100%; min-height: 0; margin: 0; padding: 0; border: 0; background: transparent; background-color: transparent!important; pointer-events: none; appearance: none; -webkit-appearance: none; }
.papycha-tool__range-stack input[type="range"]:first-of-type { z-index: 3; }
.papycha-tool__range-stack input[type="range"]:last-of-type { z-index: 2; }
.papycha-tool__range-stack input[type="range"]::-webkit-slider-runnable-track { height: 7px; background: transparent; }
.papycha-tool__range-stack input[type="range"]::-moz-range-track { height: 7px; background: transparent; }
.papycha-tool__range-stack input[type="range"]::-webkit-slider-thumb { width: 24px; height: 24px; margin-top: -9px; border: 3px solid #fff; border-radius: 50%; background: #57931d; box-shadow: 0 2px 8px rgba(0,0,0,.28); pointer-events: auto; appearance: none; -webkit-appearance: none; cursor: grab; }
.papycha-tool__range-stack input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border: 3px solid #fff; border-radius: 50%; background: #57931d; box-shadow: 0 2px 8px rgba(0,0,0,.28); pointer-events: auto; cursor: grab; }
.papycha-tool__range-stack input[type="range"]:first-of-type::-webkit-slider-thumb { background:#2d80b7; }
.papycha-tool__range-stack input[type="range"]:first-of-type::-moz-range-thumb { background:#2d80b7; }
.papycha-tool__range-stack input[type="range"]:last-of-type::-webkit-slider-thumb { background:#67a828; }
.papycha-tool__range-stack input[type="range"]:last-of-type::-moz-range-thumb { background:#67a828; }
.papycha-tool__range-values span:first-child strong { background:#2d80b7; }
.papycha-tool__range-values span:last-child strong { background:#67a828; }
.papycha-tool__range-ticks { display:flex; justify-content:space-between; margin-top:.15rem; color:var(--papycha-tool-muted); font-size:.75rem; font-weight:700; }
.papycha-tool__single-range { display: grid; grid-template-columns: minmax(8rem,1fr) auto; gap: .5rem 1rem; align-items: center; }
.papycha-tool__single-range input { grid-column: 1/-1; padding: 0; accent-color: var(--papycha-tool-accent); }
.papycha-tool__single-range output { min-width: 3rem; padding: .25rem .55rem; border-radius: 999px; background: var(--papycha-tool-accent); color: #fff; font-weight: 900; text-align: center; }
.papycha-tool__token { display: inline-grid; place-items: center; min-width: 3rem; height: 3rem; padding: .3rem; border-radius: 12px; background: linear-gradient(145deg,#eef5e8,#d9e8cc); color: #365d14; font-weight: 900; line-height: 1; box-shadow: inset 0 0 0 1px rgba(99,159,36,.22); }
.papycha-tool__useful{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.65rem;margin:1rem 0 0}.papycha-tool__useful-button{padding:.65rem 1rem;border:1px solid #639f24;border-radius:999px;background:linear-gradient(135deg,#639f24,#90cf36);color:#fff;font-weight:800;cursor:pointer}.papycha-tool__useful-button:disabled{opacity:.72;cursor:default}.papycha-tool__useful-count{display:grid;place-items:center;min-width:2rem;height:2rem;padding:0 .45rem;border-radius:999px;background:rgba(99,159,36,.14);color:#47751c;font-weight:900}.papycha-tool__improve{margin-left:.25rem;color:#747b75!important;font-size:.9rem;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.papycha-tool__improve:hover,.papycha-tool__improve:focus{color:#4d544e!important}
html.papycha-dark .papycha-tool {
    --papycha-tool-accent: #91ce4f;
    --papycha-tool-border: #465542;
    --papycha-tool-surface: #20271f;
    --papycha-tool-surface-raised: #293128;
    --papycha-tool-surface-soft: #252e24;
    --papycha-tool-field: #161d17;
    --papycha-tool-field-border: #566653;
    --papycha-tool-field-text: #f3f7f0;
    --papycha-tool-text: #eef3eb;
    --papycha-tool-muted: #b4bdb0;
    --papycha-tool-range-rest: #4a5549;
    --papycha-tool-tick: rgba(235,244,230,.42);
    color: var(--papycha-tool-text);
}
html.papycha-dark .papycha-tool__panel { box-shadow: 0 18px 46px rgba(0,0,0,.2); }
html.papycha-dark .papycha-tool__hero { background: linear-gradient(120deg,rgba(111,173,53,.24),rgba(42,55,39,.88)); }
html.papycha-dark .papycha-tool__hero span { color: #c5cec1; opacity: 1; }
html.papycha-dark .papycha-tool__message { background: rgba(126,190,64,.12); }
html.papycha-dark .papycha-tool__token { background: linear-gradient(145deg,#344632,#202d21); color: #c5ed99; box-shadow: inset 0 0 0 1px rgba(151,211,88,.25); }
html.papycha-dark .papycha-tool input[type="radio"],
html.papycha-dark .papycha-tool input[type="checkbox"] { accent-color: var(--papycha-tool-accent); }
html.papycha-dark .papycha-tool__useful-count { background: rgba(145,206,79,.18); color: #c8ef9f; }
html.papycha-dark .papycha-tool__improve { color: #b8c2b4!important; }
html.papycha-dark .papycha-tool__improve:hover,
html.papycha-dark .papycha-tool__improve:focus { color: #eef3eb!important; }
@media (max-width:480px) {
    .papycha-tool__panel { padding: .75rem; }
    .papycha-tool__hero { grid-template-columns: 2.75rem minmax(0,1fr); gap: .65rem; padding: .7rem; }
    .papycha-tool__hero-icon { width: 2.75rem; height: 2.75rem; padding: .58rem; }
    .papycha-tool__range-values { align-items: start; gap: .5rem; }
    .papycha-tool__range-values span { display: grid; gap: .25rem; min-width: 0; }
    .papycha-tool__range-values span:last-child { justify-items: end; text-align: right; }
    .papycha-tool__range-values strong { margin-left: 0; }
    .papycha-tool__range-stack { --range-rest:var(--papycha-tool-range-rest); display: grid; gap: .5rem; height: auto; background: none; border-radius: 0; }
    .papycha-tool__range-stack::after { display: none; }
    .papycha-tool__range-stack input[type="range"] { position: relative; inset: auto; height: 2.25rem; pointer-events: auto; }
    .papycha-tool__range-stack input[type="range"]::-webkit-slider-runnable-track { height: 8px; border-radius: 999px; }
    .papycha-tool__range-stack input[type="range"]::-moz-range-track { height: 8px; border-radius: 999px; }
    .papycha-tool__range-stack input[type="range"]:first-of-type::-webkit-slider-runnable-track { background: linear-gradient(to right,#3787ba 0 var(--range-progress),var(--range-rest) var(--range-progress) 100%); }
    .papycha-tool__range-stack input[type="range"]:first-of-type::-moz-range-track { background: linear-gradient(to right,#3787ba 0 var(--range-progress),var(--range-rest) var(--range-progress) 100%); }
    .papycha-tool__range-stack input[type="range"]:last-of-type::-webkit-slider-runnable-track { background: linear-gradient(to right,#73b52d 0 var(--range-target),var(--range-rest) var(--range-target) 100%); }
    .papycha-tool__range-stack input[type="range"]:last-of-type::-moz-range-track { background: linear-gradient(to right,#73b52d 0 var(--range-target),var(--range-rest) var(--range-target) 100%); }
    .papycha-tool__range-ticks { margin-top: .35rem; }
}
