.exercise-view{padding:2px;box-sizing:border-box;display:block;position:relative;height:100%;overflow-y:auto;--cv-blue: 212 96% 54%;--cv-purple: 259 97% 66%;--cv-dropzone-border-color: hsl(var(--cv-blue) / .5);--cv-dropzone-bg-color: hsl(var(--cv-blue) / .2);--cv-droptarget-border-color: hsl(var(--cv-purple) / 1);--cv-droptarget-bg-color: hsl(var(--cv-purple) / .4);--cv-stripe-width: 1.5px;--cv-stripe-gap: 9px;--cv-stripe-color: hsl(var(--cv-blue) / .2);--cv-layout-border-color: var(--lumo-contrast-40pct);--cv-checkerboard-color1: hsl(0 0% 0% / .05);--cv-checkerboard-color2: hsl(0 0% 100% / .05);--cv-checkerboard-size: 16px}.exercise-view[dragging]{--cv-checkerboard-color1: hsl(var(--cv-blue) / .2);--cv-checkerboard-color2: hsl(var(--cv-blue) / .1);--cv-layout-border-color: var(--cv-dropzone-border-color)}.exercise-view .preview-container{display:contents}.exercise-view .preview-container>.layout[style*="align-self: stretch"]{width:100%}.exercise-view .preview-container>.layout[style*="flex-grow: 1"]{height:100%}.exercise-view[dragging] .layout:not([style*="gap:"]){gap:8px}.exercise-view[dragging] .layout:not([style*="padding:"],[empty]){padding:8px}.exercise-view .cover-overlay{position:absolute;border-radius:1px}.exercise-view:not([starting-drag]) .cover-overlay.editable-hovering{outline:2px solid hsl(var(--cv-blue) / 1);outline-offset:-1px}.exercise-view:not([starting-drag]) .cover-overlay.editable-editing{outline:1px solid hsl(var(--cv-blue) / 1);outline-offset:-1px;box-shadow:inset 0 0 0 2px var(--lumo-base-color)}.exercise-view .overlays,.exercise-view .drop-zones{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.exercise-view:not([dragging]) .drop-zones{pointer-events:none}.exercise-view .drop-zone{position:absolute;box-sizing:border-box;border-radius:1px;min-height:10px;min-width:10px}.exercise-view[dragging] .drop-zone:not([empty-layout]){outline:1px dashed var(--cv-dropzone-border-color);outline-offset:-2px;background-color:var(--cv-dropzone-bg-color)}.exercise-view .drop-zone[remaining-space]{background:repeating-linear-gradient(-45deg,var(--cv-stripe-color),var(--cv-stripe-color) var(--cv-stripe-width),transparent var(--cv-stripe-width),transparent var(--cv-stripe-gap))}.exercise-view[dragging] .drop-zone[drag-over]{background:var(--cv-droptarget-bg-color);outline:1px solid var(--cv-droptarget-border-color);outline-offset:-1px;box-shadow:inset 0 0 0 2px var(--lumo-base-color)}.exercise-view:not([readonly]) .layout[empty],vaadin-form-layout[empty]{border-radius:1px;background:repeating-conic-gradient(var(--cv-checkerboard-color1) 0% 25%,var(--cv-checkerboard-color2) 0% 50%) 50% / var(--cv-checkerboard-size) var(--cv-checkerboard-size);background-clip:content-box;outline:1px dashed var(--cv-layout-border-color);outline-offset:-2px}.exercise-view[dragging]:not([readonly]) vaadin-form-layout[empty]{background:transparent}.exercise-view .layout[empty]:before{content:"";display:block;min-width:64px;min-height:32px}.exercise-view[readonly] .drop-zones,.exercise-view[readonly] .overlays,.exercise-view[inline-editing] .drop-zones,.exercise-view[inline-editing] .overlays{display:none}.exercise-view .content-wrapper[contenteditable=true]{display:inline-block;overflow:hidden;width:100%}.exercise-view[dragging] vaadin-form-layout{padding:8px}.exercise-view vaadin-form-layout[empty]:before{content:"";display:block;min-width:64px;min-height:32px}.exercise-view[dragging] vaadin-form-layout:not([empty]):after{content:"";display:block;min-width:64px;min-height:32px}@font-face{font-family:defaultFont;src:url(./Vazirmatn-Regular-47VmY2ny.ttf)}@font-face{font-family:Inter;src:url(./InterVariable-4lQ65kCZ.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Vazirmatn;src:url(./VazirmatnVariable-XnIg6Spl.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Noto Sans;src:url(./Noto-Sans-regular-yBcsoXro.woff2) format("woff2");font-weight:100 900;font-display:swap}html{direction:rtl;--lumo-font-family: "defaultFont", sans-serif !important;--lumo-primary-color: #6f0146}vaadin-app-layout::part(drawer){background-color:#6f0146!important;--lumo-primary-text-color: white !important}vaadin-app-layout::part(navbar){background-color:#6f0146!important}#overlay{text-align:end}.clickable-item{cursor:pointer}.evenRow{background-color:#95cb38a1}.fixed-component{left:0;position:fixed;top:0;width:100%;height:100px;z-index:100}.left2Right{direction:ltr}.left2RightComboBox{direction:ltr!important;text-align:left!important}.oddRow{background-color:#99848430}.shadow_image{filter:drop-shadow(2px 4px 6px)}vaadin-text-field::part(input-field){border-style:solid;border-width:1px}.footer{position:fixed;bottom:10px;right:10px;width:200px;background-color:#fff0;padding:10px;z-index:100}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes growAndShrink{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes smallAndShrink{0%{transform:scale(1)}50%{transform:scale(.8)}to{transform:scale(1)}}.animated-grow_shrink{animation:growAndShrink 2s ease-in-out infinite}.animated-small_shrink_1s{animation:smallAndShrink 1s ease-in-out infinite}.clickable-layout{cursor:pointer}.image-overlay-panel{position:relative;overflow:hidden;background:#0b1220;box-shadow:var(--lumo-box-shadow-xl);display:grid;place-items:center}.image-overlay-image{display:block;max-width:100%;max-height:100%;object-fit:contain;background:#0b1220;cursor:pointer}.image-overlay-close{position:absolute;top:8px;right:8px;width:var(--lumo-size-m);height:var(--lumo-size-m);border-radius:999px}.image-overlay-close:hover{transform:scale(1.05)}.image-overlay-close:active{transform:scale(.98)}vaadin-login-overlay-wrapper::part(brand){padding:0!important;margin:0!important;background:#fff}vaadin-login-overlay-wrapper::part(card){overflow:hidden}vaadin-scroller[slot=drawer]{padding:var(--lumo-space-s)}[slot=drawer]:is(header,footer){display:flex;align-items:center;gap:var(--lumo-space-s);padding:var(--lumo-space-s) var(--lumo-space-m);min-height:var(--lumo-size-xl);box-sizing:border-box}[slot=drawer]:is(header,footer):is(:empty){display:none}.login-view{padding:2px;box-sizing:border-box;display:block;position:relative;height:100%;--cv-blue: 212 96% 54%;--cv-purple: 259 97% 66%;--cv-dropzone-border-color: hsl(var(--cv-blue) / .5);--cv-dropzone-bg-color: hsl(var(--cv-blue) / .2);--cv-droptarget-border-color: hsl(var(--cv-purple) / 1);--cv-droptarget-bg-color: hsl(var(--cv-purple) / .4);--cv-stripe-width: 1.5px;--cv-stripe-gap: 9px;--cv-stripe-color: hsl(var(--cv-blue) / .2);--cv-layout-border-color: var(--lumo-contrast-40pct);--cv-checkerboard-color1: hsl(0 0% 0% / .05);--cv-checkerboard-color2: hsl(0 0% 100% / .05);--cv-checkerboard-size: 16px}.login-view[dragging]{--cv-checkerboard-color1: hsl(var(--cv-blue) / .2);--cv-checkerboard-color2: hsl(var(--cv-blue) / .1);--cv-layout-border-color: var(--cv-dropzone-border-color)}.login-view .preview-container{display:contents}.login-view .preview-container>.layout[style*="align-self: stretch"]{width:100%}.login-view .preview-container>.layout[style*="flex-grow: 1"]{height:100%}.login-view[dragging] .layout:not([style*="gap:"]){gap:8px}.login-view[dragging] .layout:not([style*="padding:"],[empty]){padding:8px}.login-view .cover-overlay{position:absolute;border-radius:1px;direction:rtl}.login-view:not([starting-drag]) .cover-overlay.editable-hovering{outline:2px solid hsl(var(--cv-blue) / 1);outline-offset:-1px}.login-view:not([starting-drag]) .cover-overlay.editable-editing{outline:1px solid hsl(var(--cv-blue) / 1);outline-offset:-1px;box-shadow:inset 0 0 0 2px var(--lumo-base-color)}.login-view .overlays,.login-view .drop-zones{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.login-view:not([dragging]) .drop-zones{pointer-events:none}.login-view .drop-zone{position:absolute;box-sizing:border-box;border-radius:1px;min-height:10px;min-width:10px}.login-view[dragging] .drop-zone:not([empty-layout]){outline:1px dashed var(--cv-dropzone-border-color);outline-offset:-2px;background-color:var(--cv-dropzone-bg-color)}.login-view .drop-zone[remaining-space]{background:repeating-linear-gradient(-45deg,var(--cv-stripe-color),var(--cv-stripe-color) var(--cv-stripe-width),transparent var(--cv-stripe-width),transparent var(--cv-stripe-gap))}.login-view[dragging] .drop-zone[drag-over]{background:var(--cv-droptarget-bg-color);outline:1px solid var(--cv-droptarget-border-color);outline-offset:-1px;box-shadow:inset 0 0 0 2px var(--lumo-base-color)}.drop-zone[empty-layout]{z-index:-1}.login-view:not([readonly]) .layout[empty]{border-radius:1px;background:repeating-conic-gradient(var(--cv-checkerboard-color1) 0% 25%,var(--cv-checkerboard-color2) 0% 50%) 50% / var(--cv-checkerboard-size) var(--cv-checkerboard-size);background-clip:content-box;outline:1px dashed var(--cv-layout-border-color);outline-offset:-2px}.login-view .layout[empty]:before{content:"";display:block;min-width:64px;min-height:32px}.login-view[readonly] .drop-zones,.login-view[readonly] .overlays,.login-view[inline-editing] .drop-zones,.login-view[inline-editing] .overlays{display:none}.login-view ::part(label){text-overflow:unset}.login-view .content-wrapper{display:inline-block}.pm-row-number{display:flex;align-items:center;justify-content:center;width:30px;min-width:30px;height:30px;border-radius:50%;background:#f7eef3;color:#6f0146;font-weight:700;font-size:14px;line-height:1;padding-top:1px;flex-shrink:0}.pm-score-text{font-weight:700;color:#374151;font-size:13px;white-space:nowrap;flex-shrink:0}.pm-score-track{flex:1;height:6px;border-radius:6px;background:#f0f0f0;overflow:hidden}.pm-score-fill{height:100%;border-radius:6px;transition:width .4s ease}.pm-page-title{margin-bottom:30px;font-size:30px;font-weight:800;color:#2b2b2b}.pm-hero{background:#fff;border-radius:22px;box-shadow:0 8px 24px #0000000d}.pm-mobile-grades{display:none}@media (max-width:768px){.pm-desktop-grades{display:none!important}.pm-mobile-grades{display:flex!important}}.pm-brand-grid{border-radius:12px 12px 0 0;overflow:hidden}.pm-brand-grid::part(header-cell){background:#e7e7e7;min-height:54px;border-bottom:2px solid #ecd9e5;color:#343434;font-weight:700;font-size:16px}.pm-brand-grid::part(body-cell):hover{background:#fcfafc}.pm-mobile-card{width:100%;box-sizing:border-box;background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:14px 16px;box-shadow:0 2px 8px #0000000a}.pm-mobile-title{margin:0;font-weight:600;color:#1f2937;direction:rtl;flex:1;font-size:14px;line-height:1.6}.pm-mobile-track{width:100%;height:7px;border-radius:6px;background:#f0f0f0;overflow:hidden;margin-top:12px}.pm-score-label{color:#9ca3af;font-size:12px}.pm-score-value{font-weight:700;color:#374151;font-size:14px}.pm-mobile-bottom-row{margin-top:12px}.pm-rocket-button{width:66px;height:66px;min-width:66px;border-radius:18px;background:linear-gradient(135deg,#fff0e6,#fff);color:#ff4d00;box-shadow:0 10px 24px #ff4d003d;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.pm-rocket-icon{width:35px;height:35px;color:#ff4d00;filter:drop-shadow(0 3px 3px rgba(255,77,0,.28));transition:transform .18s ease,filter .18s ease,color .18s ease}.pm-rocket-button:hover{transform:translateY(-6px) rotate(-8deg) scale(1.08);box-shadow:0 18px 36px #ff4d0061;filter:brightness(1.05)}.pm-rocket-button:hover .pm-rocket-icon{transform:translate(7px,-9px) rotate(-20deg);color:#e53900;filter:drop-shadow(-4px 6px 4px rgba(255,120,0,.45))}.pm-help-button{width:66px;height:66px;min-width:66px;border-radius:18px;background:linear-gradient(135deg,#f8eef5,#fff);color:#6f0146;box-shadow:0 10px 24px #6f01463d;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.pm-help-icon{width:35px;height:35px;color:#6f0146;filter:drop-shadow(0 3px 3px rgba(111,1,70,.28));transition:transform .22s ease,filter .22s ease}.pm-help-button:hover{transform:scale(1.08);box-shadow:0 14px 30px #6f01464d,0 0 0 8px #6f01461a;filter:brightness(1.03)}.pm-help-button:hover .pm-help-icon{transform:scale(1.06);filter:drop-shadow(0 4px 5px rgba(111,1,70,.4))}.pm-summary-label{color:#b58d46;font-size:13px;font-weight:600}.pm-summary-value{color:#6f0146;font-size:22px;font-weight:800}.pm-summary-emoji{font-size:20px}.pm-summary-track{width:100%;height:7px;border-radius:6px;background:#e6d5a8;overflow:hidden;margin-top:6px}.pm-summary-fill{height:100%;border-radius:6px;transition:width .4s ease}.pm-summary-sub{color:#9b8a6c;font-size:11px;margin-top:4px}.pm-summary-box{gap:2px}.pm-summary-card{box-sizing:border-box;flex:1 1 260px;min-width:240px;max-width:480px;background:#fbf2dd;border:2px solid #f1e2bb;border-radius:18px;padding:20px 24px;box-shadow:0 6px 18px #6f01461a}.pm-help-content{padding:24px 26px 28px;box-sizing:border-box}.pm-help-header{margin-bottom:18px}.pm-help-title{margin:0;color:#6f0146;font-weight:800;font-size:22px;text-align:center;width:100%}.pm-help-body{gap:14px;direction:rtl}.pm-help-paragraph{margin:0;color:#4b5563;font-weight:850;font-size:15px;line-height:2;text-align:right;direction:rtl}.pm-help-note{background:#fbf2dd;border:2px solid #e6d5a8;border-radius:14px;padding:16px 20px;margin-top:20px;width:100%;box-sizing:border-box}.pm-help-note-text{margin:0;color:#6f0146;font-weight:700;font-size:15px;line-height:2;text-align:center;direction:rtl}.pm-help-close{width:42px;height:42px;min-width:42px;border-radius:12px;color:#7c7c7c;transition:.2s}.pm-help-close:hover{background:#f3f4f6;color:#6f0146;transform:scale(1.08)}.help-fab:hover{transform:scale(1.08);box-shadow:0 14px 30px #6f01464d,0 0 0 8px #6f01461a;filter:brightness(1.03)}.help-fab:hover vaadin-icon{transform:scale(1.06);filter:drop-shadow(0 4px 5px rgba(111,1,70,.4))}.pm-report-filter-card{border-radius:16px;background:#fff;box-shadow:0 4px 16px #0000000d;gap:14px}.pm-report-filter-title{margin:0;color:#6f0146;font-size:18px;font-weight:800;text-align:center;width:100%}.pm-report-divider{margin:4px 0;border-color:#f0f0f0}.pm-report-show-btn{background:#6f0146;color:#fff;border-radius:10px;font-weight:700;box-shadow:0 4px 12px #6f014640;cursor:pointer}.pm-center-combo::part(label){width:100%;text-align:center;justify-content:center}.pm-center-combo input{text-align:center}.pm-center-combo::part(input-field){text-align:center}.pm-quick-card-title{margin:6px 0 2px;font-size:15px;font-weight:800;color:#6f0146}.pm-quick-card-desc{font-size:12px;color:#9ca3af}.pm-quick-card-box{gap:2px;text-align:center}.pm-quick-card{flex:1 1 200px;max-width:240px;min-width:180px;background:#fff;border:1px solid #f0e0e9;border-radius:14px;padding:18px 16px;box-shadow:0 2px 8px #0000000a;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.pm-quick-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #6f014626;border-color:#6f0146}.pm-chart-card{border-radius:16px;background:#fff;box-shadow:0 4px 16px #0000000d;gap:12px}.pm-chart-title{margin:0;font-size:17px;font-weight:800;color:#1f2937}.pm-empty-title{margin:10px 0 0;color:#374151}.pm-empty-hint{color:#9ca3af;font-size:13px}.pm-quick-row{flex-wrap:wrap;gap:14px;margin-top:20px}.pm-empty-state{background:#fbf2dd;border:2px dashed #e5cdd9;border-radius:12px;gap:4px}.pm-loading-text{color:#6f0146;font-weight:700;margin-top:8px}.pm-loading-bar{width:200px;height:6px;border-radius:6px;margin-top:10px;overflow:hidden;background:#eee;position:relative}.pm-loading-fill{position:absolute;height:100%;width:40%;border-radius:6px;background:#6f0146;animation:pmLoad 1.1s infinite ease-in-out}.pm-loading-state{background:#fbf2dd;border-radius:12px;gap:2px}.pm-chart-frame{border:1px solid #eef2f7;border-radius:12px}@keyframes pmLoad{0%{left:-40%}to{left:100%}}.chart-anim{display:inline-flex;align-items:flex-end;gap:9px;height:200px;padding:14px 16px;background:#fff;border-radius:16px;box-shadow:0 4px 14px #00000014;margin-bottom:18px}.chart-anim .bar{width:30px;border-radius:5px 5px 2px 2px;animation:grow 2.6s ease-in-out infinite}.chart-anim .bar:nth-child(1){background:#16a34a;animation-delay:0s}.chart-anim .bar:nth-child(2){background:#d97706;animation-delay:.2s}.chart-anim .bar:nth-child(3){background:#7b0046;animation-delay:.4s}.chart-anim .bar:nth-child(4){background:#dc2626;animation-delay:.6s}.chart-anim .bar:nth-child(5){background:#2563eb;animation-delay:.8s}@keyframes grow{0%,to{height:24px;opacity:.65}50%{height:170px;opacity:1}}.pm-loading-state{transition:opacity .3s ease}.pm-chart-frame{opacity:0;transition:opacity .4s ease}.pm-chart-frame.loaded{opacity:1}.pm-loading-state.hidden{opacity:0;pointer-events:none}.upload-row{direction:ltr;margin-bottom:0}.pm-report-download-btn{background:#fff;color:#6f0146;border:2px solid #6f0146;border-radius:10px;font-weight:700;cursor:pointer}.pm-center-combo::part(label),.pm-center-combo-link::part(label){width:100%;text-align:center;justify-content:center}.pm-center-combo input,.pm-center-combo::part(input-field){text-align:center}.ta-page-shell{direction:ltr;background:#f8fafc;gap:16px}.ta-card-grid{width:100%;margin-bottom:0;gap:18px;align-items:stretch;direction:ltr}.ta-panel-card{background:#fff;border:1px solid #e8edf3;border-radius:14px;padding:18px 20px;box-shadow:0 8px 24px #1018280d;box-sizing:border-box}.ta-panel-card>vaadin-vertical-layout{padding:0;gap:12px}.ta-panel-card h3,.ta-panel-card h4{margin:0 0 14px;text-align:center;width:100%}.ta-inline-form{direction:ltr;flex-direction:row-reverse;justify-content:flex-start;flex-wrap:wrap;align-items:center}.ta-inline-form>*{min-width:170px;flex:1 1 170px}.ta-primary-button{background:#87004f;color:#fff;border-radius:10px;font-weight:800;min-height:38px;box-shadow:0 5px 14px #87004f38;cursor:pointer}.ta-secondary-button,.ta-attendance-upload-button{background:#f4f6f8;color:#87004f;border-radius:10px;font-weight:700;min-height:38px;cursor:pointer}.ta-card-actions{margin-top:8px}.ta-attendance-upload{width:100%;margin:0;min-height:72px;box-sizing:border-box;direction:ltr;text-align:left;border:1px dashed #ccd3dc;border-radius:8px}.ta-attendance-upload::part(primary-buttons){width:100%;min-height:52px;display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:12px}.ta-attendance-upload::part(drop-label){margin:0;color:#52657a;font-size:14px;text-align:left}.ta-attendance-upload-label{width:auto;text-align:left;direction:ltr}.ta-subcourse-card-content{width:100%;direction:ltr;align-items:center}.ta-subcourse-card-content h3{margin:0 0 18px;text-align:center;width:100%}.ta-subcourse-row{width:100%;direction:ltr;display:flex;justify-content:center;align-items:flex-end;flex-wrap:wrap;gap:14px;box-sizing:border-box}.ta-subcourse-row>*{flex:0 1 auto;min-width:0}.ta-subcourse-row vaadin-combo-box{width:180px;max-width:100%}.ta-subcourse-row vaadin-button{min-width:165px;max-width:100%;white-space:normal}.ta-panel-card vaadin-combo-box,.ta-panel-card vaadin-text-field,.ta-panel-card vaadin-text-area,.ta-panel-card vaadin-upload{width:100%}.ta-card-actions{width:100%;margin-top:0;justify-content:flex-end;direction:ltr}@media (max-width: 760px){.upload-row{flex-direction:column;align-items:stretch}.upload-row>*{width:100%!important;min-width:0!important}.ta-card-grid{gap:12px!important}.ta-panel-card{display:flex;flex-direction:column;align-items:center}.ta-inline-form{flex-direction:column;align-items:stretch;justify-content:flex-start}.ta-inline-form>*{width:100%;min-width:0;flex-basis:auto}.ta-subcourse-row{flex-direction:column;align-items:stretch}.ta-subcourse-row>*,.ta-subcourse-row vaadin-combo-box,.ta-subcourse-row vaadin-button{width:100%;max-width:100%}}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px;justify-items:center;width:100%;padding:24px;box-sizing:border-box}.resource-card{border-radius:18px;background:#fff;padding:10px;box-shadow:0 4px 14px #00000014;transition:.25s;cursor:pointer}.resource-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #00000026}.resource-image{object-fit:contain;border-radius:14px}.resource-title{color:#7a0052;font-size:16px;font-weight:600;text-align:center;margin:12px 0 0}.resource-grid>.journey-map{grid-column:1 / -1}@font-face{font-family:IranNastaliq;src:url(/fonts/IranNastaliq.woff2) format("woff");font-weight:400;font-style:normal;font-display:swap}.map-course-selector{position:absolute;top:24px;right:28px;z-index:20;width:180px}.map-archive-button{width:100%;height:38px;display:flex;align-items:center;justify-content:center;position:relative;z-index:22;box-sizing:border-box;padding:0 16px;background:#ffffffa8;color:#87004f;border-radius:999px;font-weight:800;box-shadow:0 8px 18px #3a2d221f;cursor:pointer}.map-archive-button vaadin-icon{position:static;right:14px;width:30px;height:30px;margin-left:2px;color:#87004f}.map-archive-button::part(label){width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-course-menu{position:absolute;top:46px;right:0;width:100%;padding:8px;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;border-radius:18px;background:#f4e0b3f5;border:1px solid rgba(92,57,36,.25);box-shadow:0 12px 24px #3a2d222e;z-index:21}.map-course-menu-item{width:100%;height:36px;min-height:36px;padding:0 10px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:transparent;color:#5c3924;font-weight:800;border-radius:999px;cursor:pointer}.map-course-menu-item:hover{background:#ffffff7a;color:#87004f}.resource-grid{display:block;width:100%;padding:0}.treasure-map-page{z-index:0;isolation:isolate;position:relative;width:100%;min-height:calc(100vh - 50px);overflow:hidden;background-image:url(./journey-map-bg-ojrt3YK5.png);background-size:cover;background-position:center;background-repeat:no-repeat}.map-path-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.map-path-layer svg{width:100%;height:100%;transform:translate(45px)}.map-path{fill:none;stroke:#583e279e;stroke-width:4;stroke-linecap:round;stroke-dasharray:11 13}.map-base-camp{position:absolute;left:3.5%;top:25%;width:180px;cursor:pointer;z-index:4;transition:transform .25s ease,filter .25s ease}.map-base-camp:hover{transform:translateY(-3px) scale(1.02);filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}.map-base-camp-image{width:210px;height:160px;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25));transition:transform .2s ease}.map-movie-marker{position:absolute;left:1.5%;top:46%;z-index:4;cursor:pointer;transition:transform .18s ease,filter .18s ease}.map-movie-marker:hover{transform:scale(1.05);filter:drop-shadow(0 8px 16px rgba(0,0,0,.22))}.map-movie-image{width:270px;height:200px;display:block}.map-stone{position:absolute;width:48px;height:46px;transform:translate(-50%,-50%);border-radius:48% 52% 45% 55%/52% 44% 56% 48%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;line-height:1;color:#2d2925;-webkit-user-select:none;user-select:none;z-index:3;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(58,45,34,.18);box-shadow:0 10px 18px #3a2d223d,inset 0 2px 4px #ffffff57,inset 0 -5px 8px #3a2d2238}.map-stone:before{content:"";position:absolute;top:5px;right:7px;bottom:17px;left:8px;border-radius:50%;background:#ffffff2e;filter:blur(.2px);pointer-events:none}.map-stone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.22),transparent 24%),radial-gradient(circle at 72% 70%,rgba(58,45,34,.18),transparent 28%);pointer-events:none}.map-stone:hover:not(.map-stone-locked){transform:translate(-50%,calc(-50% - 4px)) scale(1.04);cursor:pointer;box-shadow:0 16px 26px #3a2d2247,inset 0 2px 4px #ffffff57,inset 0 -5px 8px #3a2d2238}.map-stone-locked{background:radial-gradient(circle at 34% 26%,#eeeae1 0%,#eeeae1 18%,transparent 19%),linear-gradient(145deg,#d8d2c7,#aaa397);border:1px solid rgba(94,78,61,.34);color:#5c554d}.map-stone-current{background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.28) 0%,rgba(255,255,255,.28) 20%,transparent 21%),linear-gradient(145deg,#a20765,#740044);border:1px solid rgba(84,0,49,.65);color:#f7efe3;animation:mapStonePulse 2.4s ease-in-out infinite}.map-stone-completed{background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.32) 0%,rgba(255,255,255,.32) 20%,transparent 21%),linear-gradient(145deg,#e4bf5a,#b88927);border:1px solid rgba(123,84,22,.5);box-shadow:0 10px 20px #7e581847,0 0 16px #d6ad4542,inset 0 2px 4px #ffffff59,inset 0 -5px 8px #50341038}.map-treasure-image{display:block;width:100%;height:100%;left:221px;top:200px;object-fit:contain;pointer-events:none}.map-treasure{position:absolute;width:150px;height:150px;left:221px;top:200px;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;justify-content:center;background:transparent}.map-treasure-locked{background:transparent}.map-treasure-x-line{position:absolute;left:50%;top:50%;width:46px;height:5px;border-radius:999px;background:#48301fd1;box-shadow:0 1px #ffffff2e;transform-origin:center}.map-treasure-x-line:first-child{transform:translate(-50%,-50%) rotate(43deg)}.map-treasure-x-line:last-child{transform:translate(-50%,-50%) rotate(-47deg)}.map-deco{position:absolute;opacity:.2;pointer-events:none;z-index:2}@keyframes mapStonePulse{0%,to{box-shadow:0 10px 18px #3a2d223d,0 0 #87004f4d,inset 0 2px 4px #ffffff57,inset 0 -5px 8px #3a2d2238}50%{box-shadow:0 10px 18px #3a2d223d,0 0 0 10px #87004f00,inset 0 2px 4px #ffffff57,inset 0 -5px 8px #3a2d2238}}@keyframes treasureGlow{0%,to{filter:drop-shadow(0 0 0 rgba(214,173,69,0))}50%{filter:drop-shadow(0 0 10px rgba(214,173,69,.45))}}vaadin-dialog-overlay.map-extra-dialog::part(overlay){width:360px;max-width:calc(100vw - 32px);padding:0;border-radius:18px;background:linear-gradient(#f4e0b3f5,#e8cc91f5);border:1px solid rgba(92,57,36,.32);box-shadow:0 24px 48px #3a2d2247,inset 0 1px #ffffff47}.map-extra-panel{width:100%;box-sizing:border-box;padding:16px;color:#4e3422}.map-extra-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:42px;margin-bottom:14px}.map-extra-title-box{min-width:0;text-align:center}.map-extra-title{margin:0;color:#5c3924;font-size:18px;font-weight:900;text-align:center}.map-extra-subtitle{display:block;margin-top:3px;color:#5c3924ad;font-size:12px;font-weight:800}.map-extra-close{position:absolute;right:0;width:34px;height:34px;min-width:34px;padding:0;border-radius:999px;background:#ffffff6b;color:#87004f;cursor:pointer}.map-extra-list{display:flex;flex-direction:column;gap:8px;max-height:min(560px,calc(100vh - 210px));overflow-y:auto;padding-right:2px}.map-extra-item{width:100%;min-height:42px;padding:0 14px;justify-content:center;border-radius:999px;background:#ffffff61;color:#5c3924;font-weight:850;cursor:pointer;box-shadow:inset 0 1px #ffffff40}.map-extra-item:hover{background:#ffffff94;color:#87004f}vaadin-dialog-overlay.map-general-dialog::part(overlay){width:360px;max-width:calc(100vw - 32px);padding:0;border-radius:18px;background:linear-gradient(#f4e0b3f5,#e8cc91f5);border:1px solid rgba(92,57,36,.32);box-shadow:0 24px 48px #3a2d2247,inset 0 1px #ffffff47}.map-help-button{position:absolute;top:25px;right:220px;z-index:20;width:70px;height:36px;min-width:38px;font-weight:800;padding:0;border-radius:999px;background:#ffffffa8;color:#87004f;box-shadow:0 8px 18px #3a2d221f;cursor:pointer}.map-help-button vaadin-icon{width:21px;height:21px}vaadin-dialog-overlay.map-help-dialog::part(overlay){width:520px;max-width:calc(100vw - 32px);padding:0;border-radius:18px;background:linear-gradient(#f4e0b3f7,#e8cc91f7);border:1px solid rgba(92,57,36,.32);box-shadow:0 24px 48px #3a2d2247,inset 0 1px #ffffff47}.map-help-panel{padding:8px 14px 16px;color:#5c3924;direction:rtl}.map-help-header{position:relative;display:flex;align-items:flex-start;justify-content:center;min-height:34px;margin-bottom:6px}.map-help-title{margin:0;width:100%;text-align:center;color:#5c3924;font-weight:900;line-height:34px}.map-help-close{position:absolute;left:0;top:0;width:32px;height:32px;min-width:32px;padding:0;border-radius:999px;background:#ffffff8c;color:#87004f;cursor:pointer}.map-help-content{max-height:62vh;overflow:auto;font-size:14px;line-height:1.9;text-align:right;padding:0 4px}.map-help-content p{margin:0 0 12px}.map-help-content ul{margin:0;padding-right:20px}.map-help-content li{margin-bottom:10px}.map-image-decorations{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.map-image-decoration{position:absolute;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.48;filter:sepia(.12) saturate(.82) contrast(.92) drop-shadow(0 6px 8px rgba(58,45,34,.12))}.map-decoration-mountains{left:11.5%;top:2%;width:340px;opacity:.42;z-index:1}.map-decoration-rocks-session-5{left:58%;top:70%;width:80px;opacity:.46}.map-decoration-rocks-treasure{right:17%;top:55%;width:76px;opacity:.42;transform:rotate(9deg)}.map-decoration-cactus{right:37%;top:5%;width:200px;height:210px;opacity:.42}.map-decoration-dead-tree{right:11%;top:10%;width:135px;height:285px;opacity:.48}.map-decoration-footprints{left:18%;top:31%;width:130px;opacity:.34;transform:rotate(24deg)}.map-decoration-forest-session-3{left:22%;top:60%;width:300px;opacity:.34}.map-decoration-forest-session-7{display:none}.map-decoration-hills{right:10%;bottom:3%;width:380px;opacity:.34}.map-decoration-ruined-castle{left:36%;top:38%;bottom:auto;width:260px;opacity:.4}.map-path-layer-desktop{display:block}.map-path-layer-mobile,.map-path-extension{display:none}.treasure-map-has-session-14 .map-path-extension{display:block}vaadin-dialog-overlay.map-treasure-dialog::part(overlay){width:min(760px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:0;overflow:hidden;border-radius:18px;background:linear-gradient(#f4e0b3f7,#e8cc91f7);border:1px solid rgba(92,57,36,.32);box-shadow:0 20px 40px #3a2d223d,inset 0 1px #ffffff47}.map-treasure-panel{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 24px);padding:10px 10px 12px;box-sizing:border-box;color:#5c3924;direction:rtl;overflow:hidden}.map-treasure-header{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:100%;padding:4px 38px 2px;box-sizing:border-box}.map-treasure-title-image{display:block;width:clamp(180px,30vw,280px);max-width:100%;height:auto;object-fit:contain;pointer-events:none}.map-treasure-close{position:absolute;top:4px;left:4px;width:34px;height:34px;min-width:34px;padding:0;border-radius:999px;background:#fff7ddeb;color:#87004f;box-shadow:none;cursor:pointer;z-index:2}.map-treasure-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:2px;box-sizing:border-box;color:#5c3924;font-size:clamp(13px,.92vw,15px);font-weight:600;line-height:2;text-align:right}.map-treasure-content p{margin:0 0 12px}.map-treasure-signature{margin-top:14px!important;color:#87004f;font-weight:900;text-align:left}@media (max-width: 900px){vaadin-dialog-overlay.map-treasure-dialog::part(overlay){width:min(680px,calc(100vw - 20px));max-height:calc(100vh - 20px)}.map-treasure-panel{max-height:calc(100vh - 20px);padding:8px 8px 10px}.map-treasure-title-image{width:clamp(170px,42vw,240px)}.map-treasure-content{padding:4px 14px 8px;line-height:1.9}}@media (max-width: 760px){vaadin-dialog-overlay.map-treasure-dialog::part(overlay){width:calc(100vw - 7px);max-width:calc(100vw - 16px);max-height:calc(100vh - 171px);border-radius:16px}.map-treasure-panel{max-height:calc(100vh - 16px);padding:1px 2px}.map-treasure-header{padding:2px 32px 0}.map-treasure-title-image{width:clamp(145px,52vw,210px)}.map-treasure-close{top:0;left:0;width:32px;height:32px;min-width:32px}.map-treasure-content{padding:2px;font-size:13px;line-height:1.85}.map-treasure-content p{margin:0 0 10px}.map-treasure-signature{margin-top:10px!important}}@media (min-width: 761px) and (max-width: 1366px){.treasure-map-page{min-height:max(720px,calc(100vh - 50px))}.map-help-button{top:22px;right:190px}.map-base-camp{left:4%;top:28%;width:160px;height:100px}.map-base-camp-image{width:160px;height:120px}.map-movie-marker{left:1%;top:47%}.map-movie-image{width:220px;height:auto}.map-stone{width:42px;height:40px;font-size:16px}.map-treasure{width:50px;height:46px}.map-course-selector{top:20px;right:20px;width:160px}.map-archive-button{height:36px;font-size:13px}.map-course-menu-item{height:34px;min-height:34px;font-size:13px}.map-decoration-mountains{width:270px}.map-decoration-rocks-session-5,.map-decoration-rocks-treasure{width:62px}.map-decoration-cactus{width:150px;height:180px}.map-decoration-dead-tree{width:120px;height:220px}.map-decoration-footprints{width:100px}.map-decoration-forest-session-3{width:280px}.map-decoration-ruined-castle{width:200px}.map-decoration-hills{width:240px}.map-treasure-image{width:100px;height:100px}}@media (max-width: 760px){.treasure-map-page{min-height:1700px;background-image:url(./journey-map-mobile-bg-bAoxgFhN.png);background-size:cover;background-position:center top;background-repeat:no-repeat;overflow:hidden}.map-path-layer-desktop{display:none!important}.map-path-layer-mobile{display:block!important}.map-path-layer-mobile svg{transform:none!important}.map-course-selector{top:18px;right:7%;left:auto;width:180px;transform:none}.map-help-button{top:18px;left:7%;right:auto}.map-base-camp{top:115px;left:7%;width:135px;height:120px}.map-base-camp-image{width:135px;height:120px}.map-movie-marker{top:94px;right:1%;left:auto;width:185px;height:160px}.map-movie-image{width:185px;height:160px}vaadin-dialog-overlay.map-help-dialog::part(overlay){width:calc(100vw - 40px);height:550px}.map-help-panel{padding:1px}.map-help-content{max-height:68vh;font-size:13px}.map-help-title,.map-help-close{padding:1px}.map-decoration-mountains{left:38%;top:495px;width:225px;opacity:.3}.map-decoration-footprints{left:10%;top:265px;width:95px;opacity:.3;transform:rotate(150deg)}.map-decoration-forest-session-3{right:20%;left:auto;top:330px;width:200px;height:140px;opacity:.24;transform:rotate(5deg)}.map-decoration-rocks-session-5{left:33%;top:710px;width:90px;opacity:.38;transform:rotate(-8deg)}.map-decoration-forest-session-7,.map-decoration-hills{display:none}.map-decoration-ruined-castle{left:15%;right:auto;bottom:auto;top:880px;width:260px;opacity:.4}.map-treasure{width:140px;height:120px}.map-decoration-rocks-treasure{right:49%;top:1104px;width:62px;opacity:.36;transform:rotate(10deg)}.map-decoration-cactus{right:1%;top:1175px;width:105px;height:auto;opacity:.34}.map-decoration-dead-tree{left:3%;right:auto;top:1275px;width:120px;height:250px;opacity:.4}}@media (min-width: 761px){.map-path-layer-desktop{display:block!important}.map-path-layer-mobile{display:none!important}}vaadin-grid.styling::part(correct-answer){background-color:var(--lumo-success-color-10pct)}vaadin-grid.styling::part(wrong-answer){background-color:var(--lumo-error-color-10pct)}
