/* Украшения отделены от данных: орнамент не меняет цвет статуса. */
:root{--folk-red:#a94735;--folk-gold:#ac7a25;--folk-blue:#326396;--folk-wood:#937453}
.folk-decoration{pointer-events:none;user-select:none;overflow:hidden;color:var(--folk-red)}
.folk-decoration svg{display:block;width:100%;height:100%}
.folk-1{color:var(--folk-gold)}.folk-2{color:var(--folk-blue)}.folk-3{color:var(--folk-wood)}
.folk-band{height:54px;margin:28px 0 20px;border-block:1px solid var(--line);padding-block:5px;opacity:.75;animation:folk-unfold 900ms ease-out both,folk-breathe 6s ease-in-out 1s infinite}
.folk-band svg{min-width:650px;animation:folk-travel 18s ease-in-out infinite alternate}
.folk-card{position:relative;padding-top:44px;isolation:isolate;animation:folk-arrive 650ms cubic-bezier(.16,1,.3,1) backwards;transition:transform .25s ease,border-color .25s ease}
.folk-corner{position:absolute;right:18px;top:8px;width:96px;height:30px;opacity:.45;animation:folk-sway 7s ease-in-out infinite alternate;z-index:-1}
.folk-corner.folk-1{animation-duration:9s}.folk-corner.folk-2{animation-duration:11s}.folk-corner.folk-3{animation-duration:8s}
.folk-delay-1{animation-delay:70ms}.folk-delay-2{animation-delay:140ms}.folk-delay-3{animation-delay:210ms}.folk-delay-4{animation-delay:280ms}.folk-delay-5{animation-delay:350ms}
.brand{display:block;animation:folk-arrive 600ms ease both}
.brand:after{content:"◇ · ◇ · ◇";display:block;font-size:17px;letter-spacing:5px;color:var(--folk-gold);margin-top:12px;animation:folk-breathe 5s ease-in-out infinite}
nav a{transition:background-color .25s ease,color .25s ease,transform .25s ease}
nav a[aria-current]:before{content:"◇";display:inline-block;margin-right:8px;animation:folk-turn 10s linear infinite;color:currentColor}
.module-tabs a,button,.button{transition:transform .2s ease,border-color .2s ease,background-color .2s ease}
.card-end,.state-label{transition:transform .25s ease}
button:active,.button:active{transform:scale(.97)}
.motion-control{font-size:12px;min-height:40px;padding:9px 12px;margin-top:12px;width:100%;color:var(--muted)}
@media(hover:hover){.folk-card:hover{transform:translateY(-3px);border-color:var(--folk-wood)}.folk-card:hover .folk-corner{opacity:.8}.folk-card:hover .card-end,.folk-card:hover .state-label{transform:translateX(4px)}nav a:hover{transform:translateX(3px)}.module-tabs a:hover,button:hover{transform:translateY(-2px)}}
@keyframes folk-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes folk-unfold{from{clip-path:inset(0 50%);opacity:0}to{clip-path:inset(0);opacity:.75}}
@keyframes folk-breathe{0%,100%{opacity:.55}50%{opacity:.85}}
@keyframes folk-travel{from{transform:translateX(-8px)}to{transform:translateX(8px)}}
@keyframes folk-sway{from{transform:translateX(-3px) rotate(-2deg)}to{transform:translateX(3px) rotate(2deg)}}
@keyframes folk-turn{to{transform:rotate(360deg)}}
@media(prefers-color-scheme:dark){:root{--folk-red:#d68770;--folk-gold:#d8b66d;--folk-blue:#80add0;--folk-wood:#bea384}.folk-corner{opacity:.6}}
@media(max-width:760px){.folk-band{height:42px;margin-top:22px}.folk-card{padding-top:42px}.identity{flex-wrap:wrap}.motion-control{width:auto;margin:0}.folk-corner{right:14px}}
.motion-off .folk-card,.motion-off .folk-decoration,.motion-off .folk-decoration svg,.motion-off .brand,.motion-off .brand:after,.motion-off nav a:before{animation:none}
.motion-off *{transition:none!important}
@media(prefers-reduced-motion:reduce){.folk-card,.folk-decoration,.folk-decoration svg,.brand,.brand:after,nav a:before{animation:none!important}*{transition:none!important}}

/* Орнамент как деталь рамки: неподвижный, с воздухом вокруг содержания. */
.folk-band{height:28px;margin:24px 0 24px;padding-block:0;opacity:.45;animation:none}.folk-band svg{min-width:650px;animation:none}.folk-corner{width:72px;height:23px;right:16px;top:10px;opacity:.38;animation:none!important}.folk-card{border-top-color:var(--folk-wood)}.brand:after,nav a[aria-current]:before{animation:none}.folk-card:hover .folk-corner{opacity:.6}@media(max-width:760px){.folk-band{height:22px}.folk-corner{width:58px}}
.folk-corner{display:none}.folk-card{padding-top:24px;animation:none}.metric-grid .folk-card,.chart-panel.folk-card{padding-top:24px}.folk-band{height:30px;margin:26px 0 20px;padding:4px 0;opacity:.48;border-block:1px solid var(--folk-wood)}.folk-band svg{width:100%;min-width:100%}main[aria-busy="true"]:before{content:"Загружаем раздел…";position:fixed;top:12px;right:20px;z-index:20;padding:8px 14px;border-radius:12px;background:var(--panel);color:var(--text);font-size:13px;border:1px solid var(--line)}.navigation-error{border-color:#df7468}@media(max-width:760px){.folk-band{height:24px}.folk-card{padding-top:20px}}
.brand{animation:none}
.brand:after{content:"ᚠ · ᚢ · ᚱ";font-family:"Segoe UI Historic","Segoe UI Symbol",serif;font-size:20px;letter-spacing:9px;color:var(--folk-gold)}.folk-band{height:38px;opacity:.6;border-block-color:#b99d6a66}.screen-locked .folk-band{color:#cfb382}@media(max-width:760px){.folk-band{height:30px}.brand:after{font-size:18px}}
.brand:after{content:"";width:116px;height:40px;margin-top:9px;background:url("/assets/rune-knot.svg") center/contain no-repeat;opacity:.72}.folk-band svg{stroke-width:1.6}
.brand:after{background-image:url("/assets/rune-medallion-v2.png");width:56px;height:56px;margin-top:12px;opacity:.72}
.brand:after{background-image:url("/assets/rune-dreamcatcher-v3.png");width:42px;height:64px;opacity:.65}

.folk-band,.folk-corner,nav a[aria-current]:before{display:none}
body{font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif}
.brand{position:relative;min-height:72px;padding:9px 0 9px 54px;display:flex;flex-direction:column;justify-content:center;line-height:1.3;letter-spacing:-.3px}
.brand span{margin-top:5px;letter-spacing:.02em;line-height:1.5}
.brand:after{position:absolute;left:0;top:50%;margin:0;transform:translateY(-50%);width:40px;height:66px;background:url("/assets/rune-dreamcatcher-v3.png") center/contain no-repeat;opacity:.8}
h1{font-weight:650;letter-spacing:-.035em}h2{font-weight:600;letter-spacing:-.02em}
.folk-card{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
@media(hover:hover){.folk-card:hover{transform:none;background:color-mix(in srgb,var(--panel) 90%,transparent);border-color:#c1b29288;box-shadow:0 8px 24px #00000012}.folk-card:hover .card-end,.folk-card:hover .state-label{transform:none}}
@media(max-width:760px){.brand{min-height:62px;padding-left:48px}.brand:after{width:34px;height:56px}}

aside{overflow-y:auto;scrollbar-width:thin}aside nav{flex-shrink:0}aside .brand{flex-shrink:0}@media(min-width:761px){aside nav a{padding-block:10px}.identity>button:not(.motion-control),.identity>.button{min-height:40px;padding:8px 12px;font-size:13px}}

