.navigation-rail{display:none;flex-direction:column;align-items:center;width:var(--layout-rail-width, 80px);min-height:100%;flex-shrink:0;padding:.75rem .4rem;box-sizing:border-box}@media (min-width: 1024px){.navigation-rail{display:flex}}.navigation-rail__top{margin-bottom:1rem}.navigation-rail__logo{display:flex;align-items:center;justify-content:center;padding:.35rem;border-radius:var(--radius-lg);transition:background .2s}.navigation-rail__logo:hover{background:var(--color-hover-strong)}.navigation-rail__logo img{display:block}.navigation-rail__projects{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;flex:1;width:100%}.navigation-rail__project{display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%}.navigation-rail__project-label{font-size:.62rem;font-weight:600;color:var(--color-text);text-align:center;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .1rem}.navigation-rail__project-label--muted{color:var(--color-text-muted);font-weight:500}.navigation-rail__project-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:var(--radius-xl);cursor:pointer;background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm);transition:background .2s,box-shadow .2s,transform .15s}.navigation-rail__project--active .navigation-rail__project-btn,.navigation-rail__project-btn.navigation-rail__project-link--active{background:var(--color-primary);color:var(--color-surface);box-shadow:none}.navigation-rail__project-btn[href]{text-decoration:none}.navigation-rail__loading{font-size:.65rem;color:var(--color-text-muted);text-align:center;margin:.25rem 0 0;padding:0 .25rem}.navigation-rail__project-btn:hover:not(:disabled){box-shadow:var(--shadow-md)}.navigation-rail__project-btn:disabled{opacity:.85;cursor:not-allowed}.navigation-rail__project--empty .navigation-rail__project-btn{box-shadow:none}.navigation-rail__project--empty .navigation-rail__project-btn:hover:not(:disabled){box-shadow:none}.navigation-rail__bottom{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding-top:.5rem;border-top:1px solid var(--color-border);width:100%}.navigation-rail__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s}.navigation-rail__icon-btn:hover{background:var(--color-hover-strong);color:var(--color-text)}.full-page{width:100%;padding:1rem;margin:0 auto;box-sizing:border-box}.full-page__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.full-page__header-left{min-width:0}.full-page__header-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;width:100%}.full-page__title{font-size:1.35rem;font-weight:700}.full-page__sub{font-size:.85rem;color:var(--color-text-muted);margin-top:.2rem}@media (min-width: 640px){.full-page{padding:1.25rem}.full-page__header-right{width:auto}.full-page__title{font-size:1.5rem}.full-page__sub{font-size:.9rem}}@media (min-width: 768px){.full-page{padding:1.5rem}.full-page__header{margin-bottom:1.5rem}}.full-page__body{display:flex;flex-direction:column}.full-page--embedded{padding:0;margin:0;max-width:none;flex:1;min-height:0;display:flex;flex-direction:column}.full-page--embedded .full-page__body{flex:1;min-height:0;display:flex;flex-direction:column}.full-page--embedded .full-page__empty{padding:1.5rem .5rem;font-size:.9rem}.full-page--embedded .full-page-filter{display:inline-flex;flex-wrap:nowrap;flex:0 1 auto;min-width:0;gap:.3rem;align-items:center}.full-page--embedded .full-page-filter__item{flex-shrink:0}.full-page--embedded .full-page-filter__label{display:none}.full-page--embedded .full-page-filter__select{min-width:4rem;max-width:6.5rem;padding:.22rem .4rem;font-size:.72rem}.full-page--embedded .full-page-filter__reset{flex-shrink:0;padding:.22rem .5rem}.full-page--embedded .full-page-sorter{flex-shrink:0;display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.25rem}.full-page--embedded .full-page-sorter__label{display:none}.full-page--embedded .full-page-sorter__select{min-width:4rem;max-width:5.5rem;padding:.22rem .4rem;font-size:.72rem}.full-page--embedded .full-page-sorter__dir{width:26px;height:26px}.full-page__empty{text-align:center;color:var(--color-text-muted);padding:3rem}.full-page__list{display:flex;flex-direction:column;gap:1.5rem}.full-page__list--compact{gap:1rem}.full-page__group{background:var(--color-surface);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.full-page__group-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;margin-bottom:.75rem}.full-page__group-color{width:12px;height:12px;border-radius:var(--radius-sm)}.full-page__group-color--large{width:40px;height:40px;border-radius:var(--radius-md)}.full-page__card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:box-shadow .2s}.full-page__card:hover{box-shadow:var(--shadow-md)}.full-page__card-body{flex:1;min-width:0}.full-page__card-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.full-page__card-row .full-page__card-name{margin-bottom:0;flex:1;min-width:0}.full-page__card-name{font-size:1rem;font-weight:600;margin-bottom:.25rem}.full-page__card-meta{font-size:.85rem;color:var(--color-text-muted)}.full-page__list--cards .full-page__card{cursor:default}.full-page__item-list{list-style:none}.full-page__item{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--color-border);font-size:.95rem}.full-page__item:last-child{border-bottom:none}.full-page__item--between{justify-content:space-between}.full-page__item-title{flex:1}.full-page__item-meta{font-size:.85rem;color:var(--color-text-muted)}.full-page__status{flex-shrink:0;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem}.full-page__status--progress{background:var(--color-success-bg-hover);color:var(--color-primary)}.full-page__status--pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.full-page-filter{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.full-page-filter__item{display:flex;align-items:center;gap:.4rem}.full-page-filter__label{font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.full-page-filter__select{font-size:.85rem;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);min-width:6rem;cursor:pointer}.full-page-filter__select:hover,.full-page-filter__select:focus{border-color:var(--color-primary);outline:none}.full-page-filter__item--active .full-page-filter__label{color:var(--color-primary)}.full-page-filter__item--active .full-page-filter__select{border-color:var(--color-primary)}.full-page-filter__reset{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;padding:.35rem .7rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.full-page-filter__reset:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.full-page-filter__reset:disabled{opacity:.5;cursor:default}@media (max-width: 639px){.full-page-filter{gap:.5rem}.full-page-filter__select{min-width:4.5rem;font-size:.8rem}}.full-page-sorter{display:flex;align-items:center;gap:.4rem}.full-page-sorter__label{font-size:.8rem;color:var(--color-text-muted);white-space:nowrap}.full-page-sorter__select{font-size:.85rem;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);min-width:5.5rem;cursor:pointer}.full-page-sorter__select:hover,.full-page-sorter__select:focus{border-color:var(--color-primary);outline:none}.full-page-sorter__dir{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-muted);font-size:1rem;cursor:pointer;transition:color .2s,border-color .2s}.full-page-sorter__dir:hover{border-color:var(--color-primary);color:var(--color-primary)}.full-page-sorter--active .full-page-sorter__label{color:var(--color-primary)}.full-page-sorter--active .full-page-sorter__select{border-color:var(--color-primary)}@media (min-width: 640px){.full-page-sorter{gap:.5rem}.full-page-sorter__label{font-size:.85rem}.full-page-sorter__select{font-size:.9rem;padding:.4rem .65rem;min-width:6rem}.full-page-sorter__dir{width:30px;height:30px}}@media (min-width: 768px){.full-page-sorter__select{padding:.45rem .7rem;min-width:6.5rem}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:1.5rem 1rem;text-align:center}@media (min-width: 640px){.error-state{min-height:200px;padding:2rem}}.error-state__icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.9}.error-state__title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.error-state__message{font-size:.95rem;color:var(--color-text-muted);margin-bottom:1.25rem;max-width:360px}.error-state__link{font-size:.9rem;color:var(--color-primary);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--color-primary);border-radius:var(--radius-md);transition:background .2s,color .2s}.error-state__link:hover{background:var(--color-hover-strong)}.task-card{width:100%;display:flex;flex-direction:column;gap:10px;border-radius:0;box-sizing:border-box}.task-card__overdue-badge{position:absolute;top:8px;right:10px;z-index:2;font-size:.62rem;font-weight:800;letter-spacing:.04em;padding:.2rem .45rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-danger-text, #c0392b) 92%,transparent);color:#fff;line-height:1.2;pointer-events:none}.task-card__row-main{display:flex;flex-direction:row;align-items:flex-start;gap:.35rem;padding-left:4px}.task-card__main-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.task-card__complete-label{flex-shrink:0;padding:2px 2px 0 0;cursor:pointer;display:flex;align-items:flex-start}.task-card__complete-input{width:1.15rem;height:1.15rem;accent-color:var(--color-primary, #2d5a27);cursor:pointer}.task-card__row-type-status{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding-left:4px}.task-card__type-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.03em}.task-card__status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;font-family:var(--font-mono)}.task-card__status-dot{width:6px;height:6px;border-radius:50%}.task-card__row-meta{padding-left:8px;font-size:.75rem;color:var(--color-text-muted);font-family:var(--font-mono)}.task-card__meta-date{color:var(--color-text-strong)}.task-card--interactive:focus-visible{outline:2px solid var(--color-primary, #2d5a27);outline-offset:2px}.task-card__location-link{display:inline-flex;align-items:center;gap:.25rem;margin:0;padding:.35rem .5rem;border:none;border-radius:var(--radius-full);background:var(--color-success-bg);color:var(--color-success-text);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.task-card__location-link:hover{background:var(--color-success-bg-strong)}.task-card__chip-btn,.task-card__plant-chip-btn{margin:0;font:inherit;font-size:11px;font-family:var(--font-mono);padding:2px 8px;border-radius:var(--radius-full);border:none;background:var(--color-surface-soft);color:var(--color-text-strong);cursor:pointer;-webkit-tap-highlight-color:transparent}.task-card__plant-chip-btn{border-radius:var(--radius-md);background:var(--color-surface-muted)}.task-card__chip-btn:hover,.task-card__plant-chip-btn:hover{filter:brightness(.97)}.task-card__title{padding-left:8px;font-size:clamp(14px,2.8vw + 6px,17px);font-weight:700;font-family:var(--font-serif);line-height:1.3}.task-card__title--clamped{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.task-card__notes{font-size:13px;color:var(--color-text-strong);line-height:1.55;font-family:var(--font-serif);border-left:3px solid var(--color-border);padding:6px 10px;background:color-mix(in srgb,var(--color-border) 35%,transparent);border-radius:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.task-card__overflow-count{font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-text-strong) 12%,transparent);color:var(--color-text-strong);font-family:var(--font-mono);flex-shrink:0}@media (max-width: 1023px){.task-card{max-width:none;padding:11px 12px;gap:9px;border-radius:0}}@media (max-width: 1023px) and (min-width: 640px){.task-card{padding:12px 14px;gap:10px}}@media (max-width: 1023px) and (min-width: 768px){.task-card{padding:13px 15px;gap:11px}}@media (min-width: 1024px){.task-card{max-width:300px;padding:22px 24px;gap:16px;border-radius:0}}.tasks-page{display:contents}.tasks-page--standalone{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.tasks-page--embedded-with-footer{display:flex;flex-direction:column;flex:1;min-height:0}.tasks-page__scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.tasks-page__sticky-top{position:sticky;top:0;z-index:4;background:var(--color-surface);padding-top:.15rem;padding-bottom:.35rem;margin-bottom:.35rem;border-bottom:1px solid var(--color-border-weak)}.tasks-page__overdue-chip{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;width:100%;margin:0 0 .45rem;padding:.45rem .65rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-danger-text, #c0392b) 35%,transparent);background:color-mix(in srgb,var(--color-danger-soft, #fde8e8) 80%,transparent);color:var(--color-text);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.tasks-page__overdue-chip strong{color:var(--color-danger-text, #c0392b);font-weight:800}.tasks-page__overdue-chip--active{border-color:var(--color-danger-text, #c0392b);background:color-mix(in srgb,var(--color-danger-text, #c0392b) 12%,transparent)}.tasks-page__overdue-chip-hint{font-weight:500;font-size:.78rem;color:var(--color-text-muted)}.tasks-page__footer{flex-shrink:0;padding:.55rem 0 calc(.4rem + env(safe-area-inset-bottom,0));margin-top:.25rem;background:var(--color-surface)}.tasks-page__add-task-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;margin:0;padding:.85rem 1rem;border:none;border-radius:999px;background:var(--color-primary);color:var(--color-surface);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 2px 10px color-mix(in srgb,var(--color-primary) 35%,transparent)}.tasks-page__add-task-btn:hover{filter:brightness(1.05)}.tasks-page__add-task-btn:active{transform:scale(.99)}.tasks-page__add-task-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.tasks-page__empty-inline{margin:.75rem 0 .5rem;font-size:.88rem;color:var(--color-text-muted);text-align:center}.tasks-page__loading{text-align:center;padding:2rem;color:var(--color-text-muted)}.tasks-page__controls{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:0}.tasks-page__controls--embedded{flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.35rem;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:.1rem}.tasks-page__controls--embedded .full-page-sorter{margin-left:auto}.tasks-page__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:clamp(.5rem,2vw,.75rem);align-items:start;justify-items:stretch}.tasks-embedded{display:flex;flex-direction:column;gap:.35rem}.tasks-embedded__empty{margin:0;font-size:.88rem;color:var(--color-text-muted);padding:.5rem .15rem}.tasks-embedded__group{border-bottom:1px solid var(--color-border-weak)}.tasks-embedded__group:last-child{border-bottom:none}.tasks-embedded__group-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .15rem;border:none;background:transparent;font:inherit;cursor:pointer;color:var(--color-text);text-align:left}.tasks-embedded__group-header:hover{background:var(--color-hover-soft);border-radius:var(--radius-md)}.tasks-embedded__group-title{flex:1;font-size:.92rem;font-weight:600;min-width:0}.tasks-embedded__group-count{font-size:.8rem;font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.tasks-embedded__group-chevron{flex-shrink:0;color:var(--color-text-muted)}.tasks-embedded__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(148px,100%),1fr));gap:.5rem;padding:0 0 .65rem .15rem}@media (min-width: 1024px){.tasks-embedded__grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1rem}}@media (max-width: 1023px){.tasks-page__cards{grid-template-columns:repeat(auto-fill,minmax(min(148px,100%),1fr));gap:.5rem}}@media (min-width: 640px) and (max-width: 1023px){.tasks-page__cards{grid-template-columns:repeat(auto-fill,minmax(min(168px,100%),1fr));gap:.55rem}}@media (min-width: 768px) and (max-width: 1023px){.tasks-page__cards{gap:.6rem}}@media (min-width: 1024px){.tasks-page__cards{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.5rem}}.plant-card{width:100%;flex-shrink:0;box-sizing:border-box}.plant-card--interactive:focus-visible{outline:2px solid var(--color-primary, #2d5a27);outline-offset:3px;border-radius:0}.plant-card__face{padding:16px 18px}.plant-card__species-icon{font-size:clamp(22px,5vw,28px);line-height:1;color:#c8b090;font-family:serif;-webkit-user-select:none;user-select:none}.plant-card__name{font-size:clamp(17px,4vw + 6px,26px);font-weight:700;color:#2c1f0e;font-family:"Noto Serif KR",Georgia,serif;line-height:1.2;margin-bottom:6px}@media (max-width: 1023px){.plant-card{max-width:none;height:auto;aspect-ratio:3 / 4;min-height:200px}.plant-card__face{padding:11px 12px}}@media (max-width: 1023px) and (min-width: 640px){.plant-card{min-height:220px}.plant-card__face{padding:12px 14px}}@media (max-width: 1023px) and (min-width: 768px){.plant-card{min-height:230px}.plant-card__face{padding:13px 15px}}@media (min-width: 1024px){.plant-card{max-width:300px;height:330px;aspect-ratio:unset;min-height:unset}.plant-card__face{padding:22px 24px}}.plants-page{display:contents}.plants-page--standalone{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.plants-page--embedded-with-footer{display:flex;flex-direction:column;flex:1;min-height:0}.plants-page__scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.plants-page__scroll--standalone{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.plants-page__sticky-top{position:sticky;top:0;z-index:4;background:var(--color-surface);padding-top:.15rem;padding-bottom:.35rem;margin-bottom:.35rem;border-bottom:1px solid var(--color-border-weak)}.plants-page__footer{flex-shrink:0;padding:.55rem 0 calc(.4rem + env(safe-area-inset-bottom,0));margin-top:.25rem;background:var(--color-surface)}.plants-page__add-plant-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;margin:0;padding:.85rem 1rem;border:none;border-radius:999px;background:var(--color-primary);color:var(--color-surface);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 2px 10px color-mix(in srgb,var(--color-primary) 35%,transparent)}.plants-page__add-plant-btn:hover{filter:brightness(1.05)}.plants-page__add-plant-btn:active{transform:scale(.99)}.plants-page__add-plant-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.plants-page__loading{text-align:center;padding:2rem;color:var(--color-text-muted)}.plants-page__hint--error{color:var(--color-danger-text);font-size:.88rem;padding:.75rem .25rem;margin:0}.plants-embedded{display:flex;flex-direction:column;gap:.35rem}.plants-embedded__empty{margin:0;font-size:.88rem;color:var(--color-text-muted);padding:.5rem .15rem}.plants-embedded__group{border-bottom:1px solid var(--color-border-weak)}.plants-embedded__group:last-child{border-bottom:none}.plants-embedded__group-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .15rem;border:none;background:transparent;font:inherit;cursor:pointer;color:var(--color-text);text-align:left}.plants-embedded__group-header:hover{background:var(--color-hover-soft);border-radius:var(--radius-md)}.plants-embedded__group-title{flex:1;font-size:.92rem;font-weight:600;min-width:0}.plants-embedded__group-count{font-size:.8rem;font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.plants-embedded__group-chevron{flex-shrink:0;color:var(--color-text-muted)}.plants-embedded__grid{list-style:none;margin:0 0 .65rem;padding:0 0 0 .15rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.plants-embedded__cell{margin:0;aspect-ratio:1}.plants-embedded__tile{position:relative;width:100%;height:100%;min-height:0;border:1px solid var(--color-hover-strong);border-radius:var(--radius-lg);background:var(--color-success-bg);display:flex;align-items:center;justify-content:center;padding:.35rem;box-sizing:border-box;cursor:pointer;font:inherit;color:var(--color-text);transition:background .15s,border-color .15s}.plants-embedded__tile:hover{background:var(--color-success-bg-hover);border-color:var(--color-black-12)}.plants-embedded__tile-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-danger-dot)}.plants-embedded__tile-name{font-size:.72rem;font-weight:600;text-align:center;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;word-break:break-word}.plants-embedded__tile--add{cursor:pointer;background:var(--color-hover-soft);color:var(--color-text-muted);font-size:1.35rem;font-weight:300;line-height:1;border:1px dashed var(--color-black-18)}.plants-embedded__tile--add:hover{background:var(--color-hover-muted)}.plants-page__controls{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:0}.plants-page__controls--embedded{flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.35rem;margin-bottom:.5rem;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:.1rem}.plants-page__controls--embedded .full-page-sorter{margin-left:auto}.plants-page__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:clamp(.5rem,2vw,.75rem);align-items:start;justify-items:stretch}@media (max-width: 1023px){.plants-page__cards{grid-template-columns:repeat(auto-fill,minmax(min(148px,100%),1fr));gap:.5rem}}@media (min-width: 640px) and (max-width: 1023px){.plants-page__cards{grid-template-columns:repeat(auto-fill,minmax(min(168px,100%),1fr));gap:.55rem}}@media (min-width: 768px) and (max-width: 1023px){.plants-page__cards{gap:.6rem}}@media (min-width: 1024px){.plants-page__cards{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.5rem}}.panel-view{display:flex;flex-direction:column;min-height:0;flex:1;background:var(--color-surface)}.panel-view__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0;padding:.5rem .35rem;border-bottom:1px solid var(--color-border)}.panel-view__icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:none;border-radius:12px;background:transparent;color:var(--color-text);cursor:pointer;font-size:1.2rem;font-weight:700}.panel-view__icon:hover{background:var(--color-hover-muted)}.panel-view__bar-title{font-size:.95rem;font-weight:600;color:var(--color-text)}.panel-view__bar-spacer{width:50px;flex-shrink:0}.panel-view__scroll{--panel-pad-x: 1rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.85rem var(--panel-pad-x) 1.25rem;-webkit-overflow-scrolling:touch}.panel-view__scroll--footer{display:flex;flex-direction:column}.panel-view__h1{font-size:1.45rem;font-weight:700;margin:0 0 .35rem;color:var(--color-text);line-height:1.25}.panel-view__meta{margin:0 0 .65rem;font-size:.8rem;color:var(--color-text-muted)}.panel-view__lead{margin:0 0 1.25rem;font-size:.9rem;line-height:1.55;color:var(--color-text)}.panel-view__section{margin-bottom:1.25rem}.panel-view__section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.panel-view__h2{font-size:1rem;font-weight:700;margin:0 0 .5rem;color:var(--color-text)}.panel-view__section-head .panel-view__h2{margin-bottom:0}.panel-view__empty{margin:0;font-size:.9rem;color:var(--color-text-muted)}.panel-view__list{list-style:none;margin:0;padding:0}.panel-view__item{padding:0;font-size:.88rem;border-bottom:1px solid var(--color-border-weak);color:var(--color-text)}.panel-view__item:last-child{border-bottom:none}.panel-view__list-btn{display:block;width:100%;padding:.45rem 0;margin:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:8px}.panel-view__list-btn:hover{background:var(--color-hover-soft)}.panel-view__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.panel-view__tile{margin:0;aspect-ratio:1}.panel-view__plate{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:12px;background:var(--color-success-bg);border:1px solid var(--color-border-weak);padding:.35rem;box-sizing:border-box}.panel-view__plate-btn{cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}.panel-view__plate-btn:hover{background:var(--color-success-bg-hover);border-color:color-mix(in srgb,var(--color-primary) 28%,transparent)}.panel-view__dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-danger-dot)}.panel-view__name{font-size:.72rem;font-weight:600;text-align:center;line-height:1.25;color:var(--color-text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.panel-view__footer{margin-top:auto;padding:.65rem 0 calc(1.05rem + env(safe-area-inset-bottom,0));display:flex;justify-content:flex-end;position:sticky;bottom:0;background:var(--color-surface);z-index:1}.panel-view__danger{width:44px;height:44px;border-radius:14px;border:1px solid var(--color-hover-strong);background:var(--color-danger-soft);color:var(--color-danger-text-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.panel-view__danger:hover{background:var(--color-danger-soft-hover)}.panel-view__danger:disabled{opacity:.6;cursor:not-allowed}.panel-doc{max-width:none;width:100%;margin:0;padding:0 0 1.25rem}.panel-doc__cover{margin-left:calc(-1 * var(--panel-pad-x, 1rem));margin-right:calc(-1 * var(--panel-pad-x, 1rem));margin-top:-.85rem;width:calc(100% + 2 * var(--panel-pad-x, 1rem));border-radius:0;overflow:hidden;background:var(--color-bg);aspect-ratio:16 / 10;max-height:min(36vh,252px)}.panel-doc__cover--task{border-radius:0}.panel-doc__cover-inner{width:100%;height:100%;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;position:relative}.panel-doc__cover--task .panel-doc__cover-inner{background:linear-gradient(165deg,color-mix(in srgb,var(--color-primary) 14%,transparent),color-mix(in srgb,var(--color-border) 45%,transparent));color:var(--color-text-muted)}.panel-doc__cover--plant .panel-doc__cover-inner{position:relative;padding:0;overflow:hidden;border-radius:0;min-height:140px}.panel-doc__icon{font-size:2.25rem;line-height:1;opacity:.65}.panel-doc__cap{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.panel-doc__img{width:100%;height:100%;object-fit:cover;display:block}.panel-doc__empty{width:100%;height:100%;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:linear-gradient(165deg,color-mix(in srgb,var(--color-primary) 10%,transparent),color-mix(in srgb,var(--color-border) 50%,transparent));color:var(--color-text-muted)}.panel-doc__empty-cap{font-size:.78rem;font-weight:500}.panel-doc__upload{position:absolute;right:10px;bottom:10px;z-index:2;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 92%,transparent);color:var(--color-text);cursor:not-allowed;box-shadow:none;opacity:.95}.panel-doc__upload:disabled{pointer-events:none}.panel-doc__body{padding:1rem 0 0}.panel-doc__h1{margin:0 0 .65rem;font-size:1.45rem;font-weight:700;color:var(--color-text);line-height:1.2;font-family:inherit}.panel-doc__badges{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.panel-doc__badge{font-size:.72rem;font-weight:600;padding:.28rem .6rem;border-radius:var(--radius-full);letter-spacing:.02em}.panel-doc__badge--ok{background:var(--color-success-bg);color:var(--color-success-text)}.panel-doc__badge--accent{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}.panel-doc__dl{margin:0 0 1rem;display:grid;grid-template-columns:5.5rem 1fr;gap:.35rem .75rem;font-size:.86rem}.panel-doc__dl dt{margin:0;color:var(--color-text-muted);font-weight:500}.panel-doc__dl dd{margin:0;color:var(--color-text)}.panel-doc__dl--ruled{padding:.65rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.panel-doc__link{display:inline;margin:0;padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--color-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration:underline;text-underline-offset:3px}.panel-doc__link:hover{color:var(--brand-primary-strong)}.panel-doc__block{margin:0 0 1.25rem}.panel-doc__h2{margin:0 0 .45rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.panel-doc__chips{display:flex;gap:.45rem;flex-wrap:wrap}.panel-doc__chip{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);font:inherit;font-size:.78rem;font-weight:600;color:var(--color-primary);cursor:pointer;-webkit-tap-highlight-color:transparent}.panel-doc__chip:hover{background:var(--color-hover-soft)}.panel-doc__text{margin:0;font-size:.92rem;line-height:1.6;color:var(--color-text);white-space:pre-wrap}@media (min-width: 1024px){.panel-doc__h1{font-size:1.6rem}}.panel-form{display:flex;flex-direction:column;gap:14px;padding-bottom:.5rem}.panel-form--tight{padding:0 0 .5rem}.panel-form__field{display:flex;flex-direction:column;gap:6px}.panel-form__field--rel{position:relative}.panel-form__label{font-size:.78rem;font-weight:700;color:var(--color-text-muted)}.panel-form__input{width:100%;max-width:100%;box-sizing:border-box;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:inherit}.panel-form__textarea{width:100%;max-width:100%;box-sizing:border-box;min-height:120px;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:inherit;resize:vertical}.panel-form__textarea--sm{min-height:96px}.panel-form__error{margin:0;font-size:.88rem;color:var(--color-danger-text-strong)}.panel-form__actions{position:sticky;bottom:0;padding-top:12px;background:var(--color-surface);margin-top:8px}.panel-form__submit{width:100%;border:none;border-radius:16px;padding:.95rem 1rem;background:var(--color-primary);color:var(--color-surface);font:inherit;font-weight:700;cursor:pointer}.panel-form__submit:disabled{opacity:.6;cursor:not-allowed}.panel-form__chips{display:flex;flex-wrap:wrap;gap:.4rem}.panel-form__chip{padding:.45rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.panel-form__chip:hover{background:var(--color-hover-soft)}.panel-form__chip--on{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-text)}.panel-form__tags{list-style:none;margin:0 0 .4rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.panel-form__tag{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .55rem;border-radius:999px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary) 8%,transparent);font:inherit;font-size:.75rem;font-weight:600;color:var(--color-text);cursor:pointer}.panel-form__search{position:relative}.panel-form__search-input{padding-right:2.25rem}.panel-form__search-icon{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.panel-form__menu{position:absolute;left:0;right:0;z-index:4;margin:.2rem 0 0;padding:.25rem 0;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:none;max-height:200px;overflow-y:auto}.panel-form__menu-btn{display:block;width:100%;padding:.5rem .75rem;border:none;background:none;font:inherit;font-size:.85rem;text-align:left;color:var(--color-text);cursor:pointer}.panel-form__menu-btn:hover{background:var(--color-hover-soft)}.panel-form__diff{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.panel-form__diff-val{font-size:.8rem;font-weight:700;color:var(--color-primary)}.panel-form__range{width:100%;margin:.35rem 0 .2rem;height:6px;accent-color:var(--color-primary);cursor:pointer}.panel-form__ticks{display:flex;justify-content:space-between;font-size:.68rem;color:var(--color-text-muted);padding:0 .1rem}.confirm-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-dialog__panel{width:min(380px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:none;padding:1rem 1rem .95rem}.confirm-dialog__title{font-size:1rem;font-weight:800;color:var(--color-text);margin-bottom:.35rem}.confirm-dialog__message{margin:0;font-size:.92rem;color:var(--color-text);line-height:1.55}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.95rem}.confirm-dialog__btn{border:none;border-radius:999px;padding:.6rem .95rem;font:inherit;font-weight:800;cursor:pointer}.confirm-dialog__btn--cancel{background:var(--color-hover-soft);color:var(--color-text)}.confirm-dialog__btn--cancel:hover:not(:disabled){background:var(--color-hover-strong)}.confirm-dialog__btn--confirm{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid color-mix(in srgb,var(--color-danger-text-strong) 30%,transparent)}.confirm-dialog__btn--confirm:hover:not(:disabled){background:var(--color-danger-bg-hover)}.confirm-dialog__deleting{margin:.6rem 0 0;font-size:.88rem;color:var(--color-danger-text)}.map-side-panel{--map-panel-accent: var(--color-primary);--map-panel-handle-w: 26px;position:relative;flex-shrink:0;display:flex;flex-direction:column;z-index:10;overflow:visible;width:100%;max-height:75vh;min-height:240px;box-sizing:border-box;transition:max-height .28s ease,width .28s ease,min-height .28s ease;outline:none}@media (min-width: 1024px){.map-side-panel{width:min(340px,40vw);max-height:none;min-height:0;height:100%}}.map-side-panel--collapsed{max-height:40px;min-height:40px;padding-bottom:0}@media (max-width: 1023px){.map-side-panel--collapsed{max-height:calc(40px + var(--mobile-safe-bottom-gap, 0px));min-height:calc(40px + var(--mobile-safe-bottom-gap, 0px));padding-bottom:var(--mobile-safe-bottom-gap, 0px)}}@media (min-width: 1024px){.map-side-panel--collapsed{width:0;min-width:0;max-height:none;min-height:0}}.map-side-panel__handle{position:absolute;z-index:5;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:none;cursor:pointer;color:var(--color-text-muted);transition:background .2s,color .2s;top:10px;left:50%;transform:translate(-50%);width:56px;height:24px;border-radius:12px 12px 0 0;border-bottom:none}@media (min-width: 1024px){.map-side-panel__handle{top:50%;left:0;transform:translate(-42%,-50%);width:var(--map-panel-handle-w);height:52px;border-radius:12px 0 0 12px;border-bottom:1px solid var(--color-border)}}@media (min-width: 1024px){.map-side-panel--collapsed .map-side-panel__handle{left:0;transform:translate(-100%,-50%)}}.map-side-panel__handle:hover{background:var(--color-bg);color:var(--color-text)}.map-side-panel__handle-icons{display:inline-flex;align-items:center;justify-content:center}.map-side-panel__handle-icon{font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.map-side-panel__handle-icon--desktop{display:none;font-size:1.1rem}.map-side-panel__handle-icon--mobile{display:inline;font-size:.82rem}@media (min-width: 1024px){.map-side-panel__handle-icon--desktop{display:inline}.map-side-panel__handle-icon--mobile{display:none}}.map-side-panel__surface{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-surface);overflow:hidden;transition:opacity .22s ease,visibility .22s ease;margin-top:10px;border:1px solid var(--color-border);border-bottom:none;border-radius:16px 16px 0 0;box-shadow:none;outline:none}@media (min-width: 1024px){.map-side-panel__surface{height:calc(100% - 48px);margin:24px 0;border:none;border-left:1px solid var(--color-border);border-radius:16px 0 0 16px;box-shadow:none}}.map-side-panel--collapsed .map-side-panel__surface{opacity:0;visibility:hidden;pointer-events:none}.map-side-panel__tabs{display:flex;flex-shrink:0;gap:0;padding:0 .5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.map-side-panel__tab{flex:1;min-width:0;padding:.65rem .35rem;font-size:.78rem;font-weight:600;text-align:center;text-decoration:none;color:var(--color-text-muted);border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap}.map-side-panel__tab:hover{color:var(--color-text)}.map-side-panel__tab--active{color:var(--map-panel-accent);border-bottom-color:var(--map-panel-accent)}.map-side-panel__handle:focus,.map-side-panel__handle:focus-visible,.map-side-panel__tab:focus,.map-side-panel__tab:focus-visible{outline:none;box-shadow:none}.map-side-panel__tab-count{font-size:.82em;font-weight:400;font-variant-numeric:tabular-nums;opacity:.9}.map-side-panel__tab--active .map-side-panel__tab-count{opacity:.95}.map-side-panel__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:.65rem .75rem .85rem}.map-side-panel__page-host{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.map-side-panel__page-host--hidden{display:none!important}.map-side-panel__zone-host{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.map-side-panel__zone-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.map-side-panel__zone-footer{flex-shrink:0;padding:.55rem 0 calc(.35rem + env(safe-area-inset-bottom,0));margin-top:.25rem;background:var(--color-surface)}.map-side-panel__add-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;margin:0;padding:.85rem 1rem;border:none;border-radius:999px;background:var(--color-primary);color:var(--color-surface);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:none;transition:background-color .22s ease,transform .18s ease,color .22s ease}.map-side-panel__add-btn:hover{filter:brightness(1.05)}.map-side-panel__add-btn:active{transform:scale(.99)}.map-side-panel__add-btn--active{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 26%,var(--color-border))}.map-side-panel__add-btn-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.map-side-panel__list{list-style:none}.map-side-panel__list-item{margin-bottom:.15rem}.map-side-panel__row{display:grid;grid-template-columns:10px 1fr auto 18px;align-items:center;gap:.45rem;width:100%;padding:.5rem .35rem;border:none;border-radius:10px;background:transparent;font:inherit;text-align:left;color:var(--color-text);transition:background .15s}.map-side-panel__row:hover{background:var(--color-hover-soft)}button.map-side-panel__row{cursor:pointer}div.map-side-panel__row{cursor:default}.map-side-panel__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.map-side-panel__row-label{font-size:.88rem;font-weight:500;min-width:0}.map-side-panel__row-count{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.map-side-panel__row-chevron{justify-self:end;color:var(--color-text-muted)}.map-side-panel__row-chevron--spacer{display:inline-block;width:16px;height:16px}.map-side-panel__sublist{list-style:none;padding:.15rem 0 .35rem 1.6rem;margin:0}.map-side-panel__subitem{padding:0;margin:0;font-size:.85rem;border-bottom:1px solid var(--color-hover-soft)}.map-side-panel__subitem:last-child{border-bottom:none}.map-side-panel__subitem-btn{display:flex;flex-direction:column;align-items:stretch;gap:.1rem;width:100%;padding:.4rem .15rem;border:none;border-radius:8px;background:transparent;font:inherit;text-align:left;color:var(--color-text);cursor:pointer;transition:background .15s}.map-side-panel__subitem-btn:hover{background:var(--color-hover-soft)}.map-side-panel__subitem-name{font-weight:500}.map-side-panel__subitem-meta{font-size:.75rem;color:var(--color-text-muted)}.map-side-panel__hint{font-size:.88rem;color:var(--color-text-muted);padding:.5rem .25rem}.map-side-panel__hint--error{color:var(--color-danger-text)}.map-side-panel__placeholder{padding:1rem .25rem;text-align:center}.map-side-panel__placeholder-text{font-size:.95rem;font-weight:600;color:var(--color-text);margin-bottom:.35rem}.map-side-panel__placeholder-hint{font-size:.8rem;color:var(--color-text-muted)}@media (max-width: 1023px){.map-side-panel--detail-expanded{position:fixed;left:0;right:0;bottom:0;z-index:100;width:100%!important;max-height:none!important;min-height:0;height:calc(100dvh - var(--app-bar-height, 52px));top:var(--app-bar-height, 52px);margin:0;padding-bottom:env(safe-area-inset-bottom,0);box-sizing:border-box}.map-side-panel--detail-expanded:not(.map-side-panel--collapsed){max-height:none!important}.map-side-panel--detail-expanded .map-side-panel__handle{display:none}.map-side-panel--detail-expanded .map-side-panel__surface{margin-top:0;border-radius:0;height:100%;max-height:none;min-height:0;border-left:none;box-shadow:none}.map-side-panel--detail-expanded .map-side-panel__body--detail{padding:0;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}}@media (min-width: 1024px){.map-side-panel.map-side-panel--detail-expanded{width:min(560px,52vw)!important;max-width:min(560px,52vw);height:100%;min-height:0}}.app-bar{display:none;position:sticky;top:0;z-index:120;align-items:center;justify-content:space-between;gap:.5rem;min-height:52px;padding:.4rem .65rem;flex-shrink:0;background:var(--color-surface);border-bottom:1px solid var(--color-border)}@media (max-width: 1023px){.app-bar{display:flex}}.app-bar__menu{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-text);cursor:pointer;transition:background .2s}.app-bar__menu:hover{background:var(--color-hover-strong)}.app-bar__logo{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;padding:.25rem}.app-bar__logo img{display:block}.app-bar__end{display:flex;align-items:center;gap:.15rem;margin-left:auto}.app-bar__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s}.app-bar__icon-btn:hover{background:var(--color-hover-strong);color:var(--color-text)}@media (max-width: 767px){.app-bar__end{display:none}}.nav-drawer__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--color-overlay);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.nav-drawer__backdrop--open{opacity:1;visibility:visible;pointer-events:auto}.nav-drawer{position:fixed;top:0;left:0;z-index:210;width:min(88vw,300px);max-width:100%;height:100%;background:var(--color-surface);box-shadow:8px 0 24px var(--color-black-12);transform:translate(-100%);transition:transform .24s ease;display:flex;flex-direction:column}.nav-drawer--open{transform:translate(0)}.nav-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.nav-drawer__brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-primary);font-weight:700;font-size:1rem}.nav-drawer__brand img{display:block}.nav-drawer__close{width:40px;height:40px;border:none;border-radius:var(--radius-md);background:transparent;font-size:1.5rem;line-height:1;color:var(--color-text-muted);cursor:pointer}.nav-drawer__close:hover{background:var(--color-hover-soft)}.nav-drawer__scroll{flex:1;min-height:0;overflow-y:auto;padding:.75rem}.nav-drawer__section{margin-bottom:1.25rem}.nav-drawer__section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.5rem}.nav-drawer__projects{display:flex;flex-direction:column;gap:.4rem}.nav-drawer__projects-loading{font-size:13px;color:var(--color-text-muted);margin:0 0 .5rem;padding:0 .25rem}.nav-drawer__project{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:var(--radius-lg);background:var(--color-bg);text-decoration:none;color:inherit;box-sizing:border-box}.nav-drawer__project--active{outline:2px solid var(--color-primary);outline-offset:0;background:var(--color-hover-strong)}.nav-drawer__project--empty{opacity:.85}.nav-drawer__project-icon{display:inline-flex;color:var(--color-primary)}.nav-drawer__project-name{font-size:.9rem;font-weight:600}.nav-drawer__links{display:flex;flex-direction:column;gap:.25rem}.nav-drawer__link{display:flex;align-items:center;gap:.55rem;padding:.65rem .75rem;border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text);font-weight:600;font-size:.95rem;transition:background .2s}.nav-drawer__link:hover{background:var(--color-hover-strong)}.nav-drawer__link--active{background:var(--color-success-bg-hover);color:var(--color-primary)}.nav-drawer__footer{display:flex;flex-direction:column;gap:.35rem;padding-top:1rem;margin-top:.5rem;border-top:1px solid var(--color-border)}.nav-drawer__footer-btn{display:flex;align-items:center;gap:.55rem;padding:.6rem .75rem;border:none;border-radius:var(--radius-lg);background:transparent;font-size:.95rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;text-align:left;transition:background .2s,color .2s}.nav-drawer__footer-btn:hover{background:var(--color-hover-strong);color:var(--color-text)}@media (min-width: 768px) and (max-width: 1023px){.nav-drawer__section--mobile-hide,.nav-drawer__footer{display:none}}@media (max-width: 767px){.nav-drawer__section--mobile-hide{display:none}}.ui-container{width:100%;padding:1.5rem;background:var(--color-bg)}.ui-container--viewport{min-height:calc(100vh - 60px)}.ui-container--centered{display:flex;align-items:center;justify-content:center}.divider{--divider-color: var(--color-border);position:relative}.divider--tone-muted{--divider-color: var(--color-border-weak)}.divider--horizontal{width:100%;border-top:1px solid var(--divider-color)}.divider--vertical{display:inline-block;width:1px;min-height:20px;background:var(--divider-color);vertical-align:middle}.divider--dashed.divider--horizontal{border-top-style:dashed}.divider--with-label{border-top:0}.divider--with-label:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--divider-color)}.divider--dashed.divider--with-label:before{border-top-style:dashed}.divider__label{position:relative;display:inline-block;padding:0 10px;background:var(--color-surface);color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono)}.divider--left .divider__label{margin-left:0}.divider--center{text-align:center}.divider--right{text-align:right}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-heading__content{display:flex;flex-direction:column;gap:6px}.section-heading__label{font-size:13px;letter-spacing:-.01em;color:#6b6f63;font-family:var(--font-sans);font-weight:600}.section-heading__title{font-size:30px;color:#2f312b;font-family:var(--font-sans);line-height:1.2;letter-spacing:-.02em;font-weight:700}.section-heading__description{font-size:14px;color:#8f9388;line-height:1.5}.section-heading__action{display:inline-flex;align-items:center}.section-heading--compact .section-heading__title{font-size:18px;letter-spacing:-.01em}.section-heading--compact .section-heading__description{font-size:13px}.settings-nav-item{width:100%;border:none;background:transparent;color:#2f312b;height:42px;border-radius:12px;display:flex;align-items:center;gap:10px;padding:0 12px;font-size:15px;text-align:left;cursor:pointer}.settings-nav-item__icon{color:#6b6f63;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.settings-nav-item:hover{background:#6f8b630f}.settings-nav-item--active{background:#e8efe4;color:#51664a;font-weight:600}.settings-nav-item--active .settings-nav-item__icon{color:#51664a}.text-field{width:100%;max-width:420px;display:flex;flex-direction:column;gap:4px;font-family:var(--font-sans)}.text-field--l{--text-field-font-size: 14px;--text-field-padding-y: 10px;--text-field-padding-x: 12px;--text-field-height: 44px}.text-field--m{--text-field-font-size: 14px;--text-field-padding-y: 8px;--text-field-padding-x: 10px;--text-field-height: 40px}.text-field--s{--text-field-font-size: 13px;--text-field-padding-y: 7px;--text-field-padding-x: 10px;--text-field-height: 36px}.text-field__label-row{display:inline-flex;align-items:center;gap:6px}.text-field__label{font-size:12px;font-weight:700;color:var(--color-text-strong)}.text-field__required{color:var(--color-primary)}.text-field__help-button{border:0;background:transparent;color:var(--color-text-muted);font-size:12px;line-height:1;cursor:pointer}.text-field__control{flex:1;border:0;outline:0;background:transparent;min-width:0;width:100%;color:var(--color-text);font-size:var(--text-field-font-size);font-weight:500;line-height:1.3;padding:0}.text-field__input-shell{width:100%;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);display:inline-flex;align-items:center;gap:6px;padding:var(--text-field-padding-y) var(--text-field-padding-x);transition:border-color .15s ease,box-shadow .15s ease}.text-field__control::placeholder{color:var(--color-text-muted)}.text-field__control--short{height:var(--text-field-height)}.text-field__control--long{min-height:92px;resize:vertical}.text-field__input-shell--hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.text-field__input-shell--active{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.text-field__input-shell--valid-feedback{border-color:var(--color-primary)}.text-field__input-shell--invalid-feedback{border-color:var(--color-danger-text)}.text-field__input-shell--disabled{border-color:var(--color-border-weak);background:var(--color-hover-soft)}.text-field__control:disabled,.text-field__control--disabled{color:color-mix(in srgb,var(--color-text-muted) 70%,white);cursor:not-allowed}.text-field--variant-text-area .text-field__input-shell{align-items:flex-start}.text-field--variant-text-area .text-field__control{padding-top:2px}.text-field__left-icon{color:var(--color-text-muted);font-size:14px;line-height:1;display:inline-flex;align-items:center}.text-field__left-icon svg{width:14px;height:14px}.text-field__suffix{color:var(--color-text-muted);font-size:12px;line-height:1}.text-field__icon-btn,.text-field__search-btn{border:0;background:transparent;color:var(--color-text-muted);font-size:12px;cursor:pointer}.text-field__icon-btn{font-size:16px;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center}.text-field__icon-btn svg{width:14px;height:14px}.text-field__search-btn{font-weight:600;color:var(--color-primary)}.text-field__stepper{display:inline-flex;flex-direction:column;border-left:1px solid var(--color-border-weak);margin-left:2px}.text-field__stepper button{border:0;background:transparent;color:var(--color-text-muted);width:18px;height:12px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.text-field__stepper button svg{width:10px;height:10px}.text-field__counter{font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono)}.text-field__help-text{font-size:12px;color:var(--color-text-muted);line-height:1.3}.text-field__feedback{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.text-field__feedback-dot{width:14px;height:14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-surface);font-size:10px;line-height:1}.text-field__feedback-dot svg{width:10px;height:10px}.text-field__feedback--valid-feedback{color:var(--color-primary)}.text-field__feedback--valid-feedback .text-field__feedback-dot{background:var(--color-primary)}.text-field__feedback--invalid-feedback{color:var(--color-danger-text)}.text-field__feedback--invalid-feedback .text-field__feedback-dot{background:var(--color-danger-text)}.text-button{--tb-bg: var(--color-primary);--tb-bg-hover: var(--brand-primary-light);--tb-bg-focus: var(--brand-primary-light);--tb-fg: var(--color-surface);--tb-border: transparent;--tb-shadow-focus: 0 0 0 2px color-mix(in srgb, var(--color-primary) 24%, transparent);--tb-scale: 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;border:1px solid var(--tb-border);background:var(--tb-bg);color:var(--tb-fg);cursor:pointer;transform:scale(var(--tb-scale));transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .2s ease;font-family:var(--font-sans);font-weight:700;line-height:1;white-space:nowrap}.text-button--l{min-height:44px;padding:0 18px;font-size:14px}.text-button--m{min-height:40px;padding:0 16px;font-size:14px}.text-button--s{min-height:36px;padding:0 14px;font-size:13px}.text-button--xs{min-height:32px;padding:0 12px;font-size:12px}.text-button--primary{--tb-bg: var(--color-primary);--tb-bg-hover: var(--brand-primary-light);--tb-bg-focus: var(--brand-primary-light);--tb-fg: var(--color-surface);--tb-border: var(--color-primary)}.text-button--secondary{--tb-bg: var(--color-surface);--tb-bg-hover: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));--tb-bg-focus: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));--tb-fg: var(--color-primary);--tb-border: var(--color-primary)}.text-button--tertiary{--tb-bg: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));--tb-bg-hover: color-mix(in srgb, var(--color-primary) 16%, var(--color-surface));--tb-bg-focus: color-mix(in srgb, var(--color-primary) 16%, var(--color-surface));--tb-fg: var(--brand-primary-strong);--tb-border: color-mix(in srgb, var(--color-primary) 22%, var(--color-border))}.text-button--danger{--tb-bg: var(--color-danger-bg);--tb-bg-hover: color-mix(in srgb, var(--color-danger-bg) 80%, black);--tb-bg-focus: color-mix(in srgb, var(--color-danger-bg) 80%, black);--tb-fg: var(--color-surface);--tb-border: var(--color-danger-bg)}.text-button--symentic,.text-button--semantic{--tb-bg: var(--brand-primary-light);--tb-bg-hover: var(--color-primary);--tb-bg-focus: var(--color-primary);--tb-fg: var(--color-surface);--tb-border: var(--brand-primary-light)}.text-button:hover:not(:disabled),.text-button--hover{background:var(--tb-bg-hover)}.text-button:hover:not(:disabled){--tb-scale: 1.01}.text-button--focus{background:var(--tb-bg-focus);box-shadow:var(--tb-shadow-focus)}.text-button:active:not(:disabled){--tb-scale: .985}.text-button--fasble,.text-button:disabled{background:var(--color-hover-soft);border-color:var(--color-border-weak);color:color-mix(in srgb,var(--color-text-muted) 70%,white);cursor:not-allowed;box-shadow:none}.text-button__icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1}.text-button__icon svg{width:1em;height:1em}.toggle-button{--tg-width: 44px;--tg-height: 24px;--tg-knob-size: 18px;--tg-padding: 3px;--tg-translate-x: 0px;--tg-off-bg: var(--color-border);--tg-on-bg: var(--color-primary);--tg-disabled-bg: var(--color-hover-soft);width:var(--tg-width);height:var(--tg-height);border:0;border-radius:999px;background:var(--tg-off-bg);padding:var(--tg-padding);display:inline-flex;align-items:center;justify-content:flex-start;cursor:pointer;transition:background-color .26s ease,box-shadow .26s ease,transform .22s ease}.toggle-button--m{--tg-width: 40px;--tg-height: 22px;--tg-knob-size: 16px;--tg-padding: 3px}.toggle-button--s{--tg-width: 32px;--tg-height: 18px;--tg-knob-size: 12px;--tg-padding: 3px}.toggle-button--checked{background:var(--tg-on-bg);--tg-translate-x: calc(var(--tg-width) - var(--tg-knob-size) - (var(--tg-padding) * 2))}.toggle-button--disabled{background:var(--tg-disabled-bg);cursor:not-allowed}.toggle-button--focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 28%,transparent)}.toggle-button__knob{width:var(--tg-knob-size);height:var(--tg-knob-size);border-radius:999px;background:var(--color-surface);box-shadow:0 2px 6px #11182733;transform:translate(var(--tg-translate-x));transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .22s ease}.toggle-button:hover:not(:disabled){transform:scale(1.02)}.toggle-button:active:not(:disabled){transform:scale(.98)}.toggle-button:hover:not(:disabled) .toggle-button__knob{box-shadow:0 4px 10px #11182738}.select{position:relative;display:inline-flex;flex-direction:column;font-family:var(--font-sans)}.select--l{--select-width: 200px;--select-height: 40px;--select-font-size: 14px;--select-padding-x: 12px}.select--m{--select-width: 184px;--select-height: 36px;--select-font-size: 14px;--select-padding-x: 10px}.select--s{--select-width: 168px;--select-height: 32px;--select-font-size: 13px;--select-padding-x: 10px}.select__control{width:var(--select-width);min-height:var(--select-height);border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:0 var(--select-padding-x);font-size:var(--select-font-size);font-weight:500;line-height:1.2;cursor:pointer;transition:border-color .22s ease,box-shadow .22s ease,color .22s ease,background-color .22s ease}.select__control:hover:not(:disabled),.select__control--hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.select__control--active,.select__control--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 24%,transparent)}.select__control:disabled,.select__control--disabled{border-color:var(--color-border-weak);background:var(--color-hover-soft);color:color-mix(in srgb,var(--color-text-muted) 70%,white);cursor:not-allowed}.select__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.select__text--value{color:var(--color-text);font-weight:600}.select__arrow{width:14px;height:14px;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .22s ease,color .22s ease}.select__arrow--open{transform:rotate(180deg)}.select__control--disabled .select__arrow{color:color-mix(in srgb,var(--color-text-muted) 60%,white)}.select__arrow svg{width:14px;height:14px}.select__menu{position:absolute;top:calc(100% + 4px);left:0;width:var(--select-width);max-height:184px;overflow-y:auto;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);box-shadow:0 10px 20px #11182717;z-index:40;padding:2px 0}.select__item{width:100%;border:0;background:var(--color-surface);min-height:var(--select-height);padding:0 var(--select-padding-x);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-size:var(--select-font-size);color:var(--color-text);text-align:left;transition:background-color .18s ease,color .18s ease}.select__item:hover{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.select__item--selected{font-weight:700}.select__item-check{color:var(--color-primary);display:inline-flex;align-items:center}.select__item-check svg{width:calc(var(--select-font-size) * .9);height:calc(var(--select-font-size) * .9)}.select__item--disabled{color:color-mix(in srgb,var(--color-text-muted) 70%,white);cursor:not-allowed}.select--list .select__control{border:none;border-radius:0;border-bottom:1px solid var(--color-border);width:var(--select-width);padding-left:0;padding-right:0}.select--list .select__menu{border-radius:0;border-color:var(--color-border-weak)}.button-tab{--button-tab-scale: 1;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-sans);font-weight:700;line-height:1;cursor:pointer;transform:scale(var(--button-tab-scale));transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .2s ease}.button-tab--l{min-height:40px;padding:0 18px;font-size:14px}.button-tab--m{min-height:36px;padding:0 14px;font-size:13px}.button-tab:hover:not(:disabled),.button-tab--hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));color:var(--color-text-strong)}.button-tab:hover:not(:disabled){--button-tab-scale: 1.01}.button-tab--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface)}.button-tab:disabled,.button-tab--disabled{border-color:var(--color-border-weak);background:var(--color-hover-soft);color:color-mix(in srgb,var(--color-text-muted) 70%,white);cursor:not-allowed}.button-tab:active:not(:disabled){--button-tab-scale: .985}.button-tab-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.radio-button{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);color:var(--color-text)}.radio-button__control{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .18s ease;cursor:pointer}.radio-button__control:hover:not(:disabled){transform:scale(1.04)}.radio-button--l .radio-button__control{width:20px;height:20px}.radio-button--m .radio-button__control{width:16px;height:16px}.radio-button--s .radio-button__control{width:14px;height:14px}.radio-button__control--hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.radio-button__control--focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 22%,transparent)}.radio-button__control--active{border-color:var(--color-primary)}.radio-button__dot{border-radius:999px;background:var(--color-primary);transition:transform .2s ease,background-color .22s ease}.radio-button--l .radio-button__dot{width:10px;height:10px}.radio-button--m .radio-button__dot{width:8px;height:8px}.radio-button--s .radio-button__dot{width:7px;height:7px}.radio-button--locked .radio-button__control{cursor:not-allowed;border-color:var(--color-border-weak);background:var(--color-hover-soft)}.radio-button--locked .radio-button__dot{background:color-mix(in srgb,var(--color-primary) 35%,white)}.radio-button__label{font-size:13px;color:var(--color-text);line-height:1.2;transition:color .22s ease}.radio-button--locked .radio-button__label{color:var(--color-text-muted)}.checkbox{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);color:var(--color-text)}.checkbox__control{border:none;padding:0;margin:0;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .18s ease;cursor:pointer}.checkbox__control:hover:not(.checkbox__control--locked){transform:scale(1.04)}.checkbox--l .checkbox__control{width:20px;height:20px}.checkbox--m .checkbox__control{width:16px;height:16px}.checkbox--s .checkbox__control{width:14px;height:14px;border-radius:3px}.checkbox__control--off{background:var(--color-surface);border:1px solid var(--color-border)}.checkbox__control--off.checkbox__control--hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.checkbox__control--off.checkbox__control--focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 22%,transparent)}.checkbox__control--on{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.checkbox__control--on.checkbox__control--hover{background:var(--brand-primary-light);border-color:var(--brand-primary-light)}.checkbox__control--on.checkbox__control--focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 26%,transparent)}.checkbox__control--locked{cursor:not-allowed}.checkbox__control--locked.checkbox__control--off{background:var(--color-hover-soft);border-color:var(--color-border-weak)}.checkbox__control--locked.checkbox__control--on{background:color-mix(in srgb,var(--color-primary) 35%,white);border-color:color-mix(in srgb,var(--color-primary) 35%,white)}.checkbox__icon{line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,opacity .18s ease}.checkbox--l .checkbox__icon{width:14px;height:14px}.checkbox--m .checkbox__icon{width:12px;height:12px}.checkbox--s .checkbox__icon{width:10px;height:10px}.checkbox__label{font-size:13px;line-height:1.2;color:var(--color-text);transition:color .22s ease}.checkbox--locked .checkbox__label{color:var(--color-text-muted)}.settings-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180}.settings-modal-root__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1118276b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settings-modal{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:680px;height:600px;border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-lg);background:color-mix(in srgb,var(--color-surface) 94%,#f3efe6);overflow:hidden;display:grid;grid-template-columns:228px 1fr}.settings-modal__close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.settings-modal__close:hover{background:var(--color-hover-soft)}.settings-modal__sidebar{border-right:1px solid var(--color-border);padding:20px 14px 16px;background:color-mix(in srgb,var(--color-surface) 74%,var(--color-surface-soft));display:flex;flex-direction:column;gap:12px;overflow:auto}.settings-modal__sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-top:12px}.settings-modal__sidebar-nav--tabs{display:none}.settings-modal__content-shell.ui-container{padding:0;background:transparent;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column}.settings-modal__content{position:relative;height:100%;min-height:0;overflow:hidden}.settings-modal__content-body{height:100%;overflow:auto;padding:20px 18px 92px;display:flex;flex-direction:column;gap:14px}.settings-modal__setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px}.settings-modal__setting-row--multiline{align-items:flex-start}.settings-modal__setting-row--danger{border:1px solid #efe2de;background:#fff8f7e6;border-radius:14px;padding:12px}.settings-modal__setting-main{min-width:0}.settings-modal__setting-main h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#2f312b}.settings-modal__setting-main p{margin:0;font-size:13px;color:var(--color-text-muted)}.settings-modal__setting-control{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.settings-modal__setting-control .text-field{min-width:240px}.settings-modal__footer-actions{position:absolute;left:0;right:0;bottom:0;width:100%;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;padding:12px 18px;border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 94%,#f3efe6)}.settings-modal__checkbox-group{display:flex;align-items:center;gap:14px}@media (max-width: 1023px){.settings-modal{grid-template-columns:1fr;max-height:calc(100dvh - 1rem);width:calc(100vw - 1rem);height:auto}.settings-modal__sidebar{border-right:none;border-bottom:1px solid var(--color-border);padding:14px 56px 10px 14px;max-height:none;overflow:visible;gap:0}.settings-modal__sidebar-nav--list{display:none}.settings-modal__sidebar-nav--tabs{display:block;margin-top:10px}.settings-modal__mobile-tabs.button-tab-group{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}}@media (max-width: 960px){.settings-modal__setting-row{align-items:flex-start;flex-direction:column}.settings-modal__setting-control{width:100%;justify-content:flex-start}.settings-modal__footer-actions{flex-wrap:wrap;justify-content:flex-start}.settings-modal__setting-control .text-field{min-width:0;width:100%}}.app-shell{--app-bar-height: 52px;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:100%;height:100%;background:var(--color-bg);overflow:hidden}@media (min-width: 1024px){.app-shell{flex-direction:row}}.app-shell__body{flex:1;min-width:0;max-width:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-shell__main{flex:1;min-height:0;overflow:auto;padding:0 .5rem}.app-shell__main:has(.garden-map--stacked){padding:0;overflow-x:hidden}@media (min-width: 640px){.app-shell__main{padding:0 1rem}.app-shell__main:has(.garden-map--stacked){padding:0}}@media (min-width: 1024px){.app-shell__main{padding:0 1.5rem}.app-shell__main:has(.garden-map--stacked){padding:0}}.popover{position:fixed;transform:translate(12px,-50%);min-width:220px;max-width:min(300px,calc(100vw - 24px));max-height:80vh;overflow-y:auto;padding:.85rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),0 4px 20px var(--color-hover-strong);border:1px solid var(--color-border-weak);pointer-events:auto;z-index:200}@media (min-width: 640px){.popover{min-width:240px;padding:1rem}}.popover__header{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-hover-strong)}.popover__color{flex-shrink:0;width:12px;height:12px;border-radius:50%}.popover__header-text{display:flex;flex-direction:column;gap:.2rem}.popover__title{font-size:1rem;color:var(--color-text)}.popover__color-label{font-size:.75rem;color:var(--color-text-muted)}.popover__stats{display:flex;gap:1rem;margin-bottom:.75rem}.popover__stat{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-muted)}.popover__stat-icon{font-size:.9rem}.popover__block{margin-bottom:.75rem}.popover__block-title{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .4rem}.popover__list{list-style:none;margin:0;padding:0}.popover__list li{padding:.2rem 0}.popover__list--tasks .popover__task-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem;line-height:1.4}.popover__task-status{flex-shrink:0;font-size:.65rem;padding:.15rem .4rem;border-radius:var(--radius-sm)}.popover__task-status--progress{background:var(--color-success-bg);color:var(--color-success-text)}.popover__task-status--pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.popover__task-title{flex:1;min-width:0}.popover__task-due{font-size:.75rem;color:var(--color-text-muted)}.popover__list--plants .popover__plant-item{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.popover__plant-name{font-weight:500}.popover__plant-species{font-size:.8rem;color:var(--color-text-muted)}.popover__more{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.popover__empty{font-size:.85rem;color:var(--color-text-muted);margin:0 0 .75rem}.popover__btn{width:100%;padding:.5rem .75rem;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-surface);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s;margin-top:.25rem}.popover__btn:hover{background:var(--color-primary-light)}.popover__btn:active{transform:scale(.98)}.garden-map{position:relative;padding:.5rem;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.garden-map--stacked{box-sizing:border-box;width:100vw;max-width:100vw;margin:0;margin-left:calc(50% - 50vw);padding:0;border-radius:0}.garden-map--stacked .garden-map__svg-wrapper{border-radius:0}.garden-map__controls{position:absolute;left:0;right:0;bottom:.5rem;width:100%;z-index:30;display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:0 .5rem;box-sizing:border-box}.garden-map:not(.garden-map--stacked) .garden-map__controls{pointer-events:none}.garden-map:not(.garden-map--stacked) .garden-map__controls>*{pointer-events:auto}.garden-map--stacked .garden-map__controls{position:absolute;top:.75rem;left:0;right:0;z-index:20;padding:0}.garden-map--stacked .garden-map__toolbar{flex:unset;width:max-content;max-width:100%}@media (min-width: 640px){.garden-map:not(.garden-map--stacked){padding:1rem}.garden-map:not(.garden-map--stacked) .garden-map__controls{bottom:1rem;gap:10px;padding:0 1rem}}.garden-map__toolbar{display:flex;justify-content:center;min-width:0}.garden-map__toolbar-inner{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-xl);border:1px solid var(--color-hover-strong);background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.garden-map__toolbar-inner--collapsed{padding:6px;gap:0}@media (min-width: 640px){.garden-map__toolbar-inner{gap:12px;padding:10px}}.garden-map__select-wrap{display:inline-flex;align-items:center}.garden-map__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:min(58vw,340px);padding:0 36px 0 12px;border-radius:10px;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-strong);font-size:.95rem;line-height:1;background-image:linear-gradient(45deg,transparent 50%,#9ca3af 50%),linear-gradient(135deg,#9ca3af 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;text-align:center;text-align-last:center}.garden-map__icon-btn{width:40px;height:40px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:#5b4ba2;font-size:1.15rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.garden-map__icon-btn--eye{font-size:1.2rem}.garden-map__icon-btn:hover{background:#f5f3ff}.garden-map__icon-btn:disabled{opacity:.45;cursor:not-allowed}.garden-map__toolbar-group{display:flex;align-items:center;gap:8px}.garden-map__toolbar-label{font-size:11px;color:var(--color-text-muted);letter-spacing:.02em;-webkit-user-select:none;user-select:none}.garden-map__toolbar-btn{height:28px;min-width:44px;padding:0 10px;border-radius:999px;border:1px solid var(--color-black-12);background:var(--color-white-90);color:var(--color-text);font-size:12px;font-weight:600;cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease}.garden-map__toolbar-btn:hover{transform:translateY(-1px);border-color:var(--color-black-18)}.garden-map__toolbar-btn--active{background:color-mix(in srgb,var(--color-text) 86%,transparent);border-color:color-mix(in srgb,var(--color-text) 86%,transparent);color:var(--color-white-95)}.garden-map__toolbar-divider{width:1px;height:22px;background:var(--color-black-12)}.garden-map__svg-wrapper{flex:1;min-height:0;width:100%;height:100%;background:unset;background-color:unset;border-radius:12px;border:none;box-shadow:none;outline:none;overflow:hidden;overscroll-behavior:contain;touch-action:none}.garden-map__asset{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.garden-map__asset svg{width:100%;height:100%;display:block;outline:none;border:none}.garden-map__asset svg:focus{outline:none}.garden-map__asset svg *{opacity:1!important;fill-opacity:1!important}.garden-map__asset svg polygon,.garden-map__asset svg path,.garden-map__asset svg rect{stroke-linejoin:round;stroke-linecap:round}.garden-map__asset--satellite{filter:saturate(1.15) contrast(1.05)}.garden-map__section{cursor:pointer;transition:fill-opacity .2s,stroke .2s}.garden-map__section:hover{fill-opacity:1!important}.landing-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center}.landing-page--loading p{color:var(--color-text-muted)}.landing-page__wrap{position:relative;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.landing-page__wrap:has(.garden-map--stacked){width:100%;max-width:none;margin:0;padding:0}.notion-db-badge--landing{position:absolute;top:.35rem;right:.35rem;left:.35rem;margin:0;z-index:10;background:var(--color-surface);padding:.3rem .5rem;border-radius:8px;box-shadow:var(--shadow-sm);font-size:.7rem;text-align:center}@media (min-width: 480px){.notion-db-badge--landing{left:auto;right:.5rem;top:.5rem;padding:.35rem .6rem;font-size:.75rem;text-align:left}}.ui-dialog{position:relative;width:100%;padding:24px 28px 28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 2px 12px #5a41280f;overflow:hidden;transition:box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s ease}.ui-dialog--hoverable:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));box-shadow:0 8px 24px #5a41281f}.ui-dialog__accent{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary);border-radius:16px 0 0 16px;opacity:.7}.ui-dialog__inner{padding-left:8px}.ui-dialog__header{margin-bottom:24px}.ui-dialog__label{display:block;font-size:11px;letter-spacing:.2em;color:var(--color-text-muted);font-family:DM Mono,monospace;text-transform:uppercase;margin-bottom:6px}.ui-dialog__title{font-size:26px;font-weight:700;color:var(--color-text-strong);font-family:"Noto Serif KR",Georgia,serif;line-height:1.2}.ui-dialog__description{margin-top:8px;font-size:13px;color:var(--color-text-muted)}.ui-dialog__body{display:flex;flex-direction:column;gap:16px}.ui-dialog__footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}@media (min-width: 640px){.ui-dialog{padding:28px 32px 32px}.ui-dialog__title{font-size:28px}}.login-page__container{min-height:calc(100vh - 60px)}.login-page__card{max-width:380px}.login-page__body{gap:0}.login-page__form{display:flex;flex-direction:column;gap:18px}.login-page__field{display:flex;flex-direction:column;gap:6px}.login-page__field-control,.login-page__field-control.text-field{max-width:100%}.login-page__field-control .text-field__label{font-size:11px;color:var(--color-text-muted);font-family:DM Mono,monospace;letter-spacing:.04em;font-weight:500}.login-page__field-control .text-field__input-shell{border-color:var(--color-border);border-radius:10px}.login-page__btn{margin-top:8px;width:100%;border-radius:12px;min-height:46px;font-size:15px;font-family:"Noto Serif KR",Georgia,serif}.login-page__btn:active{transform:scale(.98)}.login-page__meta{font-size:12px;color:var(--color-text-muted);font-family:DM Mono,monospace}.login-page__link-btn{min-height:24px;border-radius:8px;font-family:DM Mono,monospace;font-weight:500}.login-page__message{margin:-2px 0 0;font-size:12px;color:var(--color-primary);font-family:DM Mono,monospace}.login-page__message--error{color:#b3261e}@media (min-width: 640px){.login-page__form{gap:20px}}.dashboard-page{min-height:calc(100vh - 60px);padding:1.5rem;background:var(--color-bg)}.dashboard-page__header{margin-bottom:28px}.dashboard-page__label{display:block;font-size:11px;letter-spacing:.2em;color:var(--color-text-muted);font-family:DM Mono,monospace;text-transform:uppercase;margin-bottom:6px}.dashboard-page__title{font-size:26px;font-weight:700;color:var(--color-text-strong);font-family:"Noto Serif KR",Georgia,serif;line-height:1.2;margin-bottom:8px}.dashboard-page__desc{font-size:14px;color:var(--color-text-muted);font-family:DM Mono,monospace}.dashboard-page__error{font-size:14px;color:var(--color-danger-text-strong, #b91c1c);margin-bottom:1rem}.dashboard-page__hint{font-size:14px;color:var(--color-text-muted);margin:0 0 1rem}.dashboard-page__summary{margin-bottom:28px}.dashboard-page__stat-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px;padding:20px 28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 2px 12px #5a41280f;transition:border-color .2s ease,box-shadow .2s ease}.dashboard-page__stat-card:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));box-shadow:0 4px 16px #5a412814}.dashboard-page__stat-value{font-size:28px;font-weight:700;color:var(--color-primary);font-family:"Noto Serif KR",Georgia,serif;line-height:1.2}.dashboard-page__stat-label{font-size:12px;color:var(--color-text-muted);font-family:DM Mono,monospace;margin-top:4px}.dashboard-page__section{max-width:560px}.dashboard-page__section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dashboard-page__section-title{font-size:16px;font-weight:600;color:var(--color-text-strong);font-family:"Noto Serif KR",Georgia,serif}.dashboard-page__link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--color-primary);font-family:DM Mono,monospace;text-decoration:none;transition:color .2s ease}.dashboard-page__link:hover{color:var(--brand-primary-strong);text-decoration:underline}.dashboard-page__link-icon{width:14px;height:14px}.dashboard-page__empty{padding:40px 24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;text-align:center;box-shadow:0 2px 12px #5a41280f}.dashboard-page__empty-text{font-size:15px;color:var(--color-text-muted);font-family:"Noto Serif KR",Georgia,serif;margin-bottom:20px}.dashboard-page__list{list-style:none;display:flex;flex-direction:column;gap:12px}.dashboard-page__card{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 2px 12px #5a41280f;text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;overflow:hidden}.dashboard-page__card:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));box-shadow:0 6px 20px #5a41281a;transform:translateY(-2px)}.dashboard-page__card-accent{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary);border-radius:14px 0 0 14px;opacity:.7}.dashboard-page__card-body{flex:1;min-width:0;padding-left:8px}.dashboard-page__card-title{font-size:17px;font-weight:700;color:var(--color-text-strong);font-family:"Noto Serif KR",Georgia,serif;line-height:1.3;margin-bottom:8px}.dashboard-page__card-meta{display:flex;flex-wrap:wrap;gap:8px}.dashboard-page__card-badge{font-size:11px;padding:3px 9px;border-radius:8px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--brand-primary-strong);font-family:DM Mono,monospace}.dashboard-page__card-desc{margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-page__card-badge--purpose{background:var(--color-hover-soft);color:var(--color-text-muted)}.dashboard-page__card-arrow{width:18px;height:18px;color:var(--color-primary);flex-shrink:0}.dashboard-page__btn{display:inline-block;padding:12px 24px;font-size:14px;font-weight:600;border-radius:12px;font-family:"Noto Serif KR",Georgia,serif;text-decoration:none;transition:background .2s ease,transform .2s ease}.dashboard-page__btn--primary{color:var(--color-surface);background:var(--color-primary)}.dashboard-page__btn--primary:hover{background:var(--brand-primary-strong);transform:scale(1.02)}@media (min-width: 640px){.dashboard-page{padding:2rem}.dashboard-page__title{font-size:28px}.dashboard-page__stat-card{min-width:120px;padding:24px 32px}.dashboard-page__stat-value{font-size:32px}.dashboard-page__card{padding:20px 24px}.dashboard-page__card-title{font-size:18px}}.project-new-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--color-bg)}.project-new-page__card{position:relative;width:100%;max-width:440px;padding:24px 28px 28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 2px 12px #5a41280f;overflow:hidden}.project-new-page__accent{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary);border-radius:16px 0 0 16px;opacity:.7}.project-new-page__header{padding-left:8px;margin-bottom:22px}.project-new-page__label{display:block;font-size:11px;letter-spacing:.2em;color:var(--color-text-muted);font-family:DM Mono,monospace;text-transform:uppercase;margin-bottom:6px}.project-new-page__title{font-size:26px;font-weight:700;color:var(--color-text-strong);font-family:"Noto Serif KR",Georgia,serif;line-height:1.2;margin:0 0 16px}.project-new-page__steps{display:flex;flex-wrap:wrap;gap:10px 16px;list-style:none;margin:0;padding:0}.project-new-page__step{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted);font-weight:500}.project-new-page__step--current{color:var(--color-primary);font-weight:700}.project-new-page__step--done{color:var(--color-text)}.project-new-page__step-index{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;background:var(--color-bg);border:1px solid var(--color-border)}.project-new-page__step--current .project-new-page__step-index{background:var(--color-primary);color:var(--color-surface);border-color:transparent}.project-new-page__form{display:flex;flex-direction:column;gap:22px;padding-left:8px}.project-new-page__field{display:flex;flex-direction:column;gap:10px}.project-new-page__field-label{font-size:11px;color:var(--color-text-muted);font-family:DM Mono,monospace;letter-spacing:.04em}.project-new-page__required{color:var(--color-danger-text-strong, #b91c1c);margin-left:2px}.project-new-page__field-control{max-width:100%}.project-new-page__field-control .text-field__label{font-size:11px;color:var(--color-text-muted);font-family:DM Mono,monospace;letter-spacing:.04em;font-weight:500}.project-new-page__field-control .text-field__input-shell{border-color:var(--color-border);border-radius:10px}.project-new-page__tab-group{gap:8px}.project-new-page__tab-group--space{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project-new-page__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-left:8px}.project-new-page__actions--footer{flex-wrap:wrap}.project-new-page__link-secondary{font-size:14px;color:var(--color-text-muted);text-decoration:none;padding:8px 4px}.project-new-page__link-secondary:hover{color:var(--color-text)}.project-new-page__link-as-btn{background:none;border:none;cursor:pointer;font:inherit}.project-new-page__btn-primary{min-width:120px;min-height:46px;font-size:15px;border-radius:12px;font-family:"Noto Serif KR",Georgia,serif}.project-new-page__panel{padding-left:8px;display:flex;flex-direction:column;gap:18px}.project-new-page__lead{margin:0;font-size:15px;color:var(--color-text);line-height:1.5}.project-new-page__lead-sep{font-weight:400;color:var(--color-text-muted)}.project-new-page__lead-desc{margin:.35rem 0 0;font-size:13px;line-height:1.5;color:var(--color-text-muted);white-space:pre-wrap}.project-new-page__placeholder{padding:16px 14px;border-radius:12px;background:var(--color-bg);border:1px dashed color-mix(in srgb,var(--color-border) 80%,var(--color-primary))}.project-new-page__placeholder-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--color-text-strong)}.project-new-page__placeholder-desc{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.55}@media (min-width: 640px){.project-new-page__card{padding:28px 32px 32px}.project-new-page__title{font-size:28px}}.project-home{max-width:560px;margin:0 auto;padding:1.25rem 1.5rem 2rem}.project-home__loading{color:var(--color-text-muted);font-size:14px}.project-home__header{display:flex;align-items:flex-start;gap:12px;margin-bottom:1.25rem}.project-home__crumb{display:inline-flex;align-items:center;justify-content:center;margin-top:4px;padding:6px;border-radius:var(--radius-lg);color:var(--color-text-muted);transition:background .2s,color .2s}.project-home__crumb:hover{background:var(--color-hover-strong);color:var(--color-text)}.project-home__label{display:block;font-size:11px;letter-spacing:.12em;color:var(--color-text-muted);font-family:DM Mono,monospace;text-transform:uppercase;margin-bottom:4px}.project-home__title{margin:0;font-size:1.75rem;font-weight:700;font-family:"Noto Serif KR",Georgia,serif;color:var(--color-text-strong);line-height:1.25}.project-home__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.75rem}.project-home__badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.project-home__badge--muted{font-weight:500;color:var(--color-text-muted)}.project-home__description{margin:0 0 1.25rem;font-size:14px;line-height:1.55;color:var(--color-text-muted);white-space:pre-wrap}.project-home__actions{display:flex;flex-direction:column;gap:12px}.project-home__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:12px;font-size:15px;font-weight:600;text-decoration:none;color:var(--color-surface);background:var(--color-primary);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .2s}.project-home__cta:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.project-home__back{display:inline-block;margin-top:1rem;font-size:14px;color:var(--color-primary)}.badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:var(--badge-radius);min-width:var(--badge-min-width);height:var(--badge-height);padding:0 var(--badge-padding-x);background:var(--badge-bg);color:var(--badge-fg);font-family:var(--font-sans);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);line-height:1;letter-spacing:0;white-space:nowrap}.badge--size-m{--badge-height: var(--component-badge-size-m-height);--badge-radius: var(--component-badge-radius);--badge-font-size: var(--component-badge-size-m-font-size);--badge-font-weight: var(--component-badge-font-weight)}.badge--size-l{--badge-height: var(--component-badge-size-l-height);--badge-radius: var(--component-badge-radius);--badge-font-size: var(--component-badge-size-l-font-size);--badge-font-weight: var(--component-badge-font-weight)}.badge--tone-brand.badge--emphasis-solid{--badge-bg: var(--component-badge-tone-brand-solid-bg);--badge-fg: var(--component-badge-tone-brand-solid-fg)}.badge--tone-brand.badge--emphasis-soft{--badge-bg: var(--component-badge-tone-brand-soft-bg);--badge-fg: var(--component-badge-tone-brand-soft-fg)}.badge--tone-neutral.badge--emphasis-solid{--badge-bg: var(--component-badge-tone-neutral-solid-bg);--badge-fg: var(--component-badge-tone-neutral-solid-fg)}.badge--tone-neutral.badge--emphasis-soft{--badge-bg: var(--component-badge-tone-neutral-soft-bg);--badge-fg: var(--component-badge-tone-neutral-soft-fg)}.badge--tone-success.badge--emphasis-solid{--badge-bg: var(--component-badge-tone-success-solid-bg);--badge-fg: var(--component-badge-tone-success-solid-fg)}.badge--tone-success.badge--emphasis-soft{--badge-bg: var(--component-badge-tone-success-soft-bg);--badge-fg: var(--component-badge-tone-success-soft-fg)}.badge--tone-warning.badge--emphasis-solid{--badge-bg: var(--component-badge-tone-warning-solid-bg);--badge-fg: var(--component-badge-tone-warning-solid-fg)}.badge--tone-warning.badge--emphasis-soft{--badge-bg: var(--component-badge-tone-warning-soft-bg);--badge-fg: var(--component-badge-tone-warning-soft-fg)}.badge--tone-danger.badge--emphasis-solid{--badge-bg: var(--component-badge-tone-danger-solid-bg);--badge-fg: var(--component-badge-tone-danger-solid-fg)}.badge--tone-danger.badge--emphasis-soft{--badge-bg: var(--component-badge-tone-danger-soft-bg);--badge-fg: var(--component-badge-tone-danger-soft-fg)}.badge--none{--badge-padding-x: 0px}.badge--size-m.badge--none,.badge--size-m.badge--single{--badge-min-width: var(--component-badge-size-m-min-width-single);--badge-padding-x: var(--component-badge-size-m-padding-x-single)}.badge--size-m.badge--double{--badge-min-width: var(--component-badge-size-m-min-width-double);--badge-padding-x: var(--component-badge-size-m-padding-x-double)}.badge--size-m.badge--triple{--badge-min-width: var(--component-badge-size-m-min-width-triple);--badge-padding-x: var(--component-badge-size-m-padding-x-triple)}.badge--size-l.badge--none{--badge-min-width: var(--component-badge-size-l-min-width-none);--badge-padding-x: var(--component-badge-size-l-padding-x-none)}.badge--size-l.badge--single{--badge-min-width: var(--component-badge-size-l-min-width-single);--badge-padding-x: var(--component-badge-size-l-padding-x-single)}.badge--size-l.badge--double{--badge-min-width: var(--component-badge-size-l-min-width-double);--badge-padding-x: var(--component-badge-size-l-padding-x-double)}.badge--size-l.badge--triple{--badge-min-width: var(--component-badge-size-l-min-width-triple);--badge-padding-x: var(--component-badge-size-l-padding-x-triple)}.date-picker{position:relative;display:inline-flex;flex-direction:column;gap:8px;font-family:var(--font-sans)}.date-picker--l{--date-picker-width: 200px;--date-picker-height: 40px;--date-picker-font-size: 14px;--date-picker-panel-width: 240px}.date-picker--m{--date-picker-width: 184px;--date-picker-height: 36px;--date-picker-font-size: 14px;--date-picker-panel-width: 240px}.date-picker--s{--date-picker-width: 168px;--date-picker-height: 32px;--date-picker-font-size: 13px;--date-picker-panel-width: 232px}.date-picker__field{width:var(--date-picker-width);height:var(--date-picker-height);border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);padding:0 10px 0 12px;display:inline-flex;align-items:center;justify-content:space-between;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.date-picker__field:hover:not(:disabled),.date-picker__field--hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.date-picker__field--active,.date-picker__field--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 22%,transparent)}.date-picker__field--disabled{background:var(--color-hover-soft);border-color:var(--color-border-weak);cursor:not-allowed}.date-picker__text{color:var(--color-text-muted);font-size:14px;font-weight:600;letter-spacing:.01em}.date-picker__text--value{color:var(--color-text)}.date-picker__calendar-icon{width:18px;height:18px;fill:var(--color-text-muted);flex-shrink:0}.date-picker__field--disabled .date-picker__calendar-icon{fill:color-mix(in srgb,var(--color-text-muted) 60%,white)}.date-picker__panel{width:var(--date-picker-panel-width);border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 8px 20px #11182714;padding:10px;position:absolute;z-index:40;top:calc(100% + 6px);left:0}.date-picker__quick-actions{display:inline-flex;gap:6px;margin-bottom:8px}.date-picker__quick-actions button{border:none;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;color:var(--color-surface);background:var(--color-primary);cursor:pointer}.date-picker__quick-actions button:last-child{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.date-picker__month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.date-picker__month-header strong{font-size:14px;color:var(--color-text-strong)}.date-picker__month-header button{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.date-picker__month-header button svg{width:14px;height:14px}.date-picker__week-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.date-picker__week-row span{text-align:center;font-size:12px;color:var(--color-text)}.date-picker__week-row .date-picker__sun{color:var(--color-primary-light)}.date-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}.date-picker__cell{border:none;background:transparent;border-radius:6px;height:24px;font-size:12px;color:var(--color-text);cursor:pointer}.date-picker__cell:hover{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.date-picker__cell--muted{color:color-mix(in srgb,var(--color-text-muted) 55%,white)}.date-picker__cell--selected{background:var(--color-primary);color:var(--color-surface);font-weight:700}.date-picker__wheel{display:flex;gap:8px;align-items:stretch;justify-content:space-between}.date-picker__wheel-column{flex:1;border-radius:6px;background:var(--color-hover-soft);border:1px solid var(--color-border-weak);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 0}.date-picker__wheel-column button{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.date-picker__wheel-column button svg{width:12px;height:12px}.date-picker__wheel-column span{min-width:34px;text-align:center;border-radius:4px;background:var(--color-surface);border:1px solid var(--color-border-weak);font-size:18px;line-height:1.25;font-weight:700;color:var(--color-text)}.date-picker__wheel-confirm{border:none;border-radius:6px;background:var(--color-primary);color:var(--color-surface);padding:0 8px;font-size:12px;font-weight:700;cursor:pointer}.icon-button{--ib-bg: transparent;--ib-bg-hover: color-mix(in srgb, var(--color-primary) 10%, transparent);--ib-bg-pressed: color-mix(in srgb, var(--color-primary) 18%, transparent);--ib-fg: var(--color-text-strong);--ib-fg-disabled: color-mix(in srgb, var(--color-text-muted) 70%, white);--ib-scale: 1;width:40px;height:40px;border:none;border-radius:999px;background:var(--ib-bg);color:var(--ib-fg);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--font-sans);cursor:pointer;transform:scale(var(--ib-scale));transition:background-color .22s ease,color .22s ease,opacity .22s ease,transform .22s ease}.icon-button--label-inline{min-width:64px;width:auto;padding:0 10px;border-radius:999px;flex-direction:row;gap:6px}.icon-button--label-stacked{width:56px;height:56px;padding:6px 8px;border-radius:16px;gap:4px}.icon-button--nobg{--ib-bg: transparent;--ib-bg-hover: color-mix(in srgb, var(--color-primary) 12%, transparent);--ib-bg-pressed: color-mix(in srgb, var(--color-primary) 20%, transparent);--ib-fg: var(--color-text)}.icon-button--filled{--ib-bg: var(--color-primary);--ib-bg-hover: var(--brand-primary-light);--ib-bg-pressed: var(--brand-primary-strong);--ib-fg: var(--color-surface)}.icon-button--destructive{--ib-bg: transparent;--ib-bg-hover: color-mix(in srgb, var(--color-danger-text) 8%, var(--color-surface));--ib-bg-pressed: color-mix(in srgb, var(--color-danger-text) 14%, var(--color-surface));--ib-fg: var(--color-danger-text)}.icon-button:hover:not(:disabled),.icon-button--hover{background:var(--ib-bg-hover)}.icon-button:hover:not(:disabled){--ib-scale: 1.03}.icon-button--pressed{background:var(--ib-bg-pressed);--ib-scale: .97}.icon-button:disabled,.icon-button--disabled{background:var(--color-surface);color:var(--ib-fg-disabled);cursor:not-allowed}.icon-button__icon{width:16px;height:16px;display:block;flex-shrink:0}.icon-button__label{font-size:12px;font-weight:600;line-height:1.1;text-align:center}.tooltip{position:relative;display:inline-flex}.tooltip__bubble{position:absolute;z-index:60;max-width:220px;padding:8px 12px;border-radius:6px;font-family:var(--font-sans);font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:0 6px 18px #1118272e}.tooltip__bubble--dark{background:var(--brand-primary-strong);color:var(--color-surface)}.tooltip__bubble--light{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.tooltip__bubble--top{left:50%;bottom:calc(100% + 10px);transform:translate(-50%)}.tooltip__bubble--right{left:calc(100% + 10px);top:50%;transform:translateY(-50%)}.tooltip__bubble--bottom{left:50%;top:calc(100% + 10px);transform:translate(-50%)}.tooltip__bubble--left{right:calc(100% + 10px);top:50%;transform:translateY(-50%)}.tooltip__arrow{position:absolute;width:10px;height:10px;transform:rotate(45deg)}.tooltip__bubble--dark .tooltip__arrow{background:var(--brand-primary-strong)}.tooltip__bubble--light .tooltip__arrow{background:var(--color-surface);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border)}.tooltip__bubble--top .tooltip__arrow{left:50%;bottom:-5px;transform:translate(-50%) rotate(45deg)}.tooltip__bubble--right .tooltip__arrow{left:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.tooltip__bubble--bottom .tooltip__arrow{left:50%;top:-5px;transform:translate(-50%) rotate(45deg)}.tooltip__bubble--left .tooltip__arrow{right:-5px;top:50%;transform:translateY(-50%) rotate(45deg)}.action-popover{position:relative;display:inline-flex}.action-popover__trigger{display:inline-flex}.action-popover__panel{position:absolute;z-index:70;width:208px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 10px 20px #1118271f;display:inline-flex;flex-direction:column;gap:8px;padding:8px;font-family:var(--font-sans)}.action-popover__panel--bottom{top:calc(100% + 8px)}.action-popover__panel--top{bottom:calc(100% + 8px)}.action-popover__panel--left{right:calc(100% + 8px)}.action-popover__panel--right{left:calc(100% + 8px)}.action-popover__panel--bottom.action-popover__panel--align-left,.action-popover__panel--top.action-popover__panel--align-left{left:0}.action-popover__panel--bottom.action-popover__panel--align-center,.action-popover__panel--top.action-popover__panel--align-center{left:50%;transform:translate(-50%)}.action-popover__panel--bottom.action-popover__panel--align-right,.action-popover__panel--top.action-popover__panel--align-right{right:0}.action-popover__panel--left.action-popover__panel--align-left,.action-popover__panel--right.action-popover__panel--align-left{top:0}.action-popover__panel--left.action-popover__panel--align-center,.action-popover__panel--right.action-popover__panel--align-center{top:50%;transform:translateY(-50%)}.action-popover__panel--left.action-popover__panel--align-right,.action-popover__panel--right.action-popover__panel--align-right{bottom:0}.action-popover__header{display:inline-flex;align-items:center;justify-content:space-between;gap:8px}.action-popover__title-group{display:inline-flex;align-items:center;gap:8px;color:var(--color-text);min-width:0}.action-popover__title-group strong{font-size:12px;font-weight:800}.action-popover__title-group em{font-style:normal;font-size:11px;color:var(--color-text-muted)}.action-popover__close{border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;width:20px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.action-popover__close svg{width:16px;height:16px}.action-popover__body{color:var(--color-text);font-size:12px;line-height:1.35;overflow-y:auto;scrollbar-width:none}.action-popover__body::-webkit-scrollbar{width:0;height:0}.action-popover__footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-popover__footer button{border:0;border-radius:4px;background:var(--color-primary);color:var(--color-surface);height:28px;font-size:12px;font-weight:700;cursor:pointer}.action-popover__arrow{position:absolute;width:10px;height:10px;background:var(--color-surface);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);transform:rotate(45deg)}.action-popover__panel--bottom .action-popover__arrow{top:-6px;left:50%;transform:translate(-50%) rotate(45deg)}.action-popover__panel--top .action-popover__arrow{bottom:-6px;left:50%;transform:translate(-50%) rotate(225deg)}.action-popover__panel--left .action-popover__arrow{right:-6px;top:50%;transform:translateY(-50%) rotate(135deg)}.action-popover__panel--right .action-popover__arrow{left:-6px;top:50%;transform:translateY(-50%) rotate(-45deg)}.ui-lab{width:100%;min-height:calc(100vh - 60px);padding:20px;display:flex;flex-direction:column;gap:16px;overflow:auto;font-family:var(--font-sans)}.ui-lab__header{display:flex;flex-direction:column;gap:4px}.ui-lab__header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ui-lab__token-link{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);border-radius:var(--radius-md);padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none}.ui-lab__header h1{font-size:20px;color:var(--color-text-strong)}.ui-lab__header p{font-size:13px;color:var(--color-text-muted)}.ui-lab__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:12px}.ui-lab__section-title{display:flex;align-items:baseline;gap:8px}.ui-lab__section-title h2{font-size:17px;color:var(--color-text-strong)}.ui-lab__section-title span{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted)}.ui-lab__section-description{font-size:12px;color:var(--color-text-muted)}.ui-lab__controls{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.ui-lab__controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-muted)}.ui-lab__controls select,.ui-lab__controls input,.ui-lab__controls button{height:34px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-strong);padding:0 10px}.ui-lab__controls button{cursor:pointer;font-weight:600;border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.ui-lab__controls button:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.ui-lab__checkbox-label{flex-direction:row;align-items:center;gap:6px;padding-bottom:2px}.ui-lab__checkbox-label input{width:16px;height:16px}.ui-lab__preview-card{border-radius:var(--radius-md);border:1px dashed var(--color-border);background:var(--color-bg);min-height:96px;padding:14px;display:flex;align-items:center;justify-content:center}.ui-lab__preview-card--column{align-items:flex-start;justify-content:flex-start;gap:12px}.ui-lab__foundation-stage{width:100%;min-height:420px;padding:24px}.ui-lab__foundation-body{display:flex;flex-direction:column;gap:18px}.ui-lab__foundation-submit{width:100%;min-height:46px;border-radius:12px;font-family:"Noto Serif KR",Georgia,serif}.ui-lab__foundation-meta{font-size:12px;color:var(--color-text-muted);font-family:DM Mono,monospace}.ui-lab__divider-inline{display:inline-flex;align-items:center;gap:10px;color:var(--color-text-muted);font-size:12px}.ui-lab__variant-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ui-lab__variant-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;align-items:start}.ui-lab__variant-grid--button{grid-template-columns:repeat(5,minmax(130px,1fr))}.ui-lab__variant-grid--icon{grid-template-columns:repeat(4,minmax(120px,1fr));justify-items:center}.ui-lab__variant-grid--checkbox{grid-template-columns:repeat(3,minmax(120px,1fr));justify-items:start;row-gap:12px}.ui-lab__variant-grid--toggle{grid-template-columns:repeat(3,minmax(110px,1fr));justify-items:center}.ui-lab__variant-grid--button-tab{grid-template-columns:repeat(2,minmax(120px,1fr));justify-items:start}.ui-lab__variant-grid--tooltip{grid-template-columns:repeat(2,minmax(180px,1fr));gap:24px 16px;justify-items:center}.ui-lab__variant-grid--action-popover{grid-template-columns:repeat(2,minmax(180px,1fr));gap:20px;justify-items:center;align-items:center;min-height:280px}.ui-lab__demo-trigger{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-strong);border-radius:var(--radius-md);height:34px;padding:0 10px;font-size:12px;cursor:pointer}.ui-lab__radio-group{display:flex;flex-direction:column;gap:10px}@media (max-width: 1023px){.ui-lab,.ui-lab__section{padding:12px}.ui-lab__controls{gap:6px}.ui-lab__variant-grid{grid-template-columns:1fr}}.token-lab{width:100%;min-height:calc(100vh - 60px);padding:20px;display:flex;flex-direction:column;gap:16px;overflow:auto;font-family:var(--font-sans)}.token-lab__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.token-lab__header h1{font-size:24px;color:var(--color-text-strong)}.token-lab__header p{margin-top:4px;font-size:13px;color:var(--color-text-muted)}.token-lab__link{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);border-radius:var(--radius-md);padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none}.token-lab__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:10px}.token-lab__section h2{font-size:16px;color:var(--color-text-strong)}.token-lab__swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.token-lab__swatch-card{display:flex;flex-direction:column;gap:4px}.token-lab__swatch-card strong{font-size:12px;color:var(--color-text)}.token-lab__swatch-card span{font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono)}.token-lab__swatch{height:52px;border-radius:var(--radius-md);border:1px solid var(--color-border-weak)}.token-lab__type-list{display:flex;flex-direction:column;gap:8px}.token-lab__type-item{border:1px solid var(--color-border-weak);border-radius:var(--radius-md);padding:10px}.token-lab__type-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.token-lab__type-meta strong{font-size:12px}.token-lab__type-meta span{font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono)}.token-lab__type-item p{font-size:20px;color:var(--color-text)}.token-lab__typo-scale{display:flex;flex-direction:column;gap:8px}.token-lab__typo-row{border:1px solid var(--color-border-weak);border-radius:var(--radius-md);padding:10px;display:flex;flex-direction:column;gap:6px}.token-lab__typo-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.token-lab__typo-meta strong{font-size:12px;color:var(--color-text)}.token-lab__typo-meta span{font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono)}.token-lab__space-list{display:flex;flex-direction:column;gap:8px}.token-lab__space-item{display:flex;align-items:center;gap:12px}.token-lab__space-item span{min-width:90px;font-size:12px;color:var(--color-text-muted);font-family:var(--font-mono)}.token-lab__space-bar{height:10px;max-width:100%;border-radius:var(--radius-full);background:var(--color-primary)}.token-lab__radius-grid,.token-lab__shadow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.token-lab__radius-card,.token-lab__shadow-card{display:flex;flex-direction:column;gap:6px}.token-lab__radius-card span,.token-lab__shadow-card span{font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono)}.token-lab__radius-box,.token-lab__shadow-box{height:64px;border:1px solid var(--color-border);background:var(--color-surface)}@media (max-width: 1023px){.token-lab{padding:12px}}:root{--ui-scrollbar-size: 10px;--ui-scrollbar-track: rgba(17, 24, 39, .06);--ui-scrollbar-thumb: rgba(45, 90, 39, .42);--ui-scrollbar-thumb-hover: rgba(45, 90, 39, .62);--ui-scrollbar-radius: 999px}*{scrollbar-width:thin;scrollbar-color:var(--ui-scrollbar-thumb) var(--ui-scrollbar-track)}*::-webkit-scrollbar{width:var(--ui-scrollbar-size);height:var(--ui-scrollbar-size)}*::-webkit-scrollbar-track{background:var(--ui-scrollbar-track);border-radius:var(--ui-scrollbar-radius)}*::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border-radius:var(--ui-scrollbar-radius);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--ui-scrollbar-thumb-hover);background-clip:padding-box}.app{width:100%;max-width:100%;height:100dvh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}@media (max-width: 1023px){.app{width:100dvw;max-width:100dvw;--mobile-safe-bottom-gap: max(20px, env(safe-area-inset-bottom, 0px));padding-bottom:var(--mobile-safe-bottom-gap)}}.notion-db-badge{font-size:.75rem;color:var(--color-text-muted);margin:-.5rem 0 .75rem;padding:.25rem 0}.notion-db-badge:before{content:"🔗 "}.toast-host{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;max-width:min(92vw,360px)}.toast-host__item{pointer-events:none;padding:.65rem 1.1rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-text) 88%,transparent);color:var(--color-surface);font-size:.86rem;font-weight:600;box-shadow:var(--shadow-md);animation:toast-in .22s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root{--brand-primary: #2d5a27;--brand-primary-strong: #1f3f1b;--brand-primary-light: #4a7c43;--brand-accent: #8fbc8f;--gray-0: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--gray-rgb-0: 255, 255, 255;--gray-rgb-900: 17, 24, 39;--color-bg: #f8f6f1;--color-surface: var(--gray-0);--color-surface-soft: #f0ebe0;--color-surface-muted: #ede8de;--color-text: #2c2c2c;--color-text-muted: var(--gray-500);--color-text-strong: var(--gray-800);--color-border: #e0ddd6;--color-border-weak: rgba(var(--gray-rgb-900), .06);--color-border-strong: rgba(var(--gray-rgb-900), .14);--color-overlay: rgba(var(--gray-rgb-900), .35);--color-success-bg: rgba(45, 90, 39, .12);--color-success-bg-hover: rgba(45, 90, 39, .18);--color-success-bg-strong: rgba(45, 90, 39, .2);--color-success-text: #2d5a27;--color-warning-bg: rgba(253, 174, 97, .3);--color-warning-text: #b85c00;--color-danger-bg: rgba(192, 57, 43, .12);--color-danger-bg-hover: rgba(192, 57, 43, .18);--color-danger-soft: rgba(231, 76, 60, .07);--color-danger-soft-hover: rgba(231, 76, 60, .12);--color-danger-text: #b91c1c;--color-danger-text-strong: #c0392b;--color-danger-dot: #e74c3c;--color-info-accent: #6d28d9;--color-hover-soft: rgba(var(--gray-rgb-900), .04);--color-hover-muted: rgba(var(--gray-rgb-900), .06);--color-hover-strong: rgba(var(--gray-rgb-900), .08);--color-black-12: rgba(var(--gray-rgb-900), .12);--color-black-18: rgba(var(--gray-rgb-900), .18);--color-white-90: rgba(var(--gray-rgb-0), .9);--color-white-95: rgba(var(--gray-rgb-0), .95);--tree-pot-color-1: #7d664f;--tree-pot-color-2: #c79a6f;--tree-pot-color-3: #ec8e62;--tree-pot-color-4: #ffffff;--tree-pot-color-5: #acacac;--tree-branch-color-1: #5a3310;--tree-branch-color-2: #c3a88f;--tree-branch-color-3: #5c2207;--tree-branch-color-4: #2e2520;--tree-branch-color-5: #205d26;--tree-flower-color-1: #f5b5dc;--tree-flower-color-2: #f6ffef;--tree-flower-color-3: #ffde58;--tree-flower-color-4: #ff8636;--tree-flower-color-5: #e31d1d;--tree-leaf-color-1: #33803c;--tree-leaf-color-2: #90dc55;--tree-leaf-color-3: #48d083;--tree-leaf-color-4: #64b1b9;--tree-leaf-color-5: #0d3b12;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 16px;--radius-full: 999px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--shadow-sm: 0 1px 3px rgba(var(--gray-rgb-900), .08);--shadow-md: 0 4px 12px rgba(var(--gray-rgb-900), .1);--shadow-lg: 0 8px 24px rgba(var(--gray-rgb-900), .08);--shadow-side-panel: -14px 0 30px rgba(var(--gray-rgb-900), .08), -2px 0 8px rgba(var(--gray-rgb-900), .05);--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-serif: "Noto Serif KR", serif;--font-mono: "DM Mono", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--letter-spacing-tight: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--font-size-display-lg: 2.5rem;--font-size-display-md: 2rem;--font-size-heading-1: 1.75rem;--font-size-heading-2: 1.5rem;--font-size-heading-3: 1.25rem;--font-size-heading-4: 1.125rem;--font-size-body-lg: 1rem;--font-size-body-md: .9375rem;--font-size-body-sm: .875rem;--font-size-caption: .75rem;--font-size-overline: .6875rem;--color-primary: var(--brand-primary);--color-primary-light: var(--brand-primary-light);--color-accent: var(--brand-accent);--component-badge-radius: var(--radius-full);--component-badge-font-weight: var(--font-weight-semibold);--component-badge-size-m-height: 16px;--component-badge-size-m-font-size: 10px;--component-badge-size-m-min-width-single: 16px;--component-badge-size-m-min-width-double: 20px;--component-badge-size-m-min-width-triple: 26px;--component-badge-size-m-padding-x-single: 4px;--component-badge-size-m-padding-x-double: 5px;--component-badge-size-m-padding-x-triple: 5px;--component-badge-size-l-height: 20px;--component-badge-size-l-font-size: 12px;--component-badge-size-l-min-width-none: 20px;--component-badge-size-l-min-width-single: 20px;--component-badge-size-l-min-width-double: 24px;--component-badge-size-l-min-width-triple: 30px;--component-badge-size-l-padding-x-none: 4px;--component-badge-size-l-padding-x-single: 6px;--component-badge-size-l-padding-x-double: 6px;--component-badge-size-l-padding-x-triple: 6px;--component-badge-tone-brand-solid-bg: var(--color-primary);--component-badge-tone-brand-solid-fg: var(--color-surface);--component-badge-tone-brand-soft-bg: var(--color-success-bg);--component-badge-tone-brand-soft-fg: var(--color-success-text);--component-badge-tone-neutral-solid-bg: var(--gray-800);--component-badge-tone-neutral-solid-fg: var(--gray-0);--component-badge-tone-neutral-soft-bg: var(--gray-100);--component-badge-tone-neutral-soft-fg: var(--gray-700);--component-badge-tone-success-solid-bg: var(--color-success-text);--component-badge-tone-success-solid-fg: var(--color-surface);--component-badge-tone-success-soft-bg: var(--color-success-bg);--component-badge-tone-success-soft-fg: var(--color-success-text);--component-badge-tone-warning-solid-bg: var(--color-warning-text);--component-badge-tone-warning-solid-fg: var(--color-surface);--component-badge-tone-warning-soft-bg: var(--color-warning-bg);--component-badge-tone-warning-soft-fg: var(--color-warning-text);--component-badge-tone-danger-solid-bg: var(--color-danger-text-strong);--component-badge-tone-danger-solid-fg: var(--color-surface);--component-badge-tone-danger-soft-bg: var(--color-danger-bg);--component-badge-tone-danger-soft-fg: var(--color-danger-text)}.typo-display-lg{font-family:var(--font-sans);font-size:var(--font-size-display-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.typo-display-md{font-family:var(--font-sans);font-size:var(--font-size-display-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.typo-h1{font-family:var(--font-sans);font-size:var(--font-size-heading-1);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.typo-h2{font-family:var(--font-sans);font-size:var(--font-size-heading-2);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.typo-h3{font-family:var(--font-sans);font-size:var(--font-size-heading-3);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.typo-h4{font-family:var(--font-sans);font-size:var(--font-size-heading-4);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.typo-body-lg{font-family:var(--font-sans);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.typo-body-md{font-family:var(--font-sans);font-size:var(--font-size-body-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.typo-body-sm{font-family:var(--font-sans);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.typo-caption{font-family:var(--font-sans);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-text-muted)}.typo-overline{font-family:var(--font-sans);font-size:var(--font-size-overline);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}@media (max-width: 1023px){html,body,#root{width:100dvw;height:100dvh;min-height:100dvh;overflow:hidden}body{overscroll-behavior:none;touch-action:manipulation}}
