.ladica-master-shell {
    --ladica-btn-top: #70c6c0;
    --ladica-btn-bottom: #208d91;
}

@font-face {
    font-family: "Pe-icon-7-stroke";
    src: url("../fonts/Pe-icon-7-stroke.eot");
    src: url("../fonts/Pe-icon-7-stroke.eot?#iefix") format("embedded-opentype"),
         url("../fonts/Pe-icon-7-stroke.woff") format("woff"),
         url("../fonts/Pe-icon-7-stroke.ttf") format("truetype"),
         url("../fonts/Pe-icon-7-stroke.svg#Pe-icon-7-stroke") format("svg");
    font-weight: normal;
    font-style: normal;
}

.ladica-master-shell,
.ladica-master-shell * {
    box-sizing: border-box;
}

.ladica-master-shell {
    --ladica-paper: #fffdf8;
    --ladica-teal: #125f68;
    --ladica-teal-dark: #0d4f58;
    --ladica-gold: #c89538;
    --ladica-line: rgba(201, 156, 70, .56);
    --ladica-shadow: 0 18px 44px rgba(47, 100, 92, .12);
    --ladica-line: rgba(201, 156, 70, .56);
    --ladica-shadow: 0 18px 44px rgba(47, 100, 92, .12);
    position: relative;
    left: 50%;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 10px;
    width: min(100vw, 1536px);
    min-height: 100vh;
    margin: 0;
    padding: 7px;
    color: var(--ladica-teal-dark);
    background: #fbf7ee;
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: 0;
    transform: translateX(-50%);
}

.ladica-pe-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Pe-icon-7-stroke";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ladica-pe-icon:before {
    display: block;
}

.pe-7s-home:before { content: "\e648"; }
.pe-7s-helm:before { content: "\e6b6"; }
.pe-7s-flag:before { content: "\e6a4"; }
.pe-7s-notebook:before { content: "\e62b"; }
.pe-7s-users:before { content: "\e693"; }
.pe-7s-map:before { content: "\e637"; }
.pe-7s-config:before { content: "\e666"; }
.pe-7s-compass:before { content: "\e667"; }
.pe-7s-gleam:before { content: "\e668"; }
.pe-7s-chat:before { content: "\e66d"; }
.pe-7s-angle-down:before { content: "\e688"; }
.pe-7s-back:before { content: "\e682"; }
.pe-7s-download:before { content: "\e6a3"; }
.pe-7s-user:before { content: "\e605"; }
.pe-7s-magic-wand:before { content: "\e6b9"; }

.ladica-master-shell a {
    color: inherit;
    text-decoration: none;
}

.ladica-sidebar,
.ladica-main,
.ladica-login-notice {
    border: 1px solid var(--ladica-line);
    box-shadow: var(--ladica-shadow);
}

.ladica-sidebar {
    position: sticky;
    top: 7px;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 14px);
    padding: 26px 22px 24px;
    overflow: hidden;
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255, 253, 247, .7), rgba(235, 248, 244, .78)),
        url("../images/watercolor-texture.png") center top / cover no-repeat,
        var(--ladica-paper);
}

.ladica-brand {
    position: relative;
    z-index: 1;
    text-align: center;
}

.ladica-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 95px;
    height: 95px;
    margin: 0 auto 17px;
    border: 1px solid rgba(201, 149, 56, .86);
    border-radius: 50%;
    background: rgba(255, 253, 247, .28);
}

.ladica-logo img {
    display: block;
    width: 78px;
    height: 78px;
    object-fit: contain;
}

.ladica-brand h1 {
    margin: 0;
    color: #ae741f;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: 0;
}

.ladica-brand h1 span {
    display: block;
    font-size: 26px;
}

.ladica-brand p {
    margin: 11px 0 0;
    color: #284f5a;
    font-size: 15px;
    line-height: 1.35;
}

.ladica-nav {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 14px;
    margin-top: 30px;
}

.ladica-nav a,
.ladica-exit {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 59px;
    padding: 14px 18px;
    border: 1px solid transparent;
    border-radius: 22px;
    color: var(--ladica-teal-dark);
    font-size: 17px;
    line-height: 1.2;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.ladica-nav a:hover,
.ladica-exit:hover {
    transform: translateY(-1px);
    border-color: rgba(201, 149, 56, .42);
    background: rgba(226, 246, 242, .48);
}

.ladica-nav a.active {
    border-color: rgba(201, 149, 56, .82);
    background:
        linear-gradient(90deg, rgba(208, 237, 232, .92), rgba(230, 246, 242, .62)),
        url("../images/watercolor-texture.png") center / cover no-repeat;
}

.ladica-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    color: #11727a;
}

.ladica-nav-icon .ladica-pe-icon {
    width: 25px;
    height: 25px;
    font-size: 29px;
}

.ladica-nav-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ladica-note-card {
    position: relative;
    z-index: 1;
    margin-top: auto;
    min-height: 172px;
    padding: 22px 26px 20px 73px;
    overflow: hidden;
    border: 1px solid rgba(201, 149, 56, .56);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 252, 245, .82), rgba(222, 244, 240, .78)),
        url("../images/watercolor-texture.png") left bottom / 170% auto no-repeat;
}

.ladica-note-card .note-icon {
    position: absolute;
    top: 23px;
    left: 29px;
    width: 26px;
    height: 26px;
    color: var(--ladica-gold);
}

.ladica-note-card .note-icon .ladica-heart-svg,
.ladica-bottom-copy .ladica-spark-svg {
    width: 27px;
    height: 27px;
    fill: currentColor;
    stroke: none;
}

.ladica-note-card p {
    margin: 0 0 13px;
    color: #284f5a;
    font-size: 16px;
    line-height: 1.62;
}

