:root{color-scheme:dark;--bg:#101114;--surface:#181a1f;--surface2:#1e2026;--line:#2b2d34;--text:#f2f2f4;--muted:#92949d;--accent:#a6e3a1;--accent-ink:#11150f;--danger:#ff8f8f;--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{max-width:1040px;margin:0 auto;padding:0 30px 44px}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-size:17px;font-weight:700;letter-spacing:-.3px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;background:var(--accent);color:var(--accent-ink);border-radius:10px;font-weight:700;font-size:22px}.tagline{font-size:13px;color:var(--muted)}.intro{padding:62px 0 30px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--muted);font-weight:700;margin:0 0 12px}.intro h1{font-size:clamp(30px,5vw,42px);line-height:1.13;letter-spacing:-1.6px;margin:0}.intro>p:last-child{color:var(--muted);margin:13px 0 0;font-size:15px}.mobile-break{display:none}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tool-card{display:flex;align-items:center;text-align:left;gap:15px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);min-height:86px;transition:border-color .15s,background .15s}.tool-card:hover,.tool-card:focus-visible{border-color:#555a62;background:var(--surface2);outline:none}.card-icon,.tool-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:13px;background:#252830;color:var(--accent);font-size:19px}.card-copy{flex:1}.card-title{font-weight:600;font-size:14px}.card-desc{font-size:12px;color:var(--muted);margin-top:4px}.card-arrow{color:#686b75;font-size:18px}.privacy-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#777a83;font-size:11px;margin:32px 0 0}.privacy-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.hidden{display:none!important}.back-button{border:0;background:transparent;color:var(--muted);padding:0;margin:31px 0 30px;font-size:13px}.back-button:hover{color:var(--text)}.back-button span{margin-right:8px}.tool-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.tool-heading .eyebrow{margin-bottom:4px}.tool-heading h1{font-size:24px;letter-spacing:-.7px;margin:0}.tool-icon{width:49px;height:49px;flex-basis:49px;font-size:21px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.field-label{display:block;font-size:12px;font-weight:600;margin-bottom:9px;color:#dedfe3}.field-hint{font-size:11px;color:var(--muted);margin:8px 0 0}textarea,input[type=text],input[type=number],input[type=password]{width:100%;background:#111216;border:1px solid #34363e;border-radius:10px;color:var(--text);padding:12px 13px;outline:none}textarea{resize:vertical;min-height:150px;line-height:1.6}input:focus,textarea:focus{border-color:#717680}input::placeholder,textarea::placeholder{color:#666973}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.stat{background:#202228;border:1px solid #2b2d34;border-radius:11px;padding:14px}.stat-value{font-size:22px;font-weight:700;letter-spacing:-.5px}.stat-label{font-size:11px;color:var(--muted);margin-top:2px}.btn-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.btn{border:1px solid var(--line);border-radius:9px;background:#25272e;color:var(--text);padding:10px 15px;min-height:40px;font-size:12px;font-weight:600}.btn:hover{background:#30333b}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:#b8efb3}.btn:disabled{opacity:.45;cursor:not-allowed}.output-box{background:#111216;border:1px solid #34363e;border-radius:10px;min-height:48px;padding:13px;overflow-wrap:anywhere;font-size:14px}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:17px 0}.check{display:flex;align-items:center;gap:9px;color:#d6d7dc;font-size:12px}.check input{accent-color:var(--accent);width:16px;height:16px}.number-row{display:flex;align-items:center;gap:13px}.number-row input{max-width:120px}.result-card{margin-top:16px;border:1px solid var(--line);background:#202228;border-radius:12px;padding:18px;text-align:center}.result-label{font-size:10px;letter-spacing:1.4px;color:var(--muted)}.result-value{font-size:22px;font-weight:700;overflow-wrap:anywhere;margin-top:8px}.clock-display{font-variant-numeric:tabular-nums;font-size:clamp(40px,9vw,62px);font-weight:600;letter-spacing:-2px;text-align:center;padding:28px 0}.time-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.time-inputs label{text-align:center;color:var(--muted);font-size:11px}.time-inputs input{margin-top:7px;text-align:center}.message{font-size:12px;margin-top:12px;min-height:18px}.message.error{color:var(--danger)}.message.success{color:var(--accent)}.color-top{display:flex;align-items:center;gap:13px;margin-bottom:18px}.color-top input[type=color]{width:54px;height:46px;border:1px solid var(--line);border-radius:9px;padding:4px;background:#111216}.color-top input[type=text]{flex:1}.color-preview{height:38px;border-radius:9px;border:1px solid #ffffff22;margin:14px 0 18px}.format-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:9px;margin-top:10px}.format-name{color:var(--muted);font-size:11px;font-weight:700}.format-row .btn{padding:8px 11px;min-height:36px}.diff-output{margin-top:16px;padding:15px;background:#111216;border:1px solid #34363e;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px;max-height:360px;overflow:auto}.diff-add{background:#24583b;color:#d8ffe4}.diff-del{background:#612d35;color:#ffe1e4;text-decoration:line-through}.qr-wrap{display:flex;justify-content:center;align-items:center;min-height:230px;background:#111216;border:1px solid #34363e;border-radius:10px;margin-top:15px;padding:14px}.qr-wrap canvas,.qr-wrap img{max-width:100%;height:auto;image-rendering:pixelated}.muted{color:var(--muted)}
@media(max-width:600px){.shell{padding:0 17px 32px}.site-header{height:70px}.tagline{font-size:11px}.intro{padding:46px 0 25px}.intro h1{font-size:34px}.mobile-break{display:block}.tool-grid{grid-template-columns:1fr;gap:9px}.tool-card{min-height:76px;padding:15px}.card-icon{width:40px;height:40px;flex-basis:40px}.panel{padding:17px}.split-fields{grid-template-columns:1fr}.back-button{margin-top:24px}.stats-row{gap:7px}.stat{padding:11px}.stat-value{font-size:19px}.format-row{grid-template-columns:47px 1fr auto;gap:6px}.format-row .output-box{font-size:12px;padding:11px 8px}.format-row .btn{padding:7px 9px}}
@keyframes view-fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.view-enter{animation:view-fade-in .2s ease-out both}@media(prefers-reduced-motion:reduce){.view-enter{animation:none}}
.file-input-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-dropzone{display:flex;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:20px;border:1px dashed #454851;border-radius:12px;background:#111216;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.file-dropzone:hover,.file-dropzone:focus-visible,.file-dropzone.is-dragging{border-color:var(--accent);background:#181d19;outline:none}.file-drop-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:3px;border-radius:12px;background:#252830;color:var(--accent);font-size:23px}.file-drop-title{font-size:13px;font-weight:600}.file-drop-hint{font-size:11px;color:var(--muted)}.file-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}.file-meta-item{display:flex;min-width:0;flex-direction:column;gap:6px;padding:13px;background:#202228;border:1px solid #2b2d34;border-radius:10px}.file-meta-item span{font-size:10px;color:var(--muted)}.file-meta-item strong{font-size:12px;overflow-wrap:anywhere}.dataurl-output{min-height:180px;max-height:420px;overflow:auto;resize:vertical;overflow-wrap:anywhere;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.file-again{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
@media(max-width:600px){.file-meta{grid-template-columns:1fr}.file-dropzone{min-height:150px}}
.site-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:18px auto 0}.site-links a{color:var(--muted);font-size:11px;text-decoration:none}.site-links a:hover{color:var(--text);text-decoration:underline}.copyright-note{margin:9px 0 0;text-align:center;color:var(--muted);font-size:10px;line-height:1.6}.document-page{max-width:760px;padding:10px 0 20px}.document-page h1{margin:0 0 17px;font-size:clamp(26px,4vw,34px);letter-spacing:-.8px;line-height:1.25}.document-page h2{margin:27px 0 8px;font-size:16px;letter-spacing:-.2px}.document-page p{color:#c5c6cc;font-size:14px;line-height:1.85;margin:10px 0}.document-page .eyebrow{font-size:10px;line-height:1.4;color:var(--muted);margin-bottom:10px}.document-page .document-date,.document-page .field-hint{font-size:11px;color:var(--muted)}.document-page a:not(.btn){color:var(--accent)}.download-card{display:flex;align-items:center;gap:15px;margin:24px 0 15px;padding:17px;background:#202228;border:1px solid var(--line);border-radius:12px}.download-card .card-icon{flex-basis:43px}.download-card strong{font-size:14px}.download-card p{margin:4px 0 0;font-size:11px;color:var(--muted)}.download-button{display:inline-flex;align-items:center;text-decoration:none}.document-page .download-button{color:var(--accent-ink)}
@media(max-width:600px){.site-links{gap:10px 15px}.document-page{padding-top:4px}.document-page p{font-size:13px}.download-card{align-items:flex-start}}
/* Clear, soft-focus transitions between the app's main views. */
.view-leave{animation:view-blur-out .24s cubic-bezier(.4,0,.8,.4) both;pointer-events:none}
.view-enter{animation:view-blur-in .56s cubic-bezier(.16,1,.3,1) both}
.view-enter>*{animation:view-content-in .52s cubic-bezier(.16,1,.3,1) both}
.view-enter>*:nth-child(2){animation-delay:.035s}
.view-enter>*:nth-child(3){animation-delay:.07s}
.view-enter>*:nth-child(4){animation-delay:.105s}
.view-enter .tool-card{animation:view-content-in .55s cubic-bezier(.16,1,.3,1) both}
.view-enter .tool-card:nth-child(2){animation-delay:.035s}
.view-enter .tool-card:nth-child(3){animation-delay:.07s}
.view-enter .tool-card:nth-child(4){animation-delay:.105s}
.view-enter .tool-card:nth-child(5){animation-delay:.14s}
.view-enter .tool-card:nth-child(6){animation-delay:.175s}
.view-enter .tool-card:nth-child(n+7){animation-delay:.21s}
@keyframes view-blur-out{to{opacity:0;filter:blur(14px);transform:translateY(-7px) scale(.985)}}
@keyframes view-blur-in{from{opacity:0;filter:blur(18px);transform:translateY(11px) scale(.985)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
@keyframes view-content-in{from{opacity:0;filter:blur(12px);transform:translateY(9px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.view-leave,.view-enter,.view-enter>*,.view-enter .tool-card{animation-duration:.01ms;animation-delay:0ms}}
.convert-select{display:block;width:100%;margin:0;background:#111216;border:1px solid #34363e;border-radius:10px;color:var(--text);padding:12px 13px}.convert-results{display:grid;gap:8px;margin-top:18px}.convert-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#111216;font-size:12px}.convert-result-row span{min-width:0;overflow-wrap:anywhere}
.convert-targets{margin-top:4px}.convert-cat{margin-top:15px}.convert-cat-title{margin:0 0 8px;font-size:11px;letter-spacing:1.2px;color:var(--muted);font-weight:700}.convert-cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.convert-target{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:11px 12px;background:#111216;border:1px solid var(--line);border-radius:10px;color:var(--text)}.convert-target:hover:not(:disabled),.convert-target:focus-visible{border-color:#555a62;background:#181d19;outline:none}.convert-target.is-selected{border-color:var(--accent);background:#181d19}.convert-target.is-unsupported{opacity:.5;cursor:not-allowed;border-style:dashed}.ct-name{font-size:12px;font-weight:600}.ct-meta{font-size:10px;color:var(--muted)}.ct-meta.ct-badge{color:var(--danger);font-weight:700;letter-spacing:.5px}.ct-reason{font-size:10px;color:var(--muted);line-height:1.45}
@media(max-width:600px){.convert-cat-grid{grid-template-columns:1fr}}
.convert-preview{margin-top:16px}.preview-card{border:1px solid var(--line);background:#111216;border-radius:12px;overflow:hidden}.preview-head{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-bottom:1px solid var(--line)}.preview-head strong{font-size:13px;overflow-wrap:anywhere}.preview-meta{font-size:11px;color:var(--muted)}.preview-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;background:#0d0e11;min-height:130px}.preview-stage img,.preview-stage video{max-width:100%;max-height:440px;border-radius:8px}.preview-stage audio{width:100%}.preview-stage iframe{width:100%;height:480px;border:0;border-radius:8px;background:#fff}.preview-stage pre{margin:0;width:100%;max-height:420px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.6;text-align:left}.preview-note{font-size:11px;color:var(--muted);line-height:1.6;text-align:center}.preview-actions{display:flex;gap:9px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--line)}
@media(max-width:600px){.preview-stage iframe{height:340px}}
