:root{color-scheme:light;--bg: #f4f1e8;--surface: #fffdf7;--surface-strong: #ffffff;--ink: #17211d;--muted: #66736d;--line: #d8d3c6;--line-strong: #bdb5a5;--pine: #1f5b4a;--pine-strong: #164335;--orange: #d96b32;--blue: #426c85;--danger: #a83c35;--admin: #7f4b14;--star: #c48421;--shadow: 0 18px 40px rgba(24, 29, 25, .12);--radius: 8px;font-family:Aptos,Segoe UI,Candara,sans-serif;font-size:16px;letter-spacing:0}:root[data-theme=dark]{color-scheme:dark;--bg: #111816;--surface: #18221f;--surface-strong: #202d28;--ink: #edf3eb;--muted: #a6b6ad;--line: #304139;--line-strong: #526a5f;--pine: #7cc0a5;--pine-strong: #9ed8c0;--orange: #f09a61;--blue: #8bb8ce;--danger: #f0756c;--admin: #f0b05e;--star: #f2b84a;--shadow: 0 18px 46px rgba(0, 0, 0, .32)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(90deg,rgba(31,91,74,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(66,108,133,.07) 1px,transparent 1px),var(--bg);background-size:48px 48px;color:var(--ink);overflow-x:hidden;-webkit-tap-highlight-color:color-mix(in srgb,var(--orange) 35%,transparent)}button{touch-action:manipulation}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:2px}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);color:var(--ink);padding:10px 12px}textarea{resize:vertical}label{display:grid;gap:7px;color:var(--muted);font-size:.88rem;font-weight:700}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:700;letter-spacing:0}.auth-screen{position:relative;min-height:100vh;display:grid;place-items:center;padding:32px;overflow:hidden}.auth-visual{position:absolute;inset:0;background-image:linear-gradient(90deg,#0f16122e,#0f16127a),url(/climb-wall.png);background-size:cover;background-position:center;filter:saturate(.92)}.auth-panel{position:relative;width:min(1040px,100%);display:grid;grid-template-columns:minmax(280px,1fr) 390px;gap:28px;align-items:end}.auth-copy{color:#fffdf7;text-shadow:0 2px 18px rgba(0,0,0,.35);padding-bottom:28px}.auth-copy h1{font-size:3.6rem;line-height:1;margin:8px 0 14px}.auth-copy p{max-width:510px;color:#fffdf7e6;font-size:1.05rem;line-height:1.6}.auth-card,.panel,.floating-panel,.modal{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow)}.auth-card{padding:18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stack-form{display:grid;gap:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:16px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--line) 28%,transparent)}.segmented button,.pill,.theme-toggle button{min-height:34px;border:0;border-radius:6px;background:transparent;cursor:pointer}.segmented button.active,.pill.active,.theme-toggle button.active{color:var(--surface-strong);background:var(--pine)}.segmented.compact{display:flex;flex-wrap:wrap;width:fit-content;margin:0}.form-error{color:var(--danger);font-weight:700}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.skip-link{position:fixed;left:12px;top:12px;z-index:100;transform:translateY(-140%);border-radius:var(--radius);background:var(--ink);color:var(--surface);padding:9px 12px;text-decoration:none}.skip-link:focus-visible{transform:translateY(0)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:20px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,var(--pine) 8%)}.brand-block{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;cursor:pointer}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:var(--ink);color:var(--surface);font-family:Georgia,Times New Roman,serif;font-weight:700}.brand-block small,.result-main small,.route-card small,.selected-summary small,.mini-row small,.catalog-card small,.ascent-facts,.meta-line,.muted{color:var(--muted)}.brand-block span:last-child{display:grid;gap:2px}.sidebar-nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:10px;min-height:42px;border:1px solid transparent;border-radius:var(--radius);background:transparent;padding:10px 12px;cursor:pointer}.nav-item.active,.nav-item:hover{border-color:var(--line);background:var(--surface-strong)}.main-area{min-width:0}.app-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(280px,780px) auto;gap:20px;align-items:start;padding:16px 24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.search-zone{position:relative}.search-box,.large-search-wrap{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);padding:0 12px}.search-box input,.large-search-wrap input{border:0;background:transparent;min-height:44px;padding-inline:0}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pill{border:1px solid var(--line);padding:0 12px;color:var(--muted)}.search-dropdown{position:absolute;inset-inline:0;top:calc(100% + 8px);z-index:30;padding:8px;max-height:430px;overflow:auto}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.theme-toggle{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.profile-menu{position:relative}.profile-button,.primary-action,.secondary-action,.ghost-action,.icon-text,.danger-action,.admin-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:var(--radius);border:1px solid var(--line);padding:8px 12px;background:var(--surface-strong);cursor:pointer;text-decoration:none}.primary-action{border-color:var(--pine);background:var(--pine);color:var(--surface-strong);font-weight:800}.secondary-action{border-color:var(--pine);color:var(--pine-strong);font-weight:800}.ghost-action{color:var(--muted)}.danger-action{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}.admin-action{border-color:color-mix(in srgb,var(--admin) 60%,var(--line));background:color-mix(in srgb,var(--admin) 12%,var(--surface));color:var(--admin);font-weight:800}.primary-action:disabled,.secondary-action:disabled,button:disabled{opacity:.6;cursor:not-allowed}.profile-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;padding:8px;z-index:35}.profile-dropdown button{width:100%;display:flex;gap:8px;align-items:center;border:0;border-radius:6px;background:transparent;padding:9px;cursor:pointer}.profile-dropdown button:hover,.result-row:hover,.select-row:hover,.fixed-create:hover,.mini-row:hover,.user-row:hover,.catalog-card:hover,.route-list-row:hover{background:color-mix(in srgb,var(--pine) 10%,transparent)}.content-stage{padding:24px}.section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.overview-grid{grid-template-columns:minmax(280px,1.2fr) repeat(2,minmax(190px,.7fr))}.creation-grid{grid-template-columns:minmax(320px,1.2fr) minmax(260px,.8fr)}.panel{padding:18px}.span-2{grid-column:span 2}.welcome-panel{min-height:150px;display:grid;align-content:center;gap:8px;border-left:4px solid var(--orange)}.welcome-panel h2{font-size:2.1rem}.eyebrow{color:var(--orange);font-size:.76rem;font-weight:900;text-transform:uppercase}.action-panel{display:flex;align-items:center;gap:12px;min-height:150px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);padding:18px;cursor:pointer;text-align:left}.action-panel span{display:grid;gap:4px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-header h2,.modal h2{font-size:1.25rem}.compact-list,.card-list,.catalog-grid,.difficulty-blocks{display:grid;gap:10px}.card-list{gap:12px}.mini-row,.user-row,.result-row,.select-row,.route-list-row{width:100%;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);padding:11px;text-align:left;cursor:pointer}.mini-row{justify-content:space-between}.mini-row span,.result-main,.select-row span,.route-list-row span{display:grid;gap:3px;min-width:0}.mini-row.static{grid-template-columns:auto 1fr auto}.clean-link,.link-button{border:0;background:transparent;color:var(--pine-strong);cursor:pointer;padding:0;text-decoration:none}.clean-link.strong{font-weight:800}.clean-link.muted{color:var(--muted)}.result-row{border:0;border-radius:6px;box-shadow:none}.mini-action,.status-chip{white-space:nowrap;border-radius:999px;border:1px solid var(--line);padding:5px 8px;color:var(--pine-strong);font-size:.78rem;font-weight:900}.status-chip{background:color-mix(in srgb,var(--orange) 13%,var(--surface));color:var(--orange)}.status-chip.large{align-self:start;font-size:.88rem}.focused-flow{width:min(820px,100%);margin-inline:auto;display:grid;gap:14px}.large-search-wrap{min-height:68px;padding:0 16px;box-shadow:var(--shadow)}.large-search-wrap input{font-size:1.2rem;font-weight:800}.anchored-list{position:relative;padding:8px;display:grid;gap:6px}.route-dropdown{max-height:420px;overflow:auto}.fixed-create{position:sticky;bottom:0;display:flex;gap:8px;align-items:center;width:100%;border:1px dashed var(--pine);border-radius:var(--radius);background:var(--surface);color:var(--pine-strong);padding:11px;cursor:pointer;font-weight:800}.highlighted{border-color:color-mix(in srgb,var(--orange) 70%,var(--line));background:color-mix(in srgb,var(--orange) 9%,var(--surface-strong))}.ascent-form{display:grid;gap:15px}.selected-summary,.route-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:var(--surface-strong)}.selected-summary.slim{margin-block:12px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.full-label{display:grid;gap:8px}.stars{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.star-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.star-button.filled,.star.filled{color:var(--star);fill:currentColor}.clear-rating{min-height:32px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem}.relative-field{position:relative}.input-corner{position:absolute;right:8px;top:31px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);cursor:pointer}.metric-strip{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px}.metric-box{min-height:118px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);color:var(--ink);cursor:pointer}.metric-box strong{display:block;font-size:2.4rem;color:var(--pine-strong)}.feed-card,.ascent-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);padding:14px;display:grid;gap:9px}.feed-top,.detail-header,.toolbar,.modal-actions,.card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.meta-line,.ascent-facts,.filters-row,.distribution-row{display:flex;flex-wrap:wrap;gap:8px}.meta-line span,.ascent-facts span,.distribution-row span{border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:.82rem}.centered{justify-self:center}.inline-select{display:flex;align-items:center;gap:8px}.inline-select select,.filters-row select,.filters-row input{min-width:150px}.difficulty-block{display:grid;gap:10px}.difficulty-block h3{font-size:1rem;color:var(--muted)}.ascent-main{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.catalog-card{min-height:154px;display:grid;align-content:start;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);padding:14px;text-align:left;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:18px 0}.stat-box{min-height:84px;display:grid;align-content:center;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--surface-strong) 90%,var(--blue) 10%);padding:12px}.stat-box strong{font-size:1.45rem;color:var(--pine-strong)}.stat-box span{color:var(--muted);font-size:.84rem}.route-list-row{justify-content:flex-start}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#080b0a85}.modal{width:min(520px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;overscroll-behavior:contain;padding:18px}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.settings-grid{display:grid;gap:12px}.modal-actions{margin-top:16px}.toast{position:fixed;right:18px;bottom:18px;z-index:80;max-width:min(420px,calc(100vw - 36px));border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);font-weight:800}.toast.success{background:var(--pine);color:var(--surface-strong)}.toast.error{background:var(--danger);color:#fff}.loading-line,.empty-line{display:flex;align-items:center;gap:8px;min-height:42px;color:var(--muted)}.spin{animation:spin .8s linear infinite}.muted-icon{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:12px}.sidebar-nav{display:flex;overflow-x:auto;padding-bottom:4px}.nav-item{white-space:nowrap}.app-header{grid-template-columns:1fr}.header-actions{justify-content:space-between}.overview-grid,.section-grid,.creation-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.auth-panel{grid-template-columns:1fr}.auth-copy h1{font-size:2.6rem}}@media(max-width:640px){.auth-screen,.content-stage{padding:14px}.app-header{padding:12px 14px}.form-grid,.form-grid.two,.metric-strip{grid-template-columns:1fr}.toolbar,.detail-header,.modal-actions{align-items:stretch;flex-direction:column}.filters-row,.inline-select,.filters-row select,.filters-row input{width:100%}}