.ladica-note-card .ladica-note-text span {
    display: block;
    color: #284f5a;
    font-size: 16px;
    font-style: normal;
    line-height: 1.62;
}

.ladica-note-card .ladica-signature {
    display: block;
    color: #b97b25;
    font-size: 24px;
    font-style: italic;
    line-height: 1;
}

.ladica-exit {
    justify-content: flex-start;
    min-height: 54px;
    margin-top: 32px;
    border-color: rgba(201, 149, 56, .5);
    background: rgba(242, 250, 247, .58);
}

.ladica-main {
    position: relative;
    overflow: hidden;
    padding: 0 28px 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 253, 248, .96), rgba(255, 251, 242, .94));
}

.ladica-hero {
    position: relative;
    min-height: 322px;
    margin: 0 -28px;
    padding: 88px 430px 42px 40px;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(255, 253, 247, .96) 0%, rgba(255, 253, 247, .9) 38%, rgba(255, 253, 247, .38) 58%, rgba(255, 253, 247, .08) 100%),
        url("../images/hero-full.png") 59% center / cover no-repeat;
}

.ladica-hero:before,
.ladica-hero-art {
    display: none;
}

.ladica-hero:after {
    content: "✦";
    position: absolute;
    top: 32px;
    left: 630px;
    color: #e0b456;
    font-size: 30px;
    line-height: 1;
    opacity: .75;
}

.ladica-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.ladica-hero-copy h2 {
    margin: 0 0 14px;
    color: var(--ladica-teal);
    font-size: 40px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0;
}

.ladica-hero-copy .lead,
.ladica-hero-copy p {
    margin: 0;
    color: #1e4f5b;
    font-size: 17px;
    line-height: 1.72;
}

.ladica-hero-copy .lead {
    margin-bottom: 9px;
}

.ladica-user-menu {
    position: absolute;
    top: 28px;
    right: 28px;
    z-index: 4;
}

.ladica-user-menu[open] {
    z-index: 10;
}

.ladica-user-pill {
    display: grid;
    grid-template-columns: 48px minmax(0, auto) 20px;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    color: var(--ladica-teal);
    list-style: none;
}

.ladica-user-pill::-webkit-details-marker {
    display: none;
}

.ladica-avatar {
    width: 48px;
    height: 48px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 50%;
    background: #e8f3ef;
    box-shadow: 0 7px 18px rgba(31, 94, 92, .12);
}

.ladica-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ladica-user-pill strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif !important;
    color: var(--ladica-teal);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: 0;
}

.ladica-user-pill span {
    display: block;
    color: #38616c;
    font-size: 12px;
    line-height: 1.35;
}

.ladica-user-chevron .ladica-pe-icon {
    width: 18px;
    height: 18px;
    font-size: 20px;
    transition: transform .2s ease;
}

.ladica-user-menu[open] .ladica-user-chevron .ladica-pe-icon {
    transform: rotate(180deg);
}

.ladica-user-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    display: grid;
    width: 235px;
    padding: 9px;
    border: 1px solid rgba(201, 149, 56, .48);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255, 253, 248, .96), rgba(236, 249, 246, .94)),
        url("../images/watercolor-texture.png") right top / 150% auto no-repeat;
    box-shadow: 0 18px 38px rgba(31, 94, 92, .16);
}

.ladica-user-dropdown a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 9px 11px;
    border-radius: 12px;
    color: var(--ladica-teal-dark);
    font-size: 15px;
    line-height: 1.2;
}

.ladica-user-dropdown a:hover {
    background: rgba(221, 244, 240, .76);
}

.ladica-user-dropdown .ladica-pe-icon {
    width: 20px;
    color: #12747b;
    font-size: 22px;
}

.ladica-user-dropdown svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: none;
    stroke: #12747b;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ladica-success {
    margin: 0 0 16px;
    padding: 13px 18px;
    border: 1px solid rgba(105, 170, 132, .45);
    border-radius: 16px;
    background: rgba(235, 248, 239, .9);
    color: #24605f;
    font-size: 16px;
}

.ladica-progress-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 112px 1px minmax(240px, 1.2fr) auto;
    align-items: center;
    gap: 25px;
    min-height: 136px;
    margin: 0 1px 22px;
    padding: 14px 42px 14px 31px;
    overflow: hidden;
    border: 1px solid rgba(201, 149, 56, .58);
    border-radius: 22px;
    background:
        linear-gradient(90deg, rgba(255, 253, 248, .9), rgba(235, 248, 244, .82)),
        url("../images/watercolor-texture.png") right center / 62% auto no-repeat;
}

.ladica-progress-card h3,
.ladica-section h2,
.page-panel h2 {
    margin: 0 0 8px;
    color: var(--ladica-teal);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 0;
}

.ladica-progress-card p {
    margin: 0;
    color: #2e5863;
    font-size: 16px;
    line-height: 1.45;
}

.ladica-ring {
    --value: 0;
    position: relative;
    display: grid;
    place-items: center;
    justify-self: center;
    width: 104px;
    height: 104px;
    border-radius: 50%;
    background: conic-gradient(#43a9b0 calc(var(--value) * 1%), #f0dfb8 0);
}

.ladica-ring:before {
    content: "";
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: rgba(255, 253, 248, .96);
    box-shadow: inset 0 0 0 1px rgba(201, 149, 56, .18);
}

.ladica-ring span {
    position: absolute;
    color: var(--ladica-teal);
    font-size: 28px;
    line-height: 1;
}

.ladica-progress-divider {
    width: 1px;
    height: 78px;
    background: rgba(201, 149, 56, .55);
}

.ladica-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 26px;
    border: 0;
    border-radius: 999px;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .38), transparent 38%),
        linear-gradient(180deg, var(--ladica-btn-top) 0%, var(--ladica-btn-bottom) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .44), 0 14px 30px rgba(31, 117, 117, .24);
    color: #fff !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.ladica-section h2 {
    margin: 0 0 14px 10px;
}

