/* Menugi shared UI primitives. Theme identity stays in each theme stylesheet. */
.menugi-svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor}
.menugi-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:currentColor;line-height:1}
.menugi-icon>svg{display:block;width:100%;height:100%}

/* Shared interaction contract for visual navigation cards. Theme styles own appearance. */
[data-menugi-navigation-card]{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}
[data-menugi-navigation-card] img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}

/* Shared premium surface. Add class="supercard" to a div or article. */
.supercard{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-width:0;
    box-sizing:border-box;
    padding:35px 38px 34px;
    border:1px solid rgba(209,70,244,.9);
    border-radius:24px;
    background:linear-gradient(145deg,rgba(52,26,78,.67) 0%,rgba(22,19,40,.98) 39%,#100f1c 84%);
    box-shadow:0 0 0 1px rgba(134,66,241,.23),0 18px 65px rgba(92,28,158,.21),0 0 50px rgba(178,45,220,.10),inset 0 1px rgba(250,201,255,.13);
}
.supercard::before{
    position:absolute;
    z-index:-1;
    inset:0 0 auto auto;
    width:60%;
    height:70%;
    content:"";
    pointer-events:none;
    background:radial-gradient(ellipse at 95% 0%,rgba(193,39,248,.65),rgba(104,33,221,.30) 33%,transparent 73%);
}
.supercard::after{
    position:absolute;
    z-index:-1;
    inset:-130px -105px auto auto;
    width:380px;
    height:370px;
    transform:rotate(39deg);
    border:30px solid rgba(162,80,248,.11);
    border-radius:100px;
    content:"";
    pointer-events:none;
}

/* Optional controls: styled only inside a supercard, without affecting other forms. */
.supercard :is(form:not([class]),form.supercard__form){display:grid;gap:10px;min-width:0}
.supercard :is(form:not([class]),form.supercard__form)>label{display:block;color:#ddd1f2;font-size:14px;font-weight:650}
.supercard :is(form:not([class]),form.supercard__form)>button[type="submit"]:not([class]){
    min-height:46px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:12px;
    padding:11px 18px;
    background:linear-gradient(100deg,#f0339c,#bd28e2 52%,#695bff);
    color:#fff;
    font:inherit;
    font-weight:750;
    cursor:pointer;
}
.supercard :is(form:not([class]),form.supercard__form)>button[type="submit"]:not([class]):focus-visible{outline:3px solid rgba(190,123,255,.8);outline-offset:3px}
.supercard :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="range"]):not([type="color"]),select,textarea){
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:46px;
    padding:11px 14px;
    border:1px solid rgba(127,106,164,.50);
    border-radius:12px;
    background:#0c0d19;
    color:#f5f0ff;
    color-scheme:dark;
    font:inherit;
    line-height:1.45;
    outline:none;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.18);
    transition:border-color .16s ease,box-shadow .16s ease;
}
.supercard textarea{resize:vertical}
.supercard :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="color"]),textarea)::placeholder{color:#8f86a8;opacity:1}
.supercard :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="range"]):not([type="color"]),select,textarea):focus-visible{
    border-color:#bd65fa;
    box-shadow:0 0 0 3px rgba(166,80,243,.22),0 0 17px rgba(166,80,243,.13);
}
.supercard :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]):not([type="range"]):not([type="color"]),select,textarea):disabled{
    opacity:.62;
    cursor:not-allowed;
}
.supercard :is(input[type="checkbox"],input[type="radio"]){accent-color:#ac63f4}
@media(max-width:700px){
    .supercard{padding:23px 19px 21px;border-radius:21px}
}
@media(max-width:360px){
    .supercard{padding:20px 15px}
}
@media(prefers-reduced-motion:reduce){
    .supercard :is(input,select,textarea){transition:none}
}
