@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#232d38;background:#f5f7f8;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#232d38;--muted:#77838c;--line:#e5e9e9;--accent:#137c70;--paper:#fff;--mono:"DM Mono",monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7f8;color:var(--ink)}button,a{font:inherit}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(20px,5vw,76px);background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e4f1ec;color:var(--accent);font:800 20px Manrope,sans-serif}.brand strong,.brand small{display:block}.brand strong{font:700 15px Manrope,sans-serif;letter-spacing:-.02em}.brand small{margin-top:2px;color:var(--muted);font-size:11px}.course-tabs{display:flex;gap:6px;padding:4px;border:1px solid var(--line);border-radius:11px;background:#f8faf9}.tab{border:0;border-radius:8px;padding:8px 16px;color:#66737b;background:transparent;cursor:pointer;font-size:13px;font-weight:600}.tab.active{color:#fff;background:#263b3b;box-shadow:0 2px 5px #182e2d20}.layout{display:grid;grid-template-columns:286px minmax(0,1fr);max-width:1500px;margin:auto;height:calc(100vh - 76px);overflow:hidden}.sidebar{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:34px 18px 28px clamp(18px,4vw,54px);border-right:1px solid var(--line);background:#f8faf9}.sidebar,.main{scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar,.main::-webkit-scrollbar{display:none;width:0;height:0}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin:0 9px 25px;color:#87928f;font-size:10px;font-weight:700;letter-spacing:.12em}.course-count{letter-spacing:0;font-weight:500}.level{margin-bottom:24px}.level h3{display:flex;align-items:center;gap:9px;margin:0 0 8px 8px;color:#64716f;font:700 12px Manrope,sans-serif}.level-number{color:#91a09c;font:500 10px var(--mono)}.sidebar ul{list-style:none;padding:0;margin:0}.exercise{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:7px;color:#687571;background:transparent;text-align:left;font-size:12px;cursor:pointer;transition:background .15s,color .15s}.exercise:hover{color:#28413d;background:#edf2ef}.exercise.active{color:#146e62;background:#e6f1ed;font-weight:700}.mark{display:grid;place-items:center;flex:0 0 15px;width:15px;height:15px;border:1px solid #cbd4d0;border-radius:50%;font-size:9px}.mark.done{border-color:#318c78;color:#fff;background:#318c78}.reset-link{margin:15px 8px 0}.main{width:100%;max-width:1000px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:38px clamp(22px,6vw,84px) 30px}.lesson-meta{display:flex;align-items:center;gap:10px;margin:0 0 22px;color:#85918e;font-size:10px;letter-spacing:.11em;font-weight:700}.meta-dot{font-size:16px}.progress-count{margin-left:auto;color:#468174;letter-spacing:0;font-size:11px}.content{padding:clamp(24px,4vw,52px);border:1px solid #e7ebea;border-radius:14px;background:var(--paper);box-shadow:0 8px 28px #253a3510;color:#46545a;font-size:15px;line-height:1.8}.content h1,.content h2,.content h3{color:#223330;font-family:Manrope,sans-serif;line-height:1.3;letter-spacing:-.035em}.content h1{margin:0 0 22px;font-size:clamp(28px,4vw,39px);font-weight:800}.content h2{margin:2.1em 0 .65em;padding-bottom:9px;border-bottom:1px solid #edf0ef;font-size:21px}.content h3{margin-top:1.7em;font-size:17px}.content p{margin:0 0 1.15em}.content ul,.content ol{padding-left:1.4em;margin:0 0 1.2em}.content li{padding-left:.25em;margin:.28em 0}.content strong{color:#2b3c39}.content a{color:#137c70;text-underline-offset:3px}.content blockquote{margin:1.5em 0;padding:5px 18px;border-left:3px solid #7bb9a9;color:#65736f;background:#f4f8f6}.content :not(pre)>code{padding:2px 6px;border-radius:5px;color:#a45339;background:#f7f1ed;font:.88em var(--mono)}.code-frame{overflow:hidden;margin:1.4em 0 1.7em;border:1px solid #263b3d;border-radius:10px;background:#182326;box-shadow:0 5px 15px #152b2b17}.code-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:38px;padding:0 12px 0 16px;border-bottom:1px solid #ffffff12;color:#91a5a4;background:#202d30;font:10px var(--mono);text-transform:lowercase}.copy-button{padding:5px 9px;border:1px solid #ffffff22;border-radius:5px;color:#c2d0ce;background:#ffffff08;font:10px DM Sans,sans-serif;cursor:pointer}.copy-button:hover{background:#ffffff18;color:#fff}.code-frame pre{overflow-x:auto;margin:0;padding:18px 20px;color:#d8e5df;background:transparent;font:12px/1.75 var(--mono);-moz-tab-size:2;tab-size:2}.code-frame code{font:inherit;white-space:pre}.code-frame .hljs-keyword,.code-frame .hljs-literal{color:#dc9bdd}.code-frame .hljs-string{color:#c8d98b}.code-frame .hljs-comment{color:#7d9290;font-style:italic}.code-frame .hljs-title,.code-frame .hljs-function{color:#86c9e8}.code-frame .hljs-number{color:#efb77e}.mermaid-diagram{overflow-x:auto;margin:1.5em 0 1.8em;padding:22px;border:1px solid #e2eae5;border-radius:11px;background:linear-gradient(145deg,#fbfdfb,#f4f8f5);text-align:center}.mermaid-diagram svg{display:block;max-width:100%;height:auto;margin:auto}.mermaid-fallback{overflow:hidden;margin:1.5em 0;padding:14px 16px;border:1px solid #e2eae5;border-radius:10px;color:#64746c;background:#f7faf7;font-size:11px}.mermaid-fallback pre{overflow-x:auto;margin:10px 0 0;color:#40534a;font:11px/1.7 var(--mono);white-space:pre}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:17px 0 28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:0 15px;border:1px solid #dce4e1;border-radius:8px;color:#52615d;background:#fff;text-decoration:none;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s}.btn:hover{border-color:#9ebbb1;color:#176f63}.btn.playground{margin-right:auto}.btn.complete{color:#fff;border-color:#246e62;background:#246e62}.btn.complete:hover{background:#1d5f55}.btn.completed{color:#246e62;border-color:#b8d8cd;background:#e9f4ef}.lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lesson-nav-item{display:flex;flex-direction:column;gap:6px;max-width:100%;padding:12px 14px;border:1px solid #e4e9e7;border-radius:9px;background:#fff;cursor:pointer;text-align:left}.lesson-nav-item:hover{border-color:#a9c6bc;background:#fbfdfc}.lesson-nav-item.next{text-align:right;align-items:flex-end}.nav-direction{color:#7a8984;font-size:10px;font-weight:600}.lesson-nav-item strong{overflow:hidden;max-width:100%;color:#334540;font:700 12px Manrope,sans-serif;text-overflow:ellipsis;white-space:nowrap}.course-end{grid-column:2;align-self:center;justify-self:end;color:#84918d;font-size:12px}.footer{display:flex;justify-content:space-between;padding:18px 2px;color:#929d99;font-size:10px}.link{padding:0;border:0;color:#7b8984;background:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:11px}.brand{padding:0;border:0;background:none;text-align:left;cursor:pointer}.header-nav{display:flex;align-items:center;gap:24px}.home-link{padding:7px 4px;border:0;color:#52615d;background:none;cursor:pointer;font-size:12px;font-weight:600}.home-link:hover{color:var(--accent)}.topbar-note{color:#76847f;font-size:12px}.home-page{max-width:1440px;margin:0 auto;padding:0 clamp(22px,7.5vw,110px)}.hero{position:relative;display:grid;grid-template-columns:1.02fr .98fr;min-height:485px;align-items:center;overflow:hidden;border-bottom:1px solid #e2e9e5}.hero-copy{position:relative;z-index:2;padding:70px 0 62px}.eyebrow,.section-kicker{display:flex;align-items:center;gap:10px;color:#67847a;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow-line{display:inline-block;width:25px;height:1px;background:#77a697}.hero h1{margin:24px 0 18px;color:#233530;font:800 clamp(43px,5.2vw,68px)/1.05 "Manrope",sans-serif;letter-spacing:-.065em}.hero h1 em,.practice-copy h2 em{color:#278575;font-style:normal}.hero-copy>p{max-width:420px;margin:0;color:#6e7c77;font-size:15px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.hero-primary,.hero-secondary{display:inline-flex;align-items:center;gap:15px;text-decoration:none;font-size:12px;font-weight:700}.hero-primary{padding:12px 16px;border-radius:7px;color:#fff;background:#246e62}.hero-primary:hover{background:#1d5e53}.hero-primary span{font-size:15px}.hero-secondary{color:#586b64}.hero-secondary span{color:#398676}.hero-footnote{display:flex;align-items:center;gap:9px;margin-top:40px;color:#84918c;font-size:10px}.footnote-icon{display:grid;place-items:center;width:23px;height:23px;border:1px solid #dce5e0;border-radius:50%;color:#4f8274;font-size:12px}.hero-art{position:relative;align-self:stretch;min-height:420px}.hero-art:before{position:absolute;top:7%;right:-23%;width:108%;height:110%;border-radius:50%;background:radial-gradient(ellipse at 49% 45%,#e6f1e8 0,#edf4ed 48%,#f5f7f8 72%);content:""}.art-orbit{position:absolute;z-index:1;top:18%;left:12%;width:78%;height:65%;border:1px solid #d7e6dd;border-radius:50%;transform:rotate(-24deg)}.orbit-two{top:14%;left:21%;width:69%;height:76%;border-color:#e0eae3;transform:rotate(39deg)}.art-sun{position:absolute;z-index:1;top:14%;right:12%;width:55px;height:55px;border-radius:50%;background:#edc982;box-shadow:0 0 0 12px #edc98225}.code-card{position:absolute;z-index:2;top:23%;left:11%;width:min(370px,84%);overflow:hidden;border:1px solid #ffffff;border-radius:11px;background:#213237;box-shadow:0 22px 54px #33463d24;transform:rotate(-4deg)}.code-card-top{display:flex;align-items:center;gap:5px;height:38px;padding:0 13px;border-bottom:1px solid #ffffff13;color:#93a6a1;background:#293c40}.code-card-top span{width:6px;height:6px;border-radius:50%;background:#e69e7d}.code-card-top span:nth-child(2){background:#e4c779}.code-card-top span:nth-child(3){background:#80bb94}.code-card-top b{margin-left:auto;font:9px var(--mono)}.art-code{padding:20px 22px 23px;color:#dce7de;font:12px/2 var(--mono)}.art-muted{color:#718681}.art-purple{color:#d395d7}.art-blue{color:#8ac9e0}.art-comment{color:#8bab8f}.art-stamp{position:absolute;z-index:3;right:8%;bottom:18%;display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid #e6eee8;border-radius:8px;color:#577768;background:#ffffffeb;box-shadow:0 8px 20px #203b3020;transform:rotate(5deg)}.art-stamp span{color:#d7a94f;font-size:23px}.art-stamp small{font:700 8px/1.3 DM Sans,sans-serif;letter-spacing:.09em}.art-caption{position:absolute;z-index:2;right:6%;bottom:7%;color:#899690;font-size:10px;line-height:1.6;text-align:right}.art-caption strong{color:#52766a}.home-section{padding:62px 0;border-bottom:1px solid #e2e9e5}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:25px}.section-heading h2,.practice-copy h2{margin:10px 0 0;color:#283a35;font:700 clamp(25px,3vw,34px)/1.2 "Manrope",sans-serif;letter-spacing:-.045em}.section-heading>p{max-width:330px;margin:0 0 3px;color:#75817d;font-size:12px;line-height:1.7}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.course-card{display:flex;flex-direction:column;min-height:262px;padding:21px 22px 16px;border:1px solid #e3eae5;border-radius:11px;background:#fff;transition:transform .18s,box-shadow .18s}.course-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #253a3510}.course-card-top{display:flex;justify-content:space-between;align-items:center}.course-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;color:#236b5e;background:#e9f3ed;font:700 14px var(--mono)}.course-k8s .course-icon{color:#3975a0;background:#eaf2f8;font-size:20px}.course-index{color:#a0aaa5;font:10px var(--mono)}.course-card-copy{margin-top:17px}.card-label{color:#82928a;font-size:9px;font-weight:700;letter-spacing:.13em}.course-card h3{margin:4px 0 5px;color:#2d3e39;font:700 21px Manrope,sans-serif;letter-spacing:-.03em}.course-card p{max-width:420px;margin:0;color:#77837e;font-size:11px;line-height:1.65}.course-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:18px;border-top:1px solid #eef1ef;color:#8b9691;font-size:9px}.course-card-bottom i{margin:0 4px;font-style:normal;color:#b0b9b4}.course-card-bottom button{display:flex;align-items:center;gap:8px;padding:7px 10px;border:0;border-radius:6px;color:#246e62;background:#edf5f0;cursor:pointer;font-size:10px;font-weight:700}.course-card-bottom button:hover{background:#e2f0e9}.practice-section{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:60px;padding:66px 0 72px}.practice-copy h2{margin-top:12px;font-size:clamp(27px,3.4vw,38px)}.practice-copy>p{max-width:435px;margin:14px 0 19px;color:#74817b;font-size:12px;line-height:1.8}.practice-tags{display:flex;flex-wrap:wrap;gap:7px}.practice-tags span{padding:6px 10px;border:1px solid #e0e9e3;border-radius:20px;color:#668277;background:#f9fbf9;font-size:9px}.practice-feature{padding:19px 21px 14px;border:1px solid #e3e9e4;border-radius:12px;background:#fff;box-shadow:0 12px 32px #233a3110}.practice-feature-label{display:flex;align-items:center;gap:8px;color:#84918b;font-size:9px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#5ca78a;box-shadow:0 0 0 4px #5ca78a1a}.practice-question{margin:21px 0 15px;color:#6e7c76;font:13px/1.65 Manrope,sans-serif}.practice-question strong{color:#30423c}.practice-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.practice-options>span{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid #e8ece9;border-radius:7px;color:#718079;font:10px var(--mono)}.practice-options i{color:#a0aaa5;font-size:9px;font-style:normal}.practice-options .option-answer{border-color:#b8d9c8;color:#2d7962;background:#f0f8f3}.option-answer b{margin-left:auto;color:#3c9c70}.practice-feature-footer{display:flex;justify-content:space-between;margin-top:17px;padding-top:11px;border-top:1px solid #edf0ee;color:#9aa49f;font-size:9px}.practice-feature-footer span{color:#d8ad5d}.home-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 0 26px;color:#89958f;font-size:9px}.home-footer b{color:#53675f;font-weight:700}.practice-launch{display:flex;align-items:center;gap:18px;margin-top:20px;padding:10px 13px;border:0;border-radius:7px;color:#fff;background:#246e62;cursor:pointer;font-size:11px;font-weight:700}.practice-launch:hover{background:#1d5e53}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1440px;margin:0 auto;padding:20px clamp(20px,7.5vw,110px) 25px;color:#89958f;font-size:10px}.site-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.site-footer a,.site-footer button{padding:0;border:0;color:#77877f;background:none;text-decoration:none;cursor:pointer;font-size:10px}.site-footer a:hover,.site-footer button:hover{color:#246e62;text-decoration:underline;text-underline-offset:3px}.info-page{width:min(100% - 40px,900px);min-height:calc(100vh - 130px);margin:0 auto;padding:30px 0 55px}.info-page .practice-breadcrumb a{color:#62746c;text-decoration:none}.info-card{margin-top:35px;padding:clamp(25px,5vw,55px);border:1px solid #e3eae5;border-radius:13px;background:#fff;box-shadow:0 12px 36px #263b320a}.info-card h1{margin:14px 0 32px;color:#293b35;font:800 clamp(34px,5vw,48px)/1.1 "Manrope",sans-serif;letter-spacing:-.055em}.info-section{padding:18px 0;border-top:1px solid #edf0ee}.info-section h2{margin:0 0 8px;color:#344740;font:700 15px Manrope,sans-serif}.info-section p{max-width:720px;margin:0;color:#66756e;font-size:13px;line-height:1.85}.info-section a{color:#187562;text-underline-offset:3px}.not-found-page{width:min(100% - 40px,760px);min-height:calc(100vh - 130px);margin:0 auto;padding:100px 0 70px}.not-found-page h1{margin:15px 0 12px;color:#293b35;font:800 clamp(35px,5vw,50px)/1.1 "Manrope",sans-serif;letter-spacing:-.055em}.not-found-page p{max-width:530px;margin:0 0 23px;color:#728079;font-size:13px;line-height:1.8}.consent-banner{position:fixed;z-index:20;right:20px;bottom:20px;left:20px;display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:980px;margin:0 auto;padding:18px 20px;border:1px solid #dce5df;border-radius:12px;background:#fff;box-shadow:0 14px 45px #1b302a26}.consent-copy{max-width:620px}.consent-copy strong{color:#2d4138;font:700 13px Manrope,sans-serif}.consent-copy p{margin:5px 0 0;color:#718078;font-size:10px;line-height:1.6}.consent-copy a{color:#247965;text-underline-offset:2px}.consent-actions{display:flex;gap:9px;flex:0 0 auto}.consent-actions button{min-width:90px;min-height:38px;padding:0 13px;border:1px solid #83978c;border-radius:7px;color:#30483d;background:#fff;cursor:pointer;font-size:11px;font-weight:700}.consent-actions button:hover{border-color:#246e62;background:#f4f8f5}.consent-close{margin-top:7px;padding:0;border:0;color:#65786f;background:none;cursor:pointer;text-decoration:underline;font-size:10px}.ad-slot-wrap{min-height:90px;margin:110px 0 35px;text-align:center}.ad-slot-wrap ins{margin:0 auto}.practice-page{width:min(100% - 40px,940px);min-height:calc(100vh - 76px);margin:0 auto;padding:30px 0 24px}.practice-breadcrumb{display:flex;align-items:center;gap:10px;color:#a0aaa5;font-size:10px}.practice-breadcrumb button{padding:4px 0;border:0;color:#62746c;background:none;cursor:pointer;font-size:10px}.practice-intro{max-width:620px;margin:42px 0 35px}.practice-intro h1{margin:12px 0 13px;color:#293b35;font:800 clamp(38px,5vw,53px)/1.05 "Manrope",sans-serif;letter-spacing:-.06em}.practice-intro h1 em{color:#278575;font-style:normal}.practice-intro p{max-width:530px;margin:0;color:#728079;font-size:13px;line-height:1.8}.practice-picker{padding:24px 0 28px;border-top:1px solid #e1e8e3}.picker-label{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#9aa69f;font:10px var(--mono)}.picker-label span{color:#52655d;font:700 13px Manrope,sans-serif}.track-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.track-card{display:flex;align-items:center;gap:13px;min-height:81px;padding:14px;border:1px solid #e1e8e3;border-radius:9px;background:#fff;cursor:pointer;text-align:left;transition:.15s}.track-card:hover{border-color:#a5c4b7;transform:translateY(-1px)}.track-card.selected{border-color:#71a995;box-shadow:0 0 0 2px #71a99520;background:#fbfefc}.track-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;color:#267263;background:#e9f3ed;font:700 14px var(--mono)}.track-k8s .track-icon{color:#3975a0;background:#eaf2f8;font-size:21px}.track-copy,.mix-card>span:nth-child(2),.topic-card>span{display:flex;flex-direction:column;gap:4px}.track-copy strong,.mix-card strong,.topic-card strong{color:#33453e;font:700 13px Manrope,sans-serif}.track-copy small,.mix-card small,.topic-card small{color:#85918b;font-size:10px}.track-select{display:grid;place-items:center;width:21px;height:21px;margin-left:auto;border:1px solid #dbe5df;border-radius:50%;color:#3c9079;font-size:11px}.selected .track-select{border-color:#4e9e83;color:#fff;background:#4e9e83}.topic-picker{border-bottom:1px solid #e1e8e3}.mix-card{display:flex;align-items:center;width:100%;gap:12px;padding:14px;border:1px solid #dce8e0;border-radius:9px;background:#f4f8f5;cursor:pointer;text-align:left}.mix-card:hover{border-color:#a5c4b7;background:#eef6f1}.mix-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;color:#b68b39;background:#f4ecd9;font-size:19px}.mix-card small,.topic-card small{font-size:9px}.mix-card>b{margin-left:auto;color:#267263;font-size:10px}.topic-heading{margin:19px 0 10px;color:#7f8c85;font-size:10px;font-weight:600}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.topic-card{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:67px;padding:11px 12px;border:1px solid #e5ebe7;border-radius:8px;background:#fff;cursor:pointer;text-align:left}.topic-card:hover{border-color:#a5c4b7;background:#fbfefc}.topic-card strong{font-size:11px}.topic-card>b{color:#318272;font-size:14px}.session-page{display:flex;flex-direction:column}.question-card{width:min(100%,680px);margin:38px auto 20px;overflow:hidden;border:1px solid #e3eae5;border-radius:13px;background:#fff;box-shadow:0 12px 36px #263b3210}.question-top{display:flex;justify-content:space-between;padding:17px 22px 12px;color:#77877f;font-size:9px;font-weight:700;letter-spacing:.1em}.question-track i,.question-progress i{padding:0 4px;color:#b2bcb6;font-style:normal}.question-progress{font-family:var(--mono);letter-spacing:0}.question-progress-bar{height:2px;background:#eef2ef}.question-progress-bar span{display:block;height:100%;background:#4d9d83;transition:width .2s}.question-body{padding:32px clamp(20px,5vw,45px) 35px}.question-eyebrow{color:#89a097;font-size:9px;font-weight:700;letter-spacing:.13em}.question-body h1{margin:12px 0 20px;color:#2a3a35;font:700 clamp(20px,3vw,25px)/1.4 "Manrope",sans-serif;letter-spacing:-.03em}.practice-code{overflow-x:auto;margin:0 0 18px;padding:16px 18px;border:1px solid #283d3e;border-radius:8px;color:#d7e4dc;background:#1d2c2e;font:12px/1.8 var(--mono);white-space:pre}.answer-list{display:grid;gap:8px}.answer-option{display:flex;align-items:center;gap:12px;min-height:47px;padding:9px 13px;border:1px solid #e4ebe6;border-radius:7px;color:#52625b;background:#fff;cursor:pointer;text-align:left;font-size:12px}.answer-option:hover:not(:disabled){border-color:#9dc4b3;background:#fbfefc}.answer-option:disabled{cursor:default}.answer-letter{display:grid;place-items:center;width:23px;height:23px;border:1px solid #e2e9e4;border-radius:6px;color:#84918a;font:10px var(--mono)}.answer-correct{border-color:#a8d3bb;color:#286b52;background:#f1f8f3}.answer-correct .answer-letter{border-color:#9fceb2;color:#2e845f;background:#e5f3e9}.answer-correct>b{margin-left:auto;color:#329267}.answer-wrong{border-color:#e3aaa2;color:#a45147;background:#fff7f5}.answer-feedback{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:15px;padding:13px 14px;border:1px solid #f0ded8;border-radius:8px;color:#785b50;background:#fff9f6}.answer-feedback.is-correct{border-color:#d2e8d9;color:#476856;background:#f5faf6}.answer-feedback strong{grid-column:1/-1;font:700 12px Manrope,sans-serif}.answer-feedback span{font-size:10px;line-height:1.6}.answer-feedback button{align-self:center;padding:8px 10px;border:0;border-radius:6px;color:#fff;background:#276f61;cursor:pointer;white-space:nowrap;font-size:10px;font-weight:700}.result-card{display:flex;flex-direction:column;align-items:center;margin-top:55px;padding:48px 25px;text-align:center}.result-spark{margin-bottom:14px;color:#d1a54e;font-size:28px}.result-card h1{margin:12px 0;color:#2a3a35;font:800 35px/1.15 Manrope,sans-serif;letter-spacing:-.05em}.result-card p{margin:0 0 23px;color:#77847e;font-size:12px}.result-card p strong{color:#307861}.result-home{margin-top:13px;padding:5px;border:0;color:#79877f;background:none;cursor:pointer;font-size:10px;text-decoration:underline}.answer-input-label{display:grid;gap:8px;color:#81928a;font-size:9px;font-weight:700;letter-spacing:.12em}.answer-input-label input{width:100%;min-height:47px;padding:12px 14px;border:1px solid #dfe8e2;border-radius:7px;outline:none;color:#34463e;background:#fcfdfc;font:13px var(--mono);letter-spacing:0}.answer-input-label input:focus{border-color:#78ae99;box-shadow:0 0 0 3px #78ae991d}.answer-input-label input:disabled{color:#64756d;background:#f6f8f6}.answer-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.answer-actions button{min-height:36px;padding:0 11px;border:1px solid #e2e9e4;border-radius:6px;color:#63746b;background:#fff;cursor:pointer;font-size:10px;font-weight:600}.answer-actions button:hover:not(:disabled){border-color:#a9c9ba;color:#287363}.answer-actions button:disabled{opacity:.55;cursor:default}.answer-actions .submit-answer{display:flex;align-items:center;gap:9px;margin-left:auto;border-color:#276f61;color:#fff;background:#276f61}.answer-actions .submit-answer:hover:not(:disabled){border-color:#1d5e53;color:#fff;background:#1d5e53}.hint-box{display:flex;gap:9px;margin-top:12px;padding:11px 13px;border:1px solid #e8e2ce;border-radius:7px;color:#75694c;background:#fbf8ed;font-size:10px;line-height:1.55}.hint-box strong{color:#9a7c3b}.answer-feedback .revealed-answer{grid-column:1/-1;color:#54645d}.revealed-answer code{padding:3px 6px;border-radius:4px;color:#276f61;background:#eaf3ed;font:11px var(--mono)}@media (max-width:850px){.layout{grid-template-columns:230px minmax(0,1fr)}.sidebar{padding-left:16px}.main{padding-right:24px;padding-left:24px}}@media (max-width:640px){.topbar{min-height:66px;padding:10px 16px}.brand small{display:none}.topbar-note{max-width:120px;font-size:10px;text-align:right}.home-page{padding:0 19px}.hero{display:block;min-height:auto}.hero-copy{padding:54px 0 32px}.hero h1{font-size:47px}.hero-copy>p{max-width:350px;font-size:13px}.hero-footnote{margin-top:26px}.hero-art{min-height:270px;margin:0 -6px}.code-card{top:10%;left:10%;width:82%}.art-stamp{right:7%;bottom:16%}.art-caption{right:2%;bottom:4%}.home-section{padding:43px 0}.section-heading{display:block}.section-heading>p{margin-top:11px}.course-grid{grid-template-columns:1fr;gap:12px}.course-card{min-height:245px}.practice-section{grid-template-columns:1fr;gap:24px;padding:48px 0}.practice-feature{max-width:440px}.home-footer{flex-direction:column;gap:7px}.header-nav{gap:8px}.home-link{font-size:11px}.course-tabs{gap:2px}.tab{padding:7px 9px;font-size:11px}.layout{display:flex;flex-direction:column;height:calc(100dvh - 66px)}.sidebar{flex:0 0 35%;min-height:0;max-height:none;overflow-y:auto;border-right:0;border-bottom:1px solid var(--line);padding:18px 16px}.sidebar-heading,.level{margin-bottom:14px}.main{flex:1 1 65%;min-height:0;overflow-y:auto;padding:24px 15px}.content{padding:23px 19px;font-size:14px}.lesson-meta{gap:6px;font-size:9px}.progress-count{font-size:10px}.lesson-nav{gap:8px}.lesson-nav-item{padding:10px}.footer{font-size:9px}}@media (max-width:640px){.practice-page{width:calc(100% - 34px);min-height:calc(100dvh - 66px);padding-top:22px}.practice-intro{margin:32px 0 26px}.practice-intro h1{font-size:42px}.practice-intro p{font-size:12px}.practice-picker{padding:20px 0}.track-grid,.topic-grid{grid-template-columns:1fr;gap:9px}.track-card{min-height:70px}.topic-card{min-height:59px}.mix-card{flex-wrap:wrap}.mix-card>b{margin-left:auto}.question-card{margin-top:25px}.question-body{padding:26px 18px}.question-top{padding:14px 17px 10px;font-size:8px}.answer-feedback{grid-template-columns:1fr}.answer-feedback button{justify-self:start}.result-card{padding:40px 20px}.result-card h1{font-size:30px}}@media (max-width:640px){.site-footer{align-items:flex-start;flex-direction:column;gap:10px;padding:18px 20px 24px}.site-footer nav{gap:13px}.info-page{width:calc(100% - 30px);padding-top:20px}.info-card{margin-top:20px;padding:24px 19px}.info-card h1{margin-bottom:23px}.info-section{padding:15px 0}.info-section p{font-size:12px}.not-found-page{width:calc(100% - 36px);padding-top:70px}.consent-banner{right:10px;bottom:10px;left:10px;align-items:stretch;flex-direction:column;gap:13px;padding:15px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}.consent-actions button{width:100%}.ad-slot-wrap{margin:110px 0 35px}}.header-nav .home-link{text-decoration:none}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-coming-soon{border-style:dashed;background:linear-gradient(145deg,#fff,#f8fbf9)}.course-coming-soon .course-icon,.practice-coming-icon{color:#5f7e72;background:#eef4f0}.coming-soon-label,.practice-coming-card>b{color:#82918a;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.practice-coming-soon{grid-column:1/-1;padding:18px;border:1px solid #e3eae5;border-radius:11px;background:#fbfdfb}.practice-coming-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.practice-coming-heading>strong{color:#41544b;font:700 12px Manrope,sans-serif}.practice-coming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.practice-coming-card{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px;border:1px dashed #dce6df;border-radius:8px;background:#fff}.practice-coming-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:9px;font:700 11px var(--mono)}.practice-coming-card>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.practice-coming-card>span:nth-child(2) strong{color:#3b4e45;font:700 11px Manrope,sans-serif}.practice-coming-card>span:nth-child(2) small{color:#85928b;font-size:9px}.practice-coming-card>b{margin-left:auto;text-align:right}.standalone-practice-coming{margin-top:25px}.home-tools-section{padding-top:50px}.home-tools-section .section-heading{margin-bottom:10px}.home-tools-description{max-width:600px;margin:0 0 20px;color:#75817d;font-size:12px;line-height:1.7}.home-tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.home-tool-card{display:flex;align-items:flex-start;gap:10px;min-height:105px;padding:13px;border:1px solid #e3eae5;border-radius:9px;color:inherit;background:#fff;cursor:pointer;text-align:left;transition:transform .18s,box-shadow .18s,border-color .18s}.home-tool-card:hover{transform:translateY(-2px);border-color:#b9d4c8;box-shadow:0 10px 24px #253a3510}.home-tool-mark{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:8px;color:#287665;background:#edf5f0;font-size:14px}.home-tool-card>span:nth-child(2){display:grid;gap:5px}.home-tool-card strong{color:#344740;font:700 11px/1.35 Manrope,sans-serif}.home-tool-card small{color:#829089;font-size:9px;line-height:1.5}.home-tool-card>b{margin-left:auto;color:#55907f;font-size:13px}.home-tools-link{flex:0 0 auto}.home-tools-mobile-link{display:none}.header-nav .home-link[aria-current=page]{color:#246e62}.home-blog-section .section-heading{align-items:center}.text-link{display:inline-flex;align-items:center;gap:9px;padding:7px 0;border:0;color:#287665;background:none;cursor:pointer;font-size:11px;font-weight:700;text-decoration:none}.text-link:hover{color:#1d5e53}.blog-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.blog-card{display:flex;flex-direction:column;min-height:220px;padding:20px 21px;border:1px solid #e3eae5;border-radius:10px;background:#fff;transition:transform .18s,box-shadow .18s}.blog-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #253a3510}.blog-card-meta{display:flex;justify-content:space-between;gap:10px;color:#899790;font-size:9px}.blog-card-meta span{color:#377d6e;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.blog-card h3{margin:17px 0 8px;color:#2d3e39;font:700 17px/1.35 Manrope,sans-serif;letter-spacing:-.025em}.blog-card h3 a{color:inherit;text-decoration:none}.blog-card h3 a:hover{color:#247765}.blog-card p{margin:0;color:#77837e;font-size:11px;line-height:1.7}.blog-card-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:17px;color:#287665;font-size:10px;font-weight:700;text-decoration:none}.blog-page{width:min(100% - 40px,940px);min-height:calc(100vh - 76px);margin:0 auto;padding:30px 0 26px}.blog-page .practice-breadcrumb a{color:#62746c;text-decoration:none}.blog-intro{max-width:660px;margin:47px 0 40px}.blog-intro h1{margin:12px 0 14px;color:#293b35;font:800 clamp(39px,5vw,55px)/1.06 "Manrope",sans-serif;letter-spacing:-.06em}.blog-intro h1 em{color:#278575;font-style:normal}.blog-intro p{max-width:570px;margin:0;color:#728079;font-size:13px;line-height:1.8}.blog-list{padding:22px 0 30px;border-top:1px solid #e1e8e3;border-bottom:1px solid #e1e8e3}.blog-list-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px;color:#8a9891;font-size:9px;letter-spacing:.09em;text-transform:uppercase}.blog-article-header{max-width:760px;margin:43px auto 29px}.blog-article-header h1{margin:12px 0 14px;color:#293b35;font:800 clamp(34px,5vw,51px)/1.1 "Manrope",sans-serif;letter-spacing:-.055em}.blog-article-header p{margin:0 0 13px;color:#728079;font-size:14px;line-height:1.8}.blog-article-header time{color:#899790;font-size:10px}.blog-article-content{max-width:760px;margin:0 auto;padding:clamp(22px,5vw,48px);border:1px solid #e3eae5;border-radius:12px;background:#fff;box-shadow:0 12px 36px #263b3208;color:#53635b;font-size:14px;line-height:1.85}.blog-article-content h2{margin:34px 0 11px;color:#2d4038;font:700 23px/1.3 Manrope,sans-serif;letter-spacing:-.035em}.blog-article-content h3{margin:26px 0 9px;color:#33473e;font:700 17px/1.35 Manrope,sans-serif}.blog-article-content p{margin:0 0 15px}.blog-article-content ul,.blog-article-content ol{padding-left:23px}.blog-article-content li{padding-left:3px;margin:5px 0}.blog-article-content a{color:#247765;text-underline-offset:3px}.blog-article-content table{width:100%;border-collapse:collapse;margin:18px 0;font-size:11px}.blog-article-content th,.blog-article-content td{padding:9px 10px;border:1px solid #e0e8e2;text-align:left}.blog-article-content th{color:#35483f;background:#f5f8f5}.blog-article-content .code-frame{margin:18px 0}.blog-article-nav{display:flex;justify-content:space-between;gap:15px;max-width:760px;margin:20px auto 0}.blog-article-nav a{color:#287665;font-size:10px;font-weight:700;text-decoration:none}.blog-article-nav a:hover{text-decoration:underline;text-underline-offset:3px}.tool-directory{width:min(100% - 40px,1020px);min-height:calc(100vh - 76px);margin:0 auto;padding:30px 0 45px}.tool-directory .practice-breadcrumb a{color:#62746c;text-decoration:none}.tools-intro{max-width:750px;margin:44px 0 34px}.tools-intro h1{margin:12px 0 14px;color:#293b35;font:800 clamp(36px,5vw,53px)/1.08 "Manrope",sans-serif;letter-spacing:-.055em}.tools-intro h1 em{color:#278575;font-style:normal}.tools-intro p{max-width:690px;margin:0;color:#728079;font-size:14px;line-height:1.85}.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card{position:relative;display:flex;flex-direction:column;min-height:190px;padding:21px;border:1px solid #e3eae5;border-radius:10px;color:inherit;background:#fff;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}.tool-card:hover{transform:translateY(-2px);border-color:#b9d4c8;box-shadow:0 12px 28px #253a3510}.tool-card-mark{align-self:flex-end;color:#458878;font-size:15px}.tool-card h2{margin:6px 0 8px;color:#2d4038;font:700 17px/1.3 Manrope,sans-serif;letter-spacing:-.02em}.tool-card p{margin:0;color:#77837e;font-size:11px;line-height:1.7}.tool-card-link{margin-top:auto;padding-top:19px;color:#287665;font-size:10px;font-weight:700}.tools-principles{max-width:720px;margin-top:32px;padding:23px 0 0;border-top:1px solid #e1e8e3}.tools-principles h2,.tool-guide h2{margin:0 0 9px;color:#344740;font:700 18px Manrope,sans-serif}.tools-principles p,.tool-guide p{color:#728079;font-size:12px;line-height:1.8}.tool-workspace{padding:clamp(18px,4vw,34px);border:1px solid #e3eae5;border-radius:13px;background:#fff;box-shadow:0 12px 36px #263b3208}.tool-widget{display:grid;gap:14px}.tool-field{display:grid;min-width:0;gap:8px;color:#50635a;font-size:11px;font-weight:700}.tool-field textarea,.tool-field input{width:100%;min-height:200px;padding:13px 14px;resize:vertical;border:1px solid #dfe8e2;border-radius:8px;outline:none;color:#34463e;background:#fcfdfc;font:12px/1.7 var(--mono)}.tool-field input{min-height:43px}.tool-field textarea:focus,.tool-field input:focus{border-color:#78ae99;box-shadow:0 0 0 3px #78ae991d}.tool-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.tool-controls label{display:flex;align-items:center;gap:8px;color:#62746c;font-size:11px}.tool-controls select{min-height:34px;padding:0 9px;border:1px solid #dfe8e2;border-radius:6px;color:#34463e;background:#fff}.tool-controls button,.tool-result-heading button{min-height:36px;padding:0 13px;border:1px solid #276f61;border-radius:6px;color:#fff;background:#276f61;cursor:pointer;font-size:10px;font-weight:700}.tool-controls button:hover,.tool-result-heading button:hover{background:#1d5e53}.tool-controls button.tool-secondary{border-color:#dce7e0;color:#596d63;background:#fff}.tool-controls button.tool-secondary:hover{border-color:#a9c9ba;color:#287363;background:#fbfefc}.tool-result{overflow:hidden;border:1px solid #e3eae5;border-radius:8px;background:#f8faf8}.tool-result-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:1px solid #e4ebe6;color:#52655d;font-size:11px}.tool-result-heading button{min-height:29px;padding:0 10px}.tool-result pre{overflow:auto;max-height:420px;margin:0;padding:15px;color:#35483f;font:12px/1.7 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.tool-error{padding:12px 14px;border:1px solid #efcfca;border-radius:7px;color:#9c4c42;background:#fff8f6;font-size:11px;line-height:1.6}.tool-security-note{margin:0;padding:11px 13px;border-radius:7px;color:#75694c;background:#fbf8ed;font-size:10px;line-height:1.6}.tool-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px}.tool-two-columns .tool-field textarea{min-height:180px}.diff-output{overflow:auto;max-height:440px;padding:8px 0;border:1px solid #e3eae5;border-radius:8px;background:#fcfdfc}.diff-line{display:flex;gap:11px;min-height:24px;padding:3px 12px;font:11px/1.6 var(--mono);white-space:pre}.diff-line>span{width:10px;color:#87948d}.diff-line code{font:inherit}.diff-added{color:#286b52;background:#edf8f0}.diff-added>span{color:#25804f}.diff-removed{color:#9c4c42;background:#fff0ee}.diff-removed>span{color:#c04e42}.regex-controls{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}.regex-controls .tool-field input{font-size:13px}.regex-results{display:grid;gap:8px;padding:13px;border:1px solid #e3eae5;border-radius:8px;background:#f8faf8;color:#52655d;font-size:11px}.regex-results>strong{font:700 12px Manrope,sans-serif}.regex-results>p{margin:0}.regex-match{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:8px;border-top:1px solid #e4ebe6}.regex-match code{padding:4px 7px;border-radius:4px;color:#276f61;background:#e8f3ed;font:11px var(--mono);overflow-wrap:anywhere}.regex-match span{color:#7a8981;font-size:10px}.tool-guide{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:35px;margin-top:32px}.tool-guide-main{padding:25px;border:1px solid #e3eae5;border-radius:11px;background:#fff;color:#728079;font-size:12px;line-height:1.8}.tool-guide-main h2{margin-top:25px}.tool-guide-main h2:first-child{margin-top:0}.tool-guide-main ol{padding-left:21px}.tool-guide-main li{margin:7px 0}.tool-guide-main details{padding:13px 0;border-top:1px solid #edf0ee}.tool-guide-main summary{color:#344740;cursor:pointer;font-weight:700}.tool-guide-main details p{margin:8px 0 0}.related-tools{display:flex;flex-direction:column;align-self:start;gap:8px;padding:18px;border:1px solid #e3eae5;border-radius:10px;background:#fff}.related-tools h2{margin-bottom:7px;font-size:14px}.related-tools a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #edf0ee;color:#576a61;font-size:10px;text-decoration:none}.related-tools a:hover{color:#247765}.tool-mode-switch{display:inline-flex;width:max-content;padding:4px;border:1px solid #dfe8e2;border-radius:8px;background:#f5f8f5}.tool-mode-switch button{min-height:34px;padding:0 13px;border:0;border-radius:5px;color:#66776f;background:transparent;cursor:pointer;font-size:11px;font-weight:700}.tool-mode-switch button.active{color:#fff;background:#276f61}.jwt-secret-field small{color:#839088;font-size:10px;font-weight:400;line-height:1.6}.tool-security-note a{color:#267665;text-underline-offset:2px}.word-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.word-stats div{display:grid;gap:5px;padding:12px;border:1px solid #e3eae5;border-radius:8px;background:#f8faf8}.word-stats strong{color:#2c6658;font:700 19px Manrope,sans-serif}.word-stats span{color:#7b8982;font-size:9px}.tool-download-link{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:1px solid #276f61;border-radius:6px;color:#fff;background:#276f61;cursor:pointer;font-size:10px;font-weight:700;text-decoration:none}.qr-preview{display:grid;place-items:center;padding:20px;border:1px solid #e3eae5;border-radius:8px;background:#f8faf8}.qr-preview img{display:block;width:min(100%,320px);height:auto;image-rendering:pixelated}.image-file-input{min-height:44px;padding:10px;border:1px dashed #adc6b8;border-radius:7px;color:#61746a;background:#f8faf8}.image-resize-source{display:block;max-width:100%;max-height:260px;margin:0 auto;object-fit:contain;border:1px solid #e3eae5;border-radius:7px}.image-resize-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:12px}.aspect-lock{min-height:40px;padding:0 12px;border:1px solid #dce7e0;border-radius:6px;color:#66776f;background:#fff;cursor:pointer;font-size:10px}.aspect-lock.active{border-color:#9dc4b3;color:#287363;background:#f3f8f4}.tool-controls input[type=range]{accent-color:#287665}.tool-controls label input[type=range]{width:115px}.image-estimate{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:13px 15px;border:1px solid #cfe3d7;border-radius:8px;color:#52655d;background:#f3f8f4;font-size:11px}.image-estimate strong{color:#286b52;font:700 16px Manrope,sans-serif}.image-estimate button{min-height:34px;margin-left:auto;padding:0 12px;border:1px solid #276f61;border-radius:6px;color:#fff;background:#276f61;cursor:pointer;font-size:10px;font-weight:700}.tools-intro .tools-tagline{margin-top:8px;color:#63746c;font-size:14px;line-height:1.7}.tools-intro .tools-privacy-note{margin-top:6px;color:#8a9690;font-size:11px}.tools-search{display:flex;align-items:center;gap:10px;width:min(100%,620px);min-height:52px;margin:0 0 12px;padding:0 15px;border:1px solid #dce7e0;border-radius:9px;color:#638176;background:#fff;box-shadow:0 5px 18px #253a3508}.tools-search:focus-within{border-color:#79ad99;box-shadow:0 0 0 3px #78ae991d}.tools-search>span{font-size:23px;line-height:1}.tools-search input{flex:1;min-width:0;min-height:48px;border:0;outline:0;color:#34463e;background:transparent;font-size:13px}.tools-search input::placeholder{color:#9aa69f}.tools-results-label{margin:0 0 11px;color:#88958f;font-size:10px}.tools-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:150px;padding:25px;border:1px dashed #dce7e0;border-radius:10px;color:#78857e;background:#fbfcfb;font-size:12px}.tools-empty strong{color:#344740;font:700 15px Manrope,sans-serif}.tools-empty button{margin-top:6px;padding:8px 12px;border:1px solid #dce7e0;border-radius:6px;color:#287665;background:#fff;cursor:pointer;font-size:10px;font-weight:700}.tool-detail .tools-intro{margin:23px 0 18px}.tool-detail .tools-intro h1{margin:7px 0 8px;font-size:clamp(28px,3vw,38px)}.tool-detail .tools-intro p{font-size:12px}.tool-detail .tool-workspace{padding:14px}.tool-detail .tool-widget{position:relative}.timestamp-widget{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.timestamp-panel{display:grid;align-content:start;gap:13px;min-width:0;padding:17px;border:1px solid #e3eae5;border-radius:9px;background:#fbfdfb}.timestamp-panel h2{margin:0;color:#344740;font:700 14px Manrope,sans-serif}.timestamp-panel .tool-field input{min-height:43px}.timestamp-panel .tool-controls{align-items:end}.timestamp-result{display:grid;gap:7px}.timestamp-result>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 11px;border:1px solid #e5ece7;border-radius:7px;background:#fff}.timestamp-result span{grid-column:1/-1;color:#899790;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.timestamp-result strong{overflow-wrap:anywhere;color:#3a5046;font:11px/1.6 var(--mono)}.timestamp-result button{align-self:center;padding:5px 8px;border:1px solid #dce7e0;border-radius:5px;color:#287363;background:#fff;cursor:pointer;font-size:9px;font-weight:700}.tool-detail .tool-field textarea{min-height:330px;height:calc(100dvh - 350px);max-height:560px;resize:both}.tool-widget:has(.tool-result){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.tool-widget:has(.tool-result)>.tool-field{grid-column:1;grid-row:1 / span 2}.tool-widget:has(.tool-result)>.tool-field textarea{height:100%;min-height:350px;max-height:620px}.tool-widget:has(.tool-result)>.tool-controls{grid-column:1;grid-row:3;align-self:start}.tool-widget:has(.tool-result)>.tool-result{grid-column:2;grid-row:1 / span 3;min-width:0;min-height:350px}.tool-widget:has(.tool-result)>.tool-result pre{max-height:calc(100dvh - 430px);min-height:305px}.tool-detail .word-stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-column:2;grid-row:1;align-content:start}.tool-widget:has(.word-stats)>.tool-field{grid-column:1;grid-row:1 / span 2}.tool-widget:has(.word-stats)>.tool-field textarea{height:calc(100dvh - 335px)}.tool-widget:has(.word-stats)>.tool-controls{grid-column:1;grid-row:3}.tool-widget:has(.word-stats)>.word-stats{grid-column:2;grid-row:1 / span 2}.tool-widget:has(.qr-preview){grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:start}.tool-widget:has(.qr-preview)>.tool-field{grid-column:1;grid-row:1}.tool-widget:has(.qr-preview)>.tool-controls{grid-column:1;grid-row:2}.tool-widget:has(.qr-preview)>.qr-preview{grid-column:2;grid-row:1 / span 3}.tool-widget:has(.qr-preview)>.tool-security-note,.tool-widget:has(.qr-preview)>.tool-error{grid-column:1 / -1}.tool-token-key{color:#8bd8b5}.tool-token-string{color:#c9a5ef}.tool-token-number{color:#f4c27a}.tool-token-literal{color:#7dbfea}.tool-token-label{color:#8bd8b5;font-weight:700}.tool-result pre{color:#d8e5dd;background:#182326}.tool-result-heading{background:#202d30;color:#b4c2bb}.tool-detail .tool-guide{margin-top:25px}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e7ece8;color:#7b8982;font-size:10px;font-weight:700;letter-spacing:.04em}.workspace-expand{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:35px;padding:0 12px;border:1px solid #dce7e0;border-radius:7px;color:#42675a;background:#f9fbf9;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:0}.workspace-expand:hover{border-color:#9dc4b3;color:#216b59;background:#f1f7f2}.workspace-expand>span{font-size:15px;line-height:1}.workspace-expand kbd{padding:2px 5px;border:1px solid #dce5df;border-radius:4px;color:#77877f;background:#fff;font:9px var(--mono)}.tool-workspace.is-expanded{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0;padding:18px clamp(16px,4vw,60px) 28px;border:0;border-radius:0;background:#f4f7f5;box-shadow:none}.tool-workspace.is-expanded .workspace-toolbar{position:sticky;z-index:2;top:-18px;margin:0 calc(-1*clamp(16px,4vw,60px)) 16px;padding:14px clamp(16px,4vw,60px);border-bottom:1px solid #dfe8e2;background:#f4f7f5ed;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tool-workspace.is-expanded .tool-widget{max-width:1500px;margin:0 auto}.tool-workspace.is-expanded .tool-field textarea,.tool-workspace.is-expanded .tool-widget:has(.tool-result)>.tool-field textarea,.tool-workspace.is-expanded .tool-widget:has(.word-stats)>.tool-field textarea{height:calc(100dvh - 190px);max-height:none}.tool-workspace.is-expanded .tool-widget:has(.tool-result)>.tool-result pre{max-height:calc(100dvh - 220px)}.tool-controls button:disabled{opacity:.48;cursor:not-allowed}.visually-hidden-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@media (max-width:960px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.course-grid{grid-template-columns:1fr}.blog-page{width:calc(100% - 34px);min-height:calc(100dvh - 66px);padding-top:22px}.blog-intro{margin:34px 0 29px}.blog-intro h1{font-size:42px}.blog-intro p{font-size:12px}.blog-card-grid{grid-template-columns:1fr;gap:10px}.blog-card{min-height:190px;padding:17px}.blog-article-header{margin:33px 0 23px}.blog-article-header h1{font-size:35px}.blog-article-header p{font-size:12px}.blog-article-content{padding:22px 18px;font-size:13px}.blog-article-content h2{font-size:20px}.blog-article-content table{display:block;overflow-x:auto}.blog-article-nav{flex-direction:column}}@media (max-width:960px){.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.tool-widget:has(.tool-result),.tool-widget:has(.word-stats),.tool-widget:has(.qr-preview),.timestamp-widget{grid-template-columns:1fr}.tool-widget:has(.tool-result)>.tool-field,.tool-widget:has(.tool-result)>.tool-controls,.tool-widget:has(.tool-result)>.tool-result,.tool-widget:has(.word-stats)>.tool-field,.tool-widget:has(.word-stats)>.tool-controls,.tool-widget:has(.word-stats)>.word-stats,.tool-widget:has(.qr-preview)>.tool-field,.tool-widget:has(.qr-preview)>.tool-controls,.tool-widget:has(.qr-preview)>.qr-preview{grid-column:1;grid-row:auto}.tool-detail .tool-field textarea,.tool-widget:has(.tool-result)>.tool-field textarea,.tool-widget:has(.word-stats)>.tool-field textarea{height:260px;min-height:180px}.tool-widget:has(.tool-result)>.tool-result{min-height:250px}.tool-widget:has(.tool-result)>.tool-result pre{min-height:210px;max-height:45vh}.tool-detail .tools-intro{margin:20px 0 15px}.tool-workspace.is-expanded .tool-widget:has(.tool-result)>.tool-field textarea{height:38vh}.tool-workspace.is-expanded .tool-widget:has(.tool-result)>.tool-result pre{max-height:38vh}.tool-workspace.is-expanded .tool-widget:has(.word-stats)>.tool-field textarea{height:36vh}}@media (max-width:760px){.home-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-coming-grid{grid-template-columns:1fr}}@media (max-width:640px){.home-tools-section .section-heading{display:flex;align-items:flex-start}.home-tools-link{display:none}.home-tools-description{font-size:11px}.home-tools-grid{grid-template-columns:1fr}.home-tool-card{min-height:74px;align-items:center}.home-tool-card>b{margin-left:auto}.home-tools-mobile-link{display:inline-flex;align-items:center;gap:9px;margin-top:13px;padding:9px 0;border:0;color:#287665;background:none;font-size:11px;font-weight:700;cursor:pointer}.practice-coming-heading{align-items:flex-start;flex-direction:column}.practice-coming-card{flex-wrap:wrap}.practice-coming-card>b{font-size:8px}}@media (max-width:640px){.tool-directory{width:calc(100% - 34px);min-height:calc(100dvh - 66px);padding-top:22px}.tools-intro{margin:34px 0 26px}.tools-intro h1{font-size:39px}.tools-intro p{font-size:12px}.tools-grid,.tool-guide,.tool-two-columns{grid-template-columns:1fr}.tool-card{min-height:165px}.tool-workspace{padding:17px 14px}.tool-field textarea{min-height:165px}.tool-guide{gap:13px}.tool-guide-main{padding:20px 17px}.regex-controls{grid-template-columns:minmax(0,1fr) 85px;gap:8px}.tool-controls{gap:7px}.tool-controls button{padding:0 10px}.word-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.image-resize-controls{grid-template-columns:1fr}.aspect-lock{justify-self:start}}.mobile-course-menu,.sidebar-backdrop,.practice-menu-toggle{display:none}@media (max-width:760px){.layout{display:block;height:calc(100dvh - 76px);overflow:hidden}.sidebar{position:fixed;z-index:31;top:76px;bottom:0;left:0;width:min(86vw,340px);max-height:none;overflow-y:auto;padding:25px 18px 30px;border-right:1px solid var(--line);border-bottom:0;background:#f8faf9;box-shadow:12px 0 35px #20352d1c;transform:translate(-105%);transition:transform .22s ease}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{position:fixed;z-index:30;top:76px;right:0;bottom:0;left:0;display:block;width:100%;border:0;background:#17231f80}.main{width:100%;max-width:none;height:100%;min-height:0;overflow-y:auto;padding:24px clamp(18px,5vw,32px) 28px}.mobile-course-menu{position:sticky;z-index:12;top:-24px;display:block;margin:-24px calc(-1*clamp(18px,5vw,32px)) 16px;padding:8px clamp(18px,5vw,32px);border-bottom:1px solid #e1e8e3;background:#f5f7f8ed;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-course-menu button{display:flex;align-items:center;width:100%;min-height:48px;gap:12px;padding:7px 11px;border:1px solid #dfe8e2;border-radius:9px;color:#33463e;background:#fff;cursor:pointer;text-align:left}.mobile-menu-icon{color:#287665;font-size:17px}.mobile-course-menu button>span:nth-child(2){display:grid;flex:1;gap:2px}.mobile-course-menu strong{font:700 12px Manrope,sans-serif}.mobile-course-menu small{overflow:hidden;color:#77867e;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-count{display:grid;place-items:center;min-width:25px;height:25px;border-radius:7px;color:#47776a;background:#edf5f0;font:10px var(--mono)}.practice-menu-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;margin:0 0 16px;padding:14px 15px;border:1px solid #dce7e0;border-radius:10px;color:#33463e;background:#fff;cursor:pointer;text-align:left}.practice-menu-toggle>span{display:grid;gap:4px}.practice-menu-toggle strong{font:700 12px Manrope,sans-serif}.practice-menu-toggle small{color:#7b8982;font-size:10px}.practice-menu-toggle>b{color:#287665;font-size:10px;white-space:nowrap}.practice-options-panel{display:none}.practice-options-panel.is-open{display:block}}@media (max-width:640px){.layout{height:calc(100dvh - 66px)}.sidebar{top:66px}.sidebar-backdrop{top:66px;right:0;bottom:0;left:0}.main{padding:24px 15px}.mobile-course-menu{top:-24px;margin-right:-15px;margin-left:-15px;padding-right:15px;padding-left:15px}.practice-menu-toggle{display:flex}.practice-options-panel{display:none}.practice-options-panel.is-open{display:block}}