.ladica-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 19px;
}

.ladica-card,
.ladica-panel,
.ladica-bottom-bar {
    border: 1px solid rgba(201, 149, 56, .58);
    border-radius: 18px;
    background: var(--ladica-paper);
    box-shadow: 0 9px 20px rgba(49, 105, 99, .06);
}

.ladica-card {
    position: relative;
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    column-gap: 16px;
    align-items: center;
    min-height: 187px;
    padding: 22px 20px;
    overflow: hidden;
    background:
        linear-gradient(105deg, rgba(255, 253, 248, .88) 0%, rgba(255, 253, 248, .74) 48%, rgba(210, 239, 235, .9) 100%),
        url("../images/watercolor-texture.png") right bottom / 130% auto no-repeat;
}

.ladica-card:before {
    content: "";
    position: absolute;
    left: -50px;
    bottom: -48px;
    width: 245px;
    height: 170px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(85, 185, 184, .28), transparent 68%);
    pointer-events: none;
}

.ladica-card:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='220' viewBox='0 0 420 220'%3E%3Cg fill='none' stroke='%23d3aa58' stroke-linecap='round' opacity='.28'%3E%3Cpath d='M-35 187C56 115 136 99 228 131s134 44 226-23' stroke-width='1.1'/%3E%3Cpath d='M-18 205C76 139 160 129 248 157s130 26 206-30' stroke-width='.9' opacity='.75'/%3E%3Cpath d='M16 176C88 138 153 134 214 152' stroke-width='.7' opacity='.7'/%3E%3C/g%3E%3C/svg%3E") left bottom / 100% 72% no-repeat,
        radial-gradient(ellipse at 11% 96%, rgba(112, 191, 189, .24), transparent 46%),
        radial-gradient(ellipse at 100% 100%, rgba(112, 191, 189, .18), transparent 52%);
    opacity: .9;
    pointer-events: none;
}

.ladica-card .icon {
    position: relative;
    z-index: 1;
    grid-row: 1 / span 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104px;
    height: 104px;
    align-self: center;
    border: 1px solid rgba(201, 149, 56, .68);
    border-radius: 50%;
    color: var(--ladica-gold);
    background: rgba(255, 253, 248, .42);
}

.ladica-card .icon .ladica-pe-icon {
    width: 61px;
    height: 61px;
    font-size: 64px;
}

.ladica-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 8px;
    color: var(--ladica-teal);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
}

.ladica-card p {
    position: relative;
    z-index: 1;
    margin: 0 0 9px;
    color: #2d505b;
    font-size: 16px;
    line-height: 1.52;
}

.ladica-card a {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-width: 108px;
    min-height: 37px;
    padding: 9px 23px;
    border-radius: 999px;
    background:
        radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .36), transparent 40%),
        linear-gradient(180deg, var(--ladica-btn-top) 0%, var(--ladica-btn-bottom) 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.ladica-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ladica-guide-card {
    position: relative;
    display: grid;
    grid-template-columns: 134px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 214px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid rgba(201, 149, 56, .56);
    border-radius: 20px;
    background:
        linear-gradient(112deg, rgba(255, 253, 248, .88), rgba(238, 249, 246, .82)),
        url("../images/watercolor-texture.png") right bottom / 120% auto no-repeat;
}

.ladica-guide-card:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='240' viewBox='0 0 520 240'%3E%3Cg fill='none' stroke='%23d3aa58' stroke-linecap='round' opacity='.24'%3E%3Cpath d='M-40 195C65 116 176 104 294 141s154 36 268-42' stroke-width='1.1'/%3E%3Cpath d='M-18 221C90 151 198 143 311 169s147 22 244-42' stroke-width='.9' opacity='.75'/%3E%3Cpath d='M20 176C99 137 172 133 245 153' stroke-width='.7' opacity='.7'/%3E%3C/g%3E%3C/svg%3E") left bottom / 100% 76% no-repeat,
        radial-gradient(ellipse at 12% 96%, rgba(112, 191, 189, .22), transparent 46%),
        radial-gradient(ellipse at 100% 100%, rgba(112, 191, 189, .16), transparent 52%);
    pointer-events: none;
}

.ladica-guide-cover,
.ladica-guide-copy {
    position: relative;
    z-index: 1;
}

.ladica-guide-cover img {
    display: block;
    width: 124px;
    height: 166px;
    object-fit: contain;
    filter: drop-shadow(0 12px 20px rgba(29, 84, 84, .14));
}

.ladica-guide-copy h3 {
    margin: 0 0 8px;
    color: var(--ladica-teal);
    font-size: 23px;
    line-height: 1.2;
}

.ladica-guide-copy p {
    margin: 0 0 17px;
    color: #365e68;
    font-size: 16px;
    line-height: 1.5;
}

.ladica-guide-download {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 9px 17px;
    border-radius: 999px;
    background:
        radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .36), transparent 40%),
        linear-gradient(180deg, var(--ladica-btn-top) 0%, var(--ladica-btn-bottom) 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

.ladica-guide-download .ladica-pe-icon {
    font-size: 22px;
}

.ladica-guide-download.is-disabled {
    background: rgba(222, 196, 132, .42);
    color: #8a6e35;
}

.page-panel {
    margin-top: 0;
    padding: 30px;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .94), rgba(235, 248, 244, .78)),
        url("../images/watercolor-texture.png") right top / 55% auto no-repeat;
}

.ladica-page-header {
    margin-bottom: 22px;
}

