.plan-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px}
.plan-tools button{min-height:48px;border-radius:12px;border:1px solid #45735a;background:#163b2b;color:#fff;font:inherit;font-weight:800;cursor:pointer;padding:10px 14px}
.plan-tools button:last-child{background:transparent;color:inherit}
.plan-tools button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0002}
.personal-dialog{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #506358;border-radius:20px;background:#17231c;color:#f6f8f4;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 90px #0009}
.personal-dialog[open]{animation:personal-open .32s cubic-bezier(.2,.8,.2,1) both}
.personal-dialog.personal-closing{animation:personal-close .19s ease-in both}
.personal-dialog[open]::backdrop{animation:personal-backdrop .32s ease-out both}
.personal-dialog.personal-closing::backdrop{animation:personal-backdrop-out .19s ease-in both}
@keyframes personal-open{from{opacity:0;transform:scale(.97) translateY(8px);filter:blur(2px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}
@keyframes personal-close{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.985)}}
@keyframes personal-backdrop{from{opacity:0}to{opacity:1}}
@keyframes personal-backdrop-out{from{opacity:1}to{opacity:0}}
.personal-dialog::backdrop{background:#050a07b8;backdrop-filter:blur(4px)}
.personal-dialog-shell{padding:clamp(18px,3vw,30px)}
.personal-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.personal-dialog-head h2{margin:0;font-size:clamp(25px,4vw,38px);letter-spacing:-.04em;line-height:1.1}
.personal-close{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid #5a7162;background:#24382c;color:inherit;font-size:24px;line-height:1;cursor:pointer}
.personal-intro{margin:0 0 20px;color:#c9d2c9;line-height:1.5;font-size:14px}
.personal-filters,.personal-builder-basics,.personal-catalog-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.personal-builder-basics{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.personal-catalog-filters{grid-template-columns:1fr 2fr}
.personal-dialog label:not(.personal-focus-choice),.personal-day-name{display:grid;gap:6px;font-size:12px;font-weight:800}
.personal-dialog select,.personal-dialog input{width:100%;min-width:0;min-height:43px;border:1px solid #6c8271;border-radius:10px;background:#0e1a13;color:inherit;padding:9px 11px;font:inherit;font-size:14px}
.personal-dialog input:focus,.personal-dialog select:focus{outline:2px solid #79ae88;outline-offset:1px}
.personal-dialog select:disabled{color:#9ba89b}
.personal-level-field{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:800}
.personal-level-picker{position:relative;min-width:0}
.personal-level-picker summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;padding:9px 11px;border:1px solid #6c8271;border-radius:10px;background:#0e1a13;color:#f6f8f4;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.personal-level-picker summary::-webkit-details-marker{display:none}
.personal-level-picker summary::after{content:'';width:7px;height:7px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.personal-level-picker[open] summary::after{transform:rotate(225deg) translateY(-2px)}
.personal-level-picker summary:focus-visible{outline:2px solid #79ae88;outline-offset:1px}
.personal-level-options{position:absolute;z-index:10;top:calc(100% + 5px);left:0;right:0;min-width:max-content;padding:5px;border:1px solid #6c8271;border-radius:10px;background:#17271c;box-shadow:0 12px 28px #0006}
.personal-level-option{display:block;width:100%;padding:10px 11px;border:0;border-radius:7px;background:transparent;color:#f6f8f4;text-align:left;font:inherit;font-size:13px;cursor:pointer}
.personal-level-option:hover,.personal-level-option[aria-pressed=true]{background:#315540}
.personal-focus{border:1px solid #536b58;border-radius:14px;margin:18px 0 8px;padding:12px}
.personal-focus legend{font-size:13px;font-weight:800;padding:0 6px}
.personal-focus-list{display:flex;flex-wrap:wrap;gap:8px}
.personal-focus-choice{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #536b58;border-radius:100px;cursor:pointer;font-size:13px}
.personal-focus-choice:has(input:checked){background:#2a6240;border-color:#83b495;color:white}
.personal-focus-choice:has(input:disabled){opacity:.48;cursor:not-allowed}
.personal-focus-choice input{width:16px;min-height:16px;accent-color:#45865a;margin:0}
.personal-hint{font-size:12px;line-height:1.5;color:#bccabc;margin:12px 0 16px}
.personal-level-help{font-size:12px;line-height:1.4;color:#bccabc;margin:8px 0 0}
.personal-error{color:#ffc0b8}
.personal-library-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.personal-library-card{min-width:0;padding:17px;border:1px solid #4e6655;border-radius:15px;background:#203127;display:flex;flex-direction:column}
.personal-library-card h3{font-size:23px;margin:7px 0 3px;line-height:1.1}
.personal-library-card p{font-size:13px;line-height:1.45;color:#cad7cb;margin:6px 0 12px}
.personal-details{border-top:1px solid #526b58;margin-top:auto;padding:10px 0 12px}
.personal-details summary{cursor:pointer;font-size:13px;font-weight:700}
.personal-detail-row{display:grid;gap:3px;border-bottom:1px solid #ffffff20;padding:8px 0}
.personal-detail-row strong{font-size:12px}.personal-detail-row span{font-size:12px;color:#c5cec5;line-height:1.4}
.personal-primary,.personal-secondary{border-radius:10px;min-height:41px;padding:9px 14px;font:inherit;font-weight:800;cursor:pointer}
.personal-primary{border:0;background:#2d7850;color:#fff}
.personal-primary:hover{background:#399160}
.personal-primary:disabled{background:#4e6255;color:#d0d9d1;cursor:not-allowed}
.personal-library-card .personal-card-note{font-size:12px;color:#f2c89d;margin:0 0 9px}
.personal-secondary{border:1px solid #54705a;background:transparent;color:inherit}
.personal-empty{padding:16px;background:#ffffff0d;border-radius:10px;font-size:13px;color:#c8d4ca}
.personal-own{margin-top:22px}.personal-own h3{font-size:18px;margin-bottom:10px}
.personal-own-row{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff2c;padding:10px 0;font-size:13px}
.personal-own-row strong{margin-right:auto}.personal-own-row span{color:#b6c4b8}
.personal-day-tabs{display:flex;gap:7px;overflow-x:auto;margin:18px 0 14px;padding-bottom:4px}
.personal-cycle-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 0}
.personal-cycle-tabs[hidden]{display:none}
.personal-cycle-tabs button{border:1px solid #53705a;border-radius:10px;background:transparent;color:inherit;padding:10px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.personal-cycle-tabs button.active{background:#276443;border-color:#378052;color:#fff}
.personal-cycle-tabs:not([hidden])+.personal-day-tabs{margin-top:10px}
.personal-day-tabs button{flex:none;border:1px solid #53705a;border-radius:10px;background:transparent;color:inherit;padding:9px 12px;cursor:pointer;font:inherit;font-size:12px;font-weight:800}
.personal-day-tabs button.active{background:#276443;border-color:#378052;color:#fff}
.personal-day-name{margin-bottom:14px}
.personal-builder-rows{display:grid;gap:9px}
.personal-builder-row{border:1px solid #526b58;border-radius:12px;padding:11px;background:#203127}
.personal-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}
.personal-row-actions{display:flex;gap:4px}.personal-row-actions button{width:29px;height:29px;border:1px solid #64806b;border-radius:7px;background:transparent;color:inherit;cursor:pointer}.personal-row-actions button:disabled{opacity:.35}
.personal-row-settings{display:grid;grid-template-columns:minmax(110px,160px);gap:10px;margin-top:10px}
.personal-volume{font-size:12px;line-height:1.45;color:#c9d8ca;margin:14px 0 22px}
.personal-content>h3{font-size:19px;margin:0 0 12px}
.personal-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:220px;overflow-y:auto;margin-top:10px}
.personal-catalog-item{display:flex;justify-content:space-between;align-items:center;gap:9px;min-width:0;border:1px solid #536b58;border-radius:9px;padding:9px;background:#1b2a20;color:inherit;text-align:left;font:inherit;font-size:12px;cursor:pointer}
.personal-catalog-item strong{white-space:nowrap;color:#a5d9af}.personal-catalog-item:hover{border-color:#a5d9af}
.personal-save{display:block;width:100%;margin-top:16px}
html[data-theme="light"] .plan-tools button{background:#173c2b;color:#fff;border-color:#173c2b}
html[data-theme="light"] .plan-tools button:last-child{background:#eaf2ec;color:#173c2b;border-color:#aac7b1}
html[data-theme="light"] .personal-dialog{background:#fff;color:#18231b;border-color:#bed2c0}
html[data-theme="light"] .personal-close{background:#edf3ee;border-color:#c7d8c9;color:#1a3021}
html[data-theme="light"] .personal-intro,html[data-theme="light"] .personal-hint,html[data-theme="light"] .personal-level-help,html[data-theme="light"] .personal-library-card p,html[data-theme="light"] .personal-detail-row span{color:#526258}
html[data-theme="light"] .personal-dialog select,html[data-theme="light"] .personal-dialog input{background:#fff;color:#19231b;border-color:#bbcdbd}
html[data-theme="light"] .personal-level-picker summary{background:#fff;color:#19231b;border-color:#bbcdbd}
html[data-theme="light"] .personal-level-options{background:#fff;border-color:#bbcdbd;box-shadow:0 12px 28px #182d1b25}
html[data-theme="light"] .personal-level-option{color:#19231b}
html[data-theme="light"] .personal-level-option:hover,html[data-theme="light"] .personal-level-option[aria-pressed=true]{background:#e3f0e5}
html[data-theme="light"] .personal-focus,html[data-theme="light"] .personal-focus-choice,html[data-theme="light"] .personal-library-card,html[data-theme="light"] .personal-builder-row{border-color:#c2d4c4}
html[data-theme="light"] .personal-library-card,html[data-theme="light"] .personal-builder-row{background:#f5f9f5}
html[data-theme="light"] .personal-details,html[data-theme="light"] .personal-own-row{border-color:#d7e1d8}
html[data-theme="light"] .personal-secondary,html[data-theme="light"] .personal-day-tabs button,html[data-theme="light"] .personal-catalog-item{background:#f5f9f5;color:#173c2b;border-color:#b6cdbb}
html[data-theme="light"] .personal-empty{background:#f0f5f0;color:#526258}
html[data-theme="light"] .personal-volume{color:#526258}
html[data-theme="light"] .personal-catalog-item strong{color:#1d6740}
html[data-theme="light"] .personal-library-card .personal-card-note{color:#8b4b16}
html[data-theme="light"] .personal-primary:disabled{background:#dce6dd;color:#526258}
html[data-theme="light"] .personal-focus-choice:has(input:checked),html[data-theme="light"] .personal-day-tabs button.active{background:#dbeee0;color:#174f2a}
html[data-theme="light"] .personal-cycle-tabs button{background:#f5f9f5;color:#173c2b;border-color:#b6cdbb}
html[data-theme="light"] .personal-cycle-tabs button.active{background:#dbeee0;color:#174f2a;border-color:#378052}
html[data-theme="light"] .personal-error{color:#a72323}
@media(max-width:700px){.plan-tools{grid-template-columns:1fr}.personal-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:15px}.personal-dialog[open]{animation-name:personal-open-mobile}.personal-dialog-shell{padding:17px}.personal-filters{grid-template-columns:1fr 1fr}.personal-filters label:last-child{grid-column:1/-1}.personal-library-cards,.personal-catalog{grid-template-columns:1fr}.personal-builder-basics,.personal-catalog-filters{grid-template-columns:1fr}.personal-day-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:7px}.personal-day-tabs button{min-width:0;padding:9px 5px;font-size:12px}.personal-row-settings{gap:6px}.personal-own-row{flex-wrap:wrap}}
@keyframes personal-open-mobile{from{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:700px){.personal-dialog.personal-closing{animation-name:personal-close}}
@media(prefers-reduced-motion:reduce){.personal-dialog[open],.personal-dialog.personal-closing,.personal-dialog[open]::backdrop,.personal-dialog.personal-closing::backdrop{animation:none!important}}
