:root{--ui-accent:#2b6754;--ui-accent-hover:#205442;--ui-text:#263a32;--ui-muted:#6b7c70;--ui-line:#cfdcd1;--ui-hover:#eff4ee;--ui-selected:#e6f0e2;--ui-focus:0 0 0 3px #6a9a7d26;--ui-radius:8px;--ui-shadow:0 8px 26px #17382319,0 2px 6px #1738230d}
.ui-button{font:500 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;min-height:36px;padding:8px 12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);color:var(--ui-text);background:#fff;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s;vertical-align:middle}
.ui-button:hover:not(:disabled){background:var(--ui-hover);border-color:#9db79f}.ui-button:active:not(:disabled){background:#e6eee3}.ui-button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px;box-shadow:var(--ui-focus)}.ui-button:disabled{opacity:.44;cursor:not-allowed;box-shadow:none}.ui-button.primary,.download-primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.ui-button.primary:hover:not(:disabled),.download-primary:hover{background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.ui-button.plain{background:transparent;border-color:transparent}.ui-button.plain:hover:not(:disabled){background:var(--ui-hover);border-color:transparent}.ui-button.small{font-size:12px;min-height:30px;padding:5px 10px}.ui-button[aria-pressed=true]:not(.primary),.ui-button[aria-current=step]{color:var(--ui-accent);border-color:#99b79b;background:var(--ui-selected);font-weight:650}
.ui-icon-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:32px;width:32px;height:32px;min-width:32px;padding:6px!important;border-color:transparent;background:transparent;border-radius:8px;flex-shrink:0}.ui-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.ui-select{display:inline-flex;min-width:0;max-width:100%;position:relative;vertical-align:middle}.ui-select select[data-ui-source]{display:none!important}.ui-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;width:100%;min-height:36px;padding:8px 11px;font-weight:400;white-space:nowrap}.ui-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ui-select-chevron,.ui-disclosure-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#738878}.ui-select-chevron svg,.ui-disclosure-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ui-select-trigger[aria-expanded=true]{border-color:#6f9b7d;box-shadow:var(--ui-focus)}.ui-select-trigger[aria-expanded=true] .ui-select-chevron{transform:rotate(180deg)}.ui-menu{position:fixed;inset:auto;z-index:1000;margin:0;padding:6px;box-sizing:border-box;min-width:0;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:var(--ui-text);border:1px solid var(--ui-line);border-radius:10px;box-shadow:var(--ui-shadow);font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;scrollbar-width:thin;scrollbar-color:#b8cbb9 transparent}.ui-menu[hidden]{display:none!important}.ui-menu::backdrop{background:transparent}.ui-menu-group+.ui-menu-group{border-top:1px solid #e6ece4;margin-top:5px;padding-top:5px}.ui-menu-heading{font-size:12px;font-weight:600;line-height:1.5;color:#6d836f;padding:5px 9px 4px;user-select:none}.ui-option{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:32px;padding:7px 9px;border-radius:5px;cursor:pointer;scroll-margin-block:6px}.ui-option>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-option.is-active{background:var(--ui-hover)}.ui-option[aria-selected=true]{background:var(--ui-selected);color:#28583e;font-weight:600}.ui-option[aria-disabled=true]{color:#9ca89e;cursor:not-allowed}.ui-option-check{width:16px;height:16px;display:inline-flex;visibility:hidden;flex-shrink:0}.ui-option[aria-selected=true] .ui-option-check{visibility:visible}.ui-option-check svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.course-picker>.ui-select{width:240px;max-width:100%;min-width:180px}.rate-label>.ui-select{width:80px}.rate-label .ui-select-trigger{min-height:32px;padding:6px 9px;font-size:12px;gap:7px}.walk-selector>.ui-select{flex:1;min-width:0}.walk-selector .ui-select-trigger{font-size:12px;min-height:34px;gap:8px}.task-form label>.ui-select,.result-picker>.ui-select,#materialsDialog>.ui-select{width:100%}.result-picker>.ui-select{min-width:190px;max-width:320px}#materialsDialog>.ui-select{margin:0 0 14px}body :is(textarea,input:not([type=range]):not([type=file])){font:400 15px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;color:var(--ui-text);padding:9px 12px;outline:none;box-shadow:none}body :is(textarea,input:not([type=range]):not([type=file])):focus{border-color:#739d80;box-shadow:var(--ui-focus)}body :is(textarea,input):disabled{background:#f0f3ee;color:#8d9c8e;cursor:not-allowed}body :is(textarea,input)::placeholder{color:#8b9b8c}body :is(textarea,input)[aria-invalid=true]{border-color:#b77859}.term:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px;border-radius:3px}
summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;font-size:14px;font-weight:600;padding:14px 0;color:#355e46;border-radius:4px}summary:hover{color:var(--ui-accent)}summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}summary>.ui-disclosure-icon{float:none;transform:none;transition:transform .12s}details[open]>summary>.ui-disclosure-icon{transform:rotate(180deg)}dialog{border-color:var(--ui-line);border-radius:12px;box-shadow:0 20px 60px #14351b33}dialog::backdrop{background:#1b302856;backdrop-filter:blur(2px)}.dialog-head h2{font-size:21px;line-height:1.4}.dialog-head,.walk-head{align-items:center}.walk-head .ui-icon-button{margin-left:5px}.file-open,.download-primary{border-radius:var(--ui-radius);font-size:14px;line-height:1.4;padding:9px 13px;min-height:36px}.file-open{border:1px solid var(--ui-line);background:white}.file-open:hover{background:var(--ui-hover)}.workshop-steps .ui-button{border-radius:7px 7px 0 0;border-bottom-width:2px}.folder-preview .ui-button,.source-check .source-title.ui-button{min-height:28px;background:transparent;border-color:transparent;padding:3px 0;font-weight:500}.folder-preview .ui-button:hover,.source-check .source-title.ui-button:hover{color:var(--ui-accent);background:transparent;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.top{gap:12px}.course-picker>.ui-select{flex:1;min-width:0;width:auto}.course-picker{align-items:center}.top>.ui-button{font-size:12px;min-height:30px;padding:5px 8px}.player-row .ui-button{font-size:12px;min-height:35px;padding:8px 10px}.rate-label .ui-select-trigger{min-height:28px}.ui-menu{max-width:calc(100vw - 20px)}.ui-option{min-height:36px}.walk-head .ui-icon-button{min-width:30px;width:30px;height:30px}.walk-player .ui-button{font-size:12px;padding:8px}.result-picker>.ui-select{min-width:0;width:100%;max-width:none}.walk-selector .ui-select-trigger{font-size:12px}.dialog-head h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ui-button,.ui-select-chevron,.ui-disclosure-icon{transition:none}}

.ui-menu-compact .ui-option{font-size:13px;min-height:32px}.ui-menu-compact{padding:5px}
#termQuery{border:1px solid var(--ui-line);border-radius:var(--ui-radius);font-size:15px;line-height:1.75;padding:9px 12px}#termQuery:focus{border-color:#739d80;box-shadow:var(--ui-focus)}
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:16px;height:16px;margin-left:8px;cursor:pointer;background-color:var(--ui-muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 5 10 10M15 5 5 15' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/16px 16px no-repeat}