.ladica-page-header p {
    max-width: 850px;
    margin: 0;
    color: #365d68;
    font-size: 18px;
    line-height: 1.6;
}

.ladica-form,
.ladica-list,
.ladica-accordion {
    display: grid;
    gap: 14px;
}

.ladica-form label {
    display: grid;
    gap: 8px;
    color: #285862;
    font-size: 17px;
}

.ladica-form input,
.ladica-form textarea {
    width: 100%;
    padding: 15px 17px;
    border: 1px solid rgba(201, 149, 56, .52);
    border-radius: 16px;
    outline: none;
    background: rgba(255, 255, 255, .78);
    color: var(--ladica-teal-dark);
    font: inherit;
    font-size: 16px;
    line-height: 1.5;
}

.ladica-list {
    margin-top: 22px;
}

.ladica-diary-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(310px, .72fr);
    gap: 20px;
    align-items: start;
}

.ladica-diary-form .ladica-btn {
    justify-self: start;
}

.ladica-diary-entries {
    min-height: 100%;
    max-height: 620px;
    padding: 20px;
    overflow: auto;
    border: 1px solid rgba(201, 149, 56, .42);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .88), rgba(235, 248, 244, .68)),
        url("../images/watercolor-texture.png") right bottom / 140% auto no-repeat;
}

.ladica-diary-entries h3 {
    margin: 0 0 14px;
    color: var(--ladica-teal);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.ladica-diary-list {
    margin-top: 0;
}

.ladica-empty-note {
    margin: 0;
    color: #52717a;
    font-size: 16px;
    line-height: 1.6;
}

.ladica-list div,
.ladica-map-note,
.ladica-accordion details {
    padding: 18px 20px;
    border: 1px solid rgba(201, 149, 56, .4);
    border-radius: 18px;
    background: rgba(255, 253, 248, .78);
}

.ladica-list strong,
.ladica-map-note h3,
.ladica-accordion summary {
    color: var(--ladica-teal);
    font-size: 20px;
    font-weight: 700;
}

.ladica-list p,
.ladica-map-note p,
.ladica-accordion p {
    margin: 8px 0 0;
    color: #365e68;
    font-size: 17px;
    line-height: 1.65;
}

.ladica-list small,
.ladica-list em {
    display: block;
    color: #52717a;
    font-size: 15px;
    font-style: normal;
    line-height: 1.6;
}

.ladica-skill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.ladica-skill-list span {
    display: inline-flex;
    padding: 12px 17px;
    border: 1px solid rgba(201, 149, 56, .56);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 253, 248, .85), rgba(231, 247, 243, .78));
    color: #26626b;
    font-size: 17px;
}

.ladica-map-note {
    margin-top: 22px;
}

.ladica-mastery-form {
    display: grid;
    gap: 20px;
}

.ladica-mastery-overview {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px auto;
    gap: 22px;
    align-items: center;
    padding: 22px 26px;
    overflow: hidden;
    border: 1px solid rgba(201, 149, 56, .48);
    border-radius: 20px;
    background:
        linear-gradient(105deg, rgba(255, 253, 248, .9), rgba(230, 247, 243, .78)),
        url("../images/watercolor-texture.png") right center / 80% auto no-repeat;
}

.ladica-mastery-overview > * {
    position: relative;
    z-index: 1;
}

.ladica-mastery-overview span {
    display: block;
    margin-bottom: 6px;
    color: #b67d25;
    font-size: 15px;
    line-height: 1.3;
}

.ladica-mastery-overview h3 {
    margin: 0 0 8px;
    color: var(--ladica-teal);
    font-size: 25px;
    font-weight: 400;
    line-height: 1.15;
}

.ladica-mastery-overview p {
    margin: 0;
    color: #365e68;
    font-size: 16px;
    line-height: 1.6;
}

.ladica-mastery-count {
    max-width: 170px;
    padding-left: 18px;
    border-left: 1px solid rgba(201, 149, 56, .45);
}

.ladica-mastery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ladica-mastery-card {
    position: relative;
    display: grid;
    gap: 16px;
    padding: 20px;
    overflow: hidden;
    border: 1px solid rgba(201, 149, 56, .5);
    border-radius: 20px;
    background:
        linear-gradient(112deg, rgba(255, 253, 248, .9), rgba(235, 248, 244, .74)),
        url("../images/watercolor-texture.png") right bottom / 125% auto no-repeat;
}

.ladica-mastery-card:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 8% 100%, rgba(112, 191, 189, .18), transparent 50%),
        radial-gradient(ellipse at 100% 100%, rgba(201, 149, 56, .08), transparent 52%);
    pointer-events: none;
}

.ladica-mastery-card > * {
    position: relative;
    z-index: 1;
}

.ladica-mastery-card-head {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.ladica-mastery-card .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    border: 1px solid rgba(201, 149, 56, .62);
    border-radius: 50%;
    color: var(--ladica-gold);
    background: rgba(255, 253, 248, .44);
}

.ladica-mastery-card .icon .ladica-pe-icon {
    width: 40px;
    height: 40px;
    font-size: 43px;
}

.ladica-mastery-card .icon svg {
    width: 38px;
    height: 38px;
    fill: currentColor;
}

.ladica-mastery-card h3 {
    margin: 0 0 6px;
    color: var(--ladica-teal);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
}

.ladica-mastery-card p {
    margin: 0;
    color: #365e68;
    font-size: 15px;
    line-height: 1.5;
}

