@import "https://fonts.googleapis.com/css2?family=Oxygen+Mono&display=swap";:root{color:#fffffff5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1b1b1b;font-family:Oxygen Mono,monospace}*{box-sizing:border-box}html,body,#app{min-height:100vh}body{background:#1b1b1b;margin:0}button,input,select,textarea{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#app{min-height:100vh}.tools-layout{grid-template-columns:190px 1fr;height:100vh;display:grid;overflow:hidden}.tools-sidebar{border-right:1px solid #fff6;flex-direction:column;justify-content:flex-start;align-items:center;gap:28px;padding:48px 20px;display:flex}.tools-brand{width:150px}.tools-brand__logo{border-radius:10px;width:100%;height:auto;display:block}.tools-nav{flex-direction:column;gap:15px;display:flex}.tool-card{text-align:left;width:150px;font:inherit;color:inherit;cursor:pointer;background:#0003;border:1px solid #ffffff70;border-radius:10px;padding:10px;transition:background-color .18s,box-shadow .18s}.tool-card:hover,.tool-card:focus-visible{background:#00000073}.tool-card--active{cursor:default;background:#00000073;border-color:#fffffff3}.tool-card:focus-visible{outline:none}.tool-card:disabled{pointer-events:none}.tool-card__label{white-space:nowrap;font-size:16px;line-height:1}.tools-stage{align-items:flex-start;min-height:0;padding:48px;display:flex;overflow-y:auto}.tool-page{color:#ffffffd9;width:min(100%,1200px)}.tool-page--panel{flex-direction:column;align-items:flex-start;display:flex}.tool-page__eyebrow{opacity:.5;margin-bottom:20px;font-size:16px}.tool-page__title{margin:0;font-size:48px;font-weight:400;line-height:1}.tool-page__subtitle{opacity:.7;margin:12px 0 0;font-size:20px}.tool-form{grid-template-columns:180px 180px 1fr;align-items:end;gap:16px;width:min(100%,720px);display:grid}.tool-form--extended{grid-template-columns:180px 120px minmax(220px,1fr) minmax(220px,1fr) 160px;width:min(100%,1200px)}.tool-form--base64{grid-template-columns:180px 1fr;width:min(100%,360px)}.tool-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tool-form--base64 .tool-actions{grid-template-columns:minmax(0,1fr)}.tool-field{flex-direction:column;gap:10px;display:flex}.tool-field__label,.tool-output__header{letter-spacing:.04em;text-transform:uppercase;opacity:.58;font-size:14px}.tool-field__control,.tool-action,.tool-output{color:inherit;background:#0003;border:1px solid #ffffff70;border-radius:20px}.tool-field__control{appearance:none;width:100%;min-height:52px;padding:0 16px}.tool-field__control:focus,.tool-action:focus-visible{background:#00000073;border-color:#fffffff3;outline:none}.tool-action{cursor:pointer;min-height:52px;padding:0 20px;transition:background-color .18s}.tool-action:hover{background:#00000073}.tool-action:disabled{opacity:.45;cursor:default}.tool-output{width:min(100%,1200px);min-height:320px;margin-top:28px;padding:20px 22px}.tool-output--panel{flex-direction:column;margin-top:0;display:flex}.tool-output__topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.tool-output__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.tool-output__action{color:inherit;cursor:pointer;opacity:.78;background:#0000002e;border:1px solid #ffffff45;border-radius:999px;padding:6px 10px}.tool-output__action:hover,.tool-output__action:focus-visible{opacity:1;background:#00000061;outline:none}.tool-output__list{counter-reset:output-item;gap:12px;margin:18px 0 0;padding-left:0;list-style:none;display:grid}.tool-output__error{color:#ff8585f2;margin:18px 0 0;line-height:1.45}.tool-output__status{opacity:.72;font-size:14px}.tool-output__text{font:inherit;white-space:pre-wrap;word-break:break-word;margin:18px 0 0;line-height:1.45}.tool-output__item{counter-increment:output-item;word-break:break-all;grid-template-columns:4ch minmax(0,1fr);column-gap:12px;line-height:1.45;display:grid}.tool-output__item:before{content:counter(output-item) ".";text-align:right}.tool-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(100%,1200px);margin-top:28px;display:grid}.tool-panels--inputs{margin-top:0}.tool-panels--json{grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr)}.tool-textarea{width:100%;min-height:300px;color:inherit;resize:vertical;background:0 0;border:0;flex:auto;margin-top:18px;padding:0}.tool-textarea:focus{outline:none}.compare-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(100%,1200px);margin-top:28px;display:grid}.compare-panel{background:#0003;border:1px solid #ffffff70;border-radius:20px;padding:20px 0;overflow:hidden}.compare-panel .tool-output__header{padding:0 22px 16px}.compare-lines{display:grid}.compare-row{grid-template-columns:30px 44px minmax(0,1fr);min-height:36px;display:grid}.compare-cell{align-items:center;min-width:0;font-size:16px;line-height:1.4;display:flex}.compare-cell--marker,.compare-cell--line{border-right:1px solid #ffffff1f;justify-content:center}.compare-cell--content{white-space:pre-wrap;word-break:break-word;padding:6px 14px}.compare-cell--equal{background:0 0}.compare-cell--added{background:#49d66d24}.compare-cell--removed{background:#ff707024}.compare-cell--changed{background:#ffab3f24}.compare-cell--empty{color:#ffffff38}.compare-cell--added.compare-cell--marker{color:#49d66d}.compare-cell--removed.compare-cell--marker{color:#ff7070}.compare-cell--changed.compare-cell--marker{color:#ffab3f}.compare-segment--changed{background:#78beff57;border-radius:4px}.json-tree{font:inherit;margin-top:18px}.json-tree__node,.json-tree__details{min-width:0}.json-tree__summary,.json-tree__leaf{min-width:0;padding:4px 0 4px calc(var(--json-depth,0) * 18px);word-break:break-word;align-items:flex-start;gap:6px;line-height:1.45;display:flex}.json-tree__summary{cursor:pointer;list-style:none}.json-tree__summary::-webkit-details-marker{display:none}.json-tree__summary:before{content:"▸";color:#ffffff80;flex:none;width:12px;transition:transform .16s}.json-tree__details[open]>.json-tree__summary:before{transform:rotate(90deg)}.json-tree__children{display:grid}.json-tree__key{color:#ffffffeb}.json-tree__separator,.json-tree__brace,.json-tree__preview{color:#ffffff7a}.json-tree__value--string{color:#78beff}.json-tree__value--number{color:#ffcc7a}.json-tree__value--boolean{color:#7ee787}.json-tree__value--null{color:#ff8a8a}.me-panel{width:min(100%,1000px);min-height:auto;margin-top:0}.me-panel+.me-panel{margin-top:28px}.me-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin-top:18px;display:grid}.me-card{background:#ffffff08;border:1px solid #ffffff1f;border-radius:18px;min-height:110px;padding:16px}.me-card--wide{grid-column:1/-1}.me-card__value{word-break:break-word;margin-top:14px;font-size:24px;line-height:1.35}.me-card__value--raw{font-size:16px}.password-panel{background:#0003;border:1px solid #ffffff70;border-radius:20px;width:min(100%,880px);padding:24px}.password-panel__section+.password-panel__section{border-top:1px solid #ffffff29;margin-top:20px;padding-top:20px}.password-length{grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:18px;margin-top:14px;display:grid}.password-length__slider{appearance:none;cursor:pointer;background:#ffffff47;border-radius:999px;width:100%;height:4px}.password-length__slider::-webkit-slider-thumb{-webkit-appearance:none;background:#ffffffeb;border:1px solid #ffffffbf;border-radius:50%;width:20px;height:20px}.password-length__slider::-moz-range-track{background:#ffffff47;border-radius:999px;height:4px}.password-length__slider::-moz-range-thumb{background:#ffffffeb;border:1px solid #ffffffbf;border-radius:50%;width:20px;height:20px}.password-length__input-shell{display:block}.password-length__input{width:100%;min-height:52px;color:inherit;text-align:center;background:#0003;border:1px solid #ffffff70;border-radius:16px;font-size:18px}.password-length__input:focus{background:#00000073;border-color:#fffffff3;outline:none}.password-switches{flex-wrap:wrap;gap:18px 32px;margin-top:5px;display:flex}.password-switch{cursor:pointer;align-items:center;gap:12px;display:inline-flex}.password-switch__label{font-size:18px;line-height:1}.password-switch__input{opacity:0;pointer-events:none;position:absolute}.password-switch__track{background:#ffffff47;border-radius:999px;align-items:center;width:52px;height:30px;padding:3px;transition:background-color .18s;display:inline-flex}.password-switch__thumb{background:#fffffff2;border-radius:50%;width:24px;height:24px;transition:transform .18s;transform:translate(0)}.password-switch__input:checked+.password-switch__track{background:#ffffffd1}.password-switch__input:checked+.password-switch__track .password-switch__thumb{background:#1b1b1b;transform:translate(22px)}.password-result{background:#ffffff0a;border:1px solid #ffffff70;border-radius:16px;justify-content:center;align-items:center;min-height:104px;margin-top:14px;padding:18px 20px;display:flex}.password-result__value{text-align:center;word-break:break-word;font-size:clamp(20px,2.1vw,28px);line-height:1.35}.password-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.password-actions .tool-action{min-height:52px;font-size:16px}.password-panel__status{margin-top:12px}@media (width<=900px){.tools-layout{grid-template-columns:1fr;height:auto;overflow:visible}.tools-sidebar{border-bottom:1px solid #fff6;border-right:0;padding:32px 20px 24px}.tools-nav{flex-flow:wrap;justify-content:center}.tools-stage{align-items:flex-start;height:auto;min-height:auto;padding:32px 20px;overflow-y:visible}.tool-page__title{font-size:36px}.tool-form,.tool-actions,.tool-panels,.compare-board,.me-grid{grid-template-columns:1fr}.password-panel{padding:20px}.password-length{grid-template-columns:1fr}.password-switches{gap:20px}.password-switch__label{font-size:16px}.password-actions{grid-template-columns:1fr}}
