@font-face{font-family:Poppins;src:url('./fonts/poppins-latin-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/poppins-latin-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/poppins-latin-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/poppins-latin-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{color-scheme:light;--ink:#17213b;--muted:#59657d;--line:#dce3f0;--soft:#f5f7fc;--violet:#6a46e8;--blue:#366adf;--navy:#0e1730;--mint:#d8fff1;--white:#fff;--shadow:0 18px 45px rgba(15,29,67,.11);font-family:Poppins,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink)}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}::selection{background:#d8d1ff;color:#1f1753}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;padding:9px 14px;border-radius:8px}.skip-link:focus{top:12px}
.shell{width:min(1140px,calc(100% - 48px));margin-inline:auto}.site-header{height:70px;background:#fff;border-bottom:1px solid #edf0f6;position:sticky;top:0;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#171f3a;font-size:16px;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.brand-mark{width:31px;height:31px;border-radius:9px;background:linear-gradient(145deg,#5f7cf4,#7042dd);display:grid;place-items:center;color:#fff;font-size:17px;box-shadow:0 5px 13px rgba(95,75,217,.26)}.brand-dot{color:#6a46e8}.top-nav{display:flex;align-items:center;gap:27px}.top-nav a{font-size:13px;text-decoration:none;color:#4a5570;font-weight:500}.top-nav a:hover,.top-nav a:focus-visible{color:var(--violet)}.nav-pill{padding:9px 14px;border-radius:9px;background:#f0edff;color:#5633c6!important}.nav-pill:hover{background:#e4ddff}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 80% 6%,rgba(111,85,230,.37),transparent 28%),radial-gradient(circle at 20% 100%,rgba(54,106,223,.23),transparent 28%),linear-gradient(135deg,#111b38,#182347 54%,#24205b);color:#fff;padding:69px 0 91px}.hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.11;background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.32) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to right,transparent,#000)}.hero:after{content:"";position:absolute;right:max(5%,calc((100% - 1140px)/2));top:39px;width:214px;height:214px;border-radius:50%;border:1px solid rgba(188,187,255,.22);box-shadow:0 0 0 31px rgba(147,144,239,.04),0 0 0 65px rgba(147,144,239,.03);pointer-events:none}.hero-content{max-width:750px;position:relative;z-index:1}.eyebrow{margin:0 0 15px;color:#b8b7ff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.hero h1{font-size:clamp(34px,5vw,56px);line-height:1.16;letter-spacing:-.055em;margin:0 0 17px;font-weight:700}.hero p.hero-lede{font-size:16px;line-height:1.7;color:#d8dff4;margin:0;max-width:660px}.hero-proof{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}.hero-proof span{display:inline-flex;align-items:center;gap:7px;color:#d7def2;font-size:12px}.hero-proof span:before{content:"✓";display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#79ddc1;color:#102e32;font-size:11px;font-weight:700}
.main-overlap{position:relative;margin-top:-47px;z-index:2}.tool-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.9fr);background:#fff;border:1px solid #e4e8f3;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.panel{padding:32px 34px;min-width:0}.input-panel{border-right:1px solid #e7eaf4}.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:22px}.panel-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:#ede9ff;color:var(--violet);font-size:18px;font-weight:700}.panel h2{font-size:20px;letter-spacing:-.035em;margin:0}.panel-subtitle{font-size:12px;line-height:1.5;color:var(--muted);margin:4px 0 0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{min-width:0}.field.wide{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:600;color:#33405b;margin:0 0 7px}.control-wrap{display:flex;align-items:stretch;position:relative}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:45px;border:1px solid #d9e0ee;border-radius:9px;background:#fff;color:#1d2842;padding:10px 12px;outline:none;transition:border-color .16s,box-shadow .16s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#755de7;box-shadow:0 0 0 3px #e9e4ff}.field input[aria-invalid=true]{border-color:#cd4154}.field textarea{min-height:175px;resize:vertical;line-height:1.55}.field .unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;color:#7b869b;pointer-events:none;background:#fff;padding-left:4px}.field:has(.unit) input{padding-right:63px}.field-hint{font-size:11px;color:#66748b;line-height:1.4;margin:5px 0 0}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.primary-button,.secondary-button{border-radius:9px;min-height:43px;padding:10px 18px;font-weight:600;font-size:12px;border:1px solid transparent}.primary-button{background:linear-gradient(110deg,var(--blue),var(--violet));color:#fff;box-shadow:0 6px 16px rgba(92,75,211,.22)}.primary-button:hover{filter:brightness(1.07)}.secondary-button{background:#fff;border-color:#d8deeb;color:#45526d}.secondary-button:hover{background:#f4f6fa}.message{font-size:12px;line-height:1.5;margin:12px 0 0}.message.error{color:#bd3149}.message.success{color:#137359}
.result-panel{background:linear-gradient(145deg,#fafbff,#fff 52%)}.result-kicker{display:block;color:#6b7391;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.12em;margin:3px 0 12px}.result-main{font-size:clamp(30px,3.4vw,45px);line-height:1.15;letter-spacing:-.05em;font-weight:700;color:#242b52;overflow-wrap:anywhere}.result-main.placeholder{color:#a5acc0;font-size:22px}.result-label{font-size:12px;color:#626e84;margin:8px 0 0}.result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:29px}.result-item{min-width:0;border:1px solid #e3e7f1;background:#fff;border-radius:10px;padding:13px 14px}.result-item-label{display:block;color:#66718a;font-size:11px;line-height:1.3}.result-item-value{display:block;font-size:16px;font-weight:600;color:#1c2846;margin-top:6px;overflow-wrap:anywhere}.result-note{border-top:1px solid #e6eaf3;margin-top:24px;padding-top:18px;color:#62708a;font-size:11px;line-height:1.6}.result-extra{margin-top:19px}.result-textarea{width:100%;min-height:190px;border:1px solid #dfe5f0;border-radius:10px;background:#fff;padding:13px;color:#25314d;line-height:1.55;resize:vertical}.frequency-table{width:100%;border-collapse:collapse;font-size:12px}.frequency-table th,.frequency-table td{text-align:left;padding:8px;border-bottom:1px solid #e7ebf3}.frequency-table th{color:#59667e;font-size:11px}.frequency-table td:last-child,.frequency-table th:last-child{text-align:right}.grade-row{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr auto;gap:8px;align-items:end;margin-bottom:10px}.grade-row .field{min-width:0}.grade-row .field label{font-size:10px}.grade-row input{padding:8px;min-height:40px;font-size:12px}.remove-row{width:40px;height:40px;border:1px solid #dfe4ef;border-radius:8px;background:#fff;color:#6e7790;font-size:18px}.remove-row:hover{color:#bf3d53;border-color:#eac2ca}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:42px;margin-top:72px;margin-bottom:72px}.copy-block h2,.related h2,.catalog-heading{font-size:25px;letter-spacing:-.04em;margin:0 0 14px}.copy-block p{font-size:13px;line-height:1.8;color:#5e6b82;margin:0 0 18px}.formula-box{padding:17px 20px;border-left:3px solid #795be9;background:#f6f4ff;border-radius:0 9px 9px 0;color:#35405d;font-size:12px;line-height:1.7;margin:20px 0}.fine-print{font-size:12px;color:#718098;line-height:1.7}.source-link{color:#5c42c8;text-underline-offset:3px}.faq{margin-top:32px}.faq h3{font-size:18px;margin:0 0 8px}.faq details{border-bottom:1px solid #e4e8f0;padding:12px 0}.faq summary{cursor:pointer;font-size:13px;font-weight:600;color:#34405d}.faq details p{margin:8px 0 3px}.related{border:1px solid #e6eaf2;border-radius:13px;padding:24px 22px;align-self:start}.related h2{font-size:17px;margin-bottom:11px}.related a{display:flex;align-items:center;justify-content:space-between;gap:15px;text-decoration:none;padding:11px 0;border-bottom:1px solid #edf0f5;font-size:12px;font-weight:600;color:#46536d}.related a:last-child{border-bottom:0}.related a:after{content:"↗";font-size:14px;color:#8068e5}.related a:hover{color:#6545d6}.related .all-tools{color:#6142d6}
.catalog-intro{padding:67px 0 16px}.catalog-intro h2{font-size:29px;letter-spacing:-.04em;margin:0 0 10px}.catalog-intro p{color:#66728a;font-size:13px;line-height:1.7;margin:0}.category-section{margin:34px 0 48px}.category-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #dfe4ee;padding-bottom:10px;margin-bottom:8px}.category-head h3{font-size:18px;letter-spacing:-.03em;margin:0}.category-head span{color:#7a869b;font-size:11px}.tool-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px}.tool-link{display:block;text-decoration:none;border-bottom:1px solid #edf0f6;padding:15px 5px}.tool-link strong{display:block;font-size:13px;color:#23304c}.tool-link span{display:block;color:#6e7b91;font-size:11px;margin-top:3px;line-height:1.5}.tool-link:hover strong{color:#6144d5}.catalog-count{font-size:11px;color:#9fc0ff;margin-top:18px}
.hero-category{color:inherit;text-underline-offset:3px}.hero-category:hover{color:#fff}.category-hero{padding-bottom:70px}.category-content{padding-bottom:20px}.category-content .catalog-intro{max-width:770px}.category-content .category-section{margin-top:22px}.category-head h2{font-size:18px;letter-spacing:-.03em;margin:0}.category-back{margin:32px 0 60px}.category-back a{font-size:12px;color:#5d44cf;text-decoration:none;font-weight:600}.category-back a:hover{text-decoration:underline}.taxonomy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 39px}.taxonomy-card{display:flex;flex-direction:column;min-height:145px;padding:20px 21px;text-decoration:none;border:1px solid #e3e6f1;border-radius:12px;background:linear-gradient(145deg,#fff,#f7f7ff);transition:transform .15s,border-color .15s,box-shadow .15s}.taxonomy-card:hover{transform:translateY(-2px);border-color:#aea2ed;box-shadow:0 10px 25px rgba(36,35,99,.07)}.taxonomy-card span{font-size:10px;color:#7662ca;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.taxonomy-card strong{font-size:15px;color:#1f2b47;line-height:1.35;margin-top:10px}.taxonomy-card small{margin-top:auto;color:#68768c;font-size:11px}
.category-guide{max-width:820px;margin:58px 0 20px}.category-guide h2{font-size:25px;letter-spacing:-.04em;margin:0 0 16px}.category-guide p{font-size:13px;line-height:1.8;color:#5e6b82;margin:0 0 18px}.category-guide .faq{margin-top:31px}.category-guide .faq summary{font-size:13px}
.table-scroll{max-width:100%;overflow:auto;border-radius:8px}.table-scroll:focus-visible{outline:2px solid #7659e2;outline-offset:3px}.frequency-table td{overflow-wrap:anywhere;max-width:300px}.text-diff{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #dce3f0;border-radius:10px;padding:16px;font:14px/1.7 ui-monospace,monospace;background:#fff;max-height:480px;overflow:auto}.diff-legend{font-size:12px;color:#56647a}.diff-added{background:#d9f8e7;color:#16482d;text-decoration:none}.diff-removed{background:#ffe1e6;color:#77263d}.serp-preview{font-family:Arial,sans-serif;width:600px;max-width:100%;padding:16px;border:1px solid #e1e5ee;border-radius:10px;background:#fff}.serp-preview.mobile{width:360px}.snippet-url{font-size:14px;color:#374147;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.snippet-title{font-size:20px;color:#1a0dab;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}.snippet-description{font-size:14px;color:#4d5156;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.contrast-preview{padding:25px;border:1px solid #cfd6e2;border-radius:10px;font:18px/1.6 Arial,sans-serif}.result-extra{min-width:0}body[data-tool=serpsnippetpreview] .tool-workspace{grid-template-columns:1fr}body[data-tool=serpsnippetpreview] .input-panel{border-right:0;border-bottom:1px solid #e7eaf4}body[data-tool=timezonemeetingplanner] .frequency-table{min-width:680px}
.result-textarea.short{min-height:72px}.preview-stage{min-height:165px;border:1px solid #e3e7f1;border-radius:10px;background:radial-gradient(circle at 25% 25%,#f0efff,#f8faff 65%);display:grid;place-items:center;margin-bottom:13px;padding:25px}.preview-sample{width:min(180px,80%);height:100px;background:linear-gradient(135deg,#6d7bf1,#724bdc);border:1px solid rgba(59,58,119,.12)}.gpa-row{display:grid;grid-template-columns:1.6fr .8fr .8fr auto;align-items:end;gap:8px;margin-bottom:10px}.gpa-row .field label{font-size:10px}.gpa-row input,.gpa-row select{font-size:12px;min-height:40px;padding:8px}
.site-footer{border-top:1px solid #e9edf4;padding:28px 0 35px;color:#728096;font-size:11px}.footer-inner{display:flex;justify-content:space-between;gap:15px}.footer-inner a{text-decoration:none;color:#5e45cd}
@media(max-width:850px){.tool-workspace{grid-template-columns:minmax(0,1fr)}.input-panel{border-right:0;border-bottom:1px solid #e7eaf4}.content-grid{grid-template-columns:1fr}.related{max-width:none}.hero:after{opacity:.45}.taxonomy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.shell{width:min(100% - 30px,1140px)}.site-header{height:62px}.brand{font-size:14px}.top-nav{gap:12px}.top-nav a{font-size:11px}.top-nav .hide-small{display:none}.hero{padding:47px 0 78px}.hero h1{font-size:36px}.hero p.hero-lede{font-size:13px}.hero-proof{gap:10px 14px}.main-overlap{margin-top:-40px}.panel{padding:23px 19px}.field-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.result-list{gap:8px}.result-item{padding:11px}.result-item-value{font-size:14px}.content-grid{margin-top:49px;gap:30px}.tool-list{grid-template-columns:1fr}.taxonomy-grid{grid-template-columns:1fr}.taxonomy-card{min-height:115px}.grade-row{grid-template-columns:1.5fr 1fr 1fr auto}.grade-row .weight-field{grid-column:2/4}.grade-row .remove-row{grid-column:4;grid-row:1}.gpa-row{grid-template-columns:1.3fr .65fr .75fr auto}.gpa-row input,.gpa-row select{font-size:11px;padding:6px}.footer-inner{display:block}.footer-inner span{display:block;margin-top:8px}}
.download-result{display:inline-block;text-decoration:none;margin:10px 0 12px 10px}.generated-image{display:block;width:100%;max-height:450px;object-fit:contain;border:1px solid #dfe5f0;border-radius:10px;background:repeating-conic-gradient(#f5f6fa 0% 25%,#fff 0% 50%) 50% / 16px 16px}.generated-image+.download-result{margin-left:0}.field input[type=file]{padding:12px;font-size:12px;overflow:hidden}.field input[type=file]::file-selector-button{border:1px solid #d8deeb;border-radius:6px;background:#f6f4ff;padding:7px;margin-right:8px;color:#45526d;cursor:pointer}.table-scroll{width:100%}
.frequency-table td{white-space:pre-wrap}
body[data-tool=hashgenerator] .detail-expansion p{overflow-wrap:anywhere}
body[data-batch="4"] .result-textarea{font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:280px}body[data-batch="4"] .result-textarea.short{min-height:88px}
/* Rich output previews for the fifth batch. */
.document-preview{display:block;width:100%;height:360px;border:1px solid #dfe3ef;border-radius:12px;background:white;margin:0 0 16px;box-sizing:border-box}
body[data-batch="5"] .result-textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:220px;font-size:12px;line-height:1.6}
.print-result{margin:0 8px 12px 0}