.ladica-mastery-scale {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.ladica-mastery-scale label {
    cursor: pointer;
}

.ladica-mastery-scale input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ladica-mastery-scale span {
    display: grid;
    place-items: center;
    min-height: 38px;
    border: 1px solid rgba(201, 149, 56, .45);
    border-radius: 13px;
    background: rgba(255, 253, 248, .72);
    color: var(--ladica-teal);
    font-size: 17px;
    font-weight: 700;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.ladica-mastery-scale label:hover span,
.ladica-mastery-scale input:checked + span,
.ladica-mastery-scale label.active span {
    border-color: rgba(38, 142, 146, .68);
    background:
        radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .36), transparent 40%),
        linear-gradient(180deg, var(--ladica-btn-top) 0%, var(--ladica-btn-bottom) 100%);
    color: #fff;
    transform: translateY(-1px);
}

.ladica-mastery-note {
    display: grid;
    gap: 8px;
    color: #285862;
    font-size: 16px;
}

.ladica-mastery-note textarea {
    width: 100%;
    padding: 14px 15px;
    border: 1px solid rgba(201, 149, 56, .44);
    border-radius: 15px;
    outline: none;
    background: rgba(255, 255, 255, .72);
    color: var(--ladica-teal-dark);
    font: inherit;
    font-size: 15px;
    line-height: 1.5;
    resize: vertical;
}

.ladica-mastery-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px;
    border: 1px solid rgba(201, 149, 56, .42);
    border-radius: 18px;
    background: rgba(255, 253, 248, .68);
}

.ladica-mastery-actions p {
    max-width: 760px;
    margin: 0;
    color: #365e68;
    font-size: 16px;
    line-height: 1.55;
}

.ladica-mastery-history {
    display: grid;
    gap: 14px;
    margin-top: 20px;
    padding: 20px 22px;
    border: 1px solid rgba(201, 149, 56, .42);
    border-radius: 20px;
    background:
        linear-gradient(112deg, rgba(255, 253, 248, .86), rgba(235, 248, 244, .66)),
        url("../images/watercolor-texture.png") right bottom / 110% auto no-repeat;
}

.ladica-mastery-history-head h3 {
    margin: 0 0 6px;
    color: var(--ladica-teal);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.2;
}

.ladica-mastery-history-head p {
    margin: 0;
    color: #365e68;
    font-size: 16px;
    line-height: 1.5;
}

.ladica-mastery-history-list {
    display: grid;
    gap: 10px;
}

.ladica-mastery-history-item {
    display: grid;
    grid-template-columns: minmax(190px, .8fr) minmax(180px, 1fr) 58px;
    gap: 16px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(201, 149, 56, .34);
    border-radius: 16px;
    background: rgba(255, 253, 248, .68);
}

.ladica-mastery-history-meta {
    display: grid;
    gap: 3px;
}

.ladica-mastery-history-meta strong {
    color: var(--ladica-teal);
    font-size: 17px;
    line-height: 1.2;
}

.ladica-mastery-history-meta span {
    color: #52717a;
    font-size: 14px;
    line-height: 1.35;
}

.ladica-mastery-progress {
    height: 11px;
    overflow: hidden;
    border: 1px solid rgba(201, 149, 56, .32);
    border-radius: 999px;
    background: rgba(240, 223, 184, .46);
}

.ladica-mastery-progress span {
    display: block;
    width: calc(var(--value) * 1%);
    height: 100%;
    border-radius: inherit;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .34), transparent 38%),
        linear-gradient(180deg, var(--ladica-btn-top) 0%, var(--ladica-btn-bottom) 100%);
}

.ladica-mastery-history-item b {
    color: var(--ladica-teal);
    font-size: 18px;
    line-height: 1;
    text-align: right;
}

.ladica-ai-chat {
    display: grid;
    gap: 16px;
}

.ladica-ai-chat-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    border: 1px solid rgba(201, 149, 56, .42);
    border-radius: 18px;
    background:
        linear-gradient(105deg, rgba(255, 253, 248, .9), rgba(230, 247, 243, .72)),
        url("../images/watercolor-texture.png") right center / 80% auto no-repeat;
}

.ladica-ai-chat-head .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border: 1px solid rgba(201, 149, 56, .62);
    border-radius: 50%;
    color: var(--ladica-gold);
    background: rgba(255, 253, 248, .44);
}

.ladica-ai-chat-head .ladica-pe-icon {
    font-size: 42px;
}

.ladica-ai-chat-head h3 {
    margin: 0 0 4px;
    color: var(--ladica-teal);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.2;
}

.ladica-ai-chat-head p {
    margin: 0;
    color: #365e68;
    font-size: 16px;
    line-height: 1.45;
}

.ladica-ai-messages {
    display: grid;
    gap: 14px;
    max-height: 640px;
    padding: 18px;
    overflow: auto;
    border: 1px solid rgba(201, 149, 56, .38);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .78), rgba(235, 248, 244, .54)),
        url("../images/watercolor-texture.png") right bottom / 120% auto no-repeat;
}

.ladica-ai-message {
    max-width: 78%;
    padding: 14px 16px;
    border: 1px solid rgba(201, 149, 56, .34);
    border-radius: 16px;
    background: rgba(255, 253, 248, .82);
}

.ladica-ai-message.user {
    justify-self: end;
    background: rgba(222, 244, 240, .82);
}

.ladica-ai-message.assistant {
    justify-self: start;
}

.ladica-ai-message strong {
    display: block;
    margin-bottom: 6px;
    color: var(--ladica-teal);
    font-size: 15px;
    line-height: 1.25;
}

.ladica-ai-message p {
    margin: 0;
    color: #365e68;
    font-size: 16px;
    line-height: 1.6;
}

.ladica-ai-message a {
    color: var(--ladica-teal);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(39, 147, 149, .36);
}

.ladica-ai-form {
    padding: 18px;
    border: 1px solid rgba(201, 149, 56, .38);
    border-radius: 18px;
    background: rgba(255, 253, 248, .7);
}

