
/* Source: style.css */
@font-face{font-family:"Golos Text";src:url(fonts/Geist.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Golos Text";src:url(fonts/Geist-Italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url(fonts/GeistMono.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--accent:#b8a5f5;--accent-dark:#6850bb;--ink:#262432;--paper:#f8f7fb;--muted:#777480;--desk:#191922;--line:#e5e2ee;--rose:#6850bb;--font-sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Consolas,monospace;--shadow:0 28px 90px #0007;--bar:38px;--dock:88px;font-family:var(--font-sans);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--desk);color:#f5f2fb;overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent-dark);outline-offset:3px}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-underline-offset:4px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button svg{pointer-events:none}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.menubar{height:var(--bar);display:flex;justify-content:space-between;align-items:center;padding:0 23px;background:#111117a6;backdrop-filter:blur(24px);position:relative;z-index:5000;border-bottom:1px solid #ffffff0a;font-size:12px}.menu-left,.menu-right{display:flex;align-items:center;gap:21px}.menubar button{border:0;background:none;padding:4px 0;font-size:12px}.menubar button:hover{color:var(--accent)}.menubar .brand{font-weight:800;font-size:22px;letter-spacing:-3px;display:flex;align-items:center}.brand span{font-size:16px;color:var(--accent);letter-spacing:0}.menu-right{gap:16px}.menu-right svg{width:17px;height:17px}.live-dot{width:6px;height:6px;background:#d8f2ba;border-radius:50%}#clock{min-width:140px;text-align:right;font-variant-numeric:tabular-nums}.popover{position:absolute;top:43px;left:14px;z-index:6000;width:260px;background:#292832ed;border:1px solid #ffffff26;box-shadow:var(--shadow);border-radius:13px;padding:15px;backdrop-filter:blur(20px)}.popover b,.popover small{display:block}.popover small{color:#ada8ba;font-size:11px;margin:5px 0 12px}.popover button{border:0;background:none;display:block;padding:10px;width:100%;text-align:left;border-radius:7px;font-size:12px}.popover button:hover{background:#ffffff12}[hidden]{display:none!important}#desktop{position:relative;height:calc(100dvh - var(--bar));min-height:550px;isolation:isolate;overflow:hidden}.wallpaper{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 60% 120%,#3a2d50,transparent 68%),linear-gradient(135deg,#22212d,#15151d 70%)}.orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.4}.orb-a{width:55vw;height:55vw;right:-15vw;bottom:-35vw;background:radial-gradient(circle at 25% 25%,#ab86d8,#594577 45%,#181820 68%)}.orb-b{width:40vw;height:40vw;left:-28vw;top:15%;background:radial-gradient(circle,#555070,#181820 70%)}.wallpaper-lines{position:absolute;width:100%;height:100%;color:#d5c6fa;opacity:.12}.desktop-intro{position:absolute;left:6%;top:12%;pointer-events:none}.desktop-intro button{pointer-events:auto}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:#aaa2ba}.desktop-intro h1{font-weight:550;font-size:clamp(42px,5.2vw,82px);line-height:1.08;letter-spacing:-.065em;margin:25px 0}.desktop-intro em,.welcome em{font-style:italic;font-weight:500;color:var(--accent);padding-right:.04em}.desktop-intro p{font-size:14px;line-height:1.7;color:#d6d0e0}.desktop-intro p span{color:#8e889e;font-size:12px}.text-link{background:none;border:0;border-bottom:1px solid #b8a5f555;padding:10px 0;font-size:12px;color:var(--accent);display:flex;gap:50px}.text-link span{font-size:18px}.doodle{width:260px;height:86px;position:absolute;left:285px;bottom:10px;color:var(--accent);opacity:.6}.desktop-apps{position:absolute;right:27%;top:13%;display:grid;grid-template-columns:repeat(2,88px);gap:26px 16px}.desktop-app{background:none;border:1px solid transparent;border-radius:12px;padding:8px 3px;display:flex;align-items:center;flex-direction:column;gap:9px;min-height:100px;font-size:11px;color:#f3edf9;position:relative;text-shadow:0 2px 6px #0008}.desktop-app:hover,.desktop-app:focus-visible{background:#ffffff0b;border-color:#ffffff18}.app-icon{display:grid;place-items:center;width:57px;height:57px;border-radius:15px;background:linear-gradient(145deg,#e5d9ff,#a78cd9);color:#4b3e67;box-shadow:0 5px 15px #0003,inset 0 1px 0 #ffffff99}.app-icon svg{width:31px;height:31px;stroke-width:1.5}.app-icon.folder{background:linear-gradient(145deg,#d0bbef,#a18aca);border-radius:7px;height:43px;margin-top:8px;margin-bottom:6px;position:relative;overflow:visible}.app-icon.folder:before{content:'';position:absolute;top:-6px;left:0;width:26px;height:10px;border-radius:5px 5px 0 0;background:#d0bbef}.app-icon.terminal{background:linear-gradient(145deg,#454451,#212129);color:#eee7ff;border:1px solid #737080}.app-icon.quest{background:linear-gradient(145deg,#dceac2,#9faf83);color:#3f5130}.app-icon.contact{background:linear-gradient(145deg,#f1d7c6,#c8a493);color:#6c5142}.desktop-widgets{position:absolute;right:3%;top:12%;width:255px;display:flex;flex-direction:column;gap:15px}.widget{width:100%;border:1px solid #ffffff14;border-radius:16px;padding:19px;text-align:left;background:#24232fd9;box-shadow:0 10px 35px #0001}.widget-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;font-family:var(--font-mono);color:#9e94b1}.note-widget{transform:rotate(2deg);background:#ede8f4;color:#282333;border:0}.note-widget:hover{transform:rotate(0)}.note-widget .widget-label{color:#766786}.note-widget strong{display:block;font-size:35px;letter-spacing:-.045em;font-weight:550;line-height:1.08;margin:20px 0 13px}.lilac{color:var(--accent-dark)}.note-widget p{font-size:11px;line-height:1.6;color:#6f6279}.note-footer{display:block;font:9px var(--font-mono);color:#887497;margin-top:24px;padding-top:12px;border-top:1px dashed #b3a2c8}.quest-widget p{font-size:11px;color:#b0a6c2;line-height:1.5;margin:12px 0 0}.progress-track{height:5px;background:#ffffff10;border-radius:8px;margin-top:16px;overflow:hidden}.progress-track span{display:block;background:var(--accent);height:100%;width:0;transition:width .4s}.mini-widget{display:flex;align-items:center;gap:9px;padding:12px 8px;font-size:9px}.mini-widget small{display:block;color:#9c91ac;margin-top:4px}.mini-widget b{font-size:10px;font-weight:500}.status-ring{width:8px;height:8px;background:#bdcc9f;border-radius:50%;box-shadow:0 0 0 4px #bdcc9f12;flex-shrink:0}.mini-widget button{background:none;border:1px solid #ffffff25;border-radius:50%;width:28px;height:28px;font-size:17px;margin-left:auto}.desktop-bottom{position:absolute;bottom:100px;left:25px;right:25px;display:flex;justify-content:space-between;font:9px var(--font-mono);color:#8d839e;letter-spacing:.06em}.desktop-bottom kbd{background:#ffffff0d;border:1px solid #ffffff10;padding:4px;border-radius:4px;margin:0 5px 0 14px}.dock{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:10px 12px 8px;z-index:4000;border:1px solid #ffffff25;background:#d5cced18;border-radius:20px;backdrop-filter:blur(24px);box-shadow:0 12px 50px #0003}.dock-button{position:relative;padding:0 2px 7px;background:none;border:0;border-radius:10px;transition:transform .15s;display:flex;align-items:center;flex-direction:column}.dock-button .app-icon{width:43px;height:43px;border-radius:11px}.dock-button .app-icon.folder{height:33px;margin-top:6px;margin-bottom:4px}.dock-button .app-icon svg{width:24px;height:24px}.dock-button:after{content:'';position:absolute;bottom:0;width:4px;height:4px;border-radius:50%;background:#eee3ff;opacity:0}.dock-button.running:after{opacity:1}.dock-button:hover{transform:translateY(-7px)}.dock-label{position:absolute;bottom:65px;white-space:nowrap;background:#292633;color:#eee8f6;font-size:11px;padding:6px 10px;border:1px solid #ffffff22;border-radius:8px;opacity:0;pointer-events:none;transition:.15s}.dock-button:hover .dock-label,.dock-button:focus-visible .dock-label{opacity:1}.dock-divider{width:1px;background:#ffffff20;margin:3px 4px 10px}.window{position:absolute;width:780px;height:540px;min-width:340px;min-height:260px;max-width:100%;border-radius:15px;border:1px solid #ffffff32;background:var(--paper);box-shadow:var(--shadow);color:var(--ink);overflow:hidden;display:flex;flex-direction:column;resize:both;color-scheme:light;animation:window-in .2s ease-out}.window.focused{box-shadow:0 35px 100px #0008}.window.maximized{inset:12px 12px 100px!important;width:auto!important;height:auto!important;resize:none}.window.minimized{display:none}.window-head{display:flex;align-items:center;flex-shrink:0;height:46px;padding:0 15px;border-bottom:1px solid var(--line);background:#f0edf6f2;touch-action:none;user-select:none;cursor:grab}.window-head:active{cursor:grabbing}.traffic-lights{display:flex;gap:7px;align-items:center}.traffic-lights button{border:0;border-radius:50%;height:12px;width:12px;padding:0;color:#602222;display:grid;place-items:center;font:9px monospace}.traffic-lights button span{opacity:0}.traffic-lights:hover button span,.traffic-lights button:focus-visible span{opacity:1}.traffic-lights .close{background:#ff6058}.traffic-lights .minimize{background:#f4bc46;color:#735512}.traffic-lights .maximize{background:#58c866;color:#27552d}.window-title{position:absolute;left:110px;right:110px;text-align:center;font-size:11px;color:#77707f;font-weight:500;pointer-events:none}.window-hint{margin-left:auto;font:9px var(--font-mono);color:#a49aad}.window-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.page{padding:28px 32px}.page .eyebrow{color:#8a7b9e}.page h2{font-size:36px;letter-spacing:-.055em;font-weight:550;line-height:1.12;margin:12px 0}.page h2 em{font-style:italic;color:var(--accent-dark);font-weight:500;padding-right:.04em}.page p{font-size:13px;line-height:1.75;color:var(--muted);max-width:610px}.page h3{font-size:16px;font-weight:550;margin:24px 0 10px}.pill{display:inline-flex;padding:4px 9px;border-radius:30px;border:1px solid #ddd7e8;font-size:10px;color:#70637e;background:#ffffff80;margin:3px 3px 3px 0}.pill.dark{background:#76639b;color:white;border:0}.primary,.secondary{text-decoration:none;display:inline-flex;align-items:center;gap:24px;justify-content:center}.primary{}.primary:hover{}.secondary{}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.kicker{font:10px var(--font-mono);letter-spacing:.08em;color:#7a6c8c}.about-layout{display:grid;grid-template-columns:1fr 190px;gap:30px}.identity-card{background:#e7def2;border-radius:60% 60% 17px 17px;padding:48px 18px 22px;text-align:center;position:relative}.identity-card .monogram{font:600 92px/1 var(--font-sans);letter-spacing:-.06em;color:var(--accent-dark)}.identity-card span{display:block;font-size:10px;color:#826d96;margin-top:15px}.identity-card svg{width:140px;height:65px;color:#a28abd;margin-top:20px}.timeline{margin-top:20px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.timeline li{border-top:2px solid var(--accent);padding-top:12px}.timeline .num{font:11px var(--font-mono);color:#aa91c5}.timeline b{display:block;font-size:12px;margin:0 0 8px}.timeline p{font-size:11px;line-height:1.6;margin:0}.finder{display:grid;grid-template-columns:170px 1fr;min-height:100%}.finder-sidebar{padding:22px 13px;background:#eeebf3;border-right:1px solid var(--line)}.finder-sidebar .kicker{display:block;margin:0 8px 14px;font-size:9px}.finder-sidebar button{display:flex;gap:9px;align-items:center;width:100%;border:0;background:none;padding:10px 9px;border-radius:7px;color:#7b6d8b;font-size:11px;text-align:left}.finder-sidebar button svg{width:17px;height:17px;flex-shrink:0}.finder-sidebar button.selected{background:#dcd3e9;color:#524268}.finder-sidebar small{display:block;color:#a699b3;font-size:9px;line-height:1.6;margin:32px 8px}.finder-main{padding:26px}.finder-main h2{font-size:30px;letter-spacing:-.045em;font-weight:550;margin:0 0 8px}.finder-main .subtitle{font-size:11px;color:#9a8eaa;margin-bottom:23px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-tile{border:1px solid #e3dce9;border-radius:11px;background:white;overflow:hidden;text-align:left;padding:0}.project-tile:hover{border-color:#b4a0d0;transform:translateY(-2px)}.project-preview{height:135px;padding:16px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.preview-invite{background:#ece7e0;color:#736350}.invite-mini{width:95px;border:1px solid #aa9b8866;padding:14px 8px;text-align:center;transform:rotate(-7deg);font:18px Georgia,serif}.invite-mini small{display:block;font:5px sans-serif;letter-spacing:.1em;margin:10px 0}.invite-mini .petal{font-size:22px}.preview-planner{background:#e4dbf2;gap:7px;align-items:flex-start}.planner-mini{background:#fff9;border-radius:7px;padding:8px;min-width:70px;width:53%;transform:rotate(-5deg)}.planner-mini:nth-child(2){transform:rotate(5deg);margin-top:17px}.planner-mini b{font-size:8px;display:block;color:#78618f;margin-bottom:8px}.mini-row{height:10px;border-bottom:1px solid #bdabce55;display:flex;align-items:center;gap:4px}.mini-row:before{content:'';width:4px;height:4px;border:1px solid #a28fbd;border-radius:2px}.mini-row:after{content:'';width:55%;height:2px;background:#c4b6d5}.preview-bot{background:#d9e4db}.bot-mini{background:#f4f8f2;box-shadow:0 8px 20px #56735625;border-radius:15px;width:98px;padding:10px;color:#596855;transform:rotate(5deg)}.bot-mini b{font-size:7px;display:block;border-bottom:1px solid #d3dfcf;padding:3px 0 8px}.bot-mini div{font-size:6px;background:#e0ecdb;padding:7px;border-radius:6px;margin-top:9px}.bot-mini button{font-size:6px;border:0;background:#91a987;color:white;border-radius:4px;width:100%;padding:5px;margin-top:4px;pointer-events:none}.preview-beauty{background:#ded0c5;color:#5c4637;gap:8px}.beauty-mini{width:130px;background:#eee5dc;padding:12px;transform:rotate(-4deg);border-radius:3px}.beauty-mini span{font:15px Georgia,serif;display:block}.beauty-mini .beauty-shape{width:37px;height:60px;border-radius:40px 40px 0 0;background:linear-gradient(130deg,#be978a,#e4c7b9);float:right}.beauty-mini p{font-size:5px;max-width:65px;line-height:1.5}.tile-caption{padding:13px}.tile-caption b{display:block;font-size:12px;font-weight:550;margin-bottom:6px}.tile-caption small{font-size:9px;color:#9b8fa7}.case-back{background:none;border:0;color:#8b759f;font-size:11px;padding:0;margin-bottom:15px}.case-hero{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.case-hero .project-preview{height:215px;border-radius:13px}.case-hero .invite-mini{transform:rotate(-5deg) scale(1.35)}.case-hero .planner-mini{margin-top:25px}.case-hero h2{font-size:29px}.case-hero p{font-size:11px;line-height:1.65;color:#8a7c96}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #e5ddec;padding-top:20px}.case-grid b{font-size:11px;letter-spacing:.08em}.case-grid p{font-size:11px;line-height:1.7;color:#8a7c96}.source-note{font-size:9px;color:#a294ae;line-height:1.5;margin-top:18px}.service-hero{display:flex;justify-content:space-between;gap:25px;align-items:center}.service-hero .type-stack{font-size:28px;font-weight:650;line-height:1.4;letter-spacing:-.03em;padding-right:5px}.type-stack span{display:block;width:max-content}.type-stack span:last-child{font-style:italic;font-weight:500;color:var(--accent-dark)}.type-stack span:nth-child(2){margin-left:27px}.type-stack span:nth-child(3){margin-left:53px}.service-panel{background:#b7a3e6;color:#3e2b58;border-radius:15px;padding:22px;max-width:340px}.service-panel strong{font:600 27px/1.15 var(--font-sans);letter-spacing:-.03em;display:block;margin:4px 0 20px}.service-panel .pill{background:#eee6ff;color:#62487d;border:0}.service-list{margin-top:25px}.service-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:17px 0;border-bottom:1px solid #e8e0ee}.service-num{font:11px var(--font-mono);color:#aa92c3;padding-top:3px}.service-row b{font-size:13px;font-weight:550}.service-row p{font-size:11px;line-height:1.6;margin:6px 0 0}.service-row .price{font-size:12px;font-weight:550;color:var(--accent-dark);white-space:nowrap}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.step{border-top:2px solid var(--accent);padding-top:12px}.step b{display:block;font-size:12px;margin:0 0 6px}.step p{font-size:10px;margin:0;line-height:1.5}.skills-table{width:100%;border-collapse:collapse;margin:24px 0}.skills-table td,.skills-table th{padding:15px 8px;text-align:left;border-bottom:1px solid #e8e0ee;font-size:11px}.skills-table th{font-size:9px;letter-spacing:.08em;color:#9e8baf;font-weight:500}.skills-table td:first-child{font-weight:600;color:#74608a;width:30%}.skills-table td:last-child{color:#8c7c98;line-height:1.6}.terminal-window .window-content{background:#1f1d28;color:#eee4ff}.terminal-window .window-head{background:#282532;border-color:#3d374b}.terminal-window .window-title{color:#a69ab8}.terminal-page{padding:22px;font:12px/1.8 var(--font-mono);min-height:100%;display:flex;flex-direction:column;position:relative}.terminal-banner{color:#bba5de;white-space:pre-wrap;margin:0 0 18px;font-size:11px}.terminal-line{white-space:pre-wrap;word-break:break-word;margin:0 0 12px}.terminal-line .prompt{color:#baa0df}.terminal-line .result{color:#c6bbd4}.terminal-form{display:flex;align-items:center;gap:8px;margin-top:10px}.terminal-form label{color:#baa0df;white-space:nowrap}.terminal-form input{min-width:0;flex:1;border:0;background:none;color:#eee4ff;outline:none;padding:4px;font:inherit}.terminal-form:focus-within{outline:1px solid #ae90d533;border-radius:5px}.terminal-form button{font:10px var(--font-mono);background:#393043;border:1px solid #524563;color:#d3bcec;border-radius:5px;padding:5px 8px}.terminal-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:25px}.terminal-chips button{background:#302b3d;border:1px solid #4c405d;border-radius:5px;padding:4px 8px;font:10px var(--font-mono);color:#b5a1cc}.quest-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:24px}.quest-card{border:1px solid #e5d9ee;border-radius:12px;padding:18px;opacity:.65}.quest-card.unlocked{opacity:1;background:#ede6f7;border-color:#c8b6de}.quest-card .medal{font-size:23px;color:#a07bc1}.quest-card b{display:block;font-size:12px;margin:11px 0}.quest-card p{font-size:11px;line-height:1.6;margin:0}.quest-card small{display:block;font:9px var(--font-mono);color:#9d7eb8;margin-top:14px}.bug-game{background:#211d2b;padding:20px;border-radius:13px;margin-top:23px;color:#f2e8ff}.bug-game p{color:#aa9abd;font-size:11px}.bug-arena{position:relative;height:170px;border:1px dashed #635074;border-radius:9px;overflow:hidden;margin-top:15px;background:radial-gradient(circle at center,#393045,#211d2b)}.bug-arena button{position:absolute;border:0;background:#b8a5df;color:#30253b;border-radius:10px;width:38px;height:38px;display:grid;place-items:center;font-size:20px;transition:top .15s,left .15s}.bug-score{display:flex;justify-content:space-between;font:10px var(--font-mono);color:#bb9fd7}.secret-note{margin-top:20px;padding:20px;border:1px dashed #bea9d3;border-radius:11px;background:#efe9f5;color:#86689e;font:12px Georgia,serif;line-height:1.8}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:25px}.contact-link{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid #e5deed;text-decoration:none;font-size:13px}.contact-link small{display:block;font-size:9px;color:#a190ad;margin-top:5px}.brief-form{background:#eee7f5;border-radius:13px;padding:20px}.brief-form label{display:block;font-size:10px;color:#836a99;margin:14px 0 6px}.brief-form label:first-child{margin-top:0}.brief-form select,.brief-form textarea{width:100%;border:1px solid #d6c8e2;background:#fff9;border-radius:7px;padding:10px;color:#6d547f;font-size:11px}.brief-form textarea{min-height:90px;resize:vertical}.brief-form .primary{width:100%;margin-top:14px}.brief-form small{display:block;font-size:9px;color:#a08cad;line-height:1.6;margin-top:11px}.brief-result{margin-top:16px}.brief-result textarea{width:100%;height:110px;padding:12px;border:1px solid #d6c8e2;border-radius:8px;font-size:11px;color:#766182;background:white}.setting-row{border-bottom:1px solid #e3dbe9;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.setting-row b{font-size:12px}.setting-row p{font-size:10px;margin:5px 0 0}.themes{display:flex;gap:8px}.theme-button{width:42px;height:42px;border:3px solid transparent;border-radius:10px;box-shadow:0 0 0 1px #ccc1da}.theme-button[aria-pressed=true]{border-color:#ad8cd4}.theme-button[data-theme=midnight]{background:linear-gradient(130deg,#1a1826,#4e3b6c)}.theme-button[data-theme=dawn]{background:linear-gradient(130deg,#b7a4c9,#e2d4cc)}.theme-button[data-theme=forest]{background:linear-gradient(130deg,#182c27,#557458)}.setting-row input{accent-color:#8e6aba;width:18px;height:18px}.welcome{width:min(900px,calc(100vw - 30px));border:1px solid #ffffff25;background:#201d2bee;color:#f5efff;border-radius:22px;padding:52px;box-shadow:0 40px 180px #0009;backdrop-filter:blur(40px);overflow:auto;max-height:calc(100dvh - 40px)}dialog::backdrop{background:#11101699;backdrop-filter:blur(12px)}.welcome form{position:relative}.welcome-skip{position:absolute;right:-27px;top:-27px;background:none;border:1px solid #ffffff25;border-radius:50%;width:29px;height:29px;font-size:20px}.welcome-mark{font-size:39px;font-weight:700;letter-spacing:-5px;margin-bottom:22px;display:flex;align-items:center}.welcome-mark span{font-size:30px;color:var(--accent);letter-spacing:0}.welcome h2{font-size:clamp(29px,4.3vw,52px);letter-spacing:-.055em;font-weight:500;line-height:1.12;margin:20px 0}.welcome p{color:#a89db9;font-size:12px;line-height:1.8}.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:30px 0 25px}.routes button{border:1px solid #ffffff20;background:#ffffff04;border-radius:11px;padding:17px;text-align:left}.routes button:hover{background:#b8a5f519;border-color:#b8a5f555}.routes span{font:9px var(--font-mono);color:#a390c3}.routes b{display:block;font-size:12px;font-weight:500;margin:17px 0 7px}.routes small{font-size:10px;color:#9387a6;line-height:1.5;display:block}.welcome-foot{font-size:9px;color:#7f738f}.spotlight{width:min(570px,calc(100vw - 28px));padding:0;border:1px solid #d8c9ef50;border-radius:17px;background:#f6f1fbf5;color:#4e3c61;box-shadow:var(--shadow);color-scheme:light;max-height:75dvh;top:17dvh;margin-top:0}.search-field{display:flex;align-items:center;gap:14px;padding:18px;border-bottom:1px solid #ded1ea}.search-field input{border:0;background:none;min-width:0;flex:1;padding:3px;font-size:17px;color:#5d476e;outline:none}.search-field button{border:1px solid #d8c9e1;border-radius:5px;padding:4px;color:#a38eaf;background:none;font-size:9px}#search-results{padding:10px;max-height:45dvh;overflow:auto}.search-result{display:flex;align-items:center;gap:14px;background:none;border:0;width:100%;padding:10px;border-radius:8px;text-align:left;color:#6e547e;font-size:12px}.search-result.selected{background:#e5d9ef}.search-result svg{width:21px;height:21px}.search-result small{font-size:9px;color:#a38ead;margin-left:auto}.spotlight footer{padding:10px 20px;font-size:9px;color:#a38ead;border-top:1px solid #ded1ea}.toast{position:fixed;right:25px;bottom:110px;background:#ede4f7;color:#684d7c;border:1px solid #d5c1e6;padding:16px 21px;border-radius:13px;box-shadow:0 10px 35px #0004;z-index:7000;font-size:12px;max-width:320px;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}.toast.visible{opacity:1;transform:translateY(0)}.noscript{position:absolute;inset:80px;background:#201d2b;padding:30px;z-index:8000}.phone-return{display:none}.mobile-tab{display:none}@keyframes window-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}body[data-theme=dawn] .wallpaper{background:radial-gradient(ellipse at 80% 120%,#a98cbe,transparent 65%),linear-gradient(125deg,#b9accb,#7d728f 80%)}body[data-theme=dawn] .wallpaper-lines{opacity:.25}body[data-theme=forest] .wallpaper{background:radial-gradient(ellipse at 70% 120%,#4e6651,transparent 70%),linear-gradient(125deg,#253c34,#14241e 80%)}body[data-theme=forest]{--accent:#c9d8ad}body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1500px){.desktop-apps{right:30%;grid-template-columns:repeat(2,100px);gap:33px}.desktop-widgets{right:5%;width:280px}.desktop-intro{top:15%}.window{width:850px;height:590px}}
@media(max-width:1100px) and (min-width:701px){.desktop-widgets{width:210px;right:2%}.desktop-apps{right:25%;grid-template-columns:repeat(2,75px);gap:20px 8px}.desktop-intro{left:4%;top:14%}.desktop-intro h1{font-size:50px}.doodle{left:150px;bottom:-70px;width:220px}.note-widget strong{font-size:30px}.mini-widget{padding:8px 2px}.mini-widget b{font-size:9px}.mini-widget small{font-size:8px}}
@media(max-width:700px){:root{--bar:43px;--dock:82px}body{overflow:auto}#desktop{height:auto;min-height:calc(100dvh - var(--bar));overflow:visible;padding:28px 22px 125px;display:flex;flex-direction:column;gap:28px}.menubar{padding:0 15px;position:sticky;top:0}.menu-left{gap:13px}.menu-left>button:not(.brand){display:none}.menu-right{gap:13px}#clock{min-width:0;font-size:10px}.menu-right .live-dot{display:none}.desktop-intro{position:relative;left:auto;top:auto;padding-top:12px}.desktop-intro .eyebrow{font-size:8px;letter-spacing:.1em}.desktop-intro h1{font-size:clamp(41px,10.5vw,65px);margin:19px 0}.desktop-intro p{font-size:12px}.desktop-intro p span{font-size:11px}.text-link{font-size:11px}.doodle{width:125px;height:60px;left:auto;right:0;bottom:15px}.desktop-apps{position:relative;right:auto;top:auto;grid-template-columns:repeat(4,1fr);gap:13px 4px;margin:5px -10px 0}.desktop-app{font-size:10px;min-height:91px}.app-icon{width:49px;height:49px;border-radius:13px}.app-icon.folder{height:37px}.app-icon svg{width:27px;height:27px}.desktop-widgets{position:relative;right:auto;top:auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:13px}.note-widget{transform:rotate(-1deg);padding:15px}.note-widget strong{font-size:27px;margin:15px 0 10px}.note-widget p{font-size:9px}.note-footer{font-size:7px;margin-top:13px}.widget-label{font-size:8px}.quest-widget{padding:16px;align-self:start;margin-top:8px}.quest-widget p{font-size:10px}.mini-widget{grid-column:2;margin-top:-55px;padding:5px;align-self:end}.mini-widget .status-ring{display:none}.mini-widget b{font-size:8px}.mini-widget small{font-size:8px}.mini-widget button{flex-shrink:0}.desktop-bottom{position:relative;bottom:auto;left:auto;right:auto;font-size:8px;opacity:.7}.desktop-bottom span:last-child{display:none}.dock{gap:5px;padding:9px 9px 6px;bottom:max(10px,env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}.dock .app-icon{width:36px;height:36px;border-radius:9px}.dock .app-icon.folder{height:27px}.dock .app-icon svg{width:21px;height:21px}.dock-divider{margin:2px 0 8px}.dock-button{padding:0 1px 6px}.dock-button:hover{transform:none}.dock-label{display:none}.window,.window.maximized{position:fixed;inset:52px 9px 85px!important;min-width:0;width:auto!important;height:auto!important;max-width:none;resize:none;min-height:0;z-index:4500;border-radius:13px}.window-head{height:43px;padding:0 13px;cursor:default}.traffic-lights{gap:9px}.traffic-lights button{width:16px;height:16px}.traffic-lights button span{opacity:1}.window-title{font-size:10px;left:90px;right:30px;text-align:right}.window-hint{display:none}.traffic-lights .maximize{display:none}.page{padding:23px 21px}.page h2{font-size:30px}.page p{font-size:12px}.about-layout{grid-template-columns:1fr}.identity-card{display:none}.timeline{grid-template-columns:1fr;gap:12px}.timeline li{display:grid;grid-template-columns:30px 1fr;gap:0 10px}.timeline b{margin:0 0 6px}.timeline p{grid-column:2}.finder{grid-template-columns:1fr;display:flex;flex-direction:column}.finder-sidebar{display:flex;overflow-x:auto;gap:6px;padding:10px;border-right:0;border-bottom:1px solid var(--line);flex-shrink:0}.finder-sidebar .kicker,.finder-sidebar small{display:none}.finder-sidebar button{width:auto;white-space:nowrap;font-size:10px;padding:8px}.finder-sidebar button svg{width:14px;height:14px}.finder-main{padding:20px}.finder-main h2{font-size:27px}.project-grid{gap:12px}.project-preview{height:115px;padding:12px}.tile-caption{padding:10px}.tile-caption b{font-size:10px;line-height:1.4}.tile-caption small{font-size:8px}.case-hero{grid-template-columns:1fr;gap:16px}.case-hero .project-preview{height:180px}.case-grid{gap:17px}.service-hero{align-items:stretch;gap:12px}.service-hero .type-stack{font-size:22px}.type-stack span:nth-child(2){margin-left:14px}.type-stack span:nth-child(3){margin-left:28px}.service-panel{padding:14px;max-width:180px}.service-panel strong{font-size:22px}.service-panel .pill{font-size:8px;padding:3px 6px}.service-row{grid-template-columns:1fr}.service-row .price{grid-column:1;grid-row:2;font-size:11px}.steps{grid-template-columns:1fr 1fr;gap:20px}.quest-cards{gap:9px}.quest-card{padding:13px}.quest-card b{font-size:10px}.quest-card p{font-size:10px}.contact-layout{grid-template-columns:1fr;gap:20px}.contact-link{padding:13px 0}.welcome{padding:32px 25px;max-height:calc(100dvh - 28px);border-radius:18px}.welcome-skip{right:-10px;top:-17px}.welcome-mark{font-size:30px;margin-bottom:15px}.welcome .eyebrow{font-size:8px}.welcome h2{font-size:34px;margin:18px 0}.welcome p{font-size:11px}.welcome p br{display:none}.routes{grid-template-columns:1fr;gap:9px;margin:23px 0 18px}.routes button{padding:14px}.routes b{margin:8px 0 4px;font-size:12px}.routes span{font-size:8px}.welcome-foot{font-size:8px;line-height:1.5;display:block}.spotlight{top:10dvh}.search-field input{font-size:14px}.toast{right:15px;left:15px;bottom:95px;max-width:none;font-size:11px}.terminal-page{padding:17px;font-size:11px}.terminal-form label{font-size:9px}.skills-table td{font-size:10px;padding:12px 5px}.skills-table td:first-child{width:35%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* macOS desktop shell */
:root{--bar:30px;--desk:#292851;--paper:#fff;--ink:#242329;--accent:#c4adf5;--muted:#77727d;--line:#e2dfe7;font-family:var(--font-sans)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.menubar{height:30px;background:#30244636;border:0;backdrop-filter:blur(30px) saturate(160%);padding:0 19px;font-size:13px;text-shadow:0 1px 3px #24194c50}.menu-left{gap:21px}.menubar button{font-size:13px;letter-spacing:-.2px;padding:5px 0}.menubar .brand{letter-spacing:0;padding:2px 0}.brand svg{width:14px;height:18px;fill:currentColor;stroke:none}.menu-left b{font-size:13px;font-weight:600;min-width:38px}.menu-right{gap:15px}.menu-right svg{width:16px;height:16px}.menu-right .wifi-icon{width:19px;height:19px}.menubar button:hover{color:white;opacity:.75}#clock{font-size:12px;min-width:142px}.popover{background:#eee9f0ed;color:#36313f;border-color:#ffffff75;backdrop-filter:blur(30px) saturate(180%);box-shadow:0 15px 45px #19112455;border-radius:7px;padding:8px;font-size:12px;top:34px}.popover>b,.popover>small{padding:7px 9px}.popover>small{margin:0 0 4px;color:#887d92;padding-top:0}.popover button{padding:8px 11px;border-radius:4px;font-size:12px}.popover button:hover{background:#8768ce;color:white}.mac-menu{left:105px;width:240px}.mac-menu hr{border:0;border-top:1px solid #beb4c966;margin:5px 7px}.mac-menu .menu-key{float:right;color:#a396af;font-size:10px;padding-left:20px}.mac-menu button:hover .menu-key{color:#e7dafb}#desktop{min-height:0}.wallpaper{background:#494080 url('wallpaper.svg') center/cover no-repeat!important}.wallpaper:after{content:'';position:absolute;inset:0;background:linear-gradient(#1513250a,#0000000a);pointer-events:none}.desktop-apps{right:26px;top:34px;grid-template-columns:repeat(2,86px);gap:17px 10px}.desktop-app{min-height:96px;gap:6px;border-radius:5px;padding:6px 3px;font-size:11px;font-weight:500;line-height:1.25;text-shadow:0 1px 5px #1e193a;transition:background .1s}.desktop-app:hover{background:#eee4ff1a;border-color:#faf5ff1a}.desktop-app:focus-visible{background:#8f7adf55}.desktop-app .app-icon{width:61px;height:58px;background:none;box-shadow:none;border:0;filter:drop-shadow(0 4px 3px #160f2433)}.mac-icon svg{width:100%;height:100%;stroke:none;fill:none}.desktop-app .app-icon svg{width:100%;height:100%}.desktop-app [data-icon="folder"]{width:70px}.desktop-widgets{left:25px;right:auto;top:32px;width:226px;gap:19px}.calendar-widget{display:grid;grid-template-columns:68px 1fr;gap:14px;background:#f7f1f5e0;color:#37313e;padding:16px;border-radius:20px;box-shadow:0 8px 25px #27133930;backdrop-filter:blur(25px);min-height:125px}.calendar-date span{color:#c55968;font-size:10px;font-weight:600;text-transform:uppercase;display:block}.calendar-date strong{font-size:47px;font-weight:300;letter-spacing:-3px;line-height:1.2;display:block;margin:6px 0}.calendar-date small{font-size:9px;color:#8b7d93}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 2px;align-content:center;font-size:7px;text-align:center;color:#685c74}.calendar-grid .calendar-weekhead{color:#afa1b8;font-size:6px}.calendar-grid .today{border-radius:50%;color:#fff;background:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-dark)}.note-widget{transform:none;position:relative;border-radius:3px;background:linear-gradient(#f5d579 0 21px,#ffecad 21px);color:#665020;border:1px solid #f0d291;padding:10px 16px 15px;box-shadow:0 6px 15px #3e264729;min-height:143px;text-align:left}.note-widget:hover{transform:none;filter:brightness(1.02)}.note-widget .widget-label{color:#967029;font-size:8px;letter-spacing:0;margin:0 -4px 16px}.note-widget strong{font-size:20px;font-weight:500;letter-spacing:-.5px;margin:9px 0;line-height:1.2}.note-widget p{font-size:11px;color:#8c7136;margin:0;line-height:1.6}.note-widget .note-footer{border:0;padding:0;font-size:9px;font-family:inherit;margin-top:13px;color:#a18244}.quest-widget{border-radius:18px;background:#2923428c;backdrop-filter:blur(24px);box-shadow:0 8px 25px #27133920;padding:17px;border-color:#faf3ff1a}.quest-widget .widget-label{font-family:inherit;font-size:9px;color:#ece5fa;letter-spacing:.05em}.quest-widget p{font-size:10px;color:#d0c4e2;line-height:1.5}.desktop-bottom{bottom:101px;left:27px;right:27px;color:#f0e7fa70;font-size:8px;letter-spacing:0}.desktop-bottom #route-label{display:none}.desktop-bottom span:last-child{margin-left:auto}.dock{bottom:12px;gap:9px;padding:10px 11px 9px;border-radius:21px;background:#e8e0f12d;border:1px solid #ffffff4f;box-shadow:0 2px 0 #ffffff18 inset,0 12px 30px #25183635;backdrop-filter:blur(35px) saturate(160%);align-items:flex-end}.dock-button{padding:0 0 7px;transform-origin:50% 100%;transition:transform .18s ease}.dock-button .app-icon{background:none!important;box-shadow:none!important;border:0;width:51px;height:51px;border-radius:0;filter:drop-shadow(0 3px 2px #16122a40)}.dock-button .app-icon svg{width:100%;height:100%;stroke:none}.dock-button:hover{transform:translateY(-7px) scale(1.2)}.dock-button:after{bottom:0;background:#261c3d;width:4px;height:4px}.dock-label{bottom:73px;background:#f4eef8ed;color:#4b3c61;border:1px solid #ffffff8a;box-shadow:0 3px 12px #281d3b30;backdrop-filter:blur(20px);border-radius:5px;padding:5px 9px}.dock-divider{background:#3b24472b;margin:6px 2px 13px}.dock-trash .app-icon{width:44px}.window{border-radius:10px;border:1px solid #fff8;background:#fff;box-shadow:0 22px 55px #20143855,0 0 0 1px #2a183020;min-width:360px}.window.focused{box-shadow:0 30px 80px #20143870,0 0 0 1px #2a183020}.window-head{height:48px;padding:0 17px;background:#f6f5f7;border-bottom:1px solid #dedce2;cursor:default}.window-title{font-size:13px;font-weight:600;color:#5e5665}.window-hint{display:none}.traffic-lights{gap:8px}.traffic-lights button{height:12px;width:12px;border:1px solid #0001;font:9px Arial,sans-serif}.window:not(.focused) .traffic-lights button{background:#cfcbd3;color:#918c98}.traffic-lights .close{background:#ff5f57}.traffic-lights .minimize{background:#febc2e}.traffic-lights .maximize{background:#28c840}.window.maximized{inset:0 0 95px!important;border-radius:0}.finder{grid-template-columns:174px 1fr}.finder-sidebar{padding:20px 10px;background:#eeeaf2;border-right:1px solid #e4dfe9}.finder-sidebar .kicker{font-family:inherit;font-weight:600;font-size:10px;letter-spacing:0;color:#a095aa;margin-bottom:8px}.finder-sidebar button{font-size:12px;padding:8px 10px;border-radius:6px;gap:8px;color:#615769}.finder-sidebar button svg{stroke:#7b6a97;width:16px;height:16px;stroke-width:1.8}.finder-sidebar button.selected{background:#cdbfe0;color:#3e2e51}.finder-sidebar small{margin:27px 10px;color:#a399ad;font-size:9px}.finder-main{padding:20px 24px 15px}.finder-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}.finder-toolbar h2{font-size:24px;font-weight:600;letter-spacing:-.5px;margin:0}.finder-controls{display:flex;gap:3px}.finder-controls button{border:0;background:none;color:#8b8097;font-size:22px;width:31px;height:26px;line-height:22px;border-radius:4px;padding:0}.finder-controls button[aria-pressed=true]{background:#ede7f5;color:#735993}.finder-controls button:hover{background:#f0eaf5}.finder-main .subtitle{font-size:10px;color:#a599af;margin-bottom:21px}.project-grid{gap:16px}.project-tile{border:1px solid #e6dfec;border-radius:8px;box-shadow:0 1px 2px #46375205}.project-preview{height:137px}.tile-caption{padding:12px}.tile-caption b{font-size:11px;font-weight:600}.tile-caption small{font-size:9px}.project-tile:hover{transform:none;border-color:#af93d3;background:#f8f3fe}.finder-main>.source-note{padding-top:12px;border-top:1px solid #ebe6ef;margin-top:18px;font-size:8px}.project-grid.list-view{grid-template-columns:1fr;gap:0;border:1px solid #e6dfec;border-radius:5px;overflow:hidden}.list-view .project-tile{display:flex;align-items:center;border:0;border-radius:0;padding:8px 10px;gap:13px}.list-view .project-tile:nth-child(even){background:#f7f4f9}.list-view .project-preview{height:48px;width:64px;padding:4px;flex-shrink:0;border-radius:4px}.list-view .project-preview>*{transform:scale(.4);flex-shrink:0}.list-view .preview-planner{gap:0}.list-view .tile-caption{padding:0}.case-back{font-size:12px}.terminal-window .window-head{background:#eeebf2;border-color:#d8d2df}.terminal-window .window-title{color:#716777}.terminal-window .window-content{background:#202026f5}.terminal-page{font-size:12px}.terminal-banner{color:#bda8de}.page{padding:29px 31px}.page .primary{}.page .secondary{}.service-panel{background:#b8a4e8}.page h2{font-size:34px}.contact-link{font-size:13px}.calendar-weekhead{font-weight:600}body[data-theme=dawn] .wallpaper{background:#c5b2dd url('wallpaper.svg') center/cover no-repeat!important;filter:brightness(1.25) saturate(.72)}body[data-theme=forest] .wallpaper{background:#213c45 url('wallpaper.svg') center/cover no-repeat!important;filter:hue-rotate(100deg) saturate(.65)}body[data-theme=forest]{--accent:#c4d8bf}
@media(min-width:1500px){.desktop-apps{right:32px;top:38px;grid-template-columns:repeat(2,88px);gap:25px 15px}.desktop-widgets{left:35px;right:auto;top:40px;width:248px}.window{width:800px;height:580px}}
@media(max-width:1100px) and (min-width:701px){.desktop-widgets{left:20px;right:auto;top:30px;width:193px}.desktop-apps{right:17px;top:29px;grid-template-columns:repeat(2,75px);gap:15px 3px}.desktop-app .app-icon{width:55px;height:53px}.calendar-widget{padding:14px;gap:10px;grid-template-columns:60px 1fr}.calendar-grid{gap:6px 1px}.calendar-date strong{font-size:42px}.note-widget strong{font-size:18px}.note-widget p{font-size:10px}.note-widget .note-footer{font-size:8px}.dock-button .app-icon{width:47px;height:47px}.dock{gap:6px}}
@media(max-width:700px){:root{--bar:33px}.menubar{height:33px;padding:0 14px}.menubar .brand svg{width:12px;height:17px}.menubar .menu-left>button:not(.brand){display:none}.menu-left b{font-size:12px}.menu-right .wifi-icon{display:none}.menu-right{gap:13px}#clock{font-size:10px;min-width:0}.menubar .menu-left{gap:13px}#desktop{padding:25px 18px 125px;min-height:calc(100dvh - 33px);gap:20px;display:flex;flex-direction:column}.desktop-apps{position:relative;top:auto;right:auto;margin:0;order:2;grid-template-columns:repeat(4,1fr);gap:13px 4px}.desktop-app{font-size:10px;min-height:90px}.desktop-app .app-icon{width:55px;height:55px}.desktop-widgets{position:relative;top:auto;left:auto;right:auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:13px;order:1}.calendar-widget{grid-template-columns:52px 1fr;gap:9px;border-radius:17px;padding:14px;min-height:126px}.calendar-date strong{font-size:41px;margin:6px 0}.calendar-date span{font-size:8px}.calendar-date small{font-size:8px}.calendar-grid{font-size:6px;gap:7px 2px}.note-widget{margin:0;padding:9px 13px 13px;min-height:126px;transform:none;align-self:stretch}.note-widget .widget-label{font-size:7px;margin-bottom:15px}.note-widget strong{font-size:17px;margin:8px 0}.note-widget p{font-size:9px;line-height:1.65}.note-widget .note-footer{font-size:7px;margin-top:10px}.quest-widget{grid-column:1/-1;margin:0;padding:13px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;border-radius:15px}.quest-widget .widget-label{font-size:9px}.quest-widget .progress-track{margin:4px 0}.quest-widget p{grid-column:1/-1;margin:0;font-size:9px}.desktop-bottom{order:3;font-size:8px;margin:0 0 4px;bottom:auto;left:auto;right:auto}.desktop-bottom span:last-child{display:block;opacity:.7}.desktop-bottom kbd{margin-left:8px;font-size:7px}.dock{gap:4px;border-radius:17px;padding:8px 7px 6px;bottom:max(9px,env(safe-area-inset-bottom));max-width:calc(100vw - 14px)}.dock-button .app-icon{width:33px;height:33px}.dock-button .app-icon svg{width:100%;height:100%}.dock-button{padding:0 0 6px}.dock-button:hover{transform:none}.dock-divider{margin:3px 0 10px}.dock-trash .app-icon{width:28px}.window,.window.maximized{inset:40px 6px 72px!important;border-radius:9px;min-width:0}.window-head{height:44px;padding:0 14px}.window-title{font-size:11px;left:86px;right:17px}.traffic-lights button{width:14px;height:14px}.traffic-lights{gap:8px}.finder{display:flex;flex-direction:column}.finder-sidebar{padding:9px;gap:3px;border-right:0}.finder-sidebar button{font-size:10px;padding:7px}.finder-sidebar .kicker,.finder-sidebar small{display:none}.finder-main{padding:18px}.finder-toolbar h2{font-size:23px}.finder-controls button{font-size:20px;width:26px}.project-grid{gap:11px}.project-preview{height:110px}.tile-caption b{font-size:10px;line-height:1.4}.tile-caption small{font-size:8px}.tile-caption{padding:10px}.finder-main .subtitle{font-size:9px}.page{padding:23px 20px}.page h2{font-size:29px}.toast{bottom:80px}.popover{top:37px}.mac-menu{left:15px}.terminal-page{font-size:11px}.terminal-form label{font-size:9px}}
@media(max-width:370px){.dock{gap:2px}.dock-button .app-icon{width:29px;height:29px}.dock-trash .app-icon{width:23px}.desktop-apps{grid-template-columns:repeat(4,1fr)}.calendar-widget{padding:10px;gap:7px;grid-template-columns:44px 1fr}.note-widget strong{font-size:15px}.calendar-grid{gap:7px 1px}}
/* Live desktop widgets and small applications */
.weather-widget{position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(155deg,#74b8e8,#4582bb 55%,#326198);box-shadow:0 8px 25px #27133930;color:#fff;min-height:149px}.weather-widget.night{background:linear-gradient(155deg,#323d79,#262752 60%,#181c3c)}.weather-open{display:grid;grid-template-columns:1fr 45px;grid-template-rows:auto auto auto auto;padding:16px 18px;width:100%;text-align:left;background:none;border:0;gap:3px 5px}.weather-open #weather-city{grid-column:1/-1;font-size:13px;font-weight:500;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-open #weather-temp{font-size:44px;font-weight:200;letter-spacing:-2px;line-height:1.1;margin:4px 0}.weather-open #weather-icon{font-size:34px;align-self:center;grid-row:2;grid-column:2;color:#f5e8af;text-align:center;text-shadow:0 3px 7px #1e365740}.weather-open #weather-summary{grid-column:1/-1;font-size:10px;font-weight:500;margin-top:3px}.weather-open #weather-range{grid-column:1/-1;font-size:8px;opacity:.8;margin-top:3px}.weather-locate{position:absolute;right:13px;top:12px;width:24px;height:24px;border:0;border-radius:50%;background:#ffffff17;font-size:19px;color:white;line-height:22px}.weather-locate:hover{background:#ffffff30}.desktop-widgets{gap:14px}.calendar-grid button{font:inherit;padding:0;background:none;border:0;border-radius:50%;width:100%;min-width:10px;line-height:1.2;position:relative;color:inherit}.calendar-grid .today{background:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-dark);color:white}.calendar-grid .has-event:after{content:'';position:absolute;width:3px;height:3px;bottom:-4px;left:calc(50% - 1.5px);border-radius:50%;background:#a175c0}.calendar-widget .calendar-date strong{margin:3px 0}.desktop-app .desktop-native{width:70px;height:57px}.desktop-apps{gap:25px 10px}.window.maximized{inset:0!important;width:auto!important;height:auto!important;border-radius:0;resize:none}.os-full-window .dock{transform:translateX(-50%) translateY(calc(100% + 6px));transition:transform .2s;bottom:0}.os-full-window .dock:hover,.os-full-window .dock:focus-within{transform:translateX(-50%) translateY(-7px)}.quick-note-corner{position:fixed;bottom:0;right:0;width:28px;height:28px;z-index:6100;background:none;border:0;border-radius:9px 0 0 0;padding:0;color:#66572b;opacity:.35;transition:.2s}.quick-note-corner span{font-size:22px;display:block}.quick-note-corner:hover,.quick-note-corner:focus-visible{width:55px;height:42px;background:#ffe8a4;opacity:1;box-shadow:0 0 12px #21102c40}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.calendar-toolbar h2{font-size:23px;letter-spacing:-.5px;margin:0;text-transform:capitalize}.calendar-toolbar>div{display:flex;gap:4px}.calendar-toolbar button{background:#f2edf6;border:1px solid #e4dbe9;border-radius:5px;padding:5px 9px;color:#8f709c;font-size:10px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.month-weekday{text-align:center;font-size:9px;color:#b29cc0;padding:6px}.month-grid button{border:1px solid #ede7f2;border-radius:7px;background:#faf8fc;min-height:55px;text-align:left;padding:8px;display:flex;flex-direction:column;align-items:flex-start;color:#685875}.month-grid button span{font-size:12px}.month-grid button.today span{background:#e27379;color:white;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;margin:-2px 0 0 -2px}.month-grid button.selected{border-color:#bfa6d8;background:#ece2f7}.month-grid button small{font-size:7px;margin-top:auto;color:#a484bd}.calendar-detail{margin-top:23px;padding-top:20px;border-top:1px solid #e7dfed}.empty-state{font-size:11px!important;color:#a692b3!important}.event-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee7f3;font-size:11px}.event-row time{font-size:10px;color:#b79ec9;min-width:60px}.event-row span{flex:1;overflow-wrap:anywhere}.event-row button{background:none;border:0;font-size:18px;color:#c1a9d2}.event-form{display:flex;gap:8px;margin-top:16px}.event-form input{border:1px solid #e0d4e9;border-radius:7px;background:#fbf8ff;padding:9px;font-size:11px;color:#745983;min-width:0}.event-form input[name=title]{flex:1}.event-form input[type=time]{width:96px}.event-form .primary{}.notes-page{height:100%;min-height:320px;display:grid;grid-template-columns:185px 1fr}.notes-sidebar{padding:21px 10px;background:#f2eff4;border-right:1px solid #e8e0ed}.notes-sidebar>span{font-size:8px;color:#b7a7bd;margin-left:9px;letter-spacing:.08em}.notes-sidebar button{display:block;border:0;background:none;width:100%;text-align:left;padding:12px 11px;border-radius:6px;color:#897291;font-size:11px;margin-top:10px}.notes-sidebar button.selected{background:#efe0b0;color:#746238}.notes-sidebar small{font-size:8px;display:block;margin-top:7px;color:#b0a2aa}.notes-editor{background:#fffefa;padding:18px 25px;display:flex;flex-direction:column;min-height:0}.notes-top{display:flex;align-items:center;justify-content:space-between;color:#b4a4b4;font-size:9px}.notes-top button{background:none;border:0;font-size:22px;color:#b8a7bb}.notes-editor h2{font-size:23px;font-weight:600;letter-spacing:-.7px;margin:22px 0 15px;color:#534758}.notes-editor textarea{width:100%;min-height:160px;height:calc(100% - 90px);resize:none;border:0;background:none;color:#7d6c83;font:13px/1.8 -apple-system,BlinkMacSystemFont,sans-serif;padding:0}.notes-editor textarea:focus{outline:none}.notes-editor textarea:focus-visible{box-shadow:0 0 0 2px #aa86c325;border-radius:5px}#note-content{flex:1;min-height:0;display:flex;flex-direction:column}.notes-editor small{font-size:9px;color:#b7a4bd;display:block;margin-top:11px}.notes-editor p{font-size:13px;line-height:1.9;color:#9c85a6}.trash-item{display:flex;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid #eee6f3}.trash-item>svg{width:33px;height:40px;flex-shrink:0;fill:none;stroke:none}.trash-item>button:first-of-type{flex:1;min-width:0;text-align:left;border:0;background:none;color:#7d688d;padding:0}.trash-item b{font-size:11px;font-weight:500;overflow-wrap:anywhere}.trash-item small{display:block;font-size:9px;color:#b09cbe;margin-top:6px}.trash-item .secondary{}.trash-preview{white-space:pre-wrap;font-size:12px;color:#a189af;line-height:1.8;background:#f7f1fb;border-radius:8px;padding:20px;margin-top:20px}.dock-trash.trash-full:before{content:'';width:13px;height:12px;position:absolute;top:7px;left:16px;background:#f4f3fd;border:1px solid #c2b8dc;transform:rotate(-11deg);z-index:-1}.case-intro{font-size:12px;line-height:1.6;color:#b09bbb}.case-files{margin-top:22px}.case-file{display:flex;align-items:center;gap:16px;width:100%;padding:15px 0;border:0;border-bottom:1px solid #e7ddec;background:none;text-align:left;color:#897091}.case-file-icon{width:45px;height:37px;background:#d1bfe8;border-radius:6px;display:grid;place-items:center;flex-shrink:0}.case-file-icon svg{width:27px;height:27px;color:#9779b7}.case-file>div{flex:1}.case-file b{font-size:12px;font-weight:600;display:block}.case-file div>span{font-size:10px;line-height:1.6;display:block;color:#a896b4;margin-top:6px}.case-file small{display:block;font-size:8px;color:#c0add0;margin-top:7px}.case-file em{font-size:22px;font-style:normal;color:#b197c6}.before-after{background:#efe6f8;border-radius:13px;padding:20px;margin-top:25px}.before-after-controls{display:flex;gap:8px;margin:16px 0}.before-after-controls button{border:1px solid #d6c5e8;background:#f9f4fd;border-radius:7px;padding:7px 10px;font-size:10px;color:#9874b3}.before-after-controls button[aria-pressed=true]{background:#b89bda;color:white}.before-after-preview{min-height:100px;display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:8px;border-radius:8px;background:#f9f6fc;padding:18px}.before-after-preview span{padding:8px 12px;color:#936ea7;background:#e8daf2;font-size:10px;border-radius:7px;transform:rotate(-12deg) translateY(-7px);transition:transform .3s}.before-after-preview span:nth-child(2){transform:rotate(17deg) translateY(15px)}.before-after-preview span:nth-child(3){transform:rotate(-7deg) translateY(11px)}.before-after-preview span:nth-child(4){transform:rotate(12deg) translateY(-14px)}.before-after-preview.organized{display:grid;grid-template-columns:repeat(4,1fr)}.before-after-preview.organized span{transform:none;text-align:center}.before-after>p{font-size:9px;color:#b09ac0;line-height:1.7;margin-bottom:0}.skill-game{border:1px dashed #d2bddf;padding:20px;border-radius:12px;background:#f5eefb;margin-top:25px}.skill-game #skill-task{font-size:12px;color:#a384b6}.skill-game #skill-feedback{min-height:20px;font-size:10px;color:#8d6ba3;margin-top:15px}.weather-hero{display:flex;align-items:center;justify-content:space-between;padding:15px 0 20px}.weather-hero h2{font-size:29px}.weather-hero strong{font-size:70px;font-weight:200;letter-spacing:-5px;color:#7960a0}.weather-hero p{margin:0;font-size:14px;color:#a287b8}.weather-hero small{font-size:10px;color:#b5a3c3;display:block;margin-top:9px}.weather-hero>span{font-size:95px;color:#dcb6a8;text-shadow:0 4px 20px #af95c233}.forecast-days{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:5px 0 25px}.forecast-days>div{display:flex;flex-direction:column;align-items:center;gap:14px;background:#f3edf8;border-radius:11px;padding:17px;color:#a78dbb}.forecast-days b{font-size:10px;font-weight:500}.forecast-days span{font-size:30px}.forecast-days small{font-size:11px}.weather-actions{display:flex;gap:9px;flex-wrap:wrap}.weather-error{font-size:11px;color:#b389aa;background:#f9eef4;padding:12px;border-radius:8px}.city-search{margin-top:23px}.city-search label{font-size:10px;color:#b19bc3;display:block;margin-bottom:8px}.city-search>div{display:flex;gap:8px}.city-search input{flex:1;min-width:0;border:1px solid #e1d6eb;border-radius:7px;padding:10px;font-size:12px;color:#a388b5;background:#fdfbff}.city-result{display:block;width:100%;padding:12px 0;text-align:left;background:none;border:0;border-bottom:1px solid #e8e0ee;color:#9473a5}.city-result b{font-size:12px;font-weight:500}.city-result small{display:block;font-size:9px;margin-top:5px;color:#bda6ca}#city-results{font-size:11px;color:#a98abc;margin-top:12px}.party-mode .wallpaper{animation:party-colors 9s linear infinite}@keyframes party-colors{0%{filter:hue-rotate(0)}100%{filter:hue-rotate(360deg)}}
@media(min-width:701px) and (max-height:790px){.desktop-widgets{top:22px;gap:11px}.weather-widget{min-height:123px}.weather-open{padding:12px 16px}.weather-open #weather-temp{font-size:38px}.weather-open #weather-city{font-size:11px}.weather-open #weather-icon{font-size:27px}.weather-open #weather-summary{font-size:9px}.weather-open #weather-range{font-size:7px}.calendar-widget{min-height:104px;padding:12px 14px}.calendar-date strong{font-size:38px;margin:3px 0}.calendar-grid{gap:5px 2px}.note-widget{min-height:110px;padding:9px 14px 12px}.note-widget strong{font-size:17px;margin:4px 0 6px}.note-widget .widget-label{margin-bottom:12px}.note-widget p{font-size:10px}.note-widget .note-footer{margin-top:8px;font-size:8px}.quest-widget{padding:13px 15px}.quest-widget p{margin-top:8px;font-size:9px}.quest-widget .progress-track{margin-top:10px}}
@media(max-width:700px){.desktop-widgets{grid-template-columns:1fr 1fr;gap:12px}.weather-widget{grid-column:1;min-height:146px}.weather-open{padding:14px}.weather-open #weather-city{font-size:11px}.weather-open #weather-temp{font-size:40px}.weather-open #weather-icon{font-size:28px}.weather-open #weather-summary{font-size:9px}.weather-open #weather-range{font-size:7px}.calendar-widget{grid-column:2;grid-template-columns:1fr;padding:13px;gap:9px}.calendar-date{display:flex;align-items:center;gap:8px}.calendar-date span{font-size:8px}.calendar-date strong{font-size:27px;line-height:1;margin:0;letter-spacing:-1px;order:-1}.calendar-date small{display:none}.calendar-grid{gap:5px 3px}.calendar-grid button{font-size:7px}.calendar-grid .today{box-shadow:0 0 0 2px var(--accent-dark)}.note-widget{grid-column:1/-1;min-height:99px}.note-widget p br{display:none}.note-widget strong{font-size:19px;margin:5px 0}.note-widget .widget-label{margin-bottom:14px}.note-widget .note-footer{margin-top:7px}.quest-widget{grid-column:1/-1}.dock{gap:4px;padding:8px 7px 6px}.dock-button .app-icon{width:29px;height:29px}.dock-trash .app-icon{width:25px}.dock-divider{margin-left:0;margin-right:0}.quick-note-corner{bottom:4px;right:0;width:22px;height:26px;opacity:.55}.quick-note-corner span{font-size:17px}.window-head .traffic-lights .maximize{display:grid}.window-title{left:105px}.window.maximized{inset:33px 0 0!important;border-radius:0;z-index:4500}.os-full-window .dock{transform:translateX(-50%);bottom:max(7px,env(safe-area-inset-bottom));background:#e8e0f18a}.os-full-window .window-content{padding-bottom:55px}.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar h2{font-size:22px}.month-grid{gap:3px}.month-grid button{min-height:46px;padding:7px 5px}.month-grid button span{font-size:10px}.month-grid button small{font-size:6px}.event-form{flex-wrap:wrap}.event-form input[name=title]{flex:1;min-width:calc(100% - 105px)}.event-form .primary{margin-left:auto}.notes-page{display:flex;flex-direction:column}.notes-sidebar{display:flex;gap:6px;padding:8px;flex-shrink:0;border-right:0;border-bottom:1px solid #e8e0ed}.notes-sidebar>span{display:none}.notes-sidebar button{margin:0;padding:9px;font-size:10px;width:auto;flex:1}.notes-sidebar small{font-size:7px}.notes-editor{flex:1;padding:17px 20px;min-height:300px}.notes-editor textarea{min-height:190px}.notes-editor h2{font-size:23px}.trash-item{gap:10px}.trash-item .secondary{}.trash-item>svg{width:27px}.trash-item b{font-size:10px}.before-after{padding:15px}.before-after-preview.organized{grid-template-columns:1fr 1fr}.before-after-preview span{font-size:9px}.weather-hero strong{font-size:65px}.weather-hero h2{font-size:27px}.weather-hero>span{font-size:70px}.forecast-days{gap:8px}.forecast-days>div{padding:15px 8px;gap:12px}.weather-actions .primary,.weather-actions .secondary{}.case-file{gap:12px}.case-file-icon{width:38px}.case-file div>span{font-size:9px}.dock-trash.trash-full:before{width:8px;height:9px;top:3px;left:10px}}
@media(max-width:370px){.dock{gap:2px}.dock-button .app-icon{width:24px;height:24px}.dock-trash .app-icon{width:20px}}

/* taste pass */
.terms-note{font-size:11px!important;line-height:1.6;color:#6f6879!important;max-width:62ch}
.secret-title{display:block;font-size:13px;margin-bottom:8px}
.project-preview{position:relative}
.preview-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:inherit}
.routes b{display:block;margin-bottom:6px}
#spotlight footer{display:flex;gap:18px}
@media(max-width:700px){.timeline{grid-template-columns:1fr;gap:14px}}

/* =====================================================================
   LIQUID GLASS LAYER (KatOS v5)
   Web approximation of macOS Tahoe "Liquid Glass": backdrop blur + saturation,
   layered rims and specular highlights. Not an Apple asset or official CSS.
   ===================================================================== */
:root{
  --lg-fill:linear-gradient(180deg,rgb(255 255 255/.24),rgb(255 255 255/.07));
  --lg-fill-light:linear-gradient(180deg,rgb(252 250 255/.78),rgb(244 240 250/.62));
  --lg-rim:rgb(255 255 255/.34);
  --lg-blur:blur(22px) saturate(185%);
  --lg-shadow:inset 0 1px 0 rgb(255 255 255/.6),inset 0 -1px 0 rgb(255 255 255/.14),inset 0 0 0 .5px rgb(255 255 255/.18),0 14px 44px rgb(18 10 38/.32);
  --lg-radius:22px;
  --win-bg:#fbfafd;
  --win-ink:#24212c;
}
.menubar,.dock,.popover,#mac-menu,.toast,.ctx-menu,.spotlight,.dock-label{isolation:isolate}.calendar-widget,.quest-widget{position:relative;isolation:isolate}
/* shared highlight sheet */
.dock::before,.ctx-menu::before,.calendar-widget::before,.quest-widget::before,.popover::before,.toast::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(120% 70% at 18% 0%,rgb(255 255 255/.38),transparent 55%),linear-gradient(100deg,rgb(255 255 255/.14),transparent 40%,rgb(255 255 255/.10));}

/* Menu bar: transparent glass strip */
body .menubar{height:30px;background:linear-gradient(180deg,rgb(20 14 36/.34),rgb(20 14 36/.12));backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border:0;box-shadow:inset 0 -.5px 0 rgb(255 255 255/.14);font-size:13px;text-shadow:0 1px 2px rgb(10 5 25/.35)}
.menubar .brand{padding:0 2px!important}
.brand-mark{font-weight:700;font-size:16px;letter-spacing:-.04em;display:inline-flex;align-items:flex-start;line-height:1}
.brand-mark i{font-style:normal;font-size:9px;color:var(--accent);margin-left:1px;margin-top:-1px}

/* Dock: floating glass shelf */
body .dock{bottom:max(12px,env(safe-area-inset-bottom));gap:6px;padding:8px 10px;border-radius:26px;background:var(--lg-fill);border:1px solid var(--lg-rim);box-shadow:var(--lg-shadow);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);align-items:flex-end;overflow:visible}
.lg-refract body .dock,.lg-refract .dock{backdrop-filter:url(#lg-refract) blur(14px) saturate(190%)}
body .dock-button{padding:0 1px 6px;transition:margin .14s ease-out}
body .dock-button .app-icon{width:50px;height:50px;border-radius:12px;background:none;box-shadow:none;transform-origin:50% 100%;transform:scale(var(--mag,1));transition:transform .14s cubic-bezier(.2,.8,.2,1)}
body .dock.magnifying .dock-button{margin-inline:calc((var(--mag,1) - 1) * 22px)}
body .dock-button:hover{transform:none}
body .dock-button.running::after{content:"";position:absolute;bottom:0;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:rgb(255 255 255/.85);opacity:1;box-shadow:0 0 4px rgb(255 255 255/.6)}
.dock-button.bounce .app-icon{animation:dock-bounce .9s cubic-bezier(.3,.7,.4,1)}
@keyframes dock-bounce{0%,100%{translate:0 0}20%{translate:0 -18px}40%{translate:0 0}55%{translate:0 -9px}70%{translate:0 0}}
body .dock-label{bottom:calc(100% + 14px);background:var(--lg-fill-light);color:#2a2533;border:1px solid rgb(255 255 255/.7);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);border-radius:9px;font-size:12px;box-shadow:0 6px 18px rgb(18 10 38/.25)}
body .dock-divider{width:1px;align-self:stretch;margin:6px 4px 10px;background:rgb(255 255 255/.32)}
body .dock-trash .app-icon{width:50px}

/* Menus and popovers: light glass, dark ink */
body .popover,body #mac-menu,.ctx-menu{background:var(--lg-fill-light);color:#25212d;border:1px solid rgb(255 255 255/.75);border-radius:14px;padding:6px;backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);box-shadow:inset 0 1px 0 rgb(255 255 255/.9),0 18px 50px rgb(18 10 38/.38)}
body .popover button,body #mac-menu button,.ctx-menu button{border-radius:8px;padding:7px 10px;font-size:13px;color:inherit}
body .popover button:hover,body #mac-menu button:hover,.ctx-menu button:hover,.ctx-menu button:focus-visible{background:var(--accent-dark);color:#fff;outline:none}
.ctx-menu{position:fixed;z-index:8000;min-width:230px;display:flex;flex-direction:column}
.ctx-menu[hidden]{display:none}
.ctx-menu button{border:0;background:none;text-align:left;cursor:default}
.ctx-menu hr,body #mac-menu hr{border:0;height:1px;background:rgb(40 30 60/.12);margin:4px 8px}
body .popover small{color:#6e6779}

/* Toast as a notification banner */
body .toast{top:44px;bottom:auto;right:14px;background:var(--lg-fill-light);color:#26222e;border:1px solid rgb(255 255 255/.75);border-radius:18px;padding:14px 18px;backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);box-shadow:inset 0 1px 0 #fff,0 14px 40px rgb(18 10 38/.35);transform:translateX(16px)}
body .toast.visible{transform:none}

/* Widgets: glass where it suits, paper stays paper */
body .calendar-widget{background:linear-gradient(180deg,rgb(255 255 255/.2),rgb(30 18 60/.22));color:#fff;border:1px solid var(--lg-rim);box-shadow:var(--lg-shadow);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);border-radius:var(--lg-radius)}
body .calendar-widget *{color:inherit}
body .calendar-widget #calendar-month{color:#ff8b8b}
body .calendar-widget .calendar-grid .calendar-weekhead{color:rgb(255 255 255/.6)}
body .calendar-widget .calendar-grid .today{background:var(--accent);color:#1d1530;box-shadow:0 0 0 3px var(--accent)}
body .quest-widget{background:linear-gradient(180deg,rgb(255 255 255/.18),rgb(30 18 60/.28));border:1px solid var(--lg-rim);box-shadow:var(--lg-shadow);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);border-radius:var(--lg-radius)}
body .quest-widget p{color:rgb(255 255 255/.78)}
body .weather-widget{border-radius:var(--lg-radius);box-shadow:inset 0 1px 0 rgb(255 255 255/.45),inset 0 0 0 1px rgb(255 255 255/.18),0 14px 40px rgb(18 10 38/.3)}

/* Windows: Tahoe proportions, merged title bar, floating glass sidebar */
body .window{border-radius:20px;border:0;background:var(--win-bg);color:var(--win-ink);box-shadow:0 0 0 .5px rgb(30 20 50/.18),inset 0 1px 0 rgb(255 255 255/.9),0 30px 80px rgb(18 10 38/.45),0 8px 22px rgb(18 10 38/.18)}
body .window.focused{box-shadow:0 0 0 .5px rgb(30 20 50/.2),inset 0 1px 0 #fff,0 40px 110px rgb(18 10 38/.55),0 10px 26px rgb(18 10 38/.2)}
body .window:not(.focused) .traffic-lights button{background:#d9d6de}
body .window-head{height:52px;padding:0 18px;background:transparent;border:0}
body .window-title{font-size:13px;font-weight:600;color:#3a3542}
body .traffic-lights{gap:8px}
body .traffic-lights button{width:13px;height:13px;box-shadow:inset 0 0 0 .5px rgb(0 0 0/.18)}
body .window-content{background:transparent}
body .finder{grid-template-columns:200px 1fr;padding:0 10px 10px 10px;gap:6px}
body .finder-sidebar{margin-top:-44px;padding:52px 10px 16px;border:1px solid rgb(255 255 255/.85);border-radius:16px;background:linear-gradient(180deg,rgb(236 230 248/.92),rgb(226 220 242/.85));box-shadow:inset 0 1px 0 #fff,0 6px 18px rgb(60 40 100/.1)}
body .finder-sidebar button{font-size:13px;color:#4a4256;padding:7px 9px}
body .finder-sidebar button.selected{background:rgb(120 90 200/.16);color:#2c2238}
body .window[data-app="projects"] .window-head,body .window[data-app="cases"] .window-head{position:relative;z-index:2}
body .terminal-window{background:#1c1b22}
body .terminal-window .window-title{color:#bdb6cc}
body .spotlight{background:var(--lg-fill-light);border:1px solid rgb(255 255 255/.8);border-radius:24px;backdrop-filter:blur(34px) saturate(190%);-webkit-backdrop-filter:blur(34px) saturate(190%);box-shadow:inset 0 1px 0 #fff,0 30px 90px rgb(18 10 38/.45)}

/* Desktop: selection, tidy, labels */
.desktop-app.selected{background:rgb(255 255 255/.16)!important;border-color:rgb(255 255 255/.28)!important}
.desktop-app.selected>span:last-child{background:var(--accent-dark);color:#fff;border-radius:5px;padding:1px 6px;text-shadow:none}
.lasso{position:absolute;z-index:1;border:1px solid rgb(255 255 255/.7);background:rgb(190 170 255/.18);border-radius:3px;pointer-events:none}
#desktop-apps.tidy .desktop-app{animation:tidy .8s cubic-bezier(.3,.7,.3,1) both;animation-delay:calc(var(--k,0) * 60ms)}
#desktop-apps.tidy .desktop-app:nth-child(2){--k:1}#desktop-apps.tidy .desktop-app:nth-child(3){--k:2}#desktop-apps.tidy .desktop-app:nth-child(4){--k:3}#desktop-apps.tidy .desktop-app:nth-child(5){--k:4}#desktop-apps.tidy .desktop-app:nth-child(6){--k:5}
@keyframes tidy{0%{transform:none}35%{transform:translate(-14px,10px) rotate(-6deg) scale(.92)}70%{transform:translate(4px,-3px) rotate(2deg)}100%{transform:none}}
body .desktop-app .desktop-native{width:76px;height:61px}

@media (prefers-reduced-transparency: reduce){
  body .menubar,body .dock,body .popover,body #mac-menu,.ctx-menu,body .toast,body .calendar-widget,body .quest-widget,body .spotlight,body .dock-label{backdrop-filter:none;-webkit-backdrop-filter:none;background:#efeaf6;color:#25212d}
  body .dock{background:#3a3150}
}

/* ---------------- Cases folder ---------------- */
.cf{position:relative;min-height:100%;display:flex;overflow:hidden}
.cf-stage{flex:1;min-width:0;padding:6px 28px 28px;display:flex;flex-direction:column;align-items:center;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.cf-intro{align-self:stretch}
.cf-intro h2{font-size:30px;letter-spacing:-.04em;font-weight:600;margin:0 0 4px}
.cf-intro p{margin:0;color:#6c6577;font-size:13px}
.cf-folder{--w:min(560px,100%);position:relative;width:var(--w);aspect-ratio:1.55;margin-top:34px;perspective:1100px}
.cf-back{position:absolute;inset:8% 0 0;border-radius:18px;background:linear-gradient(#5fb7f3,#3d93de);box-shadow:0 18px 40px rgb(30 60 120/.25)}
.cf-back::before{content:"";position:absolute;left:0;top:-7%;width:34%;height:14%;border-radius:12px 14px 0 0;background:#5fb7f3}
.cf-sheets{position:absolute;inset:0;}
.cf-sheet{position:absolute;bottom:14%;left:calc(6% + var(--i) * (88% / var(--n)));width:calc(88% / var(--n) + 6%);height:76%;border:0;border-radius:10px;background:#fff;color:#2a2533;padding:8px 8px 10px;text-align:left;display:flex;flex-direction:column;gap:3px;box-shadow:0 6px 18px rgb(20 30 70/.22);transform-origin:50% 100%;transform:translateY(22%) rotate(calc((var(--i) - (var(--n) - 1) / 2) * 3deg));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .3s;cursor:pointer;z-index:1}
.cf-sheet-cover{display:block;border-radius:7px;overflow:hidden;background:var(--tint)}
.cf-sheet .project-preview{height:auto;aspect-ratio:4/3;padding:8px;transform:scale(.96)}
.cf-sheet b{font-size:12px;font-weight:600;margin-top:5px;line-height:1.25}
.cf-sheet small{font-size:10px;color:#857d90}
.cf-folder.open .cf-sheet{transform:translateY(0) rotate(calc((var(--i) - (var(--n) - 1) / 2) * 3deg));transition-delay:calc(.12s + var(--i) * 70ms)}
.cf-folder.open .cf-sheet:hover,.cf-folder.open .cf-sheet:focus-visible{transform:translateY(-16%) rotate(0deg) scale(1.03);box-shadow:0 18px 40px rgb(20 30 70/.32);z-index:3;transition-delay:0s}
.cf-sheet.pulled{transform:translateY(-40%) rotate(0) scale(1.04)!important;opacity:.0;transition:transform .35s,opacity .35s .1s!important}
.cf-front{position:absolute;left:-1%;right:-1%;bottom:0;height:46%;border-radius:16px;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgb(140 210 255/.82),rgb(60 160 238/.92));backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%);box-shadow:inset 0 1.5px 0 rgb(255 255 255/.75),inset 0 -1px 0 rgb(255 255 255/.2),0 -2px 12px rgb(20 60 130/.18);transform-origin:50% 100%;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:flex;align-items:flex-end;justify-content:space-between;padding:0 22px 18px;color:#fff}
.cf-folder.open .cf-front{transform:rotateX(-22deg)}
.cf-label{font-size:22px;font-weight:600;letter-spacing:-.03em;text-shadow:0 1px 2px rgb(10 40 90/.25)}
.cf-count{font-size:12px;opacity:.9}
.cf-look{position:absolute;top:0;right:0;bottom:0;width:min(400px,100%);background:rgb(252 251 254/.92);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);border-left:1px solid rgb(40 30 60/.08);box-shadow:-20px 0 50px rgb(30 20 60/.16);display:flex;flex-direction:column;transform:translateX(104%);transition:transform .38s cubic-bezier(.2,.8,.2,1);z-index:5}
.cf-look.shown{transform:none}
.cf.looking .cf-stage{transform:translateX(-18%) scale(.92);opacity:.35;filter:blur(1.5px)}
.cf-look-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgb(40 30 60/.08);font-size:13px;font-weight:600}
.cf-look-head>span{flex:1;text-align:center}
.cf-close,.cf-nav button{border:0;background:rgb(40 30 60/.07);width:28px;height:28px;border-radius:50%;font-size:16px;color:#3a3542;display:grid;place-items:center}
.cf-close:hover,.cf-nav button:hover{background:rgb(40 30 60/.14)}
.cf-nav{display:flex;gap:6px}
.cf-look-body{padding:18px 20px 24px;overflow:auto}
.cf-look-cover{border-radius:14px;overflow:hidden;background:var(--tint);box-shadow:inset 0 0 0 1px rgb(0 0 0/.04)}
.cf-look-cover .project-preview{height:180px}
.cf-look-sub{display:block;margin-top:16px;font-size:12px;color:#7b7386}
.cf-look h3{font-size:24px;letter-spacing:-.03em;margin:4px 0 12px}
.cf-look dl{margin:0;display:grid;gap:4px}
.cf-look dt{font-size:11px;font-weight:600;color:#6b5aa6;margin-top:10px}
.cf-look dd{margin:0;font-size:13px;line-height:1.55;color:#3b3644}
.cf-stack{margin:16px 0}
@media (max-width:700px){
  .cf-stage{padding:4px 16px 20px}
  .cf-folder{--w:90%;margin-top:24px;aspect-ratio:1.1}
  .cf-sheet b{font-size:10px}.cf-sheet small{display:none}
  .cf-look{width:100%}
  .cf.looking .cf-stage{transform:none;opacity:0}
}

/* ---------------- Landing Builder ---------------- */
.lb{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;padding:4px 26px 26px;min-height:100%}
.lb h2{font-size:30px;letter-spacing:-.04em;font-weight:600;margin:0 0 6px;line-height:1.1}
.lb h2 em{font-style:italic;font-weight:500;color:var(--accent-dark)}
.lb-side>p{font-size:13px;line-height:1.55;color:#6c6577;margin:0 0 16px;max-width:46ch}
.lb-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lb-chip{position:relative;text-align:left;border:1px solid rgb(40 30 60/.1);background:#fff;border-radius:12px;padding:10px 32px 10px 12px;display:flex;flex-direction:column;gap:2px;cursor:grab;transition:transform .15s,box-shadow .15s,border-color .15s}
.lb-chip:hover{border-color:rgb(110 80 190/.45);box-shadow:0 6px 16px rgb(60 40 110/.12);transform:translateY(-1px)}
.lb-chip:active{transform:scale(.98)}
.lb-chip b{font-size:13px;font-weight:600;color:#2a2533}
.lb-chip small{font-size:11px;color:#7b7386}
.lb-chip span{position:absolute;right:10px;top:50%;translate:0 -50%;width:20px;height:20px;border-radius:50%;background:var(--accent-dark);color:#fff;display:grid;place-items:center;font-size:14px;line-height:1}
.lb-themes{display:flex;align-items:center;gap:8px;margin-top:16px}
.lb-themes button{width:24px;height:24px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgb(40 30 60/.18);padding:0}
.lb-themes button[aria-checked="true"]{box-shadow:0 0 0 2px var(--accent-dark)}
.lb-themes [data-palette="lilac"]{background:linear-gradient(135deg,#efe8ff 50%,#7a5cf0 50%)}
.lb-themes [data-palette="sand"]{background:linear-gradient(135deg,#f6efe6 50%,#b0745a 50%)}
.lb-themes [data-palette="mint"]{background:linear-gradient(135deg,#e7f5ef 50%,#2f8f6e 50%)}
.lb-themes [data-palette="night"]{background:linear-gradient(135deg,#1e1c27 50%,#c7b6ff 50%)}
.lb-theme-name{font-size:12px;color:#6c6577;margin-left:4px}
.lb-right{display:flex;flex-direction:column;align-items:center;gap:14px}
.lb-phone{position:relative;width:250px;height:470px;border-radius:44px;padding:11px;background:linear-gradient(145deg,#3a3842,#17161c);box-shadow:inset 0 0 0 1.5px #5c5966,0 24px 50px rgb(20 12 40/.35)}
.lb-island{position:absolute;top:20px;left:50%;translate:-50% 0;width:76px;height:22px;border-radius:12px;background:#0d0c10;z-index:2}
.lb-screen{--bg:#faf8ff;--ink:#2a2240;--acc:#7a5cf0;--soft:#ebe3ff;--line:#d9cff5;height:100%;border-radius:34px;background:var(--bg);overflow:auto;padding:44px 10px 14px;display:flex;flex-direction:column;gap:7px;scrollbar-width:none;transition:background .3s}
.lb-screen::-webkit-scrollbar{display:none}
.lb-screen[data-palette="sand"]{--bg:#fbf7f1;--ink:#3b2a22;--acc:#b0745a;--soft:#f1e5d8;--line:#e5d3c2}
.lb-screen[data-palette="mint"]{--bg:#f5fbf8;--ink:#173a2e;--acc:#2f8f6e;--soft:#dcf0e7;--line:#c3e3d5}
.lb-screen[data-palette="night"]{--bg:#17161e;--ink:#efeaff;--acc:#c7b6ff;--soft:#2a2736;--line:#3a3648}
.lb-screen.drop{outline:2px dashed var(--acc);outline-offset:-6px}
.lb-empty{margin:auto;text-align:center;font-size:12px;line-height:1.6;color:var(--ink);opacity:.6}
.lb-block{position:relative;border-radius:12px;background:var(--soft);padding:16px 9px 9px;color:var(--ink)}
.lb-block.fresh{animation:lb-in .45s cubic-bezier(.2,.8,.2,1)}
@keyframes lb-in{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}
.lb-block-name{position:absolute;top:4px;left:9px;font-size:8px;font-weight:600;opacity:.55;letter-spacing:.02em}
.lb-ctl{position:absolute;top:3px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity .15s}
.lb-block:hover .lb-ctl,.lb-block:focus-within .lb-ctl{opacity:1}
@media (hover:none){.lb-ctl{opacity:1}}
.lb-ctl button{width:18px;height:18px;border-radius:6px;border:0;background:var(--bg);color:var(--ink);font-size:10px;padding:0;line-height:1;display:grid;place-items:center}
.lb-ctl button:disabled{opacity:.3}
.m-line{display:block;height:5px;border-radius:3px;background:var(--line);margin:4px 0}
.m-line.big{height:9px;background:var(--ink);opacity:.85}.m-line.thin{height:4px}
.w30{width:30%}.w40{width:40%}.w50{width:50%}.w60{width:60%}.w70{width:70%}.w80{width:80%}.w90{width:90%}
.m-btn{display:inline-block;margin-top:6px;font-size:8px;font-weight:600;padding:5px 9px;border-radius:999px;background:var(--acc);color:var(--bg)}
.m-btn.wide{display:block;text-align:center}
.m-photo{display:block;border-radius:9px;background:linear-gradient(135deg,var(--acc),var(--line));opacity:.75}
.m-hero{display:grid;grid-template-columns:1fr 70px;gap:8px;align-items:center}.m-hero .m-photo{height:80px}
.m-about{display:grid;grid-template-columns:40px 1fr;gap:8px;align-items:center}.m-photo.round{width:40px;height:40px;border-radius:50%}
.m-list div{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--line)}.m-list div:last-child{border:0}
.m-list .m-line{margin:0}.m-list b{font-size:8px}
.m-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.m-gallery span{aspect-ratio:1;border-radius:6px;background:var(--line)}.m-gallery span:nth-child(2n){background:var(--acc);opacity:.45}
.m-review{background:var(--bg);border-radius:9px;padding:8px}.m-q{font-size:20px;line-height:.6;color:var(--acc);display:block}
.m-faq div{display:flex;justify-content:space-between;align-items:center;background:var(--bg);border-radius:7px;padding:2px 8px;margin-bottom:4px}.m-faq span{font-size:10px;color:var(--acc)}
.m-form .m-input{display:block;height:16px;border-radius:6px;background:var(--bg);border:1px solid var(--line);margin-bottom:5px}
.m-contacts{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center}.m-map{height:56px;border-radius:9px;background:repeating-linear-gradient(45deg,var(--line) 0 6px,var(--bg) 6px 12px)}
.m-dots{display:flex;gap:4px;margin-top:5px}.m-dots em{width:12px;height:12px;border-radius:50%;background:var(--acc)}
.lb-summary{width:100%;display:flex;flex-direction:column;gap:10px;font-size:12px;color:#5f5869}
.lb-summary>div{display:flex;flex-direction:column;gap:2px}
.lb-summary b{font-size:20px;letter-spacing:-.02em;color:#2a2533}
.lb-summary small{font-size:11px;color:#7b7386}
@media (max-width:860px){.lb{grid-template-columns:1fr}.lb-right{order:-1}}
@media (max-width:700px){.lb{padding:4px 16px 20px}.lb-palette{grid-template-columns:1fr 1fr}.lb-chip small{display:none}}

body .window:focus,body .window:focus-visible{outline:none}
.lb-side .lb-summary{margin-top:18px;padding-top:16px;border-top:1px solid rgb(40 30 60/.08)}
@media (max-width:700px){
  body .dock{gap:3px;padding:7px 8px;border-radius:24px;max-width:calc(100vw - 20px)}
  body .dock-button{padding:0 0 6px}
  body .dock-button .app-icon,body .dock-trash .app-icon{width:38px;height:38px}
  body .dock-button[data-open="calendar"],body .dock-button[data-open="notes"]{display:none}
  body .dock-divider{margin:4px 2px 8px}
  body .toast{top:auto;bottom:96px;left:12px;right:12px}
  body .window{border-radius:22px}
}


/* Source: mac.css */
/* =====================================================================
   KatOS · macOS Tahoe app layer
   Windows styled after macOS apps: Finder, Notes, About, Installer, Mail, System Settings.
   Web approximation; no Apple assets.
   ===================================================================== */
:root{--mac-accent:#93386f;--mac-accent-soft:rgb(142 91 216/.14);--mac-ink:#1d1d1f;--mac-ink2:#6e6e73;--mac-ink3:#8e8e93;--mac-line:rgb(0 0 0/.09);--mac-fill:rgb(0 0 0/.05)}
svg.g{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
svg.ai{stroke:none;fill:none;flex:none}

/* ---------- window chrome ---------- */
html body .window.mac{border-radius:26px;background:#fff;color:var(--mac-ink);box-shadow:0 0 0 .5px rgb(0 0 0/.22),0 28px 70px rgb(16 8 36/.42),0 6px 18px rgb(16 8 36/.16)}
html body .window.mac.focused{box-shadow:0 0 0 .5px rgb(0 0 0/.25),0 38px 100px rgb(16 8 36/.55),0 8px 22px rgb(16 8 36/.2)}
html body .window.mac .window-head{height:52px;padding:0 16px 0 20px;background:transparent;border:0;position:relative;z-index:4}
html body .window.mac .window-hint{display:none}
html body .window.mac .window-title{font-size:13px;font-weight:600;color:var(--mac-ink);left:90px;right:90px;text-align:center}
html body .window.mac .window-content{background:transparent}
html body .window.mac .traffic-lights{gap:9px}
html body .window.mac .traffic-lights button{width:12px;height:12px}
html body .window.mac:not(.focused) .traffic-lights button{background:#dcdce0}
/* sidebar windows: title bar floats over content, lights sit inside the sidebar */
html body .window.w-finder .window-head,html body .window.w-notes .window-head,html body .window.w-settings .window-head{position:absolute;top:0;left:0;right:0}
html body .window.w-finder .window-title,html body .window.w-notes .window-title,html body .window.w-settings .window-title,html body .window.w-mail .window-title{display:none}
html body .window.w-finder .window-content,html body .window.w-notes .window-content,html body .window.w-settings .window-content{overflow:hidden;height:100%}
html body .window.w-mail .window-content,html body .window.w-installer .window-content{overflow:hidden}

/* ---------- toolbar ---------- */
.mac-toolbar{position:absolute;top:0;bottom:0;right:12px;left:250px;display:flex;align-items:center;gap:8px;pointer-events:none}
.mac-toolbar>*{pointer-events:auto}
.w-mail .mac-toolbar{left:92px}
.w-notes .mac-toolbar{left:290px}
.mt-spacer{flex:1;pointer-events:none!important}
.mt-cap{display:flex;align-items:center;height:32px;padding:0 3px;border-radius:16px;background:rgb(255 255 255/.8);box-shadow:0 0 0 .5px rgb(0 0 0/.11),0 1px 4px rgb(0 0 0/.07),inset 0 1px 0 #fff;backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%)}
.mt-cap button{width:34px;height:28px;border:0;border-radius:13px;background:none;color:#3c3c43;display:grid;place-items:center;padding:0}
.mt-cap button:hover:not(:disabled){background:var(--mac-fill)}
.mt-cap button[aria-pressed="true"]{background:rgb(0 0 0/.09);color:var(--mac-ink)}
.mt-cap button:disabled{opacity:.35}
.mt-send{color:var(--mac-accent)!important}
.mt-title{font-size:15px;font-weight:700;color:var(--mac-ink);margin-left:4px;white-space:nowrap;letter-spacing:-.01em}
.mt-title.center{font-size:13px;font-weight:600;margin:0}
.mt-search{display:flex;align-items:center;gap:6px;height:32px;width:190px;padding:0 12px;border-radius:16px;background:rgb(255 255 255/.8);box-shadow:0 0 0 .5px rgb(0 0 0/.11),0 1px 4px rgb(0 0 0/.07),inset 0 1px 0 #fff;color:var(--mac-ink3);cursor:text}
.mt-search input{border:0;background:none;outline:none;font-size:13px;width:100%;color:var(--mac-ink);padding:0;min-width:0}
.mt-search input::-webkit-search-cancel-button{opacity:.5}
.mt-search:focus-within{box-shadow:0 0 0 3px rgb(142 91 216/.35),0 0 0 .5px rgb(0 0 0/.11)}

/* ---------- floating glass sidebar ---------- */
.mac-sidebar{margin:8px 0 8px 8px;padding:52px 10px 12px;border-radius:18px;overflow:auto;background:linear-gradient(180deg,rgb(244 242 249/.94),rgb(236 233 244/.94));box-shadow:inset 0 0 0 .5px rgb(0 0 0/.08),inset 0 1px 0 #fff,0 3px 12px rgb(30 20 60/.07);scrollbar-width:none}
.mac-sidebar::-webkit-scrollbar{display:none}
.ms-sec{margin-bottom:10px}
.ms-h{display:block;font-size:11px;font-weight:600;color:var(--mac-ink3);padding:8px 10px 4px}
.ms-item{display:flex;align-items:center;gap:8px;width:100%;height:28px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--mac-ink);font-size:13px;text-align:left;cursor:default}
.ms-item svg.g{color:var(--mac-accent)}
.ms-item:hover{background:rgb(0 0 0/.04)}
.ms-item.on{background:rgb(0 0 0/.08)}
.ms-item.tag i{width:10px;height:10px;border-radius:50%;background:var(--c);margin:0 3px}
.ms-item:focus-visible,.mf-item:focus-visible,.mf-row:focus-visible,.mn-item:focus-visible{outline:2px solid var(--mac-accent);outline-offset:-2px}

/* ---------- buttons ---------- */
.mac-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;cursor:default}
.mac-btn:hover{}
.mac-btn:active{}
.mac-btn.primary{}
.mac-btn.primary:hover{}
.mac-btn:disabled{}

/* ---------- Finder ---------- */
.mf{display:grid;grid-template-columns:232px minmax(0,1fr);height:100%}
.mf-main{display:flex;flex-direction:column;min-width:0;padding-top:52px}
.mf-content{flex:1;overflow:auto;padding:16px 20px 20px;outline:none}
.mf-path{display:flex;align-items:center;gap:6px;height:30px;padding:0 16px;border-top:1px solid var(--mac-line);font-size:11px;color:var(--mac-ink2)}
.mf-path span{display:inline-flex;align-items:center;gap:4px}
.mf-path svg.g{color:#4a9be8}
.mf-sep{color:var(--mac-ink3)}
.mf-count{margin-left:auto}
.mf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:20px 10px;align-content:start}
.mf-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:6px 4px;border:0;border-radius:10px;background:none;cursor:default}
.mf-thumb{position:relative;display:block;width:116px;height:87px;border-radius:5px;overflow:hidden;background:var(--tint,#eee);box-shadow:0 0 0 .5px rgb(0 0 0/.14),0 2px 7px rgb(0 0 0/.14)}
.mf-thumb .project-preview{position:absolute;left:0;top:0;width:210px!important;height:158px!important;padding:16px!important;transform:scale(.552);transform-origin:0 0;border-radius:0}
.mf-name{max-width:132px;padding:1px 6px;border-radius:5px;font-size:12px;line-height:1.3;color:var(--mac-ink);text-align:center}
.mf-item.sel .mf-thumb{box-shadow:0 0 0 .5px rgb(0 0 0/.14),0 2px 7px rgb(0 0 0/.14),0 0 0 5px rgb(0 0 0/.07)}
.mf-item.sel .mf-name{background:var(--mac-accent);color:#fff}
.mf-list{display:flex;flex-direction:column;font-size:13px;margin:-16px -20px 0}
.mf-row{display:grid;grid-template-columns:2.2fr 1fr 1.6fr;align-items:center;gap:12px;height:30px;padding:0 20px;border:0;background:none;text-align:left;color:var(--mac-ink);cursor:default}
.mf-row:nth-child(odd):not(.mf-headrow){background:#f5f5f7}
.mf-row span{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mf-row span+span{color:var(--mac-ink2)}
.mf-headrow{height:28px;font-size:11px;font-weight:600;color:var(--mac-ink2);border-bottom:1px solid var(--mac-line);position:sticky;top:0;background:#fff;z-index:1}
.mf-row.sel{background:var(--mac-accent)!important;color:#fff}.mf-row.sel span{color:#fff}
.mf-mini{display:inline-block;width:20px;height:15px;border-radius:3px;background:var(--tint);box-shadow:0 0 0 .5px rgb(0 0 0/.15);flex:none}
.mf-mini .project-preview{display:none}
.mf-empty{margin:60px auto;text-align:center;color:var(--mac-ink3);font-size:13px;line-height:1.6}
.cf-inline{min-height:100%}
.cf-inline .cf-stage{padding:0 10px 10px}
.cf-hint{align-self:flex-start;margin:0;font-size:13px;color:var(--mac-ink2)}
.cf-inline .cf-folder{margin-top:44px;--w:min(540px,100%)}

/* ---------- Quick Look ---------- */
.ql{position:fixed;inset:0;z-index:7600;display:grid;place-items:center;padding:16px}
.ql[hidden]{display:none}
.ql-win{color:var(--mac-ink);width:min(860px,100%);max-height:calc(100dvh - 120px);display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:rgb(250 250 252/.94);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);box-shadow:0 0 0 .5px rgb(0 0 0/.22),0 40px 110px rgb(10 5 30/.55);transform:scale(.94);opacity:0;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .18s}
.ql.shown .ql-win{transform:none;opacity:1}
.ql-head{display:flex;align-items:center;gap:10px;height:50px;padding:0 12px;border-bottom:1px solid var(--mac-line);flex:none}
.ql-head b{flex:1;text-align:center;font-size:13px;font-weight:600}
.ql-x{width:26px;height:26px;border:0;border-radius:50%;background:rgb(0 0 0/.07);color:#3c3c43;display:grid;place-items:center}
.ql-nav{display:flex;gap:4px}
.ql-nav button{width:28px;height:26px;border:0;border-radius:13px;background:rgb(0 0 0/.06);color:#3c3c43;display:grid;place-items:center}
.ql-body{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;padding:22px;overflow:auto}
.ql-cover{border-radius:14px;overflow:hidden;background:var(--tint);min-height:300px;display:grid;box-shadow:inset 0 0 0 .5px rgb(0 0 0/.06)}
.ql-cover .project-preview{height:100%!important;min-height:300px}
.ql-sub{font-size:12px;color:var(--mac-ink2)}
.ql-info h3{font-size:26px;letter-spacing:-.025em;margin:4px 0 10px}
.ql-info dl{margin:0}
.ql-info dt{font-size:11px;font-weight:600;color:var(--mac-accent);margin-top:12px}
.ql-info dd{margin:3px 0 0;font-size:13px;line-height:1.55;color:#3a3a3c}
.ql-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.mac-tag{font-size:12px;padding:3px 10px;border-radius:10px;background:var(--mac-accent-soft);color:#5b3aa6}

/* ---------- Notes ---------- */
.mn{display:grid;grid-template-columns:272px minmax(0,1fr);height:100%}
.mn-list .ms-h{padding-left:12px}
.mn-items{display:flex;flex-direction:column;gap:2px}
.mn-item{display:block;width:100%;padding:9px 12px;border:0;border-radius:10px;background:none;text-align:left;cursor:default}
.mn-item b{display:block;font-size:13px;color:var(--mac-ink);margin-bottom:2px}
.mn-item span{display:block;font-size:12px;color:var(--mac-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mn-item em{font-style:normal;color:var(--mac-ink);margin-right:4px}
.mn-item.on{background:#f6e3ea}
.mn-none{font-size:12px;color:var(--mac-ink3);padding:10px 12px}
.mn-editor{overflow:auto;padding:64px 56px 40px;color:var(--mac-ink)}
.mn-date{text-align:center;font-size:12px;color:var(--mac-ink3);margin-bottom:22px}
.mn-editor h1{font-size:28px;letter-spacing:-.02em;margin:0 0 14px;font-weight:700}
.mn-editor h2{font-size:18px;margin:22px 0 6px;font-weight:700}
.mn-editor p,.mn-editor li{font-size:15px;line-height:1.6;color:#2c2c2e;max-width:62ch}
.mn-editor.big p,.mn-editor.big li{font-size:18px}
.mn-editor a{color:#93386f;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.n-tags{display:flex;flex-wrap:wrap;gap:8px}
.n-tags span{color:#93386f;font-weight:500}
.mn-editor ul{padding-left:20px}
.n-check{list-style:none;padding-left:0!important}
.n-check li{position:relative;padding-left:30px;margin:8px 0}
.n-check li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #c7c7cc}
.n-check li.done::before{background:#f5b800;box-shadow:none}
.n-check li.done::after{content:"";position:absolute;left:6px;top:7px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.n-check li.done{color:var(--mac-ink2)}

/* ---------- About (Навыки) ---------- */
.ab{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 36px 22px}
.ab-icon{filter:drop-shadow(0 10px 18px rgb(80 40 140/.25));margin-bottom:12px}
.ab h2{font-size:24px;letter-spacing:-.02em;margin:0;font-weight:700}
.ab-sub{margin:4px 0 0;font-size:13px;color:var(--mac-ink2)}
.ab-rows{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:22px 0 20px;text-align:left;font-size:13px}
.ab-rows dt{text-align:right;font-weight:600}
.ab-rows dd{margin:0;color:var(--mac-ink2)}
.ab-actions{display:flex;gap:10px}
.ab-more{width:100%;margin-top:18px;text-align:left}
.ab-table{width:100%;border-collapse:collapse;font-size:12px}
.ab-table th{text-align:left;font-weight:600;padding:8px 10px 8px 0;vertical-align:top;white-space:nowrap}
.ab-table td{color:var(--mac-ink2);padding:8px 0;line-height:1.5}
.ab-table tr+tr{border-top:1px solid var(--mac-line)}
.ab-more .page{padding:0}
.ab-foot{margin:22px 0 0;font-size:10px;color:var(--mac-ink3)}
.ab .skill-game{margin-top:14px;padding:14px;border-radius:12px;background:#f5f5f7;font-size:13px}

/* ---------- Installer (Услуги) ---------- */
.in{display:grid;grid-template-columns:196px minmax(0,1fr);height:100%}
.in-side{position:relative;overflow:hidden;padding:18px 16px;background:linear-gradient(180deg,#f7f5fc,#eee9f8);border-right:1px solid var(--mac-line)}
.in-side svg.ai{position:absolute;left:-26px;bottom:-26px;width:190px!important;height:190px!important;opacity:.2}
.in-side ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:13px;color:var(--mac-ink2);position:relative}
.in-side li{display:flex;align-items:center;gap:10px}
.in-side li::before{content:"";width:9px;height:9px;border-radius:50%;background:#c7c7cc;flex:none}
.in-side li.past::before{background:rgb(142 91 216/.45)}
.in-side li.on{color:var(--mac-ink);font-weight:600}
.in-side li.on::before{background:var(--mac-accent)}
.in-main{display:flex;flex-direction:column;min-width:0;padding:6px 20px 16px}
.in-pane{flex:1;overflow:auto;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 .5px rgb(0 0 0/.16);padding:20px 22px;font-size:13px;line-height:1.6;color:#2c2c2e}
.in-pane h3{font-size:16px;margin:0 0 10px}
.in-pane p{margin:0 0 10px}
.in-note{color:var(--mac-ink2)}
.in-foot{display:flex;justify-content:flex-end;gap:10px;padding-top:14px}
.in-packs{display:flex;flex-direction:column;border-radius:9px;box-shadow:0 0 0 .5px rgb(0 0 0/.14);overflow:hidden}
.in-pack{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:8px 12px;cursor:default}
.in-pack+.in-pack{border-top:1px solid var(--mac-line)}
.in-pack input{position:absolute;opacity:0;pointer-events:none}
.in-radio{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px #b8b8bd;background:#fff}
.in-pack.on{background:var(--mac-accent-soft)}
.in-pack.on .in-radio{background:var(--mac-accent);box-shadow:inset 0 0 0 4.5px var(--mac-accent),inset 0 0 0 9px #fff}
.in-pack input:focus-visible+.in-radio{outline:2px solid var(--mac-accent);outline-offset:2px}
.in-pack b{font-weight:600}
.in-pack em{font-style:normal;color:var(--mac-ink2)}
.in-desc{margin-top:12px;padding:12px 14px;border-radius:9px;background:#f5f5f7}
.in-desc p{margin:0 0 6px}
.in-desc ul{margin:0 0 8px;padding-left:18px;columns:2;column-gap:20px}
.in-desc span{font-size:12px;color:var(--mac-ink2)}
.in-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}
.in-steps b{display:inline-block;min-width:96px}
.in-progress{margin-top:40px}
.in-bar{height:8px;border-radius:4px;background:#e5e5ea;overflow:hidden}
.in-bar span{display:block;height:100%;background:var(--mac-accent);transform:scaleX(0);transform-origin:0 50%}
.in-status{margin-top:10px!important;color:var(--mac-ink2)}
.in-done{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:20px}
.in-ok{width:58px;height:58px;border-radius:50%;background:#34c759;color:#fff;font-size:30px;display:grid;place-items:center;margin-bottom:14px;box-shadow:0 8px 20px rgb(52 199 89/.35)}
.in-done .mac-btn{margin-top:8px}

/* ---------- Mail (Контакты) ---------- */
.ml{display:flex;flex-direction:column;height:100%;padding:0 22px 16px}
.ml-row{display:flex;align-items:center;gap:8px;min-height:38px;border-bottom:1px solid var(--mac-line);font-size:13px;color:var(--mac-ink3)}
.ml-row select{flex:1;border:0;background:none;font:inherit;color:var(--mac-ink);padding:6px 0;outline:none}
.ml-row select:focus-visible{box-shadow:0 2px 0 var(--mac-accent)}
.ml-chip{background:var(--mac-accent-soft);color:#5b3aa6;border-radius:10px;padding:2px 9px}
.ml textarea{flex:1;border:0;resize:none;outline:none;font:15px/1.55 var(--font-sans);color:var(--mac-ink);padding:16px 0 0;background:none}
.ml textarea::placeholder{color:#a1a1a6}
.ml textarea.shake{animation:mshake .4s}
@keyframes mshake{25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
.ml-sign{font-size:13px;color:var(--mac-ink3);line-height:1.5}
.ml-sheet{position:absolute;inset:52px 0 0;display:flex;justify-content:center;background:rgb(0 0 0/.06);z-index:5}
.ml-sheet[hidden]{display:none}
.ml-sheet-box{width:min(440px,92%);height:max-content;padding:18px;border-radius:0 0 16px 16px;background:#fbfbfd;box-shadow:0 0 0 .5px rgb(0 0 0/.15),0 18px 40px rgb(0 0 0/.2);transform:translateY(-104%);transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;gap:10px;font-size:13px}
.ml-sheet.shown .ml-sheet-box{transform:none}
.ml-sheet-box p{margin:0;color:var(--mac-ink2);line-height:1.5}
.ml-sheet-box textarea{height:130px;border:0;border-radius:8px;box-shadow:inset 0 0 0 .5px rgb(0 0 0/.2);padding:10px;font:12px/1.5 var(--font-sans);resize:none;color:var(--mac-ink)}
.ml-links{display:flex;flex-wrap:wrap;gap:12px}
.ml-links a{color:var(--mac-accent);font-weight:500}
.ml-sheet-actions{display:flex;justify-content:flex-end;gap:8px}

/* ---------- System Settings ---------- */
.ss{display:grid;grid-template-columns:250px minmax(0,1fr);height:100%}
.ss-side{display:flex;flex-direction:column;gap:6px}
.ss-search{width:auto;height:30px;margin-bottom:6px}
.ss-user{display:flex;align-items:center;gap:10px;padding:8px;border:0;border-radius:10px;background:none;text-align:left;margin-bottom:6px}
.ss-user:hover{background:rgb(0 0 0/.04)}
.ss-user b{display:block;font-size:13px;color:var(--mac-ink)}
.ss-user small{font-size:11px;color:var(--mac-ink2)}
.ss-ava{width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center}
.ss-list .ms-item{height:30px}
.ss-ic{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:inset 0 1px 0 rgb(255 255 255/.3)}
.ss-ic svg.g{color:#fff!important}
.ss-main{overflow:auto;padding:66px 28px 24px}
.ss-group{border-radius:12px;background:rgb(0 0 0/.028);box-shadow:inset 0 0 0 .5px rgb(0 0 0/.08)}
.ss-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px}
.ss-row+.ss-row{border-top:1px solid var(--mac-line)}
.ss-row b{display:block;font-size:13px;font-weight:500}
.ss-row small{display:block;font-size:12px;color:var(--mac-ink2);margin-top:2px;line-height:1.45}
.ss-hint{font-size:12px;color:var(--mac-ink2);margin:12px 4px}
.ss-walls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px}
.ss-wall{border:0;background:none;display:flex;flex-direction:column;gap:6px;align-items:center;font-size:12px;color:var(--mac-ink);padding:0}
.ss-wall b{font-weight:500}
.ss-wall-img{display:block;width:100%;aspect-ratio:16/10;border-radius:8px;box-shadow:0 0 0 .5px rgb(0 0 0/.15)}
.ss-wall.on .ss-wall-img{box-shadow:0 0 0 3px var(--mac-accent)}
.t-midnight{background:radial-gradient(80% 90% at 70% 100%,#a77ad8,transparent 60%),linear-gradient(135deg,#2a2240,#16151e)}
.t-dawn{background:radial-gradient(80% 90% at 70% 100%,#f6b38e,transparent 60%),linear-gradient(135deg,#e7b8d4,#7e5aa8)}
.t-forest{background:radial-gradient(80% 90% at 70% 100%,#b9d39a,transparent 60%),linear-gradient(135deg,#355c4b,#18261f)}
.ss-switch{position:relative;display:inline-block;width:38px;height:22px;flex:none}
.ss-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.ss-switch span{position:absolute;inset:0;border-radius:11px;background:#e1e1e6;transition:background .2s}
.ss-switch span::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgb(0 0 0/.25);transition:transform .2s}
.ss-switch input:checked+span{background:var(--mac-accent)}
.ss-switch input:checked+span::after{transform:translateX(16px)}
.ss-switch input:focus-visible+span{outline:2px solid var(--mac-accent);outline-offset:2px}

/* =====================================================================
   Desktop: macOS arrangement
   ===================================================================== */
html body .desktop-bottom{display:none}
@media (min-width:701px){
  html body .desktop-apps{left:auto;right:12px;top:8px;grid-template-columns:96px;gap:0}
  html body .desktop-app{min-height:92px;padding:6px 2px;gap:3px;font-size:12px;font-weight:500;border-radius:8px}
  html body .desktop-app .desktop-native{width:66px;height:54px}
  html body .desktop-widgets{left:20px;right:auto;top:14px;width:340px;display:grid;grid-template-columns:1fr 1fr;gap:14px;transition:filter .35s,opacity .35s}
  html body .desktop-widgets>*{margin:0;transform:none}
  html body .desktop-widgets .weather-widget,html body .desktop-widgets .calendar-widget{grid-column:1/-1;min-height:158px;height:158px}
  html body .desktop-widgets .note-widget,html body .desktop-widgets .quest-widget{aspect-ratio:1;min-height:0;height:auto}
}
/* widget skins */
html body .weather-widget{border-radius:24px}
html body .calendar-widget{border-radius:24px;background:rgb(255 255 255/.94);color:var(--mac-ink);border:0;backdrop-filter:blur(20px);box-shadow:0 0 0 .5px rgb(0 0 0/.08),0 10px 30px rgb(16 8 36/.25)}
html body .calendar-widget::before{display:none}
html body .calendar-widget *{color:inherit}
html body .calendar-widget #calendar-month,html body .calendar-widget #calendar-weekday{color:#ff3b30}
html body .calendar-widget #calendar-month{font-weight:700}
html body .calendar-widget #calendar-day{font-weight:300;color:var(--mac-ink)}
html body .calendar-widget .calendar-grid .calendar-weekhead{color:var(--mac-ink3)}
html body .calendar-widget .calendar-grid .today{background:#ff3b30;color:#fff;box-shadow:0 0 0 3px #ff3b30}
html body .note-widget{border-radius:24px;background:rgb(255 255 255/.94);border:0;color:var(--mac-ink);padding:16px;box-shadow:0 0 0 .5px rgb(0 0 0/.08),0 10px 30px rgb(16 8 36/.25);display:flex;flex-direction:column;text-align:left;transform:none}
html body .note-widget .widget-label{color:#e0a100;font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}
html body .note-widget strong{font-size:15px;font-weight:700;margin:8px 0 4px;letter-spacing:-.01em;line-height:1.25;color:var(--mac-ink)}
html body .note-widget p{font-size:12px;color:var(--mac-ink2);line-height:1.45;margin:0}
html body .note-widget .note-footer{margin-top:auto;border:0;padding:0;font:11px var(--font-sans);color:var(--mac-ink3)}
html body .quest-widget{border-radius:24px;background:rgb(255 255 255/.94);border:0;color:var(--mac-ink);padding:16px;box-shadow:0 0 0 .5px rgb(0 0 0/.08),0 10px 30px rgb(16 8 36/.25);display:flex;flex-direction:column}
html body .quest-widget::before{display:none}
html body .quest-widget .widget-label{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--mac-accent);font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}
html body .quest-widget .widget-label span{color:var(--mac-ink);font-size:26px;font-weight:600}
html body .quest-widget .progress-track{background:#ececf0;margin-top:auto}
html body .quest-widget p{color:var(--mac-ink2);font-size:12px}
/* widgets fade while an app is in front, like on macOS */
html body.has-windows .desktop-widgets{filter:saturate(.1);opacity:.62}
html body.has-windows .desktop-widgets:hover{filter:none;opacity:1}

/* =====================================================================
   Phone
   ===================================================================== */
@media (max-width:700px){
  html body .window.mac{border-radius:22px}
  .mf,.mn,.ss{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);padding-top:52px}
  .mac-sidebar{margin:0 8px;padding:5px;display:flex;gap:2px;overflow-x:auto;border-radius:14px;flex-direction:row}
  .ms-sec{display:contents}
  .ms-h,.ss-search,.ss-user{display:none}
  .ms-item{width:auto;flex:none;white-space:nowrap}
  .mf-main{padding-top:0}
  .mac-toolbar{left:84px!important;right:8px;gap:6px}
  .mac-toolbar .mt-title:not(.center){display:none}
  .mt-search{width:118px}
  .w-mail .mt-title{display:none}
  .mf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mn-items{flex-direction:row;gap:4px}
  .mn-item{width:auto;min-width:150px;max-width:190px}
  .mt-share{display:none}
  .mn-editor{padding:22px 18px 30px}
  .ss-list{display:flex;gap:2px}
  .ss-main{padding:16px}
  .in{grid-template-columns:1fr}
  .in-side{display:none}
  .in-main{padding:4px 12px 12px}
  .in-desc ul{columns:1}
  .ql-body{grid-template-columns:1fr;padding:16px}
  .ql-cover,.ql-cover .project-preview{min-height:200px}
  .ab{padding:4px 18px 20px}
  .ml{padding:0 16px 14px}
}
/* mail form additions */
.ml-row input{flex:1;border:0;background:none;font:inherit;color:var(--mac-ink);padding:6px 0;outline:none;min-width:0}
.ml-row input::placeholder{color:#a1a1a6}
.ml-row input:focus-visible{box-shadow:0 2px 0 var(--mac-accent)}
.ml-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ml-consent{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:12px;line-height:1.4;color:var(--mac-ink2);cursor:pointer}
.ml-consent input{margin-top:2px;accent-color:var(--mac-accent)}
.ml-consent a{color:var(--mac-accent)}
.ml-err{margin:8px 0 0;font-size:12px;color:#d70015}
.ml-ok{width:44px;height:44px;border-radius:50%;background:#34c759;color:#fff;font-size:24px;display:grid;place-items:center}
/* documents */
.dc{display:grid;grid-template-columns:250px minmax(0,1fr);height:100%}
.dc-list{padding:8px;border-right:1px solid var(--mac-line);background:rgb(245 244 248/.7);overflow:auto}
.dc-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:none;text-align:left;cursor:default}
.dc-item svg{width:30px;height:30px;flex:none}
.dc-item b{display:block;font-size:13px;color:var(--mac-ink)}
.dc-item small{font-size:11.5px;color:var(--mac-ink2)}
.dc-item:hover{background:rgb(0 0 0/.04)}
.dc-item.on{background:var(--mac-accent)}.dc-item.on b,.dc-item.on small{color:#fff}
.dc-page{overflow:auto;padding:26px 34px 34px;font-size:14px;line-height:1.6;color:#2c2c2e}
.dc-page h1{font-size:22px;line-height:1.2;letter-spacing:-.02em;margin:0 0 12px;color:var(--mac-ink)}
.dc-page h2{font-size:15px;margin:20px 0 6px;color:var(--mac-ink)}
.dc-page p,.dc-page li{max-width:68ch}
.dc-page ul,.dc-page ol{padding-left:20px}
.dc-page mark{background:#fff3b0;padding:0 3px;border-radius:3px}
.dc-page a{color:var(--mac-accent)}
.doc-meta{font-size:12px;color:var(--mac-ink3)}
.dc-page details{border-bottom:1px solid var(--mac-line);padding:10px 0}
.dc-page summary{font-weight:600;cursor:pointer;color:var(--mac-ink)}
.dc-page details p{margin:8px 0 0}
#doc-overlay{position:fixed;inset:0;z-index:8500;display:grid;place-items:center;padding:16px;background:rgb(10 12 30/.45)}
#doc-overlay[hidden]{display:none}
.dov-box{position:relative;width:min(820px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 30px 80px rgb(0 0 0/.35)}
.dov-box nav{display:flex;gap:6px;overflow-x:auto;padding:14px 56px 12px 16px;border-bottom:1px solid var(--mac-line)}
.dov-box nav a{flex:none;padding:6px 12px;border-radius:999px;font-size:13px;color:#3c3c43;text-decoration:none;background:#f2f2f7}
.dov-box nav a.on{background:#3d5afe;color:#fff}
.dov-x{position:absolute;right:12px;top:10px;width:32px;height:32px;border:0;border-radius:50%;background:#f2f2f7;font-size:20px;cursor:pointer}
.ps-docs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-bottom:10px}
.ps-docs a,.ps-note a{color:var(--ps-blue,#3d5afe)}
@media (max-width:700px){.dc{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.dc-list{display:flex;gap:4px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--mac-line)}.dc-item{flex:none;width:auto}.dc-item small{display:none}.dc-page{padding:18px}}


/* Source: more.css */
/* =====================================================================
   KatOS · photo, skill map, wallpapers picker, plain website mode, iPhone layer
   ===================================================================== */

/* ---------- author photo / monogram ---------- */
.kat-photo{display:block;flex:none;border-radius:50%;object-fit:cover;background:#e9e2f7}
.kat-mono{display:grid;place-items:center;background:radial-gradient(120% 120% at 20% 10%,#f7e2ff,#a77ef0 60%,#6d4fe6);color:#fff;font-weight:600;letter-spacing:-.02em;box-shadow:inset 0 1px 0 rgb(255 255 255/.5)}
.n-hero{display:flex;align-items:center;gap:18px;margin-bottom:16px}
.n-hero h1{margin:0!important}
.n-photo{width:88px;height:88px;font-size:38px;box-shadow:0 6px 18px rgb(60 30 110/.18)}
.ab-photo{width:112px;height:112px;font-size:48px}
.ss-ava .kat-photo{width:40px;height:40px;font-size:18px}

/* ---------- skill map ---------- */
.sk{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;text-align:left}
.sk-group{border-radius:14px;background:#f5f5f7;padding:12px 14px 8px;box-shadow:inset 0 0 0 .5px rgb(0 0 0/.06)}
.sk-group h4{margin:0 0 6px;font-size:13px;font-weight:700;color:#1d1d1f}
.sk-group ul{list-style:none;margin:0;padding:0}
.sk-group li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;font-size:12.5px;color:#2c2c2e}
.sk-group li+li{border-top:1px solid rgb(0 0 0/.06)}
.sk-lv{flex:none;font-style:normal;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:9px;white-space:nowrap}
.sk-lv.l3{background:rgb(52 199 89/.16);color:#1d7a39}
.sk-lv.l2{background:rgb(142 91 216/.14);color:#5b3aa6}
.sk-lv.l1{background:rgb(255 159 10/.17);color:#9a5800}
.ab-legend{display:flex;gap:8px;justify-content:center;margin:0 0 12px}
.ab-sk{grid-template-columns:1fr}

/* ---------- wallpaper + mode pickers in Settings ---------- */
.ss-walls .ss-wall-img{background-size:cover;background-position:center}
.ss-upload{position:relative;cursor:pointer}
.ss-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ss-upload .ss-wall-img{display:grid;place-items:center;background:#f2f2f5;color:#8e8e93;font-size:26px;font-weight:300;box-shadow:inset 0 0 0 1.5px rgb(0 0 0/.12)}
.ss-upload:focus-within .ss-wall-img{box-shadow:0 0 0 3px var(--mac-accent)}
.ss-modes{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}
.ss-mode{border:0;background:none;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:0;cursor:default}
.ss-mode b{font-size:13px;font-weight:600;margin-top:4px}
.ss-mode small{font-size:12px;color:var(--mac-ink2)}
.ss-mode-img{display:block;width:100%;aspect-ratio:16/10;border-radius:10px;box-shadow:0 0 0 .5px rgb(0 0 0/.15);background-size:cover;background-position:center;position:relative;overflow:hidden}
.ss-mode-img.os{background-image:var(--wall-img)}
.ss-mode-img.os::after{content:"";position:absolute;left:30%;right:30%;bottom:8%;height:12%;border-radius:6px;background:rgb(255 255 255/.4);box-shadow:inset 0 0 0 .5px rgb(255 255 255/.6)}
.ss-mode-img.plain{background:#fbfaff;background-image:linear-gradient(#e7e1f3 0 0),linear-gradient(#efeaf8 0 0),linear-gradient(#efeaf8 0 0),linear-gradient(#cdbcf2 0 0);background-size:50% 9%,70% 5%,60% 5%,26% 9%;background-position:12% 22%,12% 40%,12% 50%,12% 66%;background-repeat:no-repeat}
.ss-mode.on .ss-mode-img{box-shadow:0 0 0 3px var(--mac-accent)}

/* ---------- iPhone layer ---------- */
.ios-status,.ios-home,.ios-back{display:none}
@media (max-width:700px){
  :root{--ios-top:calc(46px + env(safe-area-inset-top,0px))}
  html body .menubar,html body #desktop-apps,html body .desktop-bottom,html body #quick-note-corner{display:none!important}
  html body #desktop{height:100dvh;min-height:0}
  .ios-status{display:flex;position:fixed;top:0;left:0;right:0;z-index:9000;height:var(--ios-top);padding:env(safe-area-inset-top,0px) 28px 0 32px;align-items:center;justify-content:space-between;color:#fff;font:600 16px/1 var(--font-sans);pointer-events:none;transition:color .2s}
  .ios-island{display:none}
  .ios-sys{display:flex;align-items:center;gap:6px}
  .ios-sys svg{width:18px;height:12px;fill:currentColor;stroke:none}
  .ios-batt{position:relative;width:25px;height:12px;border:1.5px solid currentColor;border-radius:4px;opacity:.95}
  .ios-batt i{position:absolute;top:1.5px;bottom:1.5px;left:1.5px;right:4px;border-radius:1.5px;background:currentColor}
  .ios-batt::after{content:"";position:absolute;right:-4px;top:3px;width:2px;height:4px;border-radius:0 1px 1px 0;background:currentColor}
  html body.has-windows .ios-status{color:#111}

  /* widgets: two small squares */
  html body .desktop-widgets{position:absolute;left:22px;right:22px;top:calc(var(--ios-top) + 10px);width:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px;filter:none!important;opacity:1!important}
  html body .desktop-widgets .weather-widget,html body .desktop-widgets .calendar-widget{grid-column:auto;aspect-ratio:1;height:auto;min-height:0;border-radius:22px}
  html body .desktop-widgets .note-widget,html body .desktop-widgets .quest-widget{display:none}
  html body .calendar-widget{display:flex;flex-direction:column;padding:14px}
  html body .calendar-widget .calendar-grid{display:none}
  html body .calendar-widget .calendar-date{display:flex;flex-direction:column;gap:2px}
  html body .calendar-widget #calendar-day{font-size:52px;line-height:1}

  /* home grid */
  .ios-home{display:block;position:absolute;left:0;right:0;top:calc(var(--ios-top) + 10px + (100vw - 64px) / 2 + 30px);padding:0 16px}
  .ios-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 6px}
  .ios-app{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;padding:0;color:#fff;font-size:11.5px;font-weight:500;letter-spacing:-.01em;text-shadow:0 1px 4px rgb(0 0 0/.5);transition:transform .15s}
  .ios-app:active{transform:scale(.9)}
  .ios-app>span:last-child{max-width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ios-app .app-icon{width:62px;height:62px;border-radius:15px;filter:drop-shadow(0 4px 8px rgb(0 0 0/.18))}
  .ios-app .app-icon svg{width:100%;height:100%}
  .ios-folder,.ios-doc{background:linear-gradient(180deg,rgb(255 255 255/.92),rgb(232 236 244/.92));border-radius:15px;padding:10px 7px;box-shadow:inset 0 0 0 .5px rgb(255 255 255/.8)}
  .ios-doc{padding:6px}
  .ios-dots{display:flex;justify-content:center;gap:8px;margin-top:26px}
  .ios-dots i{width:7px;height:7px;border-radius:50%;background:rgb(255 255 255/.45)}
  .ios-dots i.on{background:#fff}

  /* dock: four apps on a glass shelf */
  html body .dock{left:12px;right:12px;transform:none;max-width:none;bottom:calc(10px + env(safe-area-inset-bottom,0px));justify-content:space-around;gap:0;padding:13px 14px;border-radius:34px}
  html body .dock .dock-button:not([data-open="projects"]):not([data-open="about"]):not([data-open="contact"]):not([data-open="settings"]),html body .dock .dock-divider{display:none!important}
  html body .dock .dock-button{padding:0}
  html body .dock .dock-button .app-icon{width:62px;height:62px}
  html body .dock .dock-label,html body .dock .dock-button.running::after{display:none}
  html body.has-windows .dock{display:none}

  /* apps open full screen */
  html body .window{position:fixed!important;left:0!important;top:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;min-width:0!important;border-radius:0!important;padding-top:var(--ios-top)!important;resize:none!important;animation:ios-open .34s cubic-bezier(.2,.8,.2,1)}
  html body .window.mac{border-radius:0!important}
  @keyframes ios-open{from{transform:translateY(48px) scale(.94);opacity:0}to{transform:none;opacity:1}}
  html body .window .traffic-lights,html body .window .window-hint{display:none!important}
  html body .window .window-head{height:48px;padding:0 16px;cursor:default}
  html body .window.w-finder .window-head,html body .window.w-notes .window-head,html body .window.w-settings .window-head{top:var(--ios-top)!important}
  html body .window.mac:not(.w-finder):not(.w-notes):not(.w-settings) .window-head{top:0!important}
  html body .window .window-title{left:96px;right:96px;font-size:16px;font-weight:600}
  .ios-back{display:flex;align-items:center;gap:4px;height:44px;border:0;background:none;padding:0 6px 0 0;color:var(--mac-accent);font-size:17px;font-weight:400;position:relative;z-index:6;cursor:pointer}
  .ios-back svg{width:10px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
  html body .mac-toolbar{left:104px!important}
  html body .window-content{padding-bottom:22px}
  html body .window::after{content:"";position:fixed;left:50%;bottom:8px;width:134px;height:5px;margin-left:-67px;border-radius:3px;background:rgb(0 0 0/.28);pointer-events:none;z-index:20}
  html body .terminal-window::after{background:rgb(255 255 255/.5)}
  html body .toast{top:calc(var(--ios-top) + 4px);bottom:auto;left:10px;right:10px;border-radius:24px;max-width:none}
  /* sidebar windows on phone: content starts below the nav row */
  html body .window.w-finder .mf,html body .window.w-notes .mn,html body .window.w-settings .ss{padding-top:52px}
}
.ios-app .app-icon:not(.ios-folder):not(.ios-doc){background:none!important;box-shadow:none!important;border:0!important}
html body.static-mode .toast{display:none}
/* icons carry their own margin (macOS icon grid), so size the boxes up a bit */
body .dock-button .app-icon,body .dock-trash .app-icon{width:58px;height:58px}
@media (max-width:700px){
  .ios-app .app-icon:not(.ios-folder):not(.ios-doc) svg,html body .dock .dock-button .app-icon svg{transform:scale(1.2)}
  body .dock-button .app-icon,body .dock-trash .app-icon{width:62px;height:62px}
}

/* =====================================================================
   Desk details matched to Kate's Mac: vertical Dock on the right, graphite folders,
   dark widgets with a clock, menu bar extras
   ===================================================================== */
.mb-batt{position:relative;display:inline-block;width:24px;height:11px;border:1.4px solid currentColor;border-radius:3.5px;opacity:.95}
.mb-batt i{position:absolute;top:1.4px;bottom:1.4px;left:1.4px;width:62%;border-radius:1.5px;background:currentColor}
.mb-batt::after{content:"";position:absolute;right:-3.6px;top:2.6px;width:1.8px;height:3.6px;border-radius:0 1px 1px 0;background:currentColor}
.icloud{width:13px;height:10px;margin-left:4px;vertical-align:-1px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.clock-widget{display:none}

@media (min-width:701px){
  html body .menubar{height:30px;font-size:14px}
  html body .menubar .menu-left{gap:20px}
  html body .menubar button{font-size:14px}
  html body .menubar #active-app{font-weight:700}

  /* desktop icons sit left of the Dock, labels bold like Finder */
  html body .desktop-apps{right:12px;top:10px}
  html body .desktop-app{font-weight:600;text-shadow:0 1px 3px rgb(0 0 0/.55)}
  html body .desktop-app .desktop-native{width:70px;height:56px}

  /* widgets: clock + note, weather, calendar, quest */
  html body .desktop-widgets{width:340px;grid-template-columns:1fr 1fr;gap:14px}
  .clock-widget{display:block;aspect-ratio:1;padding:10px!important;border-radius:24px!important;background:#fbfbfd!important;border:0!important;box-shadow:0 0 0 .5px rgb(0 0 0/.1),0 10px 30px rgb(16 8 36/.25)!important}
  .clock-widget svg{width:100%;height:100%;display:block}
  .ck-ticks rect{fill:#3a3a3c}
  .ck-nums text{font:600 13px var(--font-sans);fill:#1d1d1f;text-anchor:middle}
  .ck-h rect,.ck-m rect{fill:#1d1d1f}
  .ck-s rect,.ck-s circle{fill:#ff9500}
  html body .desktop-widgets .clock-widget{order:0}
  html body .desktop-widgets .note-widget{order:1}
  html body .desktop-widgets .weather-widget{order:2}
  html body .desktop-widgets .calendar-widget{order:3}
  html body .desktop-widgets .quest-widget{order:4;grid-column:1/-1;aspect-ratio:auto;min-height:96px}

  /* dark widget material, as on Kate's desktop */
  html body .desktop-widgets .weather-widget,html body .desktop-widgets .calendar-widget,html body .desktop-widgets .note-widget,html body .desktop-widgets .quest-widget{background:rgb(36 36 40/.8);color:#fff;border:0;backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);box-shadow:inset 0 0 0 .5px rgb(255 255 255/.14),0 12px 34px rgb(0 0 0/.3)}
  html body .desktop-widgets .weather-widget{height:auto;min-height:170px}
  html body .weather-widget .weather-open{padding:14px 16px 6px}
  html body .weather-widget #weather-temp{font-size:44px;font-weight:300}
  .weather-days{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:0 16px 14px;text-align:center;color:#fff}
  .weather-days:empty{display:none}
  .weather-days span{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px}
  .weather-days small{font-size:11px;color:rgb(255 255 255/.7);text-transform:capitalize}
  .weather-days i{font-style:normal;font-size:16px;line-height:1}
  html body .desktop-widgets .calendar-widget *{color:#fff}
  html body .desktop-widgets .calendar-widget #calendar-month,html body .desktop-widgets .calendar-widget #calendar-weekday{color:#ff453a}
  html body .desktop-widgets .calendar-widget #calendar-day{color:#fff}
  html body .desktop-widgets .calendar-widget .calendar-grid .calendar-weekhead{color:rgb(255 255 255/.55)}
  html body .desktop-widgets .calendar-widget .calendar-grid .today{background:#ff453a;box-shadow:0 0 0 3px #ff453a}
  html body .desktop-widgets .note-widget strong{color:#fff}
  html body .desktop-widgets .note-widget p{color:rgb(255 255 255/.72)}
  html body .desktop-widgets .note-widget .note-footer{color:rgb(255 255 255/.5)}
  html body .desktop-widgets .note-widget .widget-label{color:#ffd60a}
  html body .desktop-widgets .quest-widget .widget-label{flex-direction:row;justify-content:space-between;align-items:center;color:#c9a8ff}
  html body .desktop-widgets .quest-widget .widget-label span{color:#fff;font-size:20px}
  html body .desktop-widgets .quest-widget p{color:rgb(255 255 255/.7)}
  html body .desktop-widgets .quest-widget .progress-track{background:rgb(255 255 255/.14);margin-top:10px}
}
@media (min-width:701px) and (max-height:860px){
  html body .desktop-widgets .quest-widget{display:none}
}
@media (min-width:701px) and (max-height:720px){
  html body .desktop-widgets .calendar-widget{display:none}
}
.clock-widget svg,.clock-widget svg *{stroke:none}

/* ===== desktop: hello card, Up Next calendar, QR contacts (from references) ===== */
@media (min-width:701px){
  html body .desktop-widgets .note-widget{order:0;grid-column:1/-1;aspect-ratio:auto}
  html body .desktop-widgets .clock-widget{order:1}
  html body .desktop-widgets .quest-widget{order:2;grid-column:auto;aspect-ratio:1;min-height:0}
  html body .desktop-widgets .weather-widget{order:3}
  html body .desktop-widgets .calendar-widget{order:4}
  html body .desktop-widgets .quest-widget .widget-label{flex-direction:column;align-items:flex-start}
  html body .desktop-widgets .quest-widget .widget-label span{font-size:24px}
}
.hello-widget{display:flex!important;flex-direction:column;gap:8px;padding:16px!important}
.hw-top{display:flex;align-items:center;gap:10px}
.hw-top b{display:block;font-size:13px;color:#fff}
.hw-top small{font-size:11px;color:rgb(255 255 255/.6)}
.hw-ava{width:44px;height:44px;font-size:20px;border-radius:12px}
html body .hello-widget strong{font-size:28px!important;margin:2px 0 0!important;letter-spacing:-.03em}
html body .hello-widget p{font-size:12.5px!important;line-height:1.45}
.hw-tags{display:flex;flex-wrap:wrap;gap:5px}
.hw-tags i{font-style:normal;font-size:11px;padding:3px 8px;border-radius:9px;background:rgb(255 255 255/.12);color:#fff}
.hw-btn{align-self:flex-start;margin-top:4px;padding:7px 14px;border-radius:16px;background:#fff;color:#141a3a;font-size:12.5px;font-weight:600}
.hello-widget:hover .hw-btn{background:#dfe6ff}
/* Up Next calendar */
html body .desktop-widgets .calendar-widget{display:grid!important;grid-template-columns:1fr 1.15fr;gap:12px;padding:14px 16px!important;min-height:178px;height:auto!important}
.cw-today{display:flex;flex-direction:column;align-items:flex-start;gap:6px;cursor:pointer;min-width:0}
.cw-wd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#ff5a5f!important}
.cw-day{font-size:40px;font-weight:300;line-height:1;color:#fff}
.cw-pill{max-width:100%;font-size:11px;padding:3px 8px;border-radius:6px;background:rgb(255 255 255/.1);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cw-pill.green{background:rgb(48 209 88/.22);color:#7ee69a!important}
.cw-next{display:flex;flex-direction:column;gap:6px;min-width:0}
.cw-tm{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:rgb(255 255 255/.55)!important}
.cw-line{position:relative;display:flex;flex-direction:column}
.cw-line i{display:flex;align-items:center;gap:6px;height:24px;font-style:normal}
.cw-line i::after{content:"";flex:1;height:1px;background:rgb(255 255 255/.12)}
.cw-line em{width:14px;font-style:normal;font-size:10px;color:rgb(255 255 255/.5)!important}
.cw-event{position:absolute;left:20px;right:0;top:12px;height:54px;border:0;border-left:3px solid #ffd60a;border-radius:4px;background:rgb(255 214 10/.28);text-align:left;padding:4px 7px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.cw-event b{font-size:11px;color:#ffe066!important;line-height:1.25}
.cw-event small{font-size:10px;color:#ffe066!important;opacity:.85}
.cw-event:hover{background:rgb(255 214 10/.38)}
/* QR contacts */
.qr-widget{display:none}
@media (min-width:701px) and (min-height:820px){
  .qr-widget{display:block;position:absolute;right:130px;bottom:118px;width:330px;padding:14px 16px!important;border-radius:24px;background:rgb(36 36 40/.8);color:#fff;backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);box-shadow:inset 0 0 0 .5px rgb(255 255 255/.14),0 12px 34px rgb(0 0 0/.3);transition:filter .35s,opacity .35s}
  html body.has-windows .qr-widget{filter:saturate(.1);opacity:.62}
}
.qr-h{display:block;font-size:13px;font-weight:700;margin-bottom:10px}
.qr-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.qr-row a{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;text-decoration:none;font-size:11.5px}
.qr-row img{width:100%;aspect-ratio:1;border-radius:10px;background:#fff;padding:5px;transition:transform .2s}
.qr-row a:hover img{transform:scale(1.04)}
/* iPhone tiles for folder/doc in the same tinted style */
@media (max-width:700px){
  .ios-folder,.ios-doc{background:linear-gradient(180deg,#27315f,#0b0f24)!important;box-shadow:inset 0 0 0 .9px rgb(200 215 255/.35)!important}
}
@media (min-width:701px){
  html body .desktop-widgets{width:316px}
  html body .desktop-widgets .weather-widget{min-height:150px}
  html body .hello-widget p{font-size:12px!important}
  html body .hello-widget strong{font-size:24px!important}
  .qr-widget{right:16px!important;bottom:104px!important;width:300px!important}
}
@media (min-width:701px) and (max-height:900px){
  html body .desktop-widgets .quest-widget,html body .desktop-widgets .clock-widget{display:none}
}
.sk-lv.l1{background:rgb(142 91 216/.14);color:#5b3aa6}
@media (max-width:700px){
  html body .desktop-widgets .note-widget.hello-widget{display:none!important}
  html body .desktop-widgets .calendar-widget{display:flex!important;flex-direction:column;background:rgb(36 36 40/.82)!important;color:#fff;padding:14px!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
  html body .desktop-widgets .calendar-widget .cw-next{display:none}
  html body .desktop-widgets .calendar-widget .cw-day{font-size:52px}
  html body .desktop-widgets .calendar-widget .cw-pill{white-space:normal}
  html body .desktop-widgets .weather-widget{background:rgb(36 36 40/.82)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
}
/* photographic icons */
.png-icon{background:none!important;box-shadow:none!important;border:0!important;padding:0!important;overflow:visible}
.png-icon img{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 5px rgb(10 15 40/.35));-webkit-user-drag:none;user-select:none}
.ios-app .png-icon img,html body .dock .dock-button .png-icon img{transform:none}
.ps-png,.ps-step-ic img,.ps-skill-icons img{width:100%;height:100%;border-radius:22%}
.ps-skill-icons .ps-png{width:40px;height:40px}
img.ai{border-radius:22%}
.in-side img.ai{position:absolute;left:-26px;bottom:-26px;width:190px!important;height:190px!important;opacity:.18}
/* brand mark, wifi, weather locate */
.brand-km{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round;stroke-linejoin:round}
.brand-km path:nth-child(2){stroke:#9db4ff}
.wifi-icon{width:18px!important;height:14px!important;fill:currentColor!important;stroke:none!important}
.weather-locate{display:grid!important;place-items:center;font-size:0!important}
.weather-locate svg{width:12px;height:12px;fill:#fff;stroke:none}
/* Finder gallery view (Кейсы) */
.gv{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;height:100%;margin:-16px -20px -20px;padding:16px 20px 18px}
.gv-stage{display:flex;flex-direction:column;gap:12px;min-width:0}
.gv-preview{flex:1;min-height:220px;border-radius:14px;overflow:hidden;background:var(--tint);box-shadow:0 0 0 .5px rgb(0 0 0/.12),0 10px 26px rgb(20 20 50/.14);display:grid;cursor:zoom-in}
.gv-preview .project-preview{height:100%!important;min-height:220px}
.gv-strip{display:flex;gap:8px;justify-content:center;padding:4px}
.gv-thumb{width:70px;height:52px;padding:0;border:0;border-radius:7px;background:none;overflow:hidden;box-shadow:0 0 0 .5px rgb(0 0 0/.15);opacity:.7;cursor:default;transition:opacity .15s,box-shadow .15s}
.gv-thumb span{display:block;width:100%;height:100%;background:var(--tint);overflow:hidden}
.gv-thumb .project-preview{width:210px!important;height:158px!important;transform:scale(.333);transform-origin:0 0;padding:16px!important}
.gv-thumb:hover{opacity:1}
.gv-thumb.on{opacity:1;box-shadow:0 0 0 3px var(--mac-accent)}
.gv-info{overflow:auto;padding-left:16px;border-left:1px solid var(--mac-line)}
.gv-kind{font-size:11px;font-weight:600;color:var(--mac-ink3)}
.gv-info h3{margin:4px 0 2px;font-size:22px;letter-spacing:-.02em}
.gv-sub{font-size:12px;color:var(--mac-ink2)}
.gv-info dl{margin:12px 0 0}
.gv-info dt{font-size:11px;font-weight:600;color:var(--mac-ink3);margin-top:10px}
.gv-info dd{margin:2px 0 0;font-size:12.5px;line-height:1.5;color:#2c2c2e}
.gv-tags{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0}
.gv-actions{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:700px){.gv{grid-template-columns:1fr;height:auto}.gv-info{border:0;padding:0}.gv-preview,.gv-preview .project-preview{min-height:180px}}
/* Связь со мной */
.soc{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.lk{padding:6px 26px 22px}
.lk-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.lk-ava{width:64px;height:64px;font-size:28px}
.lk-head h2{margin:0 0 4px;font-size:24px;letter-spacing:-.02em}
.lk-head p{margin:0;font-size:13px;line-height:1.5;color:var(--mac-ink2);max-width:52ch}
.lk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lk-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:#f5f5f7;color:var(--mac-ink);text-decoration:none;box-shadow:inset 0 0 0 .5px rgb(0 0 0/.08);transition:transform .15s,box-shadow .15s}
.lk-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 .5px rgb(0 0 0/.08),0 10px 22px rgb(30 30 70/.12)}
.lk-top{display:flex;align-items:center;gap:10px}
.lk-top .soc{width:34px;height:34px;padding:7px;border-radius:10px;color:#fff;stroke-width:1.8}
.lk-telegram .soc{background:#2aabee}.lk-instagram .soc{background:linear-gradient(135deg,#7b5cff,#e1306c,#f5a623)}.lk-github .soc{background:#1d1d1f}
.lk-top b{display:block;font-size:14px}
.lk-top small{font-size:12px;color:var(--mac-ink2)}
.lk-card img{width:100%;aspect-ratio:1;border-radius:10px;background:#fff;padding:6px}
.lk-note{font-size:11.5px;color:var(--mac-ink2)}
.lk-foot{display:flex;gap:8px;margin-top:16px}
.ml-soc{margin-left:auto;display:flex;gap:4px}
.ml-soc a{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#3c3c43}
.ml-soc a:hover{background:var(--mac-fill);color:var(--mac-accent)}
@media (max-width:700px){.lk{padding:6px 16px 20px}.lk-grid{grid-template-columns:1fr}.lk-card img{width:150px;align-self:center}}
.png-icon{position:relative}
.cal-num{position:absolute;left:0;right:0;top:41%;text-align:center;font:600 calc(var(--cal,1) * 1em) var(--font-sans);font-size:38%;color:#33363f;line-height:1;pointer-events:none}
.png-icon .cal-num{font-size:clamp(14px,40cqw,40px)}
.png-icon{container-type:inline-size}

/* ===== iPhone: two swipeable home pages ===== */
@media (max-width:700px){
  .ios-home{top:var(--ios-top)!important;bottom:calc(112px + env(safe-area-inset-bottom,0px));padding:0!important;display:flex!important;flex-direction:column}
  .ios-pager{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ios-pager::-webkit-scrollbar{display:none}
  .ios-page{flex:0 0 100%;scroll-snap-align:start;padding:10px 16px 6px;overflow-y:auto;scrollbar-width:none}
  .ios-wslot{margin:0 6px 26px}
  html body .ios-wslot .desktop-widgets{position:static!important;width:auto!important;display:grid!important;grid-template-columns:1fr 1fr;gap:20px}
  .ios-p2top{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 6px 26px}
  .ios-hello-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;aspect-ratio:1;padding:14px;border:0;border-radius:22px;text-align:left;background:rgb(250 249 247/.86);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 10px 30px rgb(0 0 0/.25);color:#1d1d22}
  .ih-ava{width:46px;height:46px;border-radius:13px;font-size:22px}
  .ios-hello-card b{display:block;font-size:15px;letter-spacing:-.01em}
  .ios-hello-card small{display:block;margin-top:3px;font-size:11.5px;line-height:1.35;color:#5b5b66}
  .ios-cslot .clock-widget{display:block!important;width:100%;aspect-ratio:1}
  .ios-dots{display:flex;justify-content:center;gap:8px;padding:8px 0 4px;margin:0!important}
  .ios-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgb(255 255 255/.45)}
  .ios-dots button.on{background:#fff}
}

/* ===== widget typography like macOS widgets ===== */
:root{--font-widget:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",var(--font-sans)}
.weather-widget,.calendar-widget,.clock-widget,.cw-day,.ck-nums text{font-family:var(--font-widget)}
html body .weather-widget .weather-open{display:grid;grid-template-columns:1fr auto;grid-template-areas:"city icon" "temp sum" "temp range";align-items:start;gap:2px 10px;padding:14px 16px 8px!important;color:#fff;font-family:var(--font-widget)}
html body .weather-widget #weather-city{grid-area:city;font-size:15px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:5px}
html body .weather-widget #weather-temp{grid-area:temp;font-size:48px!important;font-weight:200!important;line-height:1;letter-spacing:-.02em}
html body .weather-widget #weather-icon{grid-area:icon;justify-self:end;font-size:22px;line-height:1}
html body .weather-widget #weather-summary{grid-area:sum;justify-self:end;font-size:13px;font-weight:600;text-align:right}
html body .weather-widget #weather-range{grid-area:range;justify-self:end;font-size:12px;font-weight:500;text-align:right;opacity:.9}
html body .weather-widget .weather-locate{right:auto!important;left:auto;top:auto;position:static!important;display:none!important}
html body .weather-widget .weather-days{font-family:var(--font-widget)}
.weather-days b{font-weight:600}
/* clock: clean face like macOS */
.clock-widget{padding:8px!important}
.ck-ticks rect{fill:#8e8e93}
.ck-nums text{font-size:16px!important;font-weight:600;fill:#1d1d1f}
.ck-h rect,.ck-m rect{fill:#1d1d1f}
.ck-s rect,.ck-s circle{fill:#ff9500}
html body .weather-widget .weather-open{grid-template-areas:"city icon" "temp sum" "temp range"}
html body .weather-widget #weather-city::after{content:"";width:11px;height:11px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M14.2 1.8 1.9 7.3c-.6.3-.5 1.2.2 1.3l5 .9.9 5c.1.7 1 .8 1.3.2Z'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:700px){
  html body .ios-wslot .weather-widget .weather-open{grid-template-columns:1fr auto;grid-template-areas:"city icon" "temp temp" "sum sum" "range range";padding:12px 14px!important;gap:2px}
  html body .ios-wslot .weather-widget #weather-temp{font-size:42px!important;margin:4px 0}
  html body .ios-wslot .weather-widget #weather-summary,html body .ios-wslot .weather-widget #weather-range{justify-self:start;text-align:left;font-size:11.5px}
  html body .ios-wslot .weather-widget #weather-city{font-size:13px;min-width:0;overflow:hidden;white-space:nowrap}
  html body .ios-wslot .weather-days{display:none}
  .ios-cslot .clock-widget{background:#fbfbfd!important;border-radius:22px!important;padding:10px!important;box-shadow:0 10px 30px rgb(0 0 0/.25)!important;border:0!important}
  .ios-cslot .clock-widget svg{width:100%;height:100%;display:block}
  .ios-cslot .clock-widget svg *{stroke:none}
}
/* clock: lifelike analog face like the macOS widget */
.clock-widget svg rect,.clock-widget svg circle,.clock-widget svg text{stroke:none!important}
.ck-ticks .tk{fill:#b8b8bd}
.ck-ticks .tk-big{fill:#3a3a3c}
.ck-nums text{font-family:var(--font-widget)!important;font-size:17px!important;font-weight:600!important;fill:#1d1d1f!important;text-anchor:middle}
.ck-h rect,.ck-m rect{fill:#1d1d1f!important}
.ck-s rect,.ck-s circle{fill:#ff9500!important}
.ck-s .ck-pin{fill:#fff!important}
html body .clock-widget{background:#fdfdfd!important;border:0!important;box-shadow:0 10px 30px rgb(0 0 0/.25)!important}
/* phone: widgets the same size, dark navy */
@media (max-width:700px){
  html body .ios-wslot .desktop-widgets .weather-widget,html body .ios-wslot .desktop-widgets .calendar-widget{aspect-ratio:1!important;height:auto!important;min-height:0!important;max-height:none;border-radius:22px!important;background:linear-gradient(160deg,rgb(38 52 112/.9),rgb(18 24 62/.92))!important;box-shadow:inset 0 0 0 .5px rgb(255 255 255/.14),0 10px 30px rgb(0 0 0/.3)!important;overflow:hidden}
  html body .ios-wslot .desktop-widgets .calendar-widget{padding:14px!important;display:flex!important;flex-direction:column}
  html body .ios-wslot .weather-widget .weather-open{height:100%;align-content:start}
}

.ck-h rect{x:47.6px;width:4.8px}.ck-m rect{x:48.2px;width:3.6px}


/* Source: site.css */
/* =====================================================================
   KatOS · one-page portfolio ("Обычный сайт")
   Cool palette: navy, blue, violet. Handwritten notes and dashed cursors.
   ===================================================================== */
@font-face{font-family:"Caveat";src:url(fonts/Caveat-cyr.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Caveat";src:url(fonts/Caveat-lat.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2190-21FF,U+2661,U+2665}
:root{--ps-bg:#eef1fb;--ps-card:#ffffff;--ps-ink:#141a3a;--ps-ink2:#4b5272;--ps-muted:#7b819c;--ps-blue:#3d5afe;--ps-violet:#7b5cff;--ps-navy:#1b2250;--ps-line:#dfe4f6;--ps-hand:"Caveat","Segoe Print","Bradley Hand",cursive}
html body.static-mode .menubar,html body.static-mode #desktop,html body.static-mode #dock,html body.static-mode .ios-status,html body.static-mode #quick-note-corner,html body.static-mode .qr-widget{display:none!important}
html body.static-mode .toast{display:none}
#plain-site{position:fixed;inset:0;z-index:7000;overflow:auto;background:var(--ps-bg);background-image:radial-gradient(rgb(61 90 254/.09) 1px,transparent 1px);background-size:22px 22px;color:var(--ps-ink);font-family:var(--font-sans)}
#plain-site[hidden]{display:none}
#plain-site *{box-sizing:border-box}

/* header */
.ps-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:18px;padding:10px max(16px,calc((100vw - 1180px)/2));background:rgb(238 241 251/.82);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);box-shadow:0 1px 0 rgb(20 26 58/.06)}
.ps-me{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none;color:inherit;padding:6px 14px 6px 6px;border-radius:999px;background:#fff;box-shadow:0 4px 14px rgb(27 34 80/.08)}
.ps-me b{display:block;font-size:13px}
.ps-me small{font-size:11px;color:var(--ps-blue)}
.ps-ava-s{width:34px;height:34px;font-size:15px}
.ps-bar nav{display:flex;gap:6px}
.ps-bar nav a{padding:8px 14px;border-radius:999px;font-size:13px;color:var(--ps-ink2);text-decoration:none;background:#fff;box-shadow:0 2px 8px rgb(27 34 80/.05)}
.ps-bar nav a:hover{background:var(--ps-blue);color:#fff}
.ps-os{height:36px;padding:0 16px;border:0;border-radius:18px;background:var(--ps-ink);color:#fff;font-size:13px;font-weight:600;cursor:pointer}

.ps{max-width:1180px;margin:0 auto;padding:22px 16px 30px}
.ps-card{position:relative;background:var(--ps-card);border-radius:26px;padding:22px;box-shadow:0 10px 30px rgb(27 34 80/.07),0 0 0 1px rgb(27 34 80/.03)}
.ps-card h2{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:700}
.ps-num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ps-blue);color:#fff;font-style:normal;font-size:12px;font-weight:700;box-shadow:0 4px 10px rgb(61 90 254/.35)}
.ps-hand{font-family:var(--ps-hand);font-weight:600;color:var(--ps-blue);line-height:1.15}
.ps-btn{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:22px;background:#fff;color:var(--ps-ink);font-size:14px;font-weight:600;text-decoration:none;box-shadow:0 0 0 1px var(--ps-line)}
.ps-btn.primary{}
.ps-btn.light{background:#fff;color:var(--ps-navy);box-shadow:none}
.ps-btn:active,.ps-link:active{transform:scale(.98)}
.ps-dash{position:absolute;fill:none;stroke-width:2;stroke-dasharray:6 7;stroke-linecap:round;pointer-events:none}
.ps-cursor{position:absolute;display:flex;align-items:flex-start;gap:2px;pointer-events:none;animation:ps-float 6s ease-in-out infinite}
.ps-cursor svg{width:22px;height:22px;stroke:#fff;stroke-width:1.4;stroke-linejoin:round}
.ps-cursor b{margin-top:16px;padding:3px 9px;border-radius:9px 9px 9px 2px;font-size:11px;color:#fff}
.c-you svg{fill:var(--ps-violet)}.c-you b{background:var(--ps-violet)}
.c-kat svg{fill:#fff;stroke:var(--ps-blue)}.c-kat b{background:#fff;color:var(--ps-blue)}
@keyframes ps-float{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-8px)}}


/* ===== KatOS one-page site, own layout ===== */
.ps-logo{width:22px;height:22px;fill:none;stroke:var(--ps-ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ps-logo path:nth-child(2){stroke:var(--ps-blue)}
.ps-me{padding:8px 16px 8px 12px!important}
.ps-me b{font-size:15px;letter-spacing:-.01em}
.pt{max-width:1120px;margin:0 auto;padding:10px 20px 30px}
.pt-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;padding:56px 0 70px}
.pt-hero-text{position:relative}
.pt-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;font-size:13px;font-weight:500;color:var(--ps-ink2);box-shadow:0 2px 10px rgb(27 34 80/.07)}
.pt-status i{width:8px;height:8px;border-radius:50%;background:#34c759;box-shadow:0 0 0 3px rgb(52 199 89/.2)}
.pt-hero h1{margin:18px 0 6px;font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.045em;font-weight:800;color:var(--ps-ink);text-wrap:balance}
.pt-role{margin:0;font-size:22px;font-weight:600;background:linear-gradient(90deg,var(--ps-blue),var(--ps-violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.pt-lead{margin:18px 0 0;max-width:46ch;font-size:17px;line-height:1.6;color:var(--ps-ink2)}
.pt-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pt-btn{display:inline-flex;align-items:center;text-decoration:none}
.pt-btn.primary{}
.pt-btn:hover{}
.pt-note{position:absolute;left:300px;bottom:-62px;margin:0;font-family:var(--ps-hand);font-weight:600;font-size:22px;line-height:1.1;color:var(--ps-blue);transform:rotate(-5deg)}
.pt-arrow{position:absolute;left:190px;bottom:-40px;width:110px;fill:none;stroke:var(--ps-blue);stroke-width:2;stroke-dasharray:5 6;stroke-linecap:round;stroke-linejoin:round}
.pt-hero-art{position:relative;height:420px}
.pt-win{position:absolute;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 30px 60px rgb(27 34 80/.18),0 0 0 1px rgb(27 34 80/.06)}
.pt-win .project-preview{height:calc(100% - 34px)!important;border-radius:0}
.pt-lights{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:#f5f6fb;border-bottom:1px solid var(--ps-line)}
.pt-lights i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.pt-lights i:nth-child(2){background:#febc2e}.pt-lights i:nth-child(3){background:#28c840}
.pt-lights b{margin-left:auto;margin-right:auto;font-size:12px;font-weight:500;color:var(--ps-muted);padding-right:36px}
.pt-win-back{right:0;top:0;width:64%;height:300px;transform:rotate(3deg)}
.pt-win-front{left:0;bottom:10px;width:72%;height:300px}
.pt-photo{position:absolute;right:6%;bottom:-10px;width:120px;height:120px;border-radius:30px;overflow:hidden;border:5px solid #fff;box-shadow:0 18px 40px rgb(27 34 80/.25)}
.pt-photo .ps-ava{width:100%!important;height:100%!important;aspect-ratio:auto!important;border-radius:0!important;font-size:52px!important}
.pt-sec{padding:64px 0;border-top:1px solid rgb(27 34 80/.07)}
.pt-tab{display:inline-block;font:500 13px var(--font-mono);color:var(--ps-blue);margin-bottom:8px}
.pt-sec h2{margin:0 0 28px;font-size:clamp(30px,3.6vw,44px);letter-spacing:-.035em;line-height:1.05}
.pt-work{display:flex;flex-direction:column;gap:22px}
.pt-case{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;align-items:center;padding:28px;border-radius:28px;background:#fff;box-shadow:0 14px 40px rgb(27 34 80/.07)}
.pt-case:nth-child(even){grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.pt-case:nth-child(even) .pt-case-art{order:2}
.pt-case-art{border:0;padding:24px;border-radius:20px;background:linear-gradient(140deg,#e9edff,#f3eeff);cursor:zoom-in}
.pt-case-art .mk{height:230px}
.pt-kicker{font-size:13px;color:var(--ps-muted)}
.pt-case h3{margin:6px 0 10px;font-size:30px;letter-spacing:-.03em}
.pt-case p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ps-ink2)}
.pt-tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.pt-tags span{font-size:12.5px;padding:5px 11px;border-radius:999px;background:#eef1ff;color:var(--ps-blue)}
.pt-link{border:0;background:none;padding:0;font-size:15px;font-weight:600;color:var(--ps-ink);cursor:pointer;border-bottom:2px dashed var(--ps-blue);padding-bottom:2px}
.pt-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
.pt-pack{position:relative;padding:26px 24px;border-radius:24px;background:#fff;box-shadow:0 10px 30px rgb(27 34 80/.06)}
.pt-pack.hot{background:var(--ps-ink);color:#fff;box-shadow:0 18px 40px rgb(20 26 58/.28)}
.pt-badge{position:absolute;top:-12px;left:24px;padding:4px 12px;border-radius:999px;background:linear-gradient(90deg,var(--ps-blue),var(--ps-violet));color:#fff;font-size:12px;font-weight:600}
.pt-pack h3{margin:0;font-size:17px}
.pt-pack b{display:block;margin:10px 0 12px;font-size:30px;letter-spacing:-.03em}
.pt-pack p{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--ps-ink2)}
.pt-pack.hot p,.pt-pack.hot small{color:rgb(255 255 255/.75)}
.pt-pack small{font-size:13px;color:var(--ps-muted)}
.pt-small{font-size:14px;color:var(--ps-muted);margin:0}
.pt-small a{color:var(--ps-blue)}
.pt-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;position:relative}
.pt-steps::before{content:"";position:absolute;left:4%;right:4%;top:28px;border-top:2px dashed rgb(61 90 254/.35)}
.pt-steps li{position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.pt-steps img{width:56px;height:56px;border-radius:14px;filter:drop-shadow(0 6px 12px rgb(27 34 80/.18))}
.pt-steps b{font-size:15px;margin-top:6px}
.pt-steps small{font-size:13px;line-height:1.4;color:var(--ps-muted)}
.pt-skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.pt-skill{padding:20px;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgb(27 34 80/.05)}
.pt-skill h3{margin:0 0 12px;font-size:15px}
.pt-skill p{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.pt-skill span{font-size:12.5px;padding:5px 10px;border-radius:9px;background:#f3f5fc;color:var(--ps-ink2)}
.pt-contact{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:center;margin-top:20px;padding:44px;border-radius:32px;background:var(--ps-ink);color:#fff;border:0}
.pt-contact h2{color:#fff;margin-bottom:12px}
.pt-contact p{margin:0;font-size:16px;line-height:1.6;color:rgb(255 255 255/.75)}
.pt-contact .pt-btn{}
.pt-contact .pt-btn.primary{}
.pt-qrs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pt-qrs figure{margin:0;text-align:center}
.pt-qrs img{width:100%;aspect-ratio:1;border-radius:14px;background:#fff;padding:8px}
.pt-qrs figcaption{margin-top:8px;font-size:13px;color:rgb(255 255 255/.8)}
.mk{position:relative;display:block;height:190px}
.mk-laptop{position:absolute;left:0;right:14%;top:8px;display:block}
.mk-screen{display:block;aspect-ratio:16/10;border-radius:10px 10px 4px 4px;border:6px solid #1c2033;overflow:hidden;background:#fff}
.mk-screen .project-preview,.mk-pscreen .project-preview{height:100%!important;width:100%;padding:8px}
.mk-base{display:block;height:9px;margin:0 -7%;border-radius:0 0 12px 12px;background:linear-gradient(#d9dde9,#aeb3c4)}
.mk-phone{position:absolute;right:0;bottom:6px;width:26%;aspect-ratio:9/18;border-radius:16px;border:4px solid #1c2033;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgb(27 34 80/.25)}
.mk-pscreen{display:block;width:100%;height:100%}
.mk-pscreen .project-preview{transform:scale(.62);transform-origin:center}
.ps-foot{padding:24px 16px 40px;text-align:center;font-size:13px;color:var(--ps-muted)}
.ps-foot button{border:0;background:none;color:var(--ps-blue);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){
  .ps-bar nav{display:none}
  .pt-hero{grid-template-columns:1fr;padding:28px 0 50px;gap:30px}
  .pt-note,.pt-arrow{display:none}
  .pt-hero-art{height:300px}
  .pt-win-back,.pt-win-front{height:220px}
  .pt-case,.pt-case:nth-child(even){grid-template-columns:1fr;gap:20px;padding:18px}
  .pt-case:nth-child(even) .pt-case-art{order:0}
  .pt-packs,.pt-contact{grid-template-columns:1fr}
  .pt-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .pt-steps::before{display:none}
  .pt-contact{padding:26px}
  .pt-sec{padding:44px 0}
}
.pt-arrow{left:auto;right:calc(100% - 300px);bottom:-46px;width:90px;height:60px}

/* Updated portfolio contacts */
.lk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-phone{display:grid;place-items:center;min-height:160px;font-size:20px;font-weight:600}.lk-vk{border-color:#3978ef}.preview-shot{width:100%;height:100%;object-fit:cover}.preview-alkanes{position:relative;overflow:hidden;background:#eee5f8}@media(max-width:600px){.lk-grid{grid-template-columns:1fr}}


/* Source: ref.css */
/* =====================================================================
   KatOS · desktop after Kate's reference (light glass, numbered folders)
   ===================================================================== */
:root{--rf-glass:rgb(250 249 247/.8);--rf-glass-strong:rgb(251 250 248/.93);--rf-ink:#1d1d22;--rf-ink2:#5b5b66;--rf-line:rgb(30 30 50/.08);--rf-blue:#4f6ef5}
.fd-hint,.ref-right,.ref-mini,.ref-notes{display:none}
.ref-win,.ref-card{background:var(--rf-glass);color:var(--rf-ink);border-radius:20px;backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%);box-shadow:inset 0 0 0 .5px rgb(255 255 255/.7),0 0 0 .5px rgb(0 0 0/.08),0 16px 40px rgb(20 15 30/.22)}
.ref-win header,.ref-card header{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px 0 14px;border-bottom:1px solid var(--rf-line)}
.ref-win header b,.ref-card header b{flex:1;font-size:12.5px;font-weight:600;color:var(--rf-ink)}
.ref-card header b{font-size:13px}
.rw-lights{display:flex;gap:6px}
.rw-lights i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.rw-lights i:nth-child(2){background:#febc2e}.rw-lights i:nth-child(3){background:#28c840}
.rw-plus,.ref-card header button{border:0;background:none;font-size:18px;line-height:1;color:var(--rf-ink2);padding:2px 4px;cursor:pointer}

@media (min-width:1100px){
  /* folders: one row on top */
  html body.ref-desk .desktop-apps{left:50%;right:auto;top:14px;transform:translateX(-50%);display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:104px;gap:6px}
  html body.ref-desk .desktop-app{min-height:96px;font-size:12px;font-weight:500;color:#fff;text-shadow:0 1px 3px rgb(0 0 0/.55)}
  html body.ref-desk .desktop-app .icloud{display:none}
  html body.ref-desk .desktop-app .desktop-native{width:68px;height:54px}
  html body.ref-desk .desktop-app:hover,html body.ref-desk .desktop-app:focus-visible{background:rgb(255 255 255/.14);border-color:rgb(255 255 255/.2)}
  .fd-hint{display:block;position:absolute;left:50%;top:-6px;transform:translate(-50%,-100%);padding:4px 10px;border-radius:999px;background:var(--rf-blue);color:#fff;font-style:normal;font-size:11.5px;font-weight:600;white-space:nowrap;text-shadow:none;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
  html body.ref-desk .desktop-app:hover .fd-hint,html body.ref-desk .desktop-app:focus-visible .fd-hint{opacity:1;transform:translate(-50%,-110%)}
  html body.ref-desk .desktop-apps{top:44px}

  /* left column: profile + notes */
  html body.ref-desk .desktop-widgets{width:300px;top:16px;left:18px;display:flex;flex-direction:column;gap:14px}
  html body.ref-desk .desktop-widgets>.weather-widget,html body.ref-desk .desktop-widgets>.clock-widget,html body.ref-desk .desktop-widgets>.quest-widget{display:none!important}
  html body.ref-desk .desktop-widgets .hello-widget{background:var(--rf-glass)!important;color:var(--rf-ink)!important;box-shadow:inset 0 0 0 .5px rgb(255 255 255/.7),0 0 0 .5px rgb(0 0 0/.08),0 16px 40px rgb(20 15 30/.22)!important;padding:18px!important;gap:10px}
  html body.ref-desk .hello-widget .hw-top b{color:var(--rf-ink)}
  html body.ref-desk .hello-widget .hw-top small{color:var(--rf-ink2)}
  html body.ref-desk .hello-widget .hw-ava{width:64px;height:64px;border-radius:14px;font-size:28px}
  html body.ref-desk .hello-widget strong{color:var(--rf-ink)!important;font-size:34px!important;letter-spacing:-.035em}
  html body.ref-desk .hello-widget p{color:#3a3a44!important;font-size:13px!important;line-height:1.5}
  html body.ref-desk .hw-tags i{background:#fff;color:var(--rf-ink);box-shadow:0 0 0 .5px rgb(0 0 0/.1)}
  html body.ref-desk .hw-btn{background:var(--rf-ink);color:#fff;padding:9px 16px}
  html body.ref-desk .hello-widget:hover .hw-btn{background:#2d2d38}
  .ref-notes{display:block}
  .ref-notes ul{list-style:none;margin:0;padding:10px 16px 14px}
  .ref-notes li{border-bottom:1px solid rgb(30 30 50/.07)}
  .ref-notes label{display:flex;align-items:center;gap:10px;padding:5px 0;cursor:pointer;font-family:var(--ps-hand,"Caveat",cursive);font-weight:600;font-size:19px;color:#2a2a35}
  .ref-notes input{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;border-radius:4px;box-shadow:inset 0 0 0 1.5px #a7a9b8;background:#fff;flex:none;cursor:pointer;display:grid;place-items:center}
  .ref-notes input:checked{background:var(--rf-blue);box-shadow:none}
  .ref-notes input:checked::after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
  .ref-notes input:checked+span{color:#6b6b78}
  .ref-notes input:focus-visible{outline:2px solid var(--rf-blue);outline-offset:2px}

  /* right column: services + calendar */
  .ref-right{display:flex;flex-direction:column;gap:14px;position:absolute;right:18px;top:16px;width:320px;z-index:2;transition:filter .35s,opacity .35s}
  .ref-services{padding-bottom:8px}
  .rs-row{display:flex;align-items:center;gap:12px;width:calc(100% - 16px);margin:8px 8px 0;padding:10px 12px;border:0;border-radius:14px;background:rgb(255 255 255/.75);box-shadow:0 0 0 .5px rgb(0 0 0/.06);text-align:left;cursor:pointer;transition:background .15s,transform .15s}
  .rs-row:hover{background:#fff;transform:translateY(-1px)}
  .rs-row img{width:40px;height:40px;border-radius:10px;flex:none}
  .rs-row b{display:block;font-size:14.5px;color:var(--rf-ink)}
  .rs-row small{display:block;font-size:12px;line-height:1.4;color:var(--rf-ink2);margin-top:2px}
  html body.ref-desk .ref-right .calendar-widget{background:var(--rf-glass)!important;color:var(--rf-ink);box-shadow:inset 0 0 0 .5px rgb(255 255 255/.7),0 0 0 .5px rgb(0 0 0/.08),0 16px 40px rgb(20 15 30/.22)!important}
  html body.ref-desk .ref-right .calendar-widget *{color:var(--rf-ink)}
  html body.ref-desk .ref-right .calendar-widget .cw-wd{color:#ff3b30!important}
  html body.ref-desk .ref-right .calendar-widget .cw-day{color:var(--rf-ink)}
  html body.ref-desk .ref-right .calendar-widget .cw-tm,html body.ref-desk .ref-right .calendar-widget .cw-line em{color:var(--rf-ink2)!important}
  html body.ref-desk .ref-right .calendar-widget .cw-line i::after{background:rgb(30 30 50/.12)}
  html body.ref-desk .ref-right .calendar-widget .cw-pill{background:rgb(30 30 50/.07)}
  html body.ref-desk .ref-right .calendar-widget .cw-pill.green{background:rgb(52 199 89/.18);color:#1f8a3c!important}
  html body.ref-desk .ref-right .calendar-widget .cw-event{background:rgb(255 204 0/.3);border-color:#f5b800}
  html body.ref-desk .ref-right .calendar-widget .cw-event b,html body.ref-desk .ref-right .calendar-widget .cw-event small{color:#8a6400!important}

  /* mini terminal + video */
  .ref-mini{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;position:absolute;left:50%;transform:translateX(-50%);bottom:104px;width:min(760px,calc(100vw - 740px));z-index:1;transition:filter .35s,opacity .35s}
  .ref-term{background:rgb(22 22 28/.9);color:#e8e8ee}
  .ref-term header{border-color:rgb(255 255 255/.08)}
  .ref-term header b{color:#c9c9d4}
  .ref-term .rw-plus{color:#9a9aa8}
  .ref-term pre{margin:0;padding:10px 14px 12px;font:11.5px/1.5 var(--font-mono);color:#e8e8ee;white-space:pre-wrap;cursor:pointer;height:138px;overflow:hidden}
  .ref-term pre b{color:#7ee69a;font-weight:500}
  .rt-caret{display:inline-block;width:7px;height:13px;vertical-align:-2px;background:#e8e8ee;animation:rt-blink 1.1s steps(1) infinite}
  @keyframes rt-blink{50%{opacity:0}}
  .rv-body{position:relative;display:grid;place-items:center;width:100%;height:138px;border:0;padding:0;border-radius:0 0 20px 20px;overflow:hidden;background:linear-gradient(160deg,#cfd6ea,#9aa6c8);cursor:pointer}
  .rv-ava{position:absolute;inset:0;width:100%!important;height:100%!important;border-radius:0!important;font-size:60px!important;opacity:.85}
  .rv-play{position:relative;width:46px;height:46px;border-radius:50%;background:rgb(255 255 255/.85);box-shadow:0 6px 16px rgb(0 0 0/.25)}
  .rv-play::after{content:"";position:absolute;left:18px;top:14px;border-style:solid;border-width:9px 0 9px 14px;border-color:transparent transparent transparent #1d1d22}
  .rv-body small{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:11px;color:#fff;text-shadow:0 1px 3px rgb(0 0 0/.4)}
  html body.has-windows .ref-mini,html body.has-windows .ref-right{filter:none;opacity:1}

  /* windows: light warm glass like the reference */
  html body.ref-desk .window.mac{background:var(--rf-glass-strong);backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%)}
  html body.ref-desk .mac-sidebar{background:rgb(240 238 236/.85)}
  html body.ref-desk .mt-cap,html body.ref-desk .mt-search{background:rgb(255 255 255/.7)}
  html body.has-windows.ref-desk .desktop-widgets{filter:none;opacity:1}
}
@media (min-width:1100px) and (max-height:820px){.ref-mini{display:none}}
@media (min-width:1100px) and (max-height:760px){html body.ref-desk .ref-right .calendar-widget,.ref-notes{display:none}}
@media (prefers-reduced-motion:reduce){.rt-caret{animation:none}}
@media (min-width:1100px){
  html body.ref-desk .ref-right .calendar-widget{display:grid!important;grid-template-columns:1fr 1.25fr;gap:12px;padding:14px 16px!important;min-height:178px;height:auto!important;border-radius:20px;border:0}
  html body.ref-desk .ref-right .calendar-widget::before{display:none}
  .ref-term pre{font:11.5px/1.5 var(--font-mono)!important;color:#e8e8ee!important;background:none!important}
  /* compact case window: no sidebar, breadcrumb title */
  html body .window.compact .mac-sidebar{display:none}
  html body .window.compact .mf{grid-template-columns:minmax(0,1fr)}
  html body .window.compact .mac-toolbar{left:92px}
  html body .window.compact .gv{grid-template-columns:minmax(0,1fr) 270px}
}
html body .ref-mini .ref-term pre{font-family:var(--font-mono)!important;font-size:11.5px!important;line-height:1.5!important}
@media (min-width:1100px){
  html body.ref-desk .desktop-apps{grid-auto-columns:min(104px,calc((100vw - 700px) / 7))}
  html body.ref-desk .desktop-app{font-size:clamp(10.5px,.85vw,12px)}
  html body .window.compact .mf-content{overflow:hidden;padding-bottom:12px}
  html body .window.compact .gv{height:calc(100% + 28px)}
  html body .window.compact .gv-preview,html body .window.compact .gv-preview .project-preview{min-height:0}
  .ref-term pre,.rv-body{height:120px}
}
@media (min-width:1100px){html body.ref-desk .desktop-apps{grid-auto-columns:min(100px,calc((100vw - 700px) / 8))}html body.ref-desk .desktop-app{font-size:clamp(10px,.8vw,12px)}}
/* folders: two rows of four */
@media (min-width:1100px){
  html body.ref-desk .desktop-apps{top:40px!important;grid-auto-flow:row!important;grid-template-columns:repeat(4,96px)!important;grid-auto-columns:auto!important;gap:2px 8px!important}
  html body.ref-desk .desktop-app{min-height:88px;font-size:11.5px!important}
}
@media (min-width:1100px) and (max-height:1000px){.ref-mini{display:none!important}}


/* Source: portfolio-polish.css */
/* Kate Mokey — final layout rules, loaded after the legacy desktop themes. */
html body .menubar{height:30px!important;min-height:30px!important;padding:0 16px!important;font-size:12px!important}
html body .menubar button{font-size:12px!important;min-height:24px!important;padding-block:2px!important}
html body .menubar .menu-left{gap:16px!important}
html body .menubar .brand{display:grid;place-items:center;width:35px;flex:0 0 35px}
.km-symbol{display:block;width:38px;height:26px;flex-shrink:0;overflow:hidden}
.menubar .brand .km-symbol{width:32px!important;height:24px!important;}
.hw-identity{display:flex;flex-direction:column;gap:3px;min-width:0}
html body .hello-widget .hw-identity b{font-size:20px!important;line-height:1.15;color:#282326!important;letter-spacing:-.5px;white-space:nowrap}
html body .hello-widget .hw-identity small{display:block;font-size:11px;line-height:1.4;color:#73686d!important}
html body .hello-widget .hw-top{display:flex;align-items:center;gap:14px;min-width:0;margin-bottom:10px}
html body .hello-widget .hw-ava{width:64px!important;height:76px!important;flex:0 0 64px;object-fit:cover;object-position:50% 38%;border-radius:14px!important}
.kat-photo{object-fit:cover;object-position:50% 38%}
html body .n-photo{width:112px!important;height:140px!important;object-fit:cover;object-position:50% 38%;border-radius:18px!important}
html body .lk-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lk-card{min-width:0}.lk-card img{max-width:100%;object-fit:contain;background:white;border-radius:12px}
.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0;margin-top:18px;border-top:1px solid rgb(120 110 115/.2);text-align:left}
.contact-direct>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.contact-direct>div>span:first-child{font-size:12px;color:#756b70}
.contact-direct a{font-size:20px;line-height:1.4;letter-spacing:-.4px;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.contact-direct .email-pending{font-size:15px;color:#8b8085;line-height:1.8}
.case-album{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;padding:14px;gap:8px;background:#f5f2ef;border-radius:15px}
.album-main{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;border:0;border-radius:10px;background:#e9e5e1;cursor:zoom-in;padding:0}
.album-main img{width:100%;height:100%;max-height:340px;object-fit:contain}
.album-caption{font-size:12px;color:#655f5b;margin:0;text-align:center}
.album-thumbs{display:flex;gap:7px;overflow:auto;flex-shrink:0;padding:3px}
.album-thumbs button{width:62px;height:48px;flex-shrink:0;border:2px solid transparent;border-radius:7px;padding:0;overflow:hidden;cursor:pointer}
.album-thumbs button[aria-pressed=true]{border-color:#82736d}
.album-thumbs img{width:100%;height:100%;object-fit:cover}
.photo-viewer{width:min(1100px,94vw);max-width:94vw;height:min(820px,90vh);max-height:90vh;border:0;border-radius:20px;background:#f8f6f3;padding:42px 55px 20px;color:#302d2b}
.photo-viewer::backdrop{background:rgb(15 13 12/.78);backdrop-filter:blur(8px)}
.photo-viewer figure{height:100%;margin:0;display:flex;flex-direction:column;gap:10px;align-items:center}
.photo-viewer figure img{width:100%;height:calc(100% - 32px);object-fit:contain;min-height:0}
.photo-viewer figcaption{font-size:13px;text-align:center}
.photo-viewer button{position:absolute;border:0;background:none;color:inherit;cursor:pointer;font-size:32px;width:40px;height:40px}
.viewer-close{top:5px;right:10px}.viewer-prev{left:5px;top:45%}.viewer-next{right:5px;top:45%}

/* Desktop composition based on the supplied reference. */
.ref-notes,.ref-mini{display:none!important}
.ref-contact{overflow:hidden}
.ref-contact header{gap:6px}
.rc-status{font-size:9px;color:#65836e;white-space:nowrap}
.rc-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}
.rc-primary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;background:#332d34;color:#fff;border-radius:11px;font-size:12px;font-weight:600;text-decoration:none}
.rc-links{display:flex;gap:18px}.rc-links a{font-size:12px;color:#695967;text-underline-offset:3px}
.rc-phone{font-size:14px;color:#332d34;text-decoration:none;letter-spacing:.1px}
.rs-arrow{margin-left:auto;color:#94858d;font-size:20px}

html body .menubar{background:rgb(193 222 244/.96)!important;color:#183d57!important;text-shadow:none!important;box-shadow:inset 0 -1px 0 rgb(255 255 255/.45)!important}
html body .menubar button{color:#183d57!important}
.menubar .brand .km-symbol{filter:brightness(0) saturate(100%)!important}
html body .menu-right{gap:12px!important;align-items:center}
html body .menubar .menu-contact{padding:3px 9px!important;border-radius:8px;background:rgb(255 255 255/.5);font-size:11px!important;white-space:nowrap}
html body.ref-desk .desktop-app .desktop-native svg{display:block!important;width:100%!important;height:100%!important;visibility:visible!important;opacity:1!important}
html body.ref-desk .desktop-app:hover .desktop-native{filter:brightness(1.08) drop-shadow(0 5px 5px #20354a30)}
@media(min-width:701px){
 html body.ref-desk #desktop{top:0!important;margin:0!important;min-height:0!important;display:grid!important;align-items:start}
 html body.ref-desk .desktop-widgets{grid-area:profile;position:relative!important;inset:auto!important;width:100%!important;flex-direction:column!important;filter:none!important;opacity:1!important;min-width:0}
 html body.ref-desk #desktop-apps{grid-area:folders;position:relative!important;inset:auto!important;transform:none!important;margin:0!important;grid-auto-flow:row!important;}
 html body.ref-desk #desktop-apps .desktop-app{position:relative!important;gap:7px;}
 html body.ref-desk #desktop-apps .desktop-native{display:block!important;flex-shrink:0}
 html body.ref-desk #desktop-apps .icloud{display:none}
 html body.ref-desk .desktop-widgets>.clock-widget,html body.ref-desk .desktop-widgets>.quest-widget{display:none!important}
 html body.ref-desk .desktop-widgets .hello-widget{display:flex!important;width:100%!important;height:auto!important;min-height:0!important;padding:22px!important;box-sizing:border-box;background:rgb(250 247 244/.94)!important;color:#282326!important;border-radius:22px!important;gap:10px;text-align:left}
 html body.ref-desk .hello-widget strong{color:#282326!important;line-height:1.2;margin:0!important}
 html body.ref-desk .hello-widget p{color:#62575d!important;margin:0!important}
 html body.ref-desk .hello-widget .hw-tags{display:flex;flex-wrap:wrap;}
 html body.ref-desk .hello-widget .hw-tags i{background:#e8edf1!important;color:#485c69!important;}
 html body.ref-desk .hello-widget .hw-btn{background:#342d33!important;color:#fff!important;margin-top:5px}
 html body.ref-desk .desktop-widgets>.ref-contact{position:relative!important;inset:auto!important;width:100%;background:rgb(250 247 244/.94)}
 html body.ref-desk .qr-widget{display:none!important}
 html body.ref-desk .ref-right{grid-area:sidebar;position:relative!important;inset:auto!important;width:100%!important;min-width:0;overflow:visible!important;filter:none!important;opacity:1!important}
 html body.ref-desk .ref-right>.ref-card,html body.ref-desk .ref-right>.calendar-widget,html body.ref-desk .ref-right>.weather-widget{flex-shrink:0;width:100%;box-sizing:border-box}
 html body.ref-desk .ref-services{padding-bottom:8px}
 html body.ref-desk .rs-row{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:7px 8px 0;padding:10px;border:0;border-radius:14px;background:rgb(255 255 255/.76);text-align:left;cursor:pointer}
 html body.ref-desk .rs-row img{width:38px;height:38px;flex:none}
 html body.ref-desk .rs-row b{display:block;font-size:12px;line-height:1.3;color:#302b31}
 html body.ref-desk .rs-row small{display:block;font-size:11px;line-height:1.4;color:#756b70;margin-top:3px}
 html body.ref-desk .ref-right .calendar-widget{display:grid!important;gap:10px;height:auto!important;position:relative!important;inset:auto!important;width:100%!important;border-radius:20px!important;background:var(--rf-glass)!important;color:#302b31!important}
 html body.ref-desk .ref-right .calendar-widget::before{display:none!important}
 html body.ref-desk .ref-right .calendar-widget .cw-day{font-size:44px!important;color:#302b31!important}

 html body.ref-desk .ref-right>.weather-widget{display:block!important;position:relative!important;inset:auto!important;min-height:170px!important;height:auto!important;border-radius:20px!important;background:linear-gradient(140deg,#c97aa3,#8a3f72)!important;color:white!important}
 html body.ref-desk #windows{position:absolute;inset:0;pointer-events:none}
 html body.ref-desk #windows>.window{pointer-events:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 140px)}
 html body.ref-desk .desktop-bottom{display:none}
}
@media(min-width:1150px){
 html body.ref-desk #desktop{grid-template-columns:minmax(260px,300px) minmax(340px,1fr) minmax(260px,300px);grid-template-areas:"profile folders sidebar";grid-template-rows:min-content;gap:24px}
}
@media(min-width:701px) and (max-width:1149px){
 html body.ref-desk .ref-right{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.ref-desk .ref-right .ref-services{grid-column:1/-1}
 html body.ref-desk .ref-right .calendar-widget{grid-template-columns:1fr!important}
 html body.ref-desk .ref-right .calendar-widget .cw-next{display:none!important}
 html body.ref-desk .ref-right .weather-widget{min-height:165px!important}
 html body .menubar .menu-left{gap:10px!important}
 html body .menubar [data-menu="edit"],html body .menubar [data-menu="window"]{display:none}
}
@media(min-width:701px) and (max-width:850px){
 html body.ref-desk #desktop{grid-template-columns:250px minmax(0,1fr);gap:18px;padding-inline:14px!important}
 html body.ref-desk #desktop-apps .desktop-native{width:64px!important;height:54px!important}
 html body.ref-desk .ref-right{grid-template-columns:1fr!important}
 html body .menubar [data-menu="go"],html body .menubar [data-menu="help"]{display:none}
 html body .menu-right{gap:8px!important}
}
@media(max-width:700px){
 .ref-right{display:none!important}
 html body .ios-wslot .desktop-widgets>.weather-widget{display:block!important}
 html body .ios-p2top>.ref-contact{display:block!important;grid-column:1/-1;width:100%;position:relative!important;inset:auto!important;text-align:left}
 html body .ios-page{overflow-y:auto;padding-bottom:100px}
}
/* Plain site: natural grids with no overlapping device mockups. */
#plain-site{--ps-bg:#f4f0eb;--ps-ink:#302a2e;--ps-ink2:#6c6167;--ps-muted:#84777e;--ps-blue:#806c7b;--ps-violet:#806c7b;--ps-line:#ddd4d7;background:#f4f0eb;background-image:none;overflow-x:hidden}
#plain-site .ps-bar{padding:14px max(24px,calc((100vw - 1120px)/2));gap:18px;}
#plain-site .ps-me{padding:0!important;background:none;box-shadow:none;border-radius:0;gap:9px;white-space:nowrap}
#plain-site .ps-me .km-symbol{width:43px;height:30px;filter:brightness(.35)}
#plain-site .ps-me b{font-size:18px;font-weight:600;letter-spacing:-.7px}
#plain-site .ps-bar nav{gap:3px}
#plain-site .ps-bar nav a{background:none;box-shadow:none;padding:8px;font-size:12px}
#plain-site .ps-os{flex-shrink:0;white-space:nowrap;background:#392f37}
#plain-site .pt{width:100%;max-width:1168px;padding:0 24px 48px}
#plain-site .pt-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);}
#plain-site .pt-hero h1{overflow-wrap:normal;word-break:normal}
#plain-site .pt-role{background:none;color:#806c7b;font-size:21px;margin-top:14px}
#plain-site .pt-lead{font-size:16px;}
#plain-site .pt-portrait{margin:0;min-width:0;display:flex;flex-direction:column;gap:12px}
#plain-site .pt-portrait img{display:block;width:100%;object-fit:cover;object-position:50% 40%;border-radius:24px}
#plain-site .pt-portrait figcaption{font-size:12px;color:#84777e;text-align:right}
#plain-site .pt-sec{scroll-margin-top:100px}
#plain-site .pt-case,#plain-site .pt-case:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:26px;align-items:center;border-radius:22px;box-shadow:none;border:1px solid #e8e0dd}
#plain-site .pt-case:nth-child(even) .pt-case-art{order:0}
#plain-site .pt-case-art{padding:0;position:relative;display:flex;flex-direction:column;gap:12px;text-align:left;overflow:hidden;border-radius:14px}
#plain-site .pt-project-image{display:block;width:100%;height:290px;object-fit:contain;background:#e9e2dd}
#plain-site .pt-case-art>span{padding:0 16px 14px;color:#65555e;font-size:12px}
#plain-site .pt-case h3{font-size:29px;line-height:1.15}
#plain-site .pt-case p{font-size:14px;line-height:1.7}
#plain-site .pt-tags span{background:#f0e9ec;color:#75606d}
#plain-site .pt-packs{gap:18px;align-items:stretch}
#plain-site .pt-pack{border:1px solid #e5dce0;box-shadow:none}
#plain-site .pt-pack.hot{background:#3b3139;box-shadow:none}

#plain-site .pt-contact{padding:40px;}

#plain-site .pt-contact .contact-direct{margin:0;color:#fff;border-color:rgb(255 255 255/.2);width:100%}
#plain-site .contact-direct>div>span:first-child,#plain-site .contact-direct .email-pending{color:#d0c2cb}
#plain-site .ps-docs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
#plain-site .ps-docs a{color:#796570}
@media(max-width:999px){
 #plain-site .ps-bar nav{display:none}
 #plain-site .pt-hero{gap:30px}
 #plain-site .pt-portrait img{height:370px}
 #plain-site .pt-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
 #plain-site .pt-steps::before{display:none}
}
@media(max-width:700px){
 #plain-site .ps-bar{padding:12px 18px}
 #plain-site .ps-me b{font-size:16px}
 #plain-site .ps-os{font-size:11px;padding:0 12px}
 #plain-site .pt{padding:0 18px 28px}
 #plain-site .pt-hero{grid-template-columns:1fr;padding:32px 0 42px;gap:26px}
 #plain-site .pt-portrait img{height:380px;object-position:50% 38%}
 #plain-site .pt-case,#plain-site .pt-case:nth-child(even){grid-template-columns:1fr;padding:16px;gap:22px}
 #plain-site .pt-packs{grid-template-columns:1fr;gap:24px}
 #plain-site .pt-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 #plain-site .pt-contact{padding:24px;gap:24px}
 #plain-site .pt-qrs{gap:10px!important}
 #plain-site .pt-skills{grid-template-columns:1fr}
 .contact-direct{gap:18px}.contact-direct a{font-size:16px}
 html body .lk-grid{grid-template-columns:1fr}.lk-card img{width:170px}
 .photo-viewer{padding:42px 38px 20px}.album-main img{max-height:260px}
}

/* Fixed desktop composition: profile/contact/services — folders — calendar/weather. */
html body .menubar .menu-right{margin-left:auto!important;display:flex;justify-content:flex-end;gap:8px!important;width:auto!important;flex:0 0 auto}
html body .menubar #clock{margin-left:3px!important;padding-left:0!important;white-space:nowrap}
@media(min-width:701px){
 html body.ref-desk{overflow:hidden!important}
 html body.ref-desk #desktop{height:calc(100dvh - 30px)!important;overflow:hidden!important;box-sizing:border-box;grid-template-columns:clamp(230px,25vw,280px) minmax(0,1fr) clamp(205px,22vw,270px)!important;grid-template-areas:"profile folders sidebar"!important;grid-template-rows:minmax(0,1fr)!important;gap:clamp(14px,2vw,28px)!important;padding:16px 18px 98px!important;align-content:stretch!important}
 html body.ref-desk .desktop-widgets{height:100%!important;min-height:0;gap:10px!important;display:grid!important;align-content:stretch!important}
 html body.ref-desk .desktop-widgets>.hello-widget{min-height:0!important;height:100%!important;padding:14px 16px!important;gap:6px!important;justify-content:space-between}
 html body.ref-desk .hello-widget .hw-top{margin-bottom:0!important;gap:10px!important}
 html body.ref-desk .hello-widget .hw-ava{width:46px!important;height:52px!important;flex-basis:46px!important;border-radius:10px!important}
 html body.ref-desk .hello-widget .hw-identity b{font-size:18px!important}
 html body.ref-desk .hello-widget strong{font-size:24px!important}
 html body.ref-desk .hello-widget p{font-size:12px!important;line-height:1.45!important}
 html body.ref-desk .hello-widget .hw-tags{gap:4px!important;margin:0!important}
 html body.ref-desk .hello-widget .hw-tags i{font-size:9px!important;padding:3px 5px!important}
 html body.ref-desk .hello-widget .hw-btn{font-size:11px!important;padding:8px 10px!important;margin:0!important;align-self:flex-start}
 html body.ref-desk .desktop-widgets>.ref-contact{height:100%;min-height:0;display:flex!important;flex-direction:column}
 html body.ref-desk .ref-contact header{height:27px;min-height:27px;padding:0 12px;flex-shrink:0}
 html body.ref-desk .ref-contact header b{font-size:12px}
 html body.ref-desk .rc-body{padding:7px 12px 10px;flex:1;}
 html body.ref-desk .rc-primary{font-size:11px;padding:7px 10px}
 html body.ref-desk .rc-links a{font-size:11px}.rc-phone{font-size:12px}
 html body.ref-desk .desktop-widgets>.ref-services{height:100%;min-height:0;display:flex;flex-direction:column;padding-bottom:5px}
 html body.ref-desk .ref-services header{height:27px;min-height:27px;padding:0 12px}
 html body.ref-desk .ref-services header b{font-size:12px}
 html body.ref-desk .ref-services .rs-row{flex:1;min-height:0;gap:8px;padding:4px 8px!important;margin:4px 6px 0!important;width:calc(100% - 12px)!important;border-radius:9px}
 html body.ref-desk .ref-services .rs-row img{width:25px!important;height:25px!important}
 html body.ref-desk .ref-services .rs-row b{font-size:11px!important;line-height:1.25}
 html body.ref-desk .ref-services .rs-row small{display:none}
 html body.ref-desk .ref-right{display:flex!important;flex-direction:column!important;height:auto!important;max-height:100%!important;gap:14px!important;grid-template-columns:none!important}
 html body.ref-desk .ref-right .calendar-widget{min-height:170px!important;grid-template-columns:1fr 1.1fr!important;padding:12px!important}
 html body.ref-desk .ref-right .calendar-widget .cw-next{display:block!important}
 html body.ref-desk .ref-right .calendar-widget .cw-pill{font-size:9px;white-space:normal}
 html body.ref-desk .ref-right .weather-widget{min-height:165px!important}
 html body.ref-desk #desktop-apps{align-self:start;grid-template-columns:repeat(4,minmax(0,100px))!important;grid-template-rows:repeat(2,98px)!important;padding-top:20px}
 html body.ref-desk #desktop-apps .desktop-native{width:70px!important;height:57px!important}
 html body.ref-desk #desktop-apps .desktop-app{font-size:10px!important;}
}
@media(min-width:701px) and (max-width:1100px){
 html body.ref-desk #desktop-apps{grid-template-columns:repeat(2,minmax(0,110px))!important;grid-template-rows:repeat(4,94px)!important;gap:12px 8px!important}
 html body.ref-desk #desktop-apps .desktop-app{min-height:94px!important}
 html body.ref-desk .ref-right .calendar-widget{grid-template-columns:1fr!important;min-height:146px!important}
 html body.ref-desk .ref-right .calendar-widget .cw-next{display:none!important}
}
@media(min-width:701px) and (max-height:740px){
 html body.ref-desk #desktop{padding-top:12px!important;padding-bottom:86px!important}
 html body.ref-desk .desktop-widgets{gap:8px!important}
 html body.ref-desk .hello-widget strong{display:none!important}
 html body.ref-desk .hello-widget .hw-ava{height:42px!important;width:40px!important;flex-basis:40px!important}
 html body.ref-desk .hello-widget p{font-size:11px!important;line-height:1.35!important}
 html body.ref-desk .rc-body{gap:5px;padding-block:5px}
 html body.ref-desk .ref-services .rs-row img{width:22px!important;height:22px!important}
 html body.ref-desk #desktop-apps{padding-top:8px}
}

/* Review corrections: each left-hand card occupies the full column. */
@media(min-width:701px){
 html body.ref-desk .desktop-widgets{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(250px,1.7fr) minmax(115px,.72fr) minmax(160px,1fr)!important}
 html body.ref-desk .desktop-widgets>.hello-widget,html body.ref-desk .desktop-widgets>.ref-contact,html body.ref-desk .desktop-widgets>.ref-services{grid-column:1/-1!important;grid-row:auto!important;width:100%!important;box-sizing:border-box}
 html body.ref-desk .rc-body{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 10px}
 html body.ref-desk .rc-primary{white-space:nowrap;flex:1 1 auto}
 html body.ref-desk .rc-links{display:flex;gap:10px;flex:1 1 auto}
 html body.ref-desk .rc-phone{flex:0 0 100%;white-space:nowrap}
 html body.ref-desk #desktop-apps{display:flex!important;flex-flow:row wrap!important;justify-content:center!important;align-content:flex-start!important;gap:14px 6px!important;width:100%!important;min-width:0!important}
 html body.ref-desk #desktop-apps .desktop-app{flex:0 0 92px!important;width:92px!important;height:100px!important;min-height:100px!important;padding:7px 2px!important;box-sizing:border-box}
 html body.ref-desk #desktop-apps .desktop-app>span:last-child{white-space:normal!important;line-height:1.25!important}
}
@media(min-width:701px) and (max-height:740px){
 html body.ref-desk .desktop-widgets{grid-template-rows:minmax(210px,1.6fr) minmax(100px,.7fr) minmax(145px,1fr)!important}
}
html body .lk-vk .soc{background:#0077ff!important;color:#fff!important;stroke:#fff!important;border-radius:11px}
html body .mf-list{margin:0!important;min-width:0}
html body .mf-row{flex-shrink:0;min-height:38px;height:auto;padding:7px 12px;box-sizing:border-box;align-items:center}
html body .mf-headrow{position:static!important;min-height:32px;padding-block:6px}
html body .mf-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .welcome{background:#f8e8ee!important;color:#3a1a33!important;border-color:#a7cbe4!important}
html body .welcome form{background:linear-gradient(135deg,#edf7fe,#d4e9f8)!important;color:#3a1a33!important}
html body .welcome .welcome-mark{font-size:28px;font-weight:700;letter-spacing:-1px;color:#215779}
html body .welcome h2,html body .welcome .routes b{color:#3a1a33!important}
html body .welcome h2 em{color:#287cad!important}
html body .welcome p,html body .welcome small{color:#49687e!important}
html body .welcome .routes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
html body .welcome .routes button{background:#ffffffa6!important;border:1px solid #accfe6!important;color:#3a1a33!important;min-width:0}
html body .welcome .routes button:hover{background:#fff!important;border-color:#438dbb!important}
html body .welcome-skip{color:#3a1a33!important;border-color:#accfe6!important}
html body .terminal-page{background:#102b40!important;color:#fbe9f0!important;min-height:100%;box-sizing:border-box;border-radius:12px;padding:22px}
html body .terminal-page .terminal-banner,html body .terminal-page .terminal-form label{color:#86d2ff!important}
html body .terminal-page .terminal-line,html body .terminal-page .terminal-line.result{color:#fbe9f0!important;line-height:1.65}
html body .terminal-page input{color:#fff!important;background:transparent!important}
html body .terminal-page button{background:#28516e!important;color:#fff!important;border:1px solid #5689ab!important}
.site-screen{display:block;width:100%;height:100%;min-height:0;overflow:hidden;background:#090909}
.site-screen iframe{display:block;border:0;width:100%;height:100%;pointer-events:none;background:#090909}
.album-main:has(.site-screen){width:100%;height:380px;max-height:52vh;padding:0;overflow:hidden}
.album-main .site-screen{height:100%}
.photo-viewer figure:has(.site-screen){width:100%;margin:0}
.photo-viewer figure>.site-screen{height:72vh;border-radius:12px}
.photo-viewer .site-screen iframe{pointer-events:auto}
.photo-viewer figcaption{padding-top:10px}
.album-thumbs.screen-tabs{display:flex;flex-wrap:wrap;gap:6px}
.album-thumbs.screen-tabs button{width:auto!important;height:auto!important;min-height:34px;padding:6px 9px;font-size:11px;background:#f6e9ee;border:1px solid #ecd3dc;border-radius:8px;color:#4a2140}
.album-thumbs.screen-tabs button[aria-pressed=true]{background:#f6e3ea;border-color:#4a2140}
.project-preview.preview-live{padding:0!important;overflow:hidden;min-height:100px}
.project-preview.preview-live>.site-screen{height:100%;min-height:180px}
@media(max-width:700px){.photo-viewer figure:has(.site-screen){width:75vw}.welcome .routes button{padding:12px!important}}

html body .menubar #clock{min-width:0!important}

/* Service terms: compact in the installer, expanded on the regular site. */
.pricing-includes{padding-left:18px;margin:18px 0;font-size:13px;line-height:1.65}
.pricing-includes li+li{margin-top:6px}
.pricing-scope{font-size:12px!important;line-height:1.6!important}
.pricing-note{font-size:13px;line-height:1.65;color:#496174}
.pricing-offer{font-size:13px;line-height:1.65;padding:14px 16px;background:#f8e8ee;border:1px solid #c5deef;border-radius:12px;color:#214f70}
.pricing-support{margin-top:24px;padding:22px;background:#f2f7fb;color:#233e53;border-radius:16px;font-size:14px;line-height:1.65}
.pricing-support h3{margin:0 0 16px!important;font-size:22px}
.pricing-support h4{font-size:15px;margin:0 0 8px}
.pricing-support p{margin:10px 0}
.support-options{display:grid;gap:18px;margin-bottom:16px}
.support-options article{padding:16px;background:white;border-radius:12px}
.pricing-details{margin-top:18px;border-top:1px solid #d9e5ef;padding-top:12px}
.pricing-details summary{cursor:pointer;font-weight:600;color:#235f88}
.pricing-details .pricing-support{padding:14px;margin-top:12px;font-size:12px}
.pricing-details .pricing-support h3{font-size:16px}
.pricing-details .support-options{grid-template-columns:1fr;gap:8px}
html body .pt-pack .pt-btn{display:inline-flex;margin-top:8px}
html body .pt-pack.hot .pricing-scope{color:#e4eff8}
html body .pt-case-art>.site-screen{height:400px}
@media(max-width:700px){.support-options{grid-template-columns:1fr}.pricing-support{padding:16px}}

/* Keep long service content within the resizable installer window. */
html body .window.w-installer .window-content{display:flex;flex:1 1 0;min-height:0;overflow:hidden}
html body .w-installer .in{flex:1;min-height:0;height:100%;grid-template-rows:minmax(0,1fr);width:100%}
html body .w-installer .in-main{min-height:0;overflow:hidden}
html body .w-installer .in-pane{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:24px}
html body .w-installer .in-foot{flex:0 0 auto}
html body .w-installer .in-desc ul{columns:1;padding-left:20px}
html body #plain-site .pt-pack.hot .pt-btn{}
html body #plain-site .pt-pack.hot .pt-btn:hover{}
#plain-site #ps-services>.pt-small{margin:28px 0 0;padding-top:20px;border-top:1px solid #d8d1d5;line-height:1.7}
#plain-site .pt-contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px}
#plain-site .pt-contact .pt-qrs{width:100%;gap:12px}
#plain-site .pt-contact .contact-direct{grid-column:1/-1}
#plain-site .pt-contact h2{font-size:clamp(28px,3.3vw,44px)}
.pricing-support{container-type:inline-size}
.support-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.support-options h4{font-size:clamp(12px,3.5cqw,15px);white-space:nowrap;line-height:1.5}
@media(max-width:760px){#plain-site .pt-contact{grid-template-columns:1fr}#plain-site .pt-contact .pt-qrs{max-width:none}}

/* Shared brand: blue accent, neutral surfaces. Radius scale: 8 controls, 16 cards, 24 windows. */
:root{--km-accent:#4a2140;--km-soft:#f6e3ea;--km-ink:#3a1a33;--km-muted:#7a3d68;--km-paper:#fbf3f5;--km-line:#ecd3dc;--mac-accent:var(--km-accent);--mac-accent-soft:var(--km-soft);--accent-dark:var(--km-accent)}
html body #plain-site{--ps-bg:var(--km-paper);--ps-ink:var(--km-ink);--ps-ink2:var(--km-muted);--ps-muted:var(--km-muted);--ps-blue:var(--km-accent);--ps-violet:var(--km-accent);--ps-line:var(--km-line);background:var(--km-paper);color:var(--km-ink)}
#plain-site .ps-bar{background:#fbf3f5f5;border-color:var(--km-line);min-height:64px;padding-block:10px}
#plain-site .ps-bar nav{flex-wrap:nowrap}
#plain-site .ps-os,.rc-primary,html body.ref-desk .hello-widget .hw-btn{background:var(--km-accent)!important;color:#fff!important}
#plain-site .pt-hero{padding:40px 0 48px;gap:44px}
#plain-site .pt-hero h1{font-size:clamp(34px,4.5vw,58px);line-height:1.12;color:var(--km-ink)}
#plain-site .pt-status{color:var(--km-muted);background:none;padding:0}
#plain-site .pt-lead{color:var(--km-muted);line-height:1.6;max-width:45ch}
#plain-site .pt-portrait img{height:clamp(280px,47vh,380px)}
#plain-site .pt-tags span,#plain-site .pt-role{background:var(--km-soft);color:var(--km-accent)}
#plain-site .pt-case{border-color:var(--km-line);background:#fff}
#plain-site .pt-case-art{background:#f6e9ee}
#plain-site .pt-case-art>span:not(.site-screen){color:var(--km-muted)}
#plain-site .pt-pack,#plain-site .pt-pack.hot{background:#fff;color:var(--km-ink);border:1px solid var(--km-line);display:flex;flex-direction:column}
#plain-site .pt-pack.hot{border:2px solid var(--km-accent)}
#plain-site .pt-pack.hot p,#plain-site .pt-pack.hot small,html body #plain-site .pt-pack.hot .pricing-scope{color:var(--km-muted)}
#plain-site .pt-badge{background:var(--km-accent);color:#fff}
html body #plain-site .pt-pack .pt-btn,html body #plain-site .pt-pack.hot .pt-btn{margin-top:auto;align-self:flex-start;white-space:nowrap}
#plain-site .pt-pack .pricing-details{margin-bottom:20px}
#plain-site .pt-pack .pricing-details summary{color:var(--km-accent)}
.package-common{margin:24px 0;padding:18px 0;border-block:1px solid var(--km-line)}
.package-common h3{font-size:16px;margin:0 0 8px}.package-common p{font-size:14px;line-height:1.7;margin:0;color:var(--km-muted)}
#plain-site .pt-contact{background:var(--km-soft);color:var(--km-ink);border:1px solid var(--km-line)}
#plain-site .pt-contact h2,#plain-site .pt-contact p,#plain-site .pt-qrs figcaption,#plain-site .pt-contact .contact-direct,#plain-site .contact-direct>div>span:first-child,#plain-site .contact-direct .email-pending{color:var(--km-ink)}
#plain-site .pt-contact .pt-btn{}
#plain-site .pt-contact .pt-btn.primary{}
#plain-site .ps-docs a,#plain-site .ps-foot{color:var(--km-muted)}
html body.ref-desk .desktop-widgets .hello-widget,html body.ref-desk .desktop-widgets>.ref-contact{background:#fbf3f5f0!important}
html body.ref-desk .hello-widget p,html body .hello-widget .hw-identity small{color:var(--km-muted)!important}
.mac-tag{background:var(--km-soft);color:var(--km-accent)}
.service-picker .in-side{padding:18px 12px;background:#f8eef2;overflow:auto}
.service-picker .in-side h3{font-size:13px;margin:0 8px 16px}
.service-tabs{display:grid;gap:8px}.service-tabs button{border:1px solid transparent;border-radius:12px;padding:12px;text-align:left;background:transparent;color:var(--km-ink);display:grid;gap:4px}
.service-tabs button span{font-size:12px;color:var(--km-muted)}
.service-tabs button[aria-pressed=true]{background:#fff;border-color:var(--km-accent)}
.package-heading{display:grid;gap:5px;margin-bottom:16px}.package-heading h2{margin:0;font-size:25px}.package-heading strong{font-size:24px;color:var(--km-accent)}.package-heading>span{color:var(--km-muted)}
.package-highlights{padding-left:18px;line-height:1.8}.service-picker .in-foot{justify-content:flex-end;padding-top:12px}
html body .w-mail .window-content{overflow-y:auto}
.brief-intro{margin:0;padding:14px 20px;background:var(--km-soft);color:var(--km-ink);font-size:13px;line-height:1.6;flex-shrink:0}
.brief-task-label{display:block;padding:12px 0 0;font-size:13px;color:var(--km-ink)}
.brief-submit{align-self:flex-start;flex-shrink:0;margin:12px 0}
html body .ml{min-height:100%;height:auto;box-sizing:border-box}
html body .ml>textarea{min-height:110px;flex:1 0 110px}
html body .ml input::placeholder,html body .ml textarea::placeholder{color:#5f6d77;opacity:1}
.skill-evidence{font-size:13px;color:var(--km-muted);margin:5px 0 14px}
html body .pt-btn,html body .mac-btn{white-space:nowrap}
html body button:focus-visible,html body a:focus-visible,html body input:focus-visible,html body textarea:focus-visible,html body select:focus-visible,html body summary:focus-visible{outline:3px solid #4a2140;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html body *,html body *::before,html body *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){html body .menubar,html body .window,html body .ref-card,html body .hello-widget{backdrop-filter:none!important;background:#fbf3f5!important}}
@media(max-width:767px){
 #plain-site .pt-hero,#plain-site .pt-case,#plain-site .pt-case:nth-child(even),#plain-site .pt-packs,#plain-site .pt-contact{grid-template-columns:1fr}
 #plain-site .pt-hero{padding:28px 0 36px;gap:24px}
 #plain-site .pt-portrait img{height:300px}
 html body .service-picker{grid-template-columns:1fr}
 .service-picker .in-side{padding:10px;max-height:115px}.service-picker .in-side h3{display:none}
 .service-tabs{display:flex;gap:8px;overflow-x:auto}.service-tabs button{flex:0 0 150px;padding:8px}
 html body .w-installer .service-picker{grid-template-rows:auto minmax(0,1fr)}
 .service-picker .in-main{padding:8px 12px 12px}
 .contact-direct{grid-template-columns:1fr}
}
html body .site-screen{position:relative;padding:0!important;flex:none;max-width:100%;aspect-ratio:5/4}
html body .site-screen iframe{position:absolute;inset:0;width:1000px;height:800px;max-width:none;transform-origin:top left;pointer-events:none}
html body .album-main:has(.site-screen){height:auto;min-height:150px;max-height:none;background:#f6e9ee}
html body #plain-site .pt-case-art>.site-screen{height:auto}
html body .photo-viewer figure>.site-screen{height:auto;max-width:min(100%,88vh)}
html body .project-preview.preview-live>.site-screen{min-height:0}
.package-common ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0;padding-left:18px;font-size:14px;line-height:1.6;color:var(--km-muted)}
@media(max-width:767px){.package-common ul{grid-template-columns:1fr}}
@media(min-width:701px) and (max-height:620px){html body.ref-desk .desktop-widgets{overflow-y:auto;overscroll-behavior:contain}html body.ref-desk .ref-right{overflow-y:auto!important}}
@media(max-width:767px){html body .w-installer .service-picker .in-side{display:block;border-right:0;border-bottom:1px solid var(--mac-line);max-height:none;overflow:visible}html body .w-installer .service-picker .in-main{min-height:0}}
@media(max-width:767px){html body .w-installer .service-picker{grid-template-columns:minmax(0,1fr)!important}html body .w-installer .service-picker>*{min-width:0}}
html body .weather-widget .weather-open{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"city icon" "temp temp" "sum sum" "range range"!important}html body .weather-widget #weather-city{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html body .weather-widget #weather-summary,html body .weather-widget #weather-range{text-align:left!important}
@media(max-width:767px){
 html body .ios-p2top .ref-services{grid-column:1/-1;padding-bottom:8px}
 html body .ios-p2top .rs-row{display:flex;align-items:center;gap:12px;width:calc(100% - 16px);margin:8px 8px 0;padding:10px 12px;border:0;border-radius:14px;background:rgb(255 255 255/.78);text-align:left;color:#302b31}
 html body .ios-p2top .rs-row img{width:36px!important;height:36px!important;border-radius:9px;flex:none}
 html body .ios-p2top .rs-row b{display:block;font-size:14px;line-height:1.3;color:#302b31}
 html body .ios-p2top .rs-row small{display:block;font-size:12px;line-height:1.35;color:#5f5459;margin-top:2px}
 html body .ios-page{overflow-y:auto;overscroll-behavior:contain}
}


/* Source: brand.css */
/* =====================================================================
   Kate Mokey · фирменный стиль «Розовый код»
   Пыльно-розовый фон, слива для текста и кнопок, Comfortaa + Golos Text
   + JetBrains Mono. Подключается последним и переопределяет токены.
   ===================================================================== */
@font-face{font-family:"Golos Text";src:url(fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";src:url(fonts/golos-text-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Golos Text";src:url(fonts/golos-text-cyrillic-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";src:url(fonts/golos-text-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Golos Text";src:url(fonts/golos-text-cyrillic-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";src:url(fonts/golos-text-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Golos Text";src:url(fonts/golos-text-cyrillic-700-normal.woff2) format("woff2");font-weight:700 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";src:url(fonts/golos-text-latin-700-normal.woff2) format("woff2");font-weight:700 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Comfortaa";src:url(fonts/comfortaa-cyrillic-500-normal.woff2) format("woff2");font-weight:300 500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Comfortaa";src:url(fonts/comfortaa-latin-500-normal.woff2) format("woff2");font-weight:300 500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20BD}
@font-face{font-family:"Comfortaa";src:url(fonts/comfortaa-cyrillic-700-normal.woff2) format("woff2");font-weight:600 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Comfortaa";src:url(fonts/comfortaa-latin-700-normal.woff2) format("woff2");font-weight:600 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20BD}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-cyrillic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20BD}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-cyrillic-500-normal.woff2) format("woff2");font-weight:500 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");font-weight:500 700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20BD}

:root{
  --kb-rose:#e9dbe0;--kb-rose-2:#f2c6d6;--kb-paper:#fbf3f5;--kb-plum:#4a2140;--kb-plum-2:#5e2b52;
  --kb-berry:#93386f;--kb-mauve:#9b5a86;--kb-wine:#7a3d68;--kb-star:#c4577f;--kb-line:#ecd3dc;
  --kb-head:"Comfortaa","Golos Text",sans-serif;--kb-mono:"JetBrains Mono",ui-monospace,monospace;
  --km-accent:var(--kb-plum);--km-accent-hover:var(--kb-plum-2);--km-accent-active:#2e1428;
  --km-ink:#3a1a33;--km-muted:var(--kb-wine);--km-paper:var(--kb-paper);--km-soft:#f6e3ea;--km-line:var(--kb-line);
  --km-font:"Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--km-font-mono:var(--kb-mono);
  --font-sans:"Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-mono:var(--kb-mono);--font-widget:"Golos Text",-apple-system,BlinkMacSystemFont,sans-serif;
  --km-shadow:0 14px 40px rgb(74 33 64/.16)
}
html body{font-family:var(--font-sans)}
html body ::selection{background:var(--kb-rose-2);color:var(--kb-plum)}

/* ---------- рабочий стол ---------- */
html body .menubar{background:rgb(251 243 245/.62)!important;color:var(--kb-plum)}
html body .menubar *{color:inherit}
html body .ref-card,html body .hello-widget,html body .calendar-widget{background:rgb(251 243 245/.82)!important;box-shadow:0 18px 40px -18px rgb(74 33 64/.35),inset 0 0 0 1px rgb(255 255 255/.6)!important}
html body .weather-widget{background:linear-gradient(160deg,#c46b99,#8a3f72)!important}
html body .ref-card header b,html body .hello-widget h2,html body .hello-widget h1{font-family:var(--kb-head)}
html body .rs-row{background:rgb(255 255 255/.7)!important}
html body .rs-row b{color:var(--kb-plum)!important}
html body .desktop-apps .app-label,html body .desktop-apps button span:last-child{color:var(--kb-plum);text-shadow:0 1px 2px rgb(255 255 255/.7)}
html body #dock{background:rgb(251 243 245/.45)!important}
html body .window{box-shadow:0 30px 70px -20px rgb(74 33 64/.45),0 0 0 .5px rgb(74 33 64/.15)!important}
html body .window h1,html body .window h2{font-family:var(--kb-head);letter-spacing:-.01em}
html body .mac-btn.primary,html body button.primary{background:var(--kb-plum)!important;border-color:var(--kb-plum)!important;color:#fbf3f5!important}

/* ---------- обычный сайт ---------- */
#plain-site{--ps-bg:var(--kb-rose);--ps-card:var(--kb-paper);--ps-ink:var(--kb-plum);--ps-ink2:var(--kb-wine);--ps-muted:var(--kb-mauve);--ps-blue:var(--kb-berry);--ps-violet:var(--kb-berry);--ps-line:var(--kb-line);
  background:var(--kb-rose)!important;color:var(--kb-plum)!important;font-family:var(--font-sans)}
#plain-site::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3  0 0 0 0 .15  0 0 0 0 .25  0 0 0 .5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
#plain-site>*{position:relative;z-index:1}
#plain-site .ps-bar{background:rgb(233 219 224/.85)!important;box-shadow:0 1px 0 rgb(74 33 64/.08)!important}
#plain-site .ps-me{background:var(--kb-paper)!important}
#plain-site .ps-me b{font-family:var(--kb-head)}
#plain-site .ps-bar nav a{background:var(--kb-paper)!important;color:var(--kb-wine)!important;font-family:var(--kb-mono);font-size:12px}
#plain-site .ps-bar nav a:hover{background:var(--kb-plum)!important;color:var(--kb-paper)!important}
#plain-site .ps-os{background:var(--kb-plum)!important;font-family:var(--kb-mono);font-weight:500}
#plain-site h1,#plain-site h2,#plain-site h3{font-family:var(--kb-head)!important;color:var(--kb-plum)!important;letter-spacing:-.02em}
#plain-site h1{text-transform:lowercase}
#plain-site .pt-sec>h2{text-transform:lowercase}
#plain-site .pt-sec>h2::before{content:"// " attr(data-c);display:block;font:400 14px/1.4 var(--kb-mono);color:var(--kb-mauve);letter-spacing:0;text-transform:none;margin-bottom:8px}
#plain-site .pt-status{font-family:var(--kb-mono)!important;background:var(--kb-paper)!important;color:var(--kb-berry)!important;border-radius:999px}
#plain-site .pt-status::before{content:"// ";}
#plain-site .pt-lead,#plain-site p{color:var(--kb-wine)}
#plain-site .pt-btn{border-radius:999px!important;font-family:var(--kb-mono)!important;font-weight:500!important;background:var(--kb-paper)!important;color:var(--kb-plum)!important;border:1.5px solid var(--kb-plum)!important}
#plain-site .pt-btn.primary{background:var(--kb-plum)!important;color:var(--kb-paper)!important}
#plain-site .pt-btn:hover{background:var(--kb-plum-2)!important;color:var(--kb-paper)!important}
#plain-site .pt-portrait img{border-radius:28px!important;box-shadow:0 30px 60px -28px rgb(74 33 64/.55)}
#plain-site .pt-portrait{position:relative}
#plain-site .pt-portrait::after{content:"<img alt=«это я»>";position:absolute;left:-14px;bottom:28px;background:var(--kb-plum);color:var(--kb-paper);font:400 13px/1 var(--kb-mono);padding:9px 13px;border-radius:10px}
#plain-site .pt-case,#plain-site .pt-pack,#plain-site .pt-skill,#plain-site .package-common,#plain-site .support-options article,#plain-site .pt-contact{background:var(--kb-paper)!important;border-color:var(--kb-line)!important;border-radius:26px!important;box-shadow:0 24px 50px -30px rgb(74 33 64/.35)!important}
#plain-site .pt-pack.hot{border:2px solid var(--kb-plum)!important}
#plain-site .pt-badge{background:var(--kb-plum)!important;color:var(--kb-paper)!important;font-family:var(--kb-mono)}
#plain-site .pt-pack>b{font-family:var(--kb-head);color:var(--kb-plum)!important}
#plain-site .pt-tags span,#plain-site .pt-skill p span{background:#f6e3ea!important;color:var(--kb-wine)!important;font-family:var(--kb-mono);font-size:12px;border-radius:999px}
#plain-site .pt-kicker,#plain-site .skill-evidence,#plain-site small{color:var(--kb-mauve)!important}
#plain-site .pt-kicker{font-family:var(--kb-mono)}
#plain-site .pt-link,#plain-site a{color:var(--kb-berry)}
#plain-site .pt-contact{background:linear-gradient(160deg,var(--kb-paper),#f6e3ea)!important}
#plain-site .pt-steps li img{filter:saturate(.9)}
#plain-site .ps-foot{color:var(--kb-mauve)}
#plain-site .pricing-details summary{color:var(--kb-berry)}

/* ---------- телефон: короткая страница обо мне ---------- */
.kb-desk-note{display:none}
html body.kb-phone .ps-os,html body.kb-phone [data-mode="os"]{display:none!important}
html body.kb-phone #plain-site .ps-bar nav{display:none}
html body.kb-phone .kb-desk-note{display:flex;gap:12px;align-items:flex-start;margin:18px 16px 0;padding:14px 16px;border-radius:20px;background:var(--kb-plum);color:var(--kb-paper);font-size:14px;line-height:1.45}
html body.kb-phone .kb-desk-note b{display:block;font-family:var(--kb-head);font-size:15px;margin-bottom:2px;color:#fff}
html body.kb-phone .kb-desk-note span{color:#f2c6d6}
html body.kb-phone .kb-desk-note i{font-style:normal;font-size:22px;line-height:1}
/* на телефоне нет «айфона» и рабочего стола: только страница */
html body.kb-phone .ios-status,html body.kb-phone .ios-home,html body.kb-phone #desktop,html body.kb-phone .menubar,html body.kb-phone #dock{display:none!important}
@media(max-width:700px){
  #plain-site .pt-portrait::after{left:10px;bottom:14px}
}

/* правки после первого просмотра */
html body .menubar{background:rgb(251 243 245/.78)!important;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}
html body .cw-pill.green{background:#f6e3ea!important;color:var(--kb-berry)!important}
html body #dock .app-icon img,html body .ios-dock .app-icon img{filter:hue-rotate(105deg) saturate(.8)}
html body #dock [data-open="calendar"] img,html body #dock [data-open="settings"] img,html body #dock [data-open="trash"] img,html body #dock [data-open="notes"] img{filter:none}
html body .menubar{background:rgb(248 236 241/.94)!important;color:var(--kb-plum)!important}
html body #dock [data-open="services"] img{filter:hue-rotate(-20deg) saturate(.9)}
html body .rs-row img{filter:hue-rotate(105deg) saturate(.8)}
html body .rs-row[data-service-package="opt"] img{filter:hue-rotate(-20deg) saturate(.9)}
html body .rs-row[data-service-package="auto"] img{filter:none}
html body #dock [data-open="services"] img,html body .rs-row[data-service-package="opt"] img,html body .ios-app[data-open="services"] img{filter:grayscale(1) sepia(.6) hue-rotate(290deg) saturate(2.2) brightness(.95)!important}
#plain-site .pt-steps li img{filter:hue-rotate(105deg) saturate(.8)!important}
html body.kb-phone #plain-site .pt-qrs{display:none!important}
#plain-site .ps-me.kb-logo{background:none!important;box-shadow:none!important;padding:4px 0!important}
#plain-site .ps-me.kb-logo img{height:40px;width:auto;display:block}
#plain-site .pt-status{display:inline-block;padding:5px 12px!important;line-height:1.3}
html body .calendar-widget .cw-pill,html body .calendar-widget .cw-pill.green{color:#93386f!important;background:#f6e3ea!important}
html body.ref-desk .ref-right .calendar-widget .cw-pill.green{color:#93386f!important;background:#f6e3ea!important}

/* ---------- дизайн-система: шкалы (по итогам аудита) ---------- */
:root{
  --kb-fs-12:12px;--kb-fs-14:14px;--kb-fs-16:16px;--kb-fs-20:20px;--kb-fs-28:28px;--kb-fs-40:40px;--kb-fs-hero:clamp(40px,5vw,56px);
  --kb-price:"Golos Text",-apple-system,BlinkMacSystemFont,sans-serif;
  --kb-r-sm:12px;--kb-r-md:20px;--kb-r-lg:28px;--kb-r-pill:999px;
  --kb-shadow-card:0 24px 50px -30px rgb(74 33 64/.35);--kb-shadow-float:0 30px 60px -28px rgb(74 33 64/.55);
  --kb-tap:44px;--kb-section-y:clamp(56px,8vw,96px);
  --kb-paper-2:#f6e9ee
}


/* Source: brand-fx.css */
/* Kate Mokey · живые детали обычного сайта: пунктиры, звёздочки, курсор, бегущая строка.
   Всё видно сразу после загрузки; движение отключается при prefers-reduced-motion. */

/* ---------- первый экран ---------- */
#plain-site .pt-hero{position:relative}
#plain-site .kb-tag{display:block;font:400 15px/1.4 var(--kb-mono);color:var(--kb-berry);letter-spacing:0;text-transform:none}
#plain-site .kb-caret{display:inline-block;width:.08em;height:.9em;margin-left:.08em;vertical-align:-.08em;background:var(--kb-berry);border-radius:2px;animation:kb-blink 1.1s steps(1) infinite}
@keyframes kb-blink{50%{opacity:0}}

#plain-site .kb-star{position:absolute;pointer-events:none;color:var(--kb-star);line-height:1;animation:kb-twinkle 3.6s ease-in-out infinite}
#plain-site .kb-star:nth-of-type(2n){animation-delay:-1.2s}
#plain-site .kb-star:nth-of-type(3n){animation-delay:-2.3s}
@keyframes kb-twinkle{0%,100%{transform:scale(1) rotate(0);opacity:.95}50%{transform:scale(.55) rotate(25deg);opacity:.45}}

/* пунктирное кольцо вокруг фото */
#plain-site .pt-portrait{isolation:isolate}
#plain-site .kb-ring{position:absolute;z-index:-1;inset:-26px -22px;pointer-events:none}
#plain-site .kb-ring svg{width:100%;height:100%;overflow:visible}
#plain-site .kb-ring ellipse{fill:none;stroke:var(--kb-berry);stroke-opacity:.45;stroke-width:1.6;stroke-dasharray:3 9;stroke-linecap:round;animation:kb-march 18s linear infinite}
#plain-site .kb-ring .kb-ring-2{stroke-opacity:.25;stroke-dasharray:1 7;animation-duration:26s;animation-direction:reverse}
@keyframes kb-march{to{stroke-dashoffset:-240}}
#plain-site .kb-orbit{position:absolute;z-index:2;left:50%;top:50%;width:0;height:0;animation:kb-orbit 14s linear infinite;pointer-events:none}
#plain-site .kb-orbit i{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--kb-rose-2);box-shadow:0 0 0 4px rgb(251 243 245/.8);transform:translate(var(--orb-r,190px),0)}
@keyframes kb-orbit{to{transform:rotate(360deg)}}

/* ---------- бегущая строка ---------- */
#plain-site .kb-marquee{position:relative;overflow:hidden;margin:6px calc(50% - 50vw - 40px) 0;padding:14px 0;background:var(--kb-plum);color:var(--kb-paper);transform:rotate(-1.2deg)}
#plain-site .kb-marquee::before,#plain-site .kb-marquee::after{content:"";position:absolute;left:0;right:0;border-top:1.5px dashed rgb(242 198 214/.55)}
#plain-site .kb-marquee::before{top:6px}#plain-site .kb-marquee::after{bottom:6px}
#plain-site .kb-track{display:flex;width:max-content;gap:28px;animation:kb-run 32s linear infinite;font:500 17px/1 var(--kb-head);white-space:nowrap}
#plain-site .kb-track span{display:inline-flex;align-items:center;gap:28px}
#plain-site .kb-track b{font-weight:400;color:var(--kb-rose-2)}
@keyframes kb-run{to{transform:translateX(-50%)}}

/* ---------- заголовки разделов: пунктирная волна рисуется при появлении ---------- */
#plain-site .pt-sec{border-top:0!important;position:relative}
#plain-site .kb-divider{display:flex;align-items:center;gap:14px;margin:0 0 6px;color:var(--kb-star)}
#plain-site .kb-divider::before,#plain-site .kb-divider::after{content:"";flex:1;border-top:1.5px dashed rgb(147 56 111/.28)}
#plain-site .kb-divider span{font-size:14px;animation:kb-twinkle 4s ease-in-out infinite}
#plain-site .pt-sec>h2{position:relative;display:inline-block}
#plain-site .kb-wave{display:block;width:min(240px,70%);height:14px;margin-top:6px;overflow:visible}
#plain-site .kb-wave path{fill:none;stroke:var(--kb-berry);stroke-width:2;stroke-linecap:round;stroke-dasharray:4 7}
#plain-site .kb-wave path.kb-draw{stroke-dasharray:420;stroke-dashoffset:0;stroke:var(--kb-rose-2);stroke-width:6;opacity:.7}
#plain-site .kb-prep .kb-wave path.kb-draw{stroke-dashoffset:420}
#plain-site .kb-in .kb-wave path.kb-draw{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1)}

/* ---------- плавное появление блоков (контент виден и без него) ---------- */
#plain-site .kb-prep .kb-rise{transform:translateY(22px)}
#plain-site .kb-rise{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
#plain-site .kb-in .kb-rise{transform:none}
#plain-site .kb-in .kb-rise:nth-child(2){transition-delay:.08s}
#plain-site .kb-in .kb-rise:nth-child(3){transition-delay:.16s}

/* ---------- карточки: пунктирная обводка и подъём ---------- */
#plain-site .pt-case,#plain-site .pt-pack,#plain-site .pt-skill{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,outline-color .35s;outline:1.5px dashed transparent;outline-offset:7px}
#plain-site .pt-case:hover,#plain-site .pt-pack:hover,#plain-site .pt-skill:hover{transform:translateY(-4px);outline-color:rgb(147 56 111/.45)}
#plain-site .pt-case-art img,#plain-site .pt-case-art .site-screen{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
#plain-site .pt-case-art:hover img{transform:scale(1.03)}
/* тариф как билет: линия отрыва */
#plain-site .pt-pack>b{position:relative;display:block;padding-bottom:14px;margin-bottom:4px}
#plain-site .pt-pack>b::after{content:"";position:absolute;left:-6px;right:-6px;bottom:0;border-top:1.5px dashed rgb(147 56 111/.3)}
#plain-site .pt-pack .pt-btn{transition:transform .2s,background .2s}
#plain-site .pt-pack .pt-btn:hover{transform:translateX(3px)}

/* ---------- этапы: «бегущие муравьи» между шагами ---------- */
#plain-site .pt-steps::before{display:block!important;border:0!important;height:2px;top:28px;left:4%;right:4%;background:repeating-linear-gradient(90deg,var(--kb-berry) 0 6px,transparent 6px 14px);opacity:.45;animation:kb-ants 1.4s linear infinite}
@keyframes kb-ants{to{background-position:14px 0}}
#plain-site .pt-steps li img{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
#plain-site .pt-steps li:hover img{transform:translateY(-5px) rotate(-6deg)}
#plain-site .pt-steps li b::before{content:attr(data-n) " ";font:400 12px var(--kb-mono);color:var(--kb-mauve)}

/* ---------- контакты ---------- */
#plain-site .pt-contact{position:relative;overflow:visible!important}
#plain-site .kb-frame{position:absolute;inset:-10px;pointer-events:none;border-radius:34px}
#plain-site .kb-frame svg{width:100%;height:100%;overflow:visible}
#plain-site .kb-frame rect{fill:none;stroke:var(--kb-berry);stroke-opacity:.4;stroke-width:1.5;stroke-dasharray:6 8;animation:kb-march 22s linear infinite}
#plain-site .pt-contact .pt-btn.primary{position:relative}
#plain-site .pt-contact .pt-btn.primary::after{content:"";position:absolute;inset:-6px;border-radius:999px;border:1.5px dashed var(--kb-plum);opacity:0;transition:opacity .25s,inset .25s}
#plain-site .pt-contact .pt-btn.primary:hover::after{opacity:.6;inset:-9px}

/* ---------- плашка на телефоне ---------- */
html body.kb-phone .kb-desk-note{position:relative;overflow:hidden}
html body.kb-phone .kb-desk-note::after{content:"";position:absolute;inset:5px;border-radius:16px;border:1.5px dashed rgb(242 198 214/.45);pointer-events:none}
html body.kb-phone .kb-desk-note i{animation:kb-twinkle 3s ease-in-out infinite}

@media(max-width:767px){
  #plain-site .pt-steps::before{display:none!important}
  #plain-site .kb-orbit i{transform:translate(var(--orb-r-m,150px),0)}
  #plain-site .kb-ring{inset:-14px -10px}
  #plain-site .kb-track{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  #plain-site *,#plain-site *::before,#plain-site *::after,html body.kb-phone .kb-desk-note i{animation:none!important;transition:none!important}
  #plain-site .kb-prep .kb-rise{transform:none}
  #plain-site .kb-prep .kb-wave path.kb-draw{stroke-dashoffset:0}
}

/* ---------- без звёздочек: кодовые значки, ровная лента ---------- */
#plain-site .kb-star{display:none}
#plain-site .kb-glyph{position:absolute;pointer-events:none;font-family:var(--kb-mono);font-weight:500;line-height:1;color:var(--kb-berry);opacity:.55;animation:kb-float 6s ease-in-out infinite}
@keyframes kb-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
#plain-site .kb-marquee{transform:none!important;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
#plain-site .kb-track b{font-family:var(--kb-mono);font-size:14px}
#plain-site .kb-divider span{font-family:var(--kb-mono);font-size:12px;animation:none;color:var(--kb-berry);opacity:.7}
html body.kb-phone .kb-desk-note i{font-family:var(--kb-mono);font-size:14px;line-height:1.5;animation:none;color:var(--kb-rose-2)}
@media(prefers-reduced-motion:reduce){#plain-site .kb-glyph{animation:none}}
@media(max-width:700px){#plain-site .kb-glyph{display:none}#plain-site .kb-calc-lead{margin-top:6px}}


/* Source: brand-extras.css */
/* Kate Mokey · интерактивные блоки обычного сайта */
#plain-site{--kb-chip:#f6e3ea;--kb-bar:rgb(233 219 224/.86);--kb-hand:"Caveat","Segoe Print",cursive;
  --kb-g-front:#e58db4;--kb-g-back:#9a5ba0;--kb-g-data:#c97a8a;--kb-g-auto:#d9a35f;--kb-g-tool:#8aa39a}

/* ---------- ночной режим ---------- */
#plain-site[data-kb-theme="dark"]{color-scheme:dark;
  --kb-rose:#1c1220;--kb-paper:#2a1a2a;--kb-plum:#f7dce8;--kb-plum-2:#ffeaf3;--kb-berry:#f39cc4;--kb-mauve:#c99ab8;
  --kb-wine:#e6c1d5;--kb-rose-2:#5c2f52;--kb-line:#47293f;--kb-star:#f39cc4;--kb-chip:#3b2337;--kb-bar:rgb(28 18 32/.86);
  --km-ink:#f7dce8;--km-muted:#e6c1d5;--km-paper:#2a1a2a;--km-line:#47293f;--km-soft:#3b2337}
#plain-site[data-kb-theme="dark"]::before{opacity:.12;mix-blend-mode:screen}
#plain-site .ps-bar{background:var(--kb-bar)!important}
#plain-site .pt-tags span,#plain-site .pt-skill p span{background:var(--kb-chip)!important}
#plain-site .pt-contact{background:linear-gradient(160deg,var(--kb-paper),var(--kb-chip))!important}
#plain-site[data-kb-theme="dark"] .pt-case-art,#plain-site[data-kb-theme="dark"] .album-main{background:var(--kb-chip)!important}
#plain-site[data-kb-theme="dark"] .pt-case-art span{color:var(--kb-wine)!important}
html body.kb-phone #plain-site[data-kb-theme="dark"] .kb-desk-note b{color:var(--kb-paper)}
html body.kb-phone #plain-site[data-kb-theme="dark"] .kb-desk-note span{color:#5c2f52}
#plain-site[data-kb-theme="dark"] .pricing-details summary,#plain-site[data-kb-theme="dark"] .pricing-details{color:var(--kb-wine)}
#plain-site[data-kb-theme="dark"] .pt-steps li img,#plain-site[data-kb-theme="dark"] .pt-qrs img{box-shadow:none}
#plain-site[data-kb-theme="dark"] .pt-qrs figure{background:#fff;border-radius:16px}
#plain-site[data-kb-theme="dark"] .pt-qrs figcaption{color:#4a2140}
#plain-site[data-kb-theme="dark"] .ps-me.kb-logo img{filter:brightness(0) invert(.9) sepia(.25) hue-rotate(290deg)}
#plain-site .kb-theme{flex:none;width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--kb-paper);color:var(--kb-plum);cursor:pointer;box-shadow:0 2px 8px rgb(74 33 64/.08);transition:transform .3s}
#plain-site .kb-theme:hover{transform:rotate(-18deg)}
#plain-site .kb-theme svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#plain-site .kb-theme .kb-moon{fill:currentColor;stroke:none}
#plain-site .kb-sun,#plain-site[data-kb-theme="dark"] .kb-moon{display:none}
#plain-site[data-kb-theme="dark"] .kb-sun{display:block}
#plain-site,#plain-site .pt-case,#plain-site .pt-pack,#plain-site .ps-bar{transition:background-color .35s,color .35s}

/* ---------- полоска прокрутки ---------- */
#plain-site .ps-bar{position:sticky}
#plain-site .kb-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;pointer-events:none}
#plain-site .kb-progress i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,var(--kb-berry) 0 10px,transparent 10px 15px);border-radius:3px}

/* ---------- статус ---------- */
@keyframes kb-pulse{from{transform:scale(.6);opacity:.9}to{transform:scale(1.8);opacity:0}}

/* ---------- записки от руки и скотч ---------- */
#plain-site .kb-note{position:absolute;z-index:4;display:flex;align-items:flex-end;gap:2px;font-family:var(--kb-hand);font-weight:600;font-size:24px;line-height:1;color:var(--kb-berry);pointer-events:none;white-space:nowrap}
#plain-site .kb-note em{font-style:normal}
#plain-site .kb-note svg{width:56px;height:36px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#plain-site .pt-case{position:relative}
#plain-site .pt-pack.hot{position:relative}
#plain-site .pt-contact .pt-cta{position:relative}
#plain-site .kb-table{position:relative}
#plain-site .pt-case-art{position:relative;overflow:visible!important}

/* ---------- периодическая таблица навыков ---------- */
#plain-site .kb-table-lead{max-width:62ch;margin:0 0 22px;color:var(--kb-wine)}
#plain-site .kb-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px}
#plain-site .kb-cell{position:relative;aspect-ratio:1/1.08;max-width:100%;padding:0;border:0;background:none;cursor:pointer;perspective:700px;font:inherit;color:inherit;text-align:left}
#plain-site .kb-face{position:absolute;inset:0;display:flex;flex-direction:column;padding:10px 12px;border-radius:14px;background:var(--kb-paper);border:1.5px solid var(--kb-g, var(--kb-line));backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .6s cubic-bezier(.2,.8,.2,1);box-shadow:0 14px 26px -18px rgb(74 33 64/.5)}
#plain-site .kb-front{border-top-width:6px}
#plain-site .kb-front i{font:500 12px var(--kb-mono);font-style:normal;color:var(--kb-mauve)}
#plain-site .kb-front b{margin-top:auto;font:700 38px/1 var(--kb-head);color:var(--kb-plum);letter-spacing:-.02em}
#plain-site .kb-front span{font-size:13px;font-weight:500;color:var(--kb-plum);margin-top:4px}
#plain-site .kb-front small{font:400 11px var(--kb-mono);color:var(--kb-mauve)!important;margin-top:2px}
#plain-site .kb-back{transform:rotateY(180deg);background:var(--kb-g, var(--kb-plum));color:#2a1226;justify-content:space-between}
#plain-site .kb-back b{font:700 22px var(--kb-head)}
#plain-site .kb-back span{font-size:13px;line-height:1.35}
#plain-site .kb-cell:focus-visible{outline:3px solid var(--kb-berry);outline-offset:3px;border-radius:14px}
#plain-site .kb-g-front{--kb-g:var(--kb-g-front)}#plain-site .kb-g-back{--kb-g:var(--kb-g-back)}#plain-site .kb-g-data{--kb-g:var(--kb-g-data)}#plain-site .kb-g-auto{--kb-g:var(--kb-g-auto)}#plain-site .kb-g-tool{--kb-g:var(--kb-g-tool)}
#plain-site .kb-g-back .kb-back{color:#fff}
#plain-site .kb-legend{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:18px 0 0;font:400 12px var(--kb-mono);color:var(--kb-mauve)}
#plain-site .kb-legend li{display:flex;align-items:center;gap:7px}
#plain-site .kb-legend i{width:12px;height:12px;border-radius:3px;background:var(--kb-g)}

/* ---------- калькулятор ---------- */
#plain-site .kb-calc-lead{margin:-8px 0 24px;color:var(--kb-wine)}
#plain-site .kb-calc-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
#plain-site .kb-calc-form{display:flex;flex-direction:column;gap:18px;min-width:0}
#plain-site .kb-calc fieldset{margin:0;padding:18px;border:1.5px dashed rgb(147 56 111/.35);border-radius:22px;min-width:0}
#plain-site .kb-calc legend{padding:0 8px;font:500 13px var(--kb-mono);color:var(--kb-berry)}
#plain-site .kb-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
#plain-site .kb-chip{position:relative;cursor:pointer}
#plain-site .kb-chip input,#plain-site .kb-check input{position:absolute;opacity:0;pointer-events:none}
#plain-site .kb-chip>span{display:flex;flex-direction:column;gap:3px;height:100%;padding:12px 14px;border-radius:16px;background:var(--kb-paper);border:1.5px solid var(--kb-line);transition:border-color .2s,transform .2s,background .2s}
#plain-site .kb-chip b{font-size:15px;color:var(--kb-plum)}
#plain-site .kb-chip small{font-size:12px;color:var(--kb-mauve)!important}
#plain-site .kb-chip:hover>span{transform:translateY(-2px)}
#plain-site .kb-chip input:checked+span{border-color:var(--kb-plum);background:var(--kb-chip);box-shadow:inset 0 0 0 1px var(--kb-plum)}
#plain-site .kb-chip input:focus-visible+span,#plain-site .kb-check input:focus-visible+span{outline:3px solid var(--kb-berry);outline-offset:2px}
#plain-site .kb-check{display:flex;cursor:pointer;margin-bottom:16px}
#plain-site .kb-check>span{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--kb-plum)}
#plain-site .kb-check>span::before{content:"";flex:none;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--kb-plum);background:var(--kb-paper);transition:background .2s}
#plain-site .kb-check input:checked+span::before{background:var(--kb-plum) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='%23fbf3f5' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/16px no-repeat}
#plain-site .kb-check small{color:var(--kb-mauve)!important;font-size:13px}
#plain-site .kb-check.kb-off{opacity:.45;cursor:not-allowed}
#plain-site .kb-range label{display:block;font-size:15px;color:var(--kb-plum);margin-bottom:8px}
#plain-site .kb-range input{width:100%;accent-color:var(--kb-plum)}
#plain-site .kb-range small{display:block;margin-top:6px;font-size:13px;color:var(--kb-mauve)!important}
#plain-site .kb-calc-sum{position:sticky;top:90px;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:26px;background:var(--kb-plum);color:var(--kb-paper);box-shadow:0 30px 60px -30px rgb(74 33 64/.6)}
#plain-site .kb-calc-sum .kb-tag{color:var(--kb-rose-2)}
#plain-site[data-kb-theme="dark"] .kb-calc-sum .kb-tag{color:#93386f}
#plain-site .kb-calc-price{font:700 clamp(30px,4vw,42px)/1.05 var(--kb-head);color:var(--kb-paper);font-variant-numeric:tabular-nums}
#plain-site .kb-calc-time{font:400 14px var(--kb-mono);color:var(--kb-rose-2)}
#plain-site[data-kb-theme="dark"] .kb-calc-time{color:#93386f}
#plain-site #kb-c-list{margin:4px 0 6px;padding:10px 0 0 18px;border-top:1.5px dashed rgb(242 198 214/.4);font-size:14px;line-height:1.5}
#plain-site .kb-calc-sum .pt-btn.primary{background:var(--kb-paper)!important;color:var(--kb-plum)!important;border-color:var(--kb-paper)!important;text-align:center}
#plain-site .kb-calc-sum p{margin:0;font-size:12.5px;line-height:1.45;color:var(--kb-rose-2)}
#plain-site[data-kb-theme="dark"] .kb-calc-sum p{color:#5c2f52}
#plain-site .kb-calc-copied textarea{width:100%;margin-top:6px;padding:8px;border-radius:10px;border:0;font:13px/1.4 var(--font-sans);resize:none;background:var(--kb-paper);color:var(--kb-plum)}

/* ---------- дизайн / код ---------- */
#plain-site .kb-codebtn{display:inline-flex;vertical-align:middle;margin:0 0 0 14px;padding:3px;border:1.5px dashed rgb(147 56 111/.45);border-radius:999px;background:transparent;cursor:pointer;font:500 12px var(--kb-mono);color:var(--kb-mauve)}
#plain-site .kb-codebtn span{padding:5px 10px;border-radius:999px;transition:background .25s,color .25s}
#plain-site .kb-codebtn[aria-pressed="false"] span:first-child,#plain-site .kb-codebtn[aria-pressed="true"] span:last-child{background:var(--kb-plum);color:var(--kb-paper)}
#plain-site .pt-sec>h2+.kb-codebtn{position:relative;top:-6px}
#plain-site .kb-src{margin:12px 0 0;padding:20px 22px;max-height:560px;overflow:auto;border-radius:20px;background:#2a1226;color:#f6dbe7;font:400 13px/1.7 var(--kb-mono);white-space:pre;tab-size:2;box-shadow:inset 0 0 0 1.5px rgb(243 156 196/.25)}
#plain-site .kb-src t{color:#f39cc4}#plain-site .kb-src a{color:#d9a35f;text-decoration:none}#plain-site .kb-src s{color:#9fd4b8;text-decoration:none}#plain-site .kb-src x{color:#f6dbe7}#plain-site .kb-src c{color:#9c7f94;font-style:italic}
#plain-site .pt-hero .kb-codebtn{margin-left:8px}

/* ---------- живое превью ---------- */
#plain-site .pt-case-art iframe,#plain-site .pt-case-art img{transition:opacity .22s}
#plain-site .pt-case-art .kb-fade{opacity:0}
#plain-site .kb-live{position:absolute;z-index:3;left:12px;top:12px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgb(42 18 38/.78);color:#fbf3f5;font:400 11.5px var(--kb-mono);opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#plain-site .pt-case-art.kb-playing .kb-live,#plain-site .pt-case-art:hover .kb-live{opacity:1;transform:none}
#plain-site .kb-live-dot{width:7px;height:7px;border-radius:50%;background:#f39cc4;animation:kb-pulse-dot 1.2s ease-in-out infinite}
@keyframes kb-pulse-dot{50%{opacity:.35}}
#plain-site .kb-live-dots{display:flex;gap:3px}
#plain-site .kb-live-dots i{width:5px;height:5px;border-radius:50%;background:rgb(251 243 245/.35)}
#plain-site .kb-live-dots i.on{background:#fbf3f5}

/* ---------- курсор ---------- */
.kb-cur-dot,.kb-cur-ring{position:fixed;left:0;top:0;z-index:9000;pointer-events:none;opacity:0;transition:opacity .2s}
.kb-cur-dot{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#93386f}
.kb-cur-ring{width:38px;height:38px;margin:-19px 0 0 -19px}
.kb-cur-ring::before{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px dashed #93386f;animation:kb-spin 6s linear infinite;transition:transform .25s,background .25s}
@keyframes kb-spin{to{transform:rotate(360deg)}}
body.kb-cur-show .kb-cur-dot,body.kb-cur-show .kb-cur-ring{opacity:1}
body.kb-cur-link .kb-cur-ring::before{transform:scale(1.6);background:rgb(242 198 214/.35)}
body.kb-cur-down .kb-cur-ring::before{transform:scale(.8)}
body.kb-cur-text .kb-cur-dot,body.kb-cur-text .kb-cur-ring{opacity:0!important}
body.static-mode.kb-cur-show #plain-site.kb-cursor-on,body.static-mode.kb-cur-show #plain-site.kb-cursor-on *{cursor:none!important}
body.kb-cur-show #plain-site.kb-cursor-on input[type="text"],body.kb-cur-show #plain-site.kb-cursor-on textarea,body.kb-cur-show #plain-site.kb-cursor-on select,body.kb-cur-show #plain-site.kb-cursor-on input[type="range"]{cursor:auto!important}

/* ---------- узкие экраны ---------- */
@media(max-width:900px){
  #plain-site .kb-calc-grid{grid-template-columns:1fr}
  #plain-site .kb-calc-sum{position:static}
}
@media(max-width:700px){
  #plain-site .kb-cells{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #plain-site .kb-front b{font-size:28px}
  #plain-site .kb-front span{font-size:11.5px}
  #plain-site .kb-front small{display:none}
  #plain-site .kb-face{padding:8px 9px;border-radius:12px}
  #plain-site .kb-back b{font-size:16px}
  #plain-site .kb-back span{font-size:11px;line-height:1.3}
  #plain-site .kb-chips{grid-template-columns:1fr}
  #plain-site .kb-note{font-size:21px}
  #plain-site .kb-codebtn{margin:8px 0 0 0}
  #plain-site .pt-sec>h2+.kb-codebtn{top:0}
  #plain-site .kb-src{font-size:11.5px;padding:14px}
}
@media(prefers-reduced-motion:reduce){
  #plain-site .kb-face{transition:none}
}
#plain-site>.ps-bar{position:sticky!important;top:0;z-index:30!important}
#plain-site .ps-os{color:var(--kb-paper)!important}
#plain-site[data-kb-theme="dark"] .kb-check input:checked+span::before{background:var(--kb-plum) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='%232a1a2a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/16px no-repeat}
#plain-site .pt-case>*{min-width:0}
#plain-site .pt-case-art img{max-width:100%}
#plain-site{--kb-mauve:#86497a}
#plain-site[data-kb-theme="dark"]{--kb-mauve:#c99ab8}


/* ---------- правки после просмотра Кати ---------- */
/* дизайн / код */
#plain-site [data-kb-hide]{display:none!important}
#plain-site .pt-hero>.kb-src,#plain-site .pt-contact>.kb-src{grid-column:1/-1}
/* карточки навыков: переворот только по нажатию, обратно тоже */
#plain-site .kb-cell.kb-flip .kb-front{transform:rotateY(-180deg)}
#plain-site .kb-cell.kb-flip .kb-back{transform:rotateY(0)}
#plain-site .kb-cell:not(.kb-flip):hover .kb-front{transform:translateY(-3px);box-shadow:0 18px 30px -16px rgb(74 33 64/.55)}
#plain-site .kb-g-inter{--kb-g:#b47fd0}#plain-site .kb-g-opt{--kb-g:#7fb2b0}#plain-site .kb-g-edu{--kb-g:#b0927b}
#plain-site .kb-g-inter .kb-back,#plain-site .kb-g-edu .kb-back{color:#2a1226}
/* статус: точка не налезает на текст */
#plain-site .kb-status{display:inline-flex;align-items:center;gap:12px;margin-left:8px;padding:5px 14px 5px 12px;border-radius:999px;border:1.5px dashed rgb(147 56 111/.45);font:500 13px/1.3 var(--kb-mono);color:var(--kb-plum);vertical-align:middle}
#plain-site .kb-status i{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:#3fb27f}
#plain-site .kb-status i::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid #3fb27f;animation:kb-pulse 1.8s ease-out infinite}
@keyframes kb-pulse{from{transform:scale(.7);opacity:.9}to{transform:scale(1.6);opacity:0}}
/* записки: ровно, без наклона */
#plain-site .kb-note{transform:none!important}
#plain-site .kb-n-me{right:22px;top:-40px;flex-direction:row-reverse;align-items:flex-end}
#plain-site .kb-n-me svg{width:34px;height:30px}
#plain-site .kb-n-case{right:28px;top:-34px;flex-direction:row}
#plain-site .kb-n-case svg{width:34px;height:30px;transform:scaleX(-1)}
#plain-site .kb-n-hot{right:18px;top:-34px;flex-direction:row}
#plain-site .kb-n-hot svg{display:none}
#plain-site .kb-n-cta{left:0;top:-30px;flex-direction:row}
#plain-site .kb-n-cta svg{display:none}
#plain-site .kb-n-cta em::after{content:" ↓"}
/* плашка живого превью: текст по центру */
#plain-site .kb-live{align-items:center;height:26px;padding:0 12px;line-height:1}
#plain-site .kb-live-t{display:block;line-height:26px;white-space:nowrap}
#plain-site .kb-live-dots{align-items:center;height:26px}
#plain-site .kb-live-dot{flex:none}
@media(max-width:700px){
  #plain-site .kb-status{margin:8px 0 0}
  #plain-site .kb-n-me{right:12px;top:-36px}
}
@media(prefers-reduced-motion:reduce){#plain-site .kb-status i::after{animation:none}}
#plain-site .pricing-support{background:var(--kb-chip)!important;color:var(--kb-plum)!important}
#plain-site .pricing-support h3,#plain-site .pricing-support h4,#plain-site .pricing-support p,#plain-site .pricing-support b,#plain-site .pricing-support strong{color:var(--kb-plum)!important}
#plain-site .pricing-support .support-options article{background:var(--kb-paper)!important}
#plain-site .pricing-support p{color:var(--kb-wine)!important}
@media(prefers-reduced-motion:reduce){.kb-cur-ring::before{animation:none}}


/* Source: brand-system.css */
/* Kate Mokey · применение дизайн-системы к обычному сайту и окнам (итоги аудита).
   Подключается последним. Значения берутся из токенов --kb-* в brand.css. */
#plain-site[data-kb-theme="dark"]{--kb-paper-2:#33202f}

/* ---------- шрифты: шкала 12 / 14 / 16 / 20 / 28 / 40 ---------- */
#plain-site .pt-hero h1{font-size:var(--kb-fs-hero)!important;line-height:1.02!important}
#plain-site .pt-sec h2{font-size:var(--kb-fs-28)!important;line-height:1.1!important}
@media(min-width:900px){#plain-site .pt-sec h2{font-size:var(--kb-fs-40)!important}}
#plain-site .pt-sec>h2::before,#plain-site .pt-contact h2::before{font-size:var(--kb-fs-12)!important}
#plain-site .pt-case h3,#plain-site .pt-pack h3,#plain-site .pricing-support h3,#plain-site .kb-common h3,#plain-site .pt-skill h3{font-size:var(--kb-fs-20)!important;line-height:1.2}
#plain-site .pt-lead{font-size:var(--kb-fs-16)!important;line-height:1.55!important}
@media(min-width:900px){#plain-site .pt-lead{font-size:var(--kb-fs-20)!important}}
#plain-site .pt-case-text p,#plain-site .kb-table-lead,#plain-site .kb-calc-lead,#plain-site .pt-contact p{font-size:var(--kb-fs-16)!important;line-height:1.6!important}
#plain-site .pt-pack p,#plain-site .pt-pack li,#plain-site .pricing-support p,#plain-site .pricing-support li,#plain-site .support-options p,#plain-site .kb-common li,#plain-site .pricing-note,#plain-site .pt-small,#plain-site #kb-c-list,#plain-site .kb-calc-sum p,#plain-site .kb-range small,#plain-site .kb-check small,#plain-site .pt-steps small,#plain-site .pricing-details,#plain-site .pricing-scope{font-size:var(--kb-fs-14)!important;line-height:1.55!important}
#plain-site .pt-kicker,#plain-site .pt-pack small,#plain-site .pt-tags span,#plain-site .pt-skill p span,#plain-site .kb-legend,#plain-site .kb-calc legend,#plain-site .kb-calc-time,#plain-site .kb-tag,#plain-site .kb-chip small,#plain-site .kb-front i,#plain-site .kb-front small,#plain-site .kb-live,#plain-site .kb-status,#plain-site .pt-status,#plain-site .pt-badge,#plain-site .pt-case-art>span,#plain-site .ps-bar nav a,#plain-site .kb-desk-note,#plain-site .pt-steps li b::before{font-size:var(--kb-fs-12)!important}
#plain-site .pt-btn{font-size:var(--kb-fs-14)!important;min-height:var(--kb-tap);display:inline-flex!important;align-items:center;justify-content:center;padding:0 22px!important}
#plain-site .kb-chip b,#plain-site .kb-check>span,#plain-site .kb-range label,#plain-site .pt-steps b{font-size:var(--kb-fs-16)!important}
#plain-site .kb-front span{font-size:var(--kb-fs-14)!important}
#plain-site .kb-back span{font-size:var(--kb-fs-12)!important;line-height:1.35!important;overflow:auto}
#plain-site .ps-docs a,#plain-site .ps-foot p{font-size:var(--kb-fs-14)!important}
@media(max-width:700px){#plain-site .kb-front span{font-size:var(--kb-fs-12)!important}#plain-site .kb-back b{font-size:var(--kb-fs-14)!important}}

/* цены: Golos, чтобы «от» не читалось как «om» */
#plain-site .pt-pack>b,#plain-site .kb-calc-price,#plain-site .kb-calc-bar-sum,.w-installer .package-heading strong{font-family:var(--kb-price)!important;font-weight:700!important;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
#plain-site .pt-pack>b{font-size:var(--kb-fs-28)!important}

/* ---------- скругления и тени ---------- */
#plain-site .pt-case,#plain-site .pt-pack,#plain-site .pt-skill,#plain-site .kb-common,#plain-site .pt-contact,#plain-site .kb-terms,#plain-site .kb-calc-sum{border-radius:var(--kb-r-lg)!important}
#plain-site .support-options article,#plain-site .kb-chip>span,#plain-site .kb-calc fieldset,#plain-site .kb-src,#plain-site .pt-case-art,#plain-site .pricing-support{border-radius:var(--kb-r-md)!important}
#plain-site .kb-face,#plain-site .kb-step-ic{border-radius:var(--kb-r-sm)}
#plain-site .pt-case,#plain-site .pt-pack,#plain-site .pt-skill,#plain-site .kb-common,#plain-site .pt-contact,#plain-site .kb-terms,#plain-site .support-options article,#plain-site .kb-face{box-shadow:var(--kb-shadow-card)!important}
#plain-site .kb-calc-sum,#plain-site .pt-portrait img,#plain-site .kb-menu{box-shadow:var(--kb-shadow-float)!important}
#plain-site .pt-sec{padding-block:var(--kb-section-y)!important}

/* ---------- первый экран ---------- */
#plain-site .pt-hero-text{display:flex;flex-direction:column;align-items:flex-start}
#plain-site .pt-status,#plain-site .kb-status{display:inline-flex!important;align-self:auto;margin:0 8px 0 0!important}
#plain-site .pt-hero-text>.pt-status{margin-bottom:0!important}
#plain-site .kb-hero-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
#plain-site .kb-hero-row>*{margin:0!important}
#plain-site .kb-glyph~.kb-glyph{margin:-18px 0 0 -18px}
html body.kb-phone .kb-desk-note{display:flex!important;align-items:center;gap:10px;margin:12px 16px 0!important;padding:8px 14px!important;border-radius:var(--kb-r-pill)!important;background:var(--kb-chip)!important;color:var(--kb-plum)!important;line-height:1.35}
html body.kb-phone .kb-desk-note span{color:var(--kb-wine)!important}
html body.kb-phone .kb-desk-note i{font-size:var(--kb-fs-12)!important;color:var(--kb-berry)!important}
html body.kb-phone .kb-desk-note::after{display:none}
@media(max-width:700px){
  #plain-site .pt-hero{padding-top:20px!important}
  #plain-site .pt-cta{width:100%;flex-direction:column;align-items:stretch;gap:10px}
  #plain-site .pt-hero .pt-cta .pt-btn{width:100%}
}

/* ---------- тарифы: главная кнопка, лента на узких экранах, условия свёрнуты ---------- */
#plain-site .pt-pack.hot .pt-btn{background:var(--kb-plum)!important;color:var(--kb-paper)!important;border-color:var(--kb-plum)!important}
#plain-site .kb-rail-dots{display:none}
@media(max-width:899px){
  #plain-site .pt-packs{display:flex!important;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px 4px 8px!important;margin:0 -4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #plain-site .pt-packs::-webkit-scrollbar{display:none}
  #plain-site .pt-pack{flex:0 0 min(82%,340px);scroll-snap-align:center}
  #plain-site .kb-rail-dots{display:flex;justify-content:center;gap:8px;margin:6px 0 4px}
  #plain-site .kb-rail-dots i{width:8px;height:8px;border-radius:50%;background:var(--kb-line);transition:width .25s,background .25s}
  #plain-site .kb-rail-dots i.on{width:22px;border-radius:var(--kb-r-pill);background:var(--kb-plum)}
}
#plain-site .kb-common{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:20px 0!important;padding:16px 20px!important;background:var(--kb-paper)!important;border:0!important}
#plain-site .kb-common h3{margin:0!important;font-size:var(--kb-fs-14)!important;font-family:var(--kb-mono)!important;color:var(--kb-berry)!important;font-weight:500}
#plain-site .kb-common ul{display:flex!important;flex-wrap:wrap;gap:8px;padding:0!important;margin:0!important;list-style:none}
#plain-site .kb-common li{padding:6px 12px;border-radius:var(--kb-r-pill);background:var(--kb-chip);color:var(--kb-plum)!important}
#plain-site .kb-terms{margin-top:8px;background:var(--kb-paper);border:0}
#plain-site .kb-terms>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--kb-tap);padding:12px 22px;cursor:pointer;list-style:none;font:600 var(--kb-fs-16)/1.3 var(--font-sans);color:var(--kb-plum)}
#plain-site .kb-terms>summary::-webkit-details-marker{display:none}
#plain-site .kb-terms>summary::after{content:"+";font:400 22px/1 var(--kb-mono);color:var(--kb-berry);transition:transform .25s}
#plain-site .kb-terms[open]>summary::after{transform:rotate(45deg)}
#plain-site .kb-terms-body{padding:0 22px 22px}
#plain-site .kb-terms .pricing-support{margin-top:12px}

/* ---------- калькулятор: итог внизу экрана на телефоне ---------- */
#plain-site .kb-calc-bar{display:none}
@media(max-width:700px){
  #plain-site .kb-calc-bar{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px -16px calc(-1 * var(--kb-section-y));padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--kb-plum);color:var(--kb-paper);transition:transform .3s,opacity .3s}
  #plain-site .kb-calc-bar-sum{font-size:var(--kb-fs-20)!important;line-height:1.15}
  #plain-site .kb-calc-bar-sum small{display:block;font:400 var(--kb-fs-12) var(--kb-mono);color:var(--kb-rose-2)}
  #plain-site .kb-calc-bar .pt-btn{background:var(--kb-paper)!important;color:var(--kb-plum)!important;border-color:var(--kb-paper)!important}
  #plain-site .kb-sum-visible .kb-calc-bar{transform:translateY(110%);opacity:0;pointer-events:none}
}
#plain-site .pt-btn.kb-done{background:#3fb27f!important;border-color:#3fb27f!important;color:#fff!important}

/* ---------- общий переключатель кода и меню ---------- */
#plain-site .kb-codeall,#plain-site .kb-menu-btn{flex:none;height:var(--kb-tap);min-width:var(--kb-tap);border:0;border-radius:var(--kb-r-pill);display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--kb-paper);color:var(--kb-plum);cursor:pointer;font:500 var(--kb-fs-14)/1 var(--kb-mono);box-shadow:0 2px 8px rgb(74 33 64/.08)}
#plain-site .kb-codeall[aria-pressed="true"]{background:var(--kb-plum);color:var(--kb-paper)}
#plain-site .kb-theme{width:var(--kb-tap)!important;height:var(--kb-tap)!important}
#plain-site .kb-menu-btn{display:none;padding:0 16px}
#plain-site .kb-menu-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
#plain-site .kb-menu{position:absolute;right:max(16px,calc((100vw - 1180px)/2));top:calc(100% + 8px);z-index:40;display:flex;flex-direction:column;min-width:220px;padding:8px;border-radius:var(--kb-r-md);background:var(--kb-paper)}
#plain-site .kb-menu[hidden]{display:none}
#plain-site .kb-menu a{display:flex;align-items:center;min-height:var(--kb-tap);padding:0 14px;border-radius:var(--kb-r-sm);font:500 var(--kb-fs-16)/1 var(--font-sans);color:var(--kb-plum)!important;text-decoration:none}
#plain-site .kb-menu a:hover,#plain-site .kb-menu a:focus-visible{background:var(--kb-chip)}
@media(max-width:999px){#plain-site .kb-menu-btn{display:inline-flex}}
@media(max-width:700px){#plain-site .kb-codeall{display:none}#plain-site .kb-menu-btn span{display:none}#plain-site .kb-menu-btn{padding:0}}
#plain-site .pt-hero>.kb-src,#plain-site .pt-contact>.kb-src{grid-column:1/-1}

/* ---------- работы: подложки в розовом тоне, превью без чёрного кадра ---------- */
#plain-site .pt-case-art,#plain-site .site-screen{background:var(--kb-paper-2)!important}
#plain-site .pt-case-art>span:not(.kb-live){color:var(--kb-wine)!important}
#plain-site .site-screen iframe{transition:opacity .35s ease}

/* ---------- этапы: линейные иконки в кругах ---------- */
#plain-site .kb-step-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%!important;background:var(--kb-chip);border:1.5px solid var(--kb-line);position:relative;z-index:1}
#plain-site .kb-step-ic svg{width:24px;height:24px;fill:none;stroke:var(--kb-plum);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#plain-site .pt-steps li:hover .kb-step-ic{transform:translateY(-4px);transition:transform .3s}

/* ---------- нажимаемые области не меньше 44px ---------- */
#plain-site .pt-link{min-height:var(--kb-tap);display:inline-flex!important;align-items:center}
#plain-site .pricing-details>summary{min-height:var(--kb-tap);display:flex;align-items:center}
#plain-site .ps-docs a{min-height:var(--kb-tap);display:inline-flex;align-items:center;padding:0 6px}
#plain-site .ps-foot button{min-height:var(--kb-tap)}

/* ---------- тёмная тема: без светлых пятен ---------- */
#plain-site[data-kb-theme="dark"] .kb-calc-sum{background:var(--kb-chip)!important;color:var(--kb-plum)!important;box-shadow:inset 0 0 0 1.5px var(--kb-berry),var(--kb-shadow-float)!important}
#plain-site[data-kb-theme="dark"] .kb-calc-sum .kb-calc-price{color:var(--kb-plum)!important}
#plain-site[data-kb-theme="dark"] .kb-calc-sum .kb-tag,#plain-site[data-kb-theme="dark"] .kb-calc-time,#plain-site[data-kb-theme="dark"] .kb-calc-sum p{color:var(--kb-mauve)!important}
#plain-site[data-kb-theme="dark"] .kb-calc-sum .pt-btn.primary{background:var(--kb-berry)!important;border-color:var(--kb-berry)!important;color:#2a1226!important}
#plain-site[data-kb-theme="dark"] #kb-c-list{border-top-color:var(--kb-line)}
#plain-site[data-kb-theme="dark"] .kb-marquee{background:var(--kb-chip)!important;color:var(--kb-plum)!important}
#plain-site[data-kb-theme="dark"] .kb-track b{color:var(--kb-berry)!important}
#plain-site[data-kb-theme="dark"] .kb-calc-bar{background:var(--kb-chip);color:var(--kb-plum);box-shadow:0 -1px 0 var(--kb-line)}
#plain-site[data-kb-theme="dark"] .kb-calc-bar .pt-btn{background:var(--kb-berry)!important;border-color:var(--kb-berry)!important;color:#2a1226!important}
#plain-site[data-kb-theme="dark"] .kb-calc-bar-sum small{color:var(--kb-mauve)}

/* ---------- рабочий стол: подсказка над Dock ---------- */
@media(min-width:701px){
  html body:not(.static-mode) .toast{left:50%!important;right:auto!important;top:auto!important;bottom:112px!important;translate:-50% 0}
}

/* ---------- правки после проверки ---------- */
:root{--kb-section-y:clamp(44px,6vw,72px)}
#plain-site .kb-divider{gap:0!important}
#plain-site .kb-calc-bar-sum small,#plain-site small#kb-c-time2{color:var(--kb-rose-2)!important}
#plain-site[data-kb-theme="dark"] small#kb-c-time2{color:var(--kb-mauve)!important}
#plain-site .kb-back span{overflow:hidden!important}
#plain-site .pt-link{border-bottom:0!important;text-decoration:underline dashed;text-underline-offset:6px;text-decoration-thickness:1.5px}
#plain-site .pricing-details>summary{list-style:none;gap:10px;cursor:pointer}
#plain-site .pricing-details>summary::-webkit-details-marker{display:none}
#plain-site .pricing-details>summary::before{content:"+";font:400 18px/1 var(--kb-mono);color:var(--kb-berry);transition:transform .25s}
#plain-site .pricing-details[open]>summary::before{transform:rotate(45deg)}
#plain-site .kb-nowrap{white-space:nowrap}
#plain-site .pt-contact h2::before{content:"// " attr(data-c);display:block;font:400 var(--kb-fs-12)/1.4 var(--kb-mono);color:var(--kb-mauve);letter-spacing:0;text-transform:none;margin-bottom:8px}
@media(max-width:899px){#plain-site .pt-packs{align-items:flex-start!important}}


/* Source: brand-case.css */
/* Kate Mokey · карточки кейсов и просмотр кейса (обычный сайт) */

/* ---------- карточка: одинаковая сцена для всех проектов ---------- */
#plain-site .pt-case-art.kc-art{display:flex!important;flex-direction:column;gap:0!important;width:100%;padding:0!important;border:1px solid var(--kb-line)!important;border-radius:var(--kb-r-md)!important;background:var(--kb-paper)!important;overflow:hidden!important;cursor:pointer;text-align:left;font:inherit;color:inherit}
#plain-site .kc-stage{position:relative;display:grid;place-items:center;aspect-ratio:4/3;padding:22px;background-color:var(--kb-paper-2);background-image:radial-gradient(rgb(147 56 111/.16) 1px,transparent 1.6px);background-size:16px 16px;overflow:hidden}
.kc-dev{position:relative;display:block;flex:none}
.kc-dev--phone{height:100%;aspect-ratio:9/19;padding:5px;border-radius:26px;background:var(--kb-plum);box-shadow:var(--kb-shadow-float)}
.kc-dev--phone .kc-scr{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:21px;background:#0d0a0c}
.kc-dev--phone iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;pointer-events:none;background:#0d0a0c;transition:opacity .45s ease}
.kc-dev--phone iframe.kc-back{opacity:0}
.kc-dev--browser{width:100%;max-height:100%;border-radius:14px;overflow:hidden;background:var(--kb-paper);box-shadow:var(--kb-shadow-float)}
.kc-bbar{display:flex;align-items:center;gap:6px;height:22px;padding:0 10px;background:var(--kb-chip,#f6e3ea);border-bottom:1px solid var(--kb-line)}
.kc-bbar i{width:8px;height:8px;border-radius:50%;background:var(--kb-rose-2)}
.kc-bbar i:first-child{background:var(--kb-berry);opacity:.55}
.kc-dev--browser .kc-scr{display:block;aspect-ratio:16/10;overflow:hidden}
.kc-dev--browser img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:opacity .25s}
.kc-dev--browser img.kc-fade{opacity:0}
#plain-site .kc-art .kc-dev{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
#plain-site .kc-art:hover .kc-dev{transform:translateY(-4px) scale(1.015)}
#plain-site .kc-art:hover img{transform:none!important}
#plain-site .kc-strip{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;border-top:1px dashed var(--kb-line);background:var(--kb-paper)}
#plain-site .kc-strip-t{display:flex;align-items:center;gap:10px;flex:1;min-width:0;font:500 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-plum)}
#plain-site .kc-strip-t b{flex:none;display:inline-grid;place-items:center;min-width:38px;height:24px;padding:0 8px;border-radius:var(--kb-r-pill);background:var(--kb-chip);font:500 var(--kb-fs-12)/1 var(--kb-mono);color:var(--kb-berry)}
#plain-site .kc-strip-t span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3}
#plain-site .kc-dots{display:flex;align-items:center;gap:5px;flex:none}
#plain-site .kc-dots i{width:6px;height:6px;border-radius:50%;background:var(--kb-line);transition:background .25s,width .25s}
#plain-site .kc-dots i.on{width:16px;border-radius:3px;background:var(--kb-berry)}
#plain-site .kc-open{flex:none;font:500 var(--kb-fs-16)/1 var(--font-sans);color:var(--kb-berry)}
#plain-site[data-kb-theme="dark"] .pt-case-art.kc-art{background:var(--kb-paper)!important}
#plain-site[data-kb-theme="dark"] .kc-stage{background-color:#22151f;background-image:radial-gradient(rgb(243 156 196/.14) 1px,transparent 1.6px)}
#plain-site[data-kb-theme="dark"] .kc-dev--phone{background:#120b11}
@media(max-width:700px){
  #plain-site .kc-stage{aspect-ratio:5/4;padding:18px}
  #plain-site .kc-strip{padding:0 12px;gap:10px}
}

/* ---------- просмотр кейса ---------- */
html.kc-lock #plain-site{overflow:hidden!important}
.kc{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--kb-plum);font-family:var(--font-sans);overflow:hidden}
.kc:not([open]){display:none}
.kc::backdrop{background:rgb(42 18 38/.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.kc{--kb-chip:#f6e3ea}
.kc[data-kb-theme="dark"]{color-scheme:dark;--kb-paper:#2a1a2a;--kb-paper-2:#22151f;--kb-plum:#f7dce8;--kb-berry:#f39cc4;--kb-mauve:#c99ab8;--kb-wine:#e6c1d5;--kb-rose-2:#5c2f52;--kb-line:#47293f;--kb-chip:#3b2337}
.kc-sheet{position:absolute;inset:24px;margin:auto;max-width:1160px;max-height:860px;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;border-radius:var(--kb-r-lg);background:var(--kb-paper);box-shadow:0 40px 90px -30px rgb(42 18 38/.6)}
.kc-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:16px;padding:18px 20px 14px 28px;background:color-mix(in srgb,var(--kb-paper) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px dashed var(--kb-line)}
.kc-ttl{flex:1;min-width:0}
.kc-kicker{display:block;margin-bottom:4px;font:400 var(--kb-fs-12)/1.3 var(--kb-mono);color:var(--kb-wine)}
.kc-ttl h2{margin:0;font:700 var(--kb-fs-28)/1.15 var(--kb-head);color:var(--kb-plum);letter-spacing:0}
.kc-of{flex:none;font:400 var(--kb-fs-12)/1 var(--kb-mono);color:var(--kb-wine)}
.kc-x{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--kb-chip);color:var(--kb-plum);cursor:pointer;transition:background .2s,transform .2s}
.kc-x:hover{background:var(--kb-rose-2);transform:rotate(90deg)}
.kc-x svg,.kc-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kc-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:36px;padding:24px 28px 32px;align-items:start}
.kc-gal{min-width:0}
.kc-viewport{position:relative}
.kc-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--kb-r-md);background-color:var(--kb-paper-2);background-image:radial-gradient(rgb(147 56 111/.16) 1px,transparent 1.6px);background-size:16px 16px;outline-offset:4px}
.kc-track::-webkit-scrollbar{display:none}
.kc-slide{flex:0 0 100%;display:grid;place-items:center;height:clamp(340px,calc(100vh - 320px),560px);margin:0;padding:24px;scroll-snap-align:center;scroll-snap-stop:always}
.kc-dev--big.kc-dev--phone{height:100%;border-radius:32px;padding:6px}
.kc-dev--big.kc-dev--phone .kc-scr{border-radius:26px}
.kc-dev--big.kc-dev--browser{width:100%;max-height:100%}
.kc-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;border:0;border-radius:50%;background:var(--kb-paper);color:var(--kb-plum);box-shadow:0 8px 20px -8px rgb(74 33 64/.45);cursor:pointer;transition:opacity .2s,transform .2s}
.kc-prev{left:12px}.kc-next{right:12px}
.kc-arrow:hover:not(:disabled){transform:scale(1.06)}
.kc-arrow:disabled{opacity:0;pointer-events:none}
.kc-cap{display:flex;align-items:center;gap:12px;min-height:44px;margin-top:14px}
.kc-n{flex:none;display:inline-grid;place-items:center;min-width:52px;height:28px;padding:0 10px;border-radius:var(--kb-r-pill);background:var(--kb-chip);font:500 var(--kb-fs-12)/1 var(--kb-mono);color:var(--kb-berry)}
.kc-capt{font:600 var(--kb-fs-16)/1.3 var(--font-sans);color:var(--kb-plum)}
.kc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.kc-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 6px;border:1px solid var(--kb-line);border-radius:var(--kb-r-pill);background:var(--kb-paper);font:500 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-wine);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.kc-tabs button i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--kb-chip);font:500 var(--kb-fs-12)/1 var(--kb-mono);font-style:normal;color:var(--kb-berry)}
.kc-tabs button:hover{border-color:var(--kb-berry);color:var(--kb-plum)}
.kc-tabs button[aria-selected="true"]{background:var(--kb-plum);border-color:var(--kb-plum);color:var(--kb-paper)}
.kc-tabs button[aria-selected="true"] i{background:var(--kb-paper);color:var(--kb-plum)}
.kc-turn{display:none}
.kc-info dl{margin:0}
.kc-info dt{margin:0 0 6px;font:500 var(--kb-fs-12)/1.3 var(--kb-mono);color:var(--kb-berry)}
.kc-info dd{margin:0 0 20px;font:400 var(--kb-fs-16)/1.6 var(--font-sans);color:var(--kb-plum);max-width:60ch}
.kc-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 24px}
.kc-tags span{padding:6px 12px;border-radius:var(--kb-r-pill);background:var(--kb-chip);font:400 var(--kb-fs-12)/1.3 var(--kb-mono);color:var(--kb-wine)}
.kc-cta{display:flex;flex-wrap:wrap;gap:10px}
.kc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 22px;border:1.5px solid var(--kb-plum);border-radius:var(--kb-r-pill);background:transparent;font:600 var(--kb-fs-14)/1.2 var(--font-sans);color:var(--kb-plum);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.kc-btn span{font-weight:400;color:var(--kb-wine)}
.kc-btn:hover{transform:translateY(-2px)}
.kc-btn--main{background:var(--kb-plum);color:var(--kb-paper)}
.kc-btn--main:hover{background:var(--kb-plum-2,#5e2b52)}
.kc[data-kb-theme="dark"] .kc-btn--main{color:#2a1a2a}
.kc button:focus-visible,.kc a:focus-visible,.kc-track:focus-visible{outline:2px solid var(--kb-berry);outline-offset:3px}

/* телефон: на весь экран, экраны сайта в своей ширине */
@media(max-width:820px){
  .kc-sheet{inset:0;max-height:none;max-width:none;border-radius:0}
  .kc-head{padding:12px 12px 10px 16px;padding-top:max(12px,env(safe-area-inset-top))}
  .kc-ttl h2{font-size:var(--kb-fs-20)}
  .kc-body{grid-template-columns:1fr;gap:24px;padding:16px 16px calc(28px + env(safe-area-inset-bottom))}
  .kc-slide{padding:0 2px}
  .kc-slide.is-page{height:min(66svh,620px)}
  .kc-slide.is-shot{height:auto}
  .kc-track{background:none;border-radius:0;overflow-x:auto}
  .kc-slide.is-page .kc-dev--big{width:100%;height:100%;aspect-ratio:auto;padding:0;border-radius:var(--kb-r-md);background:#0d0a0c;box-shadow:none}
  .kc-slide.is-page .kc-dev--big .kc-scr{border-radius:var(--kb-r-md)}
  .kc-slide.is-shot .kc-dev--big{box-shadow:0 10px 30px -18px rgb(74 33 64/.5);border:1px solid var(--kb-line)}
  .kc-arrow{display:none}
  .kc-cap{margin-top:12px}
  .kc-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:4px -16px 0;padding:2px 16px}
  .kc-tabs::-webkit-scrollbar{display:none}
  .kc-tabs button{min-height:44px;flex:none}
  .kc-cta{flex-direction:column}
  .kc-btn{width:100%}
}
@media(max-width:700px) and (orientation:portrait){
  .kc-turn{display:flex;align-items:center;gap:8px;margin:12px 0 0;font:400 var(--kb-fs-12)/1.4 var(--font-sans);color:var(--kb-wine)}
  .kc-turn::before{content:"⟲";font-size:var(--kb-fs-16);color:var(--kb-berry)}
}
/* телефон боком: экран в высоту окна */
@media(max-height:520px){
  .kc-sheet{inset:0;max-height:none;max-width:none;border-radius:0}
  .kc-head{padding:8px 12px 8px 20px}
  .kc-ttl h2{font-size:var(--kb-fs-20)}
  .kc-body{grid-template-columns:1fr;gap:20px;padding:12px 20px 24px}
  .kc-slide,.kc-slide.is-page,.kc-slide.is-shot{height:calc(100svh - 130px);padding:8px}
  .kc-slide.is-shot .kc-dev--big{width:min(100%,calc((100svh - 168px) * 1.6))}
  .kc-arrow{display:grid}
}
@media(prefers-reduced-motion:reduce){.kc *{transition:none!important;animation:none!important}}

/* подсветка контактов после «Хочу похожий» */
#plain-site .kc-flash .kb-letter,#plain-site .kc-flash.pt-contact{animation:kc-flash 1.6s ease}
@keyframes kc-flash{0%,100%{box-shadow:var(--kb-shadow-card)}30%{box-shadow:0 0 0 4px var(--kb-rose-2),var(--kb-shadow-card)}}

.kc-ttl h2:focus{outline:none}

/* ---------- утро: ровная плашка, листаемые экраны, телефон / компьютер ---------- */
#plain-site .kc-strip-t b,.kc-n{font-family:var(--font-sans)!important;font-weight:600!important;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1!important;display:inline-flex!important;align-items:center;justify-content:center}
.kc-fit iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;background:#0d0a0c}
.kc .kc-live-frame{pointer-events:auto!important}
.kc-dev--live{display:flex;flex-direction:column;width:100%;max-height:100%;aspect-ratio:16/10.6}
.kc-dev--live .kc-scr{position:relative;flex:1;aspect-ratio:auto!important;overflow:hidden}
.kc-cap{flex-wrap:wrap}
.kc-view{display:inline-flex;gap:2px;margin-left:auto;padding:3px;border-radius:var(--kb-r-pill);background:var(--kb-chip)}
.kc-view button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:0;border-radius:var(--kb-r-pill);background:transparent;font:500 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-wine);cursor:pointer;transition:background .2s,color .2s}
.kc-view svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kc-view button[aria-pressed="true"]{background:var(--kb-plum);color:var(--kb-paper)}
@media(max-width:820px){
  .kc-slide.is-page.view-desk{height:auto;padding:0 2px}
  .kc-slide.is-page.view-desk .kc-dev--live{aspect-ratio:16/12;box-shadow:0 10px 30px -18px rgb(74 33 64/.5);border:1px solid var(--kb-line)}
  .kc-view{margin-left:0;width:100%}
  .kc-view button{flex:1;justify-content:center;min-height:40px}
}


/* ---------- работы: сетка карточек, лента на телефоне ---------- */
#plain-site .kw-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
#plain-site .kw-filter button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:0;border-radius:var(--kb-r-pill);background:var(--kb-chip);font:500 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-wine);cursor:pointer;transition:background .2s,color .2s}
#plain-site .kw-filter button i{font-style:normal;font-variant-numeric:tabular-nums;color:var(--kb-berry)}
#plain-site .kw-filter button[aria-pressed="true"]{background:var(--kb-plum);color:var(--kb-paper)}
#plain-site .kw-filter button[aria-pressed="true"] i{color:var(--kb-rose-2)}
#plain-site .pt-work.kw-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px!important}
#plain-site .kw-list .pt-case,#plain-site .kw-list .pt-case:nth-child(even){display:flex!important;flex-direction:column;gap:0!important;padding:12px!important;align-items:stretch!important;cursor:pointer}
#plain-site .kw-list .pt-case[hidden]{display:none!important}
#plain-site .kw-list .pt-case-art{order:0!important}
#plain-site .kw-list .kc-stage{aspect-ratio:4/3;padding:18px}
#plain-site .kw-list .kc-strip{min-height:42px}
#plain-site .kw-list .pt-case-text{display:flex;flex-direction:column;flex:1;padding:16px 8px 6px}
#plain-site .kw-list .pt-case-text h3{margin:4px 0 8px!important}
#plain-site .kw-list .pt-case-text>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--kb-fs-14)!important;line-height:1.55!important;margin:0 0 12px!important}
#plain-site .kw-list .pt-tags{margin-top:auto!important}
#plain-site .kw-list .pt-tags span:nth-child(n+4){display:none}
#plain-site .kw-list .pt-link{margin-top:12px!important;align-self:flex-start}
#plain-site .kw-dots{display:none}
@media(max-width:1000px) and (min-width:701px){#plain-site .pt-work.kw-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  #plain-site .pt-work.kw-list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px;scroll-padding-inline:16px}
  #plain-site .pt-work.kw-list::-webkit-scrollbar{display:none}
  #plain-site .kw-list .pt-case{scroll-snap-align:start}
  #plain-site .kw-list .kc-stage{aspect-ratio:5/4}
  #plain-site .kw-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
  #plain-site .kw-dots i{width:6px;height:6px;border-radius:3px;background:var(--kb-line);transition:width .25s,background .25s}
  #plain-site .kw-dots i.on{width:18px;background:var(--kb-berry)}
  #plain-site .kw-filter{flex-wrap:wrap}
}

.kc-shot{position:relative;display:block;overflow:hidden}
.kc-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.kc-dev--phone .kc-shot{background:#efe7df}


/* ---------- отзыв ---------- */
.kc-review{margin:4px 0 22px;padding:18px 20px;border-radius:var(--kb-r-md);background:var(--kb-chip)}
.kc-review blockquote{margin:0 0 14px;font:500 var(--kb-fs-16)/1.55 var(--font-sans);color:var(--kb-plum)}
.kc-review figcaption,#plain-site .kb-review figcaption{display:flex;align-items:center;gap:12px}
.kc-review img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:top}
.kc-review b,#plain-site .kb-review b{display:block;font:600 var(--kb-fs-14)/1.3 var(--font-sans);color:var(--kb-plum)}
.kc-review small,#plain-site .kb-review small{display:block;font-size:var(--kb-fs-12);color:var(--kb-wine)}
#plain-site .kb-review{margin-top:28px}
#plain-site .kb-review h3{margin:0 0 14px;font:700 var(--kb-fs-20)/1.2 var(--kb-head);color:var(--kb-plum)}
#plain-site .kb-review figure{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:start;margin:0;padding:24px 26px;border-radius:var(--kb-r-lg);background:var(--kb-paper)}
#plain-site .kb-review figure>img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:top}
#plain-site .kb-review blockquote{margin:0 0 16px;max-width:62ch;font:500 var(--kb-fs-20)/1.5 var(--font-sans);color:var(--kb-plum)}
#plain-site .kb-review blockquote::before{content:"«"}#plain-site .kb-review blockquote::after{content:"»"}
#plain-site .kb-review figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#plain-site .kb-review figcaption>span{min-width:0}
#plain-site .kb-review button{flex:none;min-height:40px;padding:0 18px;border:0;border-radius:var(--kb-r-pill);background:var(--kb-chip);font:600 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-berry);cursor:pointer}
@media(max-width:700px){
  #plain-site .kb-review figure{grid-template-columns:1fr;gap:14px;padding:20px 18px}
  #plain-site .kb-review figure>img{width:56px;height:56px}
  #plain-site .kb-review blockquote{font-size:var(--kb-fs-16)}
  #plain-site .kb-review button{width:100%}
}
/* рамка браузера: без светлого уголка */
.kc-dev--browser{background:var(--kb-chip)!important}
.kc-bbar{border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
/* «Телефон» всегда в форме телефона, даже в узком окне */
@media(max-width:820px){
  .kc-slide.is-page.view-phone{height:min(78svh,760px)}
  .kc-slide.is-page.view-phone .kc-dev--big{width:auto!important;max-width:100%;height:100%!important;aspect-ratio:9/19.5!important;margin:0 auto;padding:6px!important;border-radius:32px!important;background:var(--kb-plum)!important}
  .kc-slide.is-page.view-phone .kc-dev--big .kc-scr{border-radius:26px!important}
}
@media(max-width:430px){
  .kc-slide.is-page.view-phone .kc-dev--big{width:100%!important;height:100%!important;aspect-ratio:auto!important;padding:0!important;background:none!important}
  .kc-slide.is-page.view-phone .kc-dev--big .kc-scr{border-radius:var(--kb-r-md)!important}
}


/* Source: brand-night.css */
/* Kate Mokey · ночные правки: навыки, письмо, плашка калькулятора, документы, типографика */

/* ---------- навыки: 11 групп, клетки меньше ---------- */
#plain-site{--kb-g-front:#e58db4;--kb-g-js:#d0699b;--kb-g-back:#9a5ba0;--kb-g-data:#c97a8a;--kb-g-auto:#d9a35f;--kb-g-inter:#b47fd0;--kb-g-cms:#86a8cf;--kb-g-opt:#7fb2b0;--kb-g-tool:#8aa39a;--kb-g-launch:#e39a7b;--kb-g-edu:#b0927b}
#plain-site .kb-g-front{--kb-g:var(--kb-g-front)}#plain-site .kb-g-js{--kb-g:var(--kb-g-js)}#plain-site .kb-g-back{--kb-g:var(--kb-g-back)}#plain-site .kb-g-data{--kb-g:var(--kb-g-data)}
#plain-site .kb-g-auto{--kb-g:var(--kb-g-auto)}#plain-site .kb-g-inter{--kb-g:var(--kb-g-inter)}#plain-site .kb-g-cms{--kb-g:var(--kb-g-cms)}#plain-site .kb-g-opt{--kb-g:var(--kb-g-opt)}
#plain-site .kb-g-tool{--kb-g:var(--kb-g-tool)}#plain-site .kb-g-launch{--kb-g:var(--kb-g-launch)}#plain-site .kb-g-edu{--kb-g:var(--kb-g-edu)}
#plain-site .kb-g-back .kb-back{color:#fff}
#plain-site .kb-table-lead{margin:0 0 16px!important}
#plain-site .kb-cells{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important;gap:10px!important}
#plain-site .kb-cell{aspect-ratio:1/1.06}
#plain-site .kb-face{padding:8px 10px!important;border-radius:var(--kb-r-sm)!important;box-shadow:0 10px 22px -16px rgb(74 33 64/.5)!important}
#plain-site .kb-front{border-top-width:5px}
#plain-site .kb-front i{font:400 var(--kb-fs-12)/1 var(--kb-mono)!important}
#plain-site .kb-front b{font:700 var(--kb-fs-28)/1 var(--kb-head)!important;letter-spacing:0}
#plain-site .kb-front span{margin-top:4px;font:500 var(--kb-fs-12)/1.25 var(--font-sans)!important;overflow-wrap:break-word;hyphens:manual}
#plain-site .kb-back b{font:700 var(--kb-fs-16)/1 var(--kb-head)!important}
#plain-site .kb-back span{font:400 var(--kb-fs-12)/1.3 var(--font-sans)!important}
#plain-site .kb-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px!important;padding:0;list-style:none}
#plain-site .kb-legend button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 12px;border:1px solid var(--kb-line);border-radius:var(--kb-r-pill);background:var(--kb-paper);font:400 var(--kb-fs-12)/1 var(--kb-mono);color:var(--kb-wine);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
#plain-site .kb-legend button:hover{border-color:var(--kb-g)}
#plain-site .kb-legend button[aria-pressed="true"]{background:var(--kb-plum);border-color:var(--kb-plum);color:var(--kb-paper)}
#plain-site .kb-legend i{width:10px;height:10px;border-radius:3px;background:var(--kb-g)}
#plain-site .kb-cell{transition:opacity .3s,filter .3s}
#plain-site .kb-cells[data-g="front"] .kb-cell:not(.kb-g-front),#plain-site .kb-cells[data-g="js"] .kb-cell:not(.kb-g-js),#plain-site .kb-cells[data-g="back"] .kb-cell:not(.kb-g-back),
#plain-site .kb-cells[data-g="data"] .kb-cell:not(.kb-g-data),#plain-site .kb-cells[data-g="auto"] .kb-cell:not(.kb-g-auto),#plain-site .kb-cells[data-g="inter"] .kb-cell:not(.kb-g-inter),
#plain-site .kb-cells[data-g="cms"] .kb-cell:not(.kb-g-cms),#plain-site .kb-cells[data-g="opt"] .kb-cell:not(.kb-g-opt),#plain-site .kb-cells[data-g="tool"] .kb-cell:not(.kb-g-tool),
#plain-site .kb-cells[data-g="launch"] .kb-cell:not(.kb-g-launch),#plain-site .kb-cells[data-g="edu"] .kb-cell:not(.kb-g-edu){opacity:.22;filter:grayscale(.7)}
#plain-site .kb-detail{grid-column:1/-1;display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--kb-g);border-left-width:6px;border-radius:var(--kb-r-md);background:var(--kb-paper);animation:kb-pop .3s cubic-bezier(.2,.8,.2,1)}
#plain-site .kb-detail>b{flex:none;min-width:44px;font:700 var(--kb-fs-28)/1 var(--kb-head);color:var(--kb-plum)}
#plain-site .kb-detail strong{display:block;font:600 var(--kb-fs-16)/1.3 var(--font-sans);color:var(--kb-plum)}
#plain-site .kb-detail small{display:block;margin:2px 0 6px;font:400 var(--kb-fs-12)/1.3 var(--kb-mono)!important;color:var(--kb-wine)!important}
#plain-site .kb-detail em{display:block;font-style:normal;font-size:var(--kb-fs-14);line-height:1.5;color:var(--kb-plum)}
#plain-site .kb-cell.kb-on .kb-front{outline:2px solid var(--kb-plum);outline-offset:2px}
@keyframes kb-pop{from{opacity:0;transform:translateY(-6px)}}
@media(max-width:700px){
  #plain-site .kb-cells{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  #plain-site .kb-cell{aspect-ratio:1/1.12}
  #plain-site .kb-face{padding:6px 7px!important}
  #plain-site .kb-front b{font-size:var(--kb-fs-20)!important}
  #plain-site .kb-front span{font-size:var(--kb-fs-12)!important;line-height:1.2}
  #plain-site .kb-legend{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 16px!important;padding:2px 16px;scrollbar-width:none}
  #plain-site .kb-legend::-webkit-scrollbar{display:none}
  #plain-site .kb-legend button{flex:none;min-height:40px}
}
@media(prefers-reduced-motion:reduce){#plain-site .kb-detail{animation:none}}

/* ---------- контакты: письмо ---------- */
#plain-site .pt-contact{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important;gap:40px!important;align-items:start!important}
#plain-site .pt-contact>*{min-width:0}
#plain-site .kb-c-left{display:flex;flex-direction:column;gap:20px}
#plain-site .kb-c-left>*{margin:0!important}
#plain-site .kb-c-left .contact-direct{padding:18px 0 0;border-top:1px dashed var(--kb-line)}
#plain-site .pt-contact .contact-direct{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
#plain-site .pt-contact .pt-qrs{display:flex;gap:12px;flex-wrap:wrap}
#plain-site .pt-contact .pt-qrs figure{margin:0;width:96px}
#plain-site .pt-contact .pt-qrs img{width:96px;height:96px}
#plain-site .kb-letter{position:relative;padding:20px 22px 22px;border:10px solid transparent;border-radius:var(--kb-r-md);background:linear-gradient(var(--kb-paper),var(--kb-paper)) padding-box,repeating-linear-gradient(-45deg,var(--kb-berry) 0 12px,var(--kb-paper) 12px 20px,var(--kb-rose-2) 20px 32px,var(--kb-paper) 32px 40px) border-box;box-shadow:var(--kb-shadow-float)}
#plain-site .kb-l-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px dashed var(--kb-line)}
#plain-site .kb-l-dots{display:flex;gap:6px}
#plain-site .kb-l-dots i{width:10px;height:10px;border-radius:50%;background:var(--kb-rose-2)}
#plain-site .kb-l-dots i:first-child{background:var(--kb-berry);opacity:.6}
#plain-site #kb-l-title{font:700 var(--kb-fs-20)/1.2 var(--kb-head);color:var(--kb-plum)}
#plain-site .kb-stamp{margin-left:auto;display:grid;place-items:center;width:58px;height:66px;background:var(--kb-chip);outline:4px dotted var(--kb-paper);outline-offset:-2px;box-shadow:0 0 0 1px var(--kb-line)}
#plain-site .kb-stamp img{width:40px;height:40px;object-fit:contain}
#plain-site .kb-stamp small{display:none}
#plain-site[data-kb-theme="dark"] .kb-stamp img{filter:invert(.9) sepia(.3) hue-rotate(280deg)}
#plain-site .kb-l-row{display:flex;align-items:center;gap:10px;min-height:52px;border-bottom:1px dashed var(--kb-line);transition:border-color .2s}
#plain-site .kb-l-row:focus-within{border-bottom-color:var(--kb-berry)}
#plain-site .kb-l-k{flex:none;width:64px;font:400 var(--kb-fs-14)/1 var(--kb-mono)!important;color:var(--kb-wine)!important}
#plain-site .kb-l-row input,#plain-site .kb-l-row select{flex:1;min-width:0;height:44px;margin:0;padding:0 8px;border:0;border-radius:var(--kb-r-sm);background:transparent;font:400 var(--kb-fs-16)/1.3 var(--font-sans);color:var(--kb-plum);-webkit-appearance:none;appearance:none}
#plain-site .kb-l-row select{padding-right:30px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5' fill='none' stroke='%2393386f' stroke-width='2' stroke-linecap='round'/></svg>") right 6px center/18px no-repeat;cursor:pointer}
#plain-site .kb-l-row input::placeholder,#plain-site .kb-letter textarea::placeholder{color:var(--kb-mauve);opacity:.85}
#plain-site .kb-l-row input:focus-visible,#plain-site .kb-l-row select:focus-visible{outline:2px solid var(--kb-berry);outline-offset:0}
#plain-site .kb-l-row [aria-invalid="true"]{background:rgb(176 48 79/.08)}
#plain-site .kb-l-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:var(--kb-r-pill);background:var(--kb-chip);font:500 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-plum)}
#plain-site .kb-l-tlabel{display:block;margin:18px 0 8px;font:400 var(--kb-fs-14)/1.3 var(--kb-mono);color:var(--kb-wine)}
#plain-site .kb-letter textarea{display:block;width:100%;min-height:140px;margin:0;padding:6px 14px;border:1px solid var(--kb-line);border-radius:var(--kb-r-sm);background:var(--kb-paper) repeating-linear-gradient(transparent 0 27px,var(--kb-line) 27px 28px) 0 6px/100% 28px local;font:400 var(--kb-fs-16)/28px var(--font-sans);color:var(--kb-plum);resize:vertical}
#plain-site .kb-letter textarea:focus-visible{outline:2px solid var(--kb-berry);outline-offset:1px}
#plain-site .kb-letter textarea[aria-invalid="true"]{border-color:#b0304f}
#plain-site .kb-l-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;font:400 var(--kb-fs-14)/1.45 var(--font-sans);color:var(--kb-wine);cursor:pointer}
#plain-site .kb-l-consent input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--kb-plum)}
#plain-site .kb-l-consent [aria-invalid="true"]{outline:2px solid #b0304f;outline-offset:2px}
#plain-site .kb-l-err{margin:12px 0 0;font:500 var(--kb-fs-14)/1.4 var(--font-sans);color:#a3284a}
#plain-site[data-kb-theme="dark"] .kb-l-err{color:#ff9db8}
#plain-site .kb-l-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:18px}
#plain-site .kb-l-actions small{max-width:32ch;font:400 var(--kb-fs-12)/1.4 var(--font-sans)!important;color:var(--kb-wine)!important}
#plain-site .kb-sent .kb-l-actions{display:none}
#plain-site .kb-l-done{margin-top:18px;padding:16px;border-radius:var(--kb-r-sm);background:var(--kb-chip)}
#plain-site .kb-l-done b{display:block;font:700 var(--kb-fs-16)/1.3 var(--kb-head);color:var(--kb-plum)}
#plain-site .kb-l-done p{margin:6px 0 10px!important;font-size:var(--kb-fs-14)!important;color:var(--kb-wine)}
#plain-site .kb-l-done textarea{min-height:120px;background:var(--kb-paper)}
#plain-site .kb-l-send{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
#plain-site .kb-l-edit{min-height:44px;padding:0 14px;border:0;background:none;font:500 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-berry);text-decoration:underline dashed;text-underline-offset:4px;cursor:pointer}
@media(max-width:899px){
  #plain-site .pt-contact{grid-template-columns:1fr!important;gap:28px!important}
}
@media(max-width:700px){
  #plain-site .kb-letter{padding:16px 14px 18px;border-width:8px}
  #plain-site .kb-l-k{width:56px}
  #plain-site .kb-l-actions .pt-btn{width:100%;justify-content:center}
  #plain-site .kb-l-send .pt-btn{flex:1 1 auto;justify-content:center}
}

/* ---------- итог калькулятора: закреплён внизу ---------- */
#plain-site .kb-calc-bar.kb-bar-fixed{display:none}
@media(max-width:900px){
  #plain-site .kb-calc-bar.kb-bar-fixed{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:8px 8px 8px 20px!important;border-radius:var(--kb-r-pill);background:var(--kb-plum);color:var(--kb-paper);box-shadow:0 18px 40px -14px rgb(42 18 38/.65);transform:translateY(calc(100% + 40px));opacity:0;visibility:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s,visibility 0s .35s}
  #plain-site .kb-calc-bar.kb-bar-fixed.on{transform:none;opacity:1;visibility:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s}
  #plain-site .kb-calc-bar.kb-bar-fixed .pt-btn{min-height:44px}
  #plain-site .kb-calc-bar.kb-pulse{animation:kb-bump .6s}
}
@keyframes kb-bump{40%{transform:scale(1.03)}}
@media(prefers-reduced-motion:reduce){#plain-site .kb-calc-bar.kb-bar-fixed{transition:none}#plain-site .kb-calc-bar.kb-pulse{animation:none}}

/* ---------- документы ---------- */
dialog#doc-overlay{--kb-chip:#f6e3ea;background:rgb(42 18 38/.5)}
dialog#doc-overlay[data-kb-theme="dark"]{color-scheme:dark;--kb-paper:#2a1a2a;--kb-plum:#f7dce8;--kb-berry:#f39cc4;--kb-mauve:#c99ab8;--kb-wine:#e6c1d5;--kb-rose-2:#5c2f52;--kb-line:#47293f;--kb-chip:#3b2337}
dialog#doc-overlay::backdrop{background:transparent}
#doc-overlay .dov-box{width:min(860px,100%);background:var(--kb-paper);color:var(--kb-plum);border-radius:var(--kb-r-lg);box-shadow:0 40px 90px -30px rgb(42 18 38/.6)}
#doc-overlay .dov-box nav{gap:8px;padding:16px 68px 14px 20px;border-bottom:1px dashed var(--kb-line);scrollbar-width:none}
#doc-overlay .dov-box nav::-webkit-scrollbar{display:none}
#doc-overlay .dov-box nav a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:var(--kb-r-pill);background:var(--kb-chip);font:500 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-wine)}
#doc-overlay .dov-box nav a:hover{color:var(--kb-plum)}
#doc-overlay .dov-box nav a.on{background:var(--kb-plum);color:var(--kb-paper)}
#doc-overlay .dov-x{top:12px;right:14px;display:grid;place-items:center;width:44px;height:44px;background:var(--kb-chip);color:var(--kb-plum);font:400 24px/1 var(--font-sans)}
#doc-overlay .dc-page{padding:24px 32px 36px}
.dc-page{font:400 var(--kb-fs-16)/1.6 var(--font-sans);color:var(--kb-plum)}
.dc-page h1{font:700 var(--kb-fs-28)/1.2 var(--kb-head);letter-spacing:0;color:var(--kb-plum)}
.dc-page h2{font:700 var(--kb-fs-20)/1.3 var(--kb-head);color:var(--kb-plum)}
.dc-page a{color:var(--kb-berry)}
.dc-page mark{background:var(--kb-rose-2);color:var(--kb-plum)}
.dc-page details{border-bottom:1px dashed var(--kb-line);padding:12px 0}
.dc-page summary{display:flex;align-items:center;gap:10px;min-height:32px;font:600 var(--kb-fs-16)/1.35 var(--font-sans);color:var(--kb-plum);list-style:none}
.dc-page summary::-webkit-details-marker{display:none}
.dc-page summary::before{content:"+";flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--kb-chip);font:500 var(--kb-fs-16)/1 var(--kb-mono);color:var(--kb-berry);transition:transform .2s}
.dc-page details[open]>summary::before{content:"−"}
.dc-page details>*:not(summary){margin-left:34px}
.dc-page .pricing-support{margin:10px 0 0 34px;padding:0;background:none!important;color:inherit!important;border-radius:0;font-size:inherit;line-height:inherit;container-type:normal}
.dc-page .pricing-support h3{display:none}
.dc-page .support-options{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 4px}
.dc-page .support-options article{padding:12px 14px;border:0;border-radius:var(--kb-r-sm);background:var(--kb-chip);box-shadow:none}
.dc-page .support-options h4{margin:0 0 4px;font:600 var(--kb-fs-16)/1.35 var(--font-sans);white-space:normal;color:var(--kb-plum)}
.dc-page .support-options p,.dc-page .pricing-support p{margin:8px 0 0;font-size:var(--kb-fs-16);line-height:1.6;color:var(--kb-plum)}
.dc-page .support-options p{margin:0;font-size:var(--kb-fs-14);color:var(--kb-wine)}
@media(max-width:700px){
  dialog#doc-overlay[open]{padding:0}
  #doc-overlay .dov-box{width:100%;height:100dvh;max-height:none;border-radius:0}
  #doc-overlay .dov-box nav{padding:max(12px,env(safe-area-inset-top)) 64px 12px 16px}
  #doc-overlay .dov-x{top:max(8px,env(safe-area-inset-top))}
  #doc-overlay .dc-page{padding:20px 16px calc(32px + env(safe-area-inset-bottom))}
  .dc-page details>*:not(summary),.dc-page .pricing-support{margin-left:0}
}
html body.kb-phone dialog#doc-overlay[open]{padding:0}
html body.kb-phone #doc-overlay .dov-box{width:100%;height:100dvh;max-height:none;border-radius:0}

/* поддержка в «Условиях» на странице: тот же спокойный вид */
#plain-site .kb-terms .pricing-support{padding:0!important;background:none!important;border-radius:0!important}
#plain-site .kb-terms .pricing-support h3{margin:16px 0 10px!important;font:700 var(--kb-fs-16)/1.3 var(--kb-head)!important}
#plain-site .kb-terms .support-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
#plain-site .kb-terms .support-options article{padding:12px 14px!important;background:var(--kb-chip)!important;box-shadow:none!important;border-radius:var(--kb-r-sm)!important}
#plain-site .kb-terms .support-options h4{white-space:normal;font:600 var(--kb-fs-14)/1.35 var(--font-sans)!important;color:var(--kb-plum)}

/* ---------- типографика: один ритм ---------- */
#plain-site .pt-sec h2{margin-bottom:28px!important}
#plain-site .pt-sec h2+p,#plain-site .pt-sec h2~.kb-calc-lead,#plain-site .pt-contact h2+p{margin-top:0!important}
#plain-site .pricing-note,#plain-site .pt-small,#plain-site .kb-terms p,#plain-site .kb-calc-lead,#plain-site .kb-table-lead,#plain-site .pt-lead,#plain-site .pt-contact p{max-width:68ch}
#plain-site .ps-foot p{max-width:none}
#plain-site h1,#plain-site .pt-hero h1{font-weight:700!important}
#plain-site .kb-calc-price b,#plain-site .kb-calc-bar-sum b{font-weight:700!important}
#plain-site .kb-track{font-size:var(--kb-fs-16)!important}
#plain-site .pt-steps img{width:56px;height:56px}

html body.kb-phone #plain-site .ps-back{display:none}
#plain-site .kb-c-left h2{margin-bottom:8px!important}
@media(max-width:700px){
  #plain-site .kb-l-dots{display:none}
  #plain-site .kb-l-k{width:50px;font-size:var(--kb-fs-12)!important}
  #plain-site .kb-l-row input,#plain-site .kb-l-row select{padding-left:4px}
  #plain-site .pt-contact{padding:24px 16px!important}
}

/* ---------- рабочий стол: остатки старых цветов ---------- */
html body .lb-themes [data-palette="rose"]{background:linear-gradient(135deg,#fbf3f5 50%,#93386f 50%)}
html body .lb-screen[data-palette="rose"]{--bg:#fbf3f5;--ink:#4a2140;--acc:#93386f;--soft:#f6e3ea;--line:#ecd3dc}
html body .terminal-page{background:#2a1426!important;color:#fbe9f0!important}
html body .terminal-page .terminal-banner,html body .terminal-page .terminal-form label{color:#f39cc4!important}
html body .terminal-page button{background:#4a2140!important;color:#fbe9f0!important;border:1px solid #93386f!important}
html body .terminal-window,body .terminal-window{background:#2a1426}
html body .calendar-widget .calendar-grid .today,html body .desktop-widgets .calendar-widget .calendar-grid .today{background:#93386f!important;color:#fff!important;box-shadow:0 0 0 3px #93386f!important}
html body .cw-event{border-left-color:#93386f!important;background:rgb(242 198 214/.55)!important}
html body .cw-event b,html body .cw-event small{color:#4a2140!important}
html body .cw-event:hover{background:rgb(242 198 214/.8)!important}
html body .window[data-app="contact"]{max-height:calc(100dvh - var(--bar,30px) - 120px)}
html body .window[data-app="contact"] .window-content{overflow:auto}
#plain-site .ps-os,#plain-site .pt-qrs figcaption{font-size:var(--kb-fs-12)!important}
#plain-site .pt-link{font-size:var(--kb-fs-16)!important}
#plain-site .pt-badge{font-weight:500!important}
#plain-site .kb-calc-price{font-size:var(--kb-fs-40)!important;line-height:1.1}
#plain-site .kb-calc-price b{font-size:inherit!important}
@media(max-width:700px){#plain-site .kb-calc-price{font-size:var(--kb-fs-28)!important}}
/* аудит, круг 1 */
#plain-site .pt-contact .pt-cta{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
#plain-site .pt-contact .pt-cta .pt-btn{justify-content:center;width:auto!important;margin:0!important}
#plain-site .pt-contact .pt-cta .pt-btn.primary{grid-column:1/-1}
@media(min-width:900px){#plain-site .pt-contact .pt-cta{grid-template-columns:auto auto auto;justify-content:start}#plain-site .pt-contact .pt-cta .pt-btn.primary{grid-column:auto}}
#plain-site .kb-front{display:grid!important;grid-template-rows:auto 1fr auto;align-content:stretch}
#plain-site .kb-front b{margin-top:0!important;align-self:center}
#plain-site .kb-front span{align-self:start;min-height:2.5em}


@media(min-width:701px){#doc-overlay .dov-box nav{flex-wrap:wrap;overflow:visible}}

/* ---------- письмо как в iCloud Почте ---------- */
#plain-site .kb-letter{padding:0!important;border:1px solid var(--kb-line)!important;border-radius:14px!important;background:var(--kb-paper)!important;box-shadow:0 30px 60px -30px rgb(74 33 64/.45),0 2px 6px rgb(74 33 64/.06)!important;overflow:hidden}
#plain-site .kb-l-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:52px;margin:0!important;padding:8px 10px 8px 16px!important;border-bottom:1px solid var(--kb-line)!important;background:var(--kb-chip)}
#plain-site .kb-l-dots{display:flex!important}
#plain-site .kb-l-dots i{width:12px;height:12px}
#plain-site .kb-l-dots i:nth-child(1){background:#e77e9f;opacity:1}
#plain-site .kb-l-dots i:nth-child(2){background:#e9b4c6}
#plain-site .kb-l-dots i:nth-child(3){background:#d8c3cd}
#plain-site #kb-l-title{font:600 var(--kb-fs-16)/1.2 var(--font-sans)!important;text-align:center;white-space:nowrap}
#plain-site .kb-l-fly{justify-self:end;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--kb-plum);color:var(--kb-paper);cursor:pointer;transition:transform .2s,background .2s}
#plain-site .kb-l-fly svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
#plain-site .kb-l-fly:hover{transform:translateY(-2px);background:var(--kb-plum-2,#5e2b52)}
#plain-site .kb-l-fly:focus-visible{outline:2px solid var(--kb-berry);outline-offset:2px}
#plain-site .kb-l-row{margin:0 16px;min-height:48px;border-bottom:1px solid var(--kb-line)!important}
#plain-site .kb-l-k{width:auto!important;min-width:56px;font:400 var(--kb-fs-16)/1 var(--font-sans)!important;color:var(--kb-mauve)!important}
#plain-site .kb-l-chip{min-height:28px;padding:0 10px;background:var(--kb-chip);font-weight:500;color:var(--kb-berry)}
#plain-site .kb-l-addr{font:400 var(--kb-fs-14)/1 var(--font-sans);color:var(--kb-mauve);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#plain-site .kb-letter textarea{display:block;width:calc(100% - 32px)!important;min-height:170px;margin:4px 16px 0!important;padding:12px 0!important;border:0!important;border-radius:0!important;background:transparent!important;font:400 var(--kb-fs-16)/1.6 var(--font-sans)!important}
#plain-site .kb-letter textarea:focus-visible{outline:none;box-shadow:inset 0 -2px 0 var(--kb-berry)}
#plain-site .kb-l-consent{margin:4px 16px 0!important;padding-top:14px;border-top:1px solid var(--kb-line)}
#plain-site .kb-l-err{margin:10px 16px 0!important}
#plain-site .kb-l-actions{margin:16px 16px 18px!important}
#plain-site .kb-l-done{margin:16px!important}
#plain-site .kb-stamp{display:none!important}
@media(max-width:700px){
  #plain-site .kb-letter{border-width:1px!important}
  #plain-site .kb-l-dots{display:none!important}
  #plain-site .kb-l-head{grid-template-columns:1fr auto;padding-left:16px!important}
  #plain-site #kb-l-title{text-align:left}
  #plain-site .kb-l-addr{display:none}
  #plain-site .kb-l-k{min-width:52px;font-size:var(--kb-fs-14)!important}
}

/* телефон: шапка без размытия (Safari и браузер Instagram рисуют полосу при прокрутке) */
html body.kb-phone #plain-site{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}
html body.kb-phone #plain-site>.ps-bar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#ecdfe4!important;transform:translateZ(0);will-change:transform}
html body.kb-phone #plain-site[data-kb-theme="dark"]>.ps-bar{background:#21151f!important}
html body.kb-phone,html.kb-phone-root{background:#e9dbe0}


/* ---------- навыки под кнопкой ---------- */
#plain-site .ks-lead{max-width:62ch;margin:0 0 20px!important;font-size:var(--kb-fs-16)!important;line-height:1.6!important;color:var(--kb-wine)}
#plain-site .ks-open{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:18px 22px;border:0;border-radius:var(--kb-r-lg);background:var(--kb-paper);color:var(--kb-plum);font:inherit;text-align:left;cursor:pointer;transition:transform .25s,background .25s}
#plain-site .ks-open:hover{transform:translateY(-3px)}
#plain-site .ks-open:focus-visible{outline:2px solid var(--kb-berry);outline-offset:3px}
#plain-site .ks-row{display:flex;gap:8px;flex-wrap:wrap}
#plain-site .ks-mini{display:grid;place-items:center;width:52px;height:56px;border-radius:var(--kb-r-sm);background:var(--kb-paper-2);border-top:4px solid var(--kb-g,var(--kb-line))}
#plain-site .ks-mini b{font:700 var(--kb-fs-20)/1 var(--kb-head);color:var(--kb-plum)}
#plain-site .ks-more{border-top-color:var(--kb-plum);background:var(--kb-chip)}
#plain-site .ks-more b{font:600 var(--kb-fs-16)/1 var(--font-sans);color:var(--kb-berry)}
#plain-site .ks-cta{display:inline-flex;align-items:center;gap:10px;flex:none;min-height:48px;padding:0 22px;border-radius:var(--kb-r-pill);background:var(--kb-plum);color:var(--kb-paper);font:600 var(--kb-fs-16)/1 var(--font-sans)}
#plain-site .ks-cta i{font-style:normal;transition:transform .25s}
#plain-site .ks-open:hover .ks-cta i{transform:translateX(4px)}
#plain-site[data-kb-theme="dark"] .ks-cta{color:#2a1a2a}
#plain-site .ks{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden;color:var(--kb-plum)}
#plain-site .ks:not([open]){display:none}
#plain-site .ks::backdrop{background:rgb(42 18 38/.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#plain-site .ks-sheet{position:absolute;inset:24px;margin:auto;max-width:1160px;max-height:880px;overflow:auto;overscroll-behavior:contain;border-radius:var(--kb-r-lg);background:var(--kb-rose)}
#plain-site .ks-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:16px;padding:18px 20px 14px 28px;background:var(--kb-rose)}
#plain-site .ks-head>div{flex:1}
#plain-site .ks-sub{display:block;margin-bottom:4px;font:400 var(--kb-fs-12)/1.3 var(--kb-mono);color:var(--kb-wine)}
#plain-site .ks-head h2{margin:0!important;font:700 var(--kb-fs-28)/1.15 var(--kb-head)!important;color:var(--kb-plum)}
#plain-site .ks-head h2:focus{outline:none}
#plain-site .ks-head h2 .kb-wave{display:none}
#plain-site .ks-x{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--kb-paper);color:var(--kb-plum);cursor:pointer}
#plain-site .ks-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
#plain-site .ks-body{padding:4px 28px 32px}
@media(max-width:820px){
  #plain-site .ks-sheet{inset:0;max-height:none;border-radius:0}
  #plain-site .ks-head{padding:12px 12px 10px 16px;padding-top:max(12px,env(safe-area-inset-top))}
  #plain-site .ks-head h2{font-size:var(--kb-fs-20)!important}
  #plain-site .ks-body{padding:4px 16px calc(28px + env(safe-area-inset-bottom))}
}
@media(max-width:700px){
  #plain-site .ks-open{flex-direction:column;align-items:stretch;padding:16px}
  #plain-site .ks-mini{width:calc((100% - 48px)/7);min-width:0;height:48px}
  #plain-site .ks-mini b{font-size:var(--kb-fs-16)}
  #plain-site .ks-row{flex-wrap:nowrap}
  #plain-site .ks-row{gap:5px}
  #plain-site .ks-mini{width:calc((100% - 35px)/8);height:44px}
  #plain-site .ks-mini b{font-size:var(--kb-fs-14)}
  #plain-site .ks-cta{justify-content:center}
}
/* подпись под экраном в карточке: блочная раскладка, чтобы Safari не растягивал кнопку */
#plain-site .pt-case-art.kc-art{display:block!important}
#plain-site .pt-case-art.kc-art>.kc-stage{display:grid;width:100%}
#plain-site .pt-case-art.kc-art>.kc-strip{display:flex;align-items:center;height:44px;min-height:0;box-sizing:border-box}
#plain-site .kc-strip-t,#plain-site .kc-strip-t span,#plain-site .kc-dots,#plain-site .kc-open{line-height:1!important}
#plain-site .kc-strip-t b{height:26px;padding-top:1px}


/* Source: brand-taste.css */
/* Kate Mokey · правки после taste-skill (пункты 1–6). Файл можно убрать целиком, чтобы вернуть прежний вид. */

/* 1. ничего, что читают, мельче 13px */
#plain-site,.kc,#doc-overlay{--kb-fs-12:14px}
#plain-site .kb-front i,#plain-site .kb-front span{font-size:13px!important}
#plain-site .kb-back span,#plain-site .kb-detail small{font-size:13px!important}
#plain-site .kb-tag,#plain-site .ps-bar nav a{font-size:13px!important}
html body .weather-widget,html body .calendar-widget{font-size:13px}

/* 2. у лежащих на странице карточек нет теней: их отделяет тон */
#plain-site .pt-case,#plain-site .pt-pack,#plain-site .pt-skill,#plain-site .kb-common,#plain-site .package-common,#plain-site .pt-contact,
#plain-site .kb-terms,#plain-site .support-options article,#plain-site .kb-face,#plain-site .kb-calc-sum,#plain-site .kb-calc fieldset,
#plain-site .kb-chip>span,#plain-site .kc-dev,#plain-site .pt-portrait img,#plain-site .pt-qrs img,#plain-site .pt-qrs figure,
#plain-site .pt-steps img,#plain-site .kb-theme,#plain-site .kb-menu-btn,#plain-site .kb-codeall{box-shadow:none!important}
#plain-site .pt-steps img{filter:hue-rotate(105deg) saturate(.8)!important}
#plain-site .kb-cell:not(.kb-flip):hover .kb-front{box-shadow:none!important}
#plain-site .pt-case:hover,#plain-site .pt-pack:hover,#plain-site .pt-skill:hover{box-shadow:none!important}
#plain-site .pt-pack.hot{background:#fff7fa!important}
.kc-dev--big.kc-dev--browser,.kc-dev--big.kc-dev--phone{box-shadow:none!important}
#plain-site[data-kb-theme="dark"] .pt-pack.hot{background:#331f31!important}

/* 3. без градиентов */
#plain-site .pt-contact{background:var(--kb-paper)!important}
html body .weather-widget{background:#93386f!important}
html body .weather-widget,html body .weather-widget *{text-shadow:none!important}

/* 4. без тонких обводок: поверхность задаёт заливка */
#plain-site .pt-case-art.kc-art{border:0!important;background:var(--kb-paper-2)!important}
#plain-site .kc-strip{border-top:0!important;background:var(--kb-chip)!important}
#plain-site .kb-legend button{border:0!important;background:var(--kb-chip)!important}
#plain-site .kb-legend button[aria-pressed="true"]{background:var(--kb-plum)!important}
.kc-tabs button{border:0!important;background:var(--kb-chip)!important}
.kc-tabs button[aria-pressed],.kc-tabs button[aria-selected="true"]{background:var(--kb-plum)!important}
.kc-tabs button i{background:var(--kb-paper)!important}
.kc-slide.is-shot .kc-dev--big,.kc-slide.is-page.view-desk .kc-dev--live{border:0!important}
#plain-site .kb-letter{border:0!important}
#plain-site .pt-case,#plain-site .pt-pack,#plain-site .pt-skill,#plain-site .package-common{border:0!important}
#plain-site .pt-pack.hot{outline:2px solid var(--kb-plum);outline-offset:-2px}
#plain-site .kb-detail{border-top:0;border-right:0;border-bottom:0;background:var(--kb-chip)}

/* 5. на телефоне ряды переносятся, а не уходят за край */
@media(max-width:700px){
  #plain-site .kb-legend{flex-wrap:wrap!important;overflow:visible!important;margin:0 0 16px!important;padding:0!important}
  #plain-site .kb-legend button{min-height:40px}
}
@media(max-width:820px){
  .kc-tabs{flex-wrap:wrap!important;overflow:visible!important;margin:6px 0 0!important;padding:0!important}
  .kc-tabs button{flex:0 1 auto}
}

/* 6. значки погоды — рисунки, а не символы */
.wx{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em}


/* Source: brand-fix2.css */
/* Kate Mokey · правки по отзыву 25 октября (обычный сайт) */

/* ---------- ритм: меньше пустоты между разделами ---------- */
#plain-site{--kb-section-y:clamp(36px,4.5vw,60px)}
#plain-site .pt-sec{padding-top:clamp(18px,2.2vw,30px)!important;padding-bottom:clamp(26px,3vw,42px)!important}
#plain-site .pt-sec#ps-contact{margin-top:0!important}
#plain-site .kb-divider{margin-bottom:4px!important}
#plain-site .kb-terms{margin-bottom:0!important}
#plain-site #ps-services>*:last-child,#plain-site #ps-calc>*:last-child,#plain-site #ps-steps>*:last-child{margin-bottom:0!important}

/* ---------- навыки: стек и инструменты без описаний ---------- */
#plain-site .kb-g-lang{--kb-g:#d0699b}#plain-site .kb-g-fw{--kb-g:#9a5ba0}#plain-site .kb-g-bots{--kb-g:#b47fd0}
#plain-site .kb-g-data{--kb-g:#d9a35f}#plain-site .kb-g-tool{--kb-g:#7fb2b0}#plain-site .kb-g-front{--kb-g:#e58db4}
#plain-site ul.kb-cells{list-style:none;margin:0;padding:0}
#plain-site .kb-table-lite .kb-back{justify-content:space-between}
#plain-site .kb-table-lite .kb-back span{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media(max-width:700px){#plain-site .kb-table-lite .kb-back{padding:8px}#plain-site .kb-table-lite .kb-back span{font-size:11px!important;line-height:1.25!important}}
#plain-site .kb-cells[data-g="lang"] .kb-cell:not(.kb-g-lang),#plain-site .kb-cells[data-g="fw"] .kb-cell:not(.kb-g-fw),
#plain-site .kb-cells[data-g="bots"] .kb-cell:not(.kb-g-bots){opacity:.22;filter:grayscale(.7)}
#plain-site .ks-mini{border-top-color:var(--kb-g,var(--kb-line))!important}
/* в открытых окнах обычная мышка, свой курсор прячется под окном */
#plain-site dialog[open],#plain-site dialog[open] *{cursor:auto!important}
#plain-site dialog[open] button,#plain-site dialog[open] a,#plain-site dialog[open] [role="button"]{cursor:pointer!important}
body.static-mode.kb-cur-show #plain-site.kb-cursor-on dialog[open],body.static-mode.kb-cur-show #plain-site.kb-cursor-on dialog[open] *{cursor:auto!important}
body.static-mode.kb-cur-show #plain-site.kb-cursor-on dialog[open] :is(button,a,[role="button"]),body.static-mode.kb-cur-show #plain-site.kb-cursor-on dialog[open] :is(button,a,[role="button"]) *{cursor:pointer!important}
body:has(dialog[open]) .kb-cur-dot,body:has(dialog[open]) .kb-cur-ring{opacity:0!important}

/* ---------- карточки работ: телефон крупно, обрезан снизу; без подписи под экраном ---------- */
#plain-site .kc-art .kc-strip{display:none!important}
#plain-site .kc-art .kc-stage{place-items:start center;padding:22px 22px 0}
#plain-site .kc-art .kc-dev--phone{height:auto;width:54%;aspect-ratio:9/19;border-radius:30px 30px 0 0;padding:6px 6px 0}
#plain-site .kc-art .kc-dev--phone .kc-scr{border-radius:24px 24px 0 0}
#plain-site .kc-art .kc-dev--browser{align-self:center;margin-bottom:22px}
#plain-site .kc-art .kc-stage:has(.kc-dev--browser){place-items:center;padding:22px}
@media(max-width:700px){#plain-site .kc-art .kc-dev--phone{width:58%}}

/* ---------- просмотр кейса: один экран, рамка телефона и на компьютере ---------- */
.kc-sheet{max-height:none}
@media(min-width:821px){
  .kc-slide,.kc-slide.is-page{height:clamp(420px,calc(100vh - 230px),780px)}
  .kc-body{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
}
.kc[data-single] .kc-n,.kc[data-single] .kc-capt,.kc[data-single] .kc-tabs,.kc[data-single] .kc-arrow{display:none!important}
.kc[data-single] .kc-cap{margin-top:14px;justify-content:center}
.kc[data-single] .kc-view{margin-left:0}
@media(max-width:820px){
  .kc-slide.is-page.view-phone{height:min(74svh,700px)}
  .kc[data-single] .kc-cap{justify-content:stretch}
}

/* ---------- услуги: веб-приложения и боты рядом с тарифами ---------- */
#plain-site .kb-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 0}
#plain-site .kb-extra a{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:var(--kb-r-lg);background:var(--kb-paper);color:var(--kb-plum);text-decoration:none;transition:transform .25s}
#plain-site .kb-extra a:hover{transform:translateY(-3px)}
#plain-site .kb-extra b{font:700 var(--kb-fs-20)/1.2 var(--kb-head)}
#plain-site .kb-extra strong{font:700 var(--kb-fs-20)/1.2 var(--kb-price);color:var(--kb-plum)}
#plain-site .kb-extra span{font-size:var(--kb-fs-14);line-height:1.5;color:var(--kb-wine)}
#plain-site .kb-extra em{margin-top:auto;padding-top:6px;font-style:normal;font-weight:600;font-size:var(--kb-fs-14);color:var(--kb-berry)}
@media(max-width:700px){#plain-site .kb-extra{grid-template-columns:1fr}}

/* ---------- поддержка после запуска: живее ---------- */
#plain-site .kb-terms .support-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;gap:12px!important}
#plain-site .kb-terms .support-options article{position:relative;padding:20px 20px 18px!important;border-radius:var(--kb-r-md)!important;background:var(--kb-paper)!important}
#plain-site .kb-terms .support-options article:first-child{background:var(--kb-plum)!important}
#plain-site .kb-terms .support-options article:first-child h4,#plain-site .kb-terms .support-options article:first-child p{color:var(--kb-paper)!important}
#plain-site .kb-terms .support-options article:first-child::after{content:"выгоднее";position:absolute;top:14px;right:14px;padding:4px 10px;border-radius:var(--kb-r-pill);background:var(--kb-rose-2);font:600 var(--kb-fs-12)/1 var(--font-sans);color:var(--kb-plum)}
#plain-site .kb-terms .support-options h4{font:700 var(--kb-fs-20)/1.25 var(--kb-head)!important;margin:0 0 8px!important;padding-right:80px}
#plain-site .kb-terms .pricing-support>p{position:relative;margin:10px 0 0!important;padding:12px 14px 12px 44px!important;border-radius:var(--kb-r-sm);background:var(--kb-chip);color:var(--kb-plum)!important}
#plain-site .kb-terms .pricing-support>p::before{content:"";position:absolute;left:14px;top:14px;width:18px;height:18px;border-radius:50%;background:var(--kb-berry) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
#plain-site .kb-terms .pricing-support>p:nth-of-type(2)::before{background-color:#d9a35f}
#plain-site .kb-terms .pricing-support>p:nth-of-type(3)::before{background-color:#9a5ba0}
#plain-site[data-kb-theme="dark"] .kb-terms .support-options article:first-child{background:#5c2f52!important}

/* ---------- контакты: соцсети по ширине, QR ближе к подписи, письмо отличается от фона ---------- */
#plain-site .pt-contact .pt-cta{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%}
#plain-site .pt-contact .pt-cta .pt-btn.primary{grid-column:auto!important}
#plain-site .pt-contact .pt-qrs{justify-content:space-between;gap:12px}
#plain-site .pt-contact .pt-qrs figure{display:flex;flex-direction:column;align-items:center;gap:6px;width:auto;flex:1;padding:12px;border-radius:var(--kb-r-md);background:var(--kb-paper-2)}
#plain-site .pt-contact .pt-qrs img{width:112px;height:112px;margin:0}
#plain-site .pt-contact .pt-qrs figcaption{margin:0!important;line-height:1.2}
#plain-site[data-kb-theme="dark"] .kb-letter{background:#3a2436!important}
#plain-site[data-kb-theme="dark"] .kb-l-head{background:#4a2d45}
#plain-site[data-kb-theme="dark"] .pt-contact .pt-qrs figure{background:#fff}
@media(max-width:700px){
  #plain-site .pt-contact .pt-cta{grid-template-columns:1fr 1fr!important}
  #plain-site .pt-contact .pt-cta .pt-btn.primary{grid-column:1/-1!important}
}

/* ---------- код: смешные комментарии ---------- */
#plain-site .kb-src .kb-cm{font-style:italic;color:#c99ab8}

/* ---------- cookie: плашка снизу ---------- */
.kb-cookie{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:9500;display:flex;align-items:center;gap:14px;max-width:640px;margin:0 auto;padding:12px 12px 12px 18px;border-radius:var(--kb-r-lg);background:var(--kb-plum);color:var(--kb-paper);font:400 var(--kb-fs-14)/1.45 var(--font-sans);box-shadow:0 20px 40px -16px rgb(42 18 38/.6)}
.kb-cookie p{margin:0;flex:1}
.kb-cookie a{color:var(--kb-rose-2)}
.kb-cookie button{flex:none;min-height:40px;padding:0 18px;border:0;border-radius:var(--kb-r-pill);background:var(--kb-paper);color:var(--kb-plum);font:600 var(--kb-fs-14)/1 var(--font-sans);cursor:pointer}
/* на рабочем столе: уведомление справа сверху, как в macOS */
body:not(.static-mode) .kb-cookie{left:auto;right:16px;top:44px;bottom:auto;width:360px;max-width:calc(100vw - 32px);margin:0;align-items:flex-start;flex-direction:column;gap:10px;padding:14px 16px;border-radius:18px;background:rgb(251 243 245/.92);color:var(--kb-plum);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 50px -20px rgb(42 18 38/.55);animation:kb-notif .45s cubic-bezier(.2,.8,.2,1)}
body:not(.static-mode) .kb-cookie b{display:flex;align-items:center;gap:8px;font:600 var(--kb-fs-14)/1.2 var(--font-sans)}
body:not(.static-mode) .kb-cookie b img{width:20px;height:20px;border-radius:5px}
body:not(.static-mode) .kb-cookie a{color:var(--kb-berry)}
body:not(.static-mode) .kb-cookie button{align-self:flex-end;background:var(--kb-plum);color:var(--kb-paper)}
body.static-mode .kb-cookie b{display:none}
@keyframes kb-notif{from{opacity:0;transform:translateX(30px)}}
@media(prefers-reduced-motion:reduce){.kb-cookie{animation:none!important}}
.kc[data-single] .kc-cap:not(:has(.kc-view)){display:none}

/* ---------- сборка «только лендинг»: без рабочего стола ---------- */
html.kb-landing body>#desktop,html.kb-landing .menubar,html.kb-landing #dock,html.kb-landing #windows,html.kb-landing #quick-note-corner,
html.kb-landing .ios-status,html.kb-landing .ios-home,html.kb-landing #welcome,html.kb-landing #desktop{display:none!important}
html.kb-landing #plain-site .ps-os,html.kb-landing #plain-site .ps-back,html.kb-landing .kb-desk-note,html.kb-landing [data-mode="os"]{display:none!important}
html.kb-landing body.kb-phone .kb-desk-note,html.kb-landing body .kb-desk-note{display:none!important}

/* ---------- письмо уходит на почту ---------- */
#plain-site .kb-l-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
#plain-site .kb-l-ok{margin:16px;padding:18px;border-radius:var(--kb-r-sm);background:var(--kb-chip)}
#plain-site .kb-l-ok b{display:block;font:700 var(--kb-fs-20)/1.3 var(--kb-head);color:var(--kb-plum)}
#plain-site .kb-l-ok p{margin:6px 0 12px!important;font-size:var(--kb-fs-14)!important;color:var(--kb-wine)}
#plain-site .kb-l-again{min-height:40px;padding:0 16px;border:0;border-radius:var(--kb-r-pill);background:var(--kb-paper);color:var(--kb-plum);font:600 var(--kb-fs-14)/1 var(--font-sans);cursor:pointer}
#plain-site .kb-letter [type="submit"]:disabled{opacity:.6;cursor:progress}
#plain-site .kb-calc-sum #kb-c-mail+#kb-c-send{margin-top:8px}

#plain-site .package-common .kb-blockdef{flex-basis:100%;width:100%;margin:6px 0 0!important;font-size:var(--kb-fs-14);line-height:1.5;color:var(--kb-wine)}

/* новое фото: лицо выше центра */
#plain-site .pt-portrait img{object-position:50% 24%!important}
/* узкое окно и планшет: фото не растягивается во всю ширину, точка-спутник скрыта */
@media(max-width:1100px){#plain-site .kb-orbit{display:none!important}}
@media(min-width:821px) and (max-width:1100px){#plain-site .pt-portrait{width:min(100%,400px);margin-inline:auto}#plain-site .pt-portrait img{height:auto!important;aspect-ratio:4/5}}

/* ---------- первый экран на телефоне и в узком окне: имя и плашки поверх фото ---------- */
@media(max-width:820px){
  #plain-site .pt-hero{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:0!important;padding-top:12px!important}
  #plain-site .pt-hero-text{display:contents!important}
  #plain-site .pt-hero .pt-portrait{grid-area:1/1;width:100%!important;max-width:none;margin:0!important;position:relative;border-radius:28px;overflow:hidden}
  #plain-site .pt-hero .pt-portrait img{width:100%;height:auto!important;aspect-ratio:4/5;max-height:72svh;object-position:50% 22%!important;border-radius:28px!important;box-shadow:none!important}
  #plain-site .pt-hero .pt-portrait::after{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(to top,rgb(42 18 38/.88) 0%,rgb(42 18 38/.55) 26%,rgb(42 18 38/0) 52%);pointer-events:none}
  #plain-site .pt-hero .kb-ring,#plain-site .pt-hero .kb-orbit,#plain-site .pt-hero .pt-portrait .kb-tag,#plain-site .pt-hero .pt-portrait figcaption{display:none!important}
  #plain-site .pt-hero .kb-hero-row{grid-area:1/1;align-self:start;justify-self:start;z-index:2;margin:14px!important;display:flex;flex-wrap:wrap;gap:8px}
  #plain-site .pt-hero .kb-hero-row>*{margin:0!important;background:rgb(251 243 245/.88)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:transparent!important;color:#4a2140!important}
  #plain-site .pt-hero .kb-hero-row>* *{color:#4a2140!important}
  #plain-site .pt-hero h1{grid-area:1/1;align-self:end;z-index:2;margin:0 18px 18px!important;color:#fbf3f5!important;text-shadow:0 2px 18px rgb(42 18 38/.45)}
  #plain-site .pt-hero h1 .kb-tag,#plain-site .pt-hero h1 [class*="tag"]{color:rgb(251 243 245/.7)!important}
  #plain-site .pt-hero h1 .kb-caret{background:#fbf3f5!important;border-color:#fbf3f5!important}
  #plain-site .pt-hero .pt-lead{grid-row:2;margin:18px 2px 0!important}
  #plain-site .pt-hero .pt-cta{grid-row:3;margin-top:16px!important}
}
@media(min-width:560px) and (max-width:820px){
  #plain-site .pt-hero .pt-portrait img{aspect-ratio:1/1;max-height:62svh;object-position:50% 18%!important}
}
/* печатание: пока печатается, курсор не мигает */
#plain-site .kb-caret.kb-typing{animation:none!important;opacity:1!important}
#plain-site .pt-lead .kb-caret{height:1.1em;width:2px;vertical-align:-.15em;margin-left:1px}
/* первый экран целиком, вместе со строкой услуг */
@media(max-width:820px){
  #plain-site .pt-hero{height:calc(100svh - 124px);min-height:500px;max-height:880px;grid-template-rows:minmax(0,1fr) auto auto!important;padding-bottom:14px!important;box-sizing:border-box}
  #plain-site .pt-hero .pt-portrait{min-height:0;height:100%}
  #plain-site .pt-hero .pt-portrait img{height:100%!important;aspect-ratio:auto!important;max-height:none!important}
  #plain-site .pt-hero .pt-lead{margin-top:14px!important}
  #plain-site .pt-hero .pt-cta{margin-top:12px!important}
}


/* Source: brand-os.css */
/* Kate Mokey · рабочий стол: правки по отзыву 25 октября */

/* ---------- окно «Обсудить проект» как новое письмо в iCloud Почте ---------- */
html body .window[data-app="contact"] .window-content{background:#fffafc}
html body .ml{padding:0 20px 16px!important;gap:0}
html body .ml .brief-intro{margin:12px 0 4px!important;padding:10px 14px!important;border-radius:12px;background:#f6e3ea!important;color:#7a3d68!important;font-size:13px!important;border:0!important}
html body .ml-row,html body .ml-row:has(label){flex-direction:row!important;align-items:center!important;gap:10px!important;min-height:46px!important;padding:0!important;border:0!important;border-bottom:1px solid #ecd3dc!important}
html body .ml-row>span:first-child,html body .ml-row label{flex:none;min-width:58px;font:400 14px/1 var(--font-sans)!important;color:#9b5a86!important}
html body .ml-row input,html body .ml-row select{flex:1;min-height:40px!important;padding:0 4px!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;font:400 15px/1.3 var(--font-sans)!important;color:#4a2140!important}
html body .ml-row input:focus-visible,html body .ml-row select:focus-visible{box-shadow:inset 0 -2px 0 #93386f!important;outline:none}
html body .ml-chip{background:#f6e3ea!important;color:#93386f!important;border-radius:999px!important;padding:4px 10px!important;font-weight:500}
html body .ml .brief-task-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html body .ml>textarea{flex:1;min-height:150px;margin:0!important;padding:14px 0 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font:400 15px/1.6 var(--font-sans)!important;color:#4a2140!important}
html body .ml>textarea:focus-visible{outline:none;box-shadow:inset 0 -2px 0 #93386f!important}
html body .ml-consent{padding-top:12px;border-top:1px solid #ecd3dc;color:#7a3d68!important;font-size:13px!important}
html body .ml .brief-submit{align-self:flex-end;margin-top:12px!important;border-radius:999px!important;background:#4a2140!important;color:#fbf3f5!important}
html body .mt-send{display:grid!important;place-items:center;width:30px;height:30px;border-radius:50%!important;background:#4a2140!important;color:#fbf3f5!important}

/* ---------- приветствие «маршрут»: наши цвета вместо голубого ---------- */
html body .welcome{background:#fbf3f5!important;border-color:#ecd3dc!important}
html body .welcome form{background:#fbf3f5!important}
html body .welcome .welcome-mark img{display:block;height:44px;width:auto}
html body .welcome h2,html body .welcome .routes b{color:#4a2140!important}
html body .welcome h2 em{color:#93386f!important}
html body .welcome p,html body .welcome small{color:#7a3d68!important}
html body .welcome .routes button{background:#f6e3ea!important;border:0!important;border-radius:16px!important;transition:background .2s,transform .2s}
html body .welcome .routes button:hover{background:#f2c6d6!important;transform:translateY(-2px)}
html body .welcome-skip{color:#4a2140!important;border:0!important;background:#f6e3ea!important}

/* ---------- поиск: без чёрной рамки ---------- */
html body #search-input,html body #search-input:focus,html body #search-input:focus-visible{outline:none!important;border:0!important;box-shadow:none!important}
html body .spotlight .search-field{border:0!important;box-shadow:none!important}
html body .spotlight .search-field:focus-within{box-shadow:inset 0 -2px 0 #f2c6d6!important}

/* ---------- Finder списком: обложки проектов ---------- */
html body .mf-mini{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;border-radius:7px;overflow:hidden;vertical-align:middle;background:#f6e3ea}
html body .mf-mini img{width:100%;height:100%;object-fit:cover;object-position:top}

/* ---------- разворот окна: плавно ---------- */
html body .window.kb-anim{transition:left .32s cubic-bezier(.2,.8,.2,1),top .32s cubic-bezier(.2,.8,.2,1),width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1),inset .32s cubic-bezier(.2,.8,.2,1),border-radius .32s!important}
@media(prefers-reduced-motion:reduce){html body .window.kb-anim{transition:none!important}}

/* ---------- связь со мной: три кнопки и телефон ---------- */
html body .ref-contact header b{font-family:var(--kb-head)}
html body .rc-body{gap:10px!important}
html body .rc-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
html body .rc-icons a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px 8px;border-radius:12px;background:#f6e3ea;color:#4a2140;text-decoration:none;font:500 12px/1 var(--font-sans);transition:background .2s,transform .2s}
html body .rc-icons a:first-child{background:#4a2140;color:#fbf3f5}
html body .rc-icons a:hover{transform:translateY(-2px)}
html body .rc-icons svg{width:20px;height:20px;fill:currentColor}
html body .rc-phone{text-align:center;font:500 13px/1.2 var(--font-sans)!important;color:#4a2140!important}
html body.ref-desk .desktop-widgets>.ref-contact{height:auto!important}

/* ---------- мои услуги: ровные строки ---------- */
html body.ref-desk .rs-row{align-items:center!important;min-height:52px}
html body.ref-desk .rs-row img{width:34px!important;height:34px!important}
html body.ref-desk .rs-row b{font-size:13px!important}
html body.ref-desk .rs-row small{font-size:12px!important;margin-top:2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.ref-desk .rs-row>span:nth-child(2){min-width:0;flex:1}
html body.ref-desk .desktop-widgets{padding-bottom:12px;max-height:calc(100vh - 30px - 110px);overflow:auto;scrollbar-width:none}
html body.ref-desk .desktop-widgets::-webkit-scrollbar{display:none}

/* ---------- игры: игра сверху, достижения маленькими карточками ---------- */
html body .quest-page .bug-game{margin-top:12px}
html body .quest-h{margin:22px 0 10px;font:700 16px/1.2 var(--kb-head);color:#4a2140}
html body .quest-mini{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
html body .quest-mini .quest-card{padding:10px 12px!important;min-height:0!important;border-radius:14px!important}
html body .quest-mini .medal{width:28px!important;height:28px!important;font-size:14px!important}
html body .quest-mini b{font-size:13px!important;margin:6px 0 2px!important}
html body .quest-mini p{font-size:12px!important;margin:0!important;line-height:1.35}
html body .quest-mini small{font-size:11px!important}
@media(max-width:900px){html body .quest-mini{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ---------- календарь: свой распорядок отмечен ---------- */
html body .event-row{border-radius:10px}
#change-route,#reset-layout,#close-all-system{display:none!important}


/* Source: brand-v2.css */
/* Kate Mokey · тарифы, «входит в пакет», поддержка, документы (правки 25 октября, вечер) */

/* ---------- тарифы: горит тот, что в центре (телефон) или под мышкой (компьютер) ---------- */
#plain-site .pt-pack{border:2px solid transparent!important;outline:0!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .35s,background-color .3s;transform-origin:50% 40%}
#plain-site .pt-pack.kb-on{border-color:#4a2140!important;background:#fff7fa!important;transform:scale(1.035);box-shadow:0 26px 50px -30px rgb(74 33 64/.55)!important;z-index:1}
#plain-site .pt-pack.kb-on .pt-btn{background:#4a2140!important;color:#fbf3f5!important;border-color:#4a2140!important}
#plain-site[data-kb-theme="dark"] .pt-pack.kb-on{border-color:#f39cc4!important;background:#331f31!important}
#plain-site[data-kb-theme="dark"] .pt-pack.kb-on .pt-btn{background:#f39cc4!important;color:#2a1226!important;border-color:#f39cc4!important}
#plain-site .pt-packs{padding-top:22px!important;padding-bottom:22px!important}
@media(min-width:900px){#plain-site .pt-packs{overflow:visible}}
@media(prefers-reduced-motion:reduce){#plain-site .pt-pack{transition:none}#plain-site .pt-pack.kb-on{transform:none}}

/* ---------- входит в любой пакет ---------- */
#plain-site .kb-common[data-v2]{display:grid!important;gap:14px;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
#plain-site .v2-inc{padding:22px;border-radius:var(--kb-r-lg);background:var(--kb-paper)}
#plain-site .v2-inc h3,#plain-site .v2-sup>h3{margin:0 0 14px!important;font:700 var(--kb-fs-20,20px)/1.25 var(--kb-head)!important;color:var(--kb-plum)!important;letter-spacing:0;text-transform:none}
#plain-site .v2-inc ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
#plain-site .v2-inc li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--kb-r-md);background:var(--kb-chip);font:500 15px/1.35 var(--font-sans);color:var(--kb-plum)}
#plain-site .v2-inc li::before{display:none!important}
#plain-site .v2-inc i,#plain-site .v2-facts i,#plain-site .v2-note>i{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#4a2140;color:#fbf3f5}
#plain-site .v2-inc svg,#plain-site .v2-facts svg,#plain-site .v2-note svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#plain-site .v2-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#plain-site .v2-b{padding:18px 20px;border-radius:var(--kb-r-lg);background:var(--kb-paper);border:1.5px dashed var(--kb-line)}
#plain-site .v2-b h4{margin:0!important;font:700 16px/1.3 var(--kb-head)!important;color:var(--kb-plum)!important}
#plain-site .v2-b p{margin:4px 0 12px!important;font-size:14px!important;line-height:1.45;color:var(--kb-wine)!important}
#plain-site .v2-chips{display:flex;flex-wrap:wrap;gap:6px}
#plain-site .v2-chips span{padding:6px 11px;border-radius:var(--kb-r-pill);background:var(--kb-chip);font:500 13px/1.2 var(--font-sans);color:var(--kb-plum)}
#plain-site .v2-b--extra{border-style:solid;border-color:transparent;background:var(--kb-chip)}
#plain-site .v2-b--extra .v2-chips span{background:var(--kb-paper)}
#plain-site .v2-b--extra .v2-chips span::before{content:"+ ";color:var(--kb-berry);font-weight:700}

/* ---------- поддержка после запуска ---------- */
#plain-site .v2-sup{margin-top:14px;padding:22px;border-radius:var(--kb-r-lg);background:var(--kb-paper)}
#plain-site .v2-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#plain-site .v2-plan{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-radius:var(--kb-r-md);background:var(--kb-chip);color:var(--kb-plum)}
#plain-site .v2-plan header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px}
#plain-site .v2-plan header b{font:600 16px/1.2 var(--font-sans)}
#plain-site .v2-tag{flex:none;padding:5px 11px;border-radius:var(--kb-r-pill);background:#f2c6d6;color:#4a2140;font:600 12px/1 var(--font-sans);letter-spacing:.02em}
#plain-site .v2-price{display:flex;align-items:baseline;gap:8px;margin:0!important}
#plain-site .v2-price strong{font:700 32px/1 var(--kb-price,var(--kb-head));letter-spacing:-.01em;white-space:nowrap}
#plain-site .v2-price span{font-size:14px;opacity:.8}
#plain-site .v2-plan>p:last-child{margin:2px 0 0!important;font-size:14px!important;line-height:1.5;color:inherit!important;opacity:.85}
#plain-site .v2-plan--main{background:#4a2140;color:#fbf3f5}
#plain-site[data-kb-theme="dark"] .v2-plan--main{background:#5c2f52}
#plain-site .v2-facts{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#plain-site .v2-facts li{display:flex;gap:12px;align-items:flex-start;padding:4px 0}
#plain-site .v2-facts li::before{display:none!important}
#plain-site .v2-facts i{background:var(--kb-chip);color:var(--kb-berry)}
#plain-site .v2-facts span{font-size:14px;line-height:1.45;color:var(--kb-wine)}
#plain-site .v2-facts b{display:block;margin-bottom:2px;font:600 15px/1.3 var(--font-sans);color:var(--kb-plum)}
#plain-site .v2-note{display:flex;gap:12px;margin-top:16px;padding:14px 16px;border-radius:var(--kb-r-md);border:1.5px dashed var(--kb-line)}
#plain-site .v2-note>i{width:32px;height:32px;border-radius:10px;background:var(--kb-chip);color:var(--kb-berry)}
#plain-site .v2-note p{margin:0!important;font-size:13.5px!important;line-height:1.5;color:var(--kb-wine)!important}
#plain-site .v2-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px!important}
#plain-site .v2-links span{width:100%}
#plain-site .v2-links a{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:var(--kb-r-pill);background:var(--kb-chip);color:var(--kb-plum)!important;font:600 13px/1 var(--font-sans);text-decoration:none!important}
#plain-site .v2-links a:hover{background:#f2c6d6;color:#4a2140!important}
@media(max-width:700px){
  #plain-site .v2-blocks,#plain-site .v2-plans,#plain-site .v2-facts{grid-template-columns:1fr}
  #plain-site .v2-inc,#plain-site .v2-sup{padding:18px 16px}
  #plain-site .v2-inc li{padding:10px 12px;font-size:14px}
}

/* ---------- документы: оформление страниц ---------- */
#doc-overlay .dov-box{background:#f6ebef}
#doc-overlay[data-kb-theme="dark"] .dov-box{background:#221522}
#doc-overlay .dov-box nav{background:var(--kb-paper);position:relative}
#doc-overlay .dc-page{counter-reset:dh;overflow:auto}
#doc-overlay .dc-page>*{max-width:68ch}
#doc-overlay .dc-page h1{position:relative;margin:4px 0 6px!important;padding-left:58px;min-height:44px;display:flex;align-items:center;font:700 clamp(24px,4.4vw,32px)/1.15 var(--kb-head)!important;color:var(--kb-plum)!important}
#doc-overlay .dc-page h1::before{content:"";position:absolute;left:0;top:50%;width:44px;height:44px;margin-top:-22px;border-radius:14px;background:#4a2140 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fbf3f5' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M7 3h7l4 4v14H7z'/><path d='M14 3v4h4M10 12h5M10 15.5h5'/></svg>") center/22px no-repeat}
#doc-overlay .doc-meta{display:inline-block;margin:6px 0 10px!important;padding:5px 12px;border-radius:999px;background:var(--kb-chip);font:500 13px/1.2 var(--kb-mono)!important;color:var(--kb-wine)!important}
#doc-overlay .dc-page h2{margin:26px 0 10px!important;padding:12px 16px;border-radius:14px;background:var(--kb-paper);border-left:4px solid #93386f;font:700 18px/1.3 var(--kb-head)!important;color:var(--kb-plum)!important}
#doc-overlay .dc-page p{line-height:1.65;color:var(--kb-plum)}
#doc-overlay .dc-page ul{list-style:none;padding:0;margin:10px 0}
#doc-overlay .dc-page ul li{position:relative;padding:10px 14px 10px 46px;margin:0 0 8px;border-radius:12px;background:var(--kb-paper);line-height:1.5}
#doc-overlay .dc-page ul li::before{content:"";position:absolute;left:14px;top:12px;width:20px;height:20px;border-radius:50%;background:#93386f url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
#doc-overlay .dc-page ol{list-style:none;counter-reset:st;padding:0;margin:12px 0;position:relative}
#doc-overlay .dc-page ol::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:repeating-linear-gradient(#d9a7c2 0 5px,transparent 5px 10px)}
#doc-overlay .dc-page ol li{counter-increment:st;position:relative;padding:8px 0 8px 52px;min-height:36px;line-height:1.5}
#doc-overlay .dc-page ol li::before{content:counter(st);position:absolute;left:0;top:4px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#4a2140;color:#fbf3f5;font:700 15px/1 var(--kb-head)}
#doc-overlay .dc-page details{margin:0 0 10px;border-radius:14px;background:var(--kb-paper);overflow:hidden}
#doc-overlay .dc-page summary{position:relative;list-style:none;padding:16px 52px 16px 18px;font:600 16px/1.35 var(--font-sans);color:var(--kb-plum);cursor:pointer}
#doc-overlay .dc-page summary::-webkit-details-marker{display:none}
#doc-overlay .dc-page summary::after{content:"+";position:absolute;right:16px;top:50%;width:28px;height:28px;margin-top:-14px;display:grid;place-items:center;border-radius:50%;background:var(--kb-chip);color:#93386f;font:500 20px/1 var(--font-sans);transition:transform .25s}
#doc-overlay .dc-page details[open] summary::after{transform:rotate(45deg)}
#doc-overlay .dc-page details>*:not(summary){padding:0 18px;margin-bottom:14px}
#doc-overlay .dc-page details .pricing-support{padding:0 18px 4px}
#doc-overlay .dc-page details .pricing-support h3{font:700 16px/1.3 var(--kb-head);margin:4px 0 10px}
#doc-overlay .dc-page details .support-options{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
#doc-overlay .dc-page details .support-options article{padding:12px 14px;border-radius:12px;background:var(--kb-chip)}
#doc-overlay .dc-page details .support-options h4{margin:0 0 4px;font:600 15px/1.3 var(--font-sans)}
#doc-overlay .dc-page mark{background:#f2c6d6;color:#4a2140;border-radius:4px;padding:0 4px}
#doc-overlay .dc-page a{color:#93386f}
@media(max-width:700px){
  #doc-overlay .dc-page h1{padding-left:52px}
  #doc-overlay .dc-page h1::before{width:40px;height:40px;margin-top:-20px}
  #doc-overlay .dc-page h2{font-size:16px!important;padding:10px 14px}
  #doc-overlay .dov-box nav::after{content:"";position:sticky;right:0;flex:none;width:1px}
}
#plain-site .v2-plan--main,#plain-site .v2-plan--main b,#plain-site .v2-plan--main p,#plain-site .v2-plan--main strong,#plain-site .v2-plan--main span:not(.v2-tag){color:#fbf3f5!important}
#plain-site .v2-plan:not(.v2-plan--main) strong,#plain-site .v2-plan:not(.v2-plan--main) b{color:var(--kb-plum)!important}
#doc-overlay .dc-page summary::before{display:none!important;content:none!important}
#doc-overlay .dov-x{z-index:3;box-shadow:0 0 0 6px var(--kb-paper)}
@media(max-width:700px){#doc-overlay .dov-x{top:max(6px,env(safe-area-inset-top))!important;width:40px!important;height:40px!important}#doc-overlay .dov-box nav{padding-right:60px!important}}

/* ---------- правки: рамка не обрезается, плитки компактнее, поддержка свёрнута, шапка документов ---------- */
@media(max-width:899px){
  #plain-site .pt-packs{padding-left:14px!important;padding-right:14px!important;margin-left:-14px!important;margin-right:-14px!important;scroll-padding-inline:14px}
  #plain-site .pt-pack.kb-on{transform:scale(1.02)}
}
#plain-site .v2-inc{padding:18px 20px}
#plain-site .v2-inc h3,#plain-site .v2-sup>h3{font-size:18px!important;margin-bottom:12px!important}
#plain-site .v2-inc ul{gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
#plain-site .v2-inc li{gap:10px;padding:8px 12px 8px 8px;font-size:14px;line-height:1.3;border-radius:14px}
#plain-site .v2-inc i{width:30px;height:30px;border-radius:9px}
#plain-site .v2-inc svg{width:16px;height:16px}
@media(max-width:700px){#plain-site .v2-inc li{font-size:13.5px;padding:7px 10px 7px 7px}#plain-site .v2-inc{padding:16px 14px}}

#plain-site .v2-sup{padding:0;background:none}
#plain-site .v2-sup-d{border-radius:var(--kb-r-lg);background:var(--kb-paper);overflow:hidden}
#plain-site .v2-sup-d>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;cursor:pointer}
#plain-site .v2-sup-d>summary::-webkit-details-marker{display:none}
#plain-site .v2-sup-d>summary::before{display:none!important}
#plain-site .v2-sup-d summary b{display:block;font:700 18px/1.25 var(--kb-head);color:var(--kb-plum)}
#plain-site .v2-sup-d summary small{display:block;margin-top:4px;font:400 13.5px/1.35 var(--font-sans)!important;color:var(--kb-wine)!important}
#plain-site .v2-sup-d summary i{flex:none;position:relative;width:34px;height:34px;border-radius:50%;background:var(--kb-chip);transition:transform .25s}
#plain-site .v2-sup-d summary i::before,#plain-site .v2-sup-d summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;border-radius:2px;background:var(--kb-berry)}
#plain-site .v2-sup-d summary i::after{transform:rotate(90deg)}
#plain-site .v2-sup-d[open] summary i{transform:rotate(45deg)}
#plain-site .v2-sup-body{padding:0 20px 20px}
@media(max-width:700px){#plain-site .v2-sup-d>summary{padding:16px}#plain-site .v2-sup-body{padding:0 16px 16px}}

#doc-overlay .dov-box{display:flex!important;flex-direction:column!important;overflow:hidden!important}
#doc-overlay .dov-box nav{flex:none!important;display:flex!important;flex-wrap:wrap!important;overflow:visible!important;position:relative;z-index:2;padding:14px 64px 12px 16px!important}
#doc-overlay .dov-box nav a{flex:none}
#doc-overlay .dc-page{flex:1 1 auto;min-height:0;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
#doc-overlay .dov-x{position:absolute!important;top:10px!important;right:12px!important;width:40px!important;height:40px!important}
@media(max-width:700px){#doc-overlay .dov-box nav{padding:max(12px,env(safe-area-inset-top)) 60px 10px 12px!important;gap:6px!important}#doc-overlay .dov-box nav a{min-height:34px;padding:0 12px}#doc-overlay .dov-x{top:max(10px,env(safe-area-inset-top))!important}}

/* работы: фильтр в одну строку, в просмотре кейса на телефоне без длинного списка вкладок */
#plain-site .kw-filter{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
#plain-site .kw-filter::-webkit-scrollbar{display:none}
#plain-site .kw-filter button{flex:none}
@media(max-width:700px){.kc .kc-tabs{display:none!important}}


/* Source: design-system.css */
/* Katemokey design system v1. Light portfolio theme; aliases migrate legacy components.
   Layer order: desktop < windows < menu < native dialog top layer. */
:root{
 --km-accent:#4a2140;--km-accent-hover:#5e2b52;--km-accent-active:#2e1428;
 --km-soft:#f6e3ea;--km-ink:#3a1a33;--km-muted:#7a3d68;--km-paper:#fbf3f5;
 --km-surface:#fff;--km-line:#ecd3dc;--km-control-line:#a07a90;--km-error:#ad2435;
 --km-space-1:4px;--km-space-2:8px;--km-space-3:12px;--km-space-4:16px;
 --km-space-5:24px;--km-space-6:32px;--km-space-7:48px;
 --km-radius-control:8px;--km-radius-card:16px;--km-radius-window:24px;
 --km-font:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --km-font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
 --km-text-xs:12px;--km-text-sm:14px;--km-text-md:16px;--km-text-lg:24px;--km-leading:1.6;
 --km-control-sm:36px;--km-control-md:44px;
 --km-shadow:0 12px 36px rgb(74 33 64/.15);--km-fast:140ms;--km-normal:220ms;--km-ease:cubic-bezier(.2,.8,.2,1);
}
html body{
 --accent:var(--km-accent);--accent-dark:var(--km-accent);--rose:var(--km-accent);
 --font-mono:var(--km-font-mono);--mac-accent:var(--km-accent);--mac-accent-soft:var(--km-soft);
 --mac-ink:var(--km-ink);--mac-ink2:var(--km-muted);--mac-ink3:var(--km-muted);
 --mac-line:var(--km-line);--ps-blue:var(--km-accent);--ps-violet:var(--km-accent);
}
/* Legacy names are compatibility aliases, not separate component implementations. */
:is(.km-button,.mac-btn,.pt-btn,.primary,.secondary){
 --button-bg:var(--km-surface);--button-ink:var(--km-ink);--button-border:var(--km-control-line);
 --button-hover:var(--km-soft);--button-active:#d7e8f4;
 display:inline-flex;align-items:center;justify-content:center;gap:var(--km-space-2);
 min-height:var(--km-control-sm);height:auto;padding:var(--km-space-2) var(--km-space-4);
 border:1px solid var(--button-border);border-radius:var(--km-radius-control);
 background:var(--button-bg);color:var(--button-ink);box-shadow:none;text-shadow:none;
 font:600 var(--km-text-sm)/1.25 var(--km-font);text-decoration:none;white-space:nowrap;
 cursor:pointer;transition:background var(--km-fast) var(--km-ease),transform var(--km-fast) var(--km-ease);
}
:is(.km-button--primary,.primary,.pt-pack .pt-btn){
 --button-bg:var(--km-accent);--button-ink:#fff;--button-border:var(--km-accent);
 --button-hover:var(--km-accent-hover);--button-active:var(--km-accent-active);
}
:is(.km-button--ghost){--button-bg:transparent;--button-border:transparent;--button-ink:var(--km-accent)}
:is(.km-button--md,.pt-btn){min-height:var(--km-control-md);padding-inline:var(--km-space-5)}
:is(.km-button,.mac-btn,.pt-btn,.primary,.secondary):hover:not(:disabled):not([aria-disabled=true]){background:var(--button-hover);color:var(--button-ink)}
:is(.km-button,.mac-btn,.pt-btn,.primary,.secondary):active:not(:disabled):not([aria-disabled=true]){background:var(--button-active);transform:scale(.98)}
:is(.km-button,.mac-btn,.pt-btn,.primary,.secondary):is(:disabled,[aria-disabled=true],[aria-busy=true]){background:#eedde4;color:#7a3d68;border-color:#c2ced7;cursor:default;transform:none;box-shadow:none}
:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--km-accent);outline-offset:3px}
:is(.km-field,.ml-row input:not([type=checkbox]),.ml-row select,.ml>textarea,.ml-sheet-box textarea){
 box-sizing:border-box;width:100%;min-width:0;min-height:var(--km-control-md);padding:10px var(--km-space-3);
 border:1px solid var(--km-control-line);border-radius:var(--km-radius-control);
 background:var(--km-surface);color:var(--km-ink);font:var(--km-text-sm)/var(--km-leading) var(--km-font);
}
/* Existing form selectors retain specificity until the old mail stylesheet is retired. */
html body .ml-row input,html body .ml-row select,html body .ml>textarea,html body .ml-sheet-box textarea{border:1px solid var(--km-control-line);border-radius:var(--km-radius-control);padding:10px var(--km-space-3);background:var(--km-surface);color:var(--km-ink);min-height:var(--km-control-md);font:var(--km-text-sm)/var(--km-leading) var(--km-font)}
.ml-row:has(label){flex-direction:column;align-items:stretch;gap:var(--km-space-1);padding-block:var(--km-space-2);border:0}
.ml-row label,.brief-task-label,.km-label{font-size:var(--km-text-sm);font-weight:600;color:var(--km-ink)}
:is(.km-field,.ml input,.ml textarea)::placeholder{color:var(--km-muted);opacity:1}
html body :is(.km-field,.ml-row input,.ml-row select,.ml>textarea)[aria-invalid=true]{border-color:var(--km-error);box-shadow:0 0 0 1px var(--km-error)}
.km-field-error{color:var(--km-error);font-size:var(--km-text-xs);line-height:var(--km-leading);margin:var(--km-space-1) 0 var(--km-space-2)}
.km-help{color:var(--km-muted);font-size:var(--km-text-xs);line-height:var(--km-leading)}
/* Native dialog owns modality, focus containment, Escape and nested dialog stacking. */
dialog.ql,dialog#doc-overlay{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;background:transparent;box-sizing:border-box;color:var(--km-ink);padding:var(--km-space-4)}
dialog.ql:not([open]),dialog#doc-overlay:not([open]),dialog.ml-sheet:not([open]){display:none}
dialog.ql[open],dialog#doc-overlay[open]{display:grid;place-items:center}
dialog.ml-sheet{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 32px));height:max-content;max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--km-line);border-radius:var(--km-radius-window);background:var(--km-paper);color:var(--km-ink);overflow:auto;box-shadow:var(--km-shadow)}
dialog.ml-sheet[open]{display:block}
dialog.ml-sheet .ml-sheet-box{width:100%;box-sizing:border-box;border-radius:0;box-shadow:none;transform:none;padding:var(--km-space-5);background:var(--km-paper);gap:var(--km-space-3)}
dialog::backdrop{background:rgb(20 38 50/.55);backdrop-filter:blur(6px)}
.ql-win,.dov-box{border-radius:var(--km-radius-window)}
.km-card{padding:var(--km-space-5);border:1px solid var(--km-line);border-radius:var(--km-radius-card);background:var(--km-surface)}
@media(pointer:coarse){:is(.mac-btn,.primary,.secondary){min-height:var(--km-control-md)}}
@media(prefers-reduced-motion:reduce){:root{--km-fast:0ms;--km-normal:0ms}}
@media(max-width:767px){.ml-sheet-actions{flex-wrap:wrap}.ml-sheet-actions>*{flex:1}.ml-row:has(label){min-height:0}}
.km-field:disabled{background:#eedde4;color:var(--km-muted);cursor:not-allowed}
.km-field[readonly]{background:var(--km-soft)}


/* Source: works-showcase.css */
/* Выбранная концепция: большой экран, история справа, шесть работ снизу. */
#plain-site #ps-work{--ks-ink:var(--kb-plum,#efd9e8);--ks-muted:var(--kb-muted,#bda9ba);--ks-line:var(--kb-line,rgba(220,173,203,.24));--ks-accent:var(--kb-pink,#efd9e8);overflow:visible}
#plain-site #ps-work .ks-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:34px}
#plain-site #ps-work .ks-heading h2{font-size:clamp(30px,3.6vw,48px)!important;line-height:1.14!important;max-width:760px;margin:0!important;text-transform:none!important;letter-spacing:-.035em!important}
#plain-site #ps-work .ks-heading p{max-width:240px;margin:0 0 4px;font-size:14px;line-height:1.6;color:var(--ks-muted)}
#plain-site #ps-work .ks-stage{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);gap:38px;align-items:center;outline-offset:8px}
#plain-site #ps-work .ks-screen{position:relative;display:block;width:100%;padding:0;border:1px solid var(--ks-line);border-radius:14px;overflow:hidden;background:#ede7e2;cursor:pointer;aspect-ratio:1280/900;box-shadow:none}
#plain-site #ps-work .ks-screen>img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:none;filter:none;opacity:1}
#plain-site #ps-work .ks-zoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#2d2230;color:#f4e3ed;font:24px/1 sans-serif;box-shadow:0 0 0 1px #efd9e84d}
#plain-site #ps-work .ks-info{min-width:0;display:flex;flex-direction:column;align-items:start;gap:23px;padding:8px 0}
#plain-site #ps-work .ks-status{display:inline-flex;padding:7px 12px;border:1px solid var(--ks-line);border-radius:50px;font-size:12px;line-height:1.4;color:var(--ks-ink)}
#plain-site #ps-work .ks-info h3{margin:0!important;font:500 clamp(28px,3vw,42px)/1.12 var(--kb-head,var(--font-sans,sans-serif))!important;letter-spacing:-.03em;color:var(--ks-ink);text-transform:none}
#plain-site #ps-work .ks-info p{margin:0;font-size:16px;line-height:1.65;color:var(--ks-muted);max-width:34ch}
#plain-site #ps-work .ks-open{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:8px;padding:15px 20px;min-height:50px;background:#efd9e8;color:#302334;font:600 15px/1.25 var(--font-sans,sans-serif);cursor:pointer}
#plain-site #ps-work .ks-open:hover{background:#e4bbd4}
#plain-site #ps-work .ks-counter{font-size:12px;color:var(--ks-muted);font-variant-numeric:tabular-nums}
#plain-site #ps-work .ks-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;border-top:1px solid var(--ks-line);margin-top:28px;padding-top:20px;overflow:visible}
#plain-site #ps-work .ks-tab{display:block;position:relative;min-width:0;text-align:left;border:0;border-radius:0;padding:0 0 10px;background:transparent;color:var(--ks-muted);cursor:pointer;font-family:var(--font-sans,sans-serif)}
#plain-site #ps-work .ks-tab:before{content:'';position:absolute;top:-22px;left:0;right:0;height:3px;background:transparent;border-radius:4px}
#plain-site #ps-work .ks-tab[aria-selected=true]:before{background:#dda5c7}
#plain-site #ps-work .ks-thumb{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:6px;border:1px solid var(--ks-line);opacity:.65;transition:opacity .15s}
#plain-site #ps-work .ks-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;filter:none}
#plain-site #ps-work .ks-tab:hover .ks-thumb,#plain-site #ps-work .ks-tab[aria-selected=true] .ks-thumb{opacity:1}
#plain-site #ps-work .ks-tab[aria-selected=true]{color:var(--ks-ink)}
#plain-site #ps-work .ks-tab-label{display:flex;gap:8px;align-items:baseline;margin-top:10px;font-size:13px;line-height:1.4}
#plain-site #ps-work .ks-tab-label small{font-size:10px;opacity:.8}
#plain-site #ps-work :is(.ks-tab,.ks-open,.ks-screen):focus-visible{outline:3px solid #d69fc2;outline-offset:5px}
#plain-site #ps-work .ks-review{display:flex;gap:20px;align-items:start;border-top:1px solid var(--ks-line);padding:28px 0 0;margin:34px 0 0;max-width:790px}
#plain-site #ps-work .ks-review>img{width:54px;height:54px;object-fit:cover;border-radius:50%;flex-shrink:0}
#plain-site #ps-work .ks-review blockquote{padding:0;margin:0 0 12px;border:0;font-size:15px;line-height:1.65;color:var(--ks-ink)}
#plain-site #ps-work .ks-review p{display:flex;gap:12px;flex-wrap:wrap;margin:0;font-size:12px;line-height:1.5;color:var(--ks-muted)}
@media(max-width:1000px){#plain-site #ps-work .ks-heading p{display:none}#plain-site #ps-work .ks-stage{gap:24px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}#plain-site #ps-work .ks-info{gap:16px}#plain-site #ps-work .ks-info p{font-size:14px}#plain-site #ps-work .ks-tabs{gap:12px}}
@media(max-width:700px){#plain-site #ps-work .ks-heading{margin-bottom:26px}#plain-site #ps-work .ks-stage{display:flex;flex-direction:column;align-items:stretch;gap:22px}#plain-site #ps-work .ks-screen{border-radius:10px}#plain-site #ps-work .ks-info{display:grid;grid-template-columns:1fr auto;gap:14px 10px;padding:0}#plain-site #ps-work .ks-status{grid-column:1/-1;justify-self:start;font-size:11px}#plain-site #ps-work .ks-info h3{grid-column:1/-1;font-size:30px!important}#plain-site #ps-work .ks-info p{grid-column:1/-1;max-width:50ch;font-size:15px;min-height:5em}#plain-site #ps-work .ks-open{justify-self:start;font-size:14px;padding:13px 16px;gap:18px}#plain-site #ps-work .ks-counter{align-self:center;justify-self:end}#plain-site #ps-work .ks-tabs{display:flex;overflow-x:auto;gap:14px;padding:20px 3px 8px;margin-top:24px;scrollbar-width:thin;scrollbar-color:#b584a4 transparent;scroll-snap-type:x proximity}#plain-site #ps-work .ks-tab{flex:0 0 116px;scroll-snap-align:start}#plain-site #ps-work .ks-tab:before{top:-16px}#plain-site #ps-work .ks-tab-label{font-size:12px;gap:6px}#plain-site #ps-work .ks-review{gap:14px;margin-top:26px;padding-top:24px}#plain-site #ps-work .ks-review blockquote{font-size:14px}}
@media(prefers-reduced-motion:reduce){#plain-site #ps-work *{transition:none!important;scroll-behavior:auto!important}}

#plain-site #ps-work .ks-open{display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important}
#plain-site #ps-work .ks-open>span{flex:none;display:inline!important}


/* Source: personality.css */
@font-face{font-family:'Showcase Shantell';src:url('fonts/showcase-shantell.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Showcase Oswald';src:url('fonts/showcase-oswald.ttf') format('truetype');font-weight:200 700;font-display:swap}
@font-face{font-family:'Showcase Vibes';src:url('previews/olesya/assets/fonts/great-vibes-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--ks-hand:'Showcase Shantell','Comfortaa',sans-serif;--ks-script:'Caveat','Showcase Shantell',cursive;--ks-vibes:'Showcase Vibes',serif;--ks-condensed:'Showcase Oswald','Golos Text',sans-serif;--ks-strong:'Geist','Golos Text',sans-serif;--ks-btn-bg:#efd9e8;--ks-btn-ink:#302334;--ks-doodle:#dba3c3;--ks-doodle-light:#7a3d68}
#plain-site #ps-work .ks-heading h2{max-width:800px;text-wrap:balance}
#plain-site #ps-work .ks-heading p{font-size:15px;max-width:285px;line-height:1.65}
#plain-site #ps-work .ks-info{gap:18px}
#plain-site #ps-work .ks-info>p{font-size:16px;line-height:1.65}
#plain-site #ps-work .ks-open{background:var(--ks-btn-bg);color:var(--ks-btn-ink)}
#plain-site #ps-work .ks-tab-label{font-size:14px}
#plain-site #ps-work .ks-tab-status{display:inline-block;margin-top:7px;padding:3px 7px;border:1px solid var(--ks-line);border-radius:20px;color:var(--ks-ink);font-size:11px;line-height:1.4}
#plain-site #ps-work .ks-stage[data-project=boardgames] .ks-info h3{font-family:var(--ks-hand)!important;font-weight:400!important;font-size:clamp(32px,3.3vw,48px)!important;line-height:1.15!important;letter-spacing:-.025em}
#plain-site #ps-work .ks-stage[data-project=olesya] .ks-info h3{font-family:var(--ks-vibes)!important;font-weight:400!important;font-size:clamp(38px,4vw,56px)!important;line-height:1.08!important;letter-spacing:0}
#plain-site #ps-work .ks-stage[data-project=invite] .ks-info h3{font-family:var(--ks-script)!important;font-size:clamp(38px,4vw,56px)!important;font-weight:500!important;line-height:1.1!important;letter-spacing:0}
#plain-site #ps-work .ks-stage[data-project=silant] .ks-info h3{font-family:var(--ks-strong)!important;font-size:40px!important;font-weight:700!important;letter-spacing:-.035em}
#plain-site #ps-work .ks-stage[data-project=rechka] .ks-info h3{font-size:44px!important;font-weight:700!important;text-transform:lowercase;letter-spacing:-.04em}
#plain-site #ps-work .ks-stage[data-project=imya] .ks-info h3{font-family:var(--ks-condensed)!important;font-size:54px!important;font-weight:600!important;letter-spacing:.01em}
#plain-site #ps-work .ks-signature{display:flex;gap:14px;align-items:center;max-width:340px;margin-top:4px;color:var(--ks-doodle)}
#plain-site #ps-work .ks-signature svg{display:block;width:106px;height:112px;flex:0 0 106px;overflow:visible}
#plain-site #ps-work .ks-signature p{margin:0;max-width:12ch;font:400 24px/1.3 var(--ks-hand)!important;color:var(--ks-ink);transform:rotate(-4deg);text-wrap:balance}
#plain-site #ps-work .ks-stage[data-project=silant] .ks-signature p{transform:rotate(-2deg)}
#plain-site[data-kb-theme=light] #ps-work .ks-signature{color:var(--ks-doodle-light)}
.ks-case-context{margin:0 0 24px!important;padding:14px 16px;border:1px solid var(--kb-line);border-radius:8px;font:400 15px/1.6 var(--font-sans);color:inherit}
#plain-site .kb-l-hp{visibility:hidden;pointer-events:none}
#plain-site .kb-l-consent input{min-width:22px;min-height:22px}
#plain-site .kb-menu-btn,#plain-site .kb-theme{min-width:44px;min-height:44px}
@media(max-width:1000px){#plain-site #ps-work .ks-signature svg{width:80px;height:88px;flex-basis:80px}#plain-site #ps-work .ks-signature p{font-size:21px!important}#plain-site #ps-work .ks-info{gap:14px}#plain-site #ps-work .ks-info>p{font-size:15px}}
@media(max-width:700px){#plain-site #ps-work .ks-info{display:grid;grid-template-columns:1fr;gap:15px}#plain-site #ps-work .ks-open{grid-column:1;justify-self:start}#plain-site #ps-work .ks-signature{grid-column:1;justify-self:end;margin-top:-4px;gap:18px;max-width:310px}#plain-site #ps-work .ks-signature svg{width:90px;height:96px;flex-basis:90px}#plain-site #ps-work .ks-signature p{font-size:23px!important;max-width:13ch}#plain-site #ps-work .ks-info>p{min-height:0}#plain-site #ps-work .ks-tab{flex-basis:130px;min-height:125px}#plain-site #ps-work .ks-tab-status{font-size:11px}#plain-site #ps-work .ks-stage[data-project=olesya] .ks-info h3{font-size:44px!important}#plain-site #ps-work .ks-stage[data-project=boardgames] .ks-info h3{font-size:36px!important}#plain-site #ps-work .ks-stage[data-project=imya] .ks-info h3{font-size:46px!important}}
@media(prefers-reduced-motion:reduce){#plain-site .kb-caret{animation:none!important}#plain-site .kb-ticker-track,#plain-site .kb-ticker>div{animation:none!important}}

@media(max-width:1000px){#plain-site #ps-work .ks-heading{display:block}#plain-site #ps-work .ks-heading p{display:block;max-width:390px;margin:20px 0 0;font-size:14px}}

/* Светлая тема: контраст текста и состояния выбранной работы */
#plain-site[data-kb-theme=light] #ps-work{--ks-muted:var(--kb-wine)}
#plain-site[data-kb-theme=light] #ps-work .ks-tab[aria-selected=true]:before{background:var(--ks-doodle-light)}
#plain-site[data-kb-theme=light] #ps-work :is(.ks-tab,.ks-open,.ks-screen):focus-visible{outline-color:var(--ks-doodle-light)}
#plain-site[data-kb-theme=light] #ps-work .ks-open{border:1px solid var(--ks-doodle-light)}

#plain-site #ps-work .ks-screen--hold{cursor:default}
#plain-site #ps-work .ks-hold-note{font-size:14px;color:var(--ks-muted);padding:14px 0;border-top:1px solid var(--ks-line);width:100%}

/* Согласованные контурные скетчи: один оптимизированный прозрачный набор */
#plain-site #ps-work .ks-signature--sketch{gap:12px;max-width:340px;align-items:center}
#plain-site #ps-work .ks-sketch{display:block;flex:0 0 128px;width:128px;height:128px;background-image:url('covers/work-miniatures.webp');background-size:300% 200%;background-repeat:no-repeat}
#plain-site #ps-work .ks-sketch--olesya{background-position:0 0}
#plain-site #ps-work .ks-sketch--boardgames{background-position:50% 0}
#plain-site #ps-work .ks-sketch--invite{background-position:100% 0}
#plain-site #ps-work .ks-sketch--silant{background-position:0 100%}
#plain-site #ps-work .ks-sketch--rechka{background-position:50% 100%}
#plain-site #ps-work .ks-sketch--imya{background-position:100% 100%}
#plain-site #ps-work .ks-signature--sketch p{transform:none!important;max-width:18ch;font:400 21px/1.4 var(--ks-hand)!important;text-wrap:pretty}
#plain-site[data-kb-theme=light] #ps-work .ks-sketch{filter:brightness(.65) saturate(.8)}
@media(max-width:1000px){#plain-site #ps-work .ks-sketch{flex-basis:100px;width:100px;height:100px}#plain-site #ps-work .ks-signature--sketch p{font-size:19px!important}}
@media(max-width:700px){#plain-site #ps-work .ks-signature--sketch{justify-self:end;max-width:330px;margin:0}#plain-site #ps-work .ks-sketch{flex-basis:112px;width:112px;height:112px}#plain-site #ps-work .ks-signature--sketch p{font-size:21px!important}}


/* Source: services-compare.css */
/* Тарифы: один ряд для сравнения на компьютере, последовательность на телефоне */
#plain-site #ps-services{--sv-line:var(--kb-line);--sv-ink:var(--kb-plum);--sv-muted:var(--kb-wine);--sv-surface:var(--kb-paper);--sv-action:#efd9e8;--sv-action-ink:#302334;--sv-stroke:#b57b9d;--sv-detail-height:0px}
#plain-site[data-kb-theme=dark] #ps-services{--sv-surface:#302333;--sv-muted:#cdb6c9;--sv-stroke:#c693b1}
#plain-site #ps-services .sv-heading{margin-bottom:26px}
#plain-site #ps-services .sv-heading h2{margin:0 0 13px!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.2!important;letter-spacing:-.025em!important;text-transform:none!important}
#plain-site #ps-services .sv-heading p{margin:0;color:var(--sv-muted);font-size:16px;line-height:1.55}
#plain-site #ps-services .sv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
#plain-site #ps-services .sv-plan{display:grid;grid-template-rows:116px auto auto 112px 28px auto 46px;gap:12px;min-width:0;padding:22px;border:1px solid var(--sv-line);border-radius:14px;background:var(--sv-surface);color:var(--sv-ink);box-shadow:none}
#plain-site #ps-services .sv-plan--accent{border-color:var(--sv-stroke)}
#plain-site #ps-services .sv-art{color:var(--sv-stroke);display:flex;align-items:center;justify-content:center}
#plain-site #ps-services .sv-diagram{display:block;width:100%;height:112px;max-width:255px;overflow:visible}
#plain-site #ps-services .sv-plan h3{margin:0!important;color:var(--sv-ink);font:600 clamp(20px,2.1vw,26px)/1.25 var(--kb-head)!important;text-transform:none!important;letter-spacing:-.025em}
#plain-site #ps-services .sv-price{margin:0;font:650 clamp(23px,2.4vw,30px)/1.25 var(--font-sans);color:var(--sv-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
#plain-site #ps-services .sv-scope{font-size:15px;line-height:1.55;margin:0;color:var(--sv-muted);max-width:31ch}
#plain-site #ps-services .sv-time{display:flex;align-items:center;gap:9px;margin:0;font-size:14px;color:var(--sv-muted)}
#plain-site #ps-services .sv-time svg{width:19px;height:19px;flex:none}
#plain-site #ps-services .sv-details{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:46px}
#plain-site #ps-services .sv-details summary,#plain-site #ps-services .sv-notes summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:10px 0;border-top:1px solid var(--sv-line);font:500 14px/1.4 var(--font-sans);color:var(--sv-ink);cursor:pointer;list-style:none}
#plain-site #ps-services :is(.sv-details,.sv-notes) summary::-webkit-details-marker{display:none}
#plain-site #ps-services :is(.sv-details,.sv-notes) summary:before,#plain-site #ps-services :is(.sv-details,.sv-notes) summary:after{display:none!important}
#plain-site #ps-services :is(.sv-details,.sv-notes) summary>span{font:400 21px/1 var(--font-sans);flex:none;transition:transform .15s}
#plain-site #ps-services :is(.sv-details,.sv-notes)[open] summary>span{transform:rotate(45deg)}
#plain-site #ps-services .sv-details>div{font-size:14px;line-height:1.6;color:var(--sv-muted);padding:4px 0 16px}
#plain-site #ps-services .sv-details ul{padding-left:18px;margin:0 0 14px}
#plain-site #ps-services .sv-details li{margin:0 0 7px}
#plain-site #ps-services .sv-details p{margin:0;font-size:13px;line-height:1.6}
#plain-site #ps-services .sv-cta{display:flex;justify-content:center;align-items:center;min-height:46px;width:100%;padding:11px 12px;border:1px solid transparent;border-radius:8px;background:var(--sv-action);color:var(--sv-action-ink)!important;text-decoration:none!important;font:600 14px/1.4 var(--font-sans)!important;white-space:normal;text-align:center;box-sizing:border-box}
#plain-site #ps-services .sv-common{display:flex;align-items:center;gap:22px;padding:18px 0;margin-top:18px;border-bottom:1px solid var(--sv-line)}
#plain-site #ps-services .sv-common h3{margin:0!important;font:600 15px/1.4 var(--font-sans)!important;white-space:nowrap}
#plain-site #ps-services .sv-common ul{display:flex;gap:12px 24px;flex-wrap:wrap;list-style:none;padding:0;margin:0;color:var(--sv-muted);font-size:14px;line-height:1.5}
#plain-site #ps-services .sv-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:18px 0}
#plain-site #ps-services .sv-extras a{display:flex;align-items:center;gap:16px;padding:12px 0;color:var(--sv-ink)!important;text-decoration:none!important;min-height:56px}
#plain-site #ps-services .sv-extras b{display:block;font:600 17px/1.4 var(--font-sans)}
#plain-site #ps-services .sv-extras small{display:block;font:400 12px/1.5 var(--font-sans);color:var(--sv-muted);margin-top:3px}
#plain-site #ps-services .sv-extras strong{font:600 15px/1.4 var(--font-sans);margin-left:auto;white-space:nowrap}
#plain-site #ps-services .sv-extras a>span:last-child{font-size:20px}
#plain-site #ps-services .sv-notes{margin:0 0 16px;padding:0}
#plain-site #ps-services .sv-notes>div{max-width:850px;padding:0 0 16px;color:var(--sv-muted);font-size:14px;line-height:1.7}
#plain-site #ps-services .sv-notes p{margin:0 0 12px}
#plain-site #ps-services :is(.sv-cta,.sv-extras a,summary):focus-visible{outline:3px solid var(--sv-stroke);outline-offset:4px}
@media(min-width:801px){#plain-site #ps-services .sv-grid:has(.sv-details[open]) .sv-plan{grid-template-rows:116px auto auto 112px 28px calc(46px + var(--sv-detail-height)) 46px}}
@media(max-width:1000px){#plain-site #ps-services .sv-plan{padding:18px;gap:11px;grid-template-rows:100px auto auto 148px 28px auto 46px}#plain-site #ps-services .sv-diagram{height:96px}#plain-site #ps-services .sv-common{align-items:start;flex-direction:column;gap:9px}#plain-site #ps-services .sv-grid{gap:12px}}
@media(min-width:801px) and (max-width:1000px){#plain-site #ps-services .sv-grid:has(.sv-details[open]) .sv-plan{grid-template-rows:100px auto auto 148px 28px calc(46px + var(--sv-detail-height)) 46px}}
@media(max-width:800px){#plain-site #ps-services .sv-grid{grid-template-columns:1fr;gap:18px}#plain-site #ps-services .sv-plan{grid-template-columns:minmax(0,1fr) 116px;grid-template-rows:auto;gap:12px 16px;padding:22px}#plain-site #ps-services .sv-art{grid-column:2;grid-row:1/4;align-self:start}#plain-site #ps-services .sv-diagram{height:98px}#plain-site #ps-services .sv-plan h3,#plain-site #ps-services .sv-price,#plain-site #ps-services .sv-scope{grid-column:1}#plain-site #ps-services .sv-time,#plain-site #ps-services .sv-details,#plain-site #ps-services .sv-cta{grid-column:1/-1}#plain-site #ps-services .sv-scope{max-width:36ch}#plain-site #ps-services .sv-details summary{min-height:48px}#plain-site #ps-services .sv-heading p{font-size:15px}#plain-site #ps-services .sv-extras{grid-template-columns:1fr;gap:0;padding:10px 0}#plain-site #ps-services .sv-extras a{border-bottom:1px solid var(--sv-line);padding:16px 0}#plain-site #ps-services .sv-common ul{display:grid;gap:8px}#plain-site #ps-services .sv-common h3{white-space:normal}}
@media(max-width:380px){#plain-site #ps-services .sv-plan{grid-template-columns:minmax(0,1fr) 80px;padding:18px;gap:12px}#plain-site #ps-services .sv-plan h3{font-size:19px!important}#plain-site #ps-services .sv-price{font-size:23px}#plain-site #ps-services .sv-scope{font-size:14px}#plain-site #ps-services .sv-diagram{height:85px}#plain-site #ps-services .sv-extras b{font-size:16px}#plain-site #ps-services .sv-extras small{font-size:11px}}
@media(prefers-reduced-motion:reduce){#plain-site #ps-services summary>span{transition:none}}

#plain-site #ps-services .sv-diagram>g>rect:first-child{fill:var(--sv-surface)}


/* Source: audit-fixes.css */
/* Исправления аудита, без изменения первого экрана */
#plain-site #ps-work .ks-heading{display:flex;align-items:center;justify-content:space-between;gap:28px}
#plain-site #ps-work .ks-heading h2{max-width:none;font-size:clamp(26px,3.4vw,44px)!important;white-space:nowrap}
#plain-site #ps-work .ks-heading p{flex:0 0 clamp(180px,24vw,240px);max-width:240px;margin:0;font-size:14px!important;line-height:1.6!important}
#plain-site .kb-calc-grid{min-width:0}
#plain-site .kb-calc-grid>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
#plain-site .kb-track{animation:kb-ribbon-loop 36s linear infinite!important;width:max-content;justify-content:start;flex-wrap:nowrap;gap:0;white-space:nowrap;padding:0}
#plain-site .kb-marquee{overflow:hidden;padding-right:48px}
#plain-site .kb-track span{white-space:nowrap}
#plain-site .kb-l-required{margin:12px 18px;font-size:13px;line-height:1.5;color:var(--kb-wine)}
#plain-site .ks-image-slot{display:grid;width:100%;height:100%;min-height:180px;place-content:center;padding:24px;color:var(--ks-ink);background:var(--kb-chip);font:400 16px/1.5 var(--font-sans)}
#plain-site .ks-retry{font:500 14px/1.4 var(--font-sans);padding:12px 18px;border:1px solid var(--ks-line);border-radius:8px;color:var(--ks-ink);background:var(--kb-chip);cursor:pointer}
#plain-site .ks-retry:focus-visible{outline:3px solid var(--ks-ink);outline-offset:4px}
.kb-skip{position:fixed;top:8px;left:12px;z-index:10000;transform:translateY(-160%);padding:12px 18px;background:#efd9e8;color:#302334;border-radius:8px}
.kb-skip:focus{transform:none;outline:3px solid #86497a}
@media(max-width:800px){#plain-site .kb-calc-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){#plain-site #ps-work .ks-heading h2{font-size:clamp(16px,4.6vw,27px)!important;letter-spacing:-.045em!important}}

#plain-site .sv-business{margin:22px 0 0;font-size:14px;line-height:1.6;color:var(--kb-wine)}
#plain-site .sv-business a{color:inherit;text-underline-offset:3px}

#plain-site .kb-ribbon-group{display:flex;align-items:center;gap:28px;padding-right:28px;flex:none}
#plain-site .kb-marquee:is(:hover,:focus-within) .kb-track,#plain-site .kb-marquee[data-paused=true] .kb-track{animation-play-state:paused!important}
#plain-site .kb-ribbon-pause{position:absolute;z-index:2;right:8px;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:4px;border:1px solid currentColor;border-radius:8px;background:var(--kb-plum);color:var(--kb-paper);cursor:pointer}
#plain-site .kb-ribbon-pause svg{display:block;width:18px;height:18px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.8}
#plain-site .kb-ribbon-pause:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@keyframes kb-ribbon-loop{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){#plain-site .kb-track{animation:none!important}#plain-site .kb-ribbon-pause{display:none}#plain-site .kb-marquee{overflow-x:auto;padding-right:0}#plain-site .kb-ribbon-group[aria-hidden=true]{display:none}}
@media(max-width:700px){#plain-site #ps-work .ks-heading{display:block}#plain-site #ps-work .ks-heading p{max-width:34ch;margin:16px 0 0}}
#plain-site .sv-for{display:block;margin-top:9px;font-size:13px;line-height:1.5;color:var(--sv-muted)}

/* Финальная редактура: единые заголовки и понятные подписи */
#plain-site :is(#ps-calc,#ps-steps,#ps-skills)>h2{text-transform:none!important}
#plain-site :is(.ks-heading,.sv-heading)>h2::before{content:"// " attr(data-c);display:block;font:400 14px/1.4 var(--kb-mono);color:var(--kb-mauve);letter-spacing:0;text-transform:none;margin-bottom:8px}
#plain-site #ps-services .sv-heading h2{display:inline-block;position:relative;margin-bottom:20px!important}
#plain-site #ps-work .ks-heading{gap:24px}
#plain-site #ps-work .ks-heading h2{font-size:clamp(24px,3vw,44px)!important}
#plain-site #ps-work .ks-heading p{flex:0 0 auto;max-width:none;margin:0 24px 0 0;font:400 15px/1.7 'Showcase Shantell',var(--kb-head)!important}
#plain-site #ps-work .ks-heading p span{display:block;white-space:nowrap}
#plain-site #ps-skills .ks-teaser{display:block;text-align:left}
#plain-site #ps-skills .ks-lead{max-width:66ch;margin:0 0 22px!important;text-align:left}
#plain-site #ps-skills .ks-benefit{display:block;color:var(--kb-plum);font-weight:500}
#plain-site #ps-skills .ks-background{display:block;margin-top:10px;font-size:14px;line-height:1.65}
#plain-site #ps-work .ks-review-title{margin:0 0 10px!important;font:600 15px/1.4 var(--font-sans)!important;color:var(--ks-ink);letter-spacing:0;text-transform:none}
@media(max-width:1000px){#plain-site #ps-work .ks-heading{display:block}#plain-site #ps-work .ks-heading p{margin:16px 0 0}}
@media(max-width:600px){#plain-site #ps-work .ks-heading h2{font-size:clamp(16px,4.6vw,27px)!important}#plain-site #ps-work .ks-heading p{font-size:clamp(11px,3.3vw,15px)!important}}

/* Текст навыков использует всю ширину раздела */
#plain-site #ps-skills .ks-lead{width:100%;max-width:none}

/* Полный отзыв: заголовок над фотографией и цитатой */
#plain-site #ps-work .ks-review{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:24px;row-gap:16px}
#plain-site #ps-work .ks-review>.ks-review-title{grid-column:1/-1;margin:0!important}
#plain-site #ps-work .ks-review>img{grid-column:1;align-self:start}
#plain-site #ps-work .ks-review>div{grid-column:2;min-width:0}
#plain-site #ps-work .ks-review blockquote{white-space:pre-line}
@media(max-width:600px){#plain-site #ps-work .ks-review{grid-template-columns:48px minmax(0,1fr);column-gap:14px}#plain-site #ps-work .ks-review>img{width:48px;height:48px}}

/* Как начать проект: клиенту достаточно рассказать о задаче */
#plain-site #ps-services .sv-start{margin:0 0 28px;padding:20px 0;border-top:1px solid var(--sv-line);border-bottom:1px solid var(--sv-line)}
#plain-site #ps-services .sv-start h3{margin:0 0 10px!important;font:600 20px/1.4 var(--kb-head)!important;color:var(--sv-ink)}
#plain-site #ps-services .sv-start p{margin:0;font:400 15px/1.65 var(--font-sans);color:var(--sv-muted)}
#plain-site #ps-services .sv-start p+p{margin-top:8px}

#plain-site #ps-services .sv-start{padding:22px 24px;border:1px solid var(--sv-line);border-radius:14px;background:var(--sv-surface)}
#plain-site #ps-services .sv-start-label{display:block;margin-bottom:8px;font:400 12px/1.4 var(--kb-mono);color:var(--sv-muted)}
#plain-site #ps-work .ks-review>.ks-review-title{justify-self:start}
#plain-site #ps-work .ks-review-title .kb-wave{width:112px;max-width:100%;height:8px;margin-top:2px}
@media(max-width:600px){#plain-site #ps-services .sv-start{padding:18px}}

