:root{--lphub-yellow: #ffd24f;--lphub-yellow-2: #ffe48a;--lphub-yellow-dark: #e4a400;--lphub-yellow-light: #fff6cc;--lphub-orange: #ff9c31;--lphub-orange-2: #ff7c1f;--lphub-blue: #ffb547;--lphub-mint: #ffd24f;--lphub-bg: #fffdf5;--lphub-surface: #ffffff;--lphub-surface-2: rgba(255, 255, 255, .72);--lphub-border: rgba(61, 45, 12, .13);--lphub-text: #171717;--lphub-text-muted: rgba(23, 23, 23, .68);--lphub-radius: 20px;--lphub-radius-sm: 13px;--lphub-shadow: 0 12px 28px rgba(20, 20, 20, .11);--lphub-shadow-soft: 0 16px 48px rgba(255, 184, 62, .28);--lphub-grad-brand: linear-gradient(135deg, #fff0ab 0%, #ffd24f 34%, #ff9c31 72%, #ff7c1f 100%);--lphub-grad-sky: radial-gradient(1200px 820px at 10% 8%, rgba(255, 214, 102, .4), transparent 58%), radial-gradient(1100px 760px at 92% 14%, rgba(255, 156, 49, .24), transparent 58%), radial-gradient(900px 700px at 48% 100%, rgba(255, 210, 79, .24), transparent 60%), linear-gradient(180deg, #fff9df 0%, #fffef8 58%, #fffdf5 100%);font-family:Noto Sans JP,sans-serif;color:var(--lphub-text);background:var(--lphub-bg);line-height:1.6}:root[data-device=mobile]{--lphub-radius: 16px;--lphub-radius-sm: 12px}:root[data-device=mobile] .main{padding:1.05rem}:root[data-device=mobile] .header{padding:.75rem 1rem;column-gap:.5rem;row-gap:.5rem;align-items:center}:root[data-device=mobile] .header-logo__img{transform:scale(1.82);max-width:min(440px,64vw)}:root[data-device=mobile] .header>.header-logo:first-child{grid-column:1 / -1;grid-row:1;justify-self:center}:root[data-device=mobile] .header:has(.header-actions){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto;align-items:start}:root[data-device=mobile] .header:has(.header-actions)>.header-logo{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:center}:root[data-device=mobile] .header:has(.header-actions)>.btn:first-child,:root[data-device=mobile] .header:has(.header-actions)>.header-back{grid-column:1;grid-row:2;justify-self:start;max-width:calc(50% - .3rem);min-width:0;min-height:2.65rem;padding:.45rem .65rem;font-size:.78rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}:root[data-device=mobile] .header-actions{display:contents}:root[data-device=mobile] .header-user{grid-column:1;grid-row:1;justify-self:start;align-self:start;min-width:0;max-width:min(42vw,11.5rem);font-size:.82rem;font-weight:600;line-height:1.2;color:var(--lphub-text-muted);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-device=mobile] .header-actions .btn{grid-column:3;justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-width:6.8rem;max-width:min(32vw,8.6rem);min-height:2.65rem;padding:.45rem .7rem;font-size:.78rem;line-height:1.2;white-space:normal;text-align:center;word-break:keep-all;overflow-wrap:anywhere}:root[data-device=mobile] .header-actions .btn:nth-of-type(1){grid-row:1}:root[data-device=mobile] .header-actions .btn:nth-of-type(2){grid-row:2}:root[data-device=mobile] .header-actions .btn.btn-sm{padding:.45rem .7rem;font-size:.78rem}:root[data-device=mobile] .header:not(:has(.header-actions)){grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;row-gap:.4rem;align-items:center}:root[data-device=mobile] .header:not(:has(.header-actions))>.header-logo{grid-column:1 / -1;grid-row:1;justify-self:center;align-self:center}:root[data-device=mobile] .header:not(:has(.header-actions))>.btn:first-child,:root[data-device=mobile] .header:not(:has(.header-actions))>.btn:last-child:not(:first-child){display:inline-flex;align-items:center;justify-content:center;align-self:center;width:auto;max-width:calc(50% - .3rem);min-width:0;min-height:2.65rem;padding:.45rem .65rem;font-size:.78rem;line-height:1.2;white-space:nowrap;box-sizing:border-box}:root[data-device=mobile] .header:not(:has(.header-actions))>.btn:first-child{grid-column:1;grid-row:2;justify-self:start;overflow:hidden;text-overflow:ellipsis}:root[data-device=mobile] .header:not(:has(.header-actions))>.btn:last-child:not(:first-child){grid-column:2;grid-row:2;justify-self:end}:root[data-device=mobile] .header:not(:has(.header-actions)):has(>.btn:first-child)>.header-progress:last-child{grid-row:2;grid-column:2;justify-self:end;align-self:center}:root[data-device=mobile] .header:not(:has(.header-actions)):not(:has(>.btn:first-child))>.header-progress:last-child{grid-row:2;grid-column:1 / -1;justify-self:center}.header-back__text--short{display:none}:root[data-device=mobile] .header-back .header-back__text--full{display:none}:root[data-device=mobile] .header-back .header-back__text--short{display:inline}:root[data-device=mobile] .header>div:last-child:empty{display:none}:root[data-device=mobile] .portal-entry-grid{grid-template-columns:1fr;gap:.95rem}:root[data-device=mobile] .portal-entry-card.entry-nav-card{min-height:auto;padding:1rem 1.1rem;gap:.85rem}:root[data-device=mobile] .entry-nav-card__icon-wrap{width:3rem;height:3rem}:root[data-device=mobile] .entry-nav-card__icon{font-size:1.15rem}:root[data-device=mobile] .portal-entry-card__title{font-size:1rem}:root[data-device=mobile] .portal-entry-card__desc{font-size:.85rem}:root[data-device=mobile] .btn{padding:.55rem 1.05rem}:root[data-device=mobile] .btn-sm{padding:.4rem .75rem}*{box-sizing:border-box;margin:0;padding:0}#root{min-height:100vh}a{color:#c98200;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}::selection{background:#f5c84273}:focus-visible{outline:3px solid rgba(255,172,52,.42);outline-offset:2px;border-radius:10px}.page-enter{opacity:0;transform:translateY(8px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .2s ease}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;overflow:hidden}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(1100px 760px at 18% 12%,rgba(245,200,66,.55),transparent 60%),radial-gradient(900px 650px at 82% 18%,rgba(255,210,77,.42),transparent 58%),radial-gradient(1100px 780px at 65% 92%,rgba(255,138,31,.16),transparent 58%),linear-gradient(180deg,#fff5c7,#fffdf3 35%,#fff 75%,#fffdf7);z-index:-1}.login-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.65) 0 4px,transparent 5px),radial-gradient(circle at 80% 30%,rgba(255,255,255,.55) 0 3px,transparent 4px),radial-gradient(circle at 30% 75%,rgba(255,255,255,.55) 0 3px,transparent 4px);opacity:.55;pointer-events:none}.login-card{width:100%;max-width:400px;background:linear-gradient(180deg,#ffffffeb,#ffffffc7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--lphub-radius);box-shadow:var(--lphub-shadow),var(--lphub-shadow-soft),0 0 0 1px var(--lphub-border);padding:2rem;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:var(--lphub-grad-brand);opacity:.18;filter:blur(18px);transform:translateY(-8px);pointer-events:none}.login-card>*{position:relative}.login-logo{font-size:1.75rem;font-weight:700;background:var(--lphub-grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center;margin-bottom:.25rem}.login-logo__img{display:block;width:min(720px,94%);height:auto;margin:0 auto .25rem}.login-subtitle{text-align:center;color:var(--lphub-text-muted);font-size:.95rem;margin-bottom:1.5rem}.login-intro-overlay{position:relative;width:100%;max-width:760px;margin:0 auto;padding:1.75rem 1.5rem;text-align:center;z-index:1}.login-intro-message{margin:0;font-size:clamp(1.7rem,4.6vw,3rem);font-weight:800;letter-spacing:.01em;line-height:1.18;background:var(--lphub-grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 28px rgba(255,156,49,.22));min-height:1.2em}.login-intro-sub{margin-top:.75rem;font-size:clamp(.95rem,2.3vw,1.25rem);font-weight:600;color:#d99c00eb;letter-spacing:.01em;transition:opacity .2s ease}.login-intro-sub:not(.is-visible){opacity:0}.login-intro-cursor{display:inline-block;margin-left:.02em;color:var(--lphub-orange-2);animation:login-intro-blink .9s steps(1,end) infinite}@keyframes login-intro-blink{0%,49%{opacity:1}50%,to{opacity:0}}.login-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.login-tab{flex:1;padding:.6rem 1rem;border:1px solid var(--lphub-border);background:var(--lphub-bg);border-radius:var(--lphub-radius-sm);font-size:.9rem;color:var(--lphub-text-muted);transition:all .2s}.login-tab.active{background:var(--lphub-yellow);border-color:var(--lphub-yellow-dark);color:var(--lphub-text);font-weight:500}.login-form .label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:var(--lphub-text)}.login-form .input{width:100%;padding:.65rem .9rem;border:1px solid var(--lphub-border);border-radius:var(--lphub-radius-sm);font-size:1rem;margin-bottom:1rem;transition:border-color .2s}.login-form .input:focus{outline:none;border-color:var(--lphub-yellow-dark)}.login-error{color:#c00;font-size:.9rem;margin-bottom:.75rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-drop{border:1px dashed rgba(228,164,0,.55);background:linear-gradient(180deg,#ffffffd9,#fffcf2b8);border-radius:var(--lphub-radius-sm);padding:.9rem 1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;gap:.35rem}.file-drop.is-over{border-color:#e4a400d9;box-shadow:0 12px 28px #ffb0292e;transform:translateY(-1px)}.file-drop__title{font-weight:800;color:var(--lphub-text)}.file-drop__meta{font-size:.85rem;color:var(--lphub-text-muted)}.cert-form-fields{display:grid;gap:.85rem;margin-bottom:1rem}.cert-field{position:relative}.cert-field__trigger{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem .9rem;border:1px solid rgba(228,164,0,.45);border-radius:var(--lphub-radius-sm);background:linear-gradient(180deg,#ffffffeb,#fffcf2c7);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s}.cert-field__trigger:hover:not(:disabled){border-color:#e4a400bf;box-shadow:0 8px 22px #ffb0291f}.cert-field__trigger.is-open{border-color:var(--lphub-yellow-dark);box-shadow:0 10px 26px #ffb02929}.cert-field__trigger:disabled{opacity:.65;cursor:not-allowed}.cert-field__icon{width:2.25rem;height:2.25rem;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#ffd6668c,#ffb02959);color:var(--lphub-text);flex-shrink:0}.cert-field__body{display:grid;gap:.15rem;min-width:0}.cert-field__label{font-size:.78rem;font-weight:700;color:var(--lphub-text-muted);letter-spacing:.02em}.cert-field__value{font-size:1rem;font-weight:800;color:var(--lphub-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cert-field__placeholder{font-weight:600;color:var(--lphub-text-muted)}.cert-field__chevron{transform:rotate(90deg);opacity:.55;transition:transform .2s}.cert-field__trigger.is-open .cert-field__chevron{transform:rotate(-90deg)}.cert-picker__panel,.cert-date__panel{position:absolute;z-index:40;left:0;right:0;top:calc(100% + .35rem);border:1px solid rgba(228,164,0,.5);border-radius:14px;background:#fffffffa;box-shadow:0 18px 40px #1e180a24;overflow:hidden}.cert-picker__search{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.5rem;padding:.65rem .75rem;border-bottom:1px solid rgba(0,0,0,.06);background:#fffcf2e6}.cert-picker__search-icon{opacity:.55}.cert-picker__search-input{border:none;background:transparent;font-size:.95rem;outline:none;width:100%}.cert-picker__list{list-style:none;margin:0;padding:.35rem 0;max-height:min(68vh,480px);overflow:auto}.cert-picker__empty{padding:1rem .9rem;color:var(--lphub-text-muted);font-size:.9rem}.cert-field__vendor{font-size:.72rem;font-weight:700;color:var(--lphub-text-muted);margin-top:.1rem}.cert-picker__group{padding-bottom:.15rem}.cert-picker__group-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem .4rem;margin:0 .35rem;border-radius:10px;background:linear-gradient(180deg,#fffcf2fa,#fff8e6f2);border:1px solid rgba(228,164,0,.22);box-shadow:0 4px 12px #1e180a0a}.cert-picker__group-head--ipa{border-color:#3b82f659;background:linear-gradient(180deg,#eff6fffa,#dbeafee6)}.cert-picker__group-head--oracle{border-color:#dc262647;background:linear-gradient(180deg,#fef2f2fa,#fee2e2e0)}.cert-picker__group-head--microsoft{border-color:#2563eb4d;background:linear-gradient(180deg,#eff6fffa,#dbeafeeb)}.cert-picker__group-head--aws{border-color:#ea580c52;background:linear-gradient(180deg,#fff7edfa,#ffedd5e6)}.cert-picker__group-head--infra{border-color:#16a34a47;background:linear-gradient(180deg,#f0fdf4fa,#dcfce7e6)}.cert-picker__vendor-badge{font-size:.78rem;font-weight:800;letter-spacing:.02em;color:var(--lphub-text)}.cert-picker__group-count{font-size:.68rem;font-weight:700;color:var(--lphub-text-muted);white-space:nowrap}.cert-picker__group-divider{height:1px;margin:.35rem .75rem .15rem;background:#00000012}.cert-picker__options{list-style:none;margin:0;padding:0}.cert-picker__option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .9rem;border:none;background:transparent;text-align:left;cursor:pointer;font-size:.92rem;color:var(--lphub-text);transition:background .12s}.cert-picker__option:hover{background:#ffd66640}.cert-picker__option.is-selected{background:#ffb02938;font-weight:700}.cert-picker__check{font-size:.7rem;width:.75rem;height:.75rem;color:var(--lphub-yellow-dark);flex-shrink:0}.cert-picker__check svg{width:.75rem;height:.75rem}.cert-date__header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:.65rem .5rem .35rem;gap:.25rem}.cert-date__title{text-align:center;font-weight:800;font-size:.95rem}.cert-date__nav{width:2rem;height:2rem;border:none;border-radius:8px;background:#ffd66659;cursor:pointer;font-size:1.1rem;line-height:1;color:var(--lphub-text)}.cert-date__nav:hover{background:#ffb02973}.cert-date__quick{display:flex;gap:.4rem;padding:0 .75rem .5rem;justify-content:center}.cert-date__chip{border:1px solid rgba(228,164,0,.45);border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:700;background:#fffcf2e6;cursor:pointer}.cert-date__chip:hover{background:#ffd66659}.cert-date__weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 .5rem;gap:.15rem}.cert-date__weekday{text-align:center;font-size:.68rem;font-weight:800;color:var(--lphub-text-muted)}.cert-date__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.15rem;padding:.35rem .5rem .5rem}.cert-date__cell--empty{aspect-ratio:1}.cert-date__day{aspect-ratio:1;border:none;border-radius:10px;background:transparent;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--lphub-text)}.cert-date__day:hover:not(:disabled){background:#ffd66659}.cert-date__day.is-today{box-shadow:inset 0 0 0 1px #e4a400a6}.cert-date__day.is-selected{background:linear-gradient(145deg,var(--lphub-yellow),var(--lphub-yellow-dark));color:var(--lphub-text);font-weight:800}.cert-date__day.is-future,.cert-date__day:disabled{opacity:.35;cursor:not-allowed}.cert-date__hint{margin:0;padding:0 .75rem .65rem;font-size:.75rem;text-align:center}.admin-req-toolbar{max-width:980px;margin:0 auto 1rem;padding:1rem 1.1rem;display:grid;gap:.85rem}.admin-req-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.admin-req-summary__item{text-align:center;padding:.55rem .4rem;border-radius:12px;background:#ffffffa6;border:1px solid rgba(0,0,0,.06)}.admin-req-summary__item--pending{border-color:#e4a40059;background:linear-gradient(180deg,#fff8e6f2,#ffffffb3)}.admin-req-summary__value{display:block;font-size:1.35rem;font-weight:800;color:var(--lphub-text);line-height:1.2}.admin-req-summary__label{font-size:.72rem;font-weight:700;color:var(--lphub-text-muted)}.admin-req-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.admin-req-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(228,164,0,.28);background:#ffffffbf;font-size:.82rem;font-weight:700;color:var(--lphub-text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.admin-req-tab:hover{border-color:#e4a40080;color:var(--lphub-text)}.admin-req-tab.is-active{background:linear-gradient(145deg,var(--lphub-yellow),rgba(255,176,41,.85));border-color:#d9770673;color:var(--lphub-text)}.admin-req-tab--alert:not(.is-active){border-color:#ea580c73;animation:admin-req-tab-pulse 2s ease-in-out infinite}@keyframes admin-req-tab-pulse{0%,to{box-shadow:0 0 #ffb02900}50%{box-shadow:0 0 0 3px #ffb02940}}.admin-req-tab__count{min-width:1.25rem;padding:.05rem .35rem;border-radius:999px;font-size:.68rem;background:#00000014}.admin-req-tab.is-active .admin-req-tab__count{background:#ffffff8c}.admin-req-toolbar__row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.admin-req-search{flex:1;min-width:min(100%,280px);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:10px;border:1px solid rgba(228,164,0,.28);background:#ffffffd9}.admin-req-search__icon{opacity:.5;font-size:.85rem}.admin-req-search__input{border:none;background:transparent;font-size:.9rem;outline:none;width:100%}.admin-req-error{max-width:980px;margin:0 auto .75rem}.admin-req-empty{max-width:520px;margin:0 auto;padding:2rem 1.25rem;text-align:center}.admin-req-empty__icon{font-size:1.75rem;margin-bottom:.5rem;color:var(--lphub-yellow-dark)}.admin-req-empty__title{font-weight:800;margin:0 0 .35rem}.admin-req-empty__hint{margin:0;font-size:.88rem}.admin-req-list-wrap{max-width:980px;margin:0 auto;padding:1rem 1.1rem}.admin-req-list-meta{margin:0 0 .65rem;font-size:.82rem}.admin-req-btn-reject{color:#9f1239}.admin-req-btn-reject--solid{background:linear-gradient(145deg,#fecdd3,#f43f5e);border-color:#be123c59;color:#fff}.admin-req-btn-reject--solid:hover{filter:brightness(1.03)}.admin-req-modal--confirm.admin-req-modal--rejected .admin-modal__title{color:#9f1239}.admin-req-modal__detail{margin:.75rem 0 0;padding:.75rem .85rem;border-radius:12px;background:#fffcf2e6;border:1px solid rgba(228,164,0,.2);display:grid;gap:.45rem}.admin-req-modal__detail--success{border-color:#22c55e40;background:#f0fdf4d9}.admin-req-modal--success.admin-req-modal--rejected .admin-req-modal__detail--success{border-color:#f43f5e33;background:#fff1f2e6}.admin-req-modal__row{display:grid;grid-template-columns:4.5rem 1fr;gap:.5rem;font-size:.88rem}.admin-req-modal__label{font-weight:700;color:var(--lphub-text-muted)}.admin-req-success-icon{width:3rem;height:3rem;margin:0 auto .65rem;border-radius:999px;display:grid;place-items:center;background:linear-gradient(145deg,#ffd6668c,#ffb02959)}.admin-req-modal--success.admin-req-modal--approved .admin-req-success-icon{background:linear-gradient(145deg,#86efac,#22c55e)}.admin-req-modal--success.admin-req-modal--approved .admin-req-success-icon .app-icon{color:#fff}.admin-req-modal--success.admin-req-modal--rejected .admin-req-success-icon{background:linear-gradient(145deg,#fecdd3,#e11d48)}.admin-req-modal--success.admin-req-modal--rejected .admin-req-success-icon .app-icon{color:#fff}.admin-req-modal--success .admin-modal__title,.admin-req-modal--success .admin-modal__lead{text-align:center}.req-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.req-card{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:.95rem 1rem;background:#ffffffc2;display:grid;grid-template-columns:1fr auto;gap:.9rem;align-items:start}.req-card--pending{border-color:#e4a40052;box-shadow:0 6px 18px #ffb02914}.req-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.15rem}.req-card__title{font-weight:800;color:var(--lphub-text);font-size:1rem;line-height:1.3}.req-card__vendor{font-size:.72rem;font-weight:700;color:var(--lphub-text-muted);margin-bottom:.35rem}.req-card__meta{font-size:.9rem;margin-bottom:.4rem}.req-card__user{display:inline-flex;align-items:center;gap:.35rem;font-weight:700}.req-card__lpid{font-weight:600;color:var(--lphub-text-muted);font-size:.85rem}.req-card__facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.35rem .75rem;margin:0;font-size:.8rem}.req-card__facts dt{font-weight:700;color:var(--lphub-text-muted);margin:0}.req-card__facts dd{margin:.1rem 0 0;font-weight:600;color:var(--lphub-text)}.req-card__facts--wide{grid-column:1 / -1}.req-card__filename{word-break:break-all;font-size:.78rem;font-weight:500}.req-card__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.req-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-weight:800;font-size:.78rem;border:1px solid rgba(0,0,0,.08);background:#fffc}.req-pill--pending{border-color:#e4a40047;background:#ffebb28c;color:#7a4a00}.req-pill--approved{border-color:#008c5a47;background:#a0ffcd59;color:#14532d}.req-pill--rejected{border-color:#c8000033;background:#ffb4b459;color:#9f1239}@media (max-width: 640px){.req-card{grid-template-columns:1fr}.req-card__actions{justify-content:flex-start}}.login-hint{margin-top:1rem;font-size:.8rem;color:var(--lphub-text-muted);text-align:center}.btn{padding:.6rem 1.2rem;border-radius:var(--lphub-radius-sm);font-size:.95rem;font-weight:600;border:1px solid transparent;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--lphub-yellow-light) 0%,var(--lphub-yellow) 38%,var(--lphub-orange) 78%,var(--lphub-orange-2) 112%);color:var(--lphub-text);border:1px solid rgba(228,164,0,.55);box-shadow:0 10px 26px #ffb02961,0 0 0 1px #ffe6a170 inset;position:relative;overflow:hidden}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 36px #ffb02980,0 0 0 1px #ffeec1a6 inset}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(200px 140px at 20% 20%,rgba(255,255,255,.65),transparent 60%);opacity:.55;pointer-events:none}.btn-secondary{background:linear-gradient(180deg,#fffc,#fffbf0b3);border:1px solid rgba(228,164,0,.24);color:var(--lphub-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 22px #ffb02929}.btn-ghost{background:#ffffff7a;color:#171717d1;border-color:#e4a4002e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-ghost:hover{color:var(--lphub-text);border-color:#e4a40061;background:#ffffffad;text-decoration:none}.btn-ghost.danger:hover{color:#c00}.btn-block{width:100%}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--lphub-grad-sky);position:relative}.layout:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url(/assets/lphub-bg-illustration-jho7FZx0.png);background-size:100% auto;background-position:center 40%;background-repeat:no-repeat;pointer-events:none;z-index:0;filter:blur(2.5px) saturate(1.07) brightness(.99);opacity:1}.layout:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff14,#ffffff04 55%,#ffffff0f),radial-gradient(520px 260px at 12% 18%,rgba(255,210,79,.12),transparent 60%),radial-gradient(460px 240px at 88% 25%,rgba(255,124,31,.08),transparent 62%),radial-gradient(520px 260px at 50% 78%,rgba(255,255,255,.06),transparent 62%);backdrop-filter:blur(8px) saturate(1.06);-webkit-backdrop-filter:blur(8px) saturate(1.06);opacity:.66;pointer-events:none;z-index:0}.layout>*{position:relative;z-index:1}.layout-center{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--lphub-text-muted)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:.9rem;padding:1rem 1.5rem;background:linear-gradient(180deg,#ffffffb3,#fffcf28a);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,164,0,.2);box-shadow:0 8px 26px #ffb0292e,0 1px #ffffffa6 inset}.header>.header-logo{grid-column:2;justify-self:center}.header>.btn:first-child{grid-column:1;justify-self:start}.header>.btn:last-child{grid-column:3;justify-self:end}.header-logo{font-size:1.35rem;font-weight:700;background:var(--lphub-grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;cursor:pointer}button.header-logo{cursor:pointer;border:none;padding:0;margin:0;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.header-logo__img{display:block;height:34px;width:auto;transform:scale(2.05);transform-origin:center}.header-logo__img{max-width:min(560px,72vw)}.header-actions{display:flex;align-items:center;gap:.75rem;grid-column:3;justify-self:end}.header-user{font-size:.9rem;color:var(--lphub-text-muted)}.header-progress{font-weight:600;color:var(--lphub-yellow-dark)}.main{flex:1;min-width:0;padding:1.65rem;max-width:900px;margin:0 auto;width:100%;box-sizing:border-box}.page-title{font-size:1.5rem;margin-bottom:1.25rem;color:var(--lphub-text)}.text-muted{color:var(--lphub-text-muted);font-size:.95rem}.category-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.category-card{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.25rem 1.5rem;background:linear-gradient(180deg,#ffffffd1,#fffcf2b3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(228,164,0,.22);border-radius:var(--lphub-radius);font-size:1rem;font-weight:600;text-align:left;transition:all .22s ease;box-shadow:var(--lphub-shadow),0 16px 40px #ffb02924,0 0 0 1px #ffebb25c inset;position:relative;overflow:hidden}.category-card:hover{border-color:#e4a4008c;transform:translateY(-3px);box-shadow:0 20px 46px #ffb02938,0 0 0 1px #ffefc285 inset}.category-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,#ffd24f47,#ff9c3124,#fff5d21f);opacity:0;transition:opacity .2s ease;pointer-events:none}.category-card:hover:before{opacity:1}.category-card--vivid .category-arrow{display:none}.category-name{color:var(--lphub-text)}.category-arrow{color:var(--lphub-yellow-dark);font-size:1.25rem}.category-hub-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.1rem;margin-top:1rem}.category-hub-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;min-height:140px;padding:1.35rem 1.4rem;border-radius:calc(var(--lphub-radius) + 2px);border:1px solid rgba(228,164,0,.28);background:linear-gradient(180deg,#ffffffe0,#fffcf2bf);box-shadow:var(--lphub-shadow-soft);cursor:pointer;font:inherit;color:inherit;position:relative;transition:border-color .15s,box-shadow .15s}.category-hub-card:hover{border-color:#e4a40080}.category-hub-card__title{font-size:1rem;font-weight:700;color:var(--lphub-text);margin-bottom:.35rem}.category-hub-card__desc{font-size:.85rem;color:var(--lphub-text-muted);line-height:1.5;flex:1}.category-hub-card__arrow{align-self:flex-end;margin-top:.65rem;font-size:1.35rem;color:var(--lphub-yellow-dark)}.portal-hub-main{max-width:920px;margin:0 auto}.portal-hub-lead,.portal-docs-lead,.portal-curriculum-lead{margin-bottom:1.75rem;line-height:1.65;max-width:42rem}.portal-entry-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem}.portal-entry-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;min-height:176px;padding:1.5rem 1.5rem 1.25rem;background:linear-gradient(180deg,#ffffffd6,#fffcf2b3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(228,164,0,.2);border-radius:var(--lphub-radius);box-shadow:var(--lphub-shadow-soft),0 14px 38px #ffb02929,0 0 0 1px #ffebb24d inset;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative;overflow:hidden}.portal-entry-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ffd24f33,#ff7c1f1a);opacity:0;transition:opacity .2s ease;pointer-events:none}.portal-entry-card:hover:before{opacity:1}.portal-entry-card:hover{border-color:#e4a4007a;transform:translateY(-3px)}.portal-entry-card__title{font-size:1rem;font-weight:700;color:var(--lphub-text);margin-bottom:.5rem;position:relative;z-index:1}.portal-entry-card__desc{font-size:.85rem;color:var(--lphub-text-muted);line-height:1.55;flex:1;position:relative;z-index:1}.admin-page .portal-entry-grid .portal-entry-card{height:220px}.admin-page .portal-entry-grid .portal-entry-card__title,.admin-page .portal-entry-grid .portal-entry-card__desc{line-break:strict;word-break:normal;overflow-wrap:normal;text-wrap:balance}.portal-entry-card__arrow{align-self:flex-end;margin-top:.75rem;font-size:1.35rem;color:var(--lphub-yellow-dark);position:relative;z-index:1}.entry-nav-card{position:relative}.portal-entry-card.entry-nav-card,.category-hub-card.entry-nav-card{flex-direction:row;align-items:center;gap:1rem;min-height:auto;padding:1.15rem 1.25rem}.entry-nav-card__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:3.5rem;height:3.5rem;margin-bottom:0;border-radius:14px;background:linear-gradient(145deg,#ffebb2f2,#ffd24f6b);border:1px solid rgba(228,164,0,.28);box-shadow:0 6px 16px #ffb0292e;position:relative;z-index:1}.entry-nav-card__icon{font-size:1.25rem;color:#c45a00}.entry-nav-card__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;position:relative;z-index:1}.portal-entry-card.entry-nav-card .portal-entry-card__title,.category-hub-card.entry-nav-card .category-hub-card__title{margin-bottom:0}.portal-entry-card.entry-nav-card .portal-entry-card__desc,.category-hub-card.entry-nav-card .category-hub-card__desc{flex:none}.category-card__desc,.material-card__desc,.portal-entry-card__desc,.category-hub-card__desc{font-size:.85rem;color:var(--lphub-text-muted);line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.465rem;text-align:left}.portal-entry-card.entry-nav-card,.category-hub-card.entry-nav-card,.category-card.category-card--vivid{min-height:5.85rem}.material-card.material-card--vivid{min-height:6.35rem}.material-card.material-card--vivid .material-card__desc{margin-bottom:.4rem}.entry-nav-card--accent .entry-nav-card__icon-wrap,.portal-entry-card--accent .entry-nav-card__icon-wrap{background:linear-gradient(145deg,#ffdc78f2,#ff9c3173)}.entry-nav-card__chevron,.category-hub-card__arrow.entry-nav-card__chevron,.portal-entry-card.entry-nav-card .portal-entry-card__arrow.entry-nav-card__chevron{align-self:center;margin-top:0;flex-shrink:0;font-size:1.15rem;color:var(--lphub-yellow-dark)}.admin-page .portal-entry-grid .portal-entry-card.entry-nav-card{height:auto;min-height:5.85rem}.category-card--vivid{gap:1rem;padding:1.15rem 1.3rem;align-items:center}.category-card__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:3.35rem;height:3.35rem;border-radius:14px;background:linear-gradient(145deg,#ffebb2e6,#ffd24f59);border:1px solid rgba(228,164,0,.22)}.category-card__icon{font-size:1.15rem;color:#c45a00}.category-card__chevron{font-size:.95rem;color:var(--lphub-yellow-dark);flex-shrink:0}.material-card__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:12px;background:linear-gradient(145deg,#ffebb2eb,#ffd24f61);border:1px solid rgba(228,164,0,.2)}.material-card__icon{color:#c45a00}.material-card__icon.app-icon--brandSalesforce{color:#00a1e0}.material-card__icon.app-icon--brandMicrosoft{color:#5e5e5e}.category-card__icon.app-icon--brandSalesforce{color:#00a1e0}.category-card__icon.app-icon--brandMicrosoft{color:#5e5e5e}.material-card__icon.app-icon--brandHtml5,.category-card__icon.app-icon--brandHtml5{color:#e34f26}.material-card__icon.app-icon--brandReact,.category-card__icon.app-icon--brandReact{color:#61dafb}.material-card__icon.app-icon--brandNodeJs,.category-card__icon.app-icon--brandNodeJs{color:#393}.material-card__icon.app-icon--brandPhp,.category-card__icon.app-icon--brandPhp{color:#777bb4}.material-card__icon.app-icon--gem,.category-card__icon.app-icon--gem{color:#c42d2d}.material-card__icon.app-icon--brandJava,.category-card__icon.app-icon--brandJava{color:#e76f00}.material-card__icon.app-icon--brandSquareJs,.category-card__icon.app-icon--brandSquareJs{color:#f7df1e}.material-card__icon.app-icon--brandPython,.category-card__icon.app-icon--brandPython{color:#3776ab}.page-section-title{display:flex;align-items:center;gap:.45rem;font-size:1rem;font-weight:700;color:var(--lphub-text);margin:0 0 .85rem}.page-section-title .app-icon{color:var(--lphub-yellow-dark);font-size:.95rem}.main--portal{max-width:920px;margin:0 auto}.portal-training-docs-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.portal-training-docs-grid .category-card{min-height:108px;align-items:center}.portal-training-docs-grid .category-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.category-card--stack{align-items:center}.category-card-text{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;flex:1}.category-meta{font-size:.82rem;color:var(--lphub-text-muted);font-weight:400}.training-docs-sections{display:flex;flex-direction:column;gap:2rem}.training-docs-subtitle{font-size:1.05rem;font-weight:600;margin-bottom:.75rem;color:var(--lphub-text)}.pdf-tile{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.1rem 1.25rem;background:linear-gradient(180deg,#fffffff5,#fffdf7eb);border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);text-align:left;transition:border-color .2s,transform .2s,box-shadow .2s;box-shadow:var(--lphub-shadow-soft),0 14px 44px #f5c8421f;position:relative;overflow:hidden}.pdf-tile:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,#4d7cff1a,#f5c84238,#ff8a1f1a);opacity:0;transition:opacity .2s ease;pointer-events:none}.pdf-tile:hover{border-color:#f5c842bf;transform:translateY(-2px)}.pdf-tile:hover:before{opacity:1}.pdf-tile__icon{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:44px;padding:0 .6rem;border-radius:999px;font-weight:800;font-size:.9rem;letter-spacing:.08em;color:#7a2a00;background:linear-gradient(135deg,#ff8a1f2e,#f5c84259);border:1px solid rgba(217,156,0,.25);position:relative;z-index:1}.pdf-tile__body{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1;position:relative;z-index:1}.pdf-tile__title{font-size:1.05rem;font-weight:700;color:var(--lphub-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-tile__meta{font-size:.86rem;color:var(--lphub-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-tile__chev{color:var(--lphub-yellow-dark);font-size:1.25rem;position:relative;z-index:1}.layout--pdf-viewer{min-height:100vh;display:flex;flex-direction:column}.layout--pdf-viewer .main{max-width:min(1500px,98vw);width:100%;padding:clamp(.8rem,1.4vw,1.35rem)}.pdf-viewer-main{flex:1;display:flex;flex-direction:column;min-height:0;padding-bottom:.75rem}.pdf-viewer-shell{flex:1;display:flex;flex-direction:column;min-height:0;min-height:clamp(500px,calc(100vh - 140px),1000px);border:1px solid rgba(20,20,20,.14);border-radius:calc(var(--lphub-radius) + 4px);background:linear-gradient(180deg,#fffef9,#fff 26%,#fff);box-shadow:0 1px #ffffffd9 inset,0 24px 50px #1414141f,0 8px 24px #14141414;overflow:hidden;position:relative}.pdf-viewer-shell:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;opacity:.3;background:linear-gradient(125deg,#f5c84273,#ff8a1f33 45%,#ffd24d59);filter:blur(22px);transform:translateY(-18px);pointer-events:none;z-index:0}.pdf-viewer-shell>*{position:relative;z-index:1}.pdf-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:2px solid rgba(245,200,66,.32);background:linear-gradient(145deg,#2e2a22,#1c1a16 52%,#252018);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pdf-viewer-toolbar .btn-ghost{color:#faf8f3e6;border:1px solid rgba(255,255,255,.24);background:#ffffff14}.pdf-viewer-toolbar .btn-ghost:hover:not(:disabled){color:#fffef8;border-color:#fff2b8b8;background:#fff2b824}.pdf-viewer-toolbar .btn-ghost:disabled{opacity:.45}.pdf-viewer-toolbar .text-muted{color:#faf8f3eb;font-weight:700}.pdf-viewer-title{display:flex;flex-direction:column;gap:.15rem;min-width:0}.pdf-viewer-title__main{font-weight:800;font-size:clamp(.95rem,1.45vw,1.12rem);color:#faf8f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(78vw,980px)}.pdf-viewer-title__sub{font-size:.82rem;color:var(--lphub-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}.pdf-viewer-toolbar__right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.pdf-viewer-canvas{flex:1;min-height:0;padding:clamp(.7rem,1vw,1rem);display:flex;flex-direction:column;gap:.75rem}.pdf-viewer-state{flex:1;min-height:0;padding:1.25rem;display:flex;align-items:flex-start}.pdf-viewer-frame{flex:1;width:100%;min-height:min(85vh,900px);border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);background:#ffffff80}.pdf-viewer-nav{display:flex;align-items:center;justify-content:center;gap:.75rem}.pdfjs-canvas-wrap{flex:1;min-height:0;overflow:auto;border:1px solid rgba(20,20,20,.12);border-radius:var(--lphub-radius);background:linear-gradient(180deg,#ffffffd9,#fffdf7b8);padding:clamp(.45rem,.9vw,.85rem);display:flex;align-items:flex-start;justify-content:center;position:relative;-webkit-touch-callout:none}.pdfjs-canvas-wrap--shielded .pdfjs-canvas{visibility:hidden}.pdf-content-shield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#000;border-radius:inherit;pointer-events:none}.pdf-content-shield__text{margin:0;padding:0 1.25rem;font-size:.88rem;font-weight:600;color:#ffffff8c;text-align:center;-webkit-user-select:none;user-select:none}.pdfjs-canvas{max-width:100%;height:auto;box-shadow:0 10px 28px #14141424;border-radius:4px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media print{.layout--pdf-viewer .pdfjs-canvas-wrap,.layout--pdf-viewer .pdfjs-canvas,.layout--pdf-viewer .pdf-viewer-toolbar,.layout--pdf-viewer .pdf-viewer-nav{display:none!important}.layout--pdf-viewer .pdf-viewer-shell:after{content:"この資料の印刷は許可されていません。";display:block;padding:2rem;font-weight:700}}:root[data-device=mobile] .pdf-viewer-toolbar{flex-direction:column;align-items:stretch;gap:.35rem;padding:.65rem .75rem}:root[data-device=mobile] .pdf-viewer-toolbar__left{width:100%;min-width:0}:root[data-device=mobile] .pdf-viewer-toolbar__zoom{display:none}:root[data-device=mobile] .pdf-viewer-title__main{max-width:100%;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.35}:root[data-device=mobile] .pdf-viewer-toolbar__hint{margin:.2rem 0 0;font-size:.72rem;font-weight:600;color:#faf8f39e}:root[data-device=mobile] .pdf-viewer-shell{min-height:calc(100dvh - 118px)}:root[data-device=mobile] .pdf-viewer-canvas{padding:.45rem .5rem .55rem;gap:.45rem}:root[data-device=mobile] .pdf-viewer-nav{gap:.5rem}:root[data-device=mobile] .pdfjs-canvas-wrap--mobile{flex:1;min-height:min(62dvh,calc(100dvh - 240px));touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;align-items:flex-start;justify-content:flex-start;padding:.35rem}:root[data-device=mobile] .pdfjs-canvas-wrap--mobile .pdfjs-canvas{max-width:none;width:auto;height:auto}.pdf-viewer-watermark{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden;border-radius:inherit}.pdf-viewer-watermark__grid{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem 1rem;transform:rotate(-24deg);opacity:.22}.pdf-viewer-watermark__item{font-size:clamp(.62rem,2.8vw,.82rem);font-weight:700;color:#1c1a16;white-space:nowrap;text-align:center;-webkit-user-select:none;user-select:none}@media (max-width: 900px){.layout--pdf-viewer .main{max-width:100%;width:100%;padding:.75rem}.pdf-viewer-shell{min-height:clamp(420px,calc(100vh - 126px),820px)}}@media (max-width: 520px){.pdf-viewer-title__sub{max-width:100%;white-space:normal}}.admin-doc-new-cat{margin-bottom:2rem;padding:1.25rem 1.5rem;border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);background:#ffffffa6}.admin-doc-section-title{font-size:1.05rem;font-weight:600;margin:0;line-height:1.25}.admin-doc-new-cat .admin-doc-section-title{margin-bottom:.75rem}.admin-doc-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-doc-category-list{display:flex;flex-direction:column;gap:1.75rem}.admin-doc-category{padding:1.25rem 1.5rem;border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);background:#ffffffb8}.admin-doc-category-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.admin-doc-category-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-doc-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.admin-doc-upload-hint{font-size:.85rem}.admin-doc-empty-files{font-size:.95rem}.admin-doc-file-input{max-width:100%}.admin-doc-subcat-list{display:flex;flex-direction:column;gap:1.25rem}.admin-doc-subcat{padding:1rem 1.1rem;border:1px solid rgba(20,20,20,.08);border-radius:var(--lphub-radius-sm);background:#ffffffb8}.admin-doc-subcat-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:.75rem}.admin-doc-subcat-title{font-size:1rem;font-weight:700;margin:0}.ipa-exam-page{max-width:980px;margin:0 auto}.ipa-exam-lead{margin-bottom:1.5rem;line-height:1.65;max-width:40rem}.ipa-exam-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.ipa-exam-card{display:flex;flex-direction:row;align-items:center;gap:1rem;width:100%;min-height:auto;padding:1.15rem 1.25rem;background:linear-gradient(180deg,#fffffff5,#fffdf7e6);border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:var(--lphub-shadow-soft),0 12px 36px #f5c8421f;position:relative;overflow:hidden}.ipa-exam-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--lphub-grad-brand);opacity:.85;pointer-events:none}.ipa-exam-card__title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin-bottom:.35rem}.ipa-exam-card__name{font-size:1.08rem;font-weight:800;color:var(--lphub-text);letter-spacing:-.02em}.ipa-exam-card__abbr{font-size:.95rem;font-weight:800;letter-spacing:.04em;color:var(--lphub-yellow-dark);padding:.12rem .45rem;border-radius:999px;background:var(--lphub-yellow-light);border:1px solid rgba(217,156,0,.35)}.ipa-exam-card__desc{font-size:.82rem;color:var(--lphub-text-muted);line-height:1.45;flex:1}.ipa-exam-card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:.85rem;margin-bottom:.45rem;font-size:.8rem;font-weight:700}.ipa-exam-card__meta{color:var(--lphub-text-muted)}.ipa-exam-card__pct{color:var(--lphub-yellow-dark)}.ipa-exam-card__bar{height:6px;border-radius:999px}.ipa-exam-card--vivid{border-color:#e4a40052}.ipa-exam-card__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:3.35rem;height:3.35rem;margin-bottom:0;border-radius:14px;background:linear-gradient(145deg,#ffebb2eb,#ffd24f61);border:1px solid rgba(228,164,0,.22)}.ipa-exam-card__icon{font-size:1.35rem;color:#c45a00}.ipa-exam-card__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:.35rem}.admin-page-hero{margin-bottom:0;width:100%}.admin-page-hero.page-hero--vivid{margin-bottom:.5rem}.password-setup-form{margin-top:.25rem}.login-card--vivid{border-color:#ffd24f73;box-shadow:var(--lphub-shadow),var(--lphub-shadow-soft),0 14px 40px #ffb02933,0 0 0 1px #ffebb280 inset}.login-card--cert-form{max-width:720px;margin-left:auto;margin-right:auto;min-height:clamp(28rem,72vh,44rem);padding-bottom:2.5rem;overflow:visible}.login-card--cert-form .cert-picker__list{max-height:min(56vh,520px)}.material-list{list-style:none}.material-list li{margin-bottom:.75rem}.material-card{width:100%;padding:1rem 1.25rem;background:linear-gradient(180deg,#ffffffeb,#ffffffc7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);text-align:left;transition:all .2s;box-shadow:var(--lphub-shadow),0 18px 55px #4d7cff0f;position:relative;overflow:hidden}.material-card.material-card--vivid{display:flex;flex-direction:row;align-items:center;gap:.9rem;padding:1rem 1.2rem}.material-card.material-card--vivid .material-card__icon-wrap{width:2.75rem;height:2.75rem;margin-top:0}.material-card.material-card--vivid .material-card__icon{font-size:1.05rem}.material-card.material-card--vivid .material-card__body{flex:1;min-width:0}.material-card.material-card--vivid .material-card-head{margin-bottom:.45rem}.material-card.material-card--vivid .material-name{font-size:1rem;font-weight:700;line-height:1.35}.material-card.material-card--vivid .material-percent{font-size:.85rem;font-weight:700}.material-card:hover{border-color:var(--lphub-yellow);transform:translateY(-1px)}.material-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,#ffd24d42,#ff8a1f1f,#f5c8422e);opacity:0;transition:opacity .2s ease;pointer-events:none}.material-card:hover:before{opacity:1}.material-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.material-name{font-weight:600;color:var(--lphub-text)}.material-percent{font-weight:600;color:var(--lphub-yellow-dark);font-size:.95rem}.progress-bar-wrap{height:6px;background:var(--lphub-border);border-radius:3px;overflow:hidden}.progress-bar-track{height:100%;background:var(--lphub-border);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--lphub-yellow);border-radius:3px;transition:width .4s ease}.progress-label{font-size:.85rem;font-weight:600;color:var(--lphub-yellow-dark)}.floating-progress-popup{position:fixed;right:16px;bottom:16px;left:auto;top:auto;z-index:40;min-width:200px;max-width:min(320px,calc(100vw - 32px));padding:10px 12px 12px;background:var(--lphub-surface-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--lphub-border);border-radius:var(--lphub-radius-sm);box-shadow:var(--lphub-shadow)}.floating-progress-popup__head{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:2px 0}.floating-progress-popup__caption{font-size:.8rem;font-weight:600;color:var(--lphub-text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-progress-popup__value{font-size:.86rem;font-weight:800;color:var(--lphub-yellow-dark)}.floating-progress-popup__bar{width:100%}.floating-progress-popup__track{width:100%;height:8px;border-radius:999px;background:var(--lphub-border);overflow:hidden}.floating-progress-popup__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--lphub-yellow) 0%,var(--lphub-yellow-2) 45%,var(--lphub-orange) 100%);transition:width .38s ease}.floating-progress-popup__fill.is-live{transition:width .08s linear}.chapter-page{max-width:720px;margin:0 auto;padding-bottom:3rem}.chapter-content{margin-bottom:2.5rem;background:linear-gradient(180deg,#fffffff0,#ffffffd1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);box-shadow:var(--lphub-shadow),var(--lphub-shadow-soft);padding:1.25rem;position:relative;overflow:hidden}.chapter-content:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,#f5c84238,#ff8a1f1f,#ffd24d29);opacity:.6;filter:blur(18px);transform:translateY(-14px);pointer-events:none}.chapter-content>*{position:relative}.chapter-title{font-size:1.6rem;margin-bottom:1.25rem;color:var(--lphub-text);padding-bottom:.5rem;border-bottom:2px solid var(--lphub-yellow)}.chapter-body.markdown{font-size:1.045rem;line-height:1.82;color:#1a1a18eb;letter-spacing:.02em;font-feature-settings:"palt" 1;word-break:break-word}.chapter-slidebox{width:100%}.chapter-slide-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:.1rem 0 1rem}.chapter-slide-btn{border-radius:14px;padding:.55rem 1rem;font-weight:800;border:1px solid var(--lphub-border);transition:transform .15s ease,box-shadow .15s ease,background .15s ease,opacity .15s ease;box-shadow:0 10px 26px #1414140f}.chapter-slide-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.chapter-slide-btn--back{justify-self:start;background:#ffffffa6;color:var(--lphub-text-muted)}.chapter-slide-btn--back:hover:not(:disabled){transform:translateY(-1px);border-color:#f5c8428c;background:#ffffffc7}.chapter-slide-btn--next{justify-self:end;white-space:nowrap;background:linear-gradient(135deg,var(--lphub-yellow) 0%,var(--lphub-yellow-2) 40%,var(--lphub-orange) 100%);color:var(--lphub-text);border-color:#d99c008c;box-shadow:0 14px 34px #f5c84259}.chapter-slide-btn--next:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 48px #f5c84273}.chapter-slide-indicator{justify-self:center;text-align:center;min-width:7.5ch;font-variant-numeric:tabular-nums;font-weight:800;color:var(--lphub-text-muted);font-size:.95rem}.chapter-slide-content{border:1px solid var(--lphub-border);border-radius:var(--lphub-radius-sm);padding:1rem;background:#ffffff8c;max-height:58vh;overflow:auto}.chapter-excel-box{margin-top:1.25rem;padding:1rem 1rem 1.1rem;border:1px solid var(--lphub-border);border-radius:var(--lphub-radius-sm);background:linear-gradient(180deg,#ffffffe0,#fffdf7b8);box-shadow:var(--lphub-shadow)}.chapter-excel-box__head{margin-bottom:.75rem}.chapter-excel-box__title{font-size:1.05rem;font-weight:800;color:var(--lphub-text);margin-bottom:.35rem}.chapter-excel-box__hint{font-size:.88rem;line-height:1.5}.chapter-excel-box__body{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.chapter-excel-box__upload{position:relative;overflow:hidden;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chapter-excel-box__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.chapter-excel-box__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;flex:1;min-width:0}.chapter-excel-box__filename{font-weight:700;color:var(--lphub-yellow-dark);word-break:break-all}.chapter-excel-box__date{font-size:.85rem}.chapter-excel-box__remove{margin-left:auto}.chapter-excel-box__error{margin-top:.65rem;color:#b00020;font-size:.9rem}.chapter-quiz-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0000003d;display:flex;align-items:center;justify-content:center;padding:1rem}.chapter-quiz-dialog{width:min(520px,100%);border-radius:var(--lphub-radius);border:1px solid var(--lphub-border);background:linear-gradient(180deg,#fffffff7,#ffffffe6);box-shadow:var(--lphub-shadow),var(--lphub-shadow-soft);padding:1.2rem}.chapter-quiz-dialog h3{margin-bottom:.6rem;color:var(--lphub-text)}.chapter-quiz-dialog-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.6rem}.chapter-body.markdown h3{font-size:1.28rem;font-weight:800;line-height:1.38;margin:2rem 0 .85rem;padding:.55rem .65rem .6rem .9rem;color:#1c1a16;border-left:4px solid var(--lphub-yellow);background:linear-gradient(90deg,rgba(255,242,184,.5) 0%,rgba(255,253,248,.35) 45%,transparent 100%);border-radius:0 10px 10px 0;box-shadow:0 1px #ffffffbf inset}.chapter-body.markdown h3:first-child{margin-top:.35rem}.chapter-body.markdown h4{font-size:1.09rem;font-weight:700;line-height:1.45;margin:1.4rem 0 .55rem;padding:.15rem 0 .2rem .75rem;color:#3d3a33;border-left:3px solid rgba(255,138,31,.75);background:linear-gradient(90deg,rgba(255,236,210,.55) 0%,transparent 92%);border-radius:0 8px 8px 0}.chapter-body.markdown p{margin-bottom:.95rem}.chapter-body.markdown p:last-child{margin-bottom:0}.chapter-body.markdown strong{font-weight:800;color:#2a2418;background:linear-gradient(transparent 64%,#ffd24d9e 64%);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.chapter-body.markdown em{font-style:normal;font-weight:700;color:#5c4510;background:#ffe48c8c;border:1px solid rgba(217,156,0,.35);padding:.06rem .38rem;border-radius:8px;box-shadow:0 1px #ffffffa6 inset}.chapter-body.markdown code.inline-code{font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.9em;font-weight:600;background:linear-gradient(180deg,#fff9e8,#fff3d4);border:1px solid rgba(217,156,0,.4);padding:.12rem .42rem;border-radius:8px;color:#2a2618;box-shadow:0 1px 2px #1414140f}.chapter-body.markdown ul{margin:.7rem 0 1.2rem;padding:.75rem 1rem .85rem 2.35rem;list-style-position:outside;background:#fffdf7eb;border:1px solid rgba(20,20,20,.07);border-radius:14px;box-shadow:0 1px #ffffffe6 inset}.chapter-body.markdown li{margin-bottom:.5rem;padding-left:.2rem;line-height:1.72}.chapter-body.markdown li::marker{color:var(--lphub-yellow-dark);font-weight:800}.chapter-body.markdown pre{background:linear-gradient(165deg,#222,#161616);color:#ececec;padding:1rem 1.15rem;border-radius:14px;overflow-x:auto;margin:1.15rem 0;font-size:.9rem;line-height:1.55;border:1px solid rgba(255,255,255,.08);border-left:4px solid var(--lphub-orange);box-shadow:0 10px 28px #00000038,0 0 0 1px #00000059 inset}.chapter-body.markdown code{font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace}.chapter-body.markdown pre code{background:none;padding:0;font-weight:500}.chapter-content--portal .chapter-body.markdown .md-table{width:100%;max-width:100%;border-collapse:collapse;margin:1rem 0 1.15rem;font-size:.95rem;line-height:1.55;border:1px solid rgba(20,20,20,.12);border-radius:12px;overflow:hidden;table-layout:fixed}.chapter-content--portal .chapter-body.markdown .md-table th,.chapter-content--portal .chapter-body.markdown .md-table td{border:1px solid rgba(20,20,20,.1);padding:.55rem .75rem;vertical-align:top;overflow-wrap:anywhere;word-break:break-word}.chapter-content--portal .chapter-body.markdown .md-table thead th{background:#ffecc873;font-weight:800;text-align:left}.chapter-content--portal .chapter-body.markdown .md-table tbody tr:nth-child(2n){background:#fffdf7a6}.chapter-body.markdown .md-section-break{display:flex;align-items:center;gap:.9rem;margin:2.1rem 0;padding:.15rem 0}.chapter-body.markdown .md-section-break-line{flex:1;min-width:1.5rem;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent 0%,rgba(245,200,66,.35) 18%,var(--lphub-yellow) 50%,rgba(245,200,66,.35) 82%,transparent 100%);opacity:.92}.chapter-body.markdown .md-section-break-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--lphub-grad-brand);box-shadow:0 0 0 4px #f5c84238,0 2px 8px #ff8a1f59}.chapter-content--portal .chapter-body.markdown .md-section-break{margin:2.35rem 0}.chapter-content--portal .chapter-body.markdown .md-section-break-line{height:3px;opacity:1}.chapter-page--portal{max-width:min(880px,100%);width:100%;min-width:0;padding-left:1rem;padding-right:1rem;box-sizing:border-box}.chapter-content--portal{margin-bottom:2.5rem;position:relative;padding:0;overflow:hidden;min-width:0;width:100%;max-width:100%;box-sizing:border-box;background:linear-gradient(180deg,#ffffffd1,#fffcf3b8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(228,164,0,.22);border-radius:calc(var(--lphub-radius) + 4px);box-shadow:0 1px #ffffffe6 inset,0 24px 50px #ffb0292e,0 10px 26px #14141414}.chapter-content--portal>*{position:relative;z-index:1}.chapter-content--portal:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:0;opacity:.28;background:linear-gradient(125deg,#ffd24f6b,#ff9c312e 45%,#ffe48a52);filter:blur(24px);transform:translateY(-20px);pointer-events:none}.chapter-portal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.25rem 1.5rem 1.35rem;background:linear-gradient(145deg,#2d2517,#1f1a11 48%,#2a2114);color:#faf8f3;border-bottom:3px solid var(--lphub-yellow);box-shadow:0 12px 28px #0000003d,0 0 24px #ffa9261f;position:relative}.chapter-portal-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(245,200,66,.12) 0%,transparent 55%);pointer-events:none}.chapter-portal-header-text{position:relative;z-index:1;min-width:min(100%,280px)}.chapter-portal-kicker{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:#fff2b8e6;margin-bottom:.35rem}.chapter-portal-tagline{font-size:.95rem;font-weight:600;color:#ffffffeb;line-height:1.45}.chapter-portal-step-pill{position:relative;z-index:1;flex-shrink:0;align-self:center;padding:.45rem 1rem;font-size:.8rem;font-weight:800;letter-spacing:.06em;color:#2a2618;background:var(--lphub-grad-brand);border-radius:999px;box-shadow:0 2px #d99c008c,0 6px 16px #00000040}.chapter-portal-body{padding:1.5rem 1.65rem 1.75rem;min-width:0;width:100%;max-width:100%;box-sizing:border-box;background:linear-gradient(180deg,#fffef9,#fff 28%,#fff);border-top:1px solid rgba(20,20,20,.06)}.chapter-title--portal{font-size:clamp(1.35rem,4vw,1.85rem);line-height:1.35;margin-bottom:1.35rem;padding:0 0 1rem 1rem;border-bottom:none;border-left:4px solid var(--lphub-yellow-dark);color:#141210;background:linear-gradient(90deg,rgba(255,242,184,.35) 0%,transparent 100%);border-radius:0 10px 10px 0}.chapter-content--portal .chapter-body.markdown{font-size:1.07rem;line-height:1.85;color:#12110ff0}.chapter-content--portal .chapter-body.markdown h3{margin-top:2.15rem;box-shadow:0 1px #ffffffe0 inset,0 8px 22px #f5c84224}.chapter-content--portal .chapter-body.markdown ul{background:#fffcf2fa;border-color:#1414141a;box-shadow:0 1px #fffffff2 inset,0 6px 18px #1414140f}.chapter-content--portal .chapter-body.markdown pre{box-shadow:0 14px 36px #00000047,0 0 0 1px #0000006b inset}.chapter-page--portal .quiz-section{margin-top:.25rem;border:1px solid rgba(20,20,20,.12);box-shadow:0 20px 44px #1414141a,0 1px #ffffffe6 inset;background:linear-gradient(180deg,#fffefb,#fff)}.chapter-content--portal .chapter-slidebox--portal-fixed,.chapter-content--portal .chapter-slidebox--office{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content.chapter-slide-content--portal-fixed.chapter-body.markdown{background:#ffffff8c;border:1px solid var(--lphub-border);border-radius:var(--lphub-radius-sm);box-shadow:none}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown>.chapter-slide-scroll-inner{background:transparent}.chapter-content--portal .chapter-slide-content.chapter-slide-content--portal-fixed.chapter-body.markdown{--portal-slide-h: clamp(300px, min(480px, calc(100vh - 280px) ), 520px);width:100%;max-width:100%;min-width:0;height:var(--portal-slide-h);min-height:var(--portal-slide-h);max-height:var(--portal-slide-h);box-sizing:border-box;padding:0;overflow:hidden;display:flex;flex-direction:column;contain:inline-size}.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown>.chapter-slide-scroll-inner{flex:1 1 auto;min-width:0;min-height:0;width:100%;max-width:100%;box-sizing:border-box;overflow-x:clip;overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding:1rem;font-size:1.045rem;line-height:1.8;color:#12110ff0;word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}@supports (scrollbar-gutter: stable both-edges){.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown>.chapter-slide-scroll-inner{scrollbar-gutter:stable both-edges}}.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown h2,.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown h3,.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown h4{overflow-wrap:break-word}.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown pre,.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown code{max-width:100%}.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown pre{white-space:pre-wrap;word-break:break-word;overflow-x:hidden}.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown img,.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown video{max-width:100%;height:auto}.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown table{display:table;width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;overflow:hidden;word-break:break-word}.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown th,.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown td{overflow-wrap:anywhere;word-break:break-word}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown h2{font-size:clamp(1.2rem,3.5vw,1.45rem);font-weight:800;line-height:1.35;margin:0 0 .75rem;padding:0 0 .45rem;border-bottom:1px solid rgba(20,20,20,.12);color:#1c1a16;background:none;border-left:none;box-shadow:none;border-radius:0}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown h3{font-size:1.08rem;font-weight:700;line-height:1.4;margin:1rem 0 .45rem;padding:.15rem 0 .2rem .55rem;border-left:3px solid rgba(80,80,80,.35);background:transparent;border-radius:0;box-shadow:none;color:#2a2825}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown h3:first-child{margin-top:0}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown h4{font-size:1rem;font-weight:700;margin:.85rem 0 .4rem;padding:.1rem 0 .15rem .5rem;border-left:2px solid rgba(120,120,120,.4);background:transparent;border-radius:0;box-shadow:none;color:#3d3a33}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown ul{margin:.5rem 0 .85rem;padding:.25rem 0 .35rem 1.5rem;background:transparent;border:none;border-radius:0;box-shadow:none}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown li::marker{color:#3c3c3cbf;font-weight:600}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown pre{margin:.75rem 0;border-radius:6px;border-left-width:3px;box-shadow:0 1px 3px #0000001f;overflow-x:hidden;white-space:pre-wrap;word-break:break-word}.chapter-content--portal .chapter-slidebox--office .chapter-slide-content--portal-fixed.chapter-body.markdown .md-section-break{margin:1.1rem 0}@supports not (scrollbar-gutter: stable){.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown>.chapter-slide-scroll-inner{overflow-y:scroll;padding-right:calc(1rem + 6px)}}@media (max-width: 520px){.chapter-content--portal .chapter-slide-content.chapter-slide-content--portal-fixed.chapter-body.markdown{--portal-slide-h: clamp(260px, min(420px, calc(100vh - 240px) ), 480px)}.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown>.chapter-slide-scroll-inner{padding:1rem;font-size:.99rem;line-height:1.74}@supports not (scrollbar-gutter: stable){.chapter-content--portal .chapter-slide-content--portal-fixed.chapter-body.markdown>.chapter-slide-scroll-inner{padding-right:calc(1rem + 6px)}}.chapter-portal-header{padding:1rem 1.15rem 1.15rem}.chapter-portal-step-pill{width:100%;text-align:center}.chapter-portal-body{padding:1.25rem 1.15rem 1.5rem}.chapter-title--portal{padding-left:.75rem;font-size:1.35rem}}.quiz-section{background:linear-gradient(180deg,#ffffffd6,#fffcf3b8);border:1px solid rgba(228,164,0,.2);border-radius:var(--lphub-radius);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--lphub-shadow),0 14px 34px #ffb02924}.quiz-section-title{font-size:1.2rem;margin-bottom:.5rem;color:var(--lphub-yellow-dark)}.quiz-meta{font-size:.85rem;color:var(--lphub-text-muted);margin-bottom:1rem}.quiz-question{font-size:1.05rem;margin-bottom:1.25rem;font-weight:500}.quiz-question--preserve-lines{white-space:pre-line}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quiz-terminal{margin-bottom:1.15rem;border-radius:var(--lphub-radius-sm);border:1px solid rgba(255,198,77,.36);overflow:hidden;background:#171314;box-shadow:0 12px 30px #0000002e,0 0 0 1px #ffbb3d1f inset}.quiz-terminal-chrome{display:flex;align-items:center;gap:.65rem;padding:.45rem .75rem;background:linear-gradient(180deg,#2d2f34,#25262b);border-bottom:1px solid rgba(0,0,0,.35)}.quiz-terminal-dots{display:inline-flex;gap:6px}.quiz-terminal-dots span{width:10px;height:10px;border-radius:50%;background:#555}.quiz-terminal-dots span:nth-child(1){background:#ff5f57}.quiz-terminal-dots span:nth-child(2){background:#febc2e}.quiz-terminal-dots span:nth-child(3){background:#28c840}.quiz-terminal-title{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff8c}.quiz-terminal-body{padding:.75rem .85rem .9rem;background:#121316}.quiz-terminal-prompt-row{display:flex;align-items:flex-start;gap:.45rem}.quiz-terminal-prompt{flex-shrink:0;margin-top:.55rem;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.85rem;font-weight:700;color:#ffd24f;-webkit-user-select:none;user-select:none}.quiz-terminal-input{flex:1;min-width:0;min-height:9rem;padding:.55rem .65rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#00000059;color:#e8e6e3;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.88rem;line-height:1.55;resize:vertical}.quiz-terminal-input::placeholder{color:#ffffff47}.quiz-terminal-input:focus{outline:none;border-color:#ffd24f9e;box-shadow:0 0 0 2px #ffd24f33}.quiz-terminal-input:disabled{opacity:.55}.quiz-terminal-actions{margin-top:.65rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.quiz-terminal-run-btn{font-weight:700}.quiz-terminal-hint{font-size:.78rem;line-height:1.45;margin:0;max-width:42rem}.quiz-terminal-output-wrap{margin-top:.75rem}.quiz-terminal-output-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:#ffffff73;margin-bottom:.35rem}.quiz-terminal-output{margin:0;padding:.65rem .75rem;border-radius:8px;background:#00000073;border:1px solid rgba(255,255,255,.08);color:#ffe8a4;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.82rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:12rem;overflow:auto}.quiz-options{list-style:none;margin-bottom:1rem}.quiz-options li{margin-bottom:.5rem}.quiz-option{display:block;width:100%;padding:.75rem 1rem;text-align:left;border:1px solid rgba(228,164,0,.16);border-radius:var(--lphub-radius-sm);background:#ffffffad;font-size:.95rem;transition:all .2s ease}.quiz-option:hover:not(:disabled){border-color:#e4a4007a;background:#fff8e2e6}.quiz-option.selected{border-color:var(--lphub-yellow-dark);background:#fff2c1e6}.quiz-code-wrap{margin-bottom:1rem}.quiz-code-input{width:100%;padding:.75rem 1rem;border:1px solid var(--lphub-border);border-radius:var(--lphub-radius-sm);font-family:ui-monospace,monospace;font-size:.9rem;resize:vertical;min-height:100px}.quiz-code-input:focus{outline:none;border-color:var(--lphub-yellow-dark)}.quiz-feedback{margin-bottom:1rem;font-weight:600}.quiz-feedback.correct{color:#0a7c42}.quiz-feedback.wrong{color:#c00}.quiz-actions{margin-top:1rem}.quiz-done{color:var(--lphub-yellow-dark);font-weight:500}.admin-page .admin-main{max-width:1020px}.admin-page .admin-main--progress{max-width:min(1100px,100%)}.admin-user-name-link{display:inline;padding:0;margin:0;border:none;background:none;font:inherit;font-weight:600;color:var(--lphub-yellow-dark);cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:#d99c0073;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}.admin-user-name-link:hover{color:var(--lphub-text);text-decoration-color:var(--lphub-yellow-dark)}.admin-user-progress__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.admin-user-progress__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.admin-user-progress__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:.35rem}.admin-progress-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}.admin-progress-stat{padding:1rem 1.15rem;border-radius:var(--lphub-radius);border:1px solid var(--lphub-border);background:linear-gradient(180deg,#fffffff5,#fffdf7e6);box-shadow:var(--lphub-shadow-soft)}.admin-progress-stat__label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--lphub-text-muted);margin-bottom:.35rem}.admin-progress-stat__value{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:var(--lphub-text)}.admin-progress-empty{padding:1.25rem 1.35rem;border-radius:var(--lphub-radius);border:1px dashed rgba(20,20,20,.12);background:#ffffff8c;color:var(--lphub-text-muted);line-height:1.65}.admin-progress-section{margin-bottom:2rem}.admin-progress-cat-title{font-size:1.05rem;font-weight:800;margin-bottom:1rem;padding-bottom:.45rem;border-bottom:2px solid rgba(245,200,66,.45);color:var(--lphub-text)}.admin-progress-no-mat{font-size:.92rem;margin-bottom:.5rem}.admin-progress-material{margin-bottom:1.35rem}.admin-progress-material__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.65rem 1rem;margin-bottom:.65rem}.admin-progress-material__name{margin:0;font-size:1rem;font-weight:700;color:var(--lphub-text)}.admin-progress-material__badges{display:flex;flex-wrap:wrap;gap:.45rem}.admin-progress-pill{font-size:.78rem;font-weight:700;padding:.28rem .65rem;border-radius:999px;background:var(--lphub-yellow-light);color:var(--lphub-yellow-dark);border:1px solid rgba(217,156,0,.3)}.admin-progress-pill--muted{background:#1717170d;color:var(--lphub-text-muted);border-color:var(--lphub-border)}.admin-table-wrap--nested{margin-top:0}.admin-table--compact th,.admin-table--compact td{padding:.65rem .85rem;font-size:.88rem}.admin-table--compact{table-layout:fixed}.admin-doc-subcat .admin-table--compact th:nth-child(1),.admin-doc-subcat .admin-table--compact td:nth-child(1){width:38%}.admin-doc-subcat .admin-table--compact th:nth-child(2),.admin-doc-subcat .admin-table--compact td:nth-child(2){width:52%}.admin-doc-subcat .admin-table--compact th:nth-child(3),.admin-doc-subcat .admin-table--compact td:nth-child(3){width:10%}.admin-doc-subcat .admin-table--compact td:nth-child(1),.admin-doc-subcat .admin-table--compact td:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-progress-ok{font-weight:700;color:var(--lphub-yellow-dark)}.admin-progress-quiz-cell{line-height:1.45;max-width:280px}.admin-progress-excel-cell{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.admin-progress-excel-dl{flex-shrink:0}.admin-mock-exams{margin-top:.5rem}.admin-mock-exams__lead{font-size:.88rem;margin:-.35rem 0 1rem}.admin-mock-exams__pill--active{background:#3b82f61f;color:#1d4ed8;border-color:#2563eb59}.admin-toolbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;flex-wrap:wrap;gap:1.25rem}.admin-toolbar__intro{flex:1;min-width:min(100%,280px)}.admin-toolbar__heading{margin-bottom:.4rem;letter-spacing:-.02em}.admin-toolbar__lead{max-width:34rem;line-height:1.65;margin:0;font-size:.95rem}.admin-toolbar__actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0;align-self:center}.admin-toolbar__cta{flex-shrink:0;font-weight:600;box-shadow:0 10px 28px #f5c84259}.admin-toolbar__cta--preview{box-shadow:none;border:1px dashed rgba(228,164,0,.55)}.admin-lpid-cell{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.badge-preview{font-size:.68rem;font-weight:800;padding:.12rem .4rem;border-radius:999px;background:#93c5fd73;color:#1e3a8a;border:1px solid rgba(59,130,246,.35)}.admin-modal__hint{margin-top:-.35rem;font-size:.82rem}.admin-loading{margin-top:.5rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);background:linear-gradient(180deg,#fffffff5,#fffdf7e0);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--lphub-shadow),var(--lphub-shadow-soft),0 0 0 1px #f5c8420f}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table th,.admin-table td{padding:.85rem 1.15rem;text-align:left;border-bottom:1px solid var(--lphub-border);vertical-align:middle}.admin-table th{background:linear-gradient(180deg,#fffef8,#fff9e8);font-weight:700;font-size:.78rem;letter-spacing:.04em;color:var(--lphub-text-muted);white-space:nowrap}.admin-table tbody td:first-child{font-weight:600;color:var(--lphub-text)}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr{transition:background .18s ease,box-shadow .18s ease}.admin-table tbody tr:hover{background:#fff7d68c;box-shadow:inset 3px 0 0 var(--lphub-yellow)}.admin-table__actions{white-space:nowrap}.admin-table__actions .btn-sm{margin-right:.15rem}.admin-page .badge{display:inline-block;padding:.22rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700}.admin-page .badge-user{background:#1717170f;color:var(--lphub-text-muted);border:1px solid var(--lphub-border)}.admin-page .badge-admin{background:var(--lphub-yellow-light);color:var(--lphub-yellow-dark);border:1px solid rgba(217,156,0,.35)}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141461;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.admin-modal{position:relative;background:linear-gradient(180deg,#fffffffa,#fffdf7f0);border:1px solid var(--lphub-border);border-radius:var(--lphub-radius);box-shadow:var(--lphub-shadow),var(--lphub-shadow-soft),0 28px 64px #1414141f;padding:1.6rem 1.65rem;width:100%;max-width:440px}.admin-modal:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(245,200,66,.35),rgba(255,138,31,.15),transparent 55%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.admin-modal__title{margin-bottom:.65rem;font-size:1.22rem;font-weight:800;color:var(--lphub-text);letter-spacing:-.02em}.admin-modal__lead{font-size:.9rem;color:var(--lphub-text-muted);line-height:1.6;margin-bottom:1rem}.admin-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.15rem;flex-wrap:wrap}.admin-form .label{display:block;font-size:.85rem;font-weight:600;color:var(--lphub-text);margin-bottom:.4rem}.admin-form .input{width:100%;padding:.65rem .95rem;border:1px solid var(--lphub-border);border-radius:var(--lphub-radius-sm);margin-bottom:1rem;font-size:.95rem;background:#fffdf9;color:var(--lphub-text);transition:border-color .2s,box-shadow .2s}.admin-form .input:focus{outline:none;border-color:var(--lphub-yellow-dark);box-shadow:0 0 0 3px #f5c84240}.admin-form .input[readonly]{background:#fffdf7e6;cursor:default}.category-checkboxes{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin-bottom:1rem;padding:.65rem .75rem;border-radius:var(--lphub-radius-sm);border:1px dashed rgba(20,20,20,.1);background:#ffffff80}.admin-page .checkbox-label{display:flex;align-items:center;gap:.45rem;font-size:.9rem;cursor:pointer;color:var(--lphub-text)}.admin-page .checkbox-label:hover{color:var(--lphub-yellow-dark)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.modal-content{background:var(--lphub-surface);border-radius:var(--lphub-radius);box-shadow:0 20px 40px #00000026;padding:1.5rem;width:100%;max-width:420px}.modal-content h3{margin-bottom:1.25rem;font-size:1.2rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.mock-exam-entry{display:flex;flex-direction:column;align-items:center;text-align:center}.mock-exam-entry__btn{margin-bottom:.5rem}.mock-exam-entry__note{font-size:.88rem;max-width:36rem;margin-left:auto;margin-right:auto}.main.mock-exam-hub{display:flex;flex-direction:column;align-items:center}.main.mock-exam-hub>.page-title,.main.mock-exam-hub>.mock-exam-lead,.main.mock-exam-hub>.text-muted,.main.mock-exam-hub>.login-error{width:100%;max-width:42rem;text-align:center}.mock-exam-hub .mock-exam-lead{margin-bottom:1.5rem;max-width:40rem}.mock-exam-list-grid{list-style:none;display:flex;flex-direction:column;gap:.65rem;width:100%;max-width:42rem;margin-left:auto;margin-right:auto}.main.mock-exam-take{display:flex;flex-direction:column;align-items:center}.main.mock-exam-take>.page-title,.main.mock-exam-take .mock-exam-take__title{text-align:center}.main.mock-exam-take .mock-exam-progress-bar,.main.mock-exam-take .mock-exam-qpos,.main.mock-exam-take .mock-exam-question-card,.main.mock-exam-take .mock-exam-nav,.main.mock-exam-take .mock-exam-hint,.main.mock-exam-take .mock-exam-submit-err,.main.mock-exam-take .mock-exam-result{width:100%;max-width:40rem;margin-left:auto;margin-right:auto}.mock-exam-row{width:100%;text-align:left;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem 1rem;padding:1rem 1.15rem;border-radius:var(--lphub-radius-sm);border:1px solid var(--lphub-border);background:var(--lphub-surface);box-shadow:var(--lphub-shadow-soft);transition:border-color .2s,box-shadow .2s}.mock-exam-row:hover{border-color:#f5c8428c}.mock-exam-row__title{font-weight:700;font-size:1rem}.mock-exam-row__meta{font-size:.85rem;color:var(--lphub-text-muted);display:flex;align-items:center;gap:.35rem}.mock-exam-row__score{font-size:.9rem;min-width:7rem;text-align:right}.mock-exam-badge{font-size:.72rem;padding:.15rem .45rem;border-radius:999px;font-weight:600}.mock-exam-badge--warn{background:#ff8a1f33;color:var(--lphub-orange-2)}.mock-exam-take__title{font-size:1.15rem;margin-bottom:1rem}.mock-exam-progress-bar{height:6px;border-radius:999px;background:#14141414;overflow:hidden;margin-bottom:.75rem;max-width:40rem}.mock-exam-progress-bar__fill{height:100%;background:var(--lphub-grad-brand);border-radius:999px;transition:width .25s ease}.mock-exam-qpos{margin-bottom:1rem;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.mock-exam-domain-pill{font-size:.78rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:#4d7cff1f;color:var(--lphub-blue)}.mock-exam-question-card{max-width:40rem;padding:1.25rem 1.35rem;border-radius:var(--lphub-radius);border:1px solid var(--lphub-border);background:var(--lphub-surface);box-shadow:var(--lphub-shadow);margin-bottom:1.25rem}.mock-exam-question-text{font-size:1.02rem;line-height:1.65;margin-bottom:1.1rem}.mock-exam-options{list-style:none;display:flex;flex-direction:column;gap:.55rem}.mock-exam-opt{width:100%;text-align:left;padding:.75rem 1rem;border-radius:var(--lphub-radius-sm);border:1px solid var(--lphub-border);background:#fffdf9;font-size:.95rem;line-height:1.45;transition:border-color .15s,background .15s}.mock-exam-opt:hover{border-color:#f5c842a6}.mock-exam-opt--selected{border-color:var(--lphub-yellow-dark);background:var(--lphub-yellow-light);box-shadow:0 0 0 2px #f5c84240}.mock-exam-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:40rem;margin-top:.5rem}.mock-exam-hint{font-size:.82rem;margin-top:1.25rem;max-width:40rem}.mock-exam-submit-err{margin-top:.75rem}.mock-exam-result{max-width:28rem;padding:2rem 1.5rem;border-radius:var(--lphub-radius);border:1px solid var(--lphub-border);background:var(--lphub-surface);box-shadow:var(--lphub-shadow-soft);text-align:center}.mock-exam-result__label{font-size:.9rem;color:var(--lphub-text-muted);margin-bottom:.35rem}.mock-exam-result__score{font-size:2.25rem;margin-bottom:.75rem}.mock-exam-result__score span{font-size:1.25rem;color:var(--lphub-text-muted);font-weight:500}.mock-exam-result__actions{margin-top:1.5rem}.page-title,.admin-progress-cat-title{padding-left:.22rem}.layout--my-progress .main,.my-progress-main{max-width:min(1080px,96vw)}.layout--my-progress .my-progress-main{position:relative}.portal-entry-card--accent{border-color:#e4a40061;background:linear-gradient(145deg,#fff8dcf2,#ffffffe0 55%)}.page-hero,.my-progress-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.25rem,2.5vw,1.75rem);margin-bottom:1.25rem;border-radius:calc(var(--lphub-radius) + 2px);background:linear-gradient(180deg,#ffffffd6,#fffcf2b3);border:1px solid var(--lphub-border);box-shadow:var(--lphub-shadow-soft)}.page-hero--vivid,.my-progress-hero--vivid{position:relative;overflow:hidden;border-color:#ffd24f73;background:linear-gradient(125deg,#fffef8,#fff9df 35%,#fff4e8 65%,#fffef8)}.page-hero--vivid:before,.page-hero--vivid:after,.my-progress-hero--vivid:before,.my-progress-hero--vivid:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.page-hero--vivid:before,.my-progress-hero--vivid:before{width:11rem;height:11rem;top:-3.5rem;right:-2rem;background:radial-gradient(circle,rgba(255,210,79,.55) 0%,transparent 68%)}.page-hero--vivid:after,.my-progress-hero--vivid:after{width:8rem;height:8rem;bottom:-2.5rem;left:-1.5rem;background:radial-gradient(circle,rgba(255,156,49,.35) 0%,transparent 70%)}.page-hero--vivid .page-hero__text,.page-hero--vivid .my-progress-hero__text,.my-progress-hero--vivid .my-progress-hero__text,.my-progress-hero--vivid .my-progress-ring{position:relative;z-index:1}.page-hero__eyebrow,.my-progress-hero__eyebrow{margin:0 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lphub-yellow-dark);display:inline-flex;align-items:center;gap:.35rem}.page-hero__eyebrow .app-icon--hero-spark,.my-progress-hero__eyebrow .app-icon--hero-spark{color:var(--lphub-orange);font-size:.85rem}.app-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}.app-icon--inline{font-size:.75rem}.app-icon--card{font-size:1.05rem;color:var(--lphub-yellow-dark)}.app-icon--stat{color:var(--lphub-yellow-dark)}.app-icon--milestone{font-size:1.15rem;color:var(--lphub-yellow-dark)}.app-icon--road-avatar{font-size:1.45rem;color:#c45a00}.reward-dungeon-floor__badge--lock .app-icon{color:#9a7a40}.my-progress-region-card--reward-road .app-icon--card{color:#c45a00}.my-progress-region-card--mocks .app-icon--card{color:#3a7ab8}.page-hero__title,.my-progress-hero__title{margin:0 0 .5rem;font-size:clamp(1.3rem,2.7vw,1.68rem);font-weight:800;color:var(--lphub-text);line-height:1.3}.page-hero__lead,.my-progress-hero__lead{margin:0;max-width:36rem;font-size:.9rem;line-height:1.6;color:var(--lphub-text-muted)}.my-progress-ring{--ring-percent: 0%;width:clamp(7.5rem,22vw,9.5rem);height:clamp(7.5rem,22vw,9.5rem);border-radius:50%;background:conic-gradient(#ffd24f 0%,#ff9c31 calc(var(--ring-percent) * .55),#ffe48a var(--ring-percent),rgba(255,230,180,.45) var(--ring-percent),rgba(255,240,210,.35) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 4px #ffd24f59,0 8px 24px #ff9c3133}.my-progress-ring__inner{width:78%;height:78%;border-radius:50%;background:#fffef9;border:1px solid rgba(20,20,20,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.my-progress-ring__value{font-size:1.45rem;font-weight:800;color:var(--lphub-text);line-height:1}.my-progress-ring__label{font-size:.68rem;font-weight:600;color:var(--lphub-text-muted)}.my-progress-tabs{display:flex;flex-wrap:nowrap;gap:.45rem;overflow-x:auto;padding:.15rem .1rem .65rem;margin-bottom:1rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.my-progress-tab{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .85rem;border-radius:999px;border:1px solid var(--lphub-border);background:#ffffffa6;color:var(--lphub-text-muted);font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.my-progress-tab:hover{border-color:#f5c84273;color:var(--lphub-text)}.my-progress-tab--active{background:linear-gradient(145deg,#fff8dcf2,#ffffffeb);border-color:#e4a40080;color:var(--lphub-text);box-shadow:0 4px 14px #f5c8422e}.my-progress-tab__label{display:inline-flex;align-items:center;gap:.3rem}.my-progress-tab__label .app-icon--tab{font-size:.95rem;color:var(--lphub-yellow-dark)}.my-progress-tab--active.my-progress-accent--dev{background:linear-gradient(145deg,#eef6ff,#fffef8);border-color:#6eb5ff8c}.my-progress-tab--active.my-progress-accent--test{background:linear-gradient(145deg,#eefaf3,#fffef8);border-color:#5abe8280}.my-progress-tab--active.my-progress-accent--infra{background:linear-gradient(145deg,#f5f0ff,#fffef8);border-color:#b496e673}.my-progress-tab--active.my-progress-accent--support{background:linear-gradient(145deg,#fff5eb,#fffef8);border-color:#ffaa5a80}.my-progress-tab--active.my-progress-accent--basics{background:linear-gradient(145deg,#fff8e8,#fffef8);border-color:#ffc8508c}.my-progress-tab__sub{font-size:.7rem;font-weight:600;color:var(--lphub-yellow-dark)}.my-progress-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem}.my-progress-stats--region{grid-template-columns:repeat(3,minmax(0,1fr))}.my-progress-region-grid__title{margin:0 0 .85rem;font-size:1rem;font-weight:800;color:var(--lphub-text);padding-left:.65rem;border-left:4px solid var(--lphub-yellow)}.qual-badges{margin-bottom:1.2rem;grid-column:1 / -1}.qual-badges__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.5rem}.qual-badges__title{margin:0}.qual-badges__summary{margin:0;font-size:.85rem;font-weight:800;color:var(--lphub-text-muted)}.qual-badges__box{border:1px solid rgba(228,164,0,.24);border-radius:calc(var(--lphub-radius) + 2px);background:linear-gradient(180deg,#ffffffe0,#fffcf2b8);box-shadow:var(--lphub-shadow-soft);padding:1rem 1.05rem;display:grid;gap:1rem}.qual-badges__vendor+.qual-badges__vendor{padding-top:.85rem;border-top:1px dashed rgba(228,164,0,.28)}.qual-badges__vendor-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem;padding:.4rem .55rem;border-radius:10px;border:1px solid rgba(228,164,0,.2);background:#fffcf2d9}.qual-badges__vendor-head--ipa{border-color:#3b82f659;background:linear-gradient(90deg,#eff6fff2,#fffcf2b3)}.qual-badges__vendor-head--oracle{border-color:#dc262647;background:linear-gradient(90deg,#fef2f2f2,#fffcf2b3)}.qual-badges__vendor-head--microsoft{border-color:#2563eb4d;background:linear-gradient(90deg,#eff6fff2,#fffcf2b3)}.qual-badges__vendor-head--aws{border-color:#ea580c52;background:linear-gradient(90deg,#fff7edf2,#fffcf2b3)}.qual-badges__vendor-head--infra{border-color:#16a34a47;background:linear-gradient(90deg,#f0fdf4f2,#fffcf2b3)}.qual-badges__vendor-icon{width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:8px;background:#ffffffbf}.app-icon--qual-vendor{font-size:.95rem;color:var(--lphub-yellow-dark)}.qual-badges__vendor-label{flex:1;font-size:.82rem;font-weight:800;color:var(--lphub-text)}.qual-badges__vendor-count{font-size:.72rem;font-weight:800;color:var(--lphub-text-muted);padding:.12rem .45rem;border-radius:999px;background:#fffc}.qual-badges__grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.65rem;padding:0;margin:0}.qual-badge{display:grid;grid-template-columns:2.75rem 1fr;align-items:center;gap:.55rem;padding:.6rem .65rem;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:#ffffffa6;filter:grayscale(.85);opacity:.72;transition:transform .15s,box-shadow .15s,filter .15s,opacity .15s}.qual-badge:hover{transform:translateY(-1px)}.qual-badge.is-unlocked{filter:none;opacity:1}.qual-badge__medal{position:relative;width:2.75rem;height:2.75rem;flex-shrink:0}.qual-badge__icon{width:100%;height:100%;border-radius:999px;display:grid;place-items:center;background:linear-gradient(145deg,#dcdcdc80,#b4b4b459);border:2px solid rgba(120,120,120,.25);box-shadow:inset 0 2px 6px #ffffff80}.app-icon--qual-badge{font-size:1.05rem;color:#505050d9}.qual-badge__lock{position:absolute;right:-2px;bottom:-2px;width:1rem;height:1rem;border-radius:999px;display:grid;place-items:center;background:#fffffff2;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 6px #0000001f}.qual-badge__text{display:grid;gap:.12rem;min-width:0}.qual-badge__name{font-size:.82rem;font-weight:800;color:var(--lphub-text);line-height:1.25}.qual-badge__date{font-size:.68rem;font-weight:600;color:var(--lphub-text-muted)}.qual-badge__date--locked{font-style:italic;opacity:.85}.qual-badge--ipa.is-unlocked{border-color:#3b82f666;box-shadow:0 8px 20px #3b82f61f}.qual-badge--ipa.is-unlocked .qual-badge__icon{background:linear-gradient(145deg,#93c5fd,#3b82f6);border-color:#2563eb80}.qual-badge--ipa.is-unlocked .app-icon--qual-badge{color:#fff}.qual-badge--testing.is-unlocked{border-color:#7c3aed59;box-shadow:0 8px 20px #7c3aed1a}.qual-badge--testing.is-unlocked .qual-badge__icon{background:linear-gradient(145deg,#c4b5fd,#7c3aed);border-color:#6d28d973}.qual-badge--testing.is-unlocked .app-icon--qual-badge{color:#fff}.qual-badge--infra.is-unlocked{border-color:#16a34a61;box-shadow:0 8px 20px #16a34a1a}.qual-badge--infra.is-unlocked .qual-badge__icon{background:linear-gradient(145deg,#86efac,#16a34a);border-color:#15803d73}.qual-badge--infra.is-unlocked .app-icon--qual-badge{color:#fff}.qual-badge--lpi.is-unlocked{border-color:#0891b259;box-shadow:0 8px 20px #0891b21a}.qual-badge--lpi.is-unlocked .qual-badge__icon{background:linear-gradient(145deg,#67e8f9,#0891b2);border-color:#0e749073}.qual-badge--lpi.is-unlocked .app-icon--qual-badge{color:#fff}.qual-badge--oracle.is-unlocked{border-color:#dc262661;box-shadow:0 8px 20px #dc26261f}.qual-badge--oracle.is-unlocked .qual-badge__icon{background:linear-gradient(145deg,#fca5a5,#dc2626);border-color:#b91c1c73}.qual-badge--oracle.is-unlocked .app-icon--qual-badge{color:#fff}.qual-badge--microsoft.is-unlocked{border-color:#2563eb61;box-shadow:0 8px 20px #2563eb1f}.qual-badge--microsoft.is-unlocked .qual-badge__icon{background:linear-gradient(145deg,#93c5fd,#2563eb);border-color:#1d4ed873}.qual-badge--microsoft.is-unlocked .app-icon--qual-badge{color:#fff}.qual-badge--aws.is-unlocked{border-color:#ea580c66;box-shadow:0 8px 20px #ea580c1f}.qual-badge--aws.is-unlocked .qual-badge__icon{background:linear-gradient(145deg,#fdba74,#ea580c);border-color:#c2410c73}.qual-badge--aws.is-unlocked .app-icon--qual-badge,.qual-badge--aws.is-unlocked .app-icon--brandAws,.qual-badge--oracle.is-unlocked .app-icon--brandJava{color:#fff}.qual-badge--oracle.is-unlocked:has(.app-icon--brandJava) .qual-badge__icon{background:linear-gradient(145deg,#f87171,#e11d48);border-color:#b91c1c73}.qual-badge--other.is-unlocked,.qual-badge.is-unlocked:not([class*=qual-badge--]){border-color:#e4a40073;box-shadow:0 8px 20px #ffb02924}.qual-badge--other.is-unlocked .qual-badge__icon,.qual-badge.is-unlocked:not([class*=qual-badge--]) .qual-badge__icon{background:linear-gradient(145deg,#fde68a,#f59e0b);border-color:#d9770673}.qual-badge--other.is-unlocked .app-icon--qual-badge,.qual-badge.is-unlocked:not([class*=qual-badge--]) .app-icon--qual-badge{color:#7a2a00}.qual-badges__note{margin:0;padding-top:.25rem;border-top:1px dashed rgba(228,164,0,.22)}.my-progress-region-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.85rem;margin:0 0 1rem;padding:0}.my-progress-region-card{width:100%;text-align:left;padding:1rem 1.1rem;border-radius:calc(var(--lphub-radius) + 2px);border:1px solid rgba(20,20,20,.1);background:#ffffffd1;box-shadow:var(--lphub-shadow-soft);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;font:inherit;color:inherit;display:flex;flex-direction:column;gap:.45rem;border-left-width:4px;border-left-style:solid;border-left-color:#ffd24f80}.my-progress-region-card.my-progress-accent--dev{border-left-color:#7ec0ff;background:linear-gradient(135deg,#f5faff,#fffef8)}.my-progress-region-card.my-progress-accent--test{border-left-color:#6ecf9a;background:linear-gradient(135deg,#f0faf4,#fffef8)}.my-progress-region-card.my-progress-accent--infra{border-left-color:#c4a8f0;background:linear-gradient(135deg,#faf7ff,#fffef8)}.my-progress-region-card.my-progress-accent--support{border-left-color:#ffb86b;background:linear-gradient(135deg,#fff8f0,#fffef8)}.my-progress-region-card.my-progress-accent--saas{border-left-color:#7ec0ff;background:linear-gradient(135deg,#eef6ff,#fffef8)}.my-progress-region-card.my-progress-accent--basics{border-left-color:#ffd24f;background:linear-gradient(135deg,#fffce8,#fffef8)}.my-progress-region-card.my-progress-accent--default{border-left-color:#ffd24fa6}.my-progress-region-card:hover{border-color:#f5c84280;box-shadow:0 8px 22px #f5c84224;transform:translateY(-2px)}.my-progress-region-card--wide{margin-top:.25rem}.my-progress-region-card--reward-road{margin-bottom:1rem;background:linear-gradient(135deg,#fff6cc,#ffe8a8 45%,#fffef8);border-color:#e4a40066;border-left-color:#ff9c31;box-shadow:0 10px 28px #ffb83e38}.my-progress-region-card--mocks{border-left-color:#7ec0ff;background:linear-gradient(135deg,#eef6ff,#fffef8)}.my-progress-region-card__name{display:inline-flex;align-items:center;gap:.4rem;font-size:1.05rem;font-weight:800;color:var(--lphub-text)}.my-progress-region-card__meta{font-size:.82rem;color:var(--lphub-text-muted);font-weight:500;line-height:1.45}.my-progress-region-card__cta{margin-top:.15rem;font-size:.8rem;font-weight:700;color:var(--lphub-yellow-dark)}.my-progress-section--solo{margin-top:0}.my-progress-mocks--solo{margin-top:0;padding-top:0;border-top:none}.my-progress-mocks__lead{margin:0;flex:1}.my-progress-stat{padding:.85rem 1rem;border-radius:var(--lphub-radius);background:#ffffffb8;border:1px solid var(--lphub-border);box-shadow:var(--lphub-shadow-soft);display:flex;flex-direction:column;gap:.2rem;position:relative;overflow:hidden}.my-progress-stat .app-icon--stat{font-size:1.35rem;margin-bottom:.15rem;color:var(--lphub-yellow-dark)}.my-progress-stat--chapters{background:linear-gradient(145deg,#fff9e6,#fffef8);border-color:#ffd24f73}.my-progress-stat--rate{background:linear-gradient(145deg,#fff3e8,#fffef8);border-color:#ff9c3166}.my-progress-stat--categories{background:linear-gradient(145deg,#eefaf3,#fffef8);border-color:#64be8c66}.my-progress-stat--materials{background:linear-gradient(145deg,#eef6ff,#fffef8);border-color:#78aff066}.my-progress-stats--region.my-progress-accent--dev .my-progress-stat{border-color:#6eb5ff59}.my-progress-stats--region.my-progress-accent--test .my-progress-stat{border-color:#5abe8259}.my-progress-stats--region.my-progress-accent--infra .my-progress-stat{border-color:#b496e659}.my-progress-stats--region.my-progress-accent--support .my-progress-stat{border-color:#ffaa5a59}.my-progress-stats--region.my-progress-accent--basics .my-progress-stat{border-color:#ffc85066}.my-progress-stat__value{font-size:1.35rem;font-weight:800;color:var(--lphub-text);line-height:1.1}.my-progress-stat__unit{font-size:.85rem;font-weight:600;color:var(--lphub-text-muted)}.my-progress-stat__label{font-size:.78rem;font-weight:600;color:var(--lphub-text-muted)}.my-progress-empty{padding:2rem 1.5rem;text-align:center;border-radius:var(--lphub-radius);background:#ffffffa6;border:1px dashed var(--lphub-border)}.my-progress-empty p{margin:0 0 1rem;color:var(--lphub-text-muted)}.my-progress-sections{display:flex;flex-direction:column;gap:1.5rem}.my-progress-section__title{margin:0 0 .85rem;font-size:1.15rem;font-weight:800;color:var(--lphub-text);padding-left:.15rem;border-left:4px solid var(--lphub-yellow);padding-left:.65rem}.my-progress-section__empty{margin:0;padding:.5rem 0}.my-progress-material-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.my-progress-material{border-radius:calc(var(--lphub-radius) + 2px);background:#ffffffd1;border:1px solid rgba(20,20,20,.1);box-shadow:0 8px 22px #1414140f;overflow:hidden;border-left:4px solid transparent}.my-progress-material.my-progress-accent--dev{border-left-color:#9eceff;background:linear-gradient(90deg,#f8fcff,#fff 12%)}.my-progress-material.my-progress-accent--test{border-left-color:#8ee0b0;background:linear-gradient(90deg,#f6fcf8,#fff 12%)}.my-progress-material.my-progress-accent--infra{border-left-color:#d4b8ff;background:linear-gradient(90deg,#faf8ff,#fff 12%)}.my-progress-material.my-progress-accent--support{border-left-color:#ffc98a;background:linear-gradient(90deg,#fffaf5,#fff 12%)}.my-progress-material.my-progress-accent--basics{border-left-color:#ffe082;background:linear-gradient(90deg,#fffef5,#fff 12%)}.my-progress-material__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;padding:.9rem 1rem .5rem}.my-progress-material__toggle{flex:1;min-width:0;text-align:left;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit}.my-progress-material__name{display:block;font-size:1.05rem;font-weight:700;color:var(--lphub-text);margin-bottom:.2rem}.my-progress-material__meta{display:block;font-size:.82rem;color:var(--lphub-text-muted);font-weight:500}.my-progress-material__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.my-progress-badge{font-size:.75rem;font-weight:700;padding:.25rem .55rem;border-radius:999px;background:#f5c84238;color:#5c4a12;white-space:nowrap}.my-progress-material__bar{padding:0 1rem .75rem}.my-progress-chapter-list{list-style:none;margin:0;padding:0 .65rem .65rem;display:flex;flex-direction:column;gap:.5rem;overflow:hidden}.my-progress-chapter{width:100%;text-align:left;padding:.75rem .85rem;border-radius:var(--lphub-radius);border:1px solid rgba(20,20,20,.08);background:linear-gradient(180deg,#fffef9,#fff);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;font:inherit;color:inherit}.my-progress-chapter:hover{border-color:#f5c8428c;box-shadow:0 6px 16px #f5c84226;transform:translateY(-1px)}.my-progress-chapter__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.my-progress-chapter__title{font-size:.92rem;font-weight:700;color:var(--lphub-text);line-height:1.35}.my-progress-chapter__status{flex-shrink:0;font-size:.72rem;font-weight:700;padding:.2rem .45rem;border-radius:6px;background:#fff0d2a6;color:#8a6a30}.my-progress-chapter__status--idle{background:#fff6dccc;color:#9a7a40}.my-progress-chapter__status--learning{background:#ffe4b4bf;color:#a65c10}.my-progress-chapter__status--almost{background:#ffc87873;color:#b45309}.my-progress-chapter__status--done{background:#8cdcaa73;color:#2d7a4a}.my-progress-chapter__foot{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.4rem;font-size:.78rem;color:var(--lphub-text-muted);font-weight:500}.my-progress-chapter__excel{color:#2d6a3e;font-weight:600}.my-progress-mocks{margin-top:2rem;padding-top:1.5rem;border-top:2px solid rgba(245,200,66,.25)}.my-progress-mocks__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.my-progress-mocks__title{margin:0;font-size:1.15rem;font-weight:800}.my-progress-mock-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:.75rem}.my-progress-mock-card{width:100%;text-align:left;padding:1rem 1.1rem;border-radius:var(--lphub-radius);border:1px solid rgba(255,180,100,.35);background:linear-gradient(145deg,#fff8ee,#fffef8 55%,#fff);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;font:inherit;color:inherit;display:flex;flex-direction:column;gap:.35rem;border-left:4px solid #ffb547}.my-progress-mock-card:hover{border-color:#ff9c318c;box-shadow:0 10px 24px #ffb83e33;transform:translateY(-2px)}.my-progress-mock-card__name{font-weight:700;font-size:.95rem}.my-progress-mock-card__score{font-size:1.1rem;font-weight:800;color:#c45a00}.my-progress-mock-card__meta{font-size:.78rem;color:var(--lphub-text-muted);line-height:1.4}:root[data-device=mobile] .my-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-device=mobile] .my-progress-stats--region{grid-template-columns:repeat(3,minmax(0,1fr))}:root[data-device=mobile] .my-progress-stats--region .my-progress-stat:last-child{grid-column:span 1}:root[data-device=mobile] .my-progress-region-list{grid-template-columns:1fr}:root[data-device=mobile] .my-progress-hero{flex-direction:column;align-items:flex-start}:root[data-device=mobile] .my-progress-material__head{flex-direction:column}:root[data-device=mobile] .my-progress-material__actions{width:100%;justify-content:space-between}.my-progress-tab--rewards{background:linear-gradient(135deg,#fff6cce6,#ffd24f59)}.reward-dungeon-panel__lead{font-size:.9rem;color:var(--lphub-text-muted);line-height:1.55;margin:0 0 1.25rem;padding:.85rem 1rem;border-radius:var(--lphub-radius);background:var(--lphub-surface);border:1px dashed rgba(228,164,0,.45)}.reward-dungeon-empty{text-align:center;padding:2.5rem 1rem;border-radius:calc(var(--lphub-radius) + 4px);background:#fffc;border:1px solid rgba(20,20,20,.08)}.reward-dungeon-empty__title{font-weight:700;margin:0 0 .5rem}.reward-dungeon-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.reward-dungeon-picker__btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .85rem;border-radius:999px;border:1px solid rgba(20,20,20,.12);background:#ffffffd9;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s}.reward-dungeon-picker__btn:hover{border-color:#e4a4008c;box-shadow:0 4px 12px #ffb83e33}.reward-dungeon-picker__btn--active{border-color:#e4a400b3;box-shadow:0 4px 16px #ffb83e47;background:linear-gradient(135deg,#fff6ccf2,#ffd24f73)}.reward-dungeon-picker__name{font-weight:700;font-size:.88rem}.reward-dungeon-picker__sub{font-size:.72rem;color:var(--lphub-text-muted)}.reward-dungeon{border-radius:calc(var(--lphub-radius) + 6px);padding:1.25rem 1.25rem 1.5rem;color:var(--lphub-text);background:linear-gradient(165deg,#fffef8,#fff6cc 48%,#fff9df);box-shadow:var(--lphub-shadow-soft);border:1px solid rgba(228,164,0,.22)}.reward-dungeon--dev{background:linear-gradient(165deg,#f8fcff,#e8f4ff 45%,#fff9df);border-color:#64a0dc40}.reward-dungeon--test{background:linear-gradient(165deg,#f6fff9,#e4f8ec 45%,#fff9df);border-color:#50aa7840}.reward-dungeon--infra{background:linear-gradient(165deg,#faf8ff,#f0ecff 45%,#fff9df);border-color:#8c78c838}.reward-dungeon--support{background:linear-gradient(165deg,#fffaf5,#fed 45%,#fff9df);border-color:#ff9c3147}.reward-dungeon--saas{background:linear-gradient(165deg,#f5faff,#e3f2ff 45%,#fff9df);border-color:#5096dc47}.reward-dungeon--basics{background:linear-gradient(165deg,#fffef5,#fff0c8 45%,#fff9df);border-color:#ffd24f59}.reward-dungeon__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem}.reward-dungeon__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:800;letter-spacing:.02em}.reward-dungeon__subtitle{margin:0;font-size:.85rem;color:var(--lphub-text-muted);line-height:1.45}.reward-dungeon__summary{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.reward-dungeon__percent{font-size:2rem;font-weight:800;color:var(--lphub-yellow-dark);line-height:1}.reward-dungeon__summary-label,.reward-dungeon__cleared{font-size:.78rem;color:var(--lphub-text-muted)}.reward-dungeon__hero{margin-bottom:1.25rem}.reward-dungeon__hero-bar{height:10px;border-radius:999px;background:#3d2d0c14;overflow:hidden;margin-bottom:.5rem;border:1px solid rgba(228,164,0,.15)}.reward-dungeon__hero-fill{height:100%;border-radius:inherit;background:var(--lphub-grad-brand);transition:width .4s ease}.reward-dungeon__hero-text{margin:0;font-size:.9rem;font-weight:600;color:var(--lphub-text)}.reward-dungeon__map{position:relative;padding-left:2.75rem;min-height:12rem}.reward-dungeon__path{position:absolute;left:1.15rem;top:.5rem;bottom:2.5rem;width:5px;border-radius:999px;background:#3d2d0c1a;overflow:hidden}.reward-dungeon__path:after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--road-progress, 0%);background:linear-gradient(180deg,var(--lphub-orange),var(--lphub-yellow));border-radius:inherit;transition:height .45s ease}.reward-dungeon__avatar{position:absolute;left:.35rem;font-size:1.5rem;bottom:calc(var(--road-progress, 0%) * .85 + 2.5rem);transform:translateY(50%);filter:drop-shadow(0 2px 4px rgba(255,156,49,.35));transition:bottom .45s ease;z-index:2;pointer-events:none}.reward-dungeon__floors{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.reward-dungeon-floor{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:flex-start}.reward-dungeon-floor__node{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--lphub-surface);border:2px solid rgba(228,164,0,.35);flex-shrink:0;margin-left:-2.75rem;position:relative;z-index:1;box-shadow:0 4px 10px #ffb83e26}.reward-dungeon-floor--unlocked .reward-dungeon-floor__node{background:var(--lphub-yellow-light);border-color:var(--lphub-yellow-dark);box-shadow:0 0 14px #ffd24f8c}.reward-dungeon-floor--next .reward-dungeon-floor__node{background:#fff4e0;border-color:var(--lphub-orange);box-shadow:0 0 16px #ff9c3173;animation:reward-dungeon-pulse 1.6s ease-in-out infinite}.reward-dungeon-floor--locked .reward-dungeon-floor__card{opacity:.72;background:#ffffffa6}@keyframes reward-dungeon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.reward-dungeon-floor__card{background:var(--lphub-surface);border:1px solid var(--lphub-border);border-radius:var(--lphub-radius-sm);padding:.75rem .9rem;box-shadow:0 4px 14px #1414140d}.reward-dungeon-floor--unlocked .reward-dungeon-floor__card{background:linear-gradient(135deg,#fffef8,var(--lphub-yellow-light));border-color:#e4a40066}.reward-dungeon-floor--next .reward-dungeon-floor__card{background:linear-gradient(135deg,#fffef8,#fff0d6);border-color:#ff9c3173;box-shadow:0 6px 18px #ff9c312e}.reward-dungeon-floor__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.reward-dungeon-floor__gate{font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--lphub-text-muted)}.reward-dungeon-floor__badge{font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:999px}.reward-dungeon-floor__badge--got{background:#ffd24f8c;color:#5c4a12}.reward-dungeon-floor__badge--next{background:#ff9c3159;color:#6b3d08}.reward-dungeon-floor__badge--lock{background:#3d2d0c14;color:var(--lphub-text-muted)}.reward-dungeon-floor__title{margin:0 0 .25rem;font-size:1rem;font-weight:700}.reward-dungeon-floor__desc{margin:0;font-size:.82rem;color:var(--lphub-text-muted);line-height:1.45}.reward-dungeon__entrance{margin-top:1rem;padding-top:.75rem;border-top:1px dashed rgba(228,164,0,.35);margin-left:-2.75rem;padding-left:2.75rem}.reward-dungeon__entrance-label{font-size:.78rem;color:var(--lphub-text-muted)}:root[data-device=mobile] .reward-dungeon__head{flex-direction:column}:root[data-device=mobile] .reward-dungeon__summary{align-items:flex-start;text-align:left}