.ladica-ai-input-label {
    margin-bottom: 12px;
}

.ladica-ai-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin: 0 14px 0 0;
    color: var(--ladica-teal);
    font-size: 15px;
}

.ladica-ai-form.is-loading .ladica-ai-status::before {
    content: "";
    width: 14px;
    height: 14px;
    margin-right: 8px;
    border: 2px solid rgba(39, 147, 149, .22);
    border-top-color: var(--ladica-teal);
    border-radius: 50%;
    animation: ladica-spin .75s linear infinite;
}

.ladica-ai-form button[disabled] {
    opacity: .72;
    cursor: progress;
}

@keyframes ladica-spin {
    to {
        transform: rotate(360deg);
    }
}

.ladica-accordion summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0;
    cursor: pointer;
    list-style: none;
}

.ladica-accordion summary::-webkit-details-marker {
    display: none;
}

.ladica-accordion summary:after {
    content: "+";
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid rgba(201, 149, 56, .54);
    border-radius: 50%;
    background: rgba(235, 248, 244, .72);
    color: #168088;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
}

.ladica-accordion details[open] summary:after {
    content: "-";
}

.ladica-bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 62px;
    margin-top: 18px;
    padding: 12px 47px 12px 27px;
    background:
        linear-gradient(90deg, rgba(255, 253, 248, .9), rgba(235, 248, 244, .76)),
        url("../images/watercolor-texture.png") right center / 48% auto no-repeat;
}

.ladica-bottom-copy {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #2d5d67;
    font-size: 16px;
    line-height: 1.45;
}

.ladica-soft-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-width: 216px;
    min-height: 39px;
    padding: 9px 20px;
    border: 1px solid rgba(201, 149, 56, .5);
    border-radius: 999px;
    background: rgba(235, 248, 244, .74);
    color: var(--ladica-teal-dark);
    font-size: 15px;
    font-weight: 700;
}

.ladica-soft-btn .ladica-pe-icon {
    width: 20px;
    height: 20px;
    font-size: 22px;
}

.ladica-login-wrap {
    --ladica-btn-top: #70c6c0;
    --ladica-btn-bottom: #208d91;
    --ladica-teal: #125f68;
    --ladica-teal-dark: #0d4f58;
    --ladica-gold: #c89538;
    width: min(100%, 760px);
    margin: 48px auto 54px;
    padding: 0 18px;
    color: var(--ladica-teal-dark);
    font-family: Georgia, "Times New Roman", serif;
}

.ladica-login-notice {
    position: relative;
    max-width: 680px;
    margin: 0 auto;
    padding: 36px 50px 38px;
    overflow: hidden;
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .94), rgba(235, 248, 244, .82)),
        url("../images/watercolor-texture.png") right top / 90% auto no-repeat;
    text-align: center;
}

.ladica-login-notice:before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(201, 149, 56, .52);
    border-radius: 20px;
    pointer-events: none;
}

.ladica-login-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 94px;
    height: 94px;
    margin: 0 auto 16px;
    border: 1px solid rgba(201, 149, 56, .78);
    border-radius: 50%;
    background: rgba(255, 253, 248, .34);
}

.ladica-login-logo img {
    display: block;
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.ladica-login-kicker {
    margin: 0 0 8px !important;
    color: #b67d25 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
}

.ladica-login-notice h2 {
    margin: 0 0 13px;
    color: var(--ladica-teal);
    font-size: 36px;
    font-weight: 400;
    line-height: 1.12;
}

.ladica-login-notice p {
    margin: 0 0 24px;
    color: #365e68;
    font-size: 18px;
    line-height: 1.55;
}

#ladica-login-form {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 14px;
    max-width: 420px;
    margin: 25px auto 0;
    text-align: left;
}

#ladica-login-form p {
    margin: 0;
}

#ladica-login-form label {
    display: grid;
    gap: 8px;
    color: #285862;
    font-size: 16px;
    line-height: 1.35;
}

#ladica-login-form input[type="text"],
#ladica-login-form input[type="password"] {
    width: 100%;
    min-height: 50px;
    padding: 13px 16px;
    border: 1px solid rgba(201, 149, 56, .52);
    border-radius: 14px;
    outline: none;
    background: rgba(255, 255, 255, .8);
    color: var(--ladica-teal-dark);
    font: inherit;
    font-size: 16px;
}

#ladica-login-form .login-remember label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #456a72;
    font-size: 15px;
}

#ladica-login-form input[type="checkbox"] {
    width: 17px;
    height: 17px;
    accent-color: var(--ladica-btn-bottom);
}

#ladica-login-form .login-submit {
    margin-top: 4px;
}

#ladica-login-form input[type="submit"] {
    width: 100%;
    min-height: 52px;
    padding: 13px 26px;
    border: 0;
    border-radius: 14px;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .38), transparent 38%),
        linear-gradient(180deg, var(--ladica-btn-top) 0%, var(--ladica-btn-bottom) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .44), 0 14px 30px rgba(31, 117, 117, .22);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
}

.ladica-login-help {
    position: relative;
    z-index: 1;
    display: inline-flex;
    margin-top: 18px;
    color: #1d6f76;
    font-size: 15px;
    line-height: 1.35;
}

