.card{display:flex;flex-direction:column;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);height:100%}.card:hover{transform:translateY(-4px);border-color:var(--color-border-strong);box-shadow:var(--shadow-lg)}.card-link{color:inherit;text-decoration:none}.card-link:hover{color:inherit}.card-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-accent-subtle);color:var(--color-accent);margin-bottom:var(--space-4)}.card-title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin-bottom:var(--space-3);color:var(--color-text)}.card-description{color:var(--color-text-muted);line-height:1.6;flex:1}.card-footer{margin-top:var(--space-5);display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-small);color:var(--color-accent);font-weight:600}.card-footer a{display:inline-block;padding-block:var(--space-1)}.card-icon--app{background:0 0}.card-icon--app img{border-radius:12px;box-shadow:var(--shadow-md)}.site-footer{margin-top:var(--space-9);background:var(--color-bg-subtle);border-top:1px solid var(--color-border)}.footer-inner{display:grid;grid-template-columns:1fr;gap:var(--space-6);padding-block:var(--space-7)}@media (min-width:720px){.footer-inner{grid-template-columns:2fr 1fr 1fr;gap:var(--space-7)}}.footer-brand .footer-name{font-size:1.125rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.footer-brand .footer-role{color:var(--color-text-muted);font-size:var(--fs-small);margin-bottom:var(--space-2)}.footer-brand .footer-city{color:var(--color-text-subtle);font-size:var(--fs-small)}.footer-heading{font-size:var(--fs-small);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.footer-contacts ul,.footer-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.footer-contacts a,.footer-nav a{display:inline-block;min-width:24px;padding-block:var(--space-1);color:var(--color-text);font-size:var(--fs-small)}.footer-contacts a:hover,.footer-nav a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid var(--color-border);padding-block:var(--space-4)}.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-subtle);font-size:var(--fs-tiny)}.footer-bottom-inner a{display:inline-block;padding-block:var(--space-2)}.shots{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding-block:var(--space-2) var(--space-4);margin-inline:calc(-1 * var(--space-5));padding-inline:var(--space-5);scrollbar-width:thin;-webkit-overflow-scrolling:touch}@media (min-width:720px){.shots{margin-inline:0;padding-inline:0;justify-content:flex-start}}.shot{flex:0 0 auto;width:min(260px,72vw);scroll-snap-align:center;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--glass-border);background:var(--color-bg-subtle);box-shadow:var(--shadow-md);display:flex;flex-direction:column}@media (min-width:720px){.shot{scroll-snap-align:start}}.shot img,.shot video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#1a2332}.shot video{cursor:pointer}.shot-caption{padding:var(--space-3) var(--space-4);font-size:var(--fs-small);color:var(--color-text-muted);line-height:1.4}.shot-caption strong{display:block;color:var(--color-text);font-weight:600}.shots-hint{text-align:center;font-size:var(--fs-tiny);color:var(--color-text-subtle);margin-top:var(--space-2)}@media (min-width:720px){.shots-hint{display:none}}.review{max-width:720px;margin-inline:auto;padding:var(--space-6)}.review-stars{color:#f5a524;letter-spacing:.1em;font-size:1.25rem;margin-bottom:var(--space-3)}.review blockquote{margin:0 0 var(--space-4);font-size:1.125rem;line-height:1.6;color:var(--color-text)}.review figcaption{font-size:var(--fs-small);color:var(--color-text-muted)}.breadcrumbs{margin-top:calc(-1 * var(--space-7));margin-bottom:var(--space-4);font-size:var(--fs-small)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;list-style:none;margin:0;padding:0;color:var(--color-text-subtle)}.breadcrumbs li+li::before{content:'›';margin-right:var(--space-2)}.breadcrumbs a{display:inline-block;padding-block:var(--space-1);color:var(--color-text-muted)}.breadcrumbs a:hover{color:var(--color-text)}.breadcrumbs [aria-current=page]{color:var(--color-text-muted)}@keyframes section-reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){main .section{animation:section-reveal linear both;animation-timeline:view();animation-range:entry 0px entry 100px}}}@media print{main .section{animation:none}}.about-hero{text-align:center;padding-block-start:var(--space-8);padding-block-end:var(--space-6)}.about-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),#8a2be2);display:grid;place-items:center;margin:0 auto var(--space-5);box-shadow:var(--shadow-lg);padding:4px}.avatar-inner{width:100%;height:100%;border-radius:50%;background:var(--color-bg-elevated);display:grid;place-items:center;font-size:2.5rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em}.about-hero h1{margin-bottom:var(--space-3)}.about-role{color:var(--color-text-muted);font-size:1.125rem;margin-bottom:var(--space-6)}.about-links{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.about-content{padding-block:var(--space-6)}.prose{max-width:720px;margin-inline:auto;font-size:1.0625rem;line-height:1.75}.prose .lead{font-size:1.1875rem;color:var(--color-text);margin-bottom:var(--space-5)}.prose p{margin-bottom:var(--space-5);color:var(--color-text)}.prose p:last-child{margin-bottom:0}.skills-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width:720px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.skills-grid{grid-template-columns:repeat(4,1fr)}}.skill-block{padding:var(--space-6)}.skill-block h3{color:var(--color-accent);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);font-size:1rem}.skill-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.skill-list li{font-size:var(--fs-small);color:var(--color-text);padding-left:var(--space-4);position:relative}.skill-list li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.offers-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width:720px){.offers-grid{grid-template-columns:repeat(3,1fr)}}.offer{padding:var(--space-6);text-align:center}.offer-icon{font-size:2.5rem;margin-bottom:var(--space-4);line-height:1}.offer h3{margin-bottom:var(--space-3)}.offer p{color:var(--color-text-muted);line-height:1.6}.timeline{list-style:none;margin:0 auto;padding:0 0 0 28px;max-width:720px;position:relative}.timeline::before{content:'';position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--color-accent),var(--color-border))}.tl-item{position:relative;padding-bottom:var(--space-6)}.tl-item:last-child{padding-bottom:0}.tl-item::before{content:'';position:absolute;left:-26px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-accent)}.tl-item--now::before{background:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-subtle)}.tl-date{font-size:var(--fs-small);font-weight:700;color:var(--color-accent);margin-bottom:var(--space-1)}.tl-item h3{margin-bottom:var(--space-2)}.tl-item p{color:var(--color-text-muted);line-height:1.6}.blog-hero{text-align:center;padding-block:var(--space-7) var(--space-4)}.blog-hero h1{font-size:var(--fs-hero);margin-bottom:var(--space-4)}.post-list{display:grid;gap:var(--space-5);max-width:860px;margin-inline:auto}.post-card .card-title{margin-top:var(--space-2)}.post-meta{font-size:var(--fs-small);color:var(--color-text-muted)}.post{max-width:760px;padding-block:var(--space-4) var(--space-6)}.post-header{margin-bottom:var(--space-7)}.post-title{font-size:var(--fs-h1);margin-block:var(--space-3)}.post-lead{font-size:1.1875rem;color:var(--color-text-muted);line-height:1.6}.post-body{max-width:none}.post-body h2{margin-block:var(--space-7) var(--space-4)}.post-body h3{margin-block:var(--space-6) var(--space-3)}.post-body ol,.post-body ul{margin-bottom:var(--space-5);padding-left:1.4em}.post-body li{margin-bottom:var(--space-2)}.post-body li p{margin-bottom:var(--space-2)}.post-body blockquote{margin:0 0 var(--space-5);padding:var(--space-3) var(--space-5);border-left:3px solid var(--color-accent);background:var(--color-bg-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-muted)}.post-body img{border-radius:var(--radius-md);margin-block:var(--space-4)}.post-body table{width:100%;border-collapse:collapse;margin-bottom:var(--space-5);font-size:var(--fs-small);display:block;overflow-x:auto}.post-body td,.post-body th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.post-body th{color:var(--color-text-muted);font-weight:600}.post-body code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:4px;padding:.1em .35em}.post-body pre{margin:0 0 var(--space-5);padding:var(--space-4);background:#0e1621;color:#e6e8eb;border-radius:var(--radius-md);overflow-x:auto;font-size:.875rem;line-height:1.55}.post-body pre code{background:0 0;border:0;padding:0;font-size:inherit;color:inherit}.post-footer{margin-top:var(--space-7);padding:var(--space-5) var(--space-6);font-size:var(--fs-small);color:var(--color-text-muted)}.post-footer p+p{margin-top:var(--space-3)}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-5)}.post-nav-link{display:block;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-weight:600}.post-nav-link span{display:block;font-size:var(--fs-tiny);color:var(--color-text-subtle);font-weight:500;margin-bottom:var(--space-1)}.post-nav-link--next{text-align:right}.post-nav-link:hover{border-color:var(--color-border-strong);color:var(--color-text)}@media (max-width:600px){.post-nav{grid-template-columns:1fr}.post-nav-link--next{text-align:left}}.comments{margin-top:var(--space-7)}.comments-title{margin-bottom:var(--space-5)}.comments-list{display:grid;gap:var(--space-4);margin-bottom:var(--space-6)}.comments-empty{color:var(--color-text-muted);font-size:var(--fs-small)}.comment{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.comment--reply{margin-left:var(--space-6);border-left:3px solid var(--color-accent-subtle)}.comment-meta{font-size:var(--fs-small);color:var(--color-text-muted);margin-bottom:var(--space-2)}.comment-meta strong{color:var(--color-text)}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:0 0 var(--space-2)}.comment-actions{display:flex;gap:var(--space-4);margin:0}.comments-link{font-size:var(--fs-small);color:var(--color-accent);padding-block:var(--space-1)}.comments-link:hover{text-decoration:underline}.comment-edit textarea,.comments-form input,.comments-form textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-elevated);font-size:1rem}.comment-edit textarea:focus,.comments-form input:focus,.comments-form textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:transparent}.comment-edit-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.comments-form{padding:var(--space-6);display:grid;gap:var(--space-4)}.comments-form h3{margin:0}.comments-form .field label{display:block;font-size:var(--fs-small);font-weight:600;margin-bottom:var(--space-1)}.comments-form .form-footer{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.comments-form .form-hint{margin:0;max-width:420px}.comments-reply-note{font-size:var(--fs-small);color:var(--color-text-muted);margin:0}.comments-status{margin:0;font-size:var(--fs-small);min-height:1.2em}.comments-status.is-error{color:var(--color-danger)}.comments-status.is-success{color:var(--color-success)}.project-hero{text-align:center;padding-block:var(--space-8) var(--space-6)}.project-hero h1{font-size:var(--fs-hero);margin-bottom:var(--space-5);background:linear-gradient(135deg,var(--color-accent),#8a2be2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);max-width:900px;margin-inline:auto}@media (min-width:720px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat{text-align:center;padding:var(--space-6) var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.stat-value{font-size:clamp(1.75rem, 9vw, 2.5rem);font-weight:800;color:var(--color-accent);letter-spacing:-.03em;margin-bottom:var(--space-2);line-height:1}.stat-label{font-size:var(--fs-small);color:var(--color-text-muted)}.release-path{list-style:none;margin:0 auto;padding:0;max-width:760px;display:grid;gap:var(--space-4)}.release-step{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-left:3px solid var(--color-accent)}.release-step--reject{border-left-color:var(--color-danger)}.release-step--done{border-left-color:var(--color-success)}.release-date{font-size:var(--fs-small);font-weight:700;color:var(--color-text-subtle);margin-bottom:var(--space-2)}.release-step h3{margin-bottom:var(--space-2)}.release-step p{color:var(--color-text-muted);line-height:1.6}.feature-list{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width:720px){.feature-list{grid-template-columns:repeat(2,1fr)}}.feature{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-subtle);border:1px solid var(--color-border)}.feature-icon{font-size:2rem;margin-bottom:var(--space-3);line-height:1}.feature h3{margin-bottom:var(--space-2)}.feature p{color:var(--color-text-muted);line-height:1.6}.stack-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width:720px){.stack-grid{grid-template-columns:repeat(3,1fr)}}.stack-column{padding:var(--space-6)}.stack-column h3{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-accent)}.stack-column ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.stack-column li{font-size:var(--fs-small);color:var(--color-text);padding-left:var(--space-4);position:relative}.stack-column li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.project-cta-inner{padding:var(--space-8) var(--space-6);text-align:center}.project-cta-inner h2{margin-bottom:var(--space-3)}.project-cta-inner p{color:var(--color-text-muted);margin-bottom:var(--space-6)}.cta-buttons{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.how-to-start{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width:720px){.how-to-start{grid-template-columns:repeat(3,1fr)}}.how-step{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-bg-subtle);border:1px solid var(--color-border);text-align:center}.how-step-number{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:1.5rem;font-weight:800;margin-bottom:var(--space-4)}[data-theme=dark] .how-step-number{color:#0e1621}.how-step h3{margin-bottom:var(--space-3)}.how-step p{color:var(--color-text-muted);line-height:1.6}.contact-hero{text-align:center;padding-block-start:var(--space-8);padding-block-end:var(--space-6)}.contacts-grid{gap:var(--space-4)}.contact-card{text-align:left;padding:var(--space-5)}.contact-card .card-title{font-size:1rem;margin-bottom:var(--space-2)}.contact-value{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--color-text);word-break:break-all}.contact-form-wrap{padding:var(--space-7);max-width:720px;margin-inline:auto}.contact-form-wrap h2{margin-bottom:var(--space-3)}.contact-form-wrap p{margin-bottom:var(--space-6)}.contact-form{display:flex;flex-direction:column;gap:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:var(--fs-small);font-weight:600;color:var(--color-text-muted)}.field input,.field textarea{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--fs-body);font-family:inherit;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.field input:focus,.field textarea:focus{border-color:var(--color-accent);outline:0;background:var(--color-bg-elevated)}.field textarea{resize:vertical;min-height:120px}.form-footer{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.form-hint{max-width:420px;margin:0}.form-status{font-size:var(--fs-small);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);display:none}.form-status.is-success{display:block;background:rgba(16,163,127,.1);color:var(--color-success);border:1px solid rgba(16,163,127,.3)}.form-status.is-error{display:block;background:rgba(220,38,38,.1);color:var(--color-danger);border:1px solid rgba(220,38,38,.3)}.hero{padding-block:var(--space-9) var(--space-8);text-align:center}.hero-eyebrow{display:inline-block;font-size:var(--fs-small);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) var(--space-4);background:var(--color-accent-subtle);border-radius:var(--radius-xl);margin-bottom:var(--space-5)}.hero-title{margin-bottom:var(--space-5);background:linear-gradient(135deg,var(--color-text),var(--color-text-muted));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-lead{max-width:640px;margin-inline:auto;color:var(--color-text-muted);font-size:1.25rem;line-height:1.5;margin-bottom:var(--space-6)}.hero-cta{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.seo-hero{text-align:center;padding-block-start:var(--space-8);padding-block-end:var(--space-6)}.case-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}@media (min-width:900px){.case-metrics{grid-template-columns:repeat(4,1fr)}}.case-metric{text-align:center;padding:var(--space-6) var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.case-metric-value{font-size:clamp(1.75rem, 9vw, 2.5rem);font-weight:800;color:var(--color-accent);letter-spacing:-.03em;line-height:1;margin-bottom:var(--space-3)}.case-metric-label{font-size:var(--fs-small);color:var(--color-text-muted);line-height:1.4}.case{padding:var(--space-7)}.case-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width:720px){.case-grid{grid-template-columns:repeat(3,1fr)}}.case-block h3{color:var(--color-accent);font-size:1rem;margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.case-block p{color:var(--color-text-muted);line-height:1.6}.case-block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.case-block li{font-size:var(--fs-small);color:var(--color-text);padding-left:var(--space-4);position:relative}.case-block li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.case-figure{margin-top:var(--space-6)}.case-figure img{display:block;width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.case-figure figcaption{margin-top:var(--space-3);text-align:center;font-size:var(--fs-small);color:var(--color-text-muted)}.audit-list{display:grid;grid-template-columns:1fr;gap:var(--space-5);max-width:900px;margin-inline:auto}.audit-item{padding:var(--space-6)}.audit-severity{display:inline-block;font-size:var(--fs-tiny);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-xl);margin-bottom:var(--space-4)}.audit-high{color:var(--color-danger);background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.3)}.audit-mid{color:#b45309;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3)}[data-theme=dark] .audit-mid{color:#fbbf24}.audit-item h3{margin-bottom:var(--space-3)}.audit-item p{color:var(--color-text-muted);line-height:1.7}.audit-item code{font-family:var(--font-mono);font-size:.85em;padding:2px 6px;border-radius:5px;background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text)}.audit-note{max-width:900px;margin:var(--space-6) auto 0;text-align:center;font-size:1.0625rem;line-height:1.6}.seo-steps{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width:720px){.seo-steps{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.seo-steps{grid-template-columns:repeat(4,1fr)}}.seo-step{padding:var(--space-6);text-align:center}.seo-step-number{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:1.5rem;font-weight:800;margin-bottom:var(--space-4)}[data-theme=dark] .seo-step-number{color:#0e1621}.seo-step h3{margin-bottom:var(--space-3)}.seo-step p{color:var(--color-text-muted);line-height:1.6}.seo-cta-inner{padding:var(--space-8) var(--space-6);text-align:center}.seo-cta-inner h2{margin-bottom:var(--space-3)}.seo-cta-inner p{color:var(--color-text-muted);margin-bottom:var(--space-6);max-width:560px;margin-inline:auto}.tools-hero{text-align:center;padding-block:var(--space-7) var(--space-4)}.tools-hero h1{font-size:var(--fs-hero);margin-bottom:var(--space-4)}.tool-hero{padding-block:var(--space-4) var(--space-2)}.tool-hero h1{margin-bottom:var(--space-3)}.tool-hero .section-lead{text-align:left;margin-inline:0;margin-bottom:var(--space-4)}.calc{max-width:720px}.calc-form{display:grid;gap:var(--space-5);padding:var(--space-6)}.calc-field>*,.calc-fields>*,.calc-form>*,.calc-input>*,.plan>*,.room>*{min-width:0}.calc-form,.calc-result{border-radius:var(--radius-lg)}.calc-chips{border:0;padding:0;margin:0;min-inline-size:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.calc-chips legend{font-size:var(--fs-small);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-2)}.calc-chip input{position:absolute;opacity:0;width:1px;height:1px}.calc-chip label{display:inline-block;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);font-size:var(--fs-small);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.calc-chip label:hover{color:var(--color-text);border-color:var(--color-border-strong)}.calc-chip input:checked+label{background:var(--color-accent);border-color:var(--color-accent);color:#fff}[data-theme=dark] .calc-chip input:checked+label{color:#0e1621}.calc-chip input:focus-visible+label{outline:2px solid var(--color-accent);outline-offset:2px}.calc-hint{font-size:var(--fs-small);color:var(--color-text-muted);margin-top:var(--space-2)}.calc-fields{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width:560px){.calc-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.calc-field label{display:block;font-size:var(--fs-small);font-weight:600;margin-bottom:var(--space-1)}.calc-input{display:flex;align-items:center;gap:var(--space-2)}.calc-input input{flex:1;min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-elevated);font-size:1.0625rem}.calc-input input:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:transparent}.calc-unit{font-size:var(--fs-small);color:var(--color-text-subtle);max-width:45%;line-height:1.2}.calc-presets{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.calc-presets:empty{display:none}.calc-presets-label{font-size:var(--fs-small);color:var(--color-text-muted)}.calc-preset{padding:var(--space-1) var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);font-size:var(--fs-tiny);color:var(--color-text-muted)}.calc-preset:hover{color:var(--color-text);border-style:solid}.calc-result{padding:var(--space-5);background:var(--color-accent-subtle);border:1px solid var(--color-border)}.calc-empty{color:var(--color-text-muted);font-size:var(--fs-small);margin:0}.calc-main-label{font-size:var(--fs-small);color:var(--color-text-muted)}.calc-main-value{font-size:2rem;font-weight:800;color:var(--color-accent);letter-spacing:-.02em;line-height:1.1;margin-block:var(--space-1) var(--space-4)}.calc-rows{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4);font-size:var(--fs-small)}.calc-rows dt{color:var(--color-text-muted)}.calc-rows dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.calc-rows .calc-total{font-weight:800;color:var(--color-text);border-top:1px solid var(--color-border);padding-top:var(--space-2)}.calc-note{font-size:var(--fs-tiny);color:var(--color-text-subtle);margin:0 0 var(--space-4);line-height:1.5}.calc-result .btn{margin-top:var(--space-1)}.calc-cost summary{cursor:pointer;font-weight:600;color:var(--color-accent);font-size:var(--fs-small);padding-block:var(--space-2)}.calc-cost-body{display:grid;gap:var(--space-4);padding-top:var(--space-3)}.calc-cost-table:empty{display:none}.tool-text{max-width:720px}.tool-text h2{margin-block:var(--space-7) var(--space-4)}.tool-text li,.tool-text p{color:var(--color-text-muted);line-height:1.65;margin-bottom:var(--space-3)}.tool-text table{width:100%;border-collapse:collapse;font-size:var(--fs-small);margin-bottom:var(--space-5);display:block;overflow-x:auto}.tool-text td,.tool-text th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);white-space:nowrap}.tool-text th{color:var(--color-text-muted);font-weight:600}.tool-text details{margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.tool-text summary{cursor:pointer;font-weight:600}.tool-text details p{margin-top:var(--space-3);margin-bottom:0}.tool-app{margin-top:var(--space-7);padding:var(--space-5) var(--space-6)}.tool-app p{margin-bottom:var(--space-4);color:var(--color-text-muted)}.tools-grid{display:grid;gap:var(--space-5);grid-template-columns:1fr}@media (min-width:720px){.tools-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.tools-grid{grid-template-columns:repeat(3,1fr)}}.calc-viz{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:var(--space-2);cursor:grab;user-select:none}.calc-viz:active{cursor:grabbing}.viz-svg{width:100%;height:auto;display:block}.viz-dim{stroke:var(--color-accent);stroke-width:1.2}.viz-ext{stroke:var(--color-accent);stroke-width:.8;stroke-dasharray:3 3;opacity:.7}.viz-arrhead{fill:var(--color-accent)}.viz-label{font-size:13px;font-weight:600;fill:var(--color-text);paint-order:stroke;stroke:var(--color-bg-elevated);stroke-width:4px;stroke-linejoin:round}.viz-small{font-size:11px;fill:var(--color-text);paint-order:stroke;stroke:var(--color-bg-elevated);stroke-width:3px}.viz-big{font-size:22px;font-weight:800;fill:var(--color-accent)}.viz-caption{font-size:12px;fill:var(--color-text-muted)}.viz-wall{fill:#e8e2d6;stroke:#8a8073;stroke-width:1}.viz-window{fill:#9ecbf0;stroke:#3b7bb5;stroke-width:1}.viz-door{fill:#c79a66;stroke:#8a5f33;stroke-width:1}.viz-area{fill:var(--color-accent-subtle);stroke:var(--color-accent);stroke-width:1.5}.calc-openings:empty{display:none}.calc-openings-title{font-size:var(--fs-small);font-weight:600;margin-bottom:var(--space-2)}.calc-opening{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:end;margin-bottom:var(--space-2)}.calc-opening-kind{min-width:52px;font-size:var(--fs-small);padding-bottom:var(--space-3)}.calc-opening-f{display:grid;gap:2px;font-size:var(--fs-tiny);color:var(--color-text-muted)}.calc-opening-f input{width:88px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-elevated);font-size:1rem}.calc-opening-del{width:32px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:1.1rem}.calc-opening-del:hover{color:var(--color-danger);border-color:var(--color-danger)}.calc-planbox:empty{display:none}.plan{display:grid;gap:var(--space-3)}.plan-svg{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);touch-action:none}.plan-grid{stroke:var(--color-border);stroke-width:.6}.plan-tape{fill:#9aa8b8;fill-opacity:0.55;stroke:#2b3440;stroke-width:1}.plan-tape--bad{fill:var(--color-danger);fill-opacity:0.3;stroke:var(--color-danger)}.plan-inner{stroke:#9aa8b8;stroke-opacity:0.75;stroke-linecap:butt}.plan-edge{stroke:transparent;stroke-width:16;cursor:pointer}.plan-edge.is-selected{stroke:var(--color-accent);stroke-opacity:0.35}.plan-handle{fill:var(--color-bg-elevated);stroke:var(--color-accent);stroke-width:2;cursor:grab}.plan-handle.is-selected{fill:var(--color-accent)}.plan-handle--inner{r:6;stroke:#b45309}.plan-panel{display:grid;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md)}.plan-panel-title{font-size:var(--fs-small);font-weight:600;margin:0}.plan-panel .calc-opening-f input{width:140px}.calc-roombox:empty{display:none}.calc-preset-rows{display:grid;gap:var(--space-2)}.calc-preset-rows:empty{display:none}.room{display:grid;gap:var(--space-3)}.room-svg{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);touch-action:none}.room-wall{cursor:pointer;stroke:#8a8073;stroke-width:1;fill:#e8e2d6}.room-wall--fence{fill:#c9d3df}.room-wall--paint{fill:#e8e2d6}.room-wall--paper{fill:#d9c9a8}.room-wall--none{fill:#cfd3d8;fill-opacity:0.5}.room-wall.is-selected{stroke:var(--color-accent);stroke-width:3}.room-opening{cursor:grab}.room-opening:active{cursor:grabbing}.calc-empty--error{color:var(--color-danger)}.room-opening.is-selected rect{stroke:var(--color-accent);stroke-width:3}.calc-opening.is-selected{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-sm)}.calc-opening-del--text{width:auto;padding-inline:var(--space-3);font-size:var(--fs-small)}.plan-inner.is-selected{stroke:var(--color-accent)}@media (max-width:560px){.calc-form{padding:var(--space-4)}.viz-label{font-size:19px}.viz-small{font-size:15px}.viz-caption{font-size:16px}.viz-big{font-size:30px}.plan-handle{r:17}.plan-handle--inner{r:14}.plan-edge{stroke-width:26}.calc-opening-f input{width:72px}.calc-rows{grid-template-columns:1fr;gap:2px var(--space-3)}.calc-rows dd{text-align:left;margin-bottom:var(--space-2)}.calc-main-value{font-size:1.5rem}}.calc-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);position:relative}.calc-share-menu{flex-basis:100%;display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.calc-share-menu a{font-weight:600}.calc-app{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.calc-app p{font-size:var(--fs-small);color:var(--color-text-muted);margin:0 0 var(--space-3)}.calc-topline{font-size:var(--fs-small);color:var(--color-text-muted);margin-bottom:var(--space-3)}@media print{.calc-actions,.calc-app,.calc-chip input:not(:checked)+label,.calc-chips legend,.calc-cost summary,.calc-hint,.calc-note,.calc-preset-rows,.calc-presets,.calc-topline,.plan-panel,.shots-hint,.tool-hero .section-lead,.tool-text{display:none!important}.calc-form{padding:0;gap:var(--space-3)}.calc,.calc-form,.calc-result,.calc-viz,.plan-svg,.room-svg{background:#fff!important;border-color:#ccc!important;box-shadow:none!important;backdrop-filter:none!important}.calc-result{break-inside:avoid}.calc-viz{max-width:520px}.calc-cost[open] .calc-cost-body{display:grid}.viz-caption{display:none}.calc-result::after{content:'kor-nil.ru/tools · ' attr(data-print-date);display:block;margin-top:12px;font-size:11px;color:#666}}.app-cta{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start}.app-cta-icon{border-radius:16px;box-shadow:var(--shadow-md)}.app-cta-body h2{margin-bottom:var(--space-2)}.app-cta-title{font-weight:700;margin:0 0 var(--space-1)}.app-cta-text{font-size:var(--fs-small);color:var(--color-text-muted);margin:0 0 var(--space-3)}.app-cta--result{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.calc-topline{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.calc-topline-icon{border-radius:6px}.btn-app{gap:var(--space-3)}.btn-app-icon{border-radius:7px}.calc-viz{position:relative}.viz-controls{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:4px}.viz-controls button{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-bg-elevated);color:var(--color-text);font-size:1.1rem;line-height:1}.viz-controls button:hover{border-color:var(--color-accent);color:var(--color-accent)}.calc-viz.viz-flat .viz-controls{display:none}.tour-help{font-size:var(--fs-small);color:var(--color-accent);padding:var(--space-1) 0;margin-bottom:var(--space-2);text-decoration:underline;text-underline-offset:0.15em}.tour-target{outline:3px solid var(--color-accent);outline-offset:6px;border-radius:var(--radius-md);animation:tour-pulse 1.4s ease-in-out infinite}@keyframes tour-pulse{0%,100%{outline-color:var(--color-accent)}50%{outline-color:transparent}}@media (prefers-reduced-motion:reduce){.tour-target{animation:none}}.tour-card{margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--color-accent);color:#fff;box-shadow:var(--shadow-lg)}[data-theme=dark] .tour-card{color:#0e1621}.tour-title{font-weight:700;margin:0 0 var(--space-1)}.tour-text{font-size:var(--fs-small);margin:0 0 var(--space-3);opacity:.95}.tour-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tour-card .btn-primary{background:#fff;color:#1d4ed8}[data-theme=dark] .tour-card .btn-primary{color:#1a4fbf}.tour-card .btn-secondary{background:0 0;border-color:currentColor;color:inherit}.tour-count{font-size:var(--fs-tiny);opacity:.8;margin-left:auto}.tools-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-5)}.tools-nav-link{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);font-size:var(--fs-small);font-weight:600;color:var(--color-text-muted);transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.tools-nav-link:hover{color:var(--color-text);border-color:var(--color-accent);background:var(--color-accent-subtle)}.tool-card{position:relative;overflow:hidden}.tool-card-icon{font-size:1.75rem;width:56px;height:56px;background:var(--color-accent-subtle);transition:transform var(--transition-base),background-color var(--transition-base)}.tool-card:focus-visible .tool-card-icon,.tool-card:hover .tool-card-icon{transform:scale(1.12) rotate(-6deg);background:var(--color-accent)}.tool-card::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(60% 50% at 20% 0,var(--color-accent-subtle),transparent 70%);transition:opacity var(--transition-base)}.tool-card:hover::after{opacity:1}.tool-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0}.tool-card-tags span{font-size:var(--fs-tiny);font-weight:600;color:var(--color-accent);background:var(--color-accent-subtle);padding:2px var(--space-2);border-radius:var(--radius-sm)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.tool-card{animation:tool-card-in linear both;animation-timeline:view();animation-range:entry 0px entry 160px}@keyframes tool-card-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}}}.tools-more{padding-top:0}.tool-card--mini .card-description{font-size:var(--fs-small)}.tool-card--mini .tool-card-icon{width:44px;height:44px;font-size:1.35rem}@media (prefers-reduced-motion:no-preference){.calc-actions .btn-primary.is-fresh{animation:cta-pulse 2.2s ease-in-out 3}@keyframes cta-pulse{0%,100%{box-shadow:0 0 0 0 var(--color-accent-subtle)}50%{box-shadow:0 0 0 8px var(--color-accent-subtle)}}}.viz-roof{fill:#8d5b4c;stroke:#46261f;stroke-width:.8}.viz-roof--alt{fill:#a06a58}