/* UMIUS 2.0 product pass: shared layout, type, color, and states. */
:root {
  --umius-purple:#326d83; --umius-purple-dark:#234e64; --umius-purple-soft:#eaf4f7;
  --umius-green:#72ac9f; --umius-green-dark:#316e62; --umius-green-soft:#eaf6f1;
  --umius-coral:#ba626b; --umius-orange:#c98e52;
  --umius-bg:#f5f8f8; --umius-panel:#fff; --umius-text:#203943;
  --umius-muted:#5d7079; --umius-line:#dbe6e8;
  --umius-shadow:0 12px 32px rgba(29,72,81,.07);
  --umius-radius:18px;
}
html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55}
.umius-shell,.umius-main,.umius-content,.umius-public,.umius-card{min-width:0}
img,svg,video,canvas{max-width:100%}img{height:auto}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #3c8da1;outline-offset:3px;box-shadow:0 0 0 5px rgba(78,151,165,.14)}
:where(button,input,select,textarea):disabled,.umius-button[aria-disabled="true"]{opacity:.5;cursor:not-allowed;filter:saturate(.5);transform:none;box-shadow:none}
[hidden]{display:none!important}*{scroll-margin-top:86px}
.umius-topbar{position:relative;z-index:30;padding:12px clamp(16px,3vw,34px);background:rgba(255,255,255,.96);box-shadow:0 4px 24px rgba(28,73,83,.045)}
.umius-topbar__inner{max-width:1340px;gap:20px;min-height:48px}
.umius-brand,.umius-sidebar__brand{display:inline-flex;align-items:center;flex:none;line-height:1}
.umius-brand img{display:block;width:196px;height:48px;object-fit:contain;object-position:left center}
.umius-sidebar__brand img{display:block;width:160px;height:58px;object-fit:contain;object-position:left center}
.umius-public-nav{gap:clamp(9px,1.5vw,20px);margin-right:0;min-width:0}
.umius-public-nav a{font-size:13px;font-weight:650;color:#425e69;transition:color .18s}
.umius-public-nav a:hover{color:var(--umius-purple-dark)}
.umius-topbar__actions{gap:12px;flex:none}
.umius-badge{background:#edf5f4;border-color:#c7dfda;color:#316e62;font-size:12px;letter-spacing:.01em}
.umius-mobile-menu{display:none;position:relative;margin-left:auto;color:var(--umius-purple-dark)}
.umius-mobile-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--umius-line);border-radius:12px;font-size:13px;font-weight:700}
.umius-mobile-menu summary::-webkit-details-marker{display:none}
.umius-mobile-menu summary:after{content:"⌄";font-size:17px;line-height:12px}.umius-mobile-menu[open] summary:after{transform:rotate(180deg)}
.umius-mobile-menu nav{position:absolute;right:0;top:calc(100% + 9px);width:min(300px,calc(100vw - 32px));display:grid;gap:3px;padding:9px;border:1px solid var(--umius-line);border-radius:16px;background:#fff;box-shadow:0 18px 40px rgba(29,72,81,.16)}
.umius-mobile-menu nav a{padding:10px 12px;border-radius:9px;color:var(--umius-text);font-size:14px;font-weight:650}.umius-mobile-menu nav a:hover{background:var(--umius-purple-soft)}
.umius-main{max-width:1260px;padding:clamp(20px,3vw,38px) clamp(16px,3vw,30px) 70px}
.umius-public{gap:clamp(26px,4vw,48px)}
.umius-title,.umius-page-head h1,.umius-public-page-head h1{letter-spacing:-.025em;line-height:1.16}
.umius-title{font-size:clamp(27px,3vw,36px)}.umius-public-page-head h1{font-size:clamp(32px,4vw,52px)}
.umius-kicker{font-size:12px;letter-spacing:.09em;color:var(--umius-purple-dark)}
.umius-card,.umius-stat,.umius-program-card,.umius-public-direction,.umius-public-course-card,.umius-public-news-card{border-color:var(--umius-line);border-radius:var(--umius-radius);box-shadow:var(--umius-shadow)}
.umius-card{padding:clamp(18px,2vw,28px)}.umius-stat strong{color:var(--umius-purple-dark)}
.umius-button,.umius-login input[type="submit"]{min-height:42px;border:1px solid #b8d7da;border-radius:13px;background:linear-gradient(130deg,rgba(212,235,242,.96),rgba(215,238,228,.92));color:#173e4d;font-size:14px;font-weight:750;line-height:1.2;box-shadow:0 6px 16px rgba(43,104,120,.09);transition:transform .18s,box-shadow .18s,background .18s}
.umius-button:hover,.umius-login input[type="submit"]:hover{background:linear-gradient(130deg,#c8e6ef,#cce9de);color:#123a48;transform:translateY(-1px);box-shadow:0 10px 22px rgba(43,104,120,.15)}
.umius-button:active,.umius-login input[type="submit"]:active{transform:translateY(0)}
.umius-button--primary,.umius-button--success{background:linear-gradient(125deg,rgba(38,103,125,.96),rgba(49,111,104,.94));border-color:#326f79;color:#fff}
.umius-button--primary:hover,.umius-button--success:hover{background:linear-gradient(125deg,#245e75,#326f67);color:#fff}
.umius-button--ghost{background:#fff;border-color:var(--umius-line);color:var(--umius-purple-dark);box-shadow:none}
.umius-button--small{min-height:38px;padding:8px 13px;font-size:13px}
.umius-form :is(input,select,textarea),.umius-login :is(input[type="text"],input[type="email"],input[type="password"]),.umius-trainer :is(input,textarea){min-height:44px;background:#fff;border:1px solid #cadbdd;border-radius:12px;color:var(--umius-text);font-size:16px}
.umius-form textarea,.umius-trainer textarea{min-height:100px;resize:vertical}
.umius-form label,.umius-login label{font-size:14px;color:#405e69;font-weight:650}
.umius-form :is(input,select,textarea):focus,.umius-login input:focus{outline:2px solid #67a3b2;outline-offset:1px;border-color:#67a3b2;box-shadow:0 0 0 4px rgba(85,151,164,.12)}
.umius-login-wrap{gap:clamp(22px,5vw,70px)}.umius-login-brand h1{letter-spacing:-.04em}.umius-login-brand h1 span{color:var(--umius-green-dark)}
.umius-login form{background:#fff;border-color:var(--umius-line);border-radius:20px;padding:clamp(20px,3vw,30px)}
.umius-login-brand:before{background:linear-gradient(var(--umius-purple),var(--umius-green));width:3px}
.umius-feature-row span{background:var(--umius-purple-soft);color:var(--umius-purple-dark)}
.umius-app{grid-template-columns:240px minmax(0,1fr)}.umius-sidebar{background:#fff;border-color:var(--umius-line)}
.umius-content{max-width:1540px;padding:clamp(20px,3vw,42px) clamp(18px,3.5vw,50px) 64px}
.umius-nav a{color:#3d5a65;border-radius:11px;font-weight:650}.umius-nav a.active{background:var(--umius-purple-soft);color:var(--umius-purple-dark)}
.umius-profile-mini{background:#f2f7f7}.umius-avatar-letter{background:var(--umius-purple-dark)}
.umius-page-head{flex-wrap:wrap}.umius-page-head h1{font-size:clamp(26px,2.5vw,34px)}
.umius-row-card,.umius-assignment-card,.umius-trainer-chip,.umius-public-doc-grid a{border-color:var(--umius-line);border-radius:14px}
.umius-program-card__head,.umius-program-card--mental .umius-program-card__head{background:linear-gradient(120deg,#316d82,#49877e)}
.umius-game-panel,.umius-game-panel--mental{background:linear-gradient(145deg,#fff,#f0f7f7);border-color:var(--umius-line);box-shadow:var(--umius-shadow)}
.umius-notice--success{background:#ebf7f1;color:#265f53}.umius-notice--error{background:#fff1f1;color:#9b3945}
.umius-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:14px}.umius-table th{background:#f6f9f9;color:#526c76}.umius-table td{border-color:#edf2f3;font-size:14px}
.umius-public-hero{padding:clamp(26px,4vw,58px);background:linear-gradient(130deg,#fff 0%,#f0f7f8 62%,#edf6f2 100%);border-color:#dce9e9;box-shadow:0 20px 54px rgba(35,83,91,.075)}
.umius-public-hero h1{font-size:clamp(35px,4.8vw,62px);line-height:1.09}.umius-public-hero p,.umius-public-page-head p{color:var(--umius-muted);font-size:clamp(16px,1.6vw,18px)}
.umius-public-hero__stats>div{border-color:#e1ebeb;background:rgba(255,255,255,.9)}.umius-public-hero__stats strong{color:var(--umius-purple-dark)}
.umius-public-direction:hover{border-color:#a9cdd2;box-shadow:0 16px 36px rgba(35,83,91,.12)}.umius-public-direction span{color:var(--umius-purple-dark)}
.umius-public-tags span{background:var(--umius-purple-soft);color:var(--umius-purple-dark);font-size:11px}
.umius-public-cta,.umius-legal-basis{background:linear-gradient(125deg,#244b60,#356b69);border-radius:22px}
.umius-public-flow strong{background:var(--umius-purple-dark)}.umius-check-grid legend{color:var(--umius-purple-dark)}
.umius-public-footer{background:#e9f2f2;color:var(--umius-text);border-top:1px solid #d7e5e5}
.umius-public-footer__inner{max-width:1260px;gap:clamp(20px,3vw,42px)}
.umius-public-footer__inner :is(a,span,p,small){color:#44616d}.umius-public-footer__inner a:hover{color:#183f50}
.umius-public-footer__bottom{border-color:#d4e3e3;color:#5b737b}
.umius-legal-page__section,.umius-legal-docs article{background:#fff;border-color:var(--umius-line);box-shadow:var(--umius-shadow)}
.umius-legal-nav{background:#fff;border-color:var(--umius-line)}.umius-legal-nav a{background:#f3f8f8;color:#395b69;font-size:12px}
.umius-legal-basis p{color:#e5f1f1}
.umius-assignment-filters button.active{background:var(--umius-purple-dark);border-color:var(--umius-purple-dark)}
.umius-soroban-card{border-color:#395966;background:#395966}.umius-soroban-column:after,.umius-soroban-digit{background:#395966}
.umius-mental-option-grid span,.umius-threshold-grid span{border-color:#8dafb7;border-radius:11px;color:var(--umius-text)}
.umius-mental-option-grid input:checked+span,.umius-threshold-grid input:checked+span{background:var(--umius-purple-dark);border-color:var(--umius-purple-dark);color:#fff}
.umius-trick-bank span{border-color:#8dafb7;border-radius:13px}.umius-trick-bank input:checked+span{border-color:var(--umius-green-dark);box-shadow:0 0 0 3px #c9e8db}
.umius-pair-board button,.umius-schulte--dynamic button{border-radius:7px;border:1px solid #c7d9dc;outline:none}
.umius-pair-board button.right{background:#d6eee1;color:#1b5847}.umius-pair-board button.wrong{background:#fde2e2;color:#7e3333}
.umius-split-field{background:#eaf2f3;border-radius:15px}.umius-split-field>b{background:var(--umius-green-dark)}
.umius-mnemo-present-value .umius-mnemo-countdown,.umius-speed-countdown strong{color:var(--umius-purple-dark)}
@media(max-width:1050px){.umius-mobile-menu{display:block}.umius-public-nav{display:none}.umius-topbar__inner{gap:12px}}
@media(max-width:760px){
  .umius-main{padding:22px 16px 52px}.umius-content{padding:22px 16px 50px}
  .umius-topbar{padding:9px 16px}.umius-brand img{width:148px;height:43px}.umius-topbar__actions .umius-badge{display:none}
  .umius-sidebar{position:relative;top:auto;padding:12px 16px}.umius-sidebar__brand{display:inline-flex;padding:0 0 7px}.umius-sidebar__brand img{width:128px;height:45px}
  .umius-nav{gap:6px}.umius-nav a{min-height:42px;padding:10px 12px;font-size:13px}
  .umius-login-wrap{min-height:0;gap:8px}.umius-login-brand{padding:10px 2px}.umius-login-brand h1{font-size:clamp(32px,8vw,42px)}
  .umius-public-hero{grid-template-columns:1fr;gap:24px}.umius-public-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .umius-public-hero__stats strong{font-size:30px}.umius-card{padding:18px}
  .umius-page-head{align-items:flex-start}.umius-public-course-grid,.umius-public-news-grid,.umius-public-direction-grid,.umius-public-role-grid,.umius-public-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .umius-public-trainer-grid,.umius-public-course-detail{grid-template-columns:1fr}
  .umius-legal-nav{position:static}
}
@media(max-width:520px){
  .umius-brand img{width:125px;height:40px}.umius-topbar__actions .umius-button{min-height:38px;padding:7px 10px;font-size:13px}
  .umius-mobile-menu summary{padding:8px 9px;font-size:12px}.umius-public-hero{padding:24px 18px;border-radius:20px}
  .umius-public-hero__stats{grid-template-columns:1fr 1fr;gap:8px}.umius-public-hero__stats>div{padding:14px}
  .umius-public-course-grid,.umius-public-news-grid,.umius-public-direction-grid,.umius-public-role-grid,.umius-public-company-grid,.umius-public-doc-grid{grid-template-columns:1fr}
  .umius-public-direction p{min-height:0}.umius-public-page-head{padding:16px 0}.umius-page-head h1{font-size:26px}
  .umius-card{padding:16px}.umius-button{max-width:100%;white-space:normal;text-align:center}
  .umius-login form{padding:17px}.umius-form-row{grid-template-columns:1fr}.umius-legal-docs article{padding:16px}
  .umius-soroban-card{max-width:100%;overflow:auto}.umius-trick-bank-grid{gap:16px}
}
@media(max-width:390px){.umius-topbar__inner{gap:6px}.umius-brand img{width:115px}.umius-mobile-menu summary{font-size:12px;padding:8px}.umius-content,.umius-main{padding-left:14px;padding-right:14px}}
.umius-legal-page{width:100%;min-width:0;overflow-wrap:anywhere}
.umius-legal-page h1{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.umius-checkout-legal{padding:12px 15px;margin:12px 0;border:1px solid #d3e5e5;border-radius:12px;background:#f5faf9;color:#405e69;font-size:13px;line-height:1.55}
.umius-checkout-legal a,.umius-checkline a{text-decoration:underline;text-underline-offset:2px;color:var(--umius-purple-dark)}
.umius-checkline{align-items:flex-start;line-height:1.5;font-size:14px}.umius-checkline input[type="checkbox"]{flex:none;width:18px;height:18px;min-height:18px;margin-top:2px;accent-color:var(--umius-purple-dark)}

.umius-analytics-settings{display:block;margin:0 auto 18px;padding:7px 12px;border:1px solid #cadfe1;border-radius:10px;background:#f8fbfb;color:#315567;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer}
.umius-analytics-choice{position:fixed;z-index:1000;bottom:16px;left:16px;right:16px;max-width:650px;margin:auto;padding:18px 20px;border:1px solid #c9dddf;border-radius:17px;background:#fff;box-shadow:0 15px 48px rgba(27,65,75,.2);color:#254450}
.umius-analytics-choice p{margin:0 0 12px}.umius-analytics-choice strong,.umius-analytics-choice span{display:block}.umius-analytics-choice span{margin-top:4px;font-size:13px}.umius-analytics-choice a{text-decoration:underline;color:#234e64}
.umius-analytics-choice>div{display:flex;flex-wrap:wrap;gap:10px}.umius-analytics-choice button{min-height:42px;padding:9px 15px;border:1px solid #b8d7da;border-radius:11px;background:#e9f4f5;color:#234e64;font-family:inherit;font-size:13px;font-weight:700;line-height:1.3;cursor:pointer}
.umius-analytics-choice [data-umius-analytics-allow]{background:#265f70;color:white;border-color:#265f70}
@media(max-width:520px){.umius-analytics-choice{bottom:8px;left:8px;right:8px;padding:15px}.umius-analytics-choice button{flex:1}}
/* Keep support form and auth tabs inside their narrow grid columns. */
.umius-public{grid-template-columns:minmax(0,1fr)}
.umius-public>*,.umius-public-message-form{min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:900px){.umius-auth-tabs{flex-wrap:wrap}.umius-auth-tabs a{min-width:0;flex:1 1 95px}}
@media(max-width:760px){
  .umius-mnemo-presentation,.umius-mnemo-recall,.umius-color-legacy,.umius-modern-rsvp{grid-template-columns:minmax(0,1fr);min-width:0}
  .umius-mnemo-present-value{width:min(420px,100%);min-height:0;aspect-ratio:1}
  .umius-mnemo-present-value img{max-width:100%;max-height:100%}
  .umius-color-legacy{padding:12px}.umius-color-palette{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .umius-color-palette button{width:100%;height:auto;aspect-ratio:1;min-height:0}
  .umius-modern-rsvp span{overflow-wrap:anywhere}.umius-modern-peripheral{width:min(520px,100%)}
}
@media(max-width:380px){
  .umius-collider,.umius-pair-game{min-width:0}
  .umius-collider-frame{width:min(284px,100%);box-sizing:border-box}
  .umius-collider-frame:before{width:auto}
  .umius-pair-board,.umius-pair-board--6{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
  .umius-pair-board--6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .umius-pair-board button,.umius-pair-board--6 button{width:100%;height:auto;aspect-ratio:1}
}