@media (max-width: 1320px) {
    .ladica-master-shell {
        grid-template-columns: 252px minmax(0, 1fr);
    }

    .ladica-main {
        padding-right: 20px;
        padding-left: 20px;
    }

    .ladica-hero {
        margin-right: -20px;
        margin-left: -20px;
        padding-right: 330px;
        background-position: 62% center;
    }

    .ladica-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ladica-guide-grid {
        grid-template-columns: 1fr;
    }

    .ladica-progress-card {
        grid-template-columns: minmax(180px, 1fr) 112px 1px minmax(220px, 1fr);
    }

    .ladica-progress-card .ladica-btn {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .ladica-diary-layout {
        grid-template-columns: 1fr;
    }

    .ladica-diary-entries {
        max-height: none;
    }

    .ladica-mastery-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) {
    .ladica-master-shell {
        left: auto;
        grid-template-columns: 1fr;
        width: 100%;
        padding: 10px;
        transform: none;
    }

    .ladica-sidebar {
        position: relative;
        top: auto;
        min-height: auto;
    }

    .ladica-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ladica-hero {
        min-height: 360px;
        padding: 95px 30px 38px;
        background-position: 64% center;
    }

    .ladica-hero-copy {
        max-width: 680px;
    }

    .ladica-progress-card {
        grid-template-columns: 1fr 112px;
    }

    .ladica-progress-divider {
        display: none;
    }

    .ladica-progress-stage,
    .ladica-progress-card .ladica-btn {
        grid-column: 1 / -1;
    }

    .ladica-bottom-bar {
        align-items: flex-start;
        flex-direction: column;
        padding-right: 27px;
    }

    .ladica-user-dropdown {
        right: 0;
    }
}

@media (max-width: 720px) {
    .ladica-master-shell {
        gap: 8px;
        padding: 0 8px 96px;
    }

    .ladica-sidebar,
    .ladica-main {
        border-radius: 16px;
    }

    .ladica-sidebar {
        position: fixed;
        z-index: 100;
        right: clamp(84px, 18vw, 132px);
        bottom: 28px;
        left: clamp(48px, 11vw, 82px);
        min-height: 0;
        padding: 2px 6px;
        border-radius: 14px;
        box-shadow: 0 12px 34px rgba(35, 68, 72, .18);
        background:
            linear-gradient(105deg, rgba(255, 253, 248, .94), rgba(231, 247, 243, .9)),
            url("../images/watercolor-texture.png") right bottom / 120% auto no-repeat;
    }

    .ladica-brand,
    .ladica-note-card,
    .ladica-exit {
        display: none;
    }

    .ladica-brand h1,
    .ladica-brand h1 span {
        font-size: 24px;
    }

    .ladica-nav {
        display: flex;
        justify-content: center;
        grid-template-columns: none;
        gap: 4px;
        overflow: visible;
        padding: 0;
    }

    .ladica-nav::-webkit-scrollbar {
        display: none;
    }

    .ladica-nav a {
        flex: 1 1 0;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
        min-height: 38px;
        padding: 2px 4px;
        border-radius: 11px;
        font-size: 11px;
        line-height: 1.1;
        text-align: center;
        scroll-snap-align: start;
    }

    .ladica-nav a span:last-child {
        display: block;
        width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ladica-nav-icon {
        width: 19px;
        height: 19px;
    }

    .ladica-nav-icon .ladica-pe-icon {
        width: 19px;
        height: 19px;
        font-size: 21px;
    }

    .ladica-main {
        padding: 0 15px 14px;
    }

    .ladica-hero {
        margin-right: -15px;
        margin-left: -15px;
        min-height: auto;
        padding: 142px 20px 32px;
        background-position: 72% center;
    }

    .ladica-hero:after {
        display: none;
    }

    .ladica-user-menu {
        top: 18px;
        right: 16px;
        left: 16px;
    }

    .ladica-user-pill {
        width: 100%;
        grid-template-columns: 44px minmax(0, 1fr) 36px;
        min-height: 58px;
        padding: 7px 8px 7px 9px;
        border: 1px solid rgba(38, 142, 146, .34);
        border-radius: 999px;
        background: rgba(255, 253, 248, .9);
        box-shadow: 0 10px 28px rgba(35, 68, 72, .1);
    }

    .ladica-user-dropdown {
        right: 0;
        left: 0;
        width: 100%;
    }

    .ladica-avatar {
        width: 42px;
        height: 42px;
    }

    .ladica-user-pill strong {
        font-size: 18px;
    }

    .ladica-user-chevron {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border: 1px solid rgba(38, 142, 146, .38);
        border-radius: 50%;
        background:
            radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .5), transparent 45%),
            linear-gradient(180deg, rgba(102, 190, 190, .24), rgba(32, 141, 145, .16));
        color: var(--ladica-teal);
    }

    .ladica-user-chevron .ladica-pe-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 29px;
        height: 29px;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        transform: translateY(1px);
    }

    .ladica-hero-copy h2 {
        font-size: 34px;
    }

    .ladica-hero-copy .lead,
    .ladica-hero-copy p,
    .ladica-progress-card p,
    .ladica-page-header p,
    .ladica-card p,
    .ladica-bottom-copy {
        font-size: 16px;
    }

    .ladica-progress-card {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 22px;
    }

    .ladica-ring {
        justify-self: start;
    }

    .ladica-card-grid {
        grid-template-columns: 1fr;
    }

    .ladica-card {
        grid-template-columns: 90px minmax(0, 1fr);
        min-height: 170px;
        padding: 18px;
    }

    .ladica-card .icon {
        width: 78px;
        height: 78px;
    }

    .ladica-card .icon .ladica-pe-icon {
        width: 46px;
        height: 46px;
        font-size: 49px;
    }

    .ladica-bottom-bar {
        padding: 16px 18px;
    }

    .ladica-guide-card {
        grid-template-columns: 104px minmax(0, 1fr);
        padding: 15px;
    }

    .ladica-guide-cover img {
        width: 96px;
        height: 128px;
    }

    .ladica-guide-copy h3 {
        font-size: 20px;
    }

    .ladica-bottom-copy {
        align-items: flex-start;
    }

    .ladica-soft-btn {
        width: 100%;
    }

    .page-panel {
        padding: 22px 18px;
        overflow: hidden;
    }

    .ladica-diary-layout,
    .ladica-guide-grid,
    .ladica-mastery-grid {
        grid-template-columns: 1fr;
    }

    .ladica-mastery-overview {
        grid-template-columns: 1fr;
        width: 100%;
        max-width: 100%;
        padding: 18px;
        box-sizing: border-box;
    }

    .ladica-mastery-count {
        max-width: none;
        padding-left: 0;
        border-left: 0;
    }

    .ladica-mastery-form,
    .ladica-mastery-card,
    .ladica-mastery-actions,
    .ladica-mastery-history,
    .ladica-mastery-history-item {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .ladica-mastery-card {
        padding: 16px;
    }

    .ladica-mastery-card-head {
        grid-template-columns: 62px minmax(0, 1fr);
    }

    .ladica-mastery-card .icon {
        width: 58px;
        height: 58px;
    }

    .ladica-mastery-actions {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px;
    }

    .ladica-mastery-actions .ladica-btn {
        width: 100%;
    }

    .ladica-mastery-history-item {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ladica-mastery-history-item b {
        text-align: left;
    }

    .ladica-ai-chat-head {
        align-items: center;
        gap: 10px;
        padding: 10px 4px;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .ladica-ai-chat-head .icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        background: rgba(255, 253, 248, .8);
    }

    .ladica-ai-chat-head .ladica-pe-icon {
        font-size: 30px;
    }

    .ladica-ai-chat-head h3 {
        margin-bottom: 0;
        font-size: 20px;
        font-weight: 700;
    }

    .ladica-ai-chat-head p {
        display: none;
    }

    .ladica-ai-chat {
        gap: 10px;
        margin-right: -10px;
        margin-left: -10px;
        min-height: 78vh;
        padding: 0 10px 10px;
        background:
            linear-gradient(180deg, rgba(255, 253, 248, .38), rgba(231, 247, 243, .28)),
            url("../images/watercolor-texture.png") center top / 145% auto repeat-y;
    }

    .ladica-ai-messages {
        gap: 8px;
        max-height: none;
        padding: 4px 0 12px;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .ladica-ai-message {
        max-width: 88%;
        padding: 11px 13px;
        border: 0;
        border-radius: 18px;
        box-shadow: 0 5px 14px rgba(35, 68, 72, .08);
    }

    .ladica-ai-message.assistant {
        border-bottom-left-radius: 6px;
        background: rgba(255, 255, 255, .9);
    }

    .ladica-ai-message.user {
        border-bottom-right-radius: 6px;
        background: rgba(222, 244, 240, .92);
    }

    .ladica-ai-message strong {
        margin-bottom: 4px;
        font-size: 13px;
    }

    .ladica-ai-message p {
        font-size: 16px;
        line-height: 1.48;
    }

    .ladica-ai-form {
        position: static;
        align-self: stretch;
        margin-top: auto;
        z-index: 3;
        display: grid;
        gap: 8px;
        padding: 10px;
        border: 0;
        border-radius: 22px;
        background: rgba(255, 255, 255, .92);
        box-shadow: 0 10px 30px rgba(35, 68, 72, .16);
    }

    .ladica-ai-input-label {
        margin-bottom: 0;
    }

    .ladica-ai-input-label span {
        display: none;
    }

    .ladica-ai-input-label textarea {
        min-height: 96px;
        max-height: none;
        padding: 13px 15px;
        border-radius: 18px;
        background: rgba(255, 253, 248, .94);
        overflow: hidden;
        resize: none;
    }

    .ladica-ai-form .ladica-btn {
        width: 100%;
        min-height: 44px;
    }

    .ladica-ai-status {
        min-height: 20px;
        margin: 0;
        font-size: 13px;
    }

    .ladica-login-wrap {
        margin-top: 30px;
        margin-bottom: 36px;
    }

    .ladica-login-notice {
        padding: 28px 20px 30px;
    }

    .ladica-login-notice h2 {
        font-size: 30px;
    }
}

@media (max-width: 460px) {
    .ladica-master-shell {
        padding: 0 0 96px;
    }

    .ladica-main {
        border-radius: 0;
    }

    .ladica-sidebar {
        right: 82px;
        bottom: 24px;
        left: 48px;
        border-radius: 14px;
    }

    .ladica-brand {
        padding: 0 6px;
    }

    .ladica-nav a,
    .ladica-exit {
        gap: 14px;
    }

    .ladica-nav a {
        gap: 4px;
        min-height: 38px;
        padding: 2px 3px;
        font-size: 10px;
    }

    .ladica-note-card {
        padding: 20px 18px 20px 62px;
    }

    .ladica-hero-copy h2 {
        font-size: 30px;
    }

    .ladica-progress-card,
    .ladica-bottom-bar {
        border-radius: 16px;
    }

    .ladica-card {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ladica-card .icon {
        grid-row: auto;
    }

    .ladica-card a,
    .ladica-btn,
    .ladica-guide-download {
        width: 100%;
    }

    .ladica-guide-card {
        grid-template-columns: 1fr;
    }

    .ladica-mastery-scale {
        gap: 6px;
    }

    .ladica-mastery-scale span {
        min-height: 36px;
        border-radius: 11px;
        font-size: 15px;
    }

    .ladica-mastery-overview,
    .ladica-mastery-card,
    .ladica-mastery-actions,
    .ladica-mastery-history {
        padding-right: 14px;
        padding-left: 14px;
    }

    .ladica-ai-message {
        max-width: 92%;
    }

    .ladica-login-wrap {
        padding: 0 10px;
    }
}
