*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-20{top:5rem}.top-4{top:1rem}.top-9{top:2.25rem}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100dvh\]{height:100dvh}.h-\[calc\(100\%-48px\)\]{height:calc(100% - 48px)}.h-full{height:100%}.max-h-28{max-height:7rem}.max-h-36{max-height:9rem}.max-h-64{max-height:16rem}.max-h-\[100dvh\]{max-height:100dvh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-20{min-height:5rem}.min-h-24{min-height:6rem}.min-h-32{min-height:8rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-36{width:9rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[280px\]{width:280px}.w-\[360px\]{width:360px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-\[360px\]{max-width:360px}.max-w-\[42vw\]{max-width:42vw}.max-w-\[48vw\]{max-width:48vw}.max-w-\[calc\(100vw-32px\)\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_1fr_34px\]{grid-template-columns:1fr 1fr 34px}.grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.grid-cols-\[1fr_96px_34px_34px\]{grid-template-columns:1fr 96px 34px 34px}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-line{--tw-border-opacity: 1;border-color:rgb(222 219 210 / var(--tw-border-opacity))}.border-line\/70{border-color:#dedbd2b3}.border-white\/20{border-color:#fff3}.bg-\[\#1d222b\]{--tw-bg-opacity: 1;background-color:rgb(29 34 43 / var(--tw-bg-opacity))}.bg-\[\#dedbd2\]{--tw-bg-opacity: 1;background-color:rgb(222 219 210 / var(--tw-bg-opacity))}.bg-\[\#eef0eb\]{--tw-bg-opacity: 1;background-color:rgb(238 240 235 / var(--tw-bg-opacity))}.bg-\[\#f7f4ed\]{--tw-bg-opacity: 1;background-color:rgb(247 244 237 / var(--tw-bg-opacity))}.bg-\[\#fbfaf7\]{--tw-bg-opacity: 1;background-color:rgb(251 250 247 / var(--tw-bg-opacity))}.bg-\[\#fff7f5\]{--tw-bg-opacity: 1;background-color:rgb(255 247 245 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/30{background-color:#0000004d}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.bg-line{--tw-bg-opacity: 1;background-color:rgb(222 219 210 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/95{background-color:#fffffff2}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-2{padding-bottom:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.1em\]{letter-spacing:.1em}.text-\[\#b3261e\]{--tw-text-opacity: 1;color:rgb(179 38 30 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.text-ink{--tw-text-opacity: 1;color:rgb(29 34 43 / var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity))}.text-neutral-600{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity))}.shadow-panel{--tw-shadow: 0 10px 30px rgba(29, 34, 43, .08);--tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,textarea,select{font:inherit}.hover\:border-blue-400:hover{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.hover\:bg-neutral-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.hover\:text-neutral-900:hover{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity))}.active\:cursor-grabbing:active{cursor:grabbing}:root{--bg: #fcfaf4;--surface: #fffdf8;--surface-soft: #f3f7ec;--surface-green: #f3ffd9;--surface-amber: #fff7dd;--text: #241825;--muted: #746a78;--line: rgba(36, 24, 37, .13);--line-strong: rgba(36, 24, 37, .2);--blue: #4c73db;--blue-dark: #384da5;--green: #9fe25a;--green-dark: #4f9a24;--lime: #cbfb82;--purple: #6f4a8e;--purple-soft: #f0eaff;--sky: #cfe8f7;--pink: #f8ddf1;--amber: #8a5b05;--ivan-paper: #fffdf8;--ivan-ink: #241825;--ivan-violet: #5f347d;--ivan-violet-deep: #3a203f;--ivan-lime: #cbfb82;--ivan-sky: #d9eef7;--ivan-pink: #f9e1f2;--ivan-corner-wash: linear-gradient(135deg, rgba(203, 251, 130, .42), rgba(217, 238, 247, .28) 54%, rgba(249, 225, 242, .3));--shadow: 0 18px 48px rgba(36, 24, 37, .08), inset 0 1px 0 rgba(255, 255, 255, .78);--soft-shadow: 0 28px 82px rgba(36, 24, 37, .12), inset 0 1px 0 rgba(255, 255, 255, .86)}html,body,#root{min-height:100%}body{margin:0;min-width:0;overflow-x:hidden;background:radial-gradient(circle at 12% 6%,rgba(199,245,141,.34),transparent 320px),radial-gradient(circle at 88% 10%,rgba(207,232,247,.4),transparent 360px),radial-gradient(circle at 70% 76%,rgba(248,221,241,.28),transparent 420px),linear-gradient(rgba(36,24,37,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(36,24,37,.035) 1px,transparent 1px),var(--bg);background-size:auto,auto,auto,44px 44px,44px 44px,auto;color:var(--text);font-family:ui-rounded,SF Pro Rounded,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}img,video,iframe{max-width:100%}a{color:inherit}.fasetka-page,.ivan-page{min-height:100vh;background:transparent}.ivan-page{background:linear-gradient(180deg,#fffdf85c,#fffdf8b8 48%,#f7fcf2a3),radial-gradient(circle at 16% 4%,rgba(199,245,141,.24),transparent 360px),radial-gradient(circle at 88% 20%,rgba(207,232,247,.28),transparent 420px)}.ui-shell,.ui-section{width:min(1180px,calc(100% - 48px));margin:0 auto}.ui-section{position:relative;padding:42px 0}.ivan-page .ui-section:not(.resume-action-section):before{content:"";position:absolute;top:0;left:max(0px,calc((100% - 1180px)/2));width:min(1180px,100%);height:1px;background:linear-gradient(90deg,transparent,rgba(36,24,37,.13),transparent)}.ui-section-head{margin-bottom:18px}.ui-section-head h2{margin:0;color:var(--text);font-size:36px;font-weight:950;line-height:1.02;letter-spacing:0}.ui-section-head p,.hero-lead,.ui-card p{color:var(--muted);line-height:1.58}.ui-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fffdf8eb,#ffffffc2),var(--surface);box-shadow:var(--shadow)}.ivan-page .ui-card:before{content:"";position:absolute;right:-62px;bottom:-72px;z-index:0;width:180px;height:122px;border:18px solid rgba(217,238,247,.34);border-right:0;border-bottom:0;border-radius:999px 0 0;background:var(--ivan-corner-wash);opacity:.9;pointer-events:none}.ivan-page .ui-card>*{position:relative;z-index:1}.ui-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 16px;border:1px solid transparent;cursor:pointer;font-weight:850;line-height:1.1;text-align:center;text-decoration:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.ui-button:hover{transform:translateY(-1px)}.ui-button svg{flex:0 0 auto}.ui-button-primary{border-color:#4b8f232e;background:linear-gradient(180deg,#d5ff9f,var(--lime));color:#241825;box-shadow:0 16px 34px #7fbd3b33,inset 0 1px #ffffffb8}.ui-button-primary:hover{background:linear-gradient(180deg,#e2ffb9,#baf073)}.ui-button-secondary{border-color:var(--line);background:#fffdf8cc;color:#241825}.ui-button-secondary:hover{border-color:var(--line-strong);background:#fff}.ui-button-ghost{border-color:transparent;background:transparent;color:var(--blue-dark);padding-left:0}.ui-chip{display:inline-flex;min-height:28px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0 10px;background:#f7f9fc;color:#433644;font-size:12px;font-weight:850}.fasetka-nav,.ivan-header{position:sticky;top:0;z-index:50;display:flex;min-height:72px;align-items:center;gap:18px;border-bottom:1px solid rgba(36,24,37,.1);padding:0 max(24px,calc((100% - 1180px)/2));background:#fffdf8c7;-webkit-backdrop-filter:blur(22px) saturate(1.14);backdrop-filter:blur(22px) saturate(1.14);box-shadow:0 12px 34px #2418250a}.fasetka-nav{min-height:64px;gap:14px}.brand,.ivan-brand{display:inline-flex;min-width:0;align-items:center;gap:10px;color:var(--text);text-decoration:none}.brand span,.ivan-brand span{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:8px;background:#e7f0ff;color:var(--blue-dark);font-weight:950}.brand-icon-img{display:block;width:40px;height:40px;flex:0 0 auto;border-radius:10px;-o-object-fit:contain;object-fit:contain}.fasetka-nav .brand-icon-img{width:34px;height:34px}.brand strong,.ivan-brand strong{font-size:18px;font-weight:980;white-space:nowrap}.ivan-brand small{max-width:178px;color:var(--muted);font-size:11px;font-weight:750;line-height:1.16}.fasetka-nav-links,.ivan-desktop-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.fasetka-nav-links a,.fasetka-nav-links button,.ivan-desktop-nav>a,.nav-trigger{display:inline-flex;min-height:38px;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;padding:0 10px;background:transparent;color:#433746;cursor:pointer;font-size:14px;font-weight:850;text-decoration:none;white-space:nowrap}.fasetka-nav-links a,.fasetka-nav-links button{padding:0 9px;font-size:13px}.fasetka-nav-links a:hover,.fasetka-nav-links button:hover,.ivan-desktop-nav>a:hover,.ivan-desktop-nav>a.active,.nav-menu.active .nav-trigger,.nav-trigger:hover,.nav-trigger:focus-visible{border-color:#4b8f232e;background:#c7f58d47;color:#241825}.ivan-contact-link,.footer-telegram,.mobile-telegram-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 12px;border:1px solid rgba(75,143,35,.2);background:linear-gradient(180deg,#d7ffa2,#bff276);color:#241825;box-shadow:0 12px 24px #7fbd3b2e;font-weight:900;text-decoration:none}.nav-board,.nav-contact{flex:0 0 auto}.nav-menu{position:relative;display:inline-flex;min-height:48px;align-items:center}.project-dropdown{position:absolute;top:48px;left:50%;z-index:60;display:grid;width:min(680px,calc(100vw - 32px));grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fffdf8f5;box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%)}.project-menu-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;min-height:72px;border-radius:8px;padding:10px;text-decoration:none}.project-menu-item:hover,.project-menu-item:focus-visible,.project-menu-item.is-active{background:#c7f58d42}.project-menu-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;background:linear-gradient(180deg,#cfe8f79e,#c7f58d6b);color:#241825;font-weight:950}.project-menu-text{display:grid;gap:4px;min-width:0}.project-menu-text strong{overflow-wrap:anywhere}.project-menu-text small{color:var(--muted);font-size:12px;font-weight:800}.mobile-menu-button{display:none;width:42px;height:42px;margin-left:auto;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);cursor:pointer}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;border:0;background:#2418255c}.mobile-menu{position:fixed;top:0;right:0;z-index:90;display:flex;width:min(390px,92vw);height:100dvh;flex-direction:column;gap:7px;overflow-y:auto;padding:20px;background:#fffdf8fa;box-shadow:-24px 0 70px #14233a38}.mobile-menu a,.mobile-accordion{display:flex;min-height:44px;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:8px;padding:0 12px;background:transparent;color:var(--text);cursor:pointer;font-weight:900;text-decoration:none}.mobile-menu a:hover,.mobile-menu a.active,.mobile-accordion:hover,.mobile-accordion.active{border-color:#4b8f232e;background:#c7f58d47;color:#241825}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mobile-menu-head button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.mobile-project-list{display:grid;gap:5px;border-left:2px solid #e7eef8;margin-left:12px;padding-left:8px}.mobile-project-link{justify-content:flex-start;gap:10px;color:var(--muted);font-size:14px}.mobile-project-link .project-menu-icon{width:34px;height:34px;flex:0 0 auto}.mobile-menu .mobile-telegram-button{min-height:56px;justify-content:center;gap:10px;border:1px solid rgba(114,69,189,.42);margin-top:auto;background:linear-gradient(180deg,#8d57df,#6f3fc2);color:#fff;box-shadow:0 18px 44px #7245bd3d;font-size:17px;font-weight:950}.mobile-menu .mobile-telegram-button:hover,.mobile-menu .mobile-telegram-button:focus-visible{border-color:#7245bd94;background:linear-gradient(180deg,#9662e8,#7547cb);color:#fff}.mobile-menu .mobile-telegram-button svg{flex:0 0 auto}.app-launcher{position:relative}.app-launcher-button{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:0;border-radius:50%;padding:0;background:transparent;color:#3f4754;cursor:pointer;font-weight:900}.app-launcher-button span{font-size:13px}.app-launcher-button:hover,.app-launcher-button:focus-visible{background:#e6e8ec}.nine-dot-icon{display:grid;width:22px;height:22px;grid-template-columns:repeat(3,4px);grid-template-rows:repeat(3,4px);gap:5px;place-content:center}.nine-dot-icon i{display:block;width:4px;height:4px;border-radius:999px;background:currentColor}.app-launcher-panel{position:absolute;top:50px;right:0;z-index:65;display:none;width:260px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;box-shadow:var(--shadow)}.app-launcher:hover .app-launcher-panel,.app-launcher:focus-within .app-launcher-panel{display:grid}.launcher-app{display:grid;min-height:88px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font:inherit;text-align:center;text-decoration:none}.launcher-app:hover{background:#eef5ff}.launcher-app span{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:#e7f0ff;color:var(--blue-dark);font-weight:950}.fasetka-hero,.ivan-hero,.project-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:34px;align-items:center;padding:58px 0 38px}.fasetka-hero{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:56px;min-height:0;padding:30px 0 36px}.fasetka-hero-copy{min-width:0}.stub-hero,.resume-hero,.route-gate{padding:54px 0 30px}.eyebrow{display:inline-flex;margin-bottom:14px;border-radius:999px;padding:7px 11px;background:#c7f58d59;color:#453342;font-size:13px;font-weight:900}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:66px;font-weight:980;line-height:.96;letter-spacing:0}.ivan-hero h1{color:#8f42df;text-shadow:0 18px 42px rgba(143,66,223,.16)}.fasetka-hero h1{max-width:720px;font-size:clamp(40px,4vw,58px);line-height:1}.project-hero h1,.resume-hero h1,.stub-hero h1,.route-gate h1{font-size:42px;line-height:1.08}.ivan-hero h2{max-width:760px;margin:14px 0 0;color:#2a1d2c;font-size:34px;font-weight:880;line-height:1.08;letter-spacing:0}.hero-lead{max-width:710px;color:#716675;font-size:19px;font-weight:650}.hero-meaning{max-width:660px;margin:14px 0 0;color:#394861;font-size:17px;font-weight:760;line-height:1.5}.hero-actions,.chip-row,.tech-pill-row,.resume-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-actions{margin:24px 0 14px}.stat-strip{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0}.hero-note{display:block;max-width:680px;margin-top:12px;color:var(--muted);line-height:1.45}.stat-strip span{display:inline-flex;min-height:36px;align-items:center;border:1px solid rgba(36,24,37,.13);border-radius:8px;padding:0 11px;background:#fffdf8d1;color:#3a2b38;font-size:13px;font-weight:900}.hero-meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}.made-on-fasetka,.hero-copy-pill{display:inline-flex;min-height:36px;align-items:center;gap:8px;border:1px solid rgba(36,24,37,.11);border-radius:999px;padding:0 11px;background:#fffdf8b8;color:#413342;font-size:13px;font-weight:900;text-decoration:none;box-shadow:0 9px 22px #2418250d}.hero-copy-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex:0 0 auto;gap:0;line-height:1;white-space:nowrap}.hero-copy-pill span{display:inline-block}.hero-copy-pill svg{display:inline-block;flex:0 0 auto;margin-left:8px}.made-on-fasetka img{width:22px;height:22px}.hero-copy-pill{background:#cfe8f77a}.hero-copy-pill.copied{border-color:#5f347d47;background:#f0eaffb8;color:var(--ivan-violet-deep)}.planes{display:grid;gap:14px}.facetka-hero-scene{min-width:0}.product-preview-shell{overflow:hidden;border:1px solid rgba(207,224,248,.95);border-radius:28px;background:#ffffffe6;box-shadow:0 24px 80px #1e2d481c}.preview-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(219,227,238,.86);padding:10px 14px;background:#f8fbffeb}.preview-topbar span{display:inline-flex;align-items:center;gap:8px;color:#1e2b43;font-size:14px;font-weight:950}.preview-topbar img{width:24px;height:24px}.preview-search{display:inline-flex;min-width:0;align-items:center;gap:7px;border:1px solid #dbe5f2;border-radius:999px;padding:8px 12px;background:#fff;color:#667489;font-size:12px;font-weight:820}.preview-layout{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(230px,1.08fr);gap:10px;padding:12px}.benefit-preview-panel{min-width:0;border:1px solid #dce6f3;border-radius:20px;background:#fff;padding:12px}.panel-kicker{display:block;color:var(--blue-dark);font-size:12px;font-weight:950;letter-spacing:.02em;text-transform:uppercase}.benefit-preview-panel h3{margin:5px 0 10px;font-size:19px;line-height:1.14}.internal-panel{display:grid;grid-row:span 2;align-content:start}.function-list{display:grid;gap:8px}.function-row{display:grid;gap:3px;border:1px solid #e2eaf5;border-radius:14px;padding:9px;background:#f9fbfe}.function-row b{color:#172033;font-size:14px}.function-row span{color:#637188;font-size:12px;font-weight:760;line-height:1.34}.profile-website-panel{min-height:218px}.website-card{display:grid;gap:10px;margin-top:8px}.website-cover{min-height:64px;border-radius:17px;background:linear-gradient(135deg,#b7f16547,#7245bd14),#edf5ef}.website-person{display:flex;align-items:center;gap:12px}.website-avatar{display:grid;width:58px;height:58px;flex:0 0 auto;place-items:center;border:4px solid #fff;border-radius:17px;margin-top:-28px;background:#172033;color:#fff;box-shadow:0 10px 28px #17203329;font-weight:950}.website-person strong{display:block;color:#172033;font-size:20px;line-height:1.15}.website-person small{display:block;margin-top:4px;color:#5f6b7f;font-size:13px;font-weight:800;line-height:1.25}.website-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.website-links span{display:grid;min-height:42px;place-items:center;border:1px solid #dfe8f4;border-radius:13px;background:#f8fafc;color:#3f5068;font-size:12px;font-weight:900}.network-panel{min-height:154px}.network-canvas-wrap{position:relative;min-height:126px;overflow:hidden;border-radius:16px;margin-top:8px;background:radial-gradient(circle at 50% 50%,rgba(114,69,189,.11),transparent 58%),linear-gradient(180deg,#fbfcff,#f6f9fd)}.network-canvas{display:block;width:100%;height:126px}.network-label{position:absolute;display:inline-flex;min-height:26px;align-items:center;border:1px solid #dbe5f2;border-radius:999px;padding:0 9px;background:#ffffffeb;color:#33445f;font-size:11px;font-weight:900;box-shadow:0 8px 24px #1e2d4814}.network-label-a{top:16px;left:14px}.network-label-b{top:68px;right:12px}.network-label-c{bottom:14px;left:22px}.plane-card,.feature-card,.step-card,.available-card,.skill-card,.focus-card,.experience-card,.resume-card,.summary-card,.group-card,.architecture-flow-card,.resume-preview-card{padding:20px}.feature-grid,.steps-grid,.available-grid,.focus-grid,.project-grid,.experience-grid,.summary-grid,.media-grid,.group-grid,.architecture-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.available-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.focus-card,.available-card,.step-card{min-height:150px}.feature-card h3,.focus-card h3,.available-card h3,.step-card h3{margin:0;font-size:20px;line-height:1.18}.step-card span{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;margin-bottom:14px;background:var(--purple-soft);color:var(--purple);font-size:14px;font-weight:950}.made-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;border:1px solid #cfe0f8;border-radius:8px;margin:28px 0 8px;padding:26px;background:#fff;box-shadow:var(--shadow)}.made-band h2{margin:0;font-size:31px;line-height:1.14}.made-band p{max-width:720px;color:var(--muted);line-height:1.55}.made-bullets{display:flex;flex-wrap:wrap;gap:8px}.made-bullets span{display:inline-flex;min-height:34px;align-items:center;gap:7px;border:1px solid #dbead8;border-radius:999px;padding:0 11px;background:#f3fbef;color:#205c33;font-size:13px;font-weight:900}.fasetka-contact-band{margin-top:26px}.ivan-visual{position:relative;min-height:500px}.ivan-visual:before{content:"";position:absolute;top:20px;right:108px;bottom:18px;left:-4px;border-radius:46% 54% 45% 55%/55% 46% 54% 45%;background:radial-gradient(ellipse at 28% 14%,rgba(203,251,130,.36),transparent 42%),radial-gradient(ellipse at 78% 20%,rgba(217,238,247,.44),transparent 48%),radial-gradient(ellipse at 60% 92%,rgba(249,225,242,.28),transparent 48%);filter:blur(1px)}.portrait-stage{position:absolute;top:8px;right:118px;bottom:4px;left:-4px;z-index:1;filter:drop-shadow(0 26px 54px rgba(36,24,37,.14))}.portrait-pick{display:block;width:100%;height:100%;margin:0;transform-origin:50% 54%}.portrait-pick-svg{display:block;width:100%;height:100%;overflow:visible}.portrait-pick-shadow{fill:#fffdf8b8}.portrait-pick-wash{fill:#fffdf808;stroke:#ffffff85;stroke-width:2}.portrait-pick-border{fill:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.portrait-pick-image{opacity:0;transition:opacity .18s ease}.portrait-pick-image.loaded{opacity:1}.portrait-pick-image-preview{filter:blur(12px);opacity:1;transform-origin:50% 50%;transform:scale(1.04);transition:opacity .18s ease}.portrait-pick-image-preview.hidden{opacity:0}.portrait-shape-circle .portrait-pick-border,.portrait-shape-cloud .portrait-pick-border,.portrait-shape-message .portrait-pick-border{stroke-width:7}.hero-skill-cards{position:absolute;top:42px;right:0;z-index:4;display:grid;width:260px;gap:12px}.hero-skill-cards .skill-card{background:#fffdf8d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-skill-cards .skill-card:after{content:"";position:absolute;top:0;left:0;right:0;z-index:2;height:4px;background:linear-gradient(90deg,var(--ivan-lime),var(--ivan-sky) 48%,var(--ivan-violet))}.resume-action-section{border-block:1px solid rgba(36,24,37,.1);background:linear-gradient(180deg,#fffdf8bd,#ffffffd1),radial-gradient(circle at 20% 0%,rgba(199,245,141,.28),transparent 42%),radial-gradient(circle at 82% 10%,rgba(207,232,247,.34),transparent 34%)}.experience-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;border-color:#2418251c;background:#fffdf8c7;box-shadow:0 10px 24px #2418250d}.experience-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;background:linear-gradient(180deg,#c7f58d85,#cfe8f76b);color:#342233;font-weight:950}.experience-card h3,.project-card h3,.resume-card h3,.skill-card h3,.group-card h3,.architecture-flow-card h3{margin:0;font-size:20px;line-height:1.18}.experience-card b{display:block;margin-top:6px;color:#33445f;line-height:1.35}.role-filter{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}.role-filter button{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 13px;background:#fff;color:#26344d;cursor:pointer;font-weight:850}.role-filter button.active,.role-filter button:hover{border-color:#1766e84d;background:#e9f2ff;color:var(--blue-dark)}.role-summary{max-width:780px;padding:18px}.project-card{display:flex;min-height:100%;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#fffdf8e6,#fffdf8ad),radial-gradient(circle at 8% 0%,rgba(199,245,141,.2),transparent 44%);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.project-card:hover,.resume-card:hover,.focus-card:hover{border-color:#5f347d38;box-shadow:0 26px 72px #24182521,inset 0 1px #ffffffdb;transform:translateY(-2px)}.project-card-media{position:relative;overflow:hidden;margin:0;background:#f0eee6}.project-card-media img,.project-card-media video{display:block;width:100%;aspect-ratio:16 / 10;-o-object-fit:cover;object-fit:cover}.project-card-body{display:grid;flex:1;gap:12px;padding:18px}.project-card-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:850}.project-card small{color:#4d5c70;line-height:1.5}.project-card-cta{margin-top:auto;justify-self:flex-start}.tech-pill-row{align-items:center}.tech-pill{display:inline-flex;min-height:34px;align-items:center;gap:7px;border:1px solid rgba(36,24,37,.12);border-radius:999px;padding:0 10px;background:#fffdf8d1;color:#433542;font-size:12px;font-weight:900;line-height:1.1}.tech-pill img{width:18px;height:18px;flex:0 0 auto;-o-object-fit:contain;object-fit:contain}.card-label,.pdf-pill,.resume-role{color:#5b463e;font-size:12px;font-weight:950;text-transform:uppercase}.resume-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.resume-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-card{display:flex;min-height:238px;flex-direction:column;gap:14px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.resume-card-main{background:linear-gradient(180deg,#fffdf8f5,#ffffffc7),radial-gradient(circle at 8% 0%,rgba(199,245,141,.24),transparent 36%)}.resume-card.active{border-color:#1766e873;box-shadow:0 16px 36px #1766e81f}.resume-card-top,.resume-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.resume-card .resume-actions{margin-top:auto}.focus-card{display:flex;min-height:100%;flex-direction:column;gap:13px}.focus-card p{margin-bottom:0}.focus-card .resume-actions{margin-top:auto}.related-projects{display:flex;flex-wrap:wrap;gap:7px}.related-projects span{display:inline-flex;min-height:30px;align-items:center;border:1px solid rgba(36,24,37,.11);border-radius:999px;padding:0 10px;background:#fffdf8c2;color:#4b3f4d;font-size:12px;font-weight:850;line-height:1.2}.resume-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:18px;align-items:flex-start}.resume-list{display:grid;gap:14px}.resume-preview-card{position:sticky;top:92px}.resume-preview-frame{overflow:hidden;border:1px solid var(--line);border-radius:8px;margin:20px 0 10px;background:#eef2f7}.resume-preview-frame iframe{display:block;width:100%;height:640px;border:0}.safe-notice{border-left:3px solid var(--lime);margin:16px 0;padding:10px 12px;background:#fffdf8b8;color:#514047;line-height:1.48}.project-hero{align-items:flex-start;padding-top:36px}.project-hero-copy{display:grid;gap:12px}.project-media-card{overflow:hidden;margin:0;border:1px solid var(--line);border-radius:8px;background:#fffdf8db;box-shadow:var(--shadow)}.ivan-media-frame{display:block}.project-media-visual{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdf8c2,#f6f2e9f0),#f0eee6}.project-media-visual img,.project-media-visual video{display:block;width:100%;aspect-ratio:16 / 10;-o-object-fit:cover;object-fit:cover}.project-hero-media .project-media-visual img,.project-hero-media .project-media-visual video{max-height:390px;-o-object-fit:cover;object-fit:cover}.media-frame-desktop .project-media-visual{margin:16px;border:1px solid rgba(36,24,37,.16);border-radius:8px;padding:18px 10px 10px;background:#221925}.media-frame-desktop .project-media-visual:before{content:"";position:absolute;top:7px;left:10px;z-index:2;width:34px;height:7px;border-radius:999px;background:radial-gradient(circle at 4px 50%,#ff8b8b 0 3px,transparent 3.2px),radial-gradient(circle at 17px 50%,#ffd56f 0 3px,transparent 3.2px),radial-gradient(circle at 30px 50%,#9be879 0 3px,transparent 3.2px)}.media-frame-desktop .project-media-visual img,.media-frame-desktop .project-media-visual video{border-radius:5px}.media-frame-mobile .project-media-visual{width:min(74%,292px);border:9px solid #211722;border-radius:36px;margin:18px auto;padding:15px 6px 18px;background:#211722;box-shadow:0 24px 70px #2418252e}.media-frame-mobile .project-media-visual:before{content:"";position:absolute;top:6px;left:50%;z-index:2;width:58px;height:7px;border-radius:999px;background:#ffffff2e;transform:translate(-50%)}.media-frame-mobile .project-media-visual:after{content:"";position:absolute;bottom:7px;left:50%;z-index:2;width:72px;height:4px;border-radius:999px;background:#ffffff38;transform:translate(-50%)}.media-frame-mobile .project-media-visual img,.media-frame-mobile .project-media-visual video{border-radius:24px;aspect-ratio:9 / 18}.media-action-button{position:absolute;right:12px;bottom:12px;display:inline-flex;min-height:36px;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.52);border-radius:8px;padding:0 11px;background:#fffdf8eb;color:#241825;cursor:pointer;font-size:13px;font-weight:900}.media-action-button:hover,.media-action-button:focus-visible{background:#fff;box-shadow:0 12px 30px #24182524;transform:translateY(-1px)}.video-play-badge{position:absolute;left:50%;top:50%;z-index:3;display:grid;width:62px;height:62px;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#fffdf8e0;color:#241825;box-shadow:0 22px 54px #24182533;transform:translate(-50%,-50%);pointer-events:none}.project-media-card figcaption{display:grid;gap:5px;padding:12px;color:#4a3d48;font-size:13px;line-height:1.45}.project-media-card figcaption span{color:var(--muted)}.summary-card,.group-card,.architecture-flow-card{min-height:146px}.summary-card{display:grid;gap:14px;border-left:4px solid rgba(95,52,125,.3)}.summary-card-head{display:flex;align-items:center;gap:10px}.summary-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:1px solid rgba(95,52,125,.13);border-radius:8px;background:linear-gradient(180deg,#f0eaffeb,#cbfb823d);color:var(--ivan-violet)}.done-bullets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:0;margin:0;list-style:none}.done-bullets li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;border-left:2px solid rgba(159,226,90,.72);padding:3px 0 3px 12px;color:#423441;font-size:16px;font-weight:750;line-height:1.55}.done-bullets svg{margin-top:3px;color:var(--green-dark)}.roadmap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.roadmap-card{position:relative;display:flex;min-height:100%;flex-direction:column;gap:12px;padding:20px;background:linear-gradient(180deg,#fffdf8eb,#ffffffbd),radial-gradient(circle at 8% 0%,rgba(199,245,141,.24),transparent 38%)}@media (min-width: 1181px){.roadmap-card:not(:last-child):after{content:"→";position:absolute;top:50%;right:-25px;z-index:4;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(36,24,37,.12);border-radius:999px;background:#fffdf8eb;color:var(--ivan-violet);box-shadow:0 10px 28px #24182517;font-weight:950;transform:translateY(-50%)}}.roadmap-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.roadmap-card-head span{display:grid;width:42px;height:42px;place-items:center;border-radius:999px;background:linear-gradient(180deg,#d7ffa2,#bff276);color:#241825;font-weight:950}.roadmap-card-head small{color:var(--muted);font-weight:900}.roadmap-card h3{margin:0}.roadmap-card em{display:block;margin-top:auto;color:#766b79;font-size:13px;font-style:normal;line-height:1.42}.roadmap-media-preview{position:relative;overflow:hidden;border:1px solid rgba(36,24,37,.12);border-radius:8px;padding:0;background:#f0eee6;cursor:pointer}.roadmap-media-preview img,.roadmap-media-preview video{display:block;width:100%;aspect-ratio:16 / 9;-o-object-fit:cover;object-fit:cover}.roadmap-media-preview span{position:absolute;right:8px;bottom:8px;display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:#fffdf8e6;color:#241825;box-shadow:0 10px 26px #24182524}.summary-card p,.group-card p,.architecture-flow-card p{margin-bottom:0;line-height:1.6}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.architecture-stack{grid-template-columns:repeat(4,minmax(0,1fr))}.stack-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.next-project,.contact-band{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:34px 0;border:1px solid rgba(36,24,37,.11);border-radius:8px;padding:24px;background:linear-gradient(180deg,#fffdf8eb,#ffffffc2),radial-gradient(circle at 92% 0%,rgba(199,245,141,.22),transparent 36%);box-shadow:var(--shadow)}.next-project h2,.contact-band h2{margin:4px 0 6px}.ivan-footer{display:grid;width:min(1180px,calc(100% - 48px));grid-template-columns:minmax(280px,1fr) minmax(260px,auto) minmax(120px,1fr);align-items:center;gap:20px;margin:44px auto 0;border-top:1px solid rgba(36,24,37,.1);padding:24px 0 36px;color:var(--muted);font-size:13px;font-weight:800}.ivan-footer a{color:#423242;text-decoration:none}.footer-made{display:inline-flex;min-width:0;align-items:center;gap:10px;justify-self:start}.footer-brand-mark{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center}.footer-brand-mark img{display:block;width:44px;height:44px}.footer-made span,.footer-profile-link,.footer-person{min-width:0;display:inline-flex;align-items:center;gap:6px;color:#5f5361}.footer-made>span:last-child,.footer-person{display:grid;gap:2px}.footer-person{justify-self:center;text-align:center}.footer-made strong,.footer-person strong{color:#3d2e3d;line-height:1.2}.footer-made small,.footer-person small{color:#766b79;font-size:12px;font-weight:760}.footer-profile-link{min-height:36px;justify-self:end;border:1px solid rgba(36,24,37,.11);border-radius:999px;padding:0 12px;background:#fffdf8b8;white-space:nowrap}.footer-profile-link svg{flex:0 0 auto}.media-lightbox,.platform-stub-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:24px;background:#0d1726b8}.media-lightbox-dialog,.platform-stub-modal{position:relative;width:min(1040px,94vw);max-height:min(820px,calc(100dvh - 48px));overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#fff;box-shadow:0 30px 110px #00000047}.platform-stub-modal{width:min(560px,94vw);padding:26px}.platform-stub-modal h2{margin:0}.lightbox-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.lightbox-stage{display:grid;place-items:center;min-height:260px;padding:18px;background:#101827}.lightbox-stage img,.lightbox-stage video,.lightbox-stage iframe{display:block;max-height:calc(100dvh - 210px);border:0;-o-object-fit:contain;object-fit:contain}.lightbox-stage iframe{width:min(900px,88vw);height:min(700px,calc(100dvh - 210px));background:#fff}.lightbox-caption{display:grid;gap:5px;padding:14px 18px 18px;color:#3c4c64;line-height:1.45}@media (max-width: 1040px){.ivan-contact-link,.nav-contact,.nav-board{display:none}.fasetka-hero,.ivan-hero,.project-hero{grid-template-columns:1fr}.facetka-hero-scene{width:min(100%,760px);margin:0 auto}.fasetka-hero{padding-top:34px}.ivan-visual{min-height:560px}.feature-grid,.steps-grid,.available-grid,.focus-grid,.project-grid,.experience-grid,.summary-grid,.roadmap-grid,.group-grid,.architecture-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.made-band,.resume-layout{grid-template-columns:1fr}.resume-preview-card{position:static}}@media (max-width: 900px){.fasetka-nav-links,.fasetka-nav .app-launcher,.fasetka-nav .nav-contact{display:none}.fasetka-nav .mobile-menu-button{display:grid;place-items:center}}@media (max-width: 760px){.ui-shell,.ui-section,.ivan-footer{width:min(100% - 28px,1180px)}.fasetka-nav,.ivan-header{min-height:64px;padding:0 14px}.fasetka-nav-links,.ivan-desktop-nav,.app-launcher,.ivan-brand small{display:none}.mobile-menu-button{display:grid;place-items:center}.ivan-brand strong,.brand strong{font-size:16px}.brand-icon-img{width:36px;height:36px}h1{font-size:44px;line-height:.98}.project-hero h1,.resume-hero h1,.stub-hero h1,.route-gate h1{font-size:31px}.ivan-hero h2{font-size:25px}.hero-lead{font-size:16px}.ivan-hero,.project-hero,.fasetka-hero{gap:24px;padding:34px 0 22px}.ivan-hero{display:flex;flex-direction:column}.fasetka-hero{min-height:auto;padding:24px 0 22px}.product-preview-shell{border-radius:20px}.preview-topbar{align-items:flex-start;flex-direction:column}.preview-search{width:100%;box-sizing:border-box}.preview-layout{display:flex;gap:12px;overflow-x:auto;padding:12px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.preview-layout::-webkit-scrollbar{display:none}.benefit-preview-panel{flex:0 0 min(82vw,320px);scroll-snap-align:start}.internal-panel{grid-row:auto}.profile-website-panel,.network-panel{min-height:0}.website-links{grid-template-columns:repeat(3,minmax(0,1fr))}.network-canvas,.network-canvas-wrap{height:180px;min-height:180px}.ivan-visual{order:-1;min-height:0;margin-top:-6px}.ivan-visual:before{display:none}.portrait-stage{position:relative;inset:auto;aspect-ratio:5 / 6;filter:drop-shadow(0 18px 36px rgba(36,24,37,.1))}.hero-skill-cards{display:none}.feature-grid,.steps-grid,.available-grid,.focus-grid,.project-grid,.experience-grid,.summary-grid,.media-grid,.roadmap-grid,.group-grid,.architecture-stack,.resume-grid,.resume-grid-compact{grid-template-columns:1fr}.made-band{padding:20px}.done-bullets{grid-template-columns:1fr}.made-band h2{font-size:25px}.resume-preview-head,.next-project,.contact-band{align-items:flex-start;flex-direction:column}.ivan-footer{grid-template-columns:1fr;gap:16px;margin-top:32px;padding:20px 0 28px}.footer-made,.footer-person,.footer-profile-link{justify-self:stretch}.footer-made{align-items:center}.footer-person{text-align:left}.footer-profile-link{max-width:100%;width:-moz-max-content;width:max-content;justify-self:start}.resume-preview-frame iframe{height:520px}.project-media-visual img,.project-media-visual video,.project-card-media img,.project-card-media video{aspect-ratio:4 / 3}.media-frame-mobile .project-media-visual{width:min(78%,270px)}.media-frame-desktop .project-media-visual{margin:12px}.roadmap-card{min-height:auto}}@media (max-width: 420px){.ui-shell,.ui-section,.ivan-footer{width:min(100% - 22px,1180px)}h1{font-size:38px}.project-hero h1,.resume-hero h1,.stub-hero h1,.route-gate h1{font-size:28px}.ui-button{width:100%;min-height:46px}.hero-actions .ui-button,.resume-actions .ui-button,.contact-band .ui-button,.next-project .ui-button{width:100%}.stat-strip span,.ui-chip{max-width:100%}.resume-preview-frame iframe{height:430px}}.stickerpacks-page{background:#f4f6fb}.stickerpacks-shell{display:grid;gap:18px;padding-block:26px 36px}.stickerpacks-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.stickerpacks-head h1{margin:6px 0 8px;font-size:38px;letter-spacing:0}.stickerpacks-stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.stickerpacks-stats span{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid #d8dfec;border-radius:8px;padding:7px 10px;background:#fff;color:#27344d;font-weight:800}.stickerpacks-workbench{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.stickerpacks-sidebar{position:sticky;top:86px;display:grid;gap:8px}.stickerpacks-sidebar button{display:grid;gap:4px;width:100%;border:1px solid #d8dfec;border-radius:8px;padding:10px;background:#fff;color:#1e2a44;text-align:left}.stickerpacks-sidebar button.active{border-color:#2457d6;background:#eef4ff}.stickerpacks-sidebar span,.stickerpack-panel p,.sticker-copy span,.sticker-copy small{color:#667085}.stickerpack-panel{display:grid;gap:12px}.stickerpack-panel header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;border:1px solid #d8dfec;border-radius:8px;padding:14px;background:#fff}.stickerpack-panel h2{margin:4px 0;font-size:24px}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.sticker-card{display:grid;gap:10px;border:1px solid #d8dfec;border-radius:8px;padding:10px;background:#fff}.sticker-preview{display:grid;place-items:center;aspect-ratio:1;border:1px solid #e5eaf3;border-radius:8px;overflow:hidden;background:linear-gradient(45deg,#eeeeee 25%,transparent 25%),linear-gradient(-45deg,#eeeeee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eeeeee 75%),linear-gradient(-45deg,transparent 75%,#eeeeee 75%),#fff;background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px}.sticker-preview img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.sticker-copy{display:grid;gap:2px;min-width:0}.sticker-copy b,.sticker-copy span,.sticker-copy small{overflow-wrap:anywhere}.sticker-copy small.ok{color:#067647}.sticker-copy small.bad{color:#b42318}.stickerpacks-empty{display:grid;place-items:center;gap:10px;min-height:300px;border:1px dashed #bdc7d8;border-radius:8px;padding:24px;background:#fff;color:#39465f;text-align:center}.stickerpacks-empty h2{margin:0}.stickerpacks-empty p{max-width:560px;margin:0;color:#667085}@media (max-width: 760px){.stickerpacks-head{align-items:start;flex-direction:column}.stickerpacks-workbench{grid-template-columns:1fr}.stickerpacks-sidebar{position:static}}.pairing-toggle{position:fixed;top:calc(86px + env(safe-area-inset-top,0px));right:max(calc(18px + env(safe-area-inset-right,0px)),calc((100vw - 1180px)/2));z-index:116;display:inline-flex;gap:4px;border:1px solid rgba(36,24,37,.12);border-radius:999px;padding:5px;background:#fffffff0;box-shadow:0 18px 42px #24182529,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12)}.pairing-toggle-segment{display:grid;width:42px;height:34px;place-items:center;border:0;border-radius:999px;background:transparent;color:#3f3542;cursor:pointer}.pairing-toggle-segment.active{background:linear-gradient(180deg,#ddffb0,#9fe25a);color:#21360f;box-shadow:0 10px 24px #5f9a243d,inset 0 1px #ffffffb8}.pairing-toggle-icon-stack{position:relative;display:grid;place-items:center}.pairing-toggle-icon-stack svg:last-child{position:absolute;right:-7px;bottom:-5px;padding:1px;border-radius:999px;background:currentColor;color:#fff}.pairing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;place-items:center;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));background:#24182561;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pairing-modal{width:min(640px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border:1px solid rgba(36,24,37,.13);border-radius:18px;padding:22px;background:#fffdf8;color:#241825;box-shadow:0 36px 110px #24182547,inset 0 1px #ffffffdb}.pairing-modal-head,.pairing-actions,.pairing-transport-badge,.pairing-step-card,.pairing-code{display:flex;align-items:center}.pairing-modal-head{justify-content:space-between;gap:16px;margin-bottom:12px}.pairing-eyebrow,.pairing-step-label{margin:0;color:#746a78;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pairing-modal h2{margin:4px 0 0;font-size:30px;line-height:1.04;letter-spacing:0}.pairing-close,.pairing-secondary{border:1px solid rgba(36,24,37,.12);background:#ffffffc2;color:#241825}.pairing-close{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:999px;cursor:pointer}.pairing-copy{margin:0 0 18px;color:#5f5662;line-height:1.55}.pairing-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pairing-fieldset{min-width:0;margin:0;border:1px solid rgba(36,24,37,.11);border-radius:12px;padding:12px;background:#f7f9fcb8}.pairing-fieldset legend{padding:0 6px;color:#746a78;font-size:12px;font-weight:850}.pairing-segmented{display:grid;gap:6px}.pairing-segmented button,.pairing-primary,.pairing-secondary{min-height:40px;border-radius:8px;padding:0 12px;font-weight:850;cursor:pointer}.pairing-segmented button{border:1px solid transparent;background:transparent;color:#433644;text-align:left}.pairing-segmented button.active{border-color:#4f9a2447;background:#f3ffd9;color:#21360f}.pairing-segmented button:disabled,.pairing-primary:disabled{cursor:not-allowed;opacity:.58}.pairing-transport-badge{gap:8px;margin-top:14px;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:900}.pairing-transport-badge.room{background:#eef6ff;color:#294b90}.pairing-transport-badge.acoustic{background:#fff7dd;color:#7c5208}.pairing-runtime{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.pairing-runtime span{border:1px solid rgba(36,24,37,.1);border-radius:999px;padding:5px 8px;background:#ffffffb3;color:#746a78;font-size:11px;font-weight:900}.pairing-runtime span.active{background:#f3ffd9;color:#2b6610}.pairing-runtime span.warn{background:#ffe8e3;color:#8b2616}.pairing-step-card{justify-content:space-between;gap:14px;margin-top:16px;border:1px solid rgba(36,24,37,.12);border-radius:12px;padding:14px;background:#fff}.pairing-step-card strong{display:block;margin-top:4px;font-size:22px;letter-spacing:0}.pairing-phase{border-radius:999px;padding:6px 10px;background:#f2f0ec;color:#5f5662;font-size:12px;font-weight:900}.pairing-phase.complete{background:#e9ffd4;color:#2b6610}.pairing-phase.failed,.pairing-phase.cancelled{background:#ffe8e3;color:#8b2616}.pairing-status{min-height:72px;margin-top:12px;border-radius:12px;padding:14px;background:linear-gradient(135deg,#cbfb823d,#d9eef73d)}.pairing-status p{margin:0;color:#433644;line-height:1.45}.pairing-code{gap:7px;margin-top:10px;color:#2b6610;font-size:18px}.pairing-actions{flex-wrap:wrap;gap:10px;margin-top:14px}.pairing-primary{border:1px solid rgba(79,154,36,.22);background:linear-gradient(180deg,#ddffb0,#9fe25a);color:#21360f;box-shadow:0 12px 28px #5f9a2433}.pairing-secondary{display:inline-flex;align-items:center;gap:7px}.pairing-debug{margin-top:16px;border:1px solid rgba(36,24,37,.11);border-radius:12px;padding:12px;background:#17151a;color:#f8f3ea}.pairing-debug summary{cursor:pointer;font-weight:900}.pairing-debug-grid{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px 10px;margin-top:12px;font-size:12px}.pairing-debug-grid span{color:#bdb3c3}.pairing-debug code{white-space:normal;overflow-wrap:anywhere;color:#d9ff9a}.pairing-debug-log{margin:12px 0 0;padding-left:18px;color:#eee6f2;font-size:12px;line-height:1.45}@media (max-width: 760px){.pairing-toggle{top:calc(76px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px))}.pairing-overlay{align-items:end;padding:12px;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.pairing-modal{max-height:calc(100vh - 24px);border-radius:16px;padding:18px}.pairing-control-grid{grid-template-columns:1fr}}
