/* Owner continuation. Gate ends on real readiness, not a cosmetic timeout. */
html{scrollbar-gutter:stable}
html.boot-loading,html.boot-loading body{overflow:hidden!important;overscroll-behavior:none;scroll-behavior:auto!important}
.boot-loading body>:not(#page-loader):not(script){visibility:hidden}
#page-loader{position:fixed;inset:0;z-index:2000;min-height:100svh;background:#f5eee4;color:#312d2c;place-items:center;touch-action:none;transition:opacity .32s ease}
#page-loader[hidden]{display:none}.boot-loading #page-loader{display:grid}
#page-loader.boot-out{display:grid;opacity:0;pointer-events:none}
.boot-inner{width:min(310px,78vw);text-align:center}.boot-brand{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:44px}
.boot-brand img{width:42px;height:52px}.boot-brand span{font:500 29px/1 KampusBrand,Literata,Georgia,serif;letter-spacing:.14em}
#boot-status{font:16px/1.5 Golos,Arial,sans-serif;min-height:3em;margin-bottom:22px}#boot-progress{display:block;width:100%;height:3px;accent-color:#a44f6b;border:0;border-radius:4px;overflow:hidden;background:#e1d3cf}
#boot-progress::-webkit-progress-bar{background:#e1d3cf}#boot-progress::-webkit-progress-value{background:#a44f6b}#boot-progress::-moz-progress-bar{background:#a44f6b}
#boot-percent{display:block;font:13px/1.5 Golos,Arial,sans-serif;color:#88636f;margin-top:12px;font-variant-numeric:tabular-nums}
#boot-options{margin-top:28px}#boot-options button{display:block;margin:10px auto;min-height:44px;font:14px Golos,Arial,sans-serif;padding:10px 18px;border:1px solid #a44f6b;border-radius:25px;background:transparent;color:#6f3549;cursor:pointer}#boot-skip{border:0!important;text-decoration:underline;text-underline-offset:4px}
/* One clock reveals a contiguous prefix. No 10ms CSS animations and no parent blur. */
.scene-ready #about.seen h2{animation:none;filter:none;opacity:1}
.scene-ready #about .typed-char{animation:none!important;transition:none!important;opacity:0}
.scene-ready #about .typed-char.letter-on,.scene-ready #about.typing-complete .typed-char{opacity:1}
/* The drawn contour hugs the word; it is not a rounded border on a stretched block. */
.week-journey .day-name{position:relative;display:inline-block;width:auto;max-width:100%;border:0;border-radius:0;background:none;padding:7px 14px;margin-left:0;white-space:nowrap;transform:none}
.day-name .day-text{position:relative;z-index:1}.day-circle{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#edb6c8;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.day-circle path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.polish-ready .day-circle path{stroke-dashoffset:1}
.polish-ready .stop-on .day-circle path{stroke-dashoffset:0;transition:stroke-dashoffset 1.05s cubic-bezier(.4,0,.2,1) .18s}
.week-bottom{grid-template-columns:1fr;justify-content:center}.week-everyday{justify-self:center}
.chat-demo.real-chat{min-height:0;padding:24px 20px}.real-chat .replies{gap:17px}.real-chat .replies p{max-width:94%;font-size:16px;line-height:1.5;white-space:pre-line;text-align:left}.real-chat .replies p:nth-child(2){max-width:88%}
/* Every card enters in its own viewport, slowly; lower rows never animate offscreen. */
.assembly-ready #together .bundle-card{animation:none!important;opacity:0;transform:translate3d(var(--from-x,0px),var(--from-y,20px),0) rotate(0deg);transition:opacity 1.1s ease,transform 1.35s cubic-bezier(.19,1,.22,1)}
.assembly-ready #together .bundle-card.part-on{opacity:1;transform:rotate(var(--tilt,0deg))}
.assembly-ready #together .bundle-card:nth-child(even){transition-delay:.1s}
#together .bundle-graphic{position:relative;width:100%;overflow:hidden;min-height:0}
.mini-chat{position:relative;width:85%;height:100%}.mini-chat .bubble{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:17px 17px 17px 3px;background:#f9ecdf;color:#723b50;box-shadow:0 4px 9px #66324818;width:76%;height:47%;font:500 15px/1.1 Golos,sans-serif;left:0;top:9%;transform:rotate(-5deg)}
.mini-chat .bubble:last-child{left:auto;right:0;top:48%;background:#f2c6d2;transform:rotate(5deg);border-radius:17px 17px 3px 17px;font-size:22px;letter-spacing:.15em}
.bundle-territory .bundle-graphic{background:#e4d6e5}.mini-territories{position:relative;width:100%;height:100%;min-height:70px}.mini-topic{position:absolute;left:5%;top:16%;width:36%;height:77%;background:#f9eee0;color:#885774;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:3px;transform:rotate(-11deg);box-shadow:0 3px 10px #4c254424}
.mini-topic:nth-child(2){left:32%;top:8%;background:#ac4f6e;color:#fff;transform:rotate(0deg)}.mini-topic:nth-child(3){left:59%;top:16%;background:#edbc7d;color:#604730;transform:rotate(10deg)}
#together .mini-topic svg{width:42px;height:42px;stroke-width:2.2;flex:none}.mini-topic span{font:12px/1 Golos,sans-serif}
.bundle-stip .bundle-graphic{background:#e1e8d8}.stip-tokens{position:relative;height:110px;width:145px}.stip-token{position:absolute;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;border:1px solid #7b9565;background:#d0dbbc;left:12px;top:14px;transform:rotate(-14deg)}.stip-token:nth-child(2){left:47px;top:8px;background:#edf2e4;transform:rotate(10deg);box-shadow:0 4px 9px #3d50232b;font:400 40px/1 Literata,serif;color:#4b6536}.stip-token img{width:32px;height:42px;opacity:.65}.stip-token:nth-child(2):after{content:'стипы';font:11px/1 Golos,sans-serif;position:absolute;bottom:11px}
#together .bundle-price:after{content:none}
#together .bundle-price{position:relative;opacity:1!important;transform:none!important;animation:none!important;margin-top:36px}
.bundle-price .price-orbit{position:relative;display:inline-block;padding:22px 48px 29px;max-width:100%}.price-content{position:relative;z-index:1;display:block;font:20px/1.3 Golos,sans-serif}.price-content .period{font-size:17px}
.price-circle{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#b45173;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:.65;pointer-events:none}.price-circle path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.assembly-ready .price-circle path{stroke-dashoffset:1}.assembly-ready .price-on .price-circle path{stroke-dashoffset:0;transition:stroke-dashoffset 1.45s cubic-bezier(.4,0,.2,1) .3s}
@media(max-width:760px){.real-chat .replies p{font-size:15px}.chat-demo.real-chat{padding:21px 15px}.bundle-price .price-orbit{padding:23px 37px 30px}.price-content{font-size:17px}.mini-chat .bubble{font-size:12px;border-radius:10px 10px 10px 2px}.mini-chat .bubble:last-child{font-size:18px;border-radius:10px 10px 2px 10px}.mini-topic{gap:2px}#together .mini-topic svg{width:27px;height:27px}.mini-topic span{font-size:9px}.stip-tokens{height:74px;width:105px}.stip-token{width:60px;height:60px;left:6px;top:7px}.stip-token:nth-child(2){left:37px;top:3px;font-size:30px}.stip-token img{width:22px;height:30px}.stip-token:nth-child(2):after{font-size:8px;bottom:8px}}
@media(prefers-reduced-motion:reduce){#page-loader{transition:none}.scene-ready #about .typed-char{opacity:1!important}.assembly-ready #together .bundle-card{opacity:1!important;transform:rotate(var(--tilt,0deg))!important;transition:none!important}.polish-ready .day-circle path,.assembly-ready .price-circle path{stroke-dashoffset:0!important;transition:none!important}}
