.schedule{margin-top:24px}.print-only{display:none}.schedule__layout{display:grid;grid-template-columns:240px 1fr;grid-gap:20px;gap:20px;align-items:start}.schedule__main{min-width:0}.schedule__resources{position:-webkit-sticky;position:sticky;top:12px;border:1px solid var(--color-border,#d8d8d8);border-radius:var(--radius-md,12px);padding:12px;background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface,#fff))}.schedule__resources-title{margin:0 0 4px;font-size:.95rem}.schedule__resources-hint{margin:0 0 10px;font-size:.76rem;color:var(--color-text-muted);line-height:1.4}.schedule__resource-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto}.schedule__resource[style*=background]{color:#11151c}.schedule__resource-grip{color:inherit;opacity:.55;flex-shrink:0}.schedule__resource-list--hint .schedule__resource{animation:schedule-drag-hint 1.4s ease-in-out 2}.schedule__resource-list--hint .schedule__resource:nth-child(2){animation-delay:.15s}.schedule__resource-list--hint .schedule__resource:nth-child(3){animation-delay:.3s}@keyframes schedule-drag-hint{0%,to{transform:translateX(0);box-shadow:0 0 0 0 transparent}50%{transform:translateX(5px);box-shadow:0 2px 10px color-mix(in srgb,var(--color-primary) 35%,transparent)}}@media (prefers-reduced-motion:reduce){.schedule__resource-list--hint .schedule__resource{animation:none}}.schedule__resource{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--color-border,#d8d8d8);border-radius:var(--radius-sm,8px);background:var(--color-surface,#fff);cursor:-webkit-grab;cursor:grab;font-size:.84rem}.schedule__resource:active{cursor:-webkit-grabbing;cursor:grabbing}.schedule__resource-name{flex:1 1;min-width:0;display:flex;align-items:center;gap:6px}.schedule__resource-text{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule__resource-actions{display:flex;align-items:center;gap:2px;flex:none}.schedule__colorpick{position:relative;display:inline-flex}.schedule__colorpick-trigger{width:20px;height:20px;border:1px solid var(--color-border,#d8d8d8);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--color-text-muted);font-size:.7rem}.schedule__colorpick-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:20;display:grid;grid-template-columns:repeat(4,20px);grid-gap:4px;gap:4px;padding:6px;background:var(--color-surface,#fff);border:1px solid var(--color-border,#d8d8d8);border-radius:var(--radius-sm,8px);box-shadow:0 4px 14px rgba(16,36,58,.18)}.schedule__colorpick-swatch{width:20px;height:20px;border:1px solid var(--color-border,#d8d8d8);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--color-text-muted);background:var(--color-surface,#fff);padding:0}.schedule__colorpick-swatch.is-active{outline:2px solid var(--color-primary);outline-offset:1px}.schedule__resource-remove{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1.05rem;line-height:1;width:20px;height:20px}.schedule__resource-empty{font-size:.8rem;color:var(--color-text-muted);padding:8px 0}.schedule__resource-add{display:flex;gap:6px}.schedule__resource-add input{flex:1 1;min-width:0;padding:6px 8px;border:1px solid var(--color-border,#d8d8d8);border-radius:var(--radius-sm,8px);background:var(--color-surface,#fff);color:var(--color-text);font-size:.82rem}.schedule__toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:16px}.schedule__field{display:flex;flex-direction:column;gap:4px;min-width:160px}.schedule__field--wide{width:100%;margin-top:16px}.schedule__field label{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.schedule__field input,.schedule__field select,.schedule__field textarea{padding:8px 10px;border-radius:var(--radius-sm,8px);border:1px solid var(--color-border,#d8d8d8);background:var(--color-surface,#fff);color:var(--color-text);font-size:.9rem;font-family:inherit}.schedule__field textarea{resize:vertical}.schedule__palette{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.schedule__palette-label{margin-right:4px}.schedule__palette-label,.schedule__swatch{font-size:.8rem;color:var(--color-text-muted)}.schedule__swatch{width:26px;height:26px;border-radius:6px;border:1px solid var(--color-border,#d8d8d8);cursor:pointer;background:var(--color-surface,#fff);line-height:1;display:inline-flex;align-items:center;justify-content:center}.schedule__swatch.is-active{outline:2px solid var(--color-primary);outline-offset:1px}.schedule__views{display:inline-flex;gap:2px;padding:3px;background:color-mix(in srgb,var(--color-text) 6%,transparent);border-radius:var(--radius-md,12px);margin-bottom:16px}.schedule__view-btn{border:none;background:transparent;padding:6px 14px;border-radius:var(--radius-sm,8px);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.schedule__view-btn.is-active{background:var(--color-surface,#fff);color:var(--color-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}.schedule__conflict{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#b45309;background:color-mix(in srgb,#f5a623 14%,transparent);border:1px solid color-mix(in srgb,#f5a623 40%,transparent);border-radius:var(--radius-sm,8px);padding:8px 12px;margin-bottom:12px}:root[data-theme=dark] .schedule__conflict{color:#fbbf24;background:color-mix(in srgb,#f5a623 22%,transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .schedule__conflict{color:#fbbf24;background:color-mix(in srgb,#f5a623 22%,transparent)}}.schedule__conflict--resource{align-items:flex-start;color:#b91c1c;background:color-mix(in srgb,#ef4444 12%,transparent);border-color:color-mix(in srgb,#ef4444 40%,transparent)}:root[data-theme=dark] .schedule__conflict--resource{color:#fca5a5;background:color-mix(in srgb,#ef4444 22%,transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .schedule__conflict--resource{color:#fca5a5;background:color-mix(in srgb,#ef4444 22%,transparent)}}.schedule__conflict-list{margin:4px 0 0;padding-left:18px;font-size:.8rem;font-weight:500}.schedule__focus{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:.85rem}.schedule__focus label{font-weight:600;color:var(--color-text-muted)}.schedule__focus select{padding:6px 10px;border-radius:var(--radius-sm,8px);border:1px solid var(--color-border,#d8d8d8);background:var(--color-surface,#fff);color:var(--color-text)}.schedule__table td.is-resource-conflict{box-shadow:inset 0 0 0 2px #ef4444}.schedule__day-row.is-resource-conflict{border-left:3px solid #ef4444;box-shadow:inset 0 0 0 1px color-mix(in srgb,#ef4444 50%,transparent)}.schedule__day-row.is-dimmed,.schedule__table td.is-dimmed{opacity:.28}.schedule__table td.is-swap{cursor:pointer}.schedule__table td.is-swap-picked{box-shadow:inset 0 0 0 2px var(--color-primary)}.schedule__icon-flip{transform:scaleX(-1)}.schedule__workload{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.schedule__workload li{display:grid;grid-template-columns:1fr auto auto;grid-gap:12px;gap:12px;align-items:center;font-size:.84rem;padding:4px 8px;border-radius:var(--radius-sm,8px);background:color-mix(in srgb,var(--color-text) 4%,transparent)}.schedule__workload-name{font-weight:600}.schedule__workload-count,.schedule__workload-hours{color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule__legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;font-size:.8rem}.schedule__legend-label{font-weight:600;color:var(--color-text-muted)}.schedule__legend-item{display:inline-flex;align-items:center;gap:5px}.schedule__legend-swatch{width:14px;height:14px;border-radius:4px;border:1px solid var(--color-border,#d8d8d8);display:inline-block}.schedule__availbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;border-radius:var(--radius-sm,8px);font-size:.85rem;color:var(--color-text);background:color-mix(in srgb,var(--color-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent)}.schedule__resource-badge{flex:none;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.65rem;font-weight:700;background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}:root[data-theme=dark] .schedule__resource-badge{color:#fca5a5}.schedule__resource-avail{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--color-border,#d8d8d8);border-radius:6px;background:transparent;cursor:pointer;color:var(--color-text-muted);padding:0}.schedule__resource-avail.is-active{background:var(--color-primary);color:var(--color-primary-contrast,#fff);border-color:var(--color-primary)}.schedule__resource.is-editing-avail{outline:2px solid var(--color-primary);outline-offset:1px}.schedule__table td.is-avail-edit{cursor:pointer}.schedule__table td.is-avail-blocked{background-image:repeating-linear-gradient(45deg,transparent,transparent 6px,color-mix(in srgb,#ef4444 30%,transparent) 0,color-mix(in srgb,#ef4444 30%,transparent) 12px)}.schedule__table td.is-avail-violation{box-shadow:inset 0 0 0 2px #b91c1c}.example__toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.example__toc-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.85rem;text-decoration:none;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border,#cfd9e6);transition:background .15s ease,border-color .15s ease}.example__toc-link:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.example{margin-top:44px;scroll-margin-top:80px}.example__head{margin-bottom:10px}.example__summary{margin:4px 0 0;color:var(--color-text-muted)}.example__actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.example__wrap{border:1px solid var(--color-border,#cfd9e6);border-radius:var(--radius-md,12px);overflow:auto;box-shadow:0 1px 3px rgba(16,36,58,.06)}.example__cell{padding:8px 10px;font-size:.88rem;vertical-align:middle}.example__slot-label{display:block;font-size:.78rem;color:var(--color-text-muted);font-weight:500}.example__note{margin-top:12px;padding:10px 14px;border-left:3px solid var(--color-accent,#e6a23c);background:color-mix(in srgb,var(--color-accent,#e6a23c) 8%,transparent);border-radius:0 var(--radius-sm,6px) var(--radius-sm,6px) 0;font-size:.9rem}.example__more{margin-top:10px;font-size:.9rem;color:var(--color-text-muted)}:root[data-theme=dark] .example__cell[style*=background]{color:#11151c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .example__cell[style*=background]{color:#11151c}}.schedule__wrap{overflow-x:auto}.schedule__table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.schedule__table td,.schedule__table th{border:1px solid var(--color-border,#d8d8d8);padding:4px;vertical-align:top;background:var(--color-surface,#fff)}.schedule__table thead th{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface,#fff));color:var(--color-text);font-weight:700;text-align:center}.schedule__table tr.is-conflict .schedule__time{box-shadow:inset 3px 0 0 #f5a623}.schedule__time{width:210px;position:relative;text-align:left;background:color-mix(in srgb,var(--color-accent) 6%,var(--color-surface,#fff))}.schedule__time-range{display:flex;align-items:center;gap:4px}.schedule__time-range input{flex:1 1;padding:4px;font-size:.78rem}.schedule__label,.schedule__time-range input{border:1px solid var(--color-border,#d8d8d8);border-radius:4px;background:var(--color-surface,#fff);color:var(--color-text)}.schedule__label{width:100%;margin-top:4px;padding:4px 6px;font-size:.85rem;font-weight:600}.schedule__label-row{display:flex;align-items:center;gap:4px;margin-top:4px}.schedule__label-row .schedule__label{margin-top:0}.schedule__remove{flex-shrink:0;border:1px solid var(--color-border,#d8d8d8);background:var(--color-surface,#fff);color:var(--color-text-muted);font-size:1rem;cursor:pointer;width:24px;height:24px;border-radius:4px;line-height:1}.schedule__remove:hover{background:color-mix(in srgb,#ef4444 16%,transparent);border-color:#ef4444;color:#b91c1c}.schedule__table td input{width:100%;border:none;background:transparent;padding:6px;font-size:.85rem;color:var(--color-text);font-family:inherit}.schedule__day-row[style*=background],.schedule__day-row[style*=background] .schedule__day-clock input,.schedule__day-row[style*=background] .schedule__day-input,.schedule__day-row[style*=background] .schedule__day-label,.schedule__month-cell[style*=background],.schedule__month-cell[style*=background] .schedule__month-day,.schedule__month-cell[style*=background] .schedule__month-input,.schedule__table td[style*=background],.schedule__table td[style*=background] input{color:#11151c}.schedule__day-row[style*=background] .schedule__day-input::placeholder,.schedule__month-cell[style*=background] .schedule__month-input::placeholder,.schedule__table td[style*=background] input::placeholder{color:rgba(17,21,28,.5)}.schedule__table td{cursor:text}.schedule__table td[draggable=true]{cursor:-webkit-grab;cursor:grab}.schedule__day-abbr{display:none}.schedule__day-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.schedule__day-tab{border:1px solid var(--color-border,#d8d8d8);background:var(--color-surface,#fff);color:var(--color-text-muted);padding:6px 12px;border-radius:999px;cursor:pointer;font-size:.82rem}.schedule__day-tab.is-active{background:var(--color-primary);color:var(--color-primary-contrast,#fff);border-color:var(--color-primary)}.schedule__day-heading{margin:0 0 8px}.schedule__day-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--color-border,#d8d8d8);border-radius:var(--radius-sm,8px);margin-bottom:6px}.schedule__day-row.is-conflict{border-left:3px solid #f5a623}.schedule__day-time{display:flex;flex-direction:column;gap:4px;min-width:150px;font-size:.85rem}.schedule__day-time span{color:var(--color-text-muted);font-size:.78rem}.schedule__day-label{border:1px solid transparent;border-radius:6px;padding:4px 6px;font-size:.88rem;font-weight:700;background:transparent;color:inherit;font-family:inherit}.schedule__day-label:focus,.schedule__day-label:hover{border-color:var(--color-border,#d8d8d8);background:var(--color-surface,#fff);color:var(--color-text);outline:none}.schedule__day-clock{display:flex;align-items:center;gap:4px}.schedule__day-clock input{width:78px;padding:3px 4px;font-size:.76rem;border:1px solid var(--color-border,#d8d8d8);border-radius:4px}.schedule__day-clock input,.schedule__day-input{background:var(--color-surface,#fff);color:var(--color-text)}.schedule__day-input{flex:1 1;border:1px solid var(--color-border,#d8d8d8);border-radius:6px;padding:8px;font-size:.9rem;font-family:inherit}.schedule__cell{position:relative}.schedule__cell-clear{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;width:22px;height:22px;border-radius:999px;flex-shrink:0}.schedule__cell-clear:hover{background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}.schedule__cell-clear--table{position:absolute;top:2px;right:2px;opacity:0;transition:opacity .12s ease;background:color-mix(in srgb,var(--color-surface) 85%,transparent)}.schedule__cell:focus-within .schedule__cell-clear--table,.schedule__cell:hover .schedule__cell-clear--table{opacity:1}.schedule__day-row[style*=background] .schedule__cell-clear,.schedule__table td[style*=background] .schedule__cell-clear{color:#11151c}.schedule__actions,.schedule__export{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}.schedule__export{padding-top:12px;border-top:1px solid var(--color-border,#d8d8d8)}.schedule__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm,8px);background:var(--color-primary);color:var(--color-primary-contrast,#fff);border:none;cursor:pointer;font-weight:600;font-size:.88rem}.schedule__btn--ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border,#d8d8d8)}.schedule__btn--ghost:hover{border-color:var(--color-primary)}.schedule__add{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px dashed var(--color-border,#d8d8d8);background:transparent;border-radius:var(--radius-sm,8px);cursor:pointer;color:var(--color-text-muted);font-size:.88rem}.schedule__add:hover{color:var(--color-text);border-color:var(--color-primary)}.schedule__panel{margin-top:16px}.schedule__panel summary{cursor:pointer;font-size:.88rem;font-weight:600;color:var(--color-text)}.schedule__copy{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:10px}.schedule__copy label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--color-text-muted)}.schedule__copy select{padding:6px 10px;border-radius:6px;border:1px solid var(--color-border,#d8d8d8);background:var(--color-surface,#fff);color:var(--color-text)}.schedule__saved{margin-top:16px}.schedule__saved h3{font-size:.95rem;margin:0 0 8px}.schedule__saved ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.schedule__saved li{display:inline-flex;align-items:center;border:1px solid var(--color-border,#d8d8d8);border-radius:999px;padding:4px 4px 4px 12px;gap:6px}.schedule__link{color:var(--color-primary);font-weight:600;font-size:.85rem}.schedule__link,.schedule__remove-saved{border:none;background:transparent;cursor:pointer}.schedule__remove-saved{color:var(--color-text-muted);font-size:1rem;width:22px;height:22px;border-radius:999px}.schedule__remove-saved:hover{background:color-mix(in srgb,var(--color-text) 8%,transparent)}.schedule__note{margin-top:14px;font-size:.82rem;color:var(--color-text-muted)}.schedule__toast-wrap{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.schedule__toast{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md,12px);font-size:.9rem;font-weight:600;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22);animation:schedule-toast-in .22s ease}.schedule__toast--success{background:#15803d}.schedule__toast--error{background:#b91c1c}@keyframes schedule-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.schedule__toast{animation:none}}.schedule__month-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}.schedule__month-label{font-size:1.05rem;min-width:160px;text-align:center}.schedule__month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.schedule__month-weekday{text-align:center;font-weight:700;font-size:.78rem;color:var(--color-text-muted);padding:4px 0}.schedule__month-cell{min-height:78px;border:1px solid var(--color-border,#d8d8d8);border-radius:var(--radius-sm,8px);padding:4px;background:var(--color-surface,#fff);display:flex;flex-direction:column;gap:2px}.schedule__month-cell.is-empty{background:transparent;border:none}.schedule__month-cell.is-weekend{background:color-mix(in srgb,var(--color-accent) 6%,var(--color-surface,#fff))}.schedule__month-cell-head{display:flex;align-items:center;justify-content:space-between}.schedule__month-day{font-size:.78rem;font-weight:700;color:var(--color-text-muted)}.schedule__month-clear{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:.9rem;line-height:1;width:18px;height:18px;border-radius:999px;opacity:0;transition:opacity .12s ease}.schedule__month-cell:focus-within .schedule__month-clear,.schedule__month-cell:hover .schedule__month-clear{opacity:1}.schedule__month-clear:hover{background:color-mix(in srgb,#ef4444 18%,transparent);color:#b91c1c}.schedule__month-cell[style*=background] .schedule__month-clear{color:#11151c}.schedule__month-input{flex:1 1;width:100%;border:none;background:transparent;resize:none;font-size:.8rem;color:var(--color-text);font-family:inherit}@media (max-width:860px){.schedule__layout{grid-template-columns:1fr}.schedule__resources{position:static}.schedule__resource-list{max-height:200px}}@media (max-width:640px){.schedule__field{min-width:140px;flex:1 1}.schedule__day-full{display:none}.schedule__day-abbr{display:inline}.schedule__time{width:120px}.schedule__month-cell{min-height:56px}}@media print{.print-only{display:block}.schedule{margin-top:0}.schedule__layout{grid-template-columns:1fr}.schedule__print-title{font-size:1.4rem;margin:0 0 12px}.schedule__table input,.schedule__table select{border:none;background:transparent}.schedule__table td,.schedule__table th{border:1px solid #999}.schedule__time{width:auto}.schedule__time-print{font-size:.75rem;color:#333;display:block}.schedule__notes-print{margin-top:12px;font-size:.85rem;color:#333}.schedule__credit-print{margin-top:16px;font-size:.72rem;color:#777;text-align:right}.schedule__month-cell{border:1px solid #999}}:root{--color-primary:#1f2937;--color-primary-contrast:#fff;--color-accent:#2563eb;--color-background:#fff;--color-surface:#f8fafc;--color-text:#0f172a;--color-text-muted:#64748b;--color-border:#e2e8f0;--font-heading:system-ui,sans-serif;--font-body:system-ui,sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--space:16px;--container:1080px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;color-scheme:light}html[data-theme=dark]{color-scheme:dark}@media (prefers-color-scheme:dark){html:not([data-theme=light]){color-scheme:dark}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);cursor:pointer;font-size:1rem;line-height:1}.theme-toggle:hover{border-color:var(--color-primary)}.header-actions{display:flex;align-items:center;gap:10px}.header-actions--drawer{display:none}.lang-switcher{position:relative;display:inline-flex}.lang-switcher__trigger{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 10px;font-size:.85rem;font-weight:600;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease}.lang-switcher__trigger:hover{border-color:var(--color-primary)}.lang-switcher__flag{display:inline-block;width:var(--flag-size,20px);height:var(--flag-size,20px);border-radius:50%;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.lang-switcher__name{white-space:nowrap}.lang-switcher__chevron{color:var(--color-text-muted)}.lang-switcher__menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:170px;margin:0;padding:6px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 12px 32px rgba(0,0,0,.16)}.lang-switcher__item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);font-size:.9rem;color:var(--color-text)}.lang-switcher__item:hover{background:var(--color-background);text-decoration:none}.lang-switcher__item.is-active{color:var(--color-primary);font-weight:700}.lang-switcher__check{margin-left:auto;color:var(--color-primary)}.site-search{position:relative;display:inline-flex}.site-search__trigger{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease}.site-search__trigger:hover{border-color:var(--color-primary)}.site-search__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:min(360px,calc(100vw - 32px));padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 12px 32px rgba(0,0,0,.16)}.site-search__field{display:flex;align-items:center;gap:8px;padding:0 10px;height:40px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.site-search__field-icon{color:var(--color-text-muted);flex:none}.site-search__input{flex:1 1;min-width:0;height:100%;border:none;background:transparent;color:var(--color-text);font-family:var(--font-body);font-size:.95rem;outline:none}.site-search__input::-webkit-search-cancel-button{cursor:pointer}.site-search__results{margin:8px 0 0;padding:0;list-style:none;max-height:320px;overflow-y:auto}.site-search__result{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--color-text)}.site-search__result.is-active,.site-search__result:hover{background:var(--color-background);text-decoration:none}.site-search__result-label{font-weight:600;font-size:.92rem}.site-search__result-section{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap}.site-search__empty,.site-search__hint{margin:10px 4px 2px;font-size:.85rem;color:var(--color-text-muted)}.site-header--sidebar .site-search__trigger{background:rgba(0,0,0,.16);border-color:hsla(0,0%,100%,.35);color:var(--color-primary-contrast)}.site-header--sidebar .site-search__trigger:hover{border-color:var(--color-primary-contrast)}body{margin:0;position:relative;background-color:var(--color-background);color:var(--color-text);font-family:var(--font-body);line-height:1.6;font-size:16px}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--bg-image,none);background-repeat:repeat;background-size:480px auto;opacity:.18}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;color:var(--color-text);margin:0 0 .5em}h1{font-size:clamp(1.8rem,4vw,2.6rem)}.page-title-icon{display:flex;align-items:center;gap:.5rem}.page-title-icon svg{flex:none;width:1.1em;height:1.1em;color:var(--color-accent)}h2{font-size:clamp(1.4rem,3vw,1.9rem)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.prose a:not([class]),blockquote a:not([class]),li a:not([class]),p a:not([class]){text-decoration:underline;text-underline-offset:.15em}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space)}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}.site-header__brand{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--color-text)}.site-header__brand:hover{text-decoration:none}.site-nav{display:flex;gap:18px;flex-wrap:wrap}.site-nav a{color:var(--color-text-muted);font-size:.95rem}.site-nav a:hover{color:var(--color-primary)}.site-header__controls{display:flex;align-items:center;gap:8px}.site-header__burger{display:none;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.site-header__burger:hover{border-color:var(--color-primary)}.site-header__drawer,.site-header__drawer[hidden]{display:none}.nav-group{position:relative}.nav-group,.nav-group__trigger{display:inline-flex;align-items:center}.nav-group__trigger{gap:4px;border:0;background:transparent;padding:0;color:var(--color-text-muted);font:inherit;font-size:.95rem;cursor:pointer}.nav-group--open .nav-group__trigger,.nav-group__trigger:hover{color:var(--color-primary)}.nav-group__trigger svg{width:14px;height:14px;transition:transform .15s ease}.nav-group--open .nav-group__trigger svg{transform:rotate(180deg)}.nav-group__panel{position:absolute;top:100%;left:0;z-index:50;width:max-content;min-width:240px;max-width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 18px 40px -12px rgba(15,23,42,.18);padding:14px}@media (hover:hover) and (pointer:fine){.nav-group__panel:before{content:"";position:absolute;inset:-10px 0 auto 0;height:10px;pointer-events:auto;background:transparent}}.nav-group__panel[hidden]{display:none}.nav-group__overview{display:block;padding:6px 8px;font-size:.85rem;color:var(--color-text-muted);border-bottom:1px dashed var(--color-border);margin-bottom:8px}.nav-group__overview:hover{color:var(--color-primary)}.nav-group__columns{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:flex-start}.nav-group__column{min-width:160px;flex:0 1 auto}.nav-group__section-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 6px;padding:0 8px}.nav-group__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.nav-group__list a{display:block;padding:6px 8px;border-radius:var(--radius-sm);color:var(--color-text);font-size:.95rem;text-decoration:none}.nav-group__list a:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}@media (max-width:720px){.nav-group__panel{position:static;min-width:0;max-height:none;overflow-y:visible;box-shadow:none;border:0;padding:4px 0 8px 12px;margin-top:0}.nav-group__columns{flex-direction:column;gap:8px}.nav-group__column{min-width:0;width:100%}.nav-group__overview{border-bottom:0;margin-bottom:0}.site-header__inner{gap:10px}.header-actions--bar,.site-header__inner>.site-nav{display:none}.header-actions--drawer{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border)}.site-header__burger{display:inline-flex}.site-header__drawer{display:block;border-top:1px solid var(--color-border);background:var(--color-surface);padding-block:8px 14px;max-height:min(70vh,560px);overflow-y:auto}.site-header__drawer[hidden]{display:none}.site-header__drawer .site-nav{flex-direction:column;align-items:stretch;gap:2px}.site-header__drawer .nav-group,.site-header__drawer .site-nav>a{display:block;width:100%}.site-header__drawer .site-nav>a{padding:10px 4px;font-size:1rem;border-bottom:1px solid var(--color-border)}.site-header__drawer .nav-group{align-items:stretch;border-bottom:1px solid var(--color-border)}.site-header__drawer .nav-group__trigger{width:100%;justify-content:space-between;padding:10px 4px;font-size:1rem}body.nav-drawer-open{overflow:hidden}}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);margin-top:48px;padding-block:28px;color:var(--color-text-muted);font-size:.9rem}.hero{padding-block:28px 20px}.hero-image{display:block;max-width:100%;height:auto}.hero h1{margin-top:0;font-size:clamp(1.7rem,3.4vw,2.3rem)}.hero__tagline{color:var(--color-text-muted);font-size:1.05rem;max-width:58ch;margin-bottom:0}.step-guide-hero{text-align:center;max-width:70ch;margin-inline:auto}.step-guide-hero .page-title-icon{justify-content:center}.step-guide-hero .byline,.step-guide-hero .hero__tagline{margin-inline:auto}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px 8px}.page-intro__text{flex:1 1 auto;min-width:0}.page-intro__text h1{margin-top:0}.page-intro__spot{flex:0 0 auto;width:120px;height:120px;object-fit:contain;opacity:.95}@media (min-width:720px){.page-intro__spot{width:160px;height:160px}}@media (max-width:520px){.page-intro__spot{display:none}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.content-sections{margin-top:32px;display:grid;grid-gap:24px;gap:24px}.content-section__title{font-size:1.2rem;margin:0 0 8px}.content-section__p{margin:0 0 10px;line-height:1.65;color:var(--color-text,inherit)}.related-tools{margin-top:40px;padding-top:24px;border-top:1px solid var(--color-border,rgba(0,0,0,.1))}.related-tools__title{font-size:1.15rem;margin:0 0 16px}.tool-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px;transition:border-color .15s ease,transform .15s ease}.tool-card:hover{text-decoration:none;border-color:var(--color-primary);transform:translateY(-2px)}.tool-card__title{display:flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:700;color:var(--color-text);margin-bottom:4px}.tool-card__icon{display:inline-flex;color:var(--color-primary)}.tool-card__icon svg{width:1.2em;height:1.2em}.site-header__glyph{display:inline-flex;color:var(--color-primary)}.site-header__glyph svg{width:1.3em;height:1.3em}.site-header__logo{width:36px;height:36px;object-fit:contain;display:block;flex-shrink:0}.site-header--sidebar .site-header__logo,html[data-theme=dark] .site-header__logo{background:#fff;border-radius:50%;padding:2px;box-sizing:content-box}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .site-header__logo{background:#fff;border-radius:50%;padding:2px;box-sizing:content-box}}.btn--ghost svg,.btn--icon svg{width:1.05em;height:1.05em;flex:none}.year-calendar{margin-block:8px}.year-calendar__legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px}.ycal-legend{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text-muted)}.ycal-legend:before{content:"";width:14px;height:14px;border-radius:4px;background:var(--swatch,var(--color-border))}.ycal-legend--holiday{--swatch:var(--ycal-holiday,#ef4444)}.ycal-legend--suggested{--swatch:var(--ycal-suggested,var(--color-accent))}.ycal-legend--weekend{--swatch:var(--ycal-weekend,color-mix(in srgb,var(--color-primary) 14%,transparent))}.year-calendar__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:18px;gap:18px}.ycal-month{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px}.ycal-month__title{margin:0 0 10px;font-size:1rem;text-transform:capitalize;color:var(--color-primary-text)}.ycal-month__days,.ycal-month__weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.ycal-month__weekdays{margin-bottom:4px}.ycal-month__weekdays span{text-align:center;font-size:.7rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase}.ycal-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-size:.8rem;border-radius:7px;color:var(--color-text)}.ycal-day,.ycal-day--blank{background:transparent}.ycal-day--weekend{background:var(--ycal-weekend,color-mix(in srgb,var(--color-primary) 12%,transparent));color:var(--color-text)}.ycal-day--holiday{background:var(--ycal-holiday,#b91c1c);color:#fff;font-weight:700}.ycal-day--suggested{background:var(--ycal-suggested,var(--color-accent));color:var(--color-ink,#1a1a1a);font-weight:700;outline:2px dashed color-mix(in srgb,var(--color-primary) 50%,transparent);outline-offset:-3px}.ycal-day--block.ycal-day--weekend{background:color-mix(in srgb,var(--ycal-suggested,var(--color-accent)) 40%,transparent)}.feature-grid-section{margin-block:8px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.feature-card{padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.feature-card__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);margin-bottom:12px}.feature-card__icon svg{width:24px;height:24px}.feature-card__title{margin:0 0 6px;font-size:1.05rem}.feature-card__text{margin:0;color:var(--color-text-muted);font-size:.95rem}.steps{list-style:none;counter-reset:none;margin:16px 0 0;padding:0;display:grid;grid-gap:14px;gap:14px}.step{display:flex;gap:14px;align-items:flex-start}.step__num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-contrast);font-weight:700}.step__title{margin:4px 0;font-size:1.05rem}.step__text{margin:0;color:var(--color-text-muted)}.share-button{position:relative;display:inline-flex}.share-button__popover{position:absolute;top:calc(100% + 8px);left:0;z-index:50;padding:12px;min-width:280px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 12px 32px rgba(0,0,0,.22);animation:share-pop .12s ease-out}@keyframes share-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.share-button--align-right .share-button__popover{left:auto;right:0}@media (max-width:520px){.share-button__popover{left:0;right:0;min-width:0}}.share-button__popover .share-bar{margin:0}.share-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0}.share-bar__heading{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.share-bar__buttons{display:flex;flex-wrap:wrap;gap:8px}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#fff;border:none;cursor:pointer;transition:transform .12s ease,filter .12s ease}.share-btn:hover{transform:translateY(-2px);filter:brightness(1.05);text-decoration:none}.share-btn--facebook{background:#1877f2}.share-btn--twitter{background:#000}.share-btn--whatsapp{background:#25d366}.share-btn--linkedin{background:#0a66c2}.share-btn--telegram{background:#229ed9}.share-btn--email{background:#6b7280}.share-btn--copy{background:var(--color-primary);color:var(--color-primary-contrast)}@media print{.share-bar{display:none!important}}.not-found__code{font-family:var(--font-heading);font-weight:700;font-size:clamp(3.5rem,14vw,7rem);line-height:1;margin:0 0 8px;color:var(--color-primary-text);opacity:.85}.not-found__title{margin:0 0 12px}.tool-card__desc{color:var(--color-text-muted);font-size:.92rem}.result-panel{background:var(--color-primary-panel);color:var(--color-primary-contrast);border-radius:var(--radius-lg);padding:24px;margin:0}.result-panel__label{font-size:.9rem;text-transform:uppercase;letter-spacing:.02em}.result-panel__value{margin:0;font-family:var(--font-heading);font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800}.result-panel__detail{margin:4px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);border:none;background:var(--color-accent);color:var(--btn-accent-contrast,#fff);font-weight:600;font-size:.95rem;cursor:pointer;transition:filter .15s ease,transform .05s ease}.btn:hover{filter:brightness(.94)}.btn:active{transform:translateY(1px)}.btn--ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.9rem;font-weight:600;color:var(--color-text)}.field input,.field select{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;background:var(--color-background);color:var(--color-text)}.field input:focus,.field select:focus{outline:2px solid var(--color-accent);outline-offset:1px}.layout-with-aside{display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr}@media (min-width:960px){.layout-with-aside{grid-template-columns:minmax(0,1fr) 300px}}.ad-slot{margin-block:24px}.page-top-ad{padding-top:8px}.page-bottom-ad{margin-top:8px}.ad-slot--sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0}.faq dt{font-weight:700;margin-top:16px}.faq dd{margin:4px 0 0}.breadcrumbs,.faq dd{color:var(--color-text-muted)}.breadcrumbs{font-size:.85rem;padding-block:14px}.breadcrumbs a{color:var(--color-text-muted)}.content-page{width:100%;max-width:var(--container);margin-inline:auto;padding:18px var(--space) 48px}.content-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:18px;gap:18px;margin-top:16px}.content-hero__icon{display:inline-flex;color:var(--color-primary);padding-top:4px}.content-hero h1{max-width:980px}.content-page .hero-image{margin-top:16px}.content-page .ad-slot,.content-page .faq,.content-page .prose,.content-page .related-tools,.content-page .steps-section{margin-top:28px}.content-page .tool-card span{display:block;margin-top:6px;color:var(--color-text-muted)}.prose p{margin-block:.8em}.prose ul{padding-left:1.2em}@media (max-width:640px){.content-hero{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app--centered .hero{text-align:center;padding-block:20px 16px}.app--centered .hero__tagline{margin-inline:auto}.app--centered .tool-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.app--centered .tool-card{text-align:center}.site-header--sidebar{background:var(--color-primary)}.site-header--sidebar .nav-group__trigger,.site-header--sidebar .site-header__brand,.site-header--sidebar .site-nav a{color:var(--color-primary-contrast)}.site-header--sidebar .nav-group--open .nav-group__trigger,.site-header--sidebar .nav-group__trigger:hover,.site-header--sidebar .site-nav a:hover{color:var(--color-accent)}.site-header--sidebar .nav-group__panel{background:var(--color-surface)}.site-header--sidebar .nav-group__list a{color:var(--color-text)}.site-header--sidebar .nav-group__list a:hover{color:var(--color-primary)}.site-header--sidebar .theme-toggle{background:transparent;color:var(--color-primary-contrast);border-color:hsla(0,0%,100%,.4)}.site-header--sidebar .lang-switcher__trigger{background:rgba(0,0,0,.16);border-color:hsla(0,0%,100%,.35);color:var(--color-primary-contrast)}.site-header--sidebar .lang-switcher__trigger:hover{border-color:var(--color-primary-contrast)}.site-header--sidebar .lang-switcher__chevron{color:hsla(0,0%,100%,.8)}.site-header--sidebar .site-header__burger{background:rgba(0,0,0,.16);border-color:hsla(0,0%,100%,.35);color:var(--color-primary-contrast)}.site-header--sidebar .site-header__burger:hover{border-color:var(--color-primary-contrast)}@media (max-width:720px){.site-header--sidebar .site-header__drawer{background:var(--color-primary);border-top-color:hsla(0,0%,100%,.2)}.site-header--sidebar .site-header__drawer .nav-group,.site-header--sidebar .site-header__drawer .site-nav>a{border-bottom-color:hsla(0,0%,100%,.18)}}.app--sidebar .card,.app--sidebar .tool-card{border-radius:var(--radius-sm)}.app--sidebar .hero{padding-block:28px 18px}.app--sidebar .tool-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}@media print{.ad-slot,.lang-switcher,.no-print,.site-footer,.site-header,.theme-toggle{display:none!important}.result-panel,body{background:#fff;color:#000}.result-panel{border:1px solid #ccc}}