#kaMandalaApp{
    --ka-blue:#2e3f91;
    --ka-pink:#f2308d;
    --ka-text:#2f3150;
    --ka-soft:#f6f7fb;
    --ka-line:#d9deee;
    --ka-white:#fff;
    --ka-shadow:0 10px 28px rgba(35,48,105,.08);
    color:var(--ka-text);
    max-width:100%;
    min-width:0;
}
#kaMandalaApp *{box-sizing:border-box}
#kaMandalaApp .ka-card{
    background:var(--ka-white);
    border:1px solid var(--ka-line);
    border-radius:24px;
    box-shadow:var(--ka-shadow);
    padding:22px;
    margin:0 0 22px;
    min-width:0;
}
#kaMandalaApp h2,#kaMandalaApp h3{
    margin:0 0 12px;
    color:var(--ka-blue);
    line-height:1.18;
}
#kaMandalaApp p{margin:0 0 14px;line-height:1.65}
#kaMandalaApp .ka-note{
    margin-top:14px;
    padding:15px 17px;
    border-left:5px solid var(--ka-pink);
    border-radius:15px;
    background:var(--ka-soft);
}
#kaMandalaApp .ka-picker{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
}
#kaMandalaApp .ka-thumb{
    appearance:none;
    min-width:0;
    border:1px solid var(--ka-line);
    border-radius:15px;
    background:#fff;
    padding:7px;
    cursor:pointer;
    transition:.16s ease;
}
#kaMandalaApp .ka-thumb:hover,#kaMandalaApp .ka-thumb:focus-visible{
    transform:translateY(-2px);
    border-color:#b7c2e5;
}
#kaMandalaApp .ka-thumb.is-active{
    border-color:var(--ka-pink);
    box-shadow:0 0 0 3px rgba(242,48,141,.12);
}
#kaMandalaApp .ka-thumb img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:contain;
    background:#fff;
}
#kaMandalaApp .ka-painter{
    display:grid;
    grid-template-columns:minmax(180px,220px) minmax(0,1fr);
    gap:20px;
    align-items:start;
}
#kaMandalaApp .ka-panel{
    background:var(--ka-soft);
    border:1px solid var(--ka-line);
    border-radius:18px;
    padding:16px;
}
#kaMandalaApp .ka-panel + .ka-panel{margin-top:14px}
#kaMandalaApp .ka-panel h3{font-size:1.05rem}
#kaMandalaApp .ka-color-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
}
#kaMandalaApp .ka-color-input{
    width:54px;
    height:54px;
    border:0;
    padding:0;
    background:transparent;
    cursor:pointer;
}
#kaMandalaApp .ka-palette{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
}
#kaMandalaApp .ka-swatch{
    width:100%;
    aspect-ratio:1/1;
    border-radius:50%;
    border:2px solid #fff;
    box-shadow:0 0 0 1px rgba(0,0,0,.1);
    cursor:pointer;
}
#kaMandalaApp .ka-actions{
    display:grid;
    gap:9px;
}
#kaMandalaApp .ka-btn,#kaMandalaApp .ka-btn-secondary{
    appearance:none;
    border-radius:999px;
    padding:12px 15px;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    text-decoration:none;
    text-align:center;
}
#kaMandalaApp .ka-btn{
    border:0;
    background:var(--ka-pink);
    color:#fff;
}
#kaMandalaApp .ka-btn-secondary{
    border:1px solid var(--ka-line);
    background:#eef1fa;
    color:var(--ka-blue);
}
#kaMandalaApp .ka-canvas-wrap{
    min-width:0;
    border:1px solid var(--ka-line);
    border-radius:20px;
    background:#fff;
    padding:12px;
}
#kaMandalaApp canvas{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    background:#fff;
    touch-action:manipulation;
}
#kaMandalaApp .ka-small{font-size:.92rem;color:#62698a}
#kaMandalaApp .ka-calendar-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:14px 0;
}
#kaMandalaApp .ka-field label{
    display:block;
    margin-bottom:7px;
    color:var(--ka-blue);
    font-weight:700;
}
#kaMandalaApp .ka-field select{
    width:100%;
    border:1px solid var(--ka-line);
    border-radius:13px;
    padding:11px 13px;
    background:#fff;
    color:var(--ka-text);
    font:inherit;
}
#kaMandalaApp .ka-calendar-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}
#kaMandalaApp .ka-hidden{display:none!important}
@media(max-width:900px){
    #kaMandalaApp .ka-picker{grid-template-columns:repeat(4,minmax(0,1fr))}
    #kaMandalaApp .ka-painter{grid-template-columns:1fr}
}
@media(max-width:580px){
    #kaMandalaApp .ka-card{padding:16px;border-radius:19px}
    #kaMandalaApp .ka-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
    #kaMandalaApp .ka-calendar-form{grid-template-columns:1fr}
}