.workout-editor,.workout-view{margin:20px 0;border:1px solid #87949d33;border-radius:16px;overflow:hidden}.workout-editor{padding:14px}.workout-top h3,.workout-view h3{margin:0;font-size:18px}.workout-top p{font-size:12px;color:var(--tg-theme-hint-color,#77838c);line-height:1.4}.workout-tabs{display:flex;gap:7px;overflow-x:auto;padding:11px 0;scrollbar-width:none}.workout-tabs button{flex:none;background:#e9edf0;color:#596971;font-size:12px;white-space:nowrap;padding:9px 12px}.workout-tabs button.selected{background:#19242b;color:#fff}.workout-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.workout-toolbar button{font-size:12px}.workout-day-edit,.workout-day-view{border:1px solid #87949d33;border-radius:14px;overflow:hidden;margin:15px 0}.workout-day-head{background:#ffba24;color:#222;display:flex;align-items:center;justify-content:space-between;padding:8px 12px}.workout-day-head .danger{color:#6f231e}.workout-day-content{padding:12px}.workout-day-content label{margin:10px 0}.workout-exercises-title{background:#45c9bc;color:#102b2b;font-size:12px;font-weight:800;padding:7px 10px;margin:13px 0 10px;border-radius:5px}.workout-exercise-edit{border:1px solid #87949d33;border-radius:12px;padding:10px;margin:10px 0;background:var(--tg-theme-bg-color,#f7f9fa)}.workout-exercise-head{display:flex;align-items:center;justify-content:space-between;font-size:12px}.workout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.workout-fields label:first-child{grid-column:span 2}.workout-add-day{display:flex;gap:8px;align-items:center;margin-top:15px}.workout-add-day select{margin:0}.workout-add-day button{white-space:nowrap}.workout-hint{color:#bb5b38;font-size:12px}.workout-view{padding:14px}.workout-intro{white-space:pre-wrap;background:#e46c70;color:#fff;font-size:12px;line-height:1.4;padding:12px;border-radius:8px}.workout-day-view h4{background:#ffba24;color:#222;margin:0;padding:10px 12px}.workout-day-view{padding-bottom:8px}.workout-day-view>.workout-exercises-title,.workout-day-view>.workout-exercise-view,.workout-note,.workout-stretch{margin-left:11px;margin-right:11px}.workout-note{white-space:pre-wrap;font-size:12px;line-height:1.45}.workout-exercise-view{border-bottom:1px solid #87949d33;padding:9px 0}.workout-exercise-view strong{font-size:13px}.workout-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.workout-facts span{display:flex;flex-direction:column;gap:3px;min-width:70px;border-radius:8px;background:#e5f3f1;color:#183a39;padding:7px;font-size:12px}.workout-facts small{font-size:10px;color:#416965}.workout-stretch{white-space:pre-wrap;padding:9px 0;font-size:12px}.workout-stretch p{margin:5px 0}@media(min-width:540px){.workout-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.workout-fields label:first-child{grid-column:auto}}.workout-progress{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px;padding:12px;background:#f1f7f6;border-radius:10px}.workout-progress label{font-size:13px;font-weight:600}.workout-progress select{margin-top:6px;min-height:42px}.workout-progress .workout-check{display:flex;align-items:center;gap:10px}.workout-progress .workout-check input{width:22px;height:22px;flex:none;margin:0}.workout-progress{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.workout-progress .workout-sets-label{display:flex;align-items:center;gap:10px;white-space:nowrap}.workout-progress .workout-sets-label select{width:76px;min-width:76px;max-width:76px;margin:0;padding:8px 10px}.workout-progress .workout-check{white-space:nowrap}.difficulty-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-size:13px}.difficulty-label select{width:135px;max-width:50%;margin:0}@media(max-width:360px){.workout-progress .workout-sets-label{white-space:normal}}.workout-progress{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;margin-top:8px;padding:0;background:transparent;border-radius:0}.workout-progress .workout-sets-label,.workout-progress .workout-check{display:flex;align-items:center;gap:7px;margin:0;padding:7px;background:#e5f3f1;color:#183a39;border-radius:8px;font-size:12px;font-weight:600;white-space:normal}.workout-progress .workout-sets-label select{width:62px;min-width:62px;max-width:62px;min-height:32px;margin:0;padding:5px 7px;font-size:12px}.workout-progress .workout-check input{width:18px;height:18px;margin:0}.workout-progress select{min-height:32px}.plan-library{padding:12px;margin:14px 0;border:1px solid #87949d33;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#fff)}.plan-library label{margin:0 0 8px}.plan-library button{width:100%}.plan-library small{display:block;margin-top:8px;line-height:1.4}.workout-steps .workout-step-card{margin-top:12px;padding:14px;border:1px solid #87949d55;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#fff)}.workout-step-card h4{margin:14px 0 6px}.workout-step-card p{white-space:pre-wrap;line-height:1.5;font-size:14px}.workout-step-done{margin:10px 0;color:#278367;font-weight:700;font-size:13px}.workout-review{margin-top:14px}.workout-review .workout-tabs button{max-width:180px;overflow:hidden;text-overflow:ellipsis}.private-chat{margin:16px 0}.private-chat-panel{margin-top:10px;border:1px solid #87949d55;border-radius:12px;padding:12px}.private-messages{max-height:320px;overflow:auto;margin:10px 0}.private-message{padding:10px;border-radius:10px;background:#eaf2f2;margin:8px 0}.private-message.own{background:#dcf5e9}.private-message .row{justify-content:flex-start;gap:7px;flex-wrap:wrap}.private-message .row small{margin-left:auto}.private-message p{white-space:pre-wrap;margin:8px 0 0;font-size:13px}.private-chat form button{width:100%}.private-message{color:#17323b;background:#e6f0f2}.private-message.own{color:#173b31;background:#d4efe3}.private-message strong,.private-message p{color:inherit}.private-message small{color:#48616b}.private-chat textarea::placeholder{color:color-mix(in srgb,var(--tg-theme-text-color,#182530) 65%,transparent)}.private-chat form button:disabled{opacity:1;background:#405f7b;color:#e9f2f8}.private-pinned{padding:12px;margin:12px 0;border-radius:10px;background:#fff0c1;color:#503d06}.private-pinned>strong{font-size:13px}.private-pinned p{white-space:pre-wrap;line-height:1.4;margin:8px 0 0;font-size:12px}.private-pin-action{display:inline-block;margin-top:8px;padding:5px 0;background:transparent;color:#145c66;font-size:11px}.private-pin-label{display:block;margin-top:8px;color:#355a46!important;font-weight:700}.workout-progress .workout-sets-label input[type=number]{width:68px;min-width:68px;max-width:68px;min-height:32px;margin:0;padding:5px 7px;border:1px solid #85a7a1;border-radius:8px;background:#fff;color:#183a39;text-align:center;font-size:14px;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.workout-progress .workout-sets-label input[type=number]::-webkit-inner-spin-button,.workout-progress .workout-sets-label input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.workout-set-progress{display:block;width:100%;padding:12px;background:#e5f3f1;color:#183a39;border-radius:10px}.workout-set-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.workout-set-heading small{color:#355a55}.workout-set-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.workout-set-item{display:flex;align-items:center;gap:8px;min-height:42px;padding:7px 10px;border:1px solid #9bbab3;border-radius:8px;background:#fff;color:#183a39;font-size:13px;font-weight:600}.workout-set-item.done{background:#d4f4e6;border-color:#5aab86}.workout-set-item input{width:19px;height:19px;flex:none;margin:0;accent-color:#157b53}.workout-set-item:has(input:disabled):not(.done){opacity:.58}.workout-set-complete{display:block;margin-top:9px;color:#136c49;font-weight:700}.workout-set-inputs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.workout-set-progress .workout-set-inputs label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:11px}.workout-set-inputs input[type=number]{width:90px;min-height:34px;margin:0;padding:5px 7px;border:1px solid #9bbab3;border-radius:7px;background:#fff;color:#183a39;font-size:14px}.workout-set-progress .workout-set-list{display:flex;flex-wrap:wrap;gap:6px}.workout-set-progress .workout-set-item{width:52px;min-height:34px;justify-content:center;gap:4px;padding:4px;border-radius:7px;font-size:12px}.workout-set-progress .workout-set-item input{width:16px;height:16px}.private-chat>button{display:inline-flex;align-items:center;gap:8px;max-width:100%;flex-wrap:wrap}.private-unread{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:999px;background:#a83248;color:#fff;font-size:11px;font-weight:800;white-space:nowrap}.workout-exercise-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;min-width:0}.workout-exercise-summary.has-image{grid-template-columns:84px minmax(0,1fr)}.workout-exercise-summary>.exercise-art,.workout-exercise-summary>.workout-exercise-photo{width:84px;height:84px;float:none;margin:0;max-width:100%;object-fit:contain}.workout-exercise-detail{min-width:0;overflow-wrap:anywhere}.workout-exercise-detail>strong{display:block;line-height:1.35}.workout-exercise-detail .workout-facts{min-width:0}.workout-exercise-detail .workout-facts span{min-width:0;flex:1 1 82px;overflow-wrap:anywhere}@media(max-width:380px){.workout-exercise-summary.has-image{grid-template-columns:70px minmax(0,1fr);gap:9px}.workout-exercise-summary>.exercise-art,.workout-exercise-summary>.workout-exercise-photo{width:70px;height:70px}}.workout-day-head{gap:8px}.workout-day-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:44px;padding:4px 0;border:0;background:transparent;color:inherit;text-align:left}.workout-day-toggle strong{min-width:0;overflow-wrap:anywhere}.workout-day-toggle small{margin-left:auto;color:inherit;opacity:.75;white-space:nowrap}.workout-day-toggle span{font-size:12px;font-weight:800;white-space:nowrap}.workout-day-head>.danger{flex:none;min-height:44px;padding:5px 4px}.workout-day-content[hidden]{display:none}@media(max-width:520px){.workout-day-toggle small{display:none}.workout-day-head{padding:5px 10px}.workout-day-toggle{gap:6px}.workout-day-toggle span{font-size:11px}.workout-day-head>.danger{font-size:11px}}.training-screen{border:0;padding:0;overflow:visible;color:#f4f6f1}.training-screen>h3{font-size:clamp(23px,4vw,34px);font-weight:850}.training-subtitle{margin:6px 0 12px;color:#93b7a2}.training-screen .workout-tabs button{border:1px solid #546e5c;background:#263b31;color:#f0f5ec;border-radius:100px}.training-screen .workout-tabs button.selected{background:linear-gradient(110deg,#ffdb6f,#f8b94d);border-color:#ffd36a;color:#15231a}.training-summary{margin:12px 0 26px;padding:17px;border:1px solid #4c6958;border-radius:17px;background:#1a2a22}.training-summary>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.training-summary span{color:#9fc2ac}.training-summary progress,.workout-set-progress progress{display:block;width:100%;height:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:99px;background:#345044;overflow:hidden}.training-summary progress::-webkit-progress-bar,.workout-set-progress progress::-webkit-progress-bar{background:#345044}.training-summary progress::-webkit-progress-value,.workout-set-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#ffd96c,#ffbd48);border-radius:99px}.training-summary progress::-moz-progress-bar,.workout-set-progress progress::-moz-progress-bar{background:#ffc657}.training-section-title{display:flex;align-items:center;gap:14px;margin-bottom:15px}.training-section-title>span{display:grid;place-items:center;width:45px;height:45px;border:3px solid #ffd562;border-radius:50%;color:#ffd562;font-size:30px}.training-section-title h4{font-size:25px;margin:0}.training-section-title p{margin:2px 0;color:#9fc2ac}.training-exercise{margin:12px 0;border:1px solid #405c4c;border-radius:18px;background:linear-gradient(125deg,#17271e,#1d3329);overflow:hidden}.training-exercise.recommended{border:2px solid #ffd25d;box-shadow:0 0 20px #ffc34344}.training-exercise-main{display:flex;align-items:center;gap:16px;padding:16px}.training-exercise-mark{display:grid;place-items:center;flex:none;width:76px;height:76px;border:1px solid #456253;border-radius:14px;background:#0f1e18;color:#f4ba4b;font-size:30px}.training-exercise-content{flex:1;min-width:0}.training-step-label{display:inline-block;padding:5px 10px;border:1px solid #6c592d;border-radius:99px;background:#4e3d1c;color:#ffd475;font-size:12px;font-weight:750}.training-exercise h4{margin:8px 0;font-size:22px;color:#f6f7f3;overflow-wrap:anywhere}.training-exercise-content>p{white-space:pre-wrap;font-size:13px;color:#bdd1bd}.training-exercise-facts{display:flex;flex-wrap:wrap;gap:7px}.training-exercise-facts>span{display:flex;flex-direction:column;gap:4px;min-width:72px;padding:8px 10px;border-radius:10px;background:#294036;color:#f4f6f1}.training-exercise-facts small{color:#b1c9b7;font-size:10px}.training-exercise-facts b{font-size:16px}.training-start{flex:none;align-self:center;min-height:46px;padding:10px 13px;border:1px solid #779783;border-radius:12px;background:#1d3127;color:#f7f7f2;font-size:13px}.training-exercise.recommended .training-start{border-color:#ffd36a;background:linear-gradient(110deg,#ffdc70,#ffb847);color:#172016}.training-start span{font-size:22px;vertical-align:-1px}.training-exercise-detail{padding:0 16px 16px}.training-finish{border:1px solid #5c8d6a;border-radius:16px;padding:17px;background:#203a2a}.training-finish h4{margin:10px 0}.training-completed{margin-top:28px;padding-top:14px;border-top:1px solid #526857}.training-completed>h4{font-size:20px;margin:0 0 12px}.training-completed>h4 span,.training-done-row>span{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:8px;border-radius:50%;background:#71c786;color:#10231a}.training-done-row{display:flex;align-items:center;padding:12px;border:1px solid #456250;border-radius:14px;background:#1b3025}.training-done-row>div{display:grid;gap:3px}.training-done-row small{color:#9bc9a3}.training-completed .training-exercise{opacity:.85}.training-screen .workout-set-progress{display:block;width:100%;max-width:none;background:#16271f;color:#f4f6ef;border:1px solid #607766;padding:15px}.training-screen .workout-set-heading strong{font-size:16px}.training-screen .workout-set-progress h5{margin:18px 0 2px;font-size:17px}.training-screen .workout-set-progress>.muted{margin:0 0 12px;color:#99b6a2}.training-screen .workout-set-inputs label{color:#cee0cf}.training-screen .workout-set-inputs input{background:#263d32;color:#fff;border-color:#5c8069}.training-set-list{display:grid;gap:9px}.training-set{padding:12px;border:1px solid #425e4b;border-radius:13px;background:#1c3026}.training-set.current{border-color:#ffd15c;box-shadow:0 0 12px #ffc65733}.training-set.done{border-color:#5f9a6f}.training-set-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.training-set-head span{color:#ffd062;font-size:11px}.training-set.done .training-set-head span{color:#8cdda2}.training-set-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.training-set-fields label{min-width:0;color:#aec8b5;font-size:11px}.training-number{display:flex;align-items:center;gap:3px;margin-top:5px}.training-number button{flex:none;width:30px;height:34px;padding:0;background:#344b3d;color:#fff}.training-number button:last-child{background:#ffca58;color:#1d271e}.training-number input{min-width:0;width:100%;height:34px;margin:0;padding:3px;text-align:center;background:#13251b;color:#fff;border:1px solid #4f765c;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.training-number input::-webkit-inner-spin-button{-webkit-appearance:none}.training-set-check{display:flex;align-items:center;gap:8px;margin:10px 0 0;color:#dcebdc}.training-set-check input{width:20px;height:20px;margin:0;accent-color:#77c98b}@media(max-width:600px){.training-exercise-main{flex-wrap:wrap;gap:10px;padding:11px}.training-exercise-mark{width:52px;height:52px;font-size:22px}.training-exercise-content{flex-basis:calc(100% - 65px)}.training-exercise h4{font-size:19px}.training-start{margin-left:auto;min-height:42px}.training-exercise-facts>span{min-width:64px;padding:6px 8px}.training-exercise-facts b{font-size:14px}.training-set-fields{gap:6px}.training-number button{width:27px}}.training-set.just-confirmed{animation:training-set-confirmed .22s cubic-bezier(.23,1,.32,1) both}@keyframes training-set-confirmed{0%{opacity:.72;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.training-set.just-confirmed{animation:none}}.training-schedule-nav{display:grid;gap:12px;margin:16px 0 18px;padding:14px;border:1px solid #718e82;border-radius:10px;background:#102b35}.training-week-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:end}.training-week-nav>button{height:44px;min-height:44px;margin:0;padding:0;font-size:30px;line-height:1}.training-week-nav>button:disabled{opacity:.4}.training-week-nav label{display:grid;gap:4px;min-width:0;margin:0}.training-week-nav label span,.training-day-heading span{font-size:11px;font-weight:700;color:#bcd0c7}.training-week-nav select{width:100%;min-width:0;height:44px;margin:0;padding:8px 30px 8px 10px;border-color:#7c9787;background:#1a3a44;color:#fff0d7;font-weight:700}.training-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.training-day-heading strong{color:#f9d59a;font-size:14px}.training-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:5px}.training-day-grid button{min-width:0;min-height:44px;margin:0;padding:0;border:1px solid #729288;border-radius:7px;background:#244650;color:#f5efdc;font-size:12px;font-weight:800}.training-day-grid button.selected{border-color:#ffdaa0;background:linear-gradient(180deg,#ffd18b,#ca8751);color:#251b18;box-shadow:inset 0 1px #ffebbe}@media(max-width:360px){.training-schedule-nav{padding:10px}.training-day-grid{gap:3px}.training-day-grid button{font-size:11px}}.training-single-week{font-size:14px}.training-summary span{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}.training-number button{min-width:44px;min-height:44px}.training-number input,.workout-set-inputs input[type=number],.training-set-check,.training-set-compact-actions button{min-height:44px}.training-set-check input{flex:none}.exercise-art{display:grid;place-items:center;flex:none;width:76px;height:76px;border:1px solid #55735a;border-radius:14px;background:#17271d;overflow:hidden}.exercise-art img{display:block;width:100%;height:100%;object-fit:contain}.exercise-art-empty{color:#bed78b;font-size:30px}.exercise-image-picker{margin:10px 0}.exercise-image-picker-head{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #526d57;border-radius:11px;background:#203428}.exercise-image-picker-head .exercise-art{width:54px;height:54px;border-radius:9px}.exercise-image-picker-head>div:nth-child(2){flex:1;min-width:0}.exercise-image-picker-head b,.exercise-image-picker-head small{display:block}.exercise-image-picker-head b{font-size:12px}.exercise-image-picker-head small{font-size:11px;margin-top:4px}.exercise-image-picker-head button{font-size:12px;padding:8px 9px}.exercise-image-library{padding:10px;border:1px solid #526d57;border-radius:11px;background:#1b2d22}.exercise-image-library>input{margin:0 0 10px}.exercise-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:7px;max-height:320px;overflow-y:auto}.exercise-image-grid button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;min-height:103px;padding:5px;border:1px solid #526d57;border-radius:9px;background:#263c2d;color:#e7f0e4;font-size:10px;line-height:1.15}.exercise-image-grid button.selected{border:2px solid #bed78b;background:#38543b}.exercise-image-grid button img{width:65px;height:65px;object-fit:contain}.exercise-image-grid button span{text-align:center}.exercise-image-none{display:grid;place-items:center;min-height:65px}.exercise-image-credit{margin:10px 0 0;color:#abbfab;font-size:10px}.exercise-image-credit a{color:#c6df9e}.workout-exercise-view .exercise-art{width:55px;height:55px;float:left;margin:0 10px 8px 0}.workout-warmup-view li{list-style-position:inside}.workout-warmup-view li img{width:35px;height:35px;object-fit:contain;vertical-align:middle;margin-right:7px}.training-warmup-detail li img{width:36px;height:36px;object-fit:contain;vertical-align:middle;margin-right:8px}.training-done-row .exercise-art{width:48px;height:48px;margin-right:8px}.exercise-image-attribution{margin:16px 0 0;color:#a6bca7;font-size:10px}.exercise-image-attribution a{color:#c8e2a0}@media(max-width:600px){.training-exercise-main .exercise-art{width:52px;height:52px;border-radius:10px}.training-exercise-main .exercise-art img{width:100%;height:100%}}.exercise-video-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin-top:10px;padding:9px 13px;border:1px solid #d4a363;border-radius:4px;background:linear-gradient(180deg,#3d382c,#263a3a);color:#ffdda5;font-size:13px;font-weight:800;touch-action:manipulation}.exercise-video-trigger span{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid #bd905a;color:#f8c583;font-size:11px}.exercise-video-trigger:active{transform:translateY(1px)}.exercise-video-editor{margin:13px 0;padding:12px;border:1px solid #7a8c79;border-radius:5px;background:#0c2730e8;color:#f4e9d2}.exercise-video-editor summary{cursor:pointer;color:#f4ca8c;font-weight:800;min-height:30px}.exercise-video-editor label{display:block;margin:12px 0 7px}.exercise-video-editor input,.exercise-video-editor select,.exercise-video-editor textarea{width:100%;margin-top:5px;font-size:16px}.exercise-video-editor small{display:block;line-height:1.4;color:#b9cbc4}.exercise-video-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.exercise-video-selected{display:flex;align-items:center;gap:12px;min-width:0;margin:11px 0;padding:8px;border:1px solid #56736f;background:#17353d}.exercise-video-selected img{display:block;flex:none;width:80px;height:57px;object-fit:cover;background:#081b25}.exercise-video-selected>div{min-width:0}.exercise-video-selected b{display:block;overflow-wrap:anywhere}.exercise-video-selected .exercise-video-trigger{margin-top:5px;min-height:38px}.exercise-video-preview{margin:10px 0;padding:8px;border:1px solid #6c857c;background:#071923}.exercise-video-preview video{display:block;width:min(100%,350px);max-height:210px;background:#000}.exercise-video-preview span{display:block;margin-top:5px;color:#d7c8a9;font-size:12px}.exercise-video-error{display:block;color:#ffb5a7;font-size:12px;line-height:1.4}.exercise-video-overlay{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));background:#020d16e8;overscroll-behavior:contain}.exercise-video-dialog{display:flex;flex-direction:column;width:min(100%,720px);max-height:100%;overflow-y:auto;padding:16px;border:2px solid #b88651;background:linear-gradient(150deg,#173640,#071e2b);box-shadow:0 0 0 3px #061722,0 16px 48px #000b;color:#f8ebd5;overscroll-behavior:contain}.exercise-video-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.exercise-video-dialog-head small{color:#e7b675;font-size:10px;letter-spacing:.1em}.exercise-video-dialog-head h2{margin:5px 0 11px;color:#ffe4b3;font-size:clamp(19px,4vw,27px);overflow-wrap:anywhere}.exercise-video-close{flex:none;width:44px;height:44px;padding:0;font-size:27px;line-height:1}.exercise-video-frame{position:relative;min-height:140px;background:#03090d}.exercise-video-frame video{display:block;width:100%;max-height:min(64dvh,540px);background:#03090d;outline:none}.exercise-video-loading{position:absolute;top:10px;left:10px;padding:5px 8px;background:#071923c9;color:#f5dfbd;font-size:12px;pointer-events:none}.exercise-video-description{margin:13px 0 6px;white-space:pre-wrap;line-height:1.45;color:#d1ded5}.exercise-video-dialog-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:13px}.exercise-video-dialog-actions span{margin-right:auto;color:#aecac2;font-size:12px}@media(max-width:480px){.exercise-video-dialog{padding:11px}.exercise-video-dialog-actions button{min-height:44px}.exercise-video-frame video{max-height:55dvh}}@media(hover:hover)and (pointer:fine){.exercise-video-trigger:hover{border-color:#ffe0a3;background:#314a47}}.exercise-video-dialog{animation:exercise-video-appear .22s cubic-bezier(.23,1,.32,1) both}@keyframes exercise-video-appear{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.exercise-video-dialog{animation:none}}.exercise-video-frame{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden}.exercise-video-frame video{width:100%;height:100%;max-height:min(64dvh,540px);object-fit:contain}.exercise-video-play{position:absolute;inset:auto;display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 16px;border:1px solid #f1c78d;background:#102c37ed;color:#ffe4b3;font-weight:800;box-shadow:0 4px 20px #0009}.exercise-video-play span{font-size:18px}.exercise-video-open{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid #d4a363;border-radius:4px;color:#ffe0ac;text-decoration:none;font-weight:700}@media(max-width:480px){.exercise-video-frame{min-height:180px}.exercise-video-dialog-actions{justify-content:stretch}.exercise-video-dialog-actions span{width:100%}.exercise-video-dialog-actions>a,.exercise-video-dialog-actions>button{flex:1 1 auto}}.rest-timer{margin:12px 0;padding:12px;border:2px solid #94704b;background:linear-gradient(135deg,#102c35,#18383c);box-shadow:inset 0 0 0 2px #2d5153;color:#f4deb7}.rest-timer-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.rest-timer-head>span{color:#e9ae63;font-size:24px}.rest-timer-head>b{margin-left:auto;font-variant-numeric:tabular-nums;font-size:1.2rem;color:#ffd38d}.rest-timer-track{height:10px;margin:10px 0;background:#35505a;border:1px solid #6d8a82}.rest-timer-track span{display:block;height:100%;transform-origin:left center;background:linear-gradient(90deg,#73aa95,#e4aa67);transition:transform .25s linear}.rest-timer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px}.rest-timer-actions button{min-height:44px}@media(prefers-reduced-motion:reduce){.rest-timer-track span{transition:none}}.exercise-library,.library-picker{min-width:0}.exercise-library-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.exercise-library-tools input{flex:2 1 180px}.exercise-library-tools select{flex:1 1 150px}.exercise-library-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #52716b;align-items:center;min-width:0}.exercise-library-item img,.exercise-library-preview{width:76px;height:76px;object-fit:contain;border:2px solid #bb925e}.exercise-library-item>div:nth-child(2){flex:1;min-width:0}.exercise-library-item small{display:block}.exercise-library-item p{margin:4px 0;overflow-wrap:anywhere}.exercise-library-item-actions{display:flex;gap:6px;flex-wrap:wrap}.exercise-library-fields,.exercise-library-qualities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.exercise-library-actions{display:flex;gap:8px;flex-wrap:wrap}.library-picker{margin:12px 0}.library-picker-panel{padding:10px;border:1px solid #8a795b;background:#102c35}.library-picker-item{display:flex;width:100%;min-height:48px;justify-content:space-between;gap:8px;align-items:center;margin-top:6px;text-align:left}.library-picker-item small{font-size:.8rem}@media(max-width:520px){.exercise-library-item{align-items:flex-start;flex-wrap:wrap}.exercise-library-item-actions{width:100%}.exercise-library-qualities{grid-template-columns:repeat(2,minmax(0,1fr))}}.training-photo{display:block;max-width:min(100%,280px);max-height:240px;object-fit:contain;margin:10px auto;border:2px solid #ae8659}.workout-photo-preview img{width:90px;height:90px;object-fit:contain;border:2px solid #ae8659}.training-technique{padding:10px;margin:8px 0;border-left:3px solid #d8a661;background:#17343b}@media(max-width:420px){.exercise-library-fields{grid-template-columns:1fr}.exercise-library-tools>*{flex:1 1 100%}.exercise-library-qualities{gap:4px}}.exercise-library-item>.exercise-library-copy{flex:1 1 150px;min-width:0}.exercise-library-item>.exercise-library-item-actions{flex:0 1 auto;min-width:0}@media(max-width:520px){.exercise-library-item>div.exercise-library-item-actions{flex:1 1 100%;width:100%}.exercise-library-item-actions button{min-width:0}}.training-exercise-art{display:block;flex:none;width:76px;height:76px;object-fit:contain;border:1px solid #456253;border-radius:14px;background:#0f1e18}.workout-exercise-photo{display:block;width:55px;height:55px;object-fit:contain;float:left;margin:0 10px 8px 0;border:1px solid #55735a;border-radius:10px;background:#17271d}@media(max-width:600px){.training-exercise-art{width:52px;height:52px;border-radius:10px}}.exercise-photo-pixel{image-rendering:pixelated;filter:brightness(.8) contrast(.78) saturate(.7);background:#142b31}.saga-profile-items{margin:16px 0;min-width:0}.saga-profile-items>button{margin:0;min-height:48px}.saga-profile-items details{padding:14px;margin:12px 0;border:1px solid var(--n-line,#526963);border-radius:10px}.saga-profile-items summary{min-height:36px;cursor:pointer;font-weight:700;font-size:13px}.saga-profile-items details>button{margin:6px}.saga-profile-effect{width:160px;height:160px;margin:auto}.saga-profile-effect canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.saga-pet-companion{position:absolute;right:7%;bottom:11%;width:68px;height:68px;object-fit:contain;image-rendering:pixelated;pointer-events:none;z-index:2;animation:saga-raven-hover 2.8s ease-in-out infinite}.saga-worn-crest{position:absolute;top:12px;left:14px;width:42px;height:42px;object-fit:contain;image-rendering:pixelated;z-index:2}.hero-2d-viewer[data-saga-active=false] .saga-pet-companion{animation-play-state:paused}.hero-2d-viewer[data-saga-low=true] .saga-pet-companion{animation:none}.saga-avatar-animated>.north-avatar-frame{animation:saga-frame-runes 3s ease-in-out infinite}.saga-avatar-animated:after{content:"ᚱ ᛟ ᛉ";position:absolute;inset:-7px -10px auto;text-align:center;color:#e8cc91;font-size:10px;letter-spacing:.2em;pointer-events:none;animation:saga-frame-runes 3s ease-in-out infinite}@keyframes saga-raven-hover{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes saga-frame-runes{0%,to{opacity:.8}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.saga-pet-companion,.saga-avatar-animated>.north-avatar-frame,.saga-avatar-animated:after{animation:none!important}}.fx-sprite,.fx-canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none}.fx-notifications{position:fixed;z-index:12000;top:calc(70px + env(safe-area-inset-top));right:12px;display:grid;gap:8px;max-width:min(330px,calc(100vw - 24px));pointer-events:none}.fx-notification{position:relative;display:flex;align-items:center;gap:6px;min-width:180px;padding:8px 12px;border:2px solid var(--n-accent,#dca958);background:var(--n-card,#20332f);color:var(--n-text,#efe1c3);box-shadow:4px 5px #06151baa;animation:fx-enter .18s cubic-bezier(.2,.7,.2,1) both}.fx-notification .fx-sprite,.fx-notification .fx-canvas{width:48px;height:48px;object-fit:contain;flex:none}.fx-notification>div{display:grid;gap:2px}.fx-notification strong{color:var(--n-accent,#dca958);font-size:1rem}.fx-notification small{font-size:.72rem;color:var(--n-muted,#b8c7bd)}.fx-scene{position:fixed;z-index:18000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));background:#06111ce9;overflow:auto}.fx-scene-card{position:relative;width:min(100%,540px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:20px 18px;border:3px solid var(--n-accent,#dca958);background:linear-gradient(160deg,var(--n-card,#20332f),var(--n-bg,#101d24));box-shadow:0 20px 65px #000c;color:var(--n-text,#efe1c3);text-align:center;animation:fx-enter .28s cubic-bezier(.2,.7,.2,1) both}.fx-scene-card>small,.fx-reward-list>b{display:block;color:var(--n-accent,#dca958);font-size:.72rem;font-weight:900;letter-spacing:.15em}.fx-scene-card h2{margin:6px 0;color:var(--n-accent,#dca958);font-family:Georgia,serif;font-size:clamp(1.45rem,6vw,2.3rem)}.fx-scene-card p{margin:8px 0}.fx-scene-card>.fx-sprite,.fx-scene-card>.fx-canvas{max-width:90%;max-height:160px;width:auto;height:auto;margin:10px auto}.fx-skip{position:absolute;top:8px;right:8px;z-index:3;min-height:36px!important;padding:5px 9px!important;font-size:.75rem}.fx-continue{width:100%;margin-top:10px}.fx-level-stage{position:relative;display:grid;place-items:center;height:230px;margin-top:18px}.fx-level-stage .fx-level-magic{position:absolute;z-index:0;width:200px;height:220px;max-width:100%;opacity:.75}.fx-level-stage .hero-2d-viewer{position:relative;z-index:1;height:220px;width:220px;max-width:100%}.fx-level-stage .hero-2d-viewer canvas{max-width:100%;max-height:100%;image-rendering:pixelated}.fx-level-numbers{font-size:1.8rem;color:var(--n-text)}.fx-reward-list{position:relative;margin-top:12px;border-top:1px solid var(--n-line,#526963);padding-top:9px}.fx-reward-chest{width:106px!important;height:72px!important;margin:0 auto;object-fit:contain}.fx-reward-list article{display:flex;align-items:center;gap:8px;margin:6px 0;padding:7px;text-align:left;border:1px solid var(--n-line,#526963);background:var(--n-surface,#2b4542)}.fx-reward-list article[data-rarity=rare]{border-color:#82c1d4}.fx-reward-list article[data-rarity=epic]{border-color:#b392df}.fx-reward-list article[data-rarity=legendary]{border-color:var(--n-accent);box-shadow:inset 3px 0 var(--n-accent)}.fx-reward-list article img{width:58px;height:58px;object-fit:contain;image-rendering:pixelated}.fx-reward-list article span{display:grid;gap:3px;flex:1}.fx-reward-list article small{color:var(--n-muted);font-size:.7rem}.fx-reward-list article button{font-size:.75rem;min-height:38px}.fx-reward-icon{display:block;width:90px;height:90px;object-fit:contain;image-rendering:pixelated;margin:6px auto}.fx-duel-hero{position:relative;height:210px;display:grid;place-items:center}.fx-duel-hero>.fx-sprite{position:absolute;width:210px;height:210px;opacity:.7}.fx-duel-hero>.hero-2d-viewer{position:relative;height:200px;width:200px}.fx-duel-hero canvas{max-width:100%;max-height:100%;image-rendering:pixelated}.fx-duel-results{padding:8px;border:1px solid var(--n-line);background:var(--n-surface);text-align:left}.fx-duel-results p{margin:4px;font-size:.82rem}.fx-theme-effects{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.fx-theme-effects canvas{position:absolute;opacity:.45;max-width:100%;height:auto}.fx-theme-effects canvas:first-child{left:0;bottom:0;width:45%;max-height:70%}.fx-theme-effects canvas:nth-child(2){right:0;top:0;width:80%;opacity:.18}.fx-theme-frostlands canvas:first-child,.fx-theme-deep_forest canvas:first-child{width:100%;height:100%;object-fit:cover;opacity:.22}.fx-theme-rune_night canvas:first-child{right:4%;left:auto;top:5%;bottom:auto;width:38%;opacity:.35}.hero2d-scene>.hero-2d-viewer{position:relative;z-index:1}.fx-theme-effects canvas.fx-scenery-fire{left:auto;right:1%;top:auto;bottom:0;width:clamp(90px,30%,180px);height:auto;max-height:65%;object-fit:contain;opacity:.95}.fx-settings{display:grid;gap:10px;margin-top:16px;padding:16px;border:1px solid var(--n-line);background:var(--n-surface)}.fx-settings h2{margin:0;color:var(--n-accent)}.fx-settings label{display:flex;align-items:center;gap:9px;min-height:38px}.fx-settings label:has(select){justify-content:space-between}.fx-settings select{min-height:38px}@keyframes fx-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:460px){.fx-scene-card{padding:14px 12px}.fx-level-stage{height:190px}.fx-level-stage .hero-2d-viewer{height:185px;width:185px}.fx-level-stage .fx-level-magic{width:180px;height:190px}.fx-reward-list article button{padding:6px}}@media(prefers-reduced-motion:reduce){.fx-notification,.fx-scene-card{animation:none}.fx-theme-effects{display:none}}.fx-notification button{pointer-events:auto;min-height:32px;padding:4px 8px;font-size:.72rem}.fx-notification[data-event=achievement_unlocked] .fx-canvas{width:76px;height:38px}.fx-notification .fx-xp-orb{position:absolute;right:-8px;bottom:0;width:40px;height:40px;opacity:.8;animation:fx-orb-rise 1.2s ease-out both}@keyframes fx-orb-rise{0%{opacity:0;transform:translateY(8px) scale(.7)}25%{opacity:.8}to{opacity:0;transform:translateY(-40px) scale(.5)}}.fx-reward-chest{width:112px!important;height:96px!important}.fx-scene-card>.fx-reward-stage-chest{width:100px;height:128px;margin:0 auto 4px}[data-climbup-theme=nordic_forest] .fx-level-magic{filter:hue-rotate(125deg)}[data-climbup-theme=frostlands] .fx-level-magic{filter:hue-rotate(-90deg)}[data-climbup-theme=ember_forge] .fx-level-magic{filter:hue-rotate(130deg)}[data-climbup-theme=deep_forest] .fx-level-magic{filter:hue-rotate(-150deg)}@media(prefers-reduced-motion:reduce){.fx-notification .fx-xp-orb{animation:none;opacity:0}}.season-avatar{display:inline-block;position:relative;overflow:hidden;flex:none;vertical-align:middle;background:#102533}.season-avatar img{display:block;height:100%;max-width:none!important;object-fit:fill;image-rendering:pixelated}.avatar-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:14px 0}.avatar-collection-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;font:13px/1.4 system-ui;padding:12px}.avatar-collection-grid img{width:64px;height:64px;image-rendering:pixelated}.avatar-collection-grid button[aria-pressed=true]{outline:2px solid var(--n-accent)}.avatar-collection-preview{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px}.avatar-collection-preview .user-avatar{width:100px;height:100px}.saga-preview-art .season-avatar{width:160px;height:160px}.season-avatar video{display:block;width:100%;height:100%;object-fit:cover}.difficulty-choice{margin:14px 0}.difficulty-choice>strong{display:block;margin-bottom:9px;font-size:13px}.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.difficulty-options button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 4px;border:2px solid transparent;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#eef2f3);color:var(--tg-theme-text-color,#182530);font-weight:600}.difficulty-options button.selected{border-color:var(--tg-theme-button-color,#158b63);background:#dff2e8}.difficulty-options button span[aria-hidden]{font-size:26px;line-height:1.1}.difficulty-label{font-size:12px;line-height:1.25;color:inherit}.calendar-list{display:grid;gap:10px}.calendar-entry{border:1px solid #87949d33;border-radius:12px;padding:12px}.calendar-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.calendar-entry-head span{font-size:11px;text-align:right}.calendar-day-toggle{width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:9px;background:#e5e9ec;color:#1d2933;text-align:left;cursor:pointer}.calendar-day-toggle.status-working{background:#177a4f;color:#fff}.calendar-day-toggle.status-day_off,.calendar-day-toggle.status-vacation{background:#b33f4b;color:#fff}.calendar-day-toggle:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}.calendar-entry label{margin:10px 0 0}.calendar-readout{margin:8px 0 0;font-size:12px;white-space:pre-wrap}.calendar-entry input,.calendar-entry select{margin-top:5px}@media(max-width:370px){.calendar-entry-head{align-items:flex-start;flex-direction:column}}.calendar-weeknav button{flex:none;min-width:44px;min-height:44px}.calendar-entry-today{border-color:var(--n-accent,#e7b978)}.calendar-today-label{display:block;font-weight:600}:root{--feedback-ease-out:cubic-bezier(.23,1,.32,1)}.motion-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.save-status{display:inline-grid;width:1.15em;height:1.2em;vertical-align:middle;margin-inline-end:.4em}.save-status>span{grid-area:1/1;opacity:0;transition:opacity .16s var(--feedback-ease-out)}.save-status>.is-visible{opacity:1}.save-wait.is-visible{animation:feedback-wait 1s linear infinite}@keyframes feedback-wait{to{transform:rotate(360deg)}}@keyframes feedback-reveal{0%{opacity:0}to{opacity:1}}@keyframes feedback-menu{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes feedback-dialog{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.app-nav-more-panel{animation:feedback-menu .18s var(--feedback-ease-out);transform-origin:bottom center}.app-nav-more-panel[data-exiting=true]{animation:feedback-menu .14s var(--feedback-ease-out) reverse both;pointer-events:none}.app-nav-backdrop{animation:feedback-reveal .18s var(--feedback-ease-out)}.app-nav-backdrop[data-exiting=true]{animation:feedback-reveal .14s var(--feedback-ease-out) reverse both;pointer-events:none}.route-removal-dialog[open]{animation:feedback-dialog .18s var(--feedback-ease-out)}.route-removal-dialog[data-exiting=true]{animation:feedback-dialog .14s var(--feedback-ease-out) reverse both}.route-removal-dialog::backdrop{animation:feedback-reveal .18s var(--feedback-ease-out)}.route-removal-dialog[data-exiting=true]::backdrop{animation:feedback-reveal .14s var(--feedback-ease-out) reverse both}.error,.alert,[role=alert]{animation:feedback-reveal .15s var(--feedback-ease-out)}.loading-skeleton{display:grid;gap:12px;padding:12px 0;min-width:0}.skeleton-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 15%,transparent);border-radius:10px}.skeleton-avatar,.skeleton-copy i,.skeleton-score{display:block;background:currentColor;opacity:.12;border-radius:5px}.skeleton-avatar{width:42px;height:42px;flex:none}.skeleton-copy{flex:1;min-width:0;display:grid;gap:10px}.skeleton-copy i{height:12px;width:80%}.skeleton-copy i+i{width:55%;height:9px}.skeleton-score{width:30px;height:16px}.skeleton-cards .skeleton-row{min-height:115px}.skeleton-profile{min-height:260px}.skeleton-profile .skeleton-row{min-height:65px}.profile-loading{position:absolute;inset:0 0 auto;height:clamp(150px,55vw,240px);overflow:hidden;padding:12px;pointer-events:none}.profile-hero-art:has(.hero-2d-viewer){animation:feedback-reveal .18s var(--feedback-ease-out)}.rating-table:not(:has(.loading-skeleton)),.projects-page.motion-content,.profile-overview.motion-content{animation:feedback-reveal .18s var(--feedback-ease-out)}@keyframes feedback-reward{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.saga-confirmation{animation:feedback-reveal .18s var(--feedback-ease-out)}.saga-claim-check{display:inline-block;animation:feedback-reward .24s var(--feedback-ease-out)}html[data-ui-motion=reduce] .save-wait{animation:none}html[data-ui-motion=reduce] .app-nav-more-panel,html[data-ui-motion=reduce] .route-removal-dialog[open],html[data-ui-motion=reduce] .saga-claim-check{animation-name:feedback-reveal}@media(prefers-reduced-motion:reduce){.save-wait{animation:none}.app-nav-more-panel,.route-removal-dialog[open],.saga-claim-check{animation-name:feedback-reveal}}.routes-page{max-width:1180px;margin:0 auto;padding-bottom:12px;color:#f2f5fc}.routes-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:10px 0 22px}.routes-eyebrow{display:block;color:#b7bef4;font-size:11px;font-weight:800;letter-spacing:.15em}.routes-page h1{margin:7px 0 5px;font-size:clamp(29px,5vw,48px);line-height:1.04;letter-spacing:.01em}.routes-heading p,.routes-intro{margin:5px 0 0;color:#abb9d1}.routes-heading>button{flex:none;border-radius:14px;padding:12px 18px}.route-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;align-items:stretch;margin:0 0 26px;padding:22px!important;background:linear-gradient(125deg,#303a53a8,#222c43aa)!important}.route-hero>div:first-child{display:flex;flex-direction:column}.route-hero span{color:#bfcaf1;font-size:11px;font-weight:800;letter-spacing:.1em}.route-hero strong{margin:9px 0;font-size:clamp(42px,7vw,76px);line-height:1}.route-hero small{color:#b5c3da}.route-hero-today{display:grid;grid-template-columns:1fr 1fr;gap:10px}.route-hero-today>div{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:16px;border:1px solid #a4b2d746;border-radius:16px;background:#c8d9fa0b}.route-hero-today b{font-size:31px}.route-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.route-section-heading h2{margin:0}.route-section-heading small{color:#aebed7}.route-grade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.route-grade-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:116px;padding:15px;border:1px solid #a6b8d34b;border-radius:17px;background:linear-gradient(150deg,#344059b2,#242e44c7);color:#edf2fb;text-align:left;box-shadow:inset 0 1px #ffffff1b,0 8px 24px #060c1d33;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.route-grade-card.active{border-color:#afc4fa;box-shadow:inset 0 1px #ffffff29,0 0 19px #879fd251}@media(hover:hover)and (pointer:fine){.route-grade-card:hover{border-color:#afc4fa;box-shadow:inset 0 1px #ffffff29,0 0 19px #879fd251}}.route-grade-card>b{margin-bottom:5px;color:#e3e7ff;font-size:25px;line-height:1}.route-grade-card>span{font-size:12px;color:#b9c6da}.route-grade-card strong{color:#f2f5fd}.route-grade-detail{margin-top:15px}.route-grade-detail .row{align-items:center}.route-grade-detail h2{margin:0}.route-records{display:grid;gap:8px}.route-record{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid #879bb848;border-radius:12px;background:#b8cafa0b}.route-record>div:first-child{display:grid;gap:4px}.route-record small{color:#aebed7}.route-record-actions{display:flex;gap:5px}.route-record-actions button{font-size:11px;min-height:34px;padding:5px 8px}.route-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:20px;border:0;background:transparent;color:inherit;overflow:hidden}.route-dialog[open]{display:grid;place-items:center}.route-dialog::backdrop{background:#080e1ac9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.route-modal{width:min(100%,440px);max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid #b0bff16b;border-radius:23px;background:linear-gradient(145deg,#35405bcf,#1e2940ed);box-shadow:inset 0 1px #ffffff28,0 27px 80px #040813b0;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.route-modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.route-modal-heading small{color:#b9c3f8;font-weight:800;letter-spacing:.1em}.route-modal h2{margin:5px 0 12px}.route-close{width:34px;height:34px;min-height:34px;padding:0;font-size:23px}.route-modal label{display:block;margin:14px 0;color:#ecf1fc;font-weight:700}.route-modal select{margin-top:6px}.route-stepper{display:flex;gap:7px;margin-top:7px}.route-stepper button{flex:none;width:46px;min-height:46px;font-size:22px}.route-stepper input{min-width:0;width:100%;margin:0;text-align:center;font-size:19px}.route-result-label{margin:18px 0 7px;font-weight:700}.route-status-pick{display:grid;grid-template-columns:1fr 1fr;gap:7px}.route-status-pick button{background:#3b4963;color:#dce7f7;border:1px solid #91a5c661}.route-status-pick button.selected{background:linear-gradient(110deg,#b5a9e8,#9bbcf1);color:#19233a;border-color:#c3c8f8}.route-save{margin-top:21px}.route-back{margin:0 0 22px}.route-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.route-metrics .card{display:flex;flex-direction:column;gap:6px;margin:0;padding:17px}.route-metrics b{font-size:32px;color:#d8d8ff}.route-metrics small{color:#afbdd5}.route-period{display:flex;gap:6px;margin:12px 0 16px;padding:5px;border:1px solid #8799b64d;border-radius:15px;background:#1b273a8a}.route-period button{flex:1;background:transparent;color:#b8c6dc;box-shadow:none}.route-period button.selected{background:#91a6e542;color:#eff2ff}.route-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-chart{min-width:0;margin:0!important;padding:16px!important}.route-chart h3{margin:0 0 10px}.route-chart-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.route-chart-title span{color:#c9d2f9;font-size:12px}.route-chart svg{display:block;width:100%;height:auto;min-height:190px;overflow:visible}.route-chart svg text{fill:#aebbd2;font-size:11px}.route-chart circle{cursor:pointer}.route-chart circle:focus{outline:2px solid #d4c8ff}.route-bars{display:grid;gap:9px;margin-top:18px}.route-bar-row{display:grid;grid-template-columns:35px minmax(0,1fr) 22px;gap:8px;align-items:center;font-size:12px}.route-bar-row>div{height:11px;border-radius:20px;background:#53617c77;overflow:hidden}.route-bar-row span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#9db8ec,#c0afe9)}.route-history-layout{display:grid;grid-template-columns:minmax(275px,410px) minmax(0,1fr);gap:12px;margin-top:18px}.route-history-layout>.card{margin:0;min-width:0}.route-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.route-calendar-head h3{margin:0}.route-calendar-head>div{display:flex;align-items:center;gap:6px}.route-calendar-head button{width:31px;min-height:31px;padding:0}.route-calendar-head strong{min-width:105px;text-align:center;font-size:12px}.route-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:15px}.route-calendar-grid small{text-align:center;color:#aebbd2}.route-calendar-grid button{position:relative;display:grid;place-items:center;min-width:0;min-height:38px;padding:3px;background:#3441567a;color:#e7edf8;border:1px solid transparent;box-shadow:none}.route-calendar-grid button.selected{border-color:#bcbbf3;background:#878ad15b}.route-calendar-grid i{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#b7c7ff}.route-day-detail h3{margin-top:0}.route-day-totals{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.route-day-totals span{display:grid;gap:5px;padding:10px;border:1px solid #8195b344;border-radius:10px;color:#afbdd5;font-size:11px}.route-day-totals b{color:#f3f5fd;font-size:17px}.route-day-table{margin:12px 0;overflow-x:auto}.route-day-table>div{display:grid;grid-template-columns:repeat(4,minmax(73px,1fr));gap:4px;padding:9px 3px;border-bottom:1px solid #8da0bb35;font-size:12px}.route-day-table>div:first-child{color:#b8c7dd}.route-day-table span{text-align:center}.route-day-table b:not(:first-child){text-align:center}.route-progress-entry{margin:16px 0}.route-progress-entry button{width:100%;min-height:58px;text-align:left;font-weight:800}.route-progress-entry small{display:block;margin-top:3px;color:#aebbd2;font-weight:400}@media(max-width:760px){.route-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-chart-grid,.route-history-layout{grid-template-columns:minmax(0,1fr)}.route-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.route-hero{grid-template-columns:1fr}.route-page{padding-bottom:90px}}@media(max-width:420px){.routes-heading{align-items:flex-start;flex-direction:column}.routes-heading>button{width:100%}.route-hero{padding:16px!important}.route-hero-today{gap:7px}.route-hero-today>div{padding:10px}.route-grade-card{padding:12px;min-height:106px}.route-record{align-items:flex-start;flex-direction:column}.route-record-actions{width:100%}.route-dialog[open]{align-items:end;padding:0}.route-modal{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 8px);border-radius:22px 22px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.route-period button{padding:8px 2px;font-size:11px}.route-chart{padding:12px!important}}.profile-entry-rune{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:6px;border:1px solid currentColor;color:#f3cb90;font-family:Georgia,serif;font-size:19px;line-height:1;vertical-align:-3px}.route-progress-entry .profile-entry-content{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;width:100%}.route-progress-entry .profile-entry-copy{display:block;min-width:0}.route-progress-entry .profile-entry-copy strong{display:block;line-height:1.25;overflow-wrap:anywhere}.route-progress-entry .profile-entry-copy small{margin-top:4px;line-height:1.35;overflow-wrap:anywhere}.route-progress-entry .profile-entry-rune{display:grid;place-items:center;width:28px;height:28px;margin:0;align-self:start;vertical-align:baseline;font-size:20px;line-height:1;flex:none}.route-modal{animation:route-dialog-appear .22s cubic-bezier(.23,1,.32,1) both}@keyframes route-dialog-appear{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.route-modal{animation:none}}.route-xp-toast{position:fixed;top:calc(68px + env(safe-area-inset-top));right:12px;z-index:400;display:grid;gap:2px;padding:10px 14px;border:2px solid var(--n-accent,#d6a85c);background:var(--n-card,#17333b);color:var(--n-text,#f8e8c9);box-shadow:3px 4px #081820;pointer-events:none;animation:route-xp-in .28s steps(4,end) both}.route-xp-toast strong{color:var(--n-accent,#d6a85c);font-size:1.3rem}.route-xp-toast small{font-size:.7rem}@keyframes route-xp-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.route-xp-toast{animation:none}}.route-fields{margin:0;padding:0;border:0;min-width:0}.route-status-pick button{min-height:44px}html:has(.route-dialog[open]){overflow:hidden}.route-progress .route-metrics{gap:6px;margin:10px 0 14px}.route-progress .route-metrics .card{gap:3px;padding:9px 11px;box-shadow:none}.route-progress .route-metrics .card:before,.route-progress .route-metrics .card:after{display:none}.route-progress .route-metrics b{font-size:22px;line-height:1.1}.route-progress .route-period button{min-height:44px}.route-moderation{margin:16px 0}.route-moderation summary{cursor:pointer;font-weight:700}.route-moderation button,.route-moderate-button{min-height:44px}.route-moderation-grades{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,84px),1fr));gap:6px;margin:10px 0}.route-moderation-grades button{display:grid;gap:2px;justify-items:center;padding:6px}.route-moderation-grades small{color:var(--n-muted,#b8c7bd);font-size:11px}[data-climbup-theme] .route-moderation-grades button[aria-pressed=true]{border-color:var(--n-accent);box-shadow:inset 0 -2px var(--n-accent)}.route-removal-content{padding:18px}.route-removal-content h2{margin:0}.route-removal-actions{flex-wrap:wrap;gap:8px}.route-removal-actions button{min-height:44px}.route-removal-dialog{width:min(480px,calc(100% - 28px));max-height:85dvh;margin:auto;padding:0;overflow:auto;border:1px solid var(--n-line,#526963);border-radius:14px;background:var(--n-card,#20332f);color:var(--n-text,#efe1c3)}.route-removal-dialog::backdrop{background:#030e18c9}html:has(.route-removal-dialog[open]){overflow:hidden}.projects-page{max-width:1050px;margin:0 auto;padding-bottom:7rem}.projects-page h1,.projects-page h2,.projects-page h3{font-family:Georgia,serif}.projects-kicker{display:block;margin-top:1.2rem;color:#d9b578;letter-spacing:.16em;font-size:.75rem}.projects-page h1{margin:.4rem 0;color:#f5d9a5}.projects-page>p{color:#b7c9ca}.projects-page .card{background:linear-gradient(145deg,#173840,#102a36 70%,#0b2130);border:2px solid #91734e;box-shadow:inset 0 0 0 3px #183b43,0 7px 18px #061a24b8;border-radius:9px}.projects-page button{cursor:pointer}.project-new-button{display:block;margin:1.2rem 0;padding:1rem 1.3rem;background:linear-gradient(#d9ae70,#a77545);color:#172b30;border:2px solid #efcb93;font-weight:800}.project-filters,.project-fields-pair,.project-card-grid,.project-metrics,.project-main-actions,.project-row-actions,.project-tools,.project-upload{display:grid;gap:.75rem}.project-filters{grid-template-columns:repeat(3,minmax(0,1fr));margin:1rem 0}.projects-page label{display:grid;gap:.35rem;color:#dbc59f;font-weight:600}.projects-page input,.projects-page select,.projects-page textarea{min-width:0;width:100%;box-sizing:border-box;background:#0a2632;color:#eef5ed;border:1px solid #648187;border-radius:5px;padding:.7rem;font:inherit}.project-fields{display:grid;gap:.75rem}.project-fields-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.project-new-form{display:grid;gap:.8rem;margin-bottom:1.4rem;padding:1rem}.project-section{margin-top:1.4rem}.project-section h2{color:#eac992}.project-card-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.project-card{display:grid;text-align:left;gap:.45rem;padding:1rem;color:#e8e5d9}.project-card strong{font-size:1.2rem;color:#ffdfaa}.project-card small{color:#b8ccca}.project-card>b{color:#f2c17e}.project-color{width:1.2rem;height:1.2rem;display:inline-block;border:2px solid #e7d1a5;box-shadow:2px 2px #071d26}.project-color.red{background:#ba424b}.project-color.blue{background:#4a84cf}.project-color.green{background:#4a9a68}.project-color.yellow{background:#e1b94d}.project-color.orange{background:#e98538}.project-color.pink{background:#df76a9}.project-color.purple{background:#9562ae}.project-color.black{background:#151719}.project-color.white{background:#e6e5dd}.project-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding:1rem}.project-stats>div:not(.project-month-chart){display:grid;gap:.2rem}.project-stats b{color:#f2d295;font-size:1.25rem}.project-stats small{color:#b8ccca}.project-stats p,.project-month-chart{grid-column:1/-1}.project-month-chart{display:flex;gap:1rem;align-items:end;overflow-x:auto;min-height:120px}.project-month-chart>div{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:75px}.project-month-chart span{order:2;display:block;width:35px;background:#c49a5f}.project-month-chart small{order:3}.project-detail{padding:1rem;margin-top:1rem}.project-detail-head{display:flex;gap:.8rem;align-items:center}.project-detail-head .project-color{width:2rem;height:2rem;flex:none}.project-detail-head h1{overflow-wrap:anywhere}.project-detail-head small{color:#d8b77c}.project-media{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.project-media img,.project-media video{max-width:100%;max-height:430px;object-fit:contain;border:2px solid #98734d}.project-note,.project-coach-note{padding:.75rem;background:#0d2c35;border-left:3px solid #c9a064}.project-metrics{grid-template-columns:repeat(3,minmax(0,1fr));padding:.8rem 0;border-top:1px solid #42616b}.project-metrics b{color:#f1cf96}.project-add-attempt,.project-link,.project-recommend,.project-edit-attempt{display:grid;gap:.7rem;margin:1rem 0;padding:1rem;border:1px solid #658382;border-radius:6px;background:#0d2c36}.project-main-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.project-main-actions button{min-height:52px}.project-tools,.project-upload,.project-row-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:1rem 0}.project-upload{padding:.7rem;background:#102c36}.project-upload small{grid-column:1/-1}.project-history{margin:1.5rem 0}.project-history-day{border:1px solid #58777d;background:#102d39;padding:1rem;margin:.8rem 0}.project-history-day h4{color:#e9c88f;margin:0 0 .7rem}.project-attempt-row{padding:.65rem 0;border-top:1px solid #3e5c66}.project-attempt-row small{display:block;color:#a9c0c1}.project-attempt-row p{margin:.4rem 0}.project-success{color:#9fdbb3}.project-fall{color:#e8b392}.project-empty{padding:1.4rem;color:#cadbd6}.project-celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem;background:#061822ed;color:#f7dca5}.project-celebration h2{font-size:clamp(1.8rem,7vw,3rem);text-shadow:3px 3px #55402b}.project-scene-skip{position:absolute;top:1rem;right:1rem}.project-cliff{height:160px;width:130px;position:relative;background:linear-gradient(140deg,transparent 40%,#577381 41%,#2d4858 80%);clip-path:polygon(0 100%,100% 100%,100% 0,80% 28%,68% 16%,30% 75%)}.project-viking{position:absolute;bottom:9%;left:12%;font-size:2rem;animation:project-climb 1.4s steps(7) forwards}.project-summit{position:absolute;top:0;right:0;font-size:2rem}@keyframes project-climb{to{bottom:78%;left:70%}}@media(max-width:600px){.project-filters{grid-template-columns:1fr 1fr}.project-filters label:last-child{grid-column:1/-1}.project-stats{grid-template-columns:1fr 1fr}.project-metrics,.project-main-actions,.project-card-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.project-viking{animation:none;bottom:78%;left:70%}}.project-profile-summary{margin:1rem 0;padding:1rem}.project-profile-summary>div:first-of-type{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.project-profile-summary span{display:grid;color:#bcd1ce}.project-profile-summary b{color:#efc98f;font-size:1.2rem}.project-profile-months{display:flex;align-items:end;gap:.9rem;overflow-x:auto;margin:1rem 0}.project-profile-months>div{display:grid;justify-items:center;min-width:65px}.project-profile-months span{display:block;width:30px;background:#c79a62}.project-profile-months small{font-size:.7rem}@media(max-width:600px){.project-profile-summary>div:first-of-type{grid-template-columns:1fr 1fr}}.ofp-stats-page{max-width:1060px;margin:0 auto;color:#f7eedb;overflow-x:clip}.ofp-stats-heading{position:relative;padding:6px 0 0}.ofp-stats-back{margin-bottom:16px;padding:8px 13px;background:#203f45;color:#e9d4b2;border:1px solid #708d83}.ofp-stats-eyebrow{display:block;margin-bottom:7px;color:#dba979;font-size:11px;font-weight:800;letter-spacing:.13em}.ofp-stats-heading h1{margin:0;font-size:clamp(29px,4vw,43px)}.ofp-stats-heading p{margin:8px 0 0;color:#bcd1c9;line-height:1.4}.ofp-periods{display:flex;gap:8px;margin:22px 0}.ofp-periods button{min-height:44px;min-width:88px;padding:9px 14px;background:linear-gradient(180deg,#25454a,#1a333a);color:#d6e3d8;border:1px solid #67847a;border-radius:4px;box-shadow:inset 0 1px #b9d4b525,0 3px #10242b;font-weight:800}.ofp-periods button.selected{background:linear-gradient(180deg,#f0bf7e,#c9895e);color:#281e19;border-color:#f6d397;box-shadow:inset 0 1px #fff0bc,0 3px #704831}.ofp-stats-loading,.ofp-stats-empty{border:2px solid #9b7957;background:linear-gradient(145deg,#17323bea,#102731ef);box-shadow:inset 0 0 0 3px #0b2029,0 12px 34px #020b13a8}.ofp-stats-loading{padding:32px;text-align:center}.ofp-stats-empty{min-height:300px;display:grid;align-content:center;justify-items:center;gap:10px;padding:30px;text-align:center}.ofp-stats-empty h2,.ofp-stats-empty p{margin:0}.ofp-stats-empty p{color:#e5d5b8}.ofp-stats-empty small{color:#b9cec5}.ofp-empty-rune{font-size:55px;line-height:1;color:#e4b77a;text-shadow:0 0 16px #e5a05c80;animation:ofp-rune-flicker 4s ease-in-out infinite}.ofp-hero-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:16px;align-items:start}.ofp-artifact,.ofp-quality-card,.ofp-mentor,.ofp-history-panel{position:relative;background:linear-gradient(150deg,#1b3941f5,#0e2933f7);border:2px solid #728b7c;border-radius:6px;box-shadow:inset 0 0 0 3px #0b242d,inset 0 3px #c0aa7861,0 12px 32px #020d15a8}.ofp-artifact:before,.ofp-history-panel:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;pointer-events:none;border:1px solid #7b866b59;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.ofp-artifact{padding:21px 21px 18px;background:radial-gradient(circle at 48% 34%,#28464c 0,#142f39 47%,#0b2530)}.ofp-panel-title{text-align:center;color:#e8c491;font-size:12px;font-weight:900;letter-spacing:.16em}.ofp-panel-title span{padding:0 5px;color:#7fb4a6}.ofp-ring-wrap{position:relative;width:min(100%,365px);margin:12px auto 0;aspect-ratio:1;display:grid;place-items:center}.ofp-ring{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 14px #cc945845)}.ofp-ring-outer{fill:none;stroke:#b88c60;stroke-width:3;stroke-dasharray:6 4;opacity:.88}.ofp-ring-runes{fill:none;stroke:#77a49c;stroke-width:5;stroke-dasharray:2 14;opacity:.65;animation:ofp-rune-rotate 90s linear infinite;transform-origin:center}.ofp-ring-track{fill:none;stroke:#2b4346;stroke-width:30}.ofp-ring-segment{cursor:pointer;transition:stroke-width .22s ease,filter .22s ease,opacity .22s ease;animation:ofp-segment-appear .55s ease both}.ofp-ring-segment.selected{filter:drop-shadow(0 0 7px currentColor) brightness(1.18)}@media(hover:hover)and (pointer:fine){.ofp-ring-segment:hover{filter:drop-shadow(0 0 7px currentColor) brightness(1.18)}}.ofp-ring-segment:focus-visible{outline:3px solid #fff1d2}.ofp-ring-shield{fill:#c29361;stroke:#402f2b;stroke-width:3}.ofp-ring-shield-inner{fill:#254349}.ofp-ring-rune-mark{fill:none;stroke:#e6bf84;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter}.ofp-ring-center{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;max-width:145px;transform:translate(-50%,32px);pointer-events:none;text-align:center;text-shadow:1px 2px #071820}.ofp-ring-center strong{font:900 27px Georgia,serif;color:#ffe0aa}.ofp-ring-center span{font-size:12px;color:#e3e8d7;font-weight:800}.ofp-artifact-caption{text-align:center;color:#aacbc1;font-size:12px;margin:0 0 15px}.ofp-contribution{min-height:120px;padding:13px 15px;background:#0c2630c9;border:1px solid #69877d;border-radius:3px}.ofp-contribution h2{font-size:18px;margin:0 0 7px;color:#f1d6ad}.ofp-contribution p{font-size:13px;line-height:1.4;color:#bdd2c9;margin:5px 0}.ofp-contribution ul{list-style:none;margin:7px 0 0;padding:0}.ofp-contribution li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-top:1px solid #55756c75;font-size:13px}.ofp-contribution li span{min-width:0;overflow-wrap:anywhere}.ofp-contribution li b{flex:none;color:#e2b980}.ofp-quality-grid{display:grid;gap:10px}.ofp-quality-card{display:grid;grid-template-columns:43px minmax(0,1fr) auto;grid-template-rows:auto 8px auto;gap:7px 12px;min-height:108px;padding:12px 14px;text-align:left;color:#f7eedb;cursor:pointer;animation:ofp-card-rise .38s ease both;animation-delay:calc(var(--quality-index)*55ms);border-color:#66827c;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.ofp-quality-card.active{border-color:var(--quality-color);transform:translateY(-2px);box-shadow:inset 0 0 0 3px #0b242d,0 0 14px color-mix(in srgb,var(--quality-color),transparent 55%)}@media(hover:hover)and (pointer:fine){.ofp-quality-card:hover{border-color:var(--quality-color);transform:translateY(-2px);box-shadow:inset 0 0 0 3px #0b242d,0 0 14px color-mix(in srgb,var(--quality-color),transparent 55%)}}.ofp-quality-icon{grid-row:1;display:grid;place-items:center;width:42px;height:42px;background:#0d2933;border:1px solid var(--quality-color);color:var(--quality-color);box-shadow:inset 0 0 0 2px #29444a}.quality-icon{width:27px;height:27px}.quality-icon .cutout{fill:#0d2933}.ofp-quality-main{grid-row:1;align-self:center;min-width:0}.ofp-quality-main strong{display:block;font:900 19px Georgia,serif;color:#fff0d6}.ofp-quality-main small{font-size:11px;color:#b4ccc4}.ofp-quality-value{grid-row:1;align-self:center;font:900 25px Georgia,serif;color:var(--quality-color)}.ofp-quality-meter{grid-column:1/-1;grid-row:2;background:#0b2530;border:1px solid #52726d;box-shadow:inset 0 1px 3px #02131b}.ofp-quality-meter i{display:block;height:100%;min-width:0;background:var(--quality-color);box-shadow:0 0 8px var(--quality-color);transition:width .4s ease}.ofp-quality-change{grid-column:1/-1;grid-row:3;color:#b9d0c7;font-size:11px;line-height:1.2}.ofp-quality-card.active .ofp-quality-change{color:#f3ddba}.ofp-mentor{display:flex;gap:15px;align-items:center;margin-top:18px;padding:16px 18px;border-color:#ac835b;background:linear-gradient(90deg,#443b30ed,#1a3439f6)}.ofp-mentor-avatar{width:62px;height:62px;flex:none;background:#102b34;border:2px solid #d5a36c;box-shadow:inset 0 0 0 3px #233d40}.ofp-mentor-avatar svg{width:100%;height:100%}.ofp-mentor h2{margin:0 0 5px;font-size:20px;color:#ffdcaa}.ofp-mentor p{margin:0 0 5px;line-height:1.45}.ofp-mentor small{color:#bfd0c7;line-height:1.35}.ofp-history{margin:27px 0 10px}.ofp-history-heading{display:flex;align-items:center;gap:12px;margin-bottom:13px}.ofp-history-heading>span{display:grid;place-items:center;width:37px;height:37px;border:1px solid #d8a870;color:#efc78a;background:#19363d;font-size:24px}.ofp-history-heading h2{margin:0;font-size:25px}.ofp-history-heading p{margin:2px 0 0;color:#b8cdc5;font-size:13px}.ofp-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ofp-history-panel{padding:17px;min-width:0}.ofp-history-panel h3{margin:0 0 14px;color:#f3d4a4;font-size:17px}.ofp-history-panel small{display:block;margin-top:12px;color:#b8cfc4;line-height:1.4}.ofp-weekly-chart,.ofp-daily-bars{display:grid;align-content:start;gap:10px;max-height:290px;overflow-y:auto}.ofp-week-row,.ofp-daily-row{display:grid;grid-template-columns:45px minmax(0,1fr) 29px;align-items:center;gap:8px;font-size:12px}.ofp-week-row time,.ofp-daily-row time{color:#d1ded1}.ofp-week-row strong,.ofp-daily-row strong{text-align:right;color:#f3ce9a}.ofp-week-stack,.ofp-daily-row>div{display:flex;height:15px;overflow:hidden;background:#29444a;border:1px solid #607d76}.ofp-week-stack span{display:block;height:100%}.ofp-daily-row>div span{display:block;height:100%;background:linear-gradient(90deg,#6eaaa6,#dcad75)}.ofp-unclassified{margin-top:16px;color:#c8d4c5;font-size:12px}.ofp-classification{margin:13px 0;padding:12px;border:1px solid #678b81;border-radius:8px;background:#17343d}.ofp-classification summary{cursor:pointer;font-weight:700;color:#f2d09a}.ofp-classification-actions{display:flex;align-items:end;flex-wrap:wrap;gap:9px}.ofp-classification-actions label{flex:1;min-width:170px}.ofp-classification-actions button{margin-bottom:14px}.ofp-classification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.ofp-classification-grid label{margin:5px 0}.ofp-classification-grid input{max-width:120px}.ofp-classification>small{display:block;margin-top:10px}@keyframes ofp-card-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes ofp-segment-appear{0%{opacity:0;stroke-width:4}to{opacity:1}}@keyframes ofp-rune-flicker{0%,to{opacity:.82}50%{opacity:1}}@keyframes ofp-rune-rotate{to{transform:rotate(360deg)}}@media(max-width:760px){.ofp-hero-layout{grid-template-columns:1fr}.ofp-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ofp-quality-card{grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto 7px auto;min-height:124px;padding:10px;gap:5px}.ofp-quality-icon{width:32px;height:32px}.quality-icon{width:23px;height:23px}.ofp-quality-main strong{font-size:15px;overflow-wrap:anywhere}.ofp-quality-value{grid-column:1/-1;grid-row:2;font-size:22px}.ofp-quality-meter{grid-row:3}.ofp-quality-change{grid-row:4}.ofp-history-grid{grid-template-columns:1fr}}@media(max-width:480px){.ofp-stats-heading h1{font-size:30px}.ofp-stats-eyebrow{font-size:9px;letter-spacing:.1em}.ofp-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.ofp-periods button{min-width:0;padding:9px 2px;font-size:clamp(10px,2.8vw,12px)}.ofp-artifact{padding:17px 13px}.ofp-ring-wrap{width:min(100%,310px)}.ofp-quality-grid{gap:7px}.ofp-quality-card{grid-template-columns:28px minmax(0,1fr)}.ofp-quality-icon{width:27px;height:27px}.ofp-quality-main strong{font-size:12.5px;letter-spacing:-.02em;overflow-wrap:normal;word-break:normal}.ofp-mentor{align-items:flex-start;padding:13px;gap:10px}.ofp-mentor-avatar{width:47px;height:47px}.ofp-mentor h2{font-size:17px}.ofp-mentor p{font-size:13px}.ofp-mentor small{font-size:11px}}@media(max-width:350px){.ofp-quality-grid{grid-template-columns:1fr}.ofp-quality-card{grid-template-columns:38px minmax(0,1fr) auto;grid-template-rows:auto 7px auto;min-height:95px}.ofp-quality-value{grid-column:3;grid-row:1}.ofp-quality-meter{grid-row:2}.ofp-quality-change{grid-row:3}}@media(prefers-reduced-motion:reduce){.ofp-stats-page *,.ofp-stats-page *:before,.ofp-stats-page *:after{animation:none!important;transition:none!important}}.ofp-ring-rune-band{fill:none;stroke:#b88c6040;stroke-width:23}.ofp-ring-outer,.ofp-ring-inner-border{fill:none;stroke:#c69c70;stroke-width:1.5;stroke-dasharray:none;opacity:.9}.ofp-ring-runes{animation:none;opacity:1;transform:none}.ofp-ring-runes text{fill:#e1bd89;font:16px Segoe UI Symbol,Noto Sans Runic,serif;text-anchor:middle;dominant-baseline:middle}.ofp-ring-segment:focus{outline:none}.ofp-ring-outline{pointer-events:none}.ofp-ring-segment:focus-visible{outline:none;filter:drop-shadow(0 0 8px currentColor) brightness(1.28)}.ofp-ring-segment.selected{filter:drop-shadow(0 0 9px currentColor) brightness(1.25)}.ofp-ring-center{width:126px;max-width:45%;gap:1px;transform:translate(-50%,-50%)}.ofp-ring-center strong{font-size:clamp(21px,7vw,29px);line-height:1.05;white-space:nowrap}.ofp-ring-center span{max-width:100%;font-size:clamp(10px,3vw,12px);line-height:1.15;overflow-wrap:anywhere}.ofp-stats-content{animation:ofp-content-appear .18s ease-out both}@keyframes ofp-content-appear{0%{opacity:.75}to{opacity:1}}@media(prefers-reduced-motion:reduce){.ofp-stats-content{animation:none}}.achievements-page{max-width:1180px;margin:0 auto;padding-bottom:28px;color:#f7ead0}.profile-achievement-title{display:inline-block;margin:0 0 9px;padding:5px 11px;border:1px solid #b18b54;background:#173743;color:#f8d296;font:700 14px Georgia,serif}.achievements-page>button:first-child{margin-bottom:18px}.achievements-kicker{display:block;color:#dfb676;font-size:11px;font-weight:900;letter-spacing:.18em}.achievements-page h1{margin:7px 0 15px;font:700 clamp(29px,5vw,46px)/1.1 Georgia,serif;color:#ffe6af}.achievement-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;background:linear-gradient(140deg,#153743ed,#0c2430ed)!important;border:2px solid #a8814c!important;box-shadow:inset 0 0 0 3px #08202b,0 7px #081720!important}.achievement-summary>div:not(.achievement-summary-bar){display:grid;gap:4px}.achievement-summary strong{font:700 32px Georgia,serif;color:#ffcf83}.achievement-summary strong small{font:600 16px system-ui;color:#bbd1cb}.achievement-summary span,.achievement-summary p{color:#c7d9d4}.achievement-summary-bar,.achievement-bar{height:13px;background:#071d27;border:1px solid #789187;box-shadow:inset 0 2px 3px #0008;overflow:hidden}.achievement-summary-bar{grid-column:1/-1}.achievement-summary-bar span,.achievement-bar span{display:block;height:100%;background:linear-gradient(90deg,#a4bfaf,#e9ae60);transition:width .35s ease}.achievement-summary p{grid-column:1/-1;margin:3px 0 0;font-size:13px}.achievement-summary p b{color:#ffe0a2}.achievement-source{color:#a9c3bc;font-size:12px;margin:16px 0 24px}.achievement-group{margin:25px 0}.achievement-group h2{margin:0 0 13px;color:#f5d69a;font:700 21px Georgia,serif}.achievement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.achievement-tile{--rarity:#b98758;display:flex;align-items:center;flex-direction:column;gap:5px;min-width:0;min-height:185px;padding:14px 8px 11px;border:2px solid var(--rarity);border-radius:5px;color:#f8e8cb;background:linear-gradient(150deg,#1c3a44,#102833);box-shadow:inset 0 0 0 3px #0b202a,0 5px #071922;text-align:center;overflow-wrap:anywhere}.achievement-tile.rare,.achievement-detail.rare,.achievement-notice.rare{--rarity:#c1d7d8}.achievement-tile.epic,.achievement-detail.epic,.achievement-notice.epic{--rarity:#9a95da}.achievement-tile.legendary,.achievement-detail.legendary,.achievement-notice.legendary{--rarity:#e8b557}.achievement-tile.epic,.achievement-tile.legendary{box-shadow:inset 0 0 0 3px #0b202a,0 5px #071922,0 0 14px color-mix(in srgb,var(--rarity),transparent 77%)}.achievement-tile.is-locked{filter:saturate(.35);background:linear-gradient(150deg,#1b323a,#112530)}.achievement-tile strong{font-size:13px;line-height:1.2}.achievement-tile small{font-size:10px;color:var(--rarity)}.achievement-tile>span:last-child{margin-top:auto;font-size:11px;color:#bfccc8}.achievement-medal{--rarity:#b98758;position:relative;display:inline-grid;place-items:center;flex:none;width:76px;height:76px;filter:drop-shadow(2px 3px 0 #04121b)}.achievement-medal.rare{--rarity:#c1d7d8}.achievement-medal.epic{--rarity:#9a95da}.achievement-medal.legendary{--rarity:#e8b557}.achievement-medal svg{width:100%;height:100%;image-rendering:pixelated}.medal-outline{fill:#071821;stroke:var(--rarity);stroke-width:4}.medal-face{fill:#23444a}.medal-symbol{fill:var(--rarity)}.achievement-medal .medal-portrait{position:absolute;top:13%;right:13%;bottom:13%;left:13%;width:74%;height:74%;object-fit:contain;image-rendering:pixelated}.achievement-medal .medal-photo{object-fit:cover;image-rendering:auto;clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%)}.achievement-medal .medal-original-photo{object-fit:contain;image-rendering:auto}.achievement-medal.locked{opacity:.55;filter:grayscale(1)}.medal-lock{position:absolute;right:4px;bottom:5px;color:#ffdfa9;background:#0a1b25;border:1px solid #879d98;font-size:20px;line-height:1;padding:0 3px}.medal-mark{position:absolute;top:2px;right:3px;min-width:18px;padding:1px 2px;border:1px solid var(--rarity);background:#091e29;color:var(--rarity);font:900 9px/1.1 Georgia,serif;text-align:center}.achievement-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#031018bd}.achievement-detail{--rarity:#b98758;position:relative;width:min(100%,430px);max-height:min(85dvh,720px);overflow:auto;display:flex;align-items:center;flex-direction:column;padding:28px 22px 24px;border:3px solid var(--rarity);border-radius:6px;background:linear-gradient(160deg,#173b45,#0b222d);box-shadow:inset 0 0 0 4px #09202b,0 18px 50px #0009;text-align:center}.achievement-detail .achievement-medal{width:112px;height:112px;margin:8px 0 10px}.achievement-detail h2{margin:7px 0 9px;color:#ffe4aa;font:700 27px Georgia,serif}.achievement-detail p{color:#d1ded6;line-height:1.45}.achievement-rarity{color:var(--rarity);font-weight:900;letter-spacing:.09em;text-transform:uppercase;font-size:11px}.achievement-progress-label{display:flex;justify-content:space-between;width:100%;margin:13px 0 7px;color:#c7d7d1}.achievement-progress-label strong{color:#ffdaa1}.achievement-bar{width:100%}.achievement-date{font-size:12px}.achievement-detail .wide{margin-top:8px}.achievement-close{position:absolute;top:8px;right:8px;width:36px;height:36px;min-height:36px;padding:0!important;font-size:21px}.achievement-notice{--rarity:#b98758;position:fixed;z-index:15;bottom:calc(85px + env(safe-area-inset-bottom));right:14px;display:flex;align-items:center;gap:13px;width:min(390px,calc(100vw - 28px));padding:16px 43px 16px 12px;border:3px solid var(--rarity);border-radius:5px;background:linear-gradient(130deg,#1b3942,#0d2630);box-shadow:inset 0 0 0 3px #0b202a,0 15px 40px #000a;animation:achievement-reveal .26s ease-out both}.achievement-notice .achievement-medal{width:68px;height:68px}.achievement-notice div{min-width:0}.achievement-notice small{display:block;color:#f1bf72;font-size:10px;font-weight:900;letter-spacing:.1em}.achievement-notice strong{display:block;margin:3px 0;color:#ffe6b6;font:700 20px Georgia,serif}.achievement-notice p{margin:3px 0 9px;color:#c7d9d5;font-size:11px;line-height:1.3}.achievement-notice div button{padding:7px 10px;font-size:11px}@keyframes achievement-reveal{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-tile{min-height:158px}.achievement-medal{width:60px;height:60px}}@media(max-width:390px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-tile{min-height:166px}}@media(prefers-reduced-motion:reduce){.achievement-notice{animation:none}.achievement-summary-bar span,.achievement-bar span{transition:none}}.achievement-medal .medal-portrait,.achievement-medal .medal-photo,.achievement-medal .medal-original-photo{top:18%;right:17%;bottom:26%;left:17%;width:66%;height:54%;object-fit:contain;image-rendering:auto;clip-path:none;background:#102b35;border:1px solid var(--rarity)}.achievement-medal{--frame-dark:#543829;--frame-inlay:#a96f46;--frame-light:#e8b884}.achievement-medal.rare{--frame-dark:#2b5060;--frame-inlay:#78b0bb;--frame-light:#e0f5f3}.achievement-medal.epic{--frame-dark:#392858;--frame-inlay:#8b72c0;--frame-light:#dfccff}.achievement-medal.legendary{--frame-dark:#5a321d;--frame-inlay:#d7a445;--frame-light:#fff0b2;filter:drop-shadow(0 0 6px #e8b55788) drop-shadow(2px 3px 0 #04121b)}.achievement-medal .medal-outer-frame{fill:var(--frame-dark);stroke:var(--frame-light);stroke-width:2}.achievement-medal .medal-frame-inlay{fill:var(--frame-inlay)}.achievement-medal .medal-corner-cut,.achievement-medal .medal-ornament{fill:var(--frame-light)}.achievement-medal .medal-crown{fill:#fff7d3}.achievement-medal.locked{filter:grayscale(1);opacity:.55}.achievement-tile{position:relative}.achievement-tile:before,.achievement-tile:after{content:"";position:absolute;width:10px;height:10px;pointer-events:none;border-color:var(--rarity);opacity:.9}.achievement-tile:before{top:6px;left:6px;border-top:2px solid var(--rarity);border-left:2px solid var(--rarity)}.achievement-tile:after{right:6px;bottom:6px;border-right:2px solid var(--rarity);border-bottom:2px solid var(--rarity)}.achievement-tile.rare{background:linear-gradient(150deg,#1b3844,#142c3a)}.achievement-tile.epic{background:linear-gradient(150deg,#27314b,#172539)}.achievement-tile.legendary{background:linear-gradient(150deg,#3e3229,#182936)}.sex-field{display:flex;flex-direction:column;gap:7px;margin:12px 0;color:#f2eadc;font-weight:700}.sex-field span{color:#edb46d}.sex-field select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #6e8b8a;border-radius:6px;background:#102832;color:#f6eddb;font:inherit}.sex-field select:focus{outline:2px solid #e2ad72;outline-offset:2px}.entry-card label.sex-field{display:flex;flex-direction:column;align-items:stretch;margin:0 0 18px}.entry-card .sex-field select{margin:0;background:#142733;color:#f6eddb}.presence-status{display:flex;align-items:center;gap:8px;max-width:100%;margin:7px 0 12px;color:#b9d0c8;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.presence-status.presence-online{color:#9dd6b4}.presence-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#879b96;box-shadow:0 0 0 3px #879b9626}.presence-online .presence-dot{background:#78cca0;box-shadow:0 0 0 3px #78cca02b,0 0 9px #78cca078}.student-goals,.goal-create{min-width:0}.goal-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.goal-card{padding:14px;border:2px solid #8b795c;background:linear-gradient(140deg,#142f39,#203c3d);box-shadow:inset 0 0 0 2px #2b5452;min-width:0}.goal-card.completed{border-color:#dda95d}.goal-card-title,.goal-card-numbers{display:flex;gap:8px;align-items:center;justify-content:space-between}.goal-card-title span{font-size:25px;color:#e9af67}.goal-card strong{overflow-wrap:anywhere}.goal-card-numbers{margin-top:12px;color:#f5d39a}.goal-card progress{width:100%;height:12px;accent-color:#d9a35e}.goal-card small{display:block;margin-top:6px}.goal-notice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;margin:12px 0;border:2px solid #d8a85f;background:#2b352e;color:#ffdeb1}.goal-notice button{margin-left:auto}@media(max-width:620px){.goal-grid{grid-template-columns:1fr}}@media(max-width:420px){.goal-dates{grid-template-columns:1fr}.student-goals .card{padding:12px}}.goal-dates,.goal-dates label{min-width:0;max-width:100%}.goal-dates input[type=date]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px}.goal-dates input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}@media(max-width:620px){.goal-dates{grid-template-columns:minmax(0,1fr)}}.student-list{padding:4px 16px}.student-list-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 4px;background:transparent;color:var(--tg-theme-text-color,#182530);border-bottom:1px solid #87949d33;border-radius:0;text-align:left}.student-list-item:last-child{border-bottom:0}.student-list-item b{font-size:22px;color:var(--tg-theme-link-color,#168f69)}.student-profile-head{display:flex;align-items:center;gap:14px}.student-profile-head h2{margin:0}.student-profile-head p{margin:6px 0 0}.student-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.student-summary .card{margin:0;padding:12px 6px;text-align:center}.student-summary b{display:block;font-size:22px}.student-summary small{display:block;font-size:10px}.student-chart-scroll{overflow-x:auto;max-width:100%;padding:6px 0}.student-grid{stroke:color-mix(in srgb,var(--tg-theme-text-color,#182530) 20%,transparent);stroke-width:1}.student-axis{fill:var(--tg-theme-hint-color,#77838c);font-size:11px}.student-line{fill:none;stroke:#188a70;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.student-dot{fill:#188a70;stroke:var(--tg-theme-secondary-bg-color,#fff);stroke-width:2}.student-assignment{padding:14px 0;border-top:1px solid #87949d33;font-size:13px}.student-assignment>.row{gap:8px;align-items:flex-start}.student-assignment>.row:last-of-type{align-items:center}.student-assignment small{display:block;font-size:11px;margin:6px 0}.student-state{flex:none;padding:4px 7px;border-radius:8px;font-size:10px;background:#e8edf2;color:#3c5262}.student-state.done{background:#d4efe3;color:#176349}.student-state.partial{background:#fff0c1;color:#6a4a00}.student-progress-track{height:8px;border-radius:8px;background:#87949d44;margin:12px 0 8px;overflow:hidden}.student-progress-track span{display:block;height:100%;background:#188a70;border-radius:8px}.student-report-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-report-period label{min-width:0}.student-visit,.student-event{padding:10px 0;border-top:1px solid #87949d33;font-size:13px}.student-visit{display:flex;justify-content:space-between;gap:10px}.student-grade{max-width:210px}.student-event .row{align-items:flex-start}.student-event .row strong{min-width:0;overflow-wrap:anywhere}.student-event .row small{flex:none;text-align:right}.student-event small{display:block;margin-top:4px}.student-event p{margin:7px 0 0;overflow-wrap:anywhere}.student-profile-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 18px}.student-profile-tabs button{min-height:44px;padding:9px 8px;font-size:13px}@media(max-width:520px){.student-profile-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.student-profile-tabs button{min-height:44px}}.student-grade-settings summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.student-grade-blocks{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.student-grade-blocks label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:6px 10px;border:1px solid var(--n-line,#718e82);border-radius:8px;cursor:pointer}.student-grade-blocks input[type=checkbox]{flex:none;width:18px;height:18px;margin:0;padding:0;box-shadow:none}.student-export{margin:8px 0 12px}.student-export summary{width:fit-content;min-height:44px;padding:10px 12px;border:1px solid var(--n-line,#638380);border-radius:8px;background:var(--n-card,#193338);color:var(--n-text,#f6eddb);cursor:pointer}.student-export summary:focus-visible{outline:2px solid var(--n-accent,#e7b978);outline-offset:2px}.student-export>.card{margin:8px 0 0}.student-age-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.student-age-switch button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:62px;padding:8px 5px;font-size:13px;line-height:1.25}.student-age-switch button span{overflow-wrap:anywhere}.student-age-switch b{font-size:16px}.student-age-switch [aria-pressed=true]{outline:2px solid var(--n-accent,#e7b978);outline-offset:2px}.student-category-row+.student-category-row{border-top:1px solid var(--n-line,#638380)}.students-view .student-category-row .student-list-item{border:0;background:transparent;color:var(--text,#f6eddb);overflow-wrap:anywhere}.student-category-row>div{padding:0 4px 14px}.student-category-row select{width:100%}.student-category-notice{padding:12px;border:1px solid var(--n-line,#638380);border-radius:10px;margin:12px 0}.student-category-notice p{margin:0 0 8px;overflow-wrap:anywhere}.rating-student{width:100%;border-radius:0;background:transparent;color:var(--tg-theme-text-color,#182530);text-align:left;font-weight:400}.rating-student:focus-visible{background:var(--tg-theme-bg-color,#f5f7f9)}@media(hover:hover)and (pointer:fine){.rating-student:hover{background:var(--tg-theme-bg-color,#f5f7f9)}}.rating-student:focus-visible{outline:2px solid var(--tg-theme-link-color,#168f69);outline-offset:-2px}.rating-student-name{min-width:0;overflow-wrap:anywhere}.rating-student-name small{display:block;margin-top:3px;font-size:11px}.rating-kind{margin-bottom:8px}.rating-table .ratinghead,.rating-table .ratingrow{grid-template-columns:minmax(0,1fr) 52px 54px;text-align:right}.rating-table .ratinghead>span:first-child,.rating-table .ratingrow>*:first-child{text-align:left}.rating-table .ratingrow>span:last-child{white-space:nowrap}.rating-table .rating-person{overflow:hidden}.rating-table .rating-student-name{overflow-wrap:anywhere}.rating-table .rating-person>.north-avatar.north-avatar-small{width:25px;height:25px}.rating-period button{flex:1 1 0;min-width:0;min-height:44px;padding:7px 4px;line-height:1.25}.rating-week strong{text-align:center}.rating-week button{min-width:44px;min-height:44px}.age-rating-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-block:0 12px}.age-rating-switch button{min-height:44px}.age-rating .rating-own{margin:12px 0 8px;color:var(--n-text,#f5e8d2)}.rating-own strong{margin-inline-start:5px;color:var(--n-accent,#e0ab60)}.age-rating .rating-table .rating-person{gap:7px;overflow:visible}.age-rating .rating-avatar{flex:none;display:grid;place-items:center}.age-rating .rating-avatar :is(.north-avatar,.user-avatar){width:34px;height:34px;font-size:17px}.age-rating .rating-place{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:30px;font-variant-numeric:tabular-nums}.age-rating [data-medal="1"]{--rating-medal:#f2c471}.age-rating [data-medal="2"]{--rating-medal:#c6dce9}.age-rating [data-medal="3"]{--rating-medal:#e5a587}.age-rating .ratingrow[data-medal] .rating-place{padding:3px 4px;background:#17252e;color:var(--rating-medal);border:1px solid var(--rating-medal);border-radius:4px}[data-climbup-theme] .age-rating .rating-table .ratingrow.rating-student[data-own]{box-shadow:inset 3px 0 var(--n-accent,#e0ab60)!important}.age-rating .rating-student-name small{color:var(--n-muted,#c8d5cf)}@media(max-width:360px){.age-rating .rating-table .ratinghead,.age-rating .rating-table .ratingrow{grid-template-columns:minmax(0,1fr) 42px 42px}.age-rating .rating-avatar :is(.north-avatar,.user-avatar){width:28px;height:28px}}.text-tools{position:fixed;z-index:8;left:8px;right:8px;bottom:calc(74px + env(safe-area-inset-bottom));max-width:744px;margin:auto;padding:8px;border:1px solid #87949d66;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#fff);color:var(--tg-theme-text-color,#182530);box-shadow:0 5px 22px #16202b33}.text-suggestions,.text-actions{display:flex;align-items:center;gap:6px;overflow-x:auto}.text-suggestions{padding-bottom:7px;font-size:12px;white-space:nowrap}.text-tools button{flex:none;padding:7px 9px;font-size:12px}.text-suggestions button{background:#e2f3e9;color:#135b3d}.text-actions button{background:#e9eff1;color:#253d4b}.text-actions small{font-size:11px;min-width:0}input[type=text],input[type=search],textarea,.body,.comment p,.private-message p{user-select:text;-webkit-user-select:text}.entry-page{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100dvh;max-width:none;margin:0;padding:36px 16px calc(24px + env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(ellipse 80% 72% at 50% 43%,#34465f,#222d40 43%,#121923 78%,#0e141d);color:#f6f7fc;color-scheme:dark}.entry-page:before,.entry-page:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(65px);pointer-events:none}.entry-page:before{width:55vw;height:50vh;left:22%;top:18%;background:#5e7faa35}.entry-page:after{width:28vw;height:38vh;right:-10%;bottom:-8%;background:#654fba20}.entry-rocks{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.entry-rocks i{position:absolute;width:55vw;height:52vh;border:1px solid #a3b5d11c;border-radius:43% 57% 52% 48%;transform:rotate(-24deg)}.entry-rocks i:nth-child(1){left:-33vw;top:-20vh}.entry-rocks i:nth-child(2){left:-27vw;top:-13vh}.entry-rocks i:nth-child(3){right:-29vw;bottom:-18vh}.entry-rocks i:nth-child(4){right:-24vw;bottom:-12vh}.entry-shell{width:min(100%,380px);display:flex;flex-direction:column;align-items:center;gap:22px;animation:entry-rise .45s ease-out both}.entry-brand{display:flex;align-items:center;justify-content:center;gap:11px;white-space:nowrap}.entry-brand strong{font:900 clamp(40px,5vw,55px)/1 Impact,"Arial Narrow",system-ui,sans-serif;letter-spacing:.025em}.entry-brand strong span{color:#ab9dff}.entry-brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid #9c96f5;border-radius:12px;color:#b6aaff;font-size:34px;font-weight:900;transform:rotate(-8deg)}.entry-card{position:relative;width:100%;padding:30px 27px 26px;border:1px solid #8f9ab66b;border-radius:20px;background:linear-gradient(145deg,#273345df,#1b2535d9);box-shadow:0 24px 80px #03060c75,0 0 35px #8173d31a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.entry-corner{position:absolute;width:27px;height:27px;pointer-events:none}.entry-corner-one{left:-1px;top:-1px;border-left:2px solid #ad9cff;border-top:2px solid #ad9cff;border-radius:20px 0 0}.entry-corner-two{right:-1px;bottom:-1px;border-right:2px solid #899eff;border-bottom:2px solid #899eff;border-radius:0 0 20px}.entry-eyebrow{display:block;color:#aea7ff;font-size:11px;font-weight:900;letter-spacing:.19em}.entry-card h1{margin:9px 0 11px;color:#fff;font:800 27px/1.15 Inter,system-ui,sans-serif;letter-spacing:-.03em}.entry-copy{margin:0 0 23px;color:#bac7d7;font-size:13px;line-height:1.5}.entry-card form{display:flex;flex-direction:column}.entry-card label:not(.entry-agree){display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;color:#eef1f8;font-size:12px;font-weight:800}.entry-card label:not(.entry-agree) span{color:#bcacff}.entry-card label small{font-size:10px;font-weight:500;color:#aebbd0}.entry-card input:not([type=checkbox]){width:100%;min-height:47px;margin:0 0 18px;padding:12px 13px;border:1px solid #64728a;border-radius:10px;background:#161e2b;color:#f8faff;font-size:14px}.entry-card input::placeholder{color:#8390a5}.entry-card input:focus{border-color:#a49dff;box-shadow:0 0 0 3px #9f91ff26}.entry-agree{display:flex;align-items:flex-start;gap:9px;margin:1px 0 19px;color:#cbd4e1;font-size:11px;font-weight:500;line-height:1.45}.entry-agree input{width:17px;height:17px;flex:none;margin:0;accent-color:#8376e9}.entry-agree a,.entry-links a{color:#c9c3ff;text-decoration:underline;text-underline-offset:3px}.entry-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0;border:0;border-radius:10px;background:linear-gradient(110deg,#795fdb,#668ee8);color:#fff;text-decoration:none;font-size:13px;font-weight:900;box-shadow:0 9px 24px #655cd044;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}@media(hover:hover)and (pointer:fine){.entry-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 27px #655cd066}}.entry-primary span{font-size:19px}.entry-note{margin:16px 0 0;color:#a6b4c7;font-size:11px;text-align:center}.entry-links{position:static;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 19px;width:100%;padding:0;transform:none;border:0;border-radius:0;background:transparent;font-size:11px;box-shadow:none}.entry-links a{color:#b7c4dc;text-decoration:none}@media(hover:hover)and (pointer:fine){.entry-links a:hover{text-decoration:underline}}@keyframes entry-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:420px){.entry-page{place-items:start center;padding:calc(28px + env(safe-area-inset-top)) 12px calc(22px + env(safe-area-inset-bottom));overflow-y:auto}.entry-shell{width:100%;max-width:380px;gap:19px;margin:auto 0}.entry-brand strong{font-size:44px}.entry-card{padding:25px 20px 22px}.entry-card h1{font-size:25px}.entry-links{gap:8px 14px}}@media(max-width:340px){.entry-card{padding:22px 15px}.entry-brand strong{font-size:39px}.entry-card h1{font-size:23px}.entry-copy{font-size:12px}}@media(prefers-reduced-motion:reduce){.entry-shell{animation:none}.entry-primary{transition:none}}.entry-invite-form{display:grid;gap:10px;margin-top:16px}.entry-invite-form input{min-width:0;width:100%}.entry-invite-form .entry-primary{margin-top:2px}.entry-invite-form .entry-note{margin:6px 0 0;line-height:1.5}.legal-checks{display:grid;gap:8px;margin:2px 0 18px}.legal-checks .entry-agree{align-items:flex-start;min-height:44px;margin:0;font-size:13px;line-height:1.45}.legal-checks .entry-agree input{width:21px;height:21px;margin-top:1px}.entry-card .legal-checks a{color:#e7c696}.entry-card .legal-checks a:focus-visible{outline:2px solid #e7b978;outline-offset:2px}.adventure-page{max-width:1080px;margin:0 auto;padding-bottom:110px}.adventure-page>h1{margin:14px 0 8px}.adventure-kicker{display:block;color:#efbb72;font-size:.74rem;font-weight:800;letter-spacing:.16em;margin:12px 0}.adventure-session{margin:16px 0 24px;border-color:#b2804c;background:linear-gradient(135deg,#183640,#0b2632 68%,#253b41)}.adventure-session>.adventure-result{margin-top:24px}.adventure-clock{font-family:Georgia,serif;font-size:clamp(2rem,6vw,3rem);color:#ffcd82;margin:8px 0}.adventure-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px}.adventure-metrics span{min-width:0;padding:12px;border:1px solid #62827b;background:#16343c;display:flex;flex-direction:column;gap:5px}.adventure-metrics b{color:#ffd695;font-size:clamp(1.2rem,4vw,2rem);overflow-wrap:anywhere}.adventure-metrics small{color:#bdd1ca}.adventure-earned{display:grid;gap:6px;margin:16px 0;color:#ffda9e}.adventure-result{background:linear-gradient(145deg,#163e48,#102b36);border:2px solid #c28a50}.adventure-result h2{color:#ffe0a9}.adventure-map{position:relative;overflow:hidden;min-height:460px;margin:20px 0;border:5px ridge #9d754b;box-shadow:inset 0 0 0 4px #244851,0 12px 25px #0008;background:radial-gradient(circle at 72% 15%,#77a8b6 0 3%,transparent 3.2%),linear-gradient(#0d2d43,#1a4751 51%,#123842)}.adventure-map:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 19px,#9ab3a30a 20px),repeating-linear-gradient(90deg,transparent 0 19px,#9ab3a30a 20px);pointer-events:none}.adventure-mountains{position:absolute;top:8%;right:0;bottom:0;left:0;background:#0a2634;clip-path:polygon(0 62%,12% 38%,20% 52%,34% 25%,46% 49%,61% 19%,74% 45%,88% 26%,100% 55%,100% 100%,0 100%);opacity:.77}.adventure-map-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-content:center;min-height:460px;padding:30px}.adventure-zone{min-width:0;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:3px solid #c69458;background:#12333df2;color:#ffdfac;box-shadow:4px 5px #071820;cursor:pointer}.adventure-zone:hover,.adventure-zone:focus-visible{outline:2px solid #f7ca81;outline-offset:3px}.adventure-zone.locked{filter:saturate(.35);border-color:#64817d;color:#bec8c0}.adventure-zone b{font-family:Georgia,serif;text-align:center;overflow-wrap:anywhere}.adventure-zone small{font-size:.72rem}.adventure-zone-rune{font-size:2rem;line-height:1}.adventure-bar{display:grid;grid-template-columns:42px minmax(0,1fr) 54px 65px;gap:10px;align-items:center;margin:12px 0}.adventure-bar>div{height:20px;background:#213d47;border:1px solid #678b89}.adventure-bar i{display:block;height:100%;background:linear-gradient(90deg,#8ac2b2,#f6be78)}.adventure-bar span{text-align:right;color:#ffe0a0}.adventure-bar small{text-align:right;color:#bbd0cb}.adventure-switch{display:flex;gap:8px;flex-wrap:wrap}.adventure-trend{min-height:180px;display:flex;align-items:end;gap:6px;margin-top:18px;overflow-x:auto}.adventure-trend>div{min-width:34px;flex:1;height:150px;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:5px}.adventure-trend span{display:block;width:80%;max-width:46px;background:linear-gradient(#f5be75,#679d9b);border:1px solid #f6d08c}.adventure-trend small{font-size:.63rem;white-space:nowrap}.adventure-chronicle{position:relative;margin:24px 0;padding-left:22px}.adventure-chronicle:before{content:"";position:absolute;left:11px;top:0;bottom:0;border-left:3px solid #ae814f}.adventure-chronicle article{display:flex;gap:18px;align-items:start;position:relative;margin:14px 0}.adventure-chronicle article:before{content:"";position:absolute;left:-25px;top:24px;width:9px;height:9px;background:#ffce83;border:2px solid #273c41;transform:rotate(45deg)}.adventure-chronicle-icon{font-size:1.8rem;color:#ffc47e;min-width:36px}.adventure-chronicle h3{margin:6px 0}.adventure-chronicle p{margin:5px 0}.adventure-chronicle small{color:#aac8c3}.adventure-duel-form{display:grid;gap:8px}.adventure-duel-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adventure-duels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.adventure-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adventure-score span{min-width:0;background:#173a43;border:1px solid #75968b;padding:12px;display:grid;gap:3px}.adventure-score b{font-size:2rem;color:#ffd28f}.adventure-score small{overflow-wrap:anywhere}.adventure-score em{color:#e4be78}.adventure-duel-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}@media(max-width:700px){.adventure-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px}.adventure-zone{min-height:115px;padding:7px}.adventure-duels{grid-template-columns:1fr}.adventure-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.adventure-bar{grid-template-columns:36px minmax(0,1fr) 48px 50px;gap:5px}.adventure-bar small{font-size:.67rem}}@media(prefers-reduced-motion:no-preference){.adventure-zone.open{animation:adventure-reveal .4s ease-out both}.adventure-zone:nth-child(2){animation-delay:.04s}.adventure-zone:nth-child(3){animation-delay:.08s}.adventure-zone:nth-child(4){animation-delay:.12s}@keyframes adventure-reveal{0%{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:none}}}.adventure-share-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.adventure-share-actions button{min-width:0;padding-inline:8px}@media(max-width:430px){.adventure-share-actions{grid-template-columns:1fr}.adventure-share-actions button{width:100%}}.adventure-map{min-height:650px;background-image:linear-gradient(#07192942,#07192952),url(./viking-adventure-map-CmNIMntI.webp);background-size:cover;background-position:center}.adventure-mountains{display:none}.adventure-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;min-height:650px;margin:auto;align-content:space-around;gap:12px;padding:24px}.adventure-zone{width:min(100%,210px);min-height:76px;padding:7px 10px;background:#0a2635c9;box-shadow:3px 4px #071820b8;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.adventure-zone:nth-child(2n){justify-self:end}.adventure-zone-rune{font-size:1.5rem}.adventure-zone small{font-size:.66rem}.adventure-zone.locked{background:#0b1d29d9}@media(max-width:700px){.adventure-map,.adventure-map-grid{min-height:570px}.adventure-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:9px}.adventure-zone{min-height:74px}.adventure-zone b{font-size:.86rem}.adventure-zone-rune{font-size:1.25rem}}.invite-link-row{display:flex;align-items:stretch;gap:8px}.invite-link-row input{min-width:0;flex:1}.invite-link-row button{flex:none;min-width:76px;margin-top:7px;padding:8px;font-size:12px}.invite-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:7px}.invite-qr-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#030d16d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.invite-qr-dialog{width:min(100%,390px);max-height:calc(100dvh - 36px);overflow:auto;padding:20px;border:2px solid #c7975f;border-radius:12px;background:#112b34;color:#f6eddb;box-shadow:0 18px 60px #000b}.invite-qr-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.invite-qr-heading small{color:#bdd2cf;font-size:10px;letter-spacing:.1em}.invite-qr-heading h2{margin:5px 0 14px}.invite-qr-heading button{min-width:36px;min-height:36px;padding:0;font-size:23px}.invite-qr-image{display:block;width:min(100%,320px);height:auto;aspect-ratio:1;margin:6px auto 14px;padding:4px;border-radius:8px;background:#fff;image-rendering:pixelated}.invite-qr-dialog p{margin:10px 0;text-align:center}@media(max-width:370px){.invite-actions{gap:4px 12px}.invite-actions button{font-size:12px}.invite-qr-dialog{padding:15px}}.coach-home{margin:16px 0 24px;display:grid;gap:10px}.coach-home-next{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--n-line,#638380);border-radius:9px;background:var(--n-card,#193338)}.coach-home-next h2{margin:0 0 5px}.coach-home-next p{margin:0}.coach-home-next button{flex:none;min-height:48px}.coach-home-queues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px}.coach-queue{min-width:0;border:1px solid var(--n-line,#638380);border-radius:9px;background:var(--n-card,#193338)}.coach-queue summary,.coach-queue-empty{min-height:48px;padding:12px}.coach-queue summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.coach-queue summary::-webkit-details-marker{display:none}.coach-queue summary:after{content:"›";font-size:20px;color:var(--n-accent,#e7b978)}.coach-queue[open] summary:after{transform:rotate(90deg)}.coach-queue summary:focus-visible{outline:2px solid var(--n-accent,#e7b978);outline-offset:2px}.coach-queue-count{margin-left:auto;color:var(--n-accent,#e7b978);font-variant-numeric:tabular-nums}.coach-queue-empty{display:grid;gap:4px}.coach-queue-list{display:grid;gap:5px;list-style:none;margin:0;padding:0 8px 8px}.coach-queue-list button{display:grid;gap:3px;width:100%;min-height:48px;padding:9px 10px;text-align:left;overflow-wrap:anywhere}.coach-manage-group{margin:22px 0 28px}.coach-manage-group h2{margin:0 0 9px}.coach-manage-group .coach-fold{margin:8px 0}.coach-fold,.private-chat,.home-post .statusbox{scroll-margin-top:16px}@media(max-width:560px){.coach-home-next{align-items:stretch;flex-direction:column}.coach-home-queues{grid-template-columns:minmax(0,1fr)}}.home-workout-places{margin:12px 0 16px}.home-workout-places h2{font-size:18px;margin:0 0 10px}.home-workout-place-buttons,.workout-place-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-workout-place-buttons button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 13px;text-align:left}.home-workout-place-buttons button.selected,.workout-place-picker button.selected{background:linear-gradient(180deg,#ffd493,#d99a59);border-color:#ffd493;color:#271c17}.home-workout-place-buttons small{display:grid;place-items:center;min-width:25px;height:25px;border:1px solid currentColor;border-radius:4px;font-size:12px}.home-workout-places>.textbtn{margin-top:9px;padding:5px 0}.workout-place-picker button{min-height:44px}.workout-place-field{display:block;margin:12px 0}.workout-place-field>span{display:block;margin-bottom:7px;font-weight:700}@media(max-width:360px){.home-workout-place-buttons button{padding:8px;font-size:12px}}.home-post,.training-feed-card{min-width:0;overflow-wrap:anywhere}.home-post-meta,.home-post-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0}.home-post-meta small{margin-left:auto}.home-post h2,.training-feed-card h2{margin:12px 0 8px;overflow-wrap:anywhere}.home-post .body{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.home-post-summary{font-size:13px;color:#b7c9c5;margin:10px 0}.home-post-summary strong{color:#f1dfbd}.home-post-toggle{display:block;min-height:44px;width:100%;margin-top:12px;text-align:center}.home-post-details{min-width:0;margin-top:16px;padding-top:16px;border-top:1px solid #79989a66}.home-body-toggle{padding:4px 0;min-height:34px}.home-empty{display:grid;justify-items:center;gap:14px;text-align:center}.home-empty .secondary{min-height:44px}.training-feed-card{margin-bottom:12px}.training-feed-card .home-post-summary{justify-content:space-between}.training-set-compact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:7px;color:#dce9df;font-size:13px}.training-set-compact-actions{display:flex;flex-wrap:wrap;gap:6px}.training-set-compact-actions button{min-height:36px;padding:5px 10px;font-size:12px}.training-set.compact{padding:9px 12px}.training-set-collapse{margin-top:8px}@media(max-width:480px){.home-post-meta small{margin-left:0}.home-post-summary{display:grid;gap:5px}.training-set-compact-actions{width:100%}.training-set-compact-actions button{flex:1}}.clan-card-heading{gap:12px}.clan-card-toggle{display:flex;align-items:center;gap:9px;min-width:0;min-height:44px;padding:6px 0;background:transparent;color:inherit;text-align:left;box-shadow:none}.clan-card-toggle:hover{filter:none}.clan-card-chevron{flex:none;color:#f3c383;font-size:17px;transition:transform .2s ease}.clan-card-toggle[aria-expanded=true] .clan-card-chevron{transform:rotate(90deg)}.clan-card-title{min-width:0;overflow-wrap:anywhere;font-weight:700}.clan-card-title small{display:block;margin-top:2px;font-weight:400}.clan-card-heading>.textbtn{flex:none;min-height:44px}.clan-card-members{padding:4px 0 8px 26px}.clan-card-members .check{min-height:40px;overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.clan-card-chevron{transition:none}}.coach-fold{margin:14px 0;min-width:0}.coach-fold-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:14px 18px;border:1px solid #8d8d6c99;border-radius:8px;background:linear-gradient(145deg,#16333ded,#0c2530f4);color:#f2e6d4;text-align:left;box-shadow:inset 0 0 0 2px #091e29,inset 0 2px #d6ad6b32,0 9px 24px #020c13ad}.coach-fold-toggle strong{font-size:16px}.coach-fold-toggle>span{display:flex;align-items:center;gap:7px;flex:none;color:#c7d4cf;font-size:12px}.coach-fold-toggle>span span{color:#e2bb7b;font-size:24px;line-height:1}.coach-fold-toggle:focus-visible{outline:2px solid #e2bb7b;outline-offset:2px}.coach-fold-body[hidden]{display:none!important}.coach-fold-body>.card{margin:0}.coach-fold-body>.card>h2:first-child{display:none}.coach-fold.is-open .coach-fold-toggle{border-radius:8px 8px 0 0;border-bottom-color:#d4a269}.coach-fold.is-open .coach-fold-body>.card{border-radius:0 0 8px 8px;border-top:0}@media(max-width:600px){.coach-fold-toggle{min-height:54px;padding:12px 14px}.coach-fold-toggle strong{font-size:15px}}.arena-page{max-width:1100px;margin:0 auto;padding:12px 0 110px;color:#efe7d6}.arena-page button{touch-action:manipulation}.arena-kicker{display:block;color:#e9bb78;letter-spacing:.14em;font-size:.74rem;font-weight:800}.arena-heading,.arena-battle-hero{position:relative;overflow:hidden;margin:16px 0;padding:26px 20px;border:3px solid #ad8758;background:radial-gradient(circle at 70% 23%,#c8ddcc33 0 4%,transparent 4.5%),linear-gradient(150deg,#173e4e,#071824 75%);box-shadow:inset 0 0 0 3px #0b2730,5px 6px #061018}.arena-heading:after,.arena-battle-hero:after{content:"";position:absolute;right:-8%;bottom:0;width:80%;height:55%;background:#142d3d;clip-path:polygon(0 100%,11% 59%,21% 79%,33% 37%,46% 82%,62% 13%,78% 71%,91% 33%,100% 80%,100% 100%);opacity:.68;pointer-events:none}.arena-heading>*,.arena-battle-hero>*{position:relative;z-index:1}.arena-heading h1,.arena-battle-hero h1{font-family:Georgia,serif;font-size:clamp(1.8rem,5vw,3rem);color:#f8d59a;margin:10px 0}.arena-heading p,.arena-battle-hero p{max-width:620px;color:#c9d7cf}.arena-tabs{display:flex;gap:8px;margin:17px 0}.arena-tabs button{flex:1;border:2px solid #697c76;background:#173640;color:#d9e1d6}.arena-tabs button.selected{border-color:#d0a36c;color:#ffdc9d;background:#3e3a31}.arena-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:15px 0}.arena-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:118px;text-align:left;border-color:#8a7861!important;background:linear-gradient(135deg,#173b43,#102632)!important;color:#f0dfc4!important}.arena-list-item strong{font-size:1.07rem;color:#ffda9e}.arena-list-item small{color:#c0d1ca}.arena-list-item span{color:#87c5bb}.arena-wizard{border:2px solid #b88e5c;background:linear-gradient(155deg,#1d3b43,#0c2531);margin-top:18px}.arena-wizard h2{color:#ffe0aa;margin:8px 0 18px}.arena-mode-grid,.arena-peer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.arena-mode-grid button,.arena-peer-grid button{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;min-height:130px;padding:14px;border:2px solid #657c78;background:#15323b;color:#f3e6ce;box-shadow:3px 3px #071720}.arena-mode-grid button.selected,.arena-peer-grid button.selected{border-color:#f0bb72;background:#394137}.arena-mode-grid button>span{font-family:Georgia,serif;font-size:2rem;color:#f3c381}.arena-mode-grid small,.arena-peer-grid small{font-size:.77rem;color:#c3d2ca}.arena-peer-grid .arena-viking{width:55px;height:62px}.arena-peer-grid label{grid-column:1/-1}.arena-fields{display:grid;gap:13px}.arena-fields label,.arena-coach label{display:grid;gap:6px}.arena-fields input,.arena-coach input,.arena-peer-grid select,.arena-coach select{width:100%;min-width:0}.arena-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.arena-fields fieldset{display:flex;flex-wrap:wrap;gap:10px;border:1px solid #768681}.arena-fields fieldset label,.arena-checkbox{display:flex!important;align-items:center;gap:6px}.arena-fields fieldset input,.arena-checkbox input{width:auto}.arena-wizard-actions,.arena-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px;flex-wrap:wrap}.arena-confirm{border:1px solid #9d845e;padding:15px;background:#102e39}.arena-confirm p{margin:8px 0}.arena-scoreboard{padding:15px;border:3px solid #a68155;background:linear-gradient(#0f2935,#173d45 60%,#0a2732);box-shadow:inset 0 0 0 3px #09202a}.arena-fighters{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px}.arena-fighter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:245px;padding:10px;border:2px solid #607a79;background:linear-gradient(180deg,#16414b,#09222f);text-align:center}.arena-fighter-winner{border-color:#e4b35f;box-shadow:inset 0 0 22px #d89d4533}.arena-viking{width:90px;height:102px;image-rendering:pixelated;filter:drop-shadow(4px 5px 0 #071820)}.arena-viking.right{transform:scaleX(-1)}.arena-fighter strong{font-size:clamp(.8rem,2.4vw,1.1rem);overflow-wrap:anywhere}.arena-fighter b{font-family:Georgia,serif;font-size:clamp(1.8rem,7vw,3.5rem);color:#ffd08a;line-height:1}.arena-fighter small{font-size:.67rem;color:#bbd6ce}.arena-coefficient{color:#eec78b;font-size:.75rem}.arena-vs{position:absolute;left:50%;top:37%;transform:translate(-50%,-50%);z-index:2;padding:7px 9px;border:2px solid #d3a064;background:#17313b;color:#ffdb9d;font-family:Georgia,serif;font-size:1.2rem;font-weight:700}.arena-compare{margin-top:14px;text-align:center}.arena-compare-line{height:22px;border:2px solid #a3895f;background:#324a55}.arena-compare-line i{display:block;height:100%;background:linear-gradient(90deg,#dbaa63,#f4d28f);transition:width .6s ease}.arena-compare small{display:block;margin-top:6px;color:#d5e0d6}.arena-route-link{display:block;margin:15px auto 2px}.arena-rules,.arena-chronicle,.arena-result{margin:15px 0}.arena-rules strong{color:#f9d49b}.arena-rules small{color:#b9d0c8}.arena-result{border-color:#c9a265;background:#203e3e}.arena-result h2{color:#ffda98}.arena-result span{display:block;margin:8px 0;color:#e6bf7b}.arena-chronicle h2{color:#ffda98}.arena-chronicle ol{list-style:none;margin:0;padding:0}.arena-chronicle li{display:flex;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #54706d}.arena-chronicle time{font-size:.7rem;color:#b8c9c2;min-width:82px}.arena-chronicle li div{display:grid;gap:2px;flex:1;min-width:0}.arena-chronicle li span{font-size:.8rem;color:#b9d0c5}.arena-chronicle li b{color:#f5c078}.arena-history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.arena-history-stats>div{display:grid;gap:4px;text-align:center}.arena-history-stats b{font-size:1.5rem;color:#ffd18d}.arena-history-stats small{color:#c2d2cb}.arena-coach summary{cursor:pointer;color:#f7d29b;font-size:1.1rem;font-weight:700}.arena-coach h3{color:#eec383}.arena-points-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.arena-coach>label{margin:10px 0}.arena-sound{display:flex;align-items:center;gap:6px;color:#cbd9d0}.arena-victory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:grid;place-items:center;padding:16px;background:#020b14e8}.arena-victory-scene{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;width:min(100%,520px);min-height:min(74dvh,650px);padding:34px 20px;border:5px solid #d3a05f;background:radial-gradient(circle at 50% 25%,#b9c6a85c,transparent 28%),linear-gradient(#102b42,#173848 56%,#0b222f);box-shadow:inset 0 0 0 5px #142c39,0 20px 70px #000}.arena-victory-mountain{position:absolute;top:35%;right:0;bottom:0;left:0;background:#09202e;clip-path:polygon(0 100%,0 55%,15% 34%,25% 50%,40% 18%,55% 52%,72% 22%,86% 52%,100% 30%,100% 100%)}.arena-victory-sky{position:absolute;top:7%;right:12%;bottom:7%;left:12%;display:flex;justify-content:space-between;color:#e7c892;opacity:.6}.arena-victory-runes{position:absolute;top:27%;color:#f9d58a;letter-spacing:1em;opacity:.7}.arena-victory-scene .arena-viking{z-index:1;width:135px;height:155px}.arena-victory-scene h2,.arena-victory-scene p,.arena-victory-scene strong{position:relative;z-index:1;text-align:center}.arena-victory-scene h2{font-family:Georgia,serif;color:#ffe0a0;font-size:clamp(2rem,8vw,3rem);margin:5px 0}.arena-victory-scene p{margin:3px 0}.arena-battle-ended{letter-spacing:.14em;color:#d2ded4}.arena-skip{position:absolute;top:14px;right:14px;z-index:3;font-size:.8rem}.arena-victory-scene.stage-0 .arena-viking,.arena-victory-scene.stage-0 h2,.arena-victory-scene.stage-0 strong,.arena-victory-scene.stage-1 h2,.arena-victory-scene.stage-1 strong{opacity:0}.arena-victory-scene.stage-1 .arena-viking{animation:arena-rise .8s steps(8,end) both}.arena-victory-scene.stage-2 h2{animation:arena-reveal .6s steps(5,end) both}.arena-victory-scene.stage-2 .arena-victory-runes{animation:arena-glow 1.3s ease-in-out alternate infinite}@keyframes arena-rise{0%{transform:translateY(26px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes arena-reveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes arena-glow{0%{opacity:.4}to{opacity:1}}@media(max-width:600px){.arena-mode-grid,.arena-peer-grid{grid-template-columns:1fr 1fr}.arena-mode-grid button{min-height:132px;padding:10px}.arena-fighter{min-height:220px}.arena-viking{width:72px;height:83px}.arena-chronicle li{flex-wrap:wrap}.arena-chronicle time{min-width:70px}.arena-points-grid,.arena-history-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.arena-victory-scene{min-height:70dvh}.arena-dates{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.arena-viking,.arena-victory-scene *,.arena-compare-line i{animation:none!important;transition:none!important}.arena-victory-scene.stage-0 .arena-viking,.arena-victory-scene.stage-0 h2,.arena-victory-scene.stage-0 strong,.arena-victory-scene.stage-1 h2,.arena-victory-scene.stage-1 strong{opacity:1}}.arena-fighter{position:relative}.arena-gain{position:absolute;top:32%;right:8%;color:#ffde8f;font-size:1.25rem;font-weight:900;pointer-events:none;animation:arena-points-rise 1.3s steps(8,end) both}@keyframes arena-points-rise{0%{opacity:0;transform:translateY(12px)}30%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.arena-history-actions{display:flex;gap:7px;flex-wrap:wrap}.arena-history-actions button{min-height:40px}.arena-audit summary,.arena-legacy summary{cursor:pointer;color:#f1c88b;font-weight:800}.arena-audit>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #526c68;padding:8px 0}.arena-audit small{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.arena-gain{animation:none}}.arena-invitations{margin:20px 0}.arena-invitations h2{color:#f8d59a;font-size:1.15rem}.arena-invitation{display:grid;gap:9px;margin:10px 0;padding:16px}.arena-invitation>strong{font-size:1.1rem;color:#ffe0a3}.arena-invitation>small{overflow-wrap:anywhere}.arena-invitation .arena-actions{display:flex;gap:8px;flex-wrap:wrap}.arena-invitation .arena-actions button{flex:1 1 130px;min-height:44px}.arena-detail{--arena-ease:cubic-bezier(.23,1,.32,1);display:grid;gap:12px;padding-top:14px}.arena-peer-intro{grid-column:1/-1;margin:0 0 4px;color:#d8e4d9;font-weight:700}.arena-recovery{margin:18px 0;padding:24px;border:2px solid #c2945b;background:#12323d;color:#eee5d5}.arena-recovery h1{margin:0 0 10px;color:#ffdc9f;font-family:Georgia,serif}.arena-recovery p{line-height:1.5}.arena-detail>.arena-back{justify-self:start;margin-bottom:2px}.arena-detail .arena-battle-hero{margin:0;padding:22px 20px 20px;border-color:#c2945b;background:radial-gradient(circle at 78% 20%,#c7d9d233 0 4%,transparent 4.5%),linear-gradient(145deg,#164352,#0b2431 75%);animation:arena-detail-enter .3s var(--arena-ease) both}.arena-detail .arena-battle-hero:before{content:"ᚱ ᛉ ᛟ";position:absolute;right:18px;top:16px;color:#e9b77344;font-size:1.1rem;letter-spacing:.3em;pointer-events:none}.arena-detail .arena-battle-hero h1{max-width:80%;margin:8px 0 4px;line-height:1.08;overflow-wrap:anywhere}.arena-detail .arena-battle-hero p{margin:0 0 14px}.arena-phase{display:inline-flex;align-items:center;max-width:100%;padding:7px 10px;border:1px solid #89b8ad;background:#143d40;color:#b2e4d7;font-size:.78rem;font-weight:800;line-height:1.35;box-shadow:3px 3px #061820}.arena-phase-finished{border-color:#c79a61;background:#42392f;color:#ffdc9f}.arena-detail .arena-scoreboard{margin:0;padding:14px;border-color:#c2945b;background:linear-gradient(180deg,#0b2532,#123c43 55%,#0b2732);box-shadow:inset 0 0 0 3px #09212a,4px 5px #06151e;animation:arena-detail-enter .36s var(--arena-ease) both;animation-delay:70ms}.arena-detail .arena-fighter{position:relative;min-height:218px;padding:13px 9px 12px;border-color:#73918a;background:linear-gradient(180deg,#184b53,#0d2936 78%);box-shadow:inset 0 0 0 3px #0c303b}.arena-detail .arena-fighter:before{content:"ᛟ";position:absolute;top:6px;left:9px;color:#b9c9aa55;font-size:.8rem}.arena-detail .arena-fighter strong{max-width:100%;line-height:1.2;font-size:clamp(.83rem,3.6vw,1.07rem);color:#f6e6c8}.arena-detail .arena-fighter b{font-size:clamp(2rem,8vw,3.25rem);text-shadow:2px 3px 0 #4b3425}.arena-detail .arena-fighter small{line-height:1.35;letter-spacing:.03em}.arena-detail .arena-fighter .arena-viking{animation:arena-fighter-enter .4s var(--arena-ease) both}.arena-detail .arena-fighter:nth-child(2) .arena-viking{animation-delay:.1s}.arena-detail .arena-vs{top:39%;border-color:#e0b176;box-shadow:3px 3px #071c25}.arena-detail .arena-compare-line{height:16px;border-color:#b99461;background:#0a2632}.arena-detail .arena-compare-line i{transition:width .48s cubic-bezier(.77,0,.175,1)}.arena-detail .arena-compare small{font-weight:700}.arena-detail .arena-route-link{max-width:100%;min-height:42px;margin:15px auto 2px;white-space:normal}.arena-detail .arena-rules,.arena-detail .arena-chronicle,.arena-detail .arena-result,.arena-detail .arena-audit{margin:0;padding:16px 18px;border:2px solid #698d87;background:linear-gradient(155deg,#143b43,#0c2935);color:#e6e8dc;box-shadow:inset 0 0 0 2px #0a2530,3px 4px #061720}.arena-detail .arena-rules strong,.arena-detail .arena-chronicle h2,.arena-detail .arena-result h2{display:block;margin:0 0 9px;color:#ffdc9f;font-family:Georgia,serif;font-size:clamp(1.15rem,4vw,1.45rem)}.arena-detail .arena-rules p,.arena-detail .arena-rules small,.arena-detail .arena-chronicle p,.arena-detail .arena-chronicle li span{color:#d2e0d8;line-height:1.5;overflow-wrap:anywhere}.arena-detail .arena-chronicle li{animation:arena-event-enter .24s var(--arena-ease) both}.arena-detail .arena-chronicle li:last-child{border-bottom:0}.arena-detail .arena-fighter-scored{border-color:#dfb476}.arena-detail .arena-fighter-scored b{animation:arena-score-change .28s var(--arena-ease) both}.arena-detail .arena-gain{top:22%;right:4%;z-index:2;text-shadow:2px 2px #142c32}.arena-detail button:active{transform:translateY(1px);transition:transform .12s var(--arena-ease)}@keyframes arena-detail-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes arena-fighter-enter{0%{opacity:0;transform:translateY(13px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes arena-score-change{0%{transform:scale(1.15);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes arena-event-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.arena-detail{gap:10px}.arena-detail .arena-battle-hero{padding:18px 16px}.arena-detail .arena-battle-hero h1{max-width:100%;padding-right:35px}.arena-detail .arena-scoreboard{padding:9px}.arena-detail .arena-fighters{gap:8px}.arena-detail .arena-fighter{min-height:196px;padding:10px 5px}.arena-detail .arena-fighter .arena-viking{width:68px;height:78px}.arena-detail .arena-vs{font-size:.95rem;padding:5px 7px}.arena-detail .arena-rules,.arena-detail .arena-chronicle,.arena-detail .arena-result{padding:14px}.arena-detail .arena-route-link{font-size:.82rem}}@media(prefers-reduced-motion:reduce){.arena-detail .arena-battle-hero,.arena-detail .arena-scoreboard,.arena-detail .arena-fighter .arena-viking,.arena-detail .arena-fighter-scored b,.arena-detail .arena-chronicle li{animation:none!important}.arena-detail .arena-compare-line i,.arena-detail button:active{transition:none!important}}.game-page{max-width:1080px;margin:auto;padding-bottom:110px}.game-page progress{display:block;width:100%;height:12px;margin:10px 0}.game-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.game-overview>div{display:grid;gap:4px;padding:8px;background:#183b43}.game-overview b{font-size:1.5rem;color:#ffd38d}.game-overview small{color:#b9d3cd}.game-map{position:relative;min-height:1050px;margin:18px 0;overflow:hidden;border:5px ridge #a47a4f;background:linear-gradient(#061b2a88,#061b2aaa),url(./viking-adventure-map-CmNIMntI.webp) center/cover,#163d48}.game-roads{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.game-roads path{fill:none;stroke:#e9b76d;stroke-width:12;stroke-dasharray:22 9;opacity:.85;filter:drop-shadow(2px 3px #173039)}.game-node{position:absolute;left:8%;width:42%;min-height:100px;padding:8px;display:grid;justify-items:center;gap:2px;background:#0b2739e9;border:3px solid #c99758;color:#ffdfaa;text-align:center;box-shadow:4px 5px #081821;cursor:pointer}.game-node:nth-of-type(2n){left:auto;right:8%}.game-node-0{top:2%}.game-node-1{top:16%}.game-node-2{top:30%}.game-node-3{top:44%}.game-node-4{top:58%}.game-node-5{top:72%}.game-node-6{top:86%}.game-node.locked{filter:saturate(.35);border-color:#66817f}.game-node.complete{border-color:#e3b76d}.game-node-icon{font-size:1.8rem}.game-node small{font-size:.75rem}.game-node em{font-size:.7rem;color:#fff}.game-territory-hero{min-height:230px;margin:16px 0;padding:26px;border:5px ridge #a47a4f;background:linear-gradient(110deg,#081d2ae9,#15394acc),url(./viking-adventure-map-CmNIMntI.webp) center/cover}.game-territory-hero h1{margin:4px 0;color:#ffe2a9}.game-hero-rune{float:right;font-size:3.4rem;color:#ffce83}.game-npc{margin-top:12px}.game-quest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-quest-list h2{grid-column:1/-1}.game-quest{min-width:0}.game-quest h3{margin:5px 0}.game-quest small{color:#f3c480}.game-quest-progress{display:flex;align-items:center;gap:10px}.game-done,.game-win{color:#bde7b2}.game-bottom-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.game-dialog button{margin:4px}.game-inventory-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#06131cc9;display:grid;place-items:center;padding:15px}.game-inventory{width:min(100%,550px);max-height:85vh;overflow:auto}.game-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #8a846f}.game-item>span{font-size:1.7rem;color:#f8ca85}.game-item>div{flex:1;display:grid}.game-item small{color:#afc9c5}.game-trainer{display:grid;gap:10px}.game-trainer label{display:grid;gap:4px}.game-trainer input,.game-trainer select,.game-trainer textarea{width:100%}@media(max-width:600px){.game-overview{grid-template-columns:repeat(2,1fr)}.game-map{min-height:850px}.game-node{width:45%;min-height:84px}.game-node-0{top:1%}.game-node-1{top:15%}.game-node-2{top:29%}.game-node-3{top:43%}.game-node-4{top:57%}.game-node-5{top:71%}.game-node-6{top:85%}.game-quest-list{grid-template-columns:1fr}.game-bottom-actions>*{width:100%}}@media(prefers-reduced-motion:no-preference){.game-win{animation:game-reveal .45s ease-out}@keyframes game-reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}.game-admin-quest{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #55736f;padding:8px 0}.game-admin-quest span{flex:1;min-width:160px}.game-profile-background{background:linear-gradient(135deg,#0b2031,#254859 60%,#b2cad2)!important}.game-profile-frame{display:inline-block;padding:7px;border:5px ridge #e7c281;box-shadow:0 0 0 4px #31546a,0 0 18px #dcebf155}.game-profile-title,.game-profile-crest{display:block;color:#ffda9e;font-family:Georgia,serif;margin:8px 0}.game-pixel-npc{width:35px;height:46px;image-rendering:pixelated;filter:drop-shadow(3px 3px #081b25)}.game-territory-hero>.game-pixel-npc{float:left;width:70px;height:94px;margin-right:20px}.game-victory{text-align:center;border:4px ridge #dfb777;background:linear-gradient(#102c3b,#31516a)}.game-victory-rune{display:block;font-size:4rem;color:#ffe4a1}@media(prefers-reduced-motion:no-preference){.game-victory-rune{animation:game-award .45s steps(5,end)}@keyframes game-award{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}}.game-current-goal p{margin:0 0 8px}.game-page .game-overview{gap:7px;margin:12px 0;padding:10px}.game-page .game-overview b{font-size:20px;line-height:1.2}.game-page .game-overview small{font-size:11px;line-height:1.3}.north-page{max-width:1200px;margin:auto;color:var(--n-text,#f6eddb);min-width:0}.north-page *,.north-admin *{box-sizing:border-box}.north-heading{position:relative;width:auto;height:auto;margin:22px 0;padding:22px 0;background:none;border:0;box-shadow:none;overflow-wrap:anywhere}.north-heading h1{font-family:Georgia,serif;font-size:clamp(25px,4vw,43px);line-height:1.12;margin:12px 0;color:var(--n-accent,#f1b56b)}.north-heading p{margin:8px 0;color:var(--n-muted,#b4c7c6)}.north-eyebrow{font-size:10px;letter-spacing:.13em;color:var(--n-accent,#f1b56b);font-weight:800}.north-panel{margin:18px 0;padding:20px;border:1px solid var(--n-line,#638380);border-radius:12px;background:var(--n-card,#112b34);min-width:0}.north-panel p{line-height:1.6;overflow-wrap:anywhere}.north-panel summary{min-height:44px;cursor:pointer;font-weight:800;padding:8px 0}.north-panel small,.north-admin-history small{display:block;margin-top:6px;color:var(--n-muted,#b4c7c6)}.north-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.north-stats article{display:grid;gap:7px;min-width:0;padding:18px;border:1px solid var(--n-line,#638380);background:var(--n-card,#112b34);border-radius:10px}.north-stats b{font-size:clamp(24px,4vw,38px);color:var(--n-accent,#f1b56b)}.north-stats span{font-size:12px;color:var(--n-muted,#b4c7c6);overflow-wrap:anywhere}.north-tabs{position:static;inset:auto;transform:none;z-index:auto;display:flex;align-items:stretch;justify-content:flex-start;gap:8px;width:100%;margin:22px 0;padding:0 0 8px;border:0;background:none;box-shadow:none;overflow-x:auto;border-radius:0}.north-tabs button{flex:0 0 auto;display:block;min-height:44px;padding:10px 15px;white-space:nowrap;font-size:13px}.north-tabs .selected{background:var(--n-accent,#f1b56b);color:var(--n-button-text,#241b18)}.north-vault{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px;padding:28px;border:1px solid var(--n-line,#638380);border-radius:16px;background:var(--n-card,#112b34)}.north-vault-art{position:relative;display:grid;place-content:center;min-width:0;min-height:340px;background:none}.north-chest-art{display:block;max-width:100%;width:360px;height:auto;image-rendering:pixelated;object-fit:contain}.north-idle{animation:north-idle 4s ease-in-out infinite}.north-runes{text-align:center;letter-spacing:.6em;color:var(--n-accent,#f1b56b);opacity:.65;font-size:20px}.north-vault-copy{align-self:center;min-width:0}.north-vault-copy h2{font-size:clamp(22px,3vw,32px);font-family:Georgia,serif;line-height:1.2}.north-vault-copy p{line-height:1.55}.north-vault-copy progress{width:100%;height:10px;accent-color:var(--n-accent,#f1b56b)}.north-open-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:55px;width:100%;margin:10px 0;white-space:normal;overflow-wrap:anywhere}.north-open-button small{color:inherit;font-size:10px;opacity:.8}.north-chances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.north-chances article{display:grid;gap:12px;padding:20px 14px;border:1px solid var(--rarity-color,#d6b175);background:var(--n-surface,#17343d);border-radius:10px;text-align:center}.north-chances strong{font-size:36px;color:var(--rarity-color,#d6b175)}.north-chances span{font-size:12px}.north-page [data-rarity=common]{--rarity-color:#e3b677}.north-page [data-rarity=epic],.north-opening[data-rarity=epic]{--rarity-color:#c7a3ee}.north-page [data-rarity=legendary],.north-opening[data-rarity=legendary]{--rarity-color:#ffdc86}.north-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px}.north-collection article{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;text-align:center;border:1px solid var(--rarity-color,#9c8a71);border-radius:10px;background:var(--n-surface,#17343d);min-width:0;overflow-wrap:anywhere}.north-collection article p{font-size:12px;flex:1;margin:0}.north-collection button{width:100%;min-height:42px}.north-reward-art{display:block;object-fit:contain;width:112px;height:112px;image-rendering:pixelated}.north-title-rune{display:grid;place-items:center;width:90px;height:90px;color:#e7bd7c;font-size:58px}.north-history-row{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--n-line,#638380)}.north-history-row>.north-reward-art,.north-history-row>.north-title-rune{flex:none;width:56px;height:56px;font-size:38px}.north-history-row>div{min-width:0;overflow-wrap:anywhere}.north-history-row small{display:block;margin-top:5px}.north-history-row strong{color:var(--rarity-color,#e3b677)}.north-opening-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15000;display:grid;place-items:center;padding:18px;background:#020c16e8;overflow-y:auto}.north-opening{--rarity-color:#e3b677;position:relative;width:min(100%,600px);max-height:calc(100dvh - 36px);overflow:auto;padding:44px 28px 28px;border:3px solid var(--rarity-color);border-radius:12px;background:var(--n-card,#112b34);text-align:center;color:var(--n-text,#f6eddb);box-shadow:none}.north-opening h2{font-family:Georgia,serif;font-size:clamp(23px,5vw,35px);color:var(--rarity-color);overflow-wrap:anywhere}.north-opening h3{font-size:clamp(20px,4vw,27px)}.north-opening p{line-height:1.55}.north-opening>.north-reward-art,.north-opening>.north-title-rune{margin:20px auto;width:150px;height:150px}.north-opening>button{min-height:46px;margin:8px}.north-opening .north-skip{position:absolute;right:10px;top:6px;padding:8px;font-size:12px;z-index:3}.north-opening-stage{position:relative;display:grid;place-items:center;height:330px;max-height:55dvh}.north-opening-stage .north-chest-art{width:330px}.north-opening.is-revealed .north-reveal-art{animation:north-reveal .25s ease-out}.north-avatar{position:relative;display:inline-block;vertical-align:middle;flex:none;width:76px;height:76px}.north-avatar.north-avatar-small{width:44px;height:44px}.north-avatar>.user-avatar{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:72%;height:72%;padding:0;border:0;border-radius:50%;object-fit:cover;object-position:center}.north-avatar>.north-avatar-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;pointer-events:none;image-rendering:pixelated;z-index:2}.north-active-title{color:var(--n-accent,#e3b677)!important;font-weight:700}.north-profile-entry{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:16px 0 0;padding:12px;width:100%;background:var(--n-surface,#17343d);color:var(--n-text,#f6eddb);border:1px solid var(--n-line,#638380);text-align:left}.north-profile-entry small{flex-basis:100%;font-size:11px;color:var(--n-muted,#b4c7c6)}.north-profile-entry strong{font-size:12px;color:var(--n-accent,#e3b677)}.north-admin{min-width:0}.north-admin-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}.north-admin-fields label{min-width:0}.north-admin .north-admin-history{padding:16px 0;border-bottom:1px solid var(--n-line,#638380);overflow-wrap:anywhere}.north-admin-history button{margin-top:10px}.north-admin input,.north-admin select,.north-admin textarea{max-width:100%;min-width:0}@keyframes north-idle{50%{transform:translateY(-5px)}}@keyframes north-reveal{0%{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.north-heading{padding:12px 0;margin:18px 0}.north-vault{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.north-vault-art{min-height:220px}.north-chest-art{width:260px}.north-stats{gap:6px}.north-stats article{padding:12px 8px}.north-stats span{font-size:10px}.north-chances{grid-template-columns:minmax(0,1fr)}.north-chances article{grid-template-columns:65px 1fr;text-align:left;align-items:center;padding:16px}.north-chances strong{grid-row:span 2;font-size:30px}.north-panel{padding:15px}.north-opening{padding:42px 16px 20px}.north-opening-stage{height:260px}.north-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.north-collection article{padding:12px 8px}.north-collection strong{font-size:13px}.north-reward-art{width:90px;height:90px}.north-tabs{gap:6px}.north-tabs button{padding:10px;font-size:12px}}@media(prefers-reduced-motion:reduce){.north-idle,.north-opening-stage .north-chest-art,.north-opening.is-revealed{animation:none!important}}[data-climbup-quality=low] .north-idle{animation:none}.north-reveal-art{position:relative;display:grid;place-items:center;isolation:isolate;min-height:180px;margin:20px auto}.north-reveal-art>.north-reward-art,.north-reveal-art>.north-title-rune{position:relative;z-index:1;width:150px;height:150px}.north-opening[data-rarity=epic] h2{color:#d6b9ff!important}.north-page button,.north-opening button,.north-admin button,.hero2d-card .north-profile-entry.secondary{background:var(--n-surface,#2b4542)!important;color:var(--n-text,#efe1c3)!important;border:1px solid var(--n-line,#526963)!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;transition:border-color .15s ease,background-color .15s ease}.hero2d-card .north-profile-entry.secondary{padding:15px 16px;border-radius:10px;gap:10px 16px;align-items:center}.hero2d-card .north-profile-entry.secondary>span{color:var(--n-text,#efe1c3);font-weight:750}.hero2d-card .north-profile-entry.secondary>strong{color:var(--n-text,#efe1c3);font-weight:600}.hero2d-card .north-profile-entry.secondary>small{color:var(--n-text,#efe1c3)!important;opacity:1;line-height:1.5;overflow-wrap:anywhere}.north-profile-entry.secondary:hover{border-color:var(--n-accent,#dca958)!important}.north-page .north-tabs button{background:transparent!important;color:var(--n-muted,#b8c7bd)!important}.north-page .north-tabs button.selected{background:var(--n-surface,#2b4542)!important;color:var(--n-text,#efe1c3)!important;border-color:var(--n-accent,#dca958)!important}.north-page .north-open-button[data-rarity=common]{--north-ink:#edf0e5;--north-muted:#cbd4c9;background:#2c3d38!important;color:var(--north-ink)!important;border-color:#718477!important}.north-page .north-open-button small{color:var(--north-muted,#cbd4c9)!important;opacity:1;line-height:1.4}.north-page .north-heading{background:none!important;border:0!important}.north-opening{min-height:min(600px,calc(100dvh - 36px));border-color:#81765f;box-shadow:none!important}.north-opening[data-rarity=epic]{border-color:#9580af}.north-opening[data-rarity=legendary]{border-color:#a18b60}.north-opening[data-rarity=legendary] h2{color:#dcc596!important;text-shadow:none}.north-opening[data-rarity=epic] h2{color:#cfbce4!important;text-shadow:none}.north-opening-stage{height:310px;max-height:48dvh;overflow:visible}.north-opening-stage img{max-height:100%;width:min(100%,360px);object-fit:contain}.north-chest-motion-closed{animation:north-anticipate .65s ease-in-out both}.north-chest-motion-open{animation:north-lid-open .3s ease-out both}@keyframes north-anticipate{0%,to{transform:translateY(0)}40%{transform:translateY(-3px) rotate(-.6deg)}70%{transform:translateY(-2px) rotate(.6deg)}}@keyframes north-lid-open{0%{transform:translateY(4px) scale(.985)}to{transform:translateY(0) scale(1)}}@media(max-width:760px){.north-opening{min-height:min(560px,calc(100dvh - 36px))}.north-opening-stage{height:260px}.hero2d-card .north-profile-entry.secondary{padding:12px}}@media(prefers-reduced-motion:reduce){.north-chest-motion-closed,.north-chest-motion-open,.north-opening.is-revealed .north-reveal-art{animation:none!important}}.north-page .north-open-button[data-rarity=epic]{--north-ink:#f0e8fa;--north-muted:#d8cbe9;background:#393047!important;color:var(--north-ink)!important;border-color:#9580af!important}.north-page .north-open-button[data-rarity=legendary]{--north-ink:#f7eacd;--north-muted:#e0d1b1;background:#433a2b!important;color:var(--north-ink)!important;border-color:#a18b60!important}.north-opening:not(.is-revealed){padding-top:72px}.north-pixelfx-stage{isolation:isolate;--north-chest-width:252px;--north-rune-width:348px;height:348px}.north-pixelfx-stage .north-opening-chest{position:relative;z-index:1;width:min(var(--north-chest-width),100%,36dvh);height:auto;aspect-ratio:10/13;object-fit:contain;image-rendering:pixelated}.north-pixelfx-stage .north-opening-runes{position:absolute;z-index:0;left:50%;top:50%;transform:translate(-50%,-50%);width:min(var(--north-rune-width),100%,48dvh);height:auto;aspect-ratio:1;object-fit:contain;opacity:.55}.north-reveal-art .north-reward-fx{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:0;width:220px;height:220px;max-width:100%;object-fit:contain;pointer-events:none;opacity:.65}.north-page .north-open-button[data-rarity=common]{--north-glow:195,140,72;border-color:#c39459!important}.north-page .north-open-button[data-rarity=epic]{--north-glow:169,109,230;border-color:#bc8ce9!important}.north-page .north-open-button[data-rarity=legendary]{--north-glow:238,190,74;border-color:#edc569!important}.north-page .north-open-button[data-rarity]{box-shadow:inset 0 0 18px rgba(var(--north-glow),.17),0 0 12px rgba(var(--north-glow),.25)!important;transition:box-shadow .18s ease,border-color .18s ease}.north-page .north-open-button[data-rarity]:hover:not(:disabled),.north-page .north-open-button[data-rarity]:focus-visible{box-shadow:inset 0 0 24px rgba(var(--north-glow),.24),0 0 20px rgba(var(--north-glow),.45)!important}@media(max-width:760px){.north-pixelfx-stage{--north-chest-width:216px;--north-rune-width:294px;height:294px}}.north-avatar{overflow:hidden;isolation:isolate}.north-avatar>.north-frame-sprite{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;overflow:hidden}.north-avatar .north-frame-sprite>img{position:absolute;left:0;top:0;max-width:none;max-height:none;display:block;image-rendering:pixelated;transform-origin:0 0}.north-large-avatar{display:inline-grid;place-items:center}.north-large-avatar .north-avatar{width:144px;height:144px}.north-frame-preview .north-large-avatar .north-avatar{margin:0;transform:none}.north-frame-preview::backdrop{background:#020c16e8}.north-frame-preview[open]{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;min-height:0}.north-animated-badge{display:inline-block;padding:3px 8px;border:1px solid #a48abf;border-radius:5px;background:#332943;color:#ecdbff;font-size:11px;font-weight:750}.north-epic-glow{background:radial-gradient(ellipse closest-side,#9c70d04a,transparent)}.north-reveal-art .north-large-avatar{position:relative;z-index:1}.north-legend-glow{background:radial-gradient(ellipse closest-side,#ecb86062 15%,#8c694232 62%,transparent)}.north-legend-glow .north-large-avatar .north-avatar{width:min(174px,50vw);height:min(174px,50vw)}.north-legend-odds li{margin:.5rem 0;line-height:1.45}.north-legend-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:12px}.north-legend-admin form{display:grid;gap:8px;padding:14px;border:1px solid #987c53;border-radius:10px}.north-legend-admin .north-reward-art{width:72px;height:72px;margin:auto}@media(prefers-reduced-motion:reduce){.north-avatar>.north-frame-sprite{display:none}}.profile-overview{width:min(100%,820px);margin-inline:auto}.hero2d-hall:has(>.profile-overview){padding-top:0}.profile-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 10px;padding:0 8px 8px;border-bottom:1px solid var(--n-line,#526963)}.hero2d-hall .profile-intro>h1{grid-column:1/-1;margin:0 -8px}.profile-intro button{justify-self:start;padding-inline:10px}.profile-overview .profile-identity{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0}.profile-identity>span{align-self:start}.profile-identity .north-avatar,.profile-identity>span>.user-avatar{width:52px;height:52px}.hero2d-hall .profile-person h2{margin:0;color:var(--n-text,#efe1c3);font:700 clamp(16px,4vw,20px)/1.2 system-ui,sans-serif;overflow-wrap:anywhere}.profile-person p{margin:3px 0 0;color:var(--n-muted,#bcc9c2);font-size:13px;overflow-wrap:anywhere}.hero2d-hall .profile-overview button,.profile-overview summary,.hero2d-settings summary{min-height:44px}.profile-overview summary,.hero2d-settings summary{cursor:pointer}.profile-overview summary:focus-visible,.hero2d-settings summary:focus-visible{outline:2px solid var(--n-accent,#e0ab60);outline-offset:2px}.profile-sections{display:grid;grid-template-areas:"hero" "sports" "rewards";grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;margin-top:10px}.profile-hero{grid-area:hero;position:relative;min-width:0;border:1px solid var(--n-line,#526963);border-radius:10px;background:var(--n-card,#20332f)}.hero2d-hall .profile-hero .profile-hero-art{height:clamp(150px,55vw,240px);min-height:0;margin:0;border-radius:9px 9px 0 0}.hero2d-hall .profile-hero-art .hero-2d-viewer{height:100%;width:100%}.hero2d-hall .profile-hero-art .hero-2d-viewer canvas{height:100%;width:auto;max-width:100%;aspect-ratio:1;translate:none}.hero2d-hall .profile-hero .profile-share{position:absolute;z-index:3;inset:7px 7px auto auto;display:flex;align-items:center;gap:5px;min-width:44px;padding:6px 8px;background:#142e33!important;color:#f7ead0!important;font-size:12px}.profile-share svg{flex:none}.profile-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px}.hero2d-hall .profile-hero-actions button{min-width:0;padding:5px 7px;line-height:1.2;overflow-wrap:anywhere}.hero2d-hall .profile-overview .profile-saga{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:6px;width:calc(100% - 12px);margin:1px 6px 6px;padding:8px 9px;text-align:left;line-height:1.25;color:#fff2d9!important;background:linear-gradient(93deg,#0b1826,#102335f2 43%,#112a3a56),var(--profile-saga-art,none) 69% 32%/cover,#102335!important;border:1px solid #b49252!important;box-shadow:inset 0 0 0 1px #e6ba6733!important}.profile-saga-aurora{position:absolute;inset:0 16px auto auto;z-index:-1;width:min(56%,264px);height:54px;pointer-events:none;overflow:hidden;background:linear-gradient(105deg,#547fc5 10%,#4cbbf2 36%,#43e7b0 67%,#917bed 94%);-webkit-mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20220%2058'%20preserveAspectRatio='none'%3e%3cdefs%3e%3clinearGradient%20id='edges'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='.26'%20stop-color='white'%20stop-opacity='.52'/%3e%3cstop%20offset='.52'%20stop-color='white'/%3e%3cstop%20offset='.82'%20stop-color='white'/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3cmask%20id='fade'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='220'%20height='58'%3e%3cpath%20fill='url(%23edges)'%20d='M0%200h220v58H0z'/%3e%3c/mask%3e%3clinearGradient%20id='curtain'%20x2='0'%20y2='1'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='.45'%20stop-color='white'%20stop-opacity='.24'/%3e%3cstop%20offset='.81'%20stop-color='white'%20stop-opacity='.76'/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='.14'/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20mask='url(%23fade)'%3e%3cpath%20fill='url(%23curtain)'%20d='M0%2027C40%2029%2060%203%2094%201c27-2%2044%2014%2065%2012%2025-2%2038-14%2061-14v17c-22%200-38%2013-61%2015-26%203-42-11-65-10C60%2022%2040%2046%200%2041Z'/%3e%3cpath%20fill='url(%23curtain)'%20opacity='.72'%20d='M0%2046c32-2%2062-25%2090-24%2025%201%2039%2017%2062%2015%2027-2%2039-17%2068-18v12c-25%201-42%2017-67%2019-23%202-42-15-63-16C62%2033%2034%2057%200%2058Z'/%3e%3cpath%20fill='none'%20stroke='white'%20stroke-opacity='.52'%20stroke-width='.9'%20d='M0%2040c37%204%2063-20%2094-21%2023-1%2041%2013%2065%2010%2024-2%2038-15%2061-15'/%3e%3cpath%20fill='none'%20stroke='white'%20stroke-opacity='.30'%20stroke-width='.8'%20d='M0%2056c34-1%2062-25%2090-24%2022%201%2040%2018%2063%2016%2025-2%2043-18%2067-19'/%3e%3c/g%3e%3c/svg%3e") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20220%2058'%20preserveAspectRatio='none'%3e%3cdefs%3e%3clinearGradient%20id='edges'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='.26'%20stop-color='white'%20stop-opacity='.52'/%3e%3cstop%20offset='.52'%20stop-color='white'/%3e%3cstop%20offset='.82'%20stop-color='white'/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3cmask%20id='fade'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='220'%20height='58'%3e%3cpath%20fill='url(%23edges)'%20d='M0%200h220v58H0z'/%3e%3c/mask%3e%3clinearGradient%20id='curtain'%20x2='0'%20y2='1'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='.45'%20stop-color='white'%20stop-opacity='.24'/%3e%3cstop%20offset='.81'%20stop-color='white'%20stop-opacity='.76'/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='.14'/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20mask='url(%23fade)'%3e%3cpath%20fill='url(%23curtain)'%20d='M0%2027C40%2029%2060%203%2094%201c27-2%2044%2014%2065%2012%2025-2%2038-14%2061-14v17c-22%200-38%2013-61%2015-26%203-42-11-65-10C60%2022%2040%2046%200%2041Z'/%3e%3cpath%20fill='url(%23curtain)'%20opacity='.72'%20d='M0%2046c32-2%2062-25%2090-24%2025%201%2039%2017%2062%2015%2027-2%2039-17%2068-18v12c-25%201-42%2017-67%2019-23%202-42-15-63-16C62%2033%2034%2057%200%2058Z'/%3e%3cpath%20fill='none'%20stroke='white'%20stroke-opacity='.52'%20stroke-width='.9'%20d='M0%2040c37%204%2063-20%2094-21%2023-1%2041%2013%2065%2010%2024-2%2038-15%2061-15'/%3e%3cpath%20fill='none'%20stroke='white'%20stroke-opacity='.30'%20stroke-width='.8'%20d='M0%2056c34-1%2062-25%2090-24%2022%201%2040%2018%2063%2016%2025-2%2043-18%2067-19'/%3e%3c/g%3e%3c/svg%3e") center/100% 100% no-repeat}.profile-saga-aurora:before,.profile-saga-aurora:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.profile-saga-aurora:before{background:linear-gradient(105deg,#49e5b9 10%,#49ddb3 29%,#aa79f5 52%,#9878f3 69%,#53c8fb 94%);opacity:.08}.profile-saga-aurora:after{background:linear-gradient(90deg,transparent 26%,#7ae6ff72 42%,#bcffedde 50%,#9dfcc078 60%,transparent 74%);opacity:0}@media(prefers-reduced-motion:no-preference){.hero2d-hall:not([data-low-motion=true]) .profile-saga-aurora:before{animation:profile-saga-aurora-colour 9s ease-in-out infinite paused}.hero2d-hall:not([data-low-motion=true]) .profile-saga-aurora:after{animation:profile-saga-aurora-light 9s linear infinite paused}.hero2d-hall:not([data-low-motion=true]) .profile-saga[data-aurora-visible=true] .profile-saga-aurora:before,.hero2d-hall:not([data-low-motion=true]) .profile-saga[data-aurora-visible=true] .profile-saga-aurora:after{animation-play-state:running}}@keyframes profile-saga-aurora-colour{0%,to{opacity:.08}50%{opacity:1}}@keyframes profile-saga-aurora-light{0%{transform:translate(-69%);opacity:0}24%,72%{opacity:.82}to{transform:translate(69%);opacity:0}}.profile-saga:focus-visible{outline:2px solid #93eadc;outline-offset:2px}.profile-saga-heading,.profile-saga-reward{display:flex;align-items:center;gap:8px;min-width:0}.profile-saga-heading>span:nth-child(2),.profile-saga-reward>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.profile-saga-heading>span:last-child{color:#f5c468;font-size:22px;text-shadow:0 1px 3px #0b1826}.profile-saga-heading strong{text-shadow:0 1px 4px #0b1826}.profile-saga-shield{position:relative;isolation:isolate;display:grid;place-items:center;flex:none;width:35px;height:39px;clip-path:polygon(50% 0,100% 21%,92% 77%,50% 100%,8% 77%,0 21%);background:linear-gradient(145deg,#ffe5a0,#bf863b 68%,#f7cb75);color:#fff2d9}.profile-saga-shield:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:#1b3044;clip-path:inherit;z-index:-1}.profile-saga img{object-fit:contain;flex:none;image-rendering:pixelated}.profile-saga small{display:block;color:#c9dfed!important;font-size:12px}.profile-saga-progress{display:grid;gap:4px;min-width:0;padding:4px 6px;border:1px solid #7492a34d;border-radius:5px;background:#091827c9}.profile-saga-progress-label{display:flex;justify-content:space-between;align-items:baseline;gap:3px 8px;flex-wrap:wrap;font-size:13px}.profile-saga progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;margin:0;border:0;border-radius:3px;overflow:hidden;background:#0a1724;accent-color:#f5c468}.profile-saga progress::-webkit-progress-bar{background:#1e3549;border-radius:3px}.profile-saga progress::-webkit-progress-value{background:linear-gradient(90deg,#d59742,#ffe099);border-radius:3px}.profile-saga progress::-moz-progress-bar{background:linear-gradient(90deg,#d59742,#ffe099);border-radius:3px}.profile-saga-reward{padding:4px 6px;border:1px solid #7492a34d;border-radius:5px;background:#091827dd;font-size:13px}.profile-saga-reward[data-available=true]{border-color:#c69c57;background:#23231de8}.profile-saga-reward[data-available=true] small{color:#f6d393!important}.profile-saga-count{flex:none;padding:2px 5px;border:1px solid #c69c57;border-radius:4px;background:#47331c;color:#ffe1a2;font-variant-numeric:tabular-nums}.adventure-hero-progress{margin:0 0 10px;min-height:44px}.profile-panel{min-width:0;padding:9px 11px;border:1px solid var(--n-line,#526963);border-radius:10px;background:var(--n-card,#20332f)}.profile-sports{grid-area:sports}.profile-rewards{grid-area:rewards}.hero2d-hall .profile-panel>h2{margin:1px 0 8px;font-size:17px}.profile-links{display:grid;gap:0}.hero2d-hall .profile-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 9px;text-align:left;line-height:1.2}.profile-links .profile-link.secondary{background:none!important;border:0!important;border-bottom:1px solid var(--n-line,#526963)!important;border-radius:0!important;box-shadow:none!important;padding-inline:2px}.profile-links .profile-link:last-child{border-bottom:0!important}.profile-link>span:first-child{min-width:0;overflow-wrap:anywhere}.profile-link small{display:block;margin-top:3px;font-size:12px}.profile-links .profile-link>span:last-child{color:var(--n-accent,#e0ab60);font-size:19px}.hero2d-item-detail button{margin-inline-start:8px}.hero2d-settings summary{padding:10px 0;font-weight:750}.hero2d-settings .hero2d-themes{margin:8px 0}.hero2d-settings .hero2d-themes article{min-width:0}@media(min-width:900px){.profile-sections{grid-template-areas:"hero sports" "hero rewards";grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:14px}}@media(max-width:520px){.hero2d-hall .profile-intro>h1{grid-column:1;grid-row:1}.profile-intro button{grid-column:2;grid-row:1;font-size:13px}.profile-intro .profile-identity{grid-column:1/-1}}@media(max-width:360px){.hero2d-hall .profile-hero .profile-hero-art{height:150px}.hero2d-hall .profile-hero-actions button{font-size:13px}.profile-share span{display:none}}.hero2d-inventory-filter{display:grid;gap:5px;margin-bottom:10px}.viking-progress-card,.viking-road-page{--vp-accent:var(--n-accent,#d6a85c);--vp-line:var(--n-line,#61736d);--vp-surface:var(--n-surface,#182f32);color:var(--n-text,#f2e6cf)}.viking-progress-card{position:relative;overflow:hidden;margin:14px 0;padding:18px;border:2px solid var(--vp-line);background:linear-gradient(145deg,var(--n-card,#1a3437),var(--vp-surface));box-shadow:inset 0 0 0 3px #071a2233,4px 5px #07182055}.viking-progress-card:after{content:"ᛉ ᚱ ᛟ";position:absolute;right:12px;top:12px;opacity:.18;color:var(--vp-accent);letter-spacing:.4em;pointer-events:none}.viking-progress-kicker,.viking-road-page header small,.viking-road-detail>small{font-size:.7rem;font-weight:900;letter-spacing:.15em;color:var(--vp-accent)}.viking-progress-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:13px 0 17px}.viking-progress-head>div{display:grid;gap:4px}.viking-progress-title{color:var(--n-muted);font-size:.85rem}.viking-progress-head strong{font-family:Georgia,serif;font-size:clamp(1.35rem,5vw,2rem);color:var(--vp-accent)}.viking-progress-head strong i{font-style:normal}.viking-progress-head>b{white-space:nowrap;color:var(--vp-accent);font-size:1.3rem}.viking-progress-head b small{display:block;color:var(--n-muted);font-size:.65rem;text-align:right}.viking-progress-label{display:flex;justify-content:space-between;gap:5px;font-size:.68rem;color:var(--n-muted)}.viking-progress-bar{height:21px;margin:6px 0;border:3px solid var(--vp-line);background:#0a1c26;box-shadow:inset 0 2px 4px #0008;overflow:hidden}.viking-progress-bar i{display:block;height:100%;background:repeating-linear-gradient(90deg,transparent 0 10px,#ffffff22 10px 12px),linear-gradient(180deg,#f7d98c,var(--vp-accent) 65%,#997440);transition:width .65s cubic-bezier(.23,1,.32,1)}.viking-progress-remaining{margin:6px 0 15px;font-size:.82rem;color:var(--n-muted)}.viking-progress-remaining b{color:var(--vp-accent)}.viking-next-reward{display:flex;align-items:center;gap:10px;width:100%;min-height:82px!important;padding:9px!important;text-align:left;background:#081a2550!important;border:1px solid var(--vp-line)!important;color:var(--n-text)!important}.viking-next-reward img{width:58px;height:58px;object-fit:contain;image-rendering:pixelated}.viking-next-reward span{display:grid;gap:2px;flex:1}.viking-next-reward small{color:var(--vp-accent);font-size:.62rem}.viking-next-reward strong{font-size:.9rem}.viking-next-reward em{color:var(--n-muted);font-size:.7rem;font-style:normal}.viking-next-reward>b{font-size:1.6rem;color:var(--vp-accent)}.viking-road-button{width:100%;margin-top:12px;display:flex;justify-content:space-between;align-items:center}.viking-road-page{padding:12px 0 110px}.viking-road-page header{position:relative;margin:14px 0;padding:22px;border:2px solid var(--vp-line);background:linear-gradient(#0b2038aa,#0c2339dd),url(../climbup2d/backgrounds/deep_forest-thumb.png) center/cover;image-rendering:pixelated}.viking-road-page h1{margin:7px 0;color:var(--vp-accent);font-family:Georgia,serif}.viking-road-page header p{margin:5px 0 14px}.viking-road-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px;align-items:start}.viking-road-map{position:relative;display:grid;gap:16px;padding:24px 12px 40px;border:2px solid var(--vp-line);background:linear-gradient(#081b2cbb,#091d2ddd),url(../climbup2d/backgrounds/deep_forest-thumb.png) center/cover}.viking-road-map:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:9px;transform:translate(-50%);background:repeating-linear-gradient(180deg,#a88c66 0,#a88c66 17px,#695b4d 17px,#695b4d 30px);opacity:.5}.viking-road-stone{position:relative;justify-self:start;width:68%;min-height:90px;padding:12px!important;display:grid;grid-template-columns:40px 1fr;align-items:center;text-align:left;border:3px solid var(--vp-line)!important;background:linear-gradient(145deg,#385055,#1a3038)!important;color:var(--n-text)!important;box-shadow:4px 5px #03131c}.viking-road-stone:nth-child(2n){justify-self:end}.viking-road-stone strong{font-family:Georgia,serif;font-size:1.6rem;color:var(--vp-accent)}.viking-road-stone small{grid-column:1/-1;overflow-wrap:anywhere}.viking-road-rune{font-size:1.5rem;color:var(--vp-accent)}.viking-road-stone.locked{filter:saturate(.45);opacity:.78}.viking-road-stone.current,.viking-road-stone.selected{border-color:var(--vp-accent)!important;box-shadow:0 0 0 3px #b5845144,4px 5px #03131c}.viking-road-detail,.viking-road-journal,.viking-road-collection{padding:18px;border:2px solid var(--vp-line);background:var(--n-card);color:var(--n-text)}.viking-road-detail{position:sticky;top:12px}.viking-road-detail h2,.viking-road-journal h2,.viking-road-collection h2{font-family:Georgia,serif;color:var(--vp-accent)}.viking-road-detail p{color:var(--n-muted)}.viking-road-rewards{display:grid;gap:8px}.viking-road-rewards article{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--vp-line);background:var(--vp-surface)}.viking-road-rewards img,.viking-level-rewards img{width:60px;height:60px;image-rendering:pixelated;object-fit:contain}.viking-road-rewards article>div{display:grid;gap:4px;flex:1}.viking-road-rewards small{color:var(--n-muted)}.viking-road-rewards button{font-size:.75rem}.viking-road-journal,.viking-road-collection{margin-top:14px}.viking-road-journal p{display:flex;gap:10px;flex-wrap:wrap;padding:8px;border-bottom:1px solid var(--vp-line)}.viking-road-journal time{color:var(--vp-accent);min-width:90px}.viking-road-journal span{flex:1}.viking-road-filters{display:flex;gap:6px;overflow:auto;margin-bottom:12px}.viking-road-filters button{white-space:nowrap}.viking-road-filters button.selected{border-color:var(--vp-accent)}.viking-level-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15000;display:grid;place-items:center;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom);background:#020e18e8}.viking-level-scene{position:relative;overflow:auto;width:min(100%,540px);max-height:94dvh;padding:20px;border:3px solid var(--n-accent);background:radial-gradient(circle at 50% 25%,#c39a5b44,transparent 40%),var(--n-card,#1b3438);color:var(--n-text);text-align:center;box-shadow:0 18px 70px #000}.viking-level-skip{position:absolute;top:10px;right:10px;z-index:3}.viking-level-runes{display:block;color:var(--n-accent);letter-spacing:1em;font-size:1.3rem;animation:vp-rise .4s steps(4,end)}.viking-level-hero,.viking-level-hero .hero-2d-viewer{height:240px}.viking-level-hero canvas{max-height:240px;image-rendering:pixelated}.viking-level-copy{animation:vp-rise .45s steps(5,end)}.viking-level-copy small,.viking-level-rewards>small{color:var(--n-accent);letter-spacing:.13em;font-weight:900}.viking-level-copy h2{margin:4px 0;color:var(--n-accent);font-family:Georgia,serif;font-size:clamp(1.4rem,6vw,2.2rem)}.viking-level-copy>strong{font-size:1.7rem}.viking-level-copy p{margin:4px}.viking-level-rewards{margin:12px 0;animation:vp-rise .45s steps(5,end)}.viking-level-rewards article{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid var(--n-line);text-align:left}.viking-level-rewards article>div{display:grid;flex:1}.viking-level-rewards article span{color:var(--n-muted);font-size:.75rem}.viking-level-continue{width:100%}@keyframes vp-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.viking-road-layout{grid-template-columns:1fr}.viking-road-detail{position:static}.viking-road-stone{width:76%}.viking-progress-head{align-items:start}.viking-level-scene{padding:14px}.viking-level-hero,.viking-level-hero .hero-2d-viewer{height:200px}}@media(prefers-reduced-motion:reduce){.viking-progress-card *,.viking-road-page *,.viking-level-overlay *{animation:none!important;transition:none!important}}.viking-road-filter-selects{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}.viking-road-filter-selects label{display:grid;gap:4px;flex:1 1 120px;font-size:.75rem;color:var(--n-muted)}.viking-road-filter-selects select{width:100%;min-height:40px}.hero2d-hall[data-low-motion=true] .viking-level-overlay *,.hero2d-hall[data-low-motion=true] .viking-progress-card *,.hero2d-hall[data-low-motion=true] .viking-road-page *{animation:none!important;transition:none!important}.viking-road-page header{background:linear-gradient(#0b2038bb,#0c2339dd),var(--n-scene) center/cover}.viking-road-map{background:linear-gradient(#081b2cbb,#091d2ddd),var(--n-scene) center/cover}.viking-level-rewards article[data-rarity=rare]{border-color:#6bb7ca;box-shadow:inset 3px 0 #6bb7ca}.viking-level-rewards article[data-rarity=epic]{border-color:#af8bd9;box-shadow:inset 3px 0 #af8bd9}.viking-level-rewards article[data-rarity=legendary]{border-color:var(--n-accent);box-shadow:inset 3px 0 var(--n-accent),0 0 14px color-mix(in srgb,var(--n-accent) 25%,transparent)}.hero2d-hall{color:var(--n-text,#efe1c3);max-width:1100px;margin:auto;padding:12px 0 calc(100px + env(safe-area-inset-bottom));font-family:Inter,system-ui,sans-serif}.hero2d-hall *{box-sizing:border-box}.hero2d-hall h1{font-size:clamp(25px,5vw,36px);line-height:1.15;margin:12px 0 18px;color:var(--n-text,#efe1c3)}.hero2d-hall h2{font-size:18px;color:var(--n-text,#efe1c3)}.hero2d-hall p{line-height:1.45}.hero2d-heading small{color:var(--n-accent,#dca958);letter-spacing:.14em;font-weight:800}.hero2d-profile-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(245px,.7fr);align-items:start;gap:16px}.hero2d-card,.hero2d-links,.hero2d-editor,.hero2d-workshop-preview,.hero2d-panel,.hero2d-theme{background:var(--n-card,#20332f);border:1px solid var(--n-line,#526963);border-radius:16px;padding:16px;box-shadow:0 10px 26px #0002}.hero2d-card-title{display:flex;align-items:center;gap:12px;min-width:0}.hero2d-card-title>div:last-child{min-width:0}.hero2d-card-title h2{margin:0 0 3px;overflow-wrap:anywhere}.hero2d-card-title p{margin:0;color:var(--n-muted,#bcc9c2);font-size:13px}.hero2d-scene{min-height:350px;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;margin:14px 0;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#07151c30,#07151c99),var(--n-scene) center/cover;isolation:isolate}.hero2d-hall .hero-2d-viewer{height:350px;width:100%;min-width:0;justify-self:stretch}.hero2d-hall .hero-2d-viewer canvas{width:min(100%,330px)}.hero2d-anim-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.hero2d-anim-controls label{display:grid;gap:3px;font-size:12px;flex:1 1 130px;color:var(--n-muted)}.hero2d-anim-controls select,.hero2d-anim-controls input{width:100%}.hero2d-anim-controls button{min-height:40px}.hero2d-xp{padding:13px;background:var(--n-surface);border-radius:12px}.hero2d-xp>div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.hero2d-xp span,.hero2d-xp small{color:var(--n-muted);font-size:12px}.hero2d-xp progress{width:100%;height:10px;accent-color:var(--n-accent);margin:9px 0 4px}.hero2d-xp progress::-webkit-progress-bar{background:var(--n-line);border-radius:8px}.hero2d-xp progress::-webkit-progress-value{background:var(--n-accent);border-radius:8px}.hero2d-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0;color:var(--n-muted);font-size:11px}.hero2d-stats span{overflow-wrap:anywhere}.hero2d-stats b{display:block;color:var(--n-accent);font-size:19px}.hero2d-actions{display:flex;gap:8px}.hero2d-actions button{flex:1}.hero2d-hall button{min-height:42px;cursor:pointer}.hero2d-links h2{margin:0 0 8px}.hero2d-links button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:transparent!important;color:var(--n-text)!important;border:0!important;border-bottom:1px solid var(--n-line)!important;border-radius:0!important;padding:12px 4px}.hero2d-links button:last-child{border-bottom:0!important}.hero2d-links span{color:var(--n-accent);font-size:21px}.hero2d-workshop{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:16px;align-items:start;min-width:0}.hero2d-workshop-preview,.hero2d-editor{min-width:0}.hero2d-preview-title{font-weight:800;font-size:13px;margin:0 0 10px;color:var(--n-muted)}.hero2d-workshop-preview{position:sticky;top:12px}.hero2d-workshop-preview .hero2d-scene{min-height:300px;margin:0}.hero2d-workshop-preview .hero-2d-viewer{height:300px}.hero2d-groups,.hero2d-categories{display:flex;gap:7px;overflow-x:auto;padding:3px 0 10px;scrollbar-width:thin}.hero2d-groups button,.hero2d-categories button{white-space:nowrap;flex:0 0 auto;background:var(--n-surface)!important;color:var(--n-text)!important;border:1px solid var(--n-line)!important;padding:8px 11px}.hero2d-groups button.selected,.hero2d-categories button.selected{background:var(--n-accent)!important;color:var(--n-button-text)!important;border-color:var(--n-accent)!important}.hero2d-colors{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 14px}.hero2d-colors label{display:grid;gap:4px;min-width:125px;flex:1}.hero2d-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:10px}.hero2d-item{min-height:150px!important;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;background:var(--n-surface)!important;color:var(--n-text)!important;border:1px solid var(--n-line)!important;padding:9px!important;overflow-wrap:anywhere}.hero2d-item.selected{outline:2px solid var(--n-accent)}.hero2d-item.locked{opacity:.7}.hero2d-item img{width:78px;height:78px;object-fit:contain;image-rendering:pixelated}.hero2d-item strong{font-size:12px}.hero2d-item small{color:var(--n-muted);font-size:10px}.hero2d-item-detail{padding:12px;background:var(--n-surface);border-radius:9px}.hero2d-save{display:flex;gap:8px;margin-top:16px}.hero2d-save button{flex:1}.hero2d-settings{display:grid;max-width:520px;gap:10px}.hero2d-settings label{display:grid;gap:5px}.hero2d-presets{display:grid;gap:10px;margin-top:14px}.hero2d-presets article>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.hero2d-history{display:grid;gap:6px;margin:10px 0 25px}.hero2d-history p{margin:0;display:flex;gap:12px;justify-content:space-between;padding:10px 12px;background:var(--n-card);border-radius:8px}.hero2d-history small{color:var(--n-muted)}.hero2d-themes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.hero2d-theme.selected{outline:2px solid var(--n-accent)}.hero2d-theme-art{height:115px;border-radius:9px;background-size:cover;background-position:center;image-rendering:pixelated}.hero2d-theme h2{margin:10px 0 4px}.hero2d-theme p{font-size:12px;color:var(--n-muted);min-height:35px}.hero2d-theme-sample{background:var(--n-surface);border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.hero2d-theme-sample button{min-height:32px!important;font-size:12px}.hero2d-notice{background:var(--n-surface);border-left:3px solid var(--n-accent);padding:9px 12px;border-radius:6px;cursor:pointer}@media(max-width:700px){.hero2d-profile-grid,.hero2d-workshop{grid-template-columns:minmax(0,1fr)}.hero2d-card,.hero2d-links,.hero2d-editor,.hero2d-workshop-preview{padding:12px}.hero2d-scene{min-height:305px}.hero2d-hall .hero-2d-viewer{height:305px}.hero2d-hall .hero-2d-viewer canvas{width:min(100%,320px)}.hero2d-workshop-preview{position:static}.hero2d-workshop-preview .hero2d-scene{min-height:280px}.hero2d-workshop-preview .hero-2d-viewer{height:280px}.hero2d-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.hero2d-stats b{font-size:16px}.hero2d-items{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.hero2d-hall *,.hero2d-hall *:before,.hero2d-hall *:after{animation:none!important;transition:none!important}}.hero2d-heading{padding:4px 2px 0!important;background:none!important;border:0!important}.hero2d-heading h1{margin:5px 0 16px!important}.hero2d-item strong,.hero2d-item small{font-family:Inter,system-ui,sans-serif!important;text-shadow:none!important;line-height:1.25}.hero2d-theme-sample{display:grid;gap:7px}.hero2d-theme-sample button{width:100%}.hero2d-theme-sample span{font-size:12px;color:var(--n-muted)}.hero2d-scene{position:relative}.hero2d-item.newly-unlocked{outline:2px solid var(--n-accent)}.hero2d-quality{display:flex!important;align-items:center;gap:8px}.hero2d-quality input{width:20px;height:20px;flex:none}@media(max-width:700px){.hero2d-card-title h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:16px;line-height:1.22}}.hero2d-workshop,.hero2d-workshop-preview,.hero2d-editor,.hero2d-scene,.hero2d-anim-controls,.hero2d-items,.hero2d-groups,.hero2d-categories,.hero2d-anim-controls select,.hero2d-anim-controls input{min-width:0;max-width:100%}.hero2d-items .hero2d-item{min-width:0}@media(max-width:700px){.hero2d-workshop{grid-template-columns:minmax(0,1fr)}.hero2d-workshop-preview .hero2d-scene{height:280px;min-height:280px}.hero2d-workshop-preview .hero-2d-viewer{height:280px}.hero2d-workshop-preview .hero-2d-viewer canvas{width:min(100%,300px)}.hero2d-workshop-preview .hero2d-anim-controls{margin-bottom:0}.hero2d-items{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.hero2d-hall .hero-2d-viewer canvas{translate:0 -14px}.hero2d-editor .hero2d-groups,.hero2d-editor .hero2d-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;padding:0;margin-bottom:9px}.hero2d-editor .hero2d-groups button,.hero2d-editor .hero2d-categories button{width:100%;min-width:0;min-height:44px;white-space:normal;overflow-wrap:anywhere;padding:6px 3px;font-size:12px;line-height:1.2;text-align:center}}.hero2d-hall .hero-2d-viewer canvas{image-rendering:pixelated!important;filter:none!important}.hero2d-hall .hero-2d-viewer{position:relative;display:grid;place-items:center;z-index:1;overflow:hidden}.hero-preview-transition{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;opacity:0;pointer-events:none}.hero-item-placeholder{display:grid;place-items:center;width:42px;height:42px;color:var(--n-muted,#bcc9c2)}.hero2d-actions{margin:0 0 12px}.hero2d-actions button,.hero-new-rewards button,.hero-new-rewards summary{min-height:44px}.hero-new-rewards,.hero-next-reward{padding:10px 12px;margin:10px 0;border:1px solid var(--n-line,#526963);border-radius:8px;background:var(--n-surface,#2b4542)}.hero-new-rewards summary{cursor:pointer;padding:8px 0;font-weight:700}.hero-new-rewards summary:focus-visible{outline:2px solid var(--n-accent,#dca958);outline-offset:2px}.hero-new-rewards summary span{color:var(--n-accent,#dca958);margin-inline-start:6px}.hero-new-rewards ul{display:grid;gap:8px;list-style:none;padding:0;margin:0 0 10px}.hero-new-rewards li,.hero-next-reward{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.hero-new-rewards li{padding:8px 0;border-top:1px solid var(--n-line,#526963)}.hero-new-rewards li>div,.hero-next-reward>div{flex:1 1 112px;min-width:0;overflow-wrap:anywhere}.hero-new-rewards small,.hero-next-reward small{display:block}.hero-new-rewards .hero-item-icon,.hero-next-reward .hero-item-icon{width:42px;height:42px;flex:none;object-fit:contain;image-rendering:pixelated}@media(max-width:700px){.hero2d-card .hero2d-scene,.hero2d-card .hero-2d-viewer{height:clamp(210px,64vw,275px);min-height:0}.hero2d-card .hero-2d-viewer canvas{height:100%;width:auto;max-width:100%;aspect-ratio:1}.hero2d-workshop-preview{position:sticky;top:calc(var(--climbup-safe-top) + 6px);z-index:2}.hero2d-workshop-preview .hero2d-scene,.hero2d-workshop-preview .hero-2d-viewer{height:clamp(132px,39vw,170px);min-height:0}.hero2d-workshop-preview .hero-2d-viewer canvas{height:100%;width:auto;max-width:100%;aspect-ratio:1;translate:none}.hero2d-workshop-preview .hero2d-anim-controls{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center}.hero2d-workshop-preview .hero2d-anim-controls>*{min-height:44px}.hero2d-workshop-preview .hero2d-anim-controls button{padding-inline:7px;font-size:12px}.hero2d-actions button{min-width:0;padding-inline:9px;overflow-wrap:anywhere}}.nf2-notice-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:#061517cc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.nf2-notice{width:min(100%,420px);max-height:calc(100dvh - 32px);overflow:auto;padding:26px 22px 22px;border:1px solid var(--n-line,#53716b);border-radius:18px;background:var(--n-card,#193338);box-shadow:0 20px 60px #0008;color:var(--n-text,#f5e8d2);text-align:center}.nf2-notice-runes{color:var(--n-accent,#e7b978);font-size:27px;letter-spacing:.4em;margin:0 0 10px}.nf2-notice-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--n-muted,#a8c0be)}.nf2-notice h2{font:700 clamp(26px,7vw,34px)/1.1 Georgia,serif;color:var(--n-text,#f5e8d2);margin:9px 0 14px}.nf2-notice p{font:400 15px/1.55 system-ui,sans-serif;color:var(--n-muted,#a8c0be);margin:0 0 20px}.nf2-notice .nf2-notice-error{color:#ffb6a8}.nf2-notice button{width:100%;min-height:48px;background:var(--n-accent,#e7b978);color:var(--n-button-text,#102629);border:0;border-radius:10px;font-weight:750;cursor:pointer}.nf2-notice button:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(prefers-reduced-motion:reduce){.nf2-notice-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.public-student-profile{max-width:760px}.public-student-back{margin-bottom:14px}.public-student-heading{padding:2px 4px 12px}.public-student-heading>span{font-size:11px;letter-spacing:.18em;color:#bca878}.public-student-heading h1{margin:7px 0;color:#f5e8ca;overflow-wrap:anywhere}.public-student-heading p{margin:0;color:#ddba7c}.public-student-tabs{display:flex;gap:8px;margin:0 0 14px}.public-student-tabs button{flex:1;min-height:44px;background:#20414a;color:#e9e6d8;border:1px solid #57746d}.public-student-tabs button.selected{background:#c69a63;color:#152a2d}.public-student-scene{padding:12px;background:#173239;border:1px solid #45646a;border-radius:16px}.public-student-scene .hero-model{height:360px}@media(max-width:700px){.public-student-scene{padding:8px}.public-student-scene .hero-model{height:300px}}:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--tg-theme-text-color,#182530);background:var(--tg-theme-bg-color,#f5f7f9);font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{padding:23px 20px 16px;background:var(--tg-theme-secondary-bg-color,#fff);border-bottom:1px solid #87949d22}.brand{font-size:24px;font-weight:800;letter-spacing:-.7px}.brand span{font-weight:400}.sub,.muted,small{color:var(--tg-theme-hint-color,#77838c)}.sub{margin-top:4px;font-size:13px}main{max-width:760px;margin:auto;padding:20px 16px 100px}h1{font-size:29px;margin:4px 0;letter-spacing:-.7px}h2{font-size:19px;margin:16px 0 10px}.card{background:var(--tg-theme-secondary-bg-color,#fff);border:1px solid #87949d20;border-radius:19px;padding:18px;margin:18px 0;box-shadow:0 5px 20px #22334408}.empty{text-align:center;color:#77838c;padding:38px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row>*{min-width:0}.badge{background:#e8eef3;color:#536675;padding:5px 10px;border-radius:100px;font-size:11px;font-weight:750}.badge.accent{background:#e3f4eb;color:#188351}.body{white-space:pre-wrap;line-height:1.55}.small{font-size:12px}button{border:0;border-radius:11px;background:var(--tg-theme-button-color,#158b63);color:var(--tg-theme-button-text-color,#fff);padding:10px 13px;font:inherit;font-weight:700;cursor:pointer}button:disabled{opacity:.5;cursor:default}.secondary{background:#e9eff1;color:#354653}.textbtn{background:transparent;color:var(--tg-theme-link-color,#168f69);padding:7px 2px;font-size:13px}.danger{color:#cd4d59}.wide{width:100%;margin-top:13px}.statusbox,.comments{border-top:1px solid #87949d30;margin-top:17px;padding-top:17px}.statusbox .row{justify-content:flex-start;margin-top:12px}.statusbox .person select{width:auto}.comment{padding:10px 0;border-bottom:1px solid #87949d20}.comment p{margin:7px 0}.comment b{font-size:13px}.comments>.row{margin-top:12px}.actions{justify-content:flex-end}.person{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #87949d22;font-size:14px}.person small{display:block;font-size:11px;margin-top:3px}.weeknav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day{display:flex;flex-direction:column;gap:6px;align-items:center;background:#e9edf0;color:#5d6870;border-radius:12px;padding:12px 2px;font-weight:400}.day b{font-size:20px}.day span{font-size:11px}.day small{font-size:8px;white-space:nowrap}.day.working{background:#dcf4e6;color:#087749}.day:disabled{opacity:1}.ratinghead,.ratingrow{display:grid;grid-template-columns:1fr 55px 50px;gap:5px;padding:12px 0;border-bottom:1px solid #87949d25;align-items:center;font-size:13px}.ratinghead{font-size:11px;color:#77838c;font-weight:700}.ratingrow b{color:#168f69}.avatar{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:#d9f0e3;color:#087749;font-size:26px;font-weight:800}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.statgrid .card{margin:0;text-align:center;padding:15px 4px}.statgrid b{display:block;font-size:22px}.statgrid small{font-size:10px}label{display:block;margin:14px 0;font-size:13px;font-weight:700}input,textarea,select{width:100%;margin-top:7px;border:1px solid #87949d55;border-radius:10px;padding:11px;background:var(--tg-theme-bg-color,#fff);color:var(--tg-theme-text-color,#182530);font:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:#159266}.check{display:flex;align-items:center;gap:9px;font-weight:500}.check input{width:18px;height:18px;margin:0;accent-color:#158b63}.group{border-top:1px solid #87949d33;padding:12px 0}.group .check{margin:8px 0}.alert{padding:12px;border-radius:10px;background:#ffe6e6;color:#a43b3b;margin-bottom:14px}nav{position:fixed;z-index:3;bottom:0;left:0;right:0;display:flex;justify-content:space-around;gap:1px;padding:8px 4px max(8px,env(safe-area-inset-bottom));background:var(--tg-theme-secondary-bg-color,#fff);border-top:1px solid #87949d33}nav button{flex:1;background:transparent;color:var(--tg-theme-hint-color,#87949d);padding:6px 1px;border-radius:9px;display:flex;flex-direction:column;gap:2px;align-items:center}nav button span{font-size:20px}nav button small{font-size:9px}nav button.active{color:var(--tg-theme-button-color,#158b63);background:#15926615}@media(max-width:370px){.days{gap:2px}.day{padding:10px 0}.day small{font-size:7px}}:root .invite{border-top:1px solid #87949d33;margin-top:18px;padding-top:13px}:root .invite input{font-size:12px}:root .onboarding{max-width:480px;padding-top:55px}.user-avatar{width:60px;height:60px;display:inline-flex;align-items:center;justify-content:center;object-fit:cover;border-radius:18px;flex:none;background:#d9f0e3;color:#087749;font-size:26px;font-weight:800}.small-avatar{width:32px;height:32px;border-radius:50%;font-size:13px}.comment-head{display:flex;align-items:center;gap:8px}.comment-head small{display:block;font-size:11px}.comment-actions{display:flex;gap:12px}.comment .comment{border-left:2px solid #87949d33;padding-left:10px}.reply-target{display:flex;align-items:center;gap:8px;color:var(--tg-theme-hint-color,#77838c);font-size:12px}.rating-switch{display:flex;gap:8px;margin:14px 0}.rating-switch button{flex:1}.rating-week{margin:8px 0 14px}.rating-week strong{font-size:13px;text-align:center}.rating-person{display:flex;align-items:center;gap:6px;min-width:0}.rating-person>.small-avatar{width:25px;height:25px;font-size:11px}.comment-actions{flex-wrap:wrap;align-items:center}.comment-actions .textbtn{font-size:12px}.comment-blocked{display:block;margin:5px 0;color:#cd4d59;font-size:11px}.badge.pinned{background:#fff0c1;color:#6a4a00}.card>.row:first-child{flex-wrap:wrap}.card>.row:first-child>small{margin-left:auto}.comments{margin-top:12px;padding-top:12px}.comments>strong{font-size:14px}.comments .comment{padding:7px 0}.comments .comment-head{gap:7px}.comments .comment-head>.small-avatar{width:28px;height:28px;font-size:12px}.comments .comment-head small{font-size:10px}.comments .comment p{margin:4px 0;font-size:14px;line-height:1.35}.comments .comment-actions{gap:9px}.comments .comment-actions .textbtn{min-height:30px;padding:4px 1px;font-size:11px}.comments>.row{margin-top:8px}.comments>.row input{margin-top:0;padding:9px 10px;min-height:40px}.comments>.row button{padding:8px 11px;min-height:40px}.comments-expand{display:block;margin:6px 0 2px;padding:7px 0;font-size:12px}.home-filters{margin:16px 0 12px}.home-filters>input{margin:0}.home-filter-buttons{display:flex;gap:6px;overflow-x:auto;padding:10px 0 2px}.home-filter-buttons button{flex:none;padding:8px 10px;font-size:12px;white-space:nowrap}:root{--tg-theme-bg-color:#151b18!important;--tg-theme-secondary-bg-color:#202a23!important;--tg-theme-text-color:#f4f0e7!important;--tg-theme-hint-color:#aebeb0!important;--tg-theme-button-color:#f5b453!important;--tg-theme-button-text-color:#201d16!important;--tg-theme-link-color:#f5b453!important;font-family:Inter,system-ui,-apple-system,sans-serif;color:#f4f0e7;background:#151b18;color-scheme:dark}body{background:#151b18;color:#f4f0e7}header{background:#1c2720;border-bottom:1px solid #53645466;padding:20px max(20px,calc((100vw - 1180px)/2))}.brand{font-family:Impact,Arial Narrow,sans-serif;font-size:30px;letter-spacing:.02em;line-height:1}.brand span{color:#f5b453;font-weight:900}main:not(.entry-page){max-width:1180px;padding:28px 22px 110px}.sub,.muted,small{color:#aebeb0}h1{font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(32px,4vw,43px);letter-spacing:.02em;line-height:1.08}h2,h3{color:#f4f0e7}.card{background:#202a23;border:1px solid #53645480;box-shadow:0 8px 28px #080e0a30;border-radius:16px}.card>h2:first-child{margin-top:0}.body{color:#e2e7df}.empty{color:#aebeb0}.badge{background:#344239;color:#dbe4d8}.badge.accent,.badge.pinned{background:#4b3a20;color:#ffca72}button{background:#f5b453;color:#241d13;border-radius:10px}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled){filter:brightness(1.06)}}.secondary,.workout-toolbar .secondary{background:#35423a;color:#f4f0e7}.textbtn{background:transparent;color:#f5b453}.danger{color:#f2847f}.row,.person{border-color:#53645470}.person{color:#f4f0e7}.statgrid .card{background:#25362a}.statgrid b{color:#f5b453}.avatar,.user-avatar{background:#3a473d;color:#f5b453}.badge,.user-avatar{border:1px solid #63786650}label{color:#e7ece3}input,textarea,select{background:#29352d;color:#f4f0e7;border:1px solid #66766a;border-radius:9px}input::placeholder,textarea::placeholder{color:#9ba99b}input:focus,textarea:focus,select:focus{border-color:#f5b453;box-shadow:0 0 0 3px #f5b45323}.check input{accent-color:#f5b453}.alert{background:#51302c;color:#ffe0d8}nav{background:#202a23;border-color:#53645480;max-width:1180px;left:50%;transform:translate(-50%);border-radius:15px 15px 0 0;padding:9px 12px max(9px,env(safe-area-inset-bottom))}nav button{color:#adbcad}nav button small{color:inherit}nav button.active{background:#514028;color:#ffca72}.ratinghead,.ratingrow{border-color:#53645480}.ratingrow b{color:#f5b453}.day{background:#303b32;color:#d9e3d8}.day.working{background:#234732;color:#b2e7bf}.day.day-off,.day.vacation{background:#50312d;color:#ffd0bd}.comments,.statusbox,.comment,.group,.invite{border-color:#53645470}.comments .comment{color:#f4f0e7}.workout-editor,.workout-view,.workout-day-edit,.workout-day-view,.workout-exercise-edit,.workout-steps .workout-step-card{border-color:#60716180;background:#202a23}.workout-day-content,.workout-step-card{color:#f4f0e7}.workout-tabs button{background:#344239;color:#dce5d8}.workout-tabs button.selected,.workout-day-head,.workout-day-view h4{background:#f5b453;color:#241d13}.workout-day-head .danger{color:#6c241c}.workout-exercises-title{background:#354c38;color:#f1efd9}.workout-exercise-edit,.plan-library{background:#26342a}.workout-intro{background:#553e2e;color:#fff2d9}.workout-facts span,.workout-set-progress{background:#303d33;color:#f2f2e9}.workout-facts small,.workout-set-heading small{color:#c3d3c0}.workout-set-progress .workout-set-item{background:#26322a;color:#ecf1e8;border-color:#6f8170}.workout-set-progress .workout-set-item.done{background:#305441;border-color:#6caa7e}.workout-set-progress .workout-set-inputs input{background:#202a23;color:#f4f0e7;border-color:#748275}.workout-set-complete,.workout-step-done{color:#a3dfa8}.private-message{background:#303e34;color:#f4f0e7}.private-message.own{background:#3b4b36;color:#f4f0e7}.private-message small{color:#c3d0c0}.private-pinned{background:#534225;color:#fff0cb}.private-pinned p,.private-pinned strong{color:#fff0cb}.private-pinned .private-pin-label{color:#ffe1a3!important}.student-state,.student-event{color:#e6ebe2}.student-progress-track{background:#38483b}.student-progress-track span{background:#f5b453}@media(hover:hover)and (pointer:fine){.ratingrow:hover,.student-list-item:hover{background:#2d3a30}}@media(max-width:760px){header{padding:17px 18px}main:not(.entry-page){padding:20px 14px 100px}.card{padding:15px;margin:13px 0}.brand{font-size:27px}h1{font-size:34px}nav{border-radius:0;padding:6px 3px max(7px,env(safe-area-inset-bottom))}nav button{padding:6px 2px}nav button span{font-size:19px}nav button small{font-size:9px}.workout-steps .workout-step-card{padding:12px}.workout-set-progress{padding:10px}.workout-set-progress .workout-set-list{gap:5px}.workout-set-progress .workout-set-item{width:48px;min-height:32px}}.app-nav{display:grid;grid-template-columns:repeat(var(--nav-count,6),minmax(0,1fr));width:min(100%,1180px);gap:2px;justify-content:stretch;padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.app-nav button{min-width:0;min-height:48px;width:100%;padding:5px 2px;gap:2px}.app-nav button span{line-height:24px}.app-nav button small{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;line-height:1.2}@media(max-width:760px){main:not(.entry-page){padding-bottom:calc(96px + env(safe-area-inset-bottom))}.app-nav{left:0;right:0;transform:none;max-width:none;width:100%;border-radius:0;padding:6px 4px calc(7px + env(safe-area-inset-bottom))}.app-nav button{min-height:46px;padding:4px 1px}.app-nav button small{font-size:clamp(8px,2.5vw,10px)}}@media(min-width:761px){nav{max-width:1180px}}:root{--bg:#121d18;--surface:#1c2b23;--surface-raised:#26382d;--surface-soft:#304338;--line:#4b6252;--text:#edf2ea;--muted:#a8b7aa;--accent:#bed78b;--accent-light:#d1e6a7;--accent-deep:#819d68;--on-accent:#1a281d;--tg-theme-bg-color:var(--bg)!important;--tg-theme-secondary-bg-color:var(--surface)!important;--tg-theme-text-color:var(--text)!important;--tg-theme-hint-color:var(--muted)!important;--tg-theme-button-color:var(--accent)!important;--tg-theme-button-text-color:var(--on-accent)!important;--tg-theme-link-color:var(--accent-light)!important;color:var(--text);background:var(--bg)}body{color:var(--text);background:radial-gradient(ellipse 70% 35% at 50% -8%,#2d4435 0%,var(--bg) 100%)}header{background:#192820;border-color:#52695770}h1,h2,h3{color:var(--text)}.sub,.muted,small,.empty{color:var(--muted)}.body,.person{color:var(--text)}.card,.workout-editor,.workout-view,.workout-day-edit,.workout-day-view,.workout-exercise-edit,.workout-steps .workout-step-card{background:var(--surface);border-color:#526a5870;box-shadow:0 9px 28px #07100a27}.statgrid .card,.workout-exercise-edit,.plan-library{background:var(--surface-raised)}button{background:var(--accent);color:var(--on-accent)}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled){filter:brightness(1.045)}}.secondary,.workout-toolbar .secondary{background:var(--surface-soft);color:var(--text);border:1px solid var(--line)}.textbtn{color:var(--accent-light)}.danger{color:#e2a09b}.badge{background:#34483a;color:#dce9d8}.badge.accent,.badge.pinned{background:#3b503a;color:var(--accent-light)}.avatar,.user-avatar{background:#354a3b;color:var(--accent-light)}label{color:#e2ebe0}input,textarea,select{background:#25372c;color:var(--text);border-color:#617669}input::placeholder,textarea::placeholder{color:#9aaa9d}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #bed78b25}.check input{accent-color:var(--accent-deep)}.alert{background:#4a3532;color:#f0d1c9}.app-nav{background:#1b2b22;border-color:#57705d}.app-nav button{color:#abbcae}.app-nav button.active{background:#344938;color:var(--accent-light)}.app-nav button.active small{color:var(--accent-light)}.ratinghead,.ratingrow,.row,.person,.comments,.statusbox,.comment,.group,.invite,.calendar-entry,.student-assignment,.student-event,.student-list-item{border-color:#58705d70}@media(hover:hover)and (pointer:fine){.ratingrow:hover,.student-list-item:hover{background:#2a3e31}}.day{background:#304137;color:#dde8d9}.day.working{background:#2e503a;color:#d2ead0}.day.day-off,.day.vacation{background:#53413d;color:#ead4cd}.calendar-day-toggle{background:#34463b;color:var(--text)}.calendar-day-toggle.status-working{background:#345d40;color:#e8f5e5}.calendar-day-toggle.status-day_off,.calendar-day-toggle.status-vacation{background:#694842;color:#f5e1d9}.calendar-day-toggle:focus-visible{outline-color:var(--accent)}.workout-tabs button{background:#34483b;color:#e2ecdf}.workout-tabs button.selected,.workout-day-head,.workout-day-view h4{background:#a9c57e;color:#1a2a1d}.workout-exercises-title{background:#3a5641;color:#e5f1df}.workout-intro{background:#374b3c;color:#e6efdf}.workout-facts span,.workout-set-progress{background:#304239;color:#eaf2e7}.workout-facts small,.workout-set-heading small{color:#bed0bb}.workout-set-progress .workout-set-item{background:#293b30;color:#eaf2e8;border-color:#617a67}.workout-set-progress .workout-set-item.done{background:#365840;border-color:#87ad81}.workout-set-progress .workout-set-inputs input{background:#203127;color:#eff5ed;border-color:#708675}.workout-set-complete,.workout-step-done{color:var(--accent-light)}.private-message{background:#2c4133;color:var(--text)}.private-message.own{background:#3b5140;color:var(--text)}.private-message small{color:#bfcebf}.private-pinned{background:#3e5139;color:#e4f0d9}.private-pinned p,.private-pinned strong{color:#e4f0d9}.private-pinned .private-pin-label{color:var(--accent-light)!important}.student-state{background:#35463a;color:#dce8d9}.student-state.done{background:#355a40;color:#e2f0d8}.student-state.partial{background:#56523e;color:#eee7c5}.student-progress-track{background:#3b4e40}.student-progress-track span,.student-line{background:var(--accent-deep);stroke:var(--accent-deep)}.student-dot{fill:var(--accent-deep)}.difficulty-options button.selected{background:#354e3b;border-color:var(--accent);color:var(--text)}.entry-page{background:radial-gradient(ellipse 75% 65% at 50% 42%,#344d3b,#1e3026 47%,#111c17);color:var(--text)}.entry-page:before{background:#8aa97824}.entry-page:after{background:#b7cf9920}.entry-rocks i{border-color:#b6c9b025}.entry-brand strong{color:var(--text)}.entry-brand strong span{color:var(--accent)}.entry-brand-mark{border-color:#a7c48e;color:var(--accent)}.entry-card{border-color:#78917b78;background:linear-gradient(145deg,#2a3e30e8,#1b2b23e8);box-shadow:0 24px 70px #07100a70,0 0 34px #93b57712}.entry-corner-one,.entry-corner-two{border-color:#b2d08b}.entry-eyebrow{color:var(--accent-light)}.entry-card h1{color:var(--text)}.entry-copy{color:#bfd0bf}.entry-card label:not(.entry-agree){color:#e4ede2}.entry-card label:not(.entry-agree) span{color:var(--accent)}.entry-card label small{color:#acbdac}.entry-card input:not([type=checkbox]){border-color:#708774;background:#18271e;color:var(--text)}.entry-card input::placeholder{color:#95a797}.entry-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #bed78b29}.entry-agree{color:#c3d2c1}.entry-agree input{accent-color:var(--accent-deep)}.entry-agree a,.entry-links a{color:var(--accent-light)}.entry-primary{background:linear-gradient(110deg,#b5cf86,#93b77c);color:var(--on-accent);box-shadow:0 9px 23px #0b1e0f55}@media(hover:hover)and (pointer:fine){.entry-primary:hover:not(:disabled){box-shadow:0 12px 27px #789f7355}}.entry-note{color:#aebeac}.entry-links a{color:#b6c9b3}.training-screen{color:var(--text)}.training-subtitle,.training-section-title p{color:#a8c0aa}.training-summary{border-color:#5c765f;background:#203328}.training-summary span{color:#bfd2bc}.training-summary progress,.workout-set-progress progress,.training-summary progress::-webkit-progress-bar,.workout-set-progress progress::-webkit-progress-bar{background:#3b5442}.training-summary progress::-webkit-progress-value,.workout-set-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#a0bd7d,#c6dc9a)}.training-summary progress::-moz-progress-bar,.workout-set-progress progress::-moz-progress-bar{background:#bed78b}.training-section-title>span{border-color:var(--accent);color:var(--accent)}.training-exercise{border-color:#516b55;background:linear-gradient(125deg,#1a2b21,#243b2c)}.training-exercise.recommended{border-color:#a7c582;box-shadow:0 0 17px #99bb7940}.training-exercise-mark{border-color:#55735a;background:#17271d;color:var(--accent)}.training-step-label{border-color:#668265;background:#374f39;color:var(--accent-light)}.training-exercise-facts>span{background:#304738;color:var(--text)}.training-exercise-facts small{color:#bfd0bf}.training-exercise-content>p{color:#bbd0bb}.training-start{border-color:#76927a;background:#2c4334;color:var(--text)}.training-exercise.recommended .training-start{border-color:#b5d08d;background:linear-gradient(110deg,#c6dd9b,#a7c785);color:var(--on-accent)}.training-finish{border-color:#6f9776;background:#26412e}.training-completed{border-color:#59725d}.training-completed>h4 span,.training-done-row>span{background:#9fca91;color:#18301d}.training-done-row{border-color:#57715b;background:#213628}.training-done-row small{color:#b2d0b0}.training-screen .workout-set-progress{background:#1c3024;color:var(--text);border-color:#68826b}.training-screen .workout-set-progress>.muted{color:#adc4af}.training-screen .workout-set-inputs label,.training-set-fields label{color:#cadbca}.training-screen .workout-set-inputs input{background:#283f2f;border-color:#718d72}.training-set{border-color:#506c56;background:#23392a}.training-set.current{border-color:#aeca89;box-shadow:0 0 12px #99bb7940}.training-set.done{border-color:#75a276}.training-set-head span{color:var(--accent-light)}.training-set.done .training-set-head span{color:#a9d7a4}.training-number button{background:#3a5542}.training-number button:last-child{background:#b7d488;color:var(--on-accent)}.training-number input{background:#17291d;border-color:#617e63}.training-set-check input{accent-color:#9ac890}.workout-warmup-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#263a2d}.workout-warmup-edit label{margin:0;min-width:0}.workout-warmup-edit input{margin-top:5px}.workout-warmup-view{margin:10px 11px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#283d2f;white-space:pre-wrap}.workout-warmup-view p{margin:7px 0}.workout-warmup-view ul{margin:8px 0 0;padding-left:21px}.training-warmup-detail{border-top:1px solid #526d57;color:var(--text)}.training-warmup-detail p{margin:12px 0;white-space:pre-wrap;line-height:1.5}.training-warmup-detail ol{display:grid;gap:7px;margin:12px 0;padding-left:24px}.training-warmup-detail li{padding:8px 10px;border-radius:9px;background:#304738}.training-warmup-detail li span{display:block;margin-top:3px;color:#bfd0bf;font-size:12px}.training-completed>.training-warmup-detail{margin:0 0 12px;padding:12px;border:1px solid #526d57;border-radius:12px;background:#203528}.training-done-row .training-start{margin-left:auto}@media(max-width:540px){.workout-warmup-edit{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.workout-warmup-edit button{grid-column:1/-1;justify-self:start}}:root{--bg:#0e1119;--surface:#222938;--surface-raised:#2b3446;--surface-soft:#303b50;--line:#687894;--text:#f0f3fb;--muted:#aab5cb;--accent:#b7b9ef;--accent-light:#d2d2fa;--accent-deep:#8f9edb;--on-accent:#1a2032;--blue:#89b6eb;--violet:#b7a9e5;--glass:rgba(35,43,59,.62);color-scheme:dark;background:var(--bg)}body{color:var(--text);background:radial-gradient(ellipse 66% 37% at 50% -5%,#28374e,#141a27 52%,#0e1119)}header{position:relative;background:#1b2230c7;border-color:#a6b4d23b;backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3)}.brand span,.statgrid b,.ratingrow b{color:#c4c7f7}.card,.workout-editor,.workout-view,.workout-day-edit,.workout-day-view,.workout-exercise-edit,.workout-steps .workout-step-card{background:var(--glass);border:1px solid #a6b4d240;box-shadow:inset 0 1px #e2ebff12,0 12px 34px #05091440;backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25)}.statgrid .card,.workout-exercise-edit,.plan-library{background:#2c3649a6}button{background:linear-gradient(120deg,#adb6ef,#8fb8eb);color:#1a2134;box-shadow:inset 0 1px #ffffff52,0 4px 13px #080f2433;transition:filter .18s ease,transform .18s ease}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}}button:active:not(:disabled){transform:translateY(0)}.secondary,.workout-toolbar .secondary{background:#4a57717a;color:var(--text);border:1px solid #b3c2e34a;box-shadow:inset 0 1px #ffffff16}.textbtn{background:transparent;box-shadow:none;color:#b9cbf3}.badge{background:#46536d;color:#e9edf7}.badge.accent,.badge.pinned{background:#414d75;color:#dce0ff}.danger{color:#e4a4ad}input,textarea,select{background:#161d2bc2;color:var(--text);border:1px solid #91a0bd68;box-shadow:inset 0 1px 3px #090e1a40}input::placeholder,textarea::placeholder{color:#a5afc3}input:focus,textarea:focus,select:focus{border-color:#a7bdf2;box-shadow:0 0 0 3px #8eaeeb2e}.check input{accent-color:#9baee5}.app-nav{background:#19202ee6;border-color:#a9b7d445;box-shadow:0 -12px 32px #060a1670,inset 0 1px #ffffff18;backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35)}.app-nav button{background:transparent;box-shadow:none;color:#aeb9ce}.app-nav button.active{background:linear-gradient(145deg,#879fdb45,#b7a9e529);color:#d7defc;box-shadow:inset 0 1px #ffffff24}.app-nav button.active small{color:#d7defc}.day{background:#354056;color:#e8ecfa}.day.working{background:#365066;color:#dcecff}.day.day-off,.day.vacation{background:#5a414d;color:#f7dfe5}.calendar-day-toggle{background:#354257;color:#edf1fb}.calendar-day-toggle.status-working{background:#355b67;color:#e8f6ff}.calendar-day-toggle.status-day_off,.calendar-day-toggle.status-vacation{background:#684858;color:#f9e7ee}.calendar-day-toggle:focus-visible{outline-color:#9dbbea}.workout-tabs button{background:#4c5a7791;color:#e2e9f7;border:1px solid #a9b8d63e;box-shadow:inset 0 1px #ffffff17}.workout-tabs button.selected,.workout-day-head,.workout-day-view h4{background:linear-gradient(120deg,#a9b7e8,#95bce9);color:#1b263a}.workout-exercises-title{background:#41567a;color:#f0f3ff}.workout-intro{background:#394763;color:#edf1fb}.workout-facts span,.workout-set-progress{background:#344258;color:#edf2fa}.workout-facts small,.workout-set-heading small{color:#c1cde0}.workout-set-progress .workout-set-item{background:#29364c;color:#eff2fa;border-color:#788ba9}.workout-set-progress .workout-set-item.done{background:#3d5672;border-color:#93bae6}.workout-set-progress .workout-set-inputs input{background:#1c293c;color:#f1f4fd;border-color:#8597b4}.workout-set-complete,.workout-step-done{color:#b7cdf4}.private-message{background:#344259;color:#f1f4fc}.private-message.own{background:#434366;color:#f1f4fc}.private-message small{color:#c1cee5}.private-pinned{background:#444363;color:#f2ebff}.private-pinned p,.private-pinned strong{color:#f2ebff}.private-pinned .private-pin-label{color:#dcd0fb!important}.student-state{background:#425069;color:#e6ecfa}.student-state.done{background:#3c5a6d;color:#e4f4ff}.student-state.partial{background:#56506c;color:#ece7fb}.student-progress-track{background:#46536c}.student-progress-track span,.student-line{background:#94ade8;stroke:#94ade8}.student-dot{fill:#94ade8}.difficulty-options button.selected{background:#414e71;border-color:#a5b8ef;color:#f3f5ff}.entry-page{background:radial-gradient(ellipse 77% 64% at 50% 40%,#30405b,#1a2436 48%,#0d111b);color:var(--text)}.entry-page:before{background:#8caee438}.entry-page:after{background:#a897d529}.entry-rocks i{border-color:#b4c4e12c}.entry-brand strong{color:#f1f3fa}.entry-brand strong span{color:#c4c3f6}.entry-brand-mark{border-color:#a8b7e9;color:#bdc9fa;background:#d9e1ff0c}.entry-card{border-color:#b5c4e466;background:linear-gradient(145deg,#344056b8,#202b40be);box-shadow:inset 0 1px #f7f9ff21,0 26px 72px #05091680,0 0 38px #8eacdc1c;backdrop-filter:blur(28px) saturate(1.25);-webkit-backdrop-filter:blur(28px) saturate(1.25)}.entry-corner-one,.entry-corner-two{border-color:#c2b7f0}.entry-eyebrow{color:#c7cbf8}.entry-card h1{color:#f5f6fc}.entry-copy{color:#c4cee1}.entry-card label:not(.entry-agree){color:#f0f2fa}.entry-card label:not(.entry-agree) span{color:#c5b8f3}.entry-card label small{color:#b7c4d8}.entry-card input:not([type=checkbox]){background:#0d131fbd;border-color:#91a1c177;color:#f2f5fc}.entry-card input::placeholder{color:#9ba9c1}.entry-card input:focus{border-color:#b6b9f2;box-shadow:0 0 0 3px #adb5f133}.entry-agree{color:#d0d7e8}.entry-agree input{accent-color:#a9b2ed}.entry-agree a,.entry-links a{color:#d1d1fa}.entry-primary{background:linear-gradient(112deg,#b8aaea,#8fb9ec);color:#192135;box-shadow:inset 0 1px #fff8,0 9px 23px #0c183c77}@media(hover:hover)and (pointer:fine){.entry-primary:hover:not(:disabled){box-shadow:inset 0 1px #fff8,0 12px 26px #1a2b5c77}}.entry-note{color:#b7c3d8}.entry-links a{color:#c6d0e8}.training-screen{color:#f1f3fb}.training-subtitle,.training-section-title p{color:#aebfda}.training-summary{border-color:#8a9cbd70;background:#313e5491;box-shadow:inset 0 1px #ffffff17;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.training-summary span{color:#bacbee}.training-summary progress,.workout-set-progress progress,.training-summary progress::-webkit-progress-bar,.workout-set-progress progress::-webkit-progress-bar{background:#465671}.training-summary progress::-webkit-progress-value,.workout-set-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#aaa8e9,#8fb8ee)}.training-summary progress::-moz-progress-bar,.workout-set-progress progress::-moz-progress-bar{background:#9eb8eb}.training-section-title>span{border-color:#acb5f3;color:#c6c7fa}.training-exercise{position:relative;border:1px solid #9baccc4d;background:linear-gradient(135deg,#263246dc,#222d42c7);box-shadow:inset 0 1px #ffffff18,0 8px 22px #050a193d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.training-exercise.recommended{border:1.5px solid #a9b8f0;box-shadow:inset 0 1px #fff3,0 0 0 1px #99b6ec30,0 0 25px #748fd151}.training-exercise-mark,.exercise-art{border-color:#97aaca70;background:#172336;color:#bbc7f5}.training-step-label{border-color:#a8abda6b;background:#4a4c78a1;color:#e0dafa}.training-exercise-facts>span{background:#3b4960c9;color:#f3f5fc;box-shadow:inset 0 1px #ffffff14}.training-exercise-facts small{color:#bdc9df}.training-exercise-content>p{color:#c5d0e5}.training-start{border-color:#a6b9d078;background:#40506c99;color:#f4f6fc}.training-exercise.recommended .training-start{border-color:#bfc8f4;background:linear-gradient(118deg,#b7a9e8,#95b8ec);color:#1c2541}.training-recommend{display:inline-block;max-width:calc(100% - 24px);margin:12px 12px 0 auto;padding:5px 11px;border:1px solid #bcc6f16b;border-radius:999px;background:#a6b4e929;color:#dfe6ff;font-size:11px;font-weight:800}.training-finish{border-color:#829dc8;background:#293e58}.training-completed{border-color:#7d8eac78}.training-completed>h4 span,.training-done-row>span{background:#9db5e8;color:#172438}.training-done-row{border-color:#8fa5c166;background:#304158aa;box-shadow:inset 0 1px #ffffff16}.training-done-row small{color:#c1d0ee}.training-screen .workout-set-progress{background:#1c293ccc;border-color:#849bc17d;color:#f1f4fa}.training-screen .workout-set-progress>.muted{color:#b8c8dd}.training-screen .workout-set-inputs label,.training-set-fields label{color:#d0daeb}.training-screen .workout-set-inputs input{background:#28394f;border-color:#7d96b7}.training-set{border-color:#7e93b463;background:#2a3a51bb}.training-set.current{border-color:#aabaf1;box-shadow:0 0 14px #829ee449}.training-set.done{border-color:#93aed8}.training-set-head span{color:#cbd2ff}.training-set.done .training-set-head span{color:#b5d0f4}.training-number button{background:#415674;color:#f1f4fc}.training-number button:last-child{background:#a9b9ef;color:#1b2640}.training-number input{background:#162438;border-color:#728ab0}.training-set-check input{accent-color:#a1b6ed}.workout-warmup-edit{background:#2a3850;border-color:#8ca0bd6b}.workout-warmup-view{background:#2c3b53;border-color:#8498ba67}.training-warmup-detail{border-color:#8da1c27a}.training-warmup-detail li{background:#394a64}.training-warmup-detail li span{color:#c2d0e8}.training-completed>.training-warmup-detail{background:#263750;border-color:#8598bd6b}.exercise-image-picker-head{background:#2a3a53;border-color:#8ba0c275}.exercise-image-library{background:#1d2c42;border-color:#899bb879}.exercise-image-grid button{background:#33435d;color:#edf1fa;border-color:#93a9c35c}.exercise-image-grid button.selected{background:#485179;border-color:#b7baf0}.exercise-image-credit,.exercise-image-attribution{color:#aebed8}.exercise-image-credit a,.exercise-image-attribution a{color:#ccd5fa}@media(max-width:600px){.training-exercise-main{gap:11px}.training-exercise-main .exercise-art{width:66px;height:66px}.training-exercise-content{flex-basis:calc(100% - 78px)}.training-recommend{margin:10px 10px 0 auto}}@media(prefers-reduced-motion:reduce){button{transition:none}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled){transform:none}}}.training-screen .workout-tabs button{background:#4c5a7791;border-color:#a9b8d63e;color:#e2e9f7}.training-screen .workout-tabs button.selected{background:linear-gradient(120deg,#a9b7e8,#95bce9);border-color:#b4c2ef;color:#1b263a}@media(min-width:700px){.training-exercise-main .exercise-art{width:124px;height:124px}.training-exercise-main{gap:20px}.training-exercise-facts>span{min-width:94px}}:root{--tg-theme-bg-color:#091b27!important;--tg-theme-secondary-bg-color:#112b34!important;--tg-theme-text-color:#f6eddb!important;--tg-theme-hint-color:#b4c7c6!important;--tg-theme-button-color:#f1b56b!important;--tg-theme-button-text-color:#241b18!important;--tg-theme-link-color:#f2bf79!important;--bg:#091b27;--surface:#112b34;--surface-raised:#17343d;--surface-soft:#21414a;--line:#638380;--text:#f6eddb;--muted:#b4c7c6;--accent:#f1b56b;--accent-light:#ffe0a1;--accent-deep:#c87542;--on-accent:#241b18;--blue:#67b9b4;--violet:#9bbfc1;--glass:rgba(13,37,45,.94);font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark;color:var(--text);background:var(--bg)}body{background:linear-gradient(180deg,#07172299,#071b27cc 47%,#071722e0),url(./northern-forest-Db0-8eeY.webp) center top / cover fixed no-repeat;color:var(--text)}header{position:relative;background:linear-gradient(90deg,#0b2430f7,#11343af2);border-bottom:2px solid #b48151aa;box-shadow:inset 0 -1px #f4bb7133,0 8px 30px #010a11b3;backdrop-filter:none;-webkit-backdrop-filter:none}.brand{font-family:Georgia,serif;font-weight:900;letter-spacing:.025em;text-shadow:2px 2px #071922}.brand span,.statgrid b,.ratingrow b{color:var(--accent)}.sub{color:#afc8c3}main:not(.entry-page){position:relative}main:not(.entry-page):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,transparent,#08202bb8 10%,#08202bc9 90%,transparent);pointer-events:none}h1,.routes-page h1{font-family:Georgia,serif;font-weight:900;letter-spacing:.005em;color:#fff0d2;text-shadow:2px 3px #071720}h2,h3,.training-screen>h3{font-family:Georgia,serif;color:#f9e9c8;letter-spacing:0}.routes-eyebrow,.entry-eyebrow,.entry-scene-caption span{font-family:ui-monospace,Consolas,monospace;letter-spacing:.15em;color:#80c8c4}.muted,small{color:#b4c7c6}.card,.workout-editor,.workout-view,.workout-day-edit,.workout-day-view,.workout-exercise-edit,.workout-steps .workout-step-card,.training-summary,.training-exercise,.route-grade-card,.route-chart,.route-calendar{background:linear-gradient(145deg,#16333ded,#0c2530f4);border:1px solid #8d8d6c99;border-radius:8px;box-shadow:inset 0 0 0 2px #091e29,inset 0 2px #d6ad6b32,0 9px 24px #020c13ad;backdrop-filter:none;-webkit-backdrop-filter:none}.card{position:relative}.card:before,.training-exercise:before,.route-grade-card:before{content:"";position:absolute;left:8px;top:8px;width:8px;height:8px;border-top:2px solid #d49b60aa;border-left:2px solid #d49b60aa;pointer-events:none}.card:after,.training-exercise:after,.route-grade-card:after{content:"";position:absolute;right:8px;bottom:8px;width:8px;height:8px;border-right:2px solid #d49b60aa;border-bottom:2px solid #d49b60aa;pointer-events:none}.statgrid .card,.workout-exercise-edit,.plan-library{background:#17343ded}.card>.row:first-child>small{color:#b1c9c4}.body{color:#e6e9dc}button,.entry-primary,.route-save{border:1px solid #e1a45f;border-radius:6px;background:linear-gradient(180deg,#ffd493,#dda05c);color:#231b18;box-shadow:inset 0 2px #fff0c2ad,inset 0 -3px #a45a3488,0 4px #583727,0 7px 14px #010c10a8;font-weight:800;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}}button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px #fff0c2ad,inset 0 -2px #a45a3488,0 2px #583727}.secondary,.workout-toolbar .secondary,.route-close,.route-back{background:linear-gradient(180deg,#2d4c52,#17353e);color:#f4e8d0;border-color:#6b9c98;box-shadow:inset 0 1px #aad4c549,0 3px #0a202a}.textbtn{background:transparent;color:#f3bd7b;border:0;box-shadow:none}@media(hover:hover)and (pointer:fine){.textbtn:hover:not(:disabled){text-decoration:underline}}.danger{color:#f29c90}.badge{background:#264a4e;color:#c8e4d7;border:1px solid #75a39a}.badge.accent,.badge.pinned{background:#60442b;color:#ffdea6;border-color:#b7824a}input,textarea,select{background:#081d28;color:#f5eddf;border:1px solid #71938d;border-radius:5px;box-shadow:inset 0 2px 5px #010b12}.entry-card input:not([type=checkbox]){background:#0a2630;border-color:#779690;color:#f9efdc;border-radius:5px}.entry-card input::placeholder,input::placeholder,textarea::placeholder{color:#a5bcb8}input:focus,textarea:focus,select:focus,.entry-card input:focus{border-color:#f4c481;box-shadow:0 0 0 3px #eeae6338}.check input,.entry-agree input{accent-color:#ecb36d}.alert{background:#633b35;color:#ffe9d4;border:1px solid #d28d73}.app-nav{background:linear-gradient(180deg,#102b35f7,#081c26f9);border:1px solid #ae8457;box-shadow:inset 0 2px #f1bd7861,0 -10px 28px #010c13c7;backdrop-filter:none;-webkit-backdrop-filter:none}.app-nav button{background:transparent;border:1px solid transparent;box-shadow:none;color:#a9c7c5}.app-nav button.active{background:linear-gradient(180deg,#715338ad,#3e322baa);border-color:#d7a463;color:#ffe0a1;box-shadow:inset 0 1px #ffe3ad70,0 0 11px #e69c5144}.app-nav button.active small{color:#ffe0a1}.nav-rune{width:24px;height:24px;flex:none;filter:drop-shadow(1px 2px #071820)}.avatar,.user-avatar{background:#24434b;border:2px solid #bc905f;color:#f4d096;border-radius:8px}.small-avatar{border-radius:50%}.person,.comment,.private-message,.student-list-item,.group{border-color:#66817a7d}.comment,.private-message,.student-list-item{background:#14313a80}.private-message.own,.private-pinned{background:#5b422cb5;color:#fff1d9}.private-message small{color:#b7d1cc}.private-pinned p,.private-pinned strong{color:#fff1d9}.private-pinned .private-pin-label{color:#ffd596!important}.student-state,.student-event{background:#27454b;color:#f5edda}.student-state.done{background:#2b514d}.student-state.partial{background:#5c4a35}.student-progress-track{background:#41616a}.student-progress-track span,.student-line{background:#f0b46e;stroke:#f0b46e}.student-dot{fill:#f0b46e}@media(hover:hover)and (pointer:fine){.ratingrow:hover,.student-list-item:hover{background:#25434a}}.ratingrow b{color:#f4c077}.ratinghead,.ratingrow{border-color:#66817a77}.rating-switch button,.workout-tabs button,.training-screen .workout-tabs button,.route-period button{background:#22414a;border:1px solid #648c87;color:#e9e9d8;box-shadow:inset 0 1px #d1e9d21e}.rating-switch button.selected,.workout-tabs button.selected,.training-screen .workout-tabs button.selected,.route-period button.selected{background:linear-gradient(180deg,#ffd18b,#ca8751);border-color:#ffd18b;color:#251b18;box-shadow:inset 0 1px #ffebbe,0 3px #67402d}.day,.calendar-day-toggle{background:#24414b;color:#e4e8d8;border:1px solid #678b81}.day.working,.calendar-day-toggle.status-working{background:#27524e;color:#dcf3db}.day.day-off,.day.vacation,.calendar-day-toggle.status-day_off,.calendar-day-toggle.status-vacation{background:#654039;color:#ffe2c8}.workout-day-head,.workout-day-view h4{background:linear-gradient(90deg,#bd8050,#e7ae67);color:#241b17}.workout-exercises-title{background:#315455;color:#ffe2a5}.workout-intro{background:#604333;color:#fff1dd}.workout-facts span,.workout-set-progress,.training-screen .workout-set-progress{background:#1b3942;color:#f4ebdc;border-color:#6d8e85}.workout-facts small,.workout-set-heading small{color:#c0d0c8}.workout-set-progress .workout-set-item{background:#19363f;color:#f4ecdc;border-color:#678b82}.workout-set-progress .workout-set-item.done{background:#3b604c;border-color:#a9bd83}.workout-set-progress .workout-set-inputs input{background:#102c34;color:#fff1df;border-color:#6d8e85}.workout-set-complete,.workout-step-done{color:#f9d492}.training-screen{color:#f6eddb}.training-subtitle,.training-section-title p{color:#b9d0c7}.training-summary{background:#15333ddf}.training-summary span{color:#ecd2a6}.training-summary progress,.training-summary progress::-webkit-progress-bar,.workout-set-progress progress,.workout-set-progress progress::-webkit-progress-bar{background:#42606a}.training-summary progress::-webkit-progress-value,.workout-set-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#78b6a5,#f1bd71)}.training-summary progress::-moz-progress-bar,.workout-set-progress progress::-moz-progress-bar{background:#e9b26a}.training-section-title>span{border-color:#e8af6a;color:#ffd087}.training-exercise{position:relative;background:linear-gradient(145deg,#1c3a42f5,#0e2933f8)}.training-exercise.recommended{border:2px solid #e8b267;box-shadow:inset 0 0 0 2px #091e29,0 0 21px #e5a45d70}.training-exercise-mark,.exercise-art{background:#0c2632;border-color:#8e8e72;color:#f4c483;border-radius:5px}.training-step-label{background:#594633;border-color:#b9844d;color:#ffe0a3}.training-exercise-facts>span{background:#27464b;color:#fff2da;border:1px solid #55756d}.training-exercise-facts small{color:#bfd4cb}.training-exercise-content>p{color:#c5d8ca}.training-start{background:linear-gradient(180deg,#31535a,#1a3842);border-color:#769b8b;color:#fff0d9}.training-exercise.recommended .training-start{background:linear-gradient(180deg,#ffd493,#d99a59);border-color:#ffd493;color:#271c17}.training-recommend{background:#664c30;color:#ffe1ac;border-color:#d49b60}.training-finish,.training-done-row,.training-warmup-detail li{background:#1c3b42;border-color:#718e82}.training-completed{border-color:#718e82}.training-completed>h4 span,.training-done-row>span{background:#efbd76;color:#2a2019}.training-done-row small{color:#b9d0c7}.training-screen .workout-set-progress>.muted{color:#bbd2c8}.training-set{background:#193741;border-color:#698980}.training-set.current{border-color:#f2be78;box-shadow:0 0 13px #eeb36c66}.training-set.done{border-color:#93b79b}.training-set-head span,.training-set.done .training-set-head span{color:#f6c985}.training-number button{background:#2d4d55;color:#fff2de}.training-number button:last-child{background:#efb56b;color:#241b17}.training-number input{background:#0d2933;border-color:#718f84}.training-set-check input{accent-color:#efb56b}.route-hero{background:linear-gradient(120deg,#284449f5,#122d39f8)!important}.route-hero span,.route-section-heading small,.route-grade-card>span,.route-record small,.route-metrics small{color:#bed2c8}.route-hero strong,.route-metrics b,.route-grade-card>b{color:#f9d397}.route-hero-today>div,.route-day-totals span{background:#193640;border-color:#8e8e6c}.route-grade-card{position:relative;background:linear-gradient(155deg,#24444cf2,#122d39f9);border-color:#8b8e73;color:#f5eddb}.route-grade-card.active{border-color:#f4bc72;box-shadow:inset 0 0 0 2px #09212b,0 0 15px #da975469}@media(hover:hover)and (pointer:fine){.route-grade-card:hover{border-color:#f4bc72;box-shadow:inset 0 0 0 2px #09212b,0 0 15px #da975469}}.route-grade-card strong{color:#f4d29a}.route-record,.route-modal,.route-chart,.route-calendar{background:#15333dec;border-color:#8e8e72}.route-status-pick button{background:#2a4a50;color:#f2ecdc;border-color:#77918a}.route-status-pick button.selected{background:linear-gradient(180deg,#ffd493,#d99a59);color:#271c17}.route-dialog::backdrop{background:#030e18d9}.route-modal{box-shadow:inset 0 2px #f1c6856e,0 20px 60px #020c12}.route-chart svg text{fill:#d2d6c4}.route-chart svg polyline{stroke:#76c5bb}.route-chart svg circle{fill:#e9b66d;stroke:#1b3137}.route-bar-row>div{background:#3b555a}.route-bar-row span{background:linear-gradient(90deg,#5eb8b1,#f1be78)}.route-period{background:#102d38;border-color:#718d80}.route-calendar-grid button{background:#24434b;color:#fff0d7}.route-calendar-grid button.selected{background:#876039;border-color:#ffd28c}.route-calendar-grid i{background:#ffd28c}.route-progress-entry button{background:linear-gradient(90deg,#4b402f,#203f43);border-color:#b68a5c;color:#ffe3b0}.route-progress-entry small{color:#c4d5c8}.entry-page{display:grid;place-items:center;background:linear-gradient(90deg,#07172433,#07172422 43%,#061420b5 70%,#061420e8),url(./welcome-viking-CMJ1gK9X.webp) center center / cover no-repeat,#081a25;color:#f6eddb}.entry-page:before,.entry-page:after,.entry-rocks{display:none}.entry-shell{position:relative;width:min(100%,1130px);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:14px;align-items:start;animation:entry-rise .45s ease-out both}.entry-brand,.entry-card,.entry-links{grid-column:2}.entry-brand{justify-self:center;margin-top:15px}.entry-brand strong{font-family:Georgia,serif;font-size:clamp(37px,4vw,51px);color:#fff0d2;text-shadow:2px 3px #091b26}.entry-brand strong span{color:#ffc179}.entry-brand-mark{border:2px solid #d5a05f;border-radius:4px;color:#ffd18b;background:#0e2e37bf}.entry-card{border:2px solid #d29b61;border-radius:8px;background:linear-gradient(145deg,#183740f5,#0b2531f8);box-shadow:inset 0 0 0 3px #092029,inset 0 3px #f9c87f58,0 16px 55px #010b14cf;backdrop-filter:none;-webkit-backdrop-filter:none}.entry-corner-one,.entry-corner-two{border-color:#ffd28a;border-radius:0}.entry-card h1{font-family:Georgia,serif;color:#fff0d3;letter-spacing:0}.entry-eyebrow{color:#83c6bb}.entry-copy,.entry-agree{color:#d5dfd4}.entry-card label:not(.entry-agree),.entry-card label:not(.entry-agree) span{color:#f6e9ce}.entry-card label small{color:#bed0c9}.entry-primary{background:linear-gradient(180deg,#ffd493,#d99a59);color:#271c17}.entry-note,.entry-links a{color:#c5d6c7}.entry-agree a{color:#ffd18e}.entry-scene-caption{position:absolute;left:max(24px,calc((100vw - 1100px)/2));bottom:7vh;z-index:1;display:grid;gap:7px;max-width:420px;text-shadow:2px 3px #05131b;pointer-events:none}.entry-scene-caption span{font-weight:800;color:#8bd4c5}.entry-scene-caption strong{font:900 clamp(23px,3vw,40px)/1.05 Georgia,serif;color:#ffe4aa}@media(max-width:760px){body{background-position:center top;background-size:auto 100vh}.entry-page{display:block;min-height:100dvh;padding:0 12px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#07172400 0,#07172410 180px,#071724e8 315px,#081b26 430px),url(./welcome-viking-mobile-BxacGksz.webp) center top / 100% auto no-repeat,#081b26;overflow-y:auto}.entry-scene-caption{position:relative;left:auto;bottom:auto;top:auto;max-width:none;margin:0;padding:230px 7px 10px}.entry-scene-caption strong{font-size:24px}.entry-shell{display:flex;flex-direction:column;width:min(100%,430px);gap:13px;margin:0 auto;align-items:stretch}.entry-brand{align-self:center;margin-top:4px}.entry-card{padding:23px 19px}.entry-links{padding-bottom:8px}.card{padding:15px}main:not(.entry-page){padding-bottom:calc(98px + env(safe-area-inset-bottom))}.app-nav{border-left:0;border-right:0;border-bottom:0;border-radius:0}.app-nav button{padding:4px 1px}.app-nav button small{font-size:clamp(8px,2.4vw,10px)}.nav-rune{width:21px;height:21px}}@media(max-width:370px){.entry-scene-caption{padding-top:205px}.entry-card{padding:20px 15px}.entry-brand strong{font-size:37px}.nav-rune{width:19px;height:19px}.app-nav button small{font-size:8px}}@media(prefers-reduced-motion:reduce){button,.entry-shell{transition:none;animation:none}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled){transform:none}}}.exercise-art{border:2px solid #c7975f;background:radial-gradient(circle at 50% 35%,#31535b,#09212b 78%);box-shadow:inset 0 0 0 2px #09212b,0 0 12px #73b8ab36}.exercise-art img,.exercise-image-grid button img,.workout-warmup-view li img,.training-warmup-detail li img{filter:contrast(2.8) brightness(1.05)}.exercise-art img{transform:scale(1.16)}.exercise-image-picker-head .exercise-art{width:76px;height:76px}.exercise-image-grid button{min-height:128px}.exercise-image-grid button img{width:90px;height:90px}.workout-exercise-view .exercise-art{width:84px;height:84px}.workout-warmup-view li img,.training-warmup-detail li img{width:48px;height:48px}.training-done-row .exercise-art{width:64px;height:64px}.training-completed .training-exercise{opacity:1}@media(max-width:600px){.training-exercise-main .exercise-art{width:88px;height:88px}.training-exercise-content{flex-basis:calc(100% - 100px)}.exercise-image-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}}@media(max-width:360px){.training-exercise-main .exercise-art{width:76px;height:76px}.training-exercise-content{flex-basis:calc(100% - 88px)}}.entry-page{background-image:linear-gradient(90deg,#07172412,#07172415 43%,#06142094 70%,#061420e3),url(./welcome-viking-CMJ1gK9X.webp)}@media(max-width:760px){body{min-height:100dvh;background-image:linear-gradient(180deg,#071722c9,#071b27da 52%,#071722e3),url(./northern-forest-mobile-BpkiSdJP.webp);background-position:center top;background-size:100% 100dvh,100% 100dvh;background-repeat:repeat-y;background-attachment:scroll}.entry-page{background-image:linear-gradient(180deg,#07172422 0,#07172470 120px,#081b26 255px),url(./welcome-viking-mobile-BxacGksz.webp);background-size:100% 270px,100% auto;background-position:center top,center -72px;background-repeat:no-repeat}.entry-scene-caption{display:none}.entry-shell{padding-top:clamp(100px,27vw,134px)}}.nav-label-short{display:none}.app-nav button small .nav-label-full,.app-nav button small .nav-label-short{font-size:inherit;line-height:inherit}@media(max-width:760px){.workout-view.training-screen{padding:16px 14px 20px;overflow:hidden}.training-screen>h3{margin:0;font-size:clamp(22px,6vw,29px);line-height:1.16;overflow-wrap:anywhere}.training-subtitle{line-height:1.4}.training-section-title>div{min-width:0}.training-section-title h4{font-size:clamp(20px,5vw,25px)}.training-section-title p{line-height:1.35}.app-nav{background:#0b2631}.app-nav .nav-label-full{display:none}.app-nav .nav-label-short{display:inline;line-height:inherit}}@font-face{font-family:Climb Pixel;src:url(./PressStart2P-Regular-2BZhbCiP.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.app-header{position:relative;isolation:isolate;width:100%;height:clamp(112px,12vw,164px);overflow:hidden;background:#071b27 url(./climbup-header-night-Bw0css62.webp) center 46% / cover no-repeat;border-top:3px solid #536976;border-bottom:4px solid #a16e3d;box-shadow:inset 0 2px #162f3c,inset 0 -2px #e5b776,0 5px 12px #03111aba}.app-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#061824f2,#071c29de 39%,#071b2840 72%,#071b2812)}.app-header:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid #8b9e9a59;pointer-events:none}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(100%,1440px);height:100%;margin:auto;padding:14px clamp(20px,4vw,60px)}.app-header-copy{min-width:0;position:relative;z-index:1}.app-header .brand{margin:0;color:#ffe5aa;font:400 clamp(29px,3.4vw,48px)/1.25 "Climb Pixel",ui-monospace,monospace;letter-spacing:-.055em;white-space:nowrap;text-shadow:2px 2px 0 #7c482d,4px 4px 0 #18202a}.app-header .brand span{color:#ffc37e}.app-header .sub{margin-top:8px;color:#f5e1be;font:400 clamp(9px,.9vw,12px)/1.6 "Climb Pixel",ui-monospace,monospace;letter-spacing:-.035em;text-shadow:0 2px 4px #06131c;overflow-wrap:anywhere}.app-header-crest{display:grid;place-items:center;flex:none;width:clamp(48px,6vw,76px);height:clamp(58px,7vw,86px);filter:drop-shadow(2px 3px 0 #03111b)}.app-header-crest svg{display:block;width:100%;height:100%;image-rendering:pixelated}.crest-shadow{fill:#06131a}.crest-rim{fill:#d99b4c;stroke:#472d24;stroke-width:2}.crest-face{fill:#0d3442;stroke:#f4c273;stroke-width:1.5}.crest-mountain{fill:#dca456}.crest-highlight{fill:#ffe0a0}@media(max-width:760px){.app-header{height:92px;background-position:58% 43%}.app-header:before{background:linear-gradient(90deg,#061824f5,#071c29e8 48%,#071b2870)}.app-header:after{top:5px;right:5px;bottom:5px;left:5px}.app-header-inner{gap:10px;padding:9px 17px}.app-header .brand{font-size:clamp(20px,5.9vw,27px)}.app-header .sub{margin-top:5px;font-size:clamp(8px,2.2vw,10px);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.app-header-crest{width:48px;height:58px}}@media(max-width:350px){.app-header-inner{padding-inline:13px}.app-header .brand{font-size:19px}.app-header-crest{width:40px;height:50px}}.app-header-decor{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.app-header-corner{position:absolute;top:7px;width:18px;height:18px;border-top:3px solid #b7834b;box-shadow:0 -2px #243b46}.app-header-corner-left{left:8px;border-left:3px solid #b7834b}.app-header-corner-right{right:8px;border-right:3px solid #b7834b}.app-header-jewel{position:absolute;top:0;left:50%;width:12px;height:12px;transform:translate(-50%,-50%) rotate(45deg);background:#1b6573;border:2px solid #d4a361;box-shadow:0 0 0 2px #071b27,0 0 10px #6cb5b899}.app-header-chain{position:absolute;left:18px;right:18px;bottom:3px;height:7px;background:repeating-linear-gradient(90deg,transparent 0 5px,#bb8651 5px 16px,#f3c780 16px 18px,transparent 18px 23px);border-top:1px solid #d8ae70a6;opacity:.86}.app-header-chain:after{content:"";position:absolute;left:50%;top:-4px;width:12px;height:12px;transform:translate(-50%) rotate(45deg);background:#173b47;border:2px solid #d2a164;box-shadow:0 0 0 2px #071b27}@media(max-width:760px){.app-header-corner{top:5px;width:12px;height:12px;border-width:2px}.app-header-corner-left{left:5px}.app-header-corner-right{right:5px}.app-header-chain{left:13px;right:13px;bottom:3px;height:5px;background-size:auto;opacity:.75}.app-header-chain:after{width:8px;height:8px;top:-3px}.app-header-jewel{width:9px;height:9px}}:root{--climbup-safe-top:max(env(safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px));--climbup-safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px))}html{-webkit-tap-highlight-color:transparent}body.entry-loading{background:#081a25!important}button,a,[role=button]{touch-action:manipulation}button,[role=button]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.nav-more-trigger{display:none!important}.app-nav-backdrop,.app-nav-more-panel{display:none}.route-calendar-date-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0;font-size:13px}.route-calendar-date-picker input{width:min(190px,60%);min-height:44px;margin:0}@media(pointer:coarse){input:not([type=checkbox]),textarea,select,.entry-card input:not([type=checkbox]),.training-number input,.workout-set-inputs input[type=number]{font-size:16px!important}}@media(max-width:760px){.workout-editor,.workout-day-edit,.workout-day-content,.workout-exercise-edit{min-width:0}.workout-day-content{padding:10px}.workout-warmup-edit{grid-template-columns:minmax(0,1fr);align-items:stretch}.workout-warmup-edit>*{grid-column:1;min-width:0}.workout-warmup-edit .exercise-image-picker,.workout-exercise-edit .exercise-image-picker{width:100%;min-width:0;max-width:100%}.workout-editor .exercise-image-picker-head{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;align-items:center}.workout-editor .exercise-image-picker-head .exercise-art{width:46px;height:46px}.workout-editor .exercise-image-picker-head>div:nth-child(2){overflow-wrap:anywhere}.workout-editor .exercise-image-picker-head button{grid-column:1/-1;width:100%;min-height:40px}.workout-editor .exercise-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px}.workout-editor .exercise-image-grid button{min-width:0}.workout-editor .exercise-image-grid button img{max-width:100%}.workout-editor .exercise-image-credit{overflow-wrap:anywhere}.workout-editor .workout-fields{grid-template-columns:minmax(0,1fr)}.workout-editor .workout-fields label:first-child{grid-column:auto}.training-day-pickers{display:flex;align-items:center;gap:8px;min-width:0}.training-day-pickers>.workout-tabs{min-width:0;padding:9px 0}.training-day-pickers>.workout-tabs:first-child{flex:0 1 auto;max-width:44%}.training-day-pickers>.workout-tabs:last-child{flex:1 1 auto}.training-day-pickers .workout-tabs button{white-space:nowrap}.app-nav{z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:2px;padding:6px 5px calc(8px + var(--climbup-safe-bottom))}.app-nav .nav-extra{display:none}.app-nav .nav-more-trigger{display:flex!important}.app-nav>button{min-width:0;min-height:60px;justify-content:center;gap:4px;padding:6px 2px}.app-nav>button small{display:block;max-width:100%;font-size:clamp(10px,2.9vw,12px)!important;line-height:1.2;white-space:nowrap;overflow:visible;text-overflow:clip}.app-nav .nav-rune{width:21px;height:21px}.app-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;display:block;width:100%;border:0;border-radius:0;background:#03101990;box-shadow:none}.app-nav-more-panel{position:absolute;right:8px;bottom:calc(100% + 9px);display:grid;gap:4px;width:min(250px,calc(100vw - 16px));padding:8px;border:1px solid #b98a5b;border-radius:8px;background:#102d37;color:#f6eddb;box-shadow:0 12px 32px #020b13d9}.app-nav-more-panel button{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:48px;padding:9px 12px;border:1px solid transparent;background:#1b3b43;color:#f6eddb;box-shadow:none;text-align:left;font-size:14px}.app-nav-more-panel button.active{border-color:#d7a463;background:#604731;color:#ffe0a1}.app-nav-more-panel .nav-rune{width:22px;height:22px}.route-calendar-head button{width:44px;min-width:44px;min-height:44px}.route-calendar-grid button{min-height:44px}.route-close{width:44px;height:44px;min-height:44px}.training-set-fields{grid-template-columns:1fr}}html,body{touch-action:pan-x pan-y pinch-zoom}@media(max-width:760px){body{padding-top:var(--climbup-safe-top)}body:has(.entry-page){padding-top:0}.entry-page{padding-top:var(--climbup-safe-top);padding-bottom:calc(22px + var(--climbup-safe-bottom))}.entry-page .entry-shell{gap:10px}main.app-main{padding-bottom:calc(156px + var(--climbup-safe-bottom))}.route-dialog .route-modal{max-height:calc(100dvh - var(--climbup-safe-top) - 8px);padding-bottom:calc(20px + var(--climbup-safe-bottom));overscroll-behavior:contain}}.workout-view.training-screen{padding:16px;box-shadow:none}.training-screen>h3{font-size:clamp(22px,3.2vw,28px);line-height:1.15}.training-screen .training-subtitle{margin:4px 0 8px;line-height:1.35}.training-screen .training-day-pickers{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;max-width:100%;overflow:hidden}.training-screen .training-day-pickers>.workout-tabs{display:flex;flex:0 1 auto;width:max-content;min-width:0;max-width:calc(62% - 3px);padding:4px 0;overflow-x:auto}.training-screen .training-day-pickers>.workout-tabs:first-child{max-width:calc(38% - 3px)}.training-screen .training-day-pickers .workout-tabs button{min-height:44px;padding:7px 10px;white-space:nowrap;font-size:12px;line-height:1.1}.training-screen .training-summary{margin:10px 0 17px;padding:12px 14px;box-shadow:none}.training-screen .training-summary>div{margin-bottom:8px}.training-screen .training-section-title{gap:10px;margin:8px 0 12px}.training-screen .training-section-rune{display:block;flex:none;width:38px;height:38px;filter:drop-shadow(1px 2px 0 #081820)}.training-screen .training-section-rune .rune-frame{fill:#18333a;stroke:#d9a767;stroke-width:2}.training-screen .training-section-rune .rune-mark{stroke:#ffd99a;stroke-width:2.6;stroke-linecap:square;stroke-linejoin:miter}.training-screen .training-section-rune .rune-base{stroke:#d9a767;stroke-width:2}.training-screen .training-section-title h4{font-size:clamp(20px,3vw,24px);line-height:1.15}.training-screen .training-section-title p{font-size:13px;line-height:1.3}.training-screen .training-section-title>div{min-width:0;overflow-wrap:anywhere}.training-screen .training-recommend{display:table;max-width:calc(100% - 24px);margin:12px 12px 0;padding:5px 10px;white-space:normal;line-height:1.3}.training-screen .training-exercise-content{min-width:0;overflow-wrap:anywhere}.training-screen .training-exercise-content .training-step-label{max-width:100%;white-space:normal;line-height:1.3}.training-screen .training-exercise{box-shadow:none;border-color:#5a798086}.training-screen .training-exercise.recommended{border-width:1px;border-color:#d8a86c;box-shadow:0 0 0 1px #d8a86c40}.training-screen .training-exercise-facts>span{box-shadow:none;border-color:#63838180}.training-screen .training-start{min-width:90px;min-height:44px;padding:8px 11px;border-radius:9px;font-size:13px;line-height:1.15;box-shadow:none;white-space:nowrap}.training-screen .training-start span{font-size:18px}.training-screen .training-exercise-compact{margin:8px 0;background:#193640;border-color:#58778085}.training-screen .training-exercise-compact .training-exercise-main{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px}.training-screen .training-exercise-compact .exercise-art{width:48px;height:48px;border-radius:6px}.training-screen .training-exercise-compact .training-exercise-content{min-width:0;flex-basis:auto}.training-screen .training-exercise-compact h4{margin:0 0 3px;font-size:16px;line-height:1.2}.training-screen .training-complete-label{font-size:12px;color:#a9c9b6}.training-screen .training-exercise-compact .training-start{margin:0}.training-screen .training-completed{margin-top:18px;padding-top:12px}.training-screen .training-completed>h4{margin:0 0 10px;font-size:19px}.training-screen .training-completed>h4 span{width:28px;height:28px;margin-right:5px;font-size:16px}.training-screen .training-done-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;padding:10px 12px;box-shadow:none}.training-screen .training-done-row .exercise-art{width:48px;height:48px;margin:0;border-radius:6px}.training-screen .training-done-row>div{min-width:0}.training-screen .training-done-row b{font-size:16px;line-height:1.2}.training-screen .training-done-row small{font-size:12px}.training-screen .training-done-row .training-start{margin:0}.training-screen .training-finish{margin:12px 0;padding:11px 14px;box-shadow:none}.training-screen .training-finish strong{font-size:13px;color:#f1c386}.training-screen .training-finish p{margin:4px 0 0;white-space:pre-wrap;font-size:13px;line-height:1.4}@media(max-width:760px){main:not(.entry-page){padding-bottom:calc(156px + env(safe-area-inset-bottom,0px))}.workout-view.training-screen{padding:14px 12px 24px}.training-screen .training-day-pickers>.workout-tabs:first-child{flex:0 1 auto;max-width:calc(38% - 3px)}.training-screen .training-day-pickers>.workout-tabs:last-child{flex:0 1 auto;max-width:calc(62% - 3px)}.training-screen .training-day-pickers .workout-tabs button{min-height:44px;padding:7px 10px}.training-screen .training-exercise:not(.training-exercise-compact) .training-exercise-main{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:10px;padding:12px}.training-screen .training-exercise:not(.training-exercise-compact) .training-exercise-main .exercise-art{width:72px;height:72px}.training-screen .training-exercise:not(.training-exercise-compact) .training-exercise-content{flex-basis:auto;min-width:0}.training-screen .training-exercise:not(.training-exercise-compact) .training-exercise-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.training-screen .training-exercise:not(.training-exercise-compact) .training-exercise-facts>span{min-width:0}.training-screen .training-exercise:not(.training-exercise-compact) .training-start{grid-column:1/-1;justify-self:end;align-self:auto;margin:0}.training-screen .training-exercise-compact .training-exercise-main{grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:9px}.training-screen .training-exercise-compact .exercise-art,.training-screen .training-done-row .exercise-art{width:44px;height:44px}.training-screen .training-done-row{grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:9px}.training-screen .training-exercise-compact .training-start,.training-screen .training-done-row .training-start{min-width:80px;padding:8px}}@media(max-width:360px){.training-screen .training-day-pickers .workout-tabs button{font-size:11px;padding:7px 8px}.training-screen .training-exercise:not(.training-exercise-compact) .training-exercise-main{grid-template-columns:56px minmax(0,1fr);gap:8px;padding:10px}.training-screen .training-exercise:not(.training-exercise-compact) .training-exercise-main .exercise-art{width:56px;height:56px}.training-screen .training-exercise-compact .training-start,.training-screen .training-done-row .training-start{min-width:72px;font-size:12px}}.app-nav .nav-adventure-extra{display:none}.app-nav .nav-more-trigger{display:flex!important}.app-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;display:block;width:100%;border:0;border-radius:0;background:#03101990;box-shadow:none}.app-nav-more-panel{position:absolute;right:8px;bottom:calc(100% + 9px);z-index:21;display:grid;gap:4px;width:min(310px,calc(100vw - 16px));max-height:min(68dvh,540px);overflow-y:auto;overscroll-behavior:contain;padding:8px;border:1px solid #b98a5b;border-radius:8px;background:#102d37;color:#f6eddb;box-shadow:0 12px 32px #020b13d9}.app-nav-more-panel button{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:48px;padding:9px 12px;border:1px solid transparent;background:#1b3b43;color:#f6eddb;box-shadow:none;text-align:left;font-size:14px;white-space:normal;overflow-wrap:anywhere}.app-nav-more-panel button.active{border-color:#d7a463;background:#604731;color:#ffe0a1}.app-nav-more-panel .adventure-more-first{margin-top:7px;border-top:1px solid #a77a4f}.app-nav-more-panel .nav-rune{width:22px;height:22px;flex:none}.adventure-page,.adventure-page *{box-sizing:border-box}.adventure-page{min-width:0}.adventure-page>h1{max-width:100%;font-size:clamp(1.75rem,6vw,2.6rem);line-height:1.15;overflow-wrap:anywhere;text-wrap:balance}.adventure-page .card{min-width:0}.adventure-page h2,.adventure-page h3,.adventure-page p,.adventure-page small{overflow-wrap:anywhere}.adventure-page h2{line-height:1.25}.adventure-back{margin-bottom:12px}.adventure-session{margin-top:14px}.adventure-session-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 20px}.adventure-session-links button{min-width:0;white-space:normal}.adventure-session .wide+.wide{margin-top:10px}.adventure-metrics{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}.adventure-metrics span{min-width:0;justify-content:space-between;gap:8px;padding:12px}.adventure-metrics b{font-size:clamp(1.25rem,4vw,1.8rem);line-height:1.15}.adventure-metrics small{line-height:1.3}.adventure-bar{grid-template-columns:48px minmax(0,1fr) auto;gap:5px 10px;margin:16px 0}.adventure-bar b{grid-column:1;grid-row:1}.adventure-bar span{grid-column:3;grid-row:1;font-variant-numeric:tabular-nums}.adventure-bar small{grid-column:2;grid-row:1;text-align:left;font-size:.76rem}.adventure-bar .adventure-bar-track{grid-column:1 / -1;grid-row:2;height:12px;min-width:0;border-radius:3px;overflow:hidden}.adventure-bar .adventure-bar-track i{min-width:2px}.adventure-trend{min-height:0;height:180px;gap:8px;padding:0 2px 4px}.adventure-trend>div{min-width:44px}.adventure-trend small{font-size:.68rem}.adventure-duel-form label,.adventure-duel-dates label{min-width:0}.adventure-duel-form input,.adventure-duel-form select{min-width:0;width:100%}.adventure-duel-dates{min-width:0}.adventure-score b{font-size:clamp(1.45rem,5vw,2rem)}.adventure-score span{overflow:hidden}.adventure-chronicle article>div{min-width:0}.adventure-chronicle-icon{flex:none;text-align:center}.adventure-zone{transition:transform .15s cubic-bezier(.23,1,.32,1),border-color .15s ease}.adventure-zone:active,.adventure-page button:active{transform:scale(.97)}@media(max-width:700px){.adventure-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:8px}.adventure-metrics span{min-height:76px;padding:10px}.adventure-score{gap:8px}.adventure-score span{padding:9px}.adventure-map-grid{gap:12px}.adventure-zone{padding:9px 7px}.adventure-zone b{line-height:1.2}}@media(max-width:420px){.adventure-duel-dates,.adventure-session-links{grid-template-columns:1fr}.adventure-bar{grid-template-columns:40px minmax(0,1fr) auto;gap:5px 7px}.adventure-bar small{font-size:.7rem}.adventure-chronicle{padding-left:17px}.adventure-chronicle article{gap:10px}.adventure-chronicle article:before{left:-20px}}@media(prefers-reduced-motion:reduce){.adventure-zone{transition:none}}.app-nav{z-index:20;grid-template-columns:repeat(7,minmax(0,1fr))}@media(max-width:760px){.app-nav{grid-template-columns:repeat(5,minmax(0,1fr))}}.adventure-zone.open{animation:none}.adventure-page .card progress{display:block;width:min(100%,420px);height:14px;margin-top:12px}.adventure-page>.adventure-metrics span:last-child:nth-child(odd){grid-column:1 / -1}.route-efficiency-link{width:100%;display:flex;align-items:center;gap:12px;margin:14px 0 20px;padding:12px 16px;border:1px solid #aa845c;border-radius:6px;background:linear-gradient(110deg,#173d46,#102b36);color:#ffe1aa;text-align:left;transition:transform .15s cubic-bezier(.23,1,.32,1),border-color .15s ease}.route-efficiency-link:active{transform:scale(.98)}.route-efficiency-link:focus-visible{outline:2px solid #ffcf84;outline-offset:2px}.route-efficiency-rune{flex:none;font-size:1.7rem;line-height:1}.route-efficiency-copy{display:grid;min-width:0;gap:3px;flex:1}.route-efficiency-copy b,.route-efficiency-copy small{overflow-wrap:anywhere}.route-efficiency-copy small{color:#bcd0c9;font-size:.8rem}@media(max-width:380px){.route-efficiency-link{padding:10px 12px}.route-efficiency-copy b{font-size:.9rem}}.student-nav .nav-extra{display:none}.student-nav .nav-more-trigger{display:flex!important}.app-nav-group-label{display:block;padding:7px 12px 2px;color:#a9c1bd;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.home-next-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 20px;padding:15px 17px;border:1px solid #a77a4f;border-radius:9px;background:linear-gradient(110deg,#173d46,#102b36);box-shadow:inset 0 1px #e6b47b30;color:#f6eddb}.home-next-action>div{display:grid;gap:5px;min-width:0}.home-next-action small{color:#b8c8bd;font-size:10px;font-weight:800;letter-spacing:.12em}.home-next-action strong{font-size:16px;line-height:1.3;overflow-wrap:anywhere}.home-next-action button{flex:none;min-height:48px;padding:10px 15px;white-space:nowrap}.home-next-action button span{margin-left:5px}.student-section-link{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;margin:8px 0 20px;padding:9px 14px;text-align:left;border:1px solid #a77a4f;border-radius:8px;background:#173d46;color:#ffe1aa;box-shadow:none}.student-section-link>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.student-section-link strong{font-size:14px}.student-section-link small{color:#bbd0cb;font-size:11px}.student-section-link>b{font-size:22px}.route-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}.route-tools .route-efficiency-link{min-width:0;min-height:64px;margin:0;padding:10px;gap:8px}.route-tools .route-efficiency-copy{min-width:0}.route-tools .route-efficiency-copy b,.route-tools .route-efficiency-copy small{overflow-wrap:anywhere}.route-tools .route-efficiency-rune{flex:none}@media(max-width:760px){.route-tools{grid-template-columns:1fr;gap:6px}.route-tools .route-efficiency-link{min-height:54px}.home-next-action{align-items:stretch;flex-direction:column;gap:12px}.home-next-action button{width:100%}}@media(max-width:380px){.home-next-action{padding:12px}.route-tools .route-efficiency-link{padding:9px 11px}}.student-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.student-nav .app-nav-more-panel button{flex-direction:row;align-items:center;justify-content:flex-start;min-height:48px;text-align:left}.student-nav .app-nav-more-panel button .nav-rune{flex:none}.student-nav .app-nav-more-panel button span{min-width:0}.student-home-filters{margin:12px 0 18px}.student-home-filters h2{margin:0 0 10px}.student-home-filters .home-filters{margin:0 0 9px}.student-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:9px 13px;text-align:left;background:#22414a;color:#f6eddb;border:1px solid #66817a}.student-filter-summary{margin:7px 1px 0;color:#b9cec6;font-size:12px}.student-filter-options{padding:8px 12px 10px;border:1px solid #52706d;border-radius:0 0 8px 8px;background:#102a33}.student-filter-options .home-workout-places{margin:0}.student-filter-options .home-filters{margin:4px 0 0}.student-filter-options .home-filter-buttons{padding-top:5px}.student-filter-options .textbtn{margin-top:5px}.training-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.training-heading h1{margin:0}.training-heading button{flex:none;min-height:44px;padding:8px 12px;font-size:13px}.route-results-link{margin:0 0 16px}.route-projects-link{margin:18px 0}.route-results-back{min-height:44px;margin-bottom:12px}.route-results-shell>h1{margin:0 0 14px}.route-results-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:16px}.route-results-tabs button{min-height:46px;border:1px solid #78958e;background:#22414a;color:#f3ead9}.route-results-tabs button.selected{border-color:#e5bd79;background:#ba8350;color:#211a16}.route-results-shell .route-progress>.route-back,.route-results-shell .route-progress>h1,.route-results-shell .adventure-page>button.secondary:first-child,.route-results-shell .adventure-page>h1{display:none}.route-results-shell .route-progress{margin-top:0}.route-results-shell .routes-eyebrow,.route-results-shell .adventure-kicker{display:block;margin-top:7px}.hero-share-link{display:block;margin:10px auto 0;padding:8px 12px;background:transparent!important;color:#d9bd8e!important;box-shadow:none!important;font-size:12px}.hero-card-actions button:last-child{min-height:48px}@media(max-width:420px){.training-heading h1{font-size:27px}.training-heading button{font-size:12px;padding:8px 10px}.route-results-tabs button{font-size:13px}}.route-results-shell [role=tabpanel]>.routes-page>button.secondary:first-child,.route-results-shell [role=tabpanel]>.routes-page>h1{display:none}.route-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 20px}.route-shortcuts .route-efficiency-link{min-width:0;min-height:54px;margin:0;padding:9px 11px;gap:8px}.route-shortcuts .route-efficiency-rune{font-size:21px}.route-shortcuts .route-efficiency-copy b{font-size:clamp(12px,3.6vw,15px);line-height:1.2}.route-shortcuts .route-efficiency-copy small,.route-shortcuts .route-efficiency-link>span:last-child{display:none}@media(max-width:360px){.route-shortcuts{gap:6px}.route-shortcuts .route-efficiency-link{padding:8px;gap:5px}.route-shortcuts .route-efficiency-rune{font-size:18px}}.home-next-buttons{flex:none}.home-next-action>div>span{color:var(--n-muted,#b8c8bd);font-size:14px}.home-route-notice{color:var(--n-text,#f6eddb);margin:0 0 14px}.training-exercise,.workout-steps{scroll-margin-top:16px}.app-nav-desktop-heading{display:none}.app-nav-more-group{display:grid;gap:4px}.app-nav-more-panel{max-height:min(70dvh,calc(100dvh - 112px));overflow-y:auto;overscroll-behavior:contain}.app-nav-group-label{text-transform:none;letter-spacing:normal;font-size:12px}@media(min-width:1024px){.app-nav-desktop-heading{display:block;padding:12px 12px 3px}}[data-climbup-theme]{--n-bg:#101d24;--n-card:#20332f;--n-surface:#2b4542;--n-text:#efe1c3;--n-muted:#b8c7bd;--n-line:#526963;--n-accent:#dca958;--n-button-text:#1c2929;--n-danger:#e88e83;--n-scene:url(../climbup2d/backgrounds/wanderer_camp-mobile.png);--n-page:url(../climbup2d/backgrounds/wanderer_camp-mobile.png)}[data-climbup-theme=frostlands]{--n-bg:#101e2c;--n-card:#253b4c;--n-surface:#354e5d;--n-text:#e9f3f0;--n-muted:#b8d0d9;--n-line:#65808e;--n-accent:#a3dae7;--n-button-text:#102431;--n-scene:url(../climbup2d/backgrounds/ice_lands-mobile.png);--n-page:url(../climbup2d/backgrounds/ice_lands-mobile.png)}[data-climbup-theme=ember_forge]{--n-bg:#211917;--n-card:#352722;--n-surface:#4a332b;--n-text:#f4e5ce;--n-muted:#d2b9a3;--n-line:#80604e;--n-accent:#e9a24a;--n-button-text:#2b1b16;--n-scene:url(../climbup2d/backgrounds/rune_forge-mobile.png);--n-page:url(../climbup2d/backgrounds/rune_forge-mobile.png)}[data-climbup-theme=deep_forest]{--n-bg:#111f19;--n-card:#23382c;--n-surface:#304938;--n-text:#e5ebd5;--n-muted:#bfd0b9;--n-line:#5d7661;--n-accent:#bbca7a;--n-button-text:#1b2b1d;--n-scene:url(../climbup2d/backgrounds/deep_forest-mobile.png);--n-page:url(../climbup2d/backgrounds/deep_forest-mobile.png)}[data-climbup-theme=rune_night]{--n-bg:#171b2d;--n-card:#292c46;--n-surface:#383b5a;--n-text:#ede8f3;--n-muted:#c6c0d8;--n-line:#686b8d;--n-accent:#83d4c9;--n-button-text:#172d35;--n-scene:url(../climbup2d/backgrounds/northern_lights-mobile.png);--n-page:url(../climbup2d/backgrounds/northern_lights-mobile.png)}[data-climbup-theme]{--bg:var(--n-bg);--surface:var(--n-card);--surface-raised:var(--n-card);--surface-soft:var(--n-surface);--line:var(--n-line);--text:var(--n-text);--muted:var(--n-muted);--accent:var(--n-accent);--on-accent:var(--n-button-text);--glass:var(--n-card);--tg-theme-bg-color:var(--n-bg)!important;--tg-theme-secondary-bg-color:var(--n-card)!important;--tg-theme-text-color:var(--n-text)!important;--tg-theme-hint-color:var(--n-muted)!important;--tg-theme-button-color:var(--n-accent)!important;--tg-theme-button-text-color:var(--n-button-text)!important}[data-climbup-theme] body{background:linear-gradient(180deg,var(--n-bg) 0%,#071414c9 85%),var(--n-page) center top/cover fixed!important;color:var(--n-text)!important}[data-climbup-theme]{color-scheme:dark}[data-climbup-theme] header,[data-climbup-theme] .app-header,[data-climbup-theme] nav.app-nav{background:var(--n-card)!important;border-color:var(--n-line)!important;color:var(--n-text)!important}[data-climbup-theme] .card,[data-climbup-theme] .panel,[data-climbup-theme] .modal,[data-climbup-theme] dialog:not(.route-dialog),[data-climbup-theme] .workout-view,[data-climbup-theme] .workout-editor,[data-climbup-theme] .route-card,[data-climbup-theme] .project-card{background:var(--n-card)!important;border-color:var(--n-line)!important;color:var(--n-text)!important;box-shadow:0 8px 24px #0002}[data-climbup-theme] .route-grade-card,[data-climbup-theme] .route-chart,[data-climbup-theme] .route-calendar,[data-climbup-theme] .training-summary,[data-climbup-theme] .training-exercise,[data-climbup-theme] .workout-day-edit,[data-climbup-theme] .workout-day-view,[data-climbup-theme] .workout-exercise-edit,[data-climbup-theme] .workout-step-card,[data-climbup-theme] .app-nav-more-panel{background:var(--n-card)!important;border-color:var(--n-line)!important;color:var(--n-text)!important}[data-climbup-theme] h1,[data-climbup-theme] h2,[data-climbup-theme] h3,[data-climbup-theme] h4,[data-climbup-theme] label{color:var(--n-text)!important}[data-climbup-theme] :where(small,.muted,.sub){color:var(--n-muted)}[data-climbup-theme] button :where(small,.muted,.sub){color:inherit}[data-climbup-theme] button:where(:not(.secondary,.textbtn,.danger)){background:var(--n-accent);color:var(--n-button-text);border-color:var(--n-accent);box-shadow:inset 0 1px #fff2}[data-climbup-theme] button.secondary,[data-climbup-theme] .secondary{background:var(--n-surface);color:var(--n-text);border-color:var(--n-line)}[data-climbup-theme] .textbtn,[data-climbup-theme] a{color:var(--n-accent)}[data-climbup-theme] input,[data-climbup-theme] textarea,[data-climbup-theme] select{background:var(--n-surface);color:var(--n-text);border-color:var(--n-line)}[data-climbup-theme] input:focus-visible,[data-climbup-theme] textarea:focus-visible,[data-climbup-theme] select:focus-visible,[data-climbup-theme] button:focus-visible{outline:2px solid var(--n-accent)!important;outline-offset:2px}[data-climbup-theme] .app-nav button{background:transparent!important;color:var(--n-muted)!important;border-color:transparent!important}[data-climbup-theme] .app-nav button.active{background:var(--n-surface)!important;color:var(--n-accent)!important;border-color:var(--n-line)!important}[data-climbup-theme] .app-nav-more-panel button{background:var(--n-surface)!important;color:var(--n-text)!important;border-color:transparent!important}[data-climbup-theme] .app-nav-more-panel button.active{background:var(--n-accent)!important;color:var(--n-button-text)!important}[data-climbup-theme] progress,[data-climbup-theme] input[type=range],[data-climbup-theme] input[type=checkbox]{accent-color:var(--n-accent)}[data-climbup-theme] .error,[data-climbup-theme] .alert{border-color:var(--n-danger);color:var(--n-text)}[data-climbup-theme] .achievement-summary,[data-climbup-theme] .achievement-group,[data-climbup-theme] .achievement-detail,[data-climbup-theme] .achievement-tile,[data-climbup-theme] .goal-card,[data-climbup-theme] .ofp-artifact,[data-climbup-theme] .ofp-quality-card,[data-climbup-theme] .ofp-mentor,[data-climbup-theme] .ofp-history-panel,[data-climbup-theme] .arena-mode-grid button,[data-climbup-theme] .arena-invitation,[data-climbup-theme] .arena-scoreboard,[data-climbup-theme] .arena-fighter,[data-climbup-theme] .arena-rules,[data-climbup-theme] .arena-chronicle,[data-climbup-theme] .arena-result,[data-climbup-theme] .arena-audit,[data-climbup-theme] .game-overview>div,[data-climbup-theme] .game-node,[data-climbup-theme] .game-quest,[data-climbup-theme] .game-inventory{background:var(--n-card)!important;border-color:var(--n-line)!important;color:var(--n-text)!important}[data-climbup-theme] .achievement-tile.is-locked{color:var(--n-muted)!important}[data-climbup-theme] .achievement-tile strong,[data-climbup-theme] .achievement-tile h3,[data-climbup-theme] .goal-card strong,[data-climbup-theme] .arena-invitation strong{color:var(--n-text)!important;text-shadow:none!important}[data-climbup-theme] .game-node.complete,[data-climbup-theme] .goal-card.completed,[data-climbup-theme] .achievement-tile:not(.is-locked){border-color:var(--n-accent)!important}[data-climbup-theme] .game-territory-hero{border-color:var(--n-line)!important;background:linear-gradient(110deg,var(--n-bg),transparent),var(--n-page) center/cover!important}[data-climbup-theme] .project-note,[data-climbup-theme] .project-coach-note,[data-climbup-theme] .ofp-contribution{background:var(--n-surface)!important;border-color:var(--n-accent)!important;color:var(--n-text)!important}@media(min-width:800px){[data-climbup-theme=nordic_forest]{--n-page:url(../climbup2d/backgrounds/wanderer_camp-desktop.png)}[data-climbup-theme=frostlands]{--n-page:url(../climbup2d/backgrounds/ice_lands-desktop.png)}[data-climbup-theme=ember_forge]{--n-page:url(../climbup2d/backgrounds/rune_forge-desktop.png)}[data-climbup-theme=deep_forest]{--n-page:url(../climbup2d/backgrounds/deep_forest-desktop.png)}[data-climbup-theme=rune_night]{--n-page:url(../climbup2d/backgrounds/northern_lights-desktop.png)}}.theme-picker summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.theme-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.theme-picker-grid button{display:grid;gap:5px;text-align:left;min-height:70px}.theme-picker-grid button[aria-pressed=true]{outline:2px solid var(--n-accent)}.theme-picker-grid small{font-size:11px}[data-climbup-quality=low] body{background:var(--n-bg,#101d24)!important}[data-climbup-quality=low] .hero2d-scene{background:var(--n-surface,#20332f)!important}[data-climbup-quality=low] .card,[data-climbup-quality=low] .hero2d-card{box-shadow:none!important}[data-climbup-theme] .app-nav-backdrop{background:#031019b8!important;border:0!important;box-shadow:none!important;color:transparent!important}[data-climbup-theme] .rating-table .ratingrow.rating-student{background:var(--n-surface)!important;color:var(--n-text)!important;border:0!important;border-bottom:1px solid var(--n-line)!important;box-shadow:none!important;border-radius:0!important}[data-climbup-theme] .rating-table .ratingrow.rating-student:nth-of-type(2n){background:var(--n-card)!important}[data-climbup-theme] .rating-table .ratingrow.rating-student:focus-visible{outline:2px solid var(--n-accent)!important;outline-offset:-2px}[data-climbup-theme] :is(.difficulty-options,.rating-switch,.workout-tabs,.training-day-grid,.home-workout-place-buttons,.workout-place-picker,.route-status-pick,.route-period,.route-calendar-grid,.ofp-periods,.theme-picker-grid,.hero2d-groups,.hero2d-categories) button{background:var(--n-surface);color:var(--n-text);border:1px solid var(--n-line);box-shadow:none}[data-climbup-theme] :is(.difficulty-options,.rating-switch,.workout-tabs,.training-day-grid,.home-workout-place-buttons,.workout-place-picker,.route-status-pick,.route-period,.route-calendar-grid,.ofp-periods,.theme-picker-grid,.hero2d-groups,.hero2d-categories) button:is(.selected,[aria-pressed=true]){background:var(--n-surface);background:color-mix(in srgb,var(--n-surface) 88%,var(--n-accent));color:var(--n-text);border-color:var(--n-accent);box-shadow:inset 0 -2px var(--n-accent)}[data-climbup-theme] .difficulty-options button{min-height:56px;opacity:1}[data-climbup-theme] .difficulty-options button:disabled{cursor:wait}[data-climbup-theme] .workout-day-head,[data-climbup-theme] .workout-day-view h4,[data-climbup-theme] .training-screen .workout-set-progress{background:var(--n-surface);color:var(--n-text);border-color:var(--n-line)}[data-climbup-theme] .workout-day-toggle{background:transparent;color:var(--n-text);border:0;box-shadow:none}[data-climbup-theme] .workout-day-head .danger{color:var(--n-danger)}[data-climbup-theme] .rating-table .rating-person>b{color:var(--n-accent)}[data-climbup-theme] .rating-student-name small{color:var(--n-muted)}@media(min-width:761px){main.app-main{min-width:0;width:100%;max-width:1040px;padding:28px 28px 110px}.app-main>*,.app-main .card,.app-main .hero2d-profile-grid>*,.app-main .hero2d-workshop>*{min-width:0}.app-main :is(h1,h2,h3,p,.body,.person>span,.rating-student-name){overflow-wrap:anywhere}.app-main :is(input,textarea,select){min-width:0;max-width:100%}.app-main :is(img,video){max-width:100%}.app-main .person{flex-wrap:wrap;gap:12px}.app-main .person>span:first-child{flex:1 1 220px}.app-main .weeknav{flex-wrap:wrap}.app-main .hero2d-hall{max-width:none;padding-bottom:24px}.app-main .hero2d-links button{gap:12px}.app-main .hero2d-actions{flex-wrap:wrap}.app-main .hero2d-actions button{flex:1 1 160px}}@media(min-width:761px)and (max-width:1023px){.app-nav{left:0;right:0;transform:none;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));z-index:20}.app-nav>button.nav-extra{display:none}.app-nav>button.nav-more-trigger{display:flex!important}.app-nav>button{min-height:58px}.app-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:19;border:0;border-radius:0}.app-nav-more-panel{position:absolute;right:16px;bottom:calc(100% + 10px);display:grid;gap:6px;width:300px;max-height:70dvh;overflow-y:auto;padding:12px;border:1px solid var(--n-line,#638380);border-radius:10px;background:var(--n-card,#112b34)}.app-nav-more-panel button{display:flex;flex-direction:row;gap:12px;justify-content:flex-start;min-height:48px;padding:10px;text-align:left}}@media(min-width:1024px){:root{--desktop-rail:232px;--desktop-content:1280px}.app-header{padding:0;margin-left:var(--desktop-rail);width:calc(100% - var(--desktop-rail));height:118px}.app-header-inner{max-width:var(--desktop-content);padding:18px 32px}.app-header .brand{font-size:34px}.app-header .sub{font-size:10px}main.app-main{width:calc(100% - var(--desktop-rail));max-width:var(--desktop-content);margin-left:calc(var(--desktop-rail) + max(0px,(100% - var(--desktop-rail) - var(--desktop-content))/2));margin-right:auto;padding:32px 32px 56px}.app-main[data-screen=home],.app-main[data-screen=manage],.app-main[data-screen=calendar],.app-main[data-screen=profile][data-role=trainer]{--desktop-content:1040px}.app-nav{position:fixed;inset:0 auto 0 0;transform:none;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;width:var(--desktop-rail);max-width:none;height:100dvh;overflow-y:auto;overscroll-behavior:contain;gap:5px;padding:28px 14px;border:0;border-right:1px solid var(--n-line,#638380);border-radius:0;z-index:25;box-shadow:4px 0 20px #020c1333}.app-nav:before{content:"РАЗДЕЛЫ";display:block;flex:none;padding:8px 12px 20px;color:var(--n-muted,#b4c7c6);font-size:11px;font-weight:800;letter-spacing:.16em}.app-nav>button,.app-nav.student-nav>button.nav-extra{display:flex;flex-direction:row;flex:0 0 auto;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:48px;padding:11px 12px;text-align:left;border-radius:8px}.app-nav>button small{width:auto;min-width:0;overflow:visible;white-space:normal;text-align:left;font-size:13px;line-height:1.4}.app-nav>button .nav-rune{width:24px;height:24px;flex:none}.app-nav>button small .nav-label-full{display:inline}.app-nav>button small .nav-label-short{display:none}.app-nav.student-nav>button.nav-more-trigger,.app-nav>button.nav-more-trigger,.app-nav-more-panel,.app-nav-backdrop{display:none!important}.app-main .hero2d-profile-grid{grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);gap:24px}.app-main .hero2d-links{position:sticky;top:24px}.app-main .hero2d-workshop{grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:24px}.app-main .hero2d-editor :is(.hero2d-groups,.hero2d-categories){flex-wrap:wrap;overflow:visible}.app-main .hero2d-groups button,.app-main .hero2d-categories button{white-space:normal;overflow-wrap:anywhere}.app-main .route-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px)and (max-width:1279px){:root{--desktop-rail:208px}main.app-main{padding:24px}.app-main .hero2d-profile-grid,.app-main .hero2d-workshop{grid-template-columns:minmax(0,1fr)}.app-main .hero2d-links,.app-main .hero2d-workshop-preview{position:static}.app-main .hero2d-workshop-preview{max-width:440px;width:100%;justify-self:center}.app-main .route-tools{grid-template-columns:minmax(0,1fr)}}
