*{box-sizing:border-box}:root{--color-primary:#f97316;--color-primary-dark:#ea580c;--color-surface:#fff;--color-bg:#fff7f0;--color-text:#1c1917;--color-text-muted:#78716c;--color-border:#fdba74;--color-error:#ef4444;--color-success:#22c55e;--primary:var(--color-primary);--primary-dark:var(--color-primary-dark);--primary-light:#fff4ec;--primary-border:#ffe8d6;--text:var(--color-text);--text-muted:var(--color-text-muted);--surface:var(--color-surface);--surface-subtle:#fff8f4;--surface-soft:#f5f5f5;--border:#f0e8e0;--border-strong:#e0d0c0;--success:var(--color-success);--shadow:0 24px 48px #ff8c4214;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--radius-pill:999px}html{min-height:100%}body{min-height:100vh;color:var(--text);background:linear-gradient(#fafaf8 0%,#fff8f4 100%);margin:0;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{border:none}.site-icon{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.site-icon img{display:block}:is(body:has(.login-shell) .nav-shell,body:has(.login-shell) .site-footer){display:none}body:has(.login-shell) .page-shell{padding:0}.app-shell{flex-direction:column;width:100%;min-height:100vh;display:flex}.nav-shell{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fef8f4e0;border-bottom:1px solid #ff8c4224;align-items:center;gap:20px;width:100%;padding:16px clamp(18px,4vw,32px);display:flex;position:sticky;top:0}.nav-logo-block{flex-shrink:0}.nav-logo{align-items:center;gap:10px;display:inline-flex}.nav-logo-text{letter-spacing:-.05em;white-space:nowrap;align-items:center;font-size:18px;font-weight:700;line-height:1;display:inline-flex}.nav-logo-text-blue{color:#5f99d2}.nav-logo-text-orange{color:#e48048}.nav-logo-text-green{color:#63954c}.nav-logo-image{object-fit:contain;width:auto;height:auto;max-height:52px}.nav-tabs{scrollbar-width:thin;flex:1;justify-content:center;gap:16px;display:flex;overflow-x:auto}.nav-tab{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;flex:none;align-items:center;gap:8px;padding:10px 8px;font-size:15px;font-weight:800;display:inline-flex}.nav-tab.active,.nav-tab:hover{color:var(--primary);border-bottom-color:var(--primary)}.nav-actions{align-items:center;gap:12px;display:flex}.apricot-pill,.nav-button,.shell-link,.rank-pill,.week-reward{border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.apricot-pill,.rank-pill,.week-reward{background:var(--primary-light);border:1px solid var(--primary);color:var(--primary-dark)}.nav-button,.shell-link,.primary-button,.secondary-button{cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.nav-button,.shell-link,.secondary-button{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-muted)}.nav-profile-chip{min-width:40px;height:40px;color:var(--primary-dark);background:#ff8c421f;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:900;display:inline-flex}.nav-profile-icon{opacity:.92}.nav-profile-name{white-space:nowrap}.button-icon{opacity:.96}.button-icon-inverse{filter:brightness(0)invert()}.nav-button:hover,.shell-link:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #1a1a1a14}.page-shell{flex-direction:column;flex:1;gap:20px;width:100%;max-width:1320px;margin:0 auto;padding:24px 24px 64px;display:flex}.site-footer{background:#fffffff5;border-top:1px solid #1a1a1a14;width:100%;margin-top:auto}.site-footer-inner{max-width:1320px;margin:0 auto;padding:36px 24px 28px}.site-footer-brandmark{justify-content:center;margin-bottom:14px;display:flex}.site-footer-brandmark-image{width:min(100%,360px);height:auto}.site-footer-intro{text-align:center;color:#3d342f;letter-spacing:-.03em;margin:0;font-size:18px;font-weight:800}.site-footer-body{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;margin-top:24px;display:grid}.site-footer-fill{min-height:1px}.site-footer-links-block{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.site-footer-links-title{color:#7a716b;letter-spacing:.08em;margin:0;font-size:13px;font-weight:800}.site-footer-links-list{flex-direction:column;align-items:flex-end;gap:10px;margin:0;padding:0;list-style:none;display:flex}.site-footer-links-list a{color:#2e2926;flex-direction:column;align-items:flex-end;gap:4px;font-size:15px;font-weight:700;display:flex}.site-footer-links-list a small{color:#8b827d;font-size:12px;font-weight:600}.site-footer-links-list a:hover{color:var(--primary-dark)}.site-footer-links-list a:hover small{color:#9b5c34}.site-footer-bottom{color:#756a63;border-top:1px solid #1a1a1a14;justify-content:center;align-items:center;gap:8px;margin-top:28px;padding-top:18px;font-size:14px;font-weight:700;display:flex}.site-footer-bottom a{color:#2e2926;font-weight:800}.home-quote-hero{padding:36px 32px;position:relative;overflow:hidden}.home-quote-badge{color:#fff8f4;background:#1a1a1aeb;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:800;display:inline-flex}.home-quote-badge-button{cursor:pointer;appearance:none;font:inherit;border:0;transition:transform .16s,box-shadow .16s,opacity .16s}.home-quote-badge-button:hover{opacity:.96;transform:translateY(-1px)}.home-quote-badge-button:focus-visible{outline-offset:3px;outline:3px solid #ffbf47f2}.home-quote-text{letter-spacing:-.04em;color:#2a2019;margin:18px 0 0;font-size:clamp(30px,4.8vw,58px);font-weight:900;line-height:1.18}.home-quote-author{color:var(--primary-dark);margin-top:16px;font-size:16px;font-weight:800}.hero-card,.week-card,.login-card,.ranking-row,.attendance-card,.podium-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.hero-card{border-radius:32px;grid-template-columns:minmax(0,1.15fr) minmax(320px,420px);gap:36px;min-height:clamp(360px,42vh,560px);padding:40px;display:grid;position:relative;overflow:hidden}.hero-home-card{background:radial-gradient(circle at 100% 0,#ffb36f3d,#0000 32%),radial-gradient(circle at 0 100%,#3b8beb14,#0000 28%),linear-gradient(#fffdfb 0%,#fff7f1 100%);grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center;gap:28px;min-height:clamp(420px,46vh,620px)}.hero-home-card:before,.hero-home-card:after{content:"";pointer-events:none;filter:blur(6px);border-radius:999px;position:absolute;inset:auto}.hero-home-card:before{background:#ff8c4224;width:180px;height:180px;top:-42px;right:-18px}.hero-home-card:after{background:#ffc4861f;width:210px;height:210px;bottom:-64px;left:24px}.hero-copy{flex-direction:column;justify-content:center;gap:18px;display:flex}.hero-home-copy{z-index:1;gap:24px;min-width:0;max-width:100%;position:relative}.hero-live-badge{color:#fff8f4;background:#1a1a1aeb;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 14px 28px #1a1a1a1f}.hero-eyebrow{border-radius:var(--radius-pill);border:1px solid var(--primary);background:var(--primary-light);color:var(--primary-dark);align-self:flex-start;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:800;display:inline-flex}.hero-title,.login-title,.rank-title{letter-spacing:-.04em;margin:0;font-size:clamp(34px,4vw,56px);line-height:1.1}.hero-subtitle,.login-copy,.rank-copy{color:var(--text-muted);margin:0;line-height:1.7}.hero-home-copy .hero-subtitle{color:#5f524a;max-width:920px;font-size:18px}.hero-stats{flex-wrap:wrap;gap:12px;display:flex}.hero-progress-stage-card{background:radial-gradient(circle at 100% 0,#ffffffb8,#0000 28%),linear-gradient(#fffaf6 0%,#fff1e7 100%);border:1px solid #ff8c422e;border-radius:28px;flex-direction:column;gap:14px;width:min(100%,960px);padding:24px 26px;display:flex;position:relative;box-shadow:inset 0 1px #ffffffb8,0 24px 44px #ff8c421f}.hero-progress-stage-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.hero-progress-stage-label{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.hero-progress-stage-badge{color:var(--primary-dark);letter-spacing:-.01em;background:#ff8c4229;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;font-weight:900;display:inline-flex}.hero-progress-stage-value{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.hero-progress-stage-value strong{color:var(--primary-dark);font-size:clamp(42px,5vw,68px);line-height:1}.hero-progress-stage-value span{color:var(--text-muted);font-size:18px;font-weight:700}.hero-progress-stage-copy{color:#5f524a;font-size:15px;font-weight:600;line-height:1.6}.hero-progress-track-large{background:#ff8c4224;border-radius:999px;height:14px;overflow:hidden}.hero-progress-fill-large{border-radius:inherit;background:linear-gradient(90deg,#ff8c42 0%,#ffb16f 100%);height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.hero-progress-stage-meta{flex-wrap:wrap;gap:10px;display:flex}.hero-progress-stage-chip{color:var(--primary-dark);background:#ffffffd6;border:1px solid #ff8c4229;border-radius:999px;align-items:center;gap:8px;padding:10px 13px;font-size:13px;font-weight:800;display:inline-flex}.hero-stat-card{border-radius:var(--radius-md);border:1px solid var(--primary-border);background:var(--surface-subtle);min-width:132px;padding:14px 16px}.hero-stat-card strong{color:var(--primary);font-size:24px;display:block}.hero-stat-card span{color:var(--text-muted);font-size:12px}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-home-copy .hero-actions .primary-button,.hero-home-copy .hero-actions .secondary-button{padding:14px 18px;font-size:15px;font-weight:800}.hero-summary-row{flex-wrap:wrap;gap:10px;display:flex}.hero-summary-chip{color:var(--primary-dark);background:#ff8c421f;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:800;display:inline-flex}.hero-secondary-cta{background:#ffffffe6}.home-curriculum-badge,.week-status-badge{border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.home-curriculum-badge{color:var(--primary-dark);background:#ff8c421f;border:1px solid #ff8c4229}.week-card-open-copy{color:var(--text);font-size:14px;font-weight:800;display:block}.hero-mascot-card{z-index:1;justify-content:center;place-self:end;align-items:flex-end;width:min(100%,320px);min-width:0;padding:0;display:flex;position:relative}.hero-mascot{object-fit:contain;filter:drop-shadow(0 18px 36px #9b450024);width:78%;height:auto}.section-heading{font-size:18px;font-weight:800}.section-heading-with-icon{align-items:center;gap:10px;display:inline-flex}.section-heading.small{font-size:15px}.home-curriculum-section{flex-direction:column;gap:20px;display:flex}.home-curriculum-heading{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.home-curriculum-badges{flex-wrap:wrap;gap:8px;display:flex}.home-curriculum-copy{color:var(--text-muted);margin:4px 0 0}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.week-card{background:linear-gradient(#fffffffa 0%,#fffaf6 100%);border-radius:28px;flex-direction:column;gap:14px;padding:24px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.week-card:after{content:"";pointer-events:none;background:#ff8c4214;border-radius:999px;width:116px;height:116px;position:absolute;inset:auto -28px -48px auto}.week-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 20px 44px #9b45001a}.week-card:hover .week-card-open-arrow{color:#fff;background:var(--primary-dark);transform:translate(2px)}.week-card:hover .week-card-open-copy{color:var(--primary-dark)}.week-card.current{background:linear-gradient(#fff6ef 0%,#fff 100%);border-color:#ff8c426b}.week-card.week-card-complete{background:radial-gradient(circle at 88% 14%,#67b85c1c 0 82px,#0000 83px),linear-gradient(#fffffffc 0%,#f7fff5 100%);border-color:#53a64a6b;box-shadow:0 0 0 2px #53a64a14,0 18px 42px #53a64a29}.week-card.week-card-complete:after{background:radial-gradient(circle,#53a64a1a,#0000 68%);width:132px;height:132px;inset:auto auto -46px -34px}.week-card-top,.week-progress-copy,.rank-header{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.week-card-lead{align-items:flex-start;gap:12px;width:100%;display:flex}.week-card-copy{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.week-card-complete .week-card-copy{gap:10px;padding-right:124px}.week-card-summary,.week-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.week-card-icon-box{background:#ff8c421f;border:1px solid #ff8c422e;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.week-label,.week-progress-copy,.ranking-detail,.login-hint-list{color:var(--text-muted);font-size:13px}.week-label{text-transform:uppercase;color:var(--primary-dark);font-size:30px;font-weight:900;display:block}.week-label-row{flex-wrap:wrap;align-items:flex-start;gap:8px;width:100%;display:flex}.week-title{margin:0;font-size:24px;font-weight:800;line-height:1.2}.week-tags{flex-wrap:wrap;gap:8px;display:flex}.week-status-badge{margin-left:auto}.week-status-badge.complete{width:104px;box-shadow:none;pointer-events:none;z-index:1;background:0 0;border:none;justify-content:center;align-items:center;margin-left:0;padding:0;display:inline-flex;position:absolute;top:10px;right:8px}.week-card-complete .week-status-badge.complete{isolation:isolate;width:108px;height:100px;top:20px;right:24px}.week-card-complete .week-status-badge.complete:before{content:"";z-index:-1;background:radial-gradient(circle at 56% 34%,#ffffffb8,#0000 46%),linear-gradient(145deg,#e8f7e1c7,#cdebc480);border-radius:999px;position:absolute;inset:-10px -8px 12px;box-shadow:inset 0 0 0 1px #61ab5414}.week-card-complete .week-status-badge.complete:after{content:none}.week-status-badge-complete-image{width:100%;height:auto}.week-card-complete .week-status-badge-complete-image{filter:saturate(.86)drop-shadow(0 5px 6px #415e2e1f);opacity:.92;z-index:1;width:96px;position:relative;transform:translateY(-10px)}.week-tag{border-radius:var(--radius-pill);background:var(--surface-soft);border:1px solid var(--border);color:var(--text-muted);padding:6px 10px;font-size:12px;font-weight:700}.week-card-complete .week-reward{color:#3f8d2c;background:#f3fbef;border-color:#53a64a47}.week-card-complete .week-tag{color:#464646ad;box-shadow:none;background:#f5f7f4b8;border-color:#0000000d}.week-reward-soft{background:#ffffffe0}.week-spotlight-list{flex-direction:column;gap:8px;display:flex}.week-spotlight-item{color:var(--text);background:#ffffffc7;border:1px solid #ff8c421f;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.week-spotlight-icon{color:var(--primary-dark)}.week-progress-track{border-radius:var(--radius-pill);background:var(--surface-soft);height:10px;overflow:hidden}.week-card-complete .week-progress-track{background:#e0e8ddbd;height:8px;box-shadow:inset 0 1px 2px #2956230d}.week-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #ffa55e);height:100%}.week-card-complete .week-progress-fill{box-shadow:none;background:linear-gradient(90deg,#53a64a75 0%,#67b85c8f 100%)}.week-card-complete .week-progress-copy{color:#4f9a36;letter-spacing:-.04em;font-size:16px;font-weight:900}.week-card-complete .week-progress-copy span:last-child{color:var(--text-muted);letter-spacing:-.02em;font-size:13px;font-weight:800}.week-card-complete .week-progress-copy span:first-child{align-items:center;gap:8px;display:inline-flex}.week-progress-complete-icon{background:currentColor;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;box-shadow:0 4px 8px #4f9a3633}.week-progress-complete-icon img{filter:brightness(0)invert();width:16px;height:16px}.week-card-footer{padding-top:2px}.week-card-open-arrow{width:32px;height:32px;color:var(--primary-dark);background:#ff8c421a;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;font-size:18px;font-weight:900;transition:color .2s,background .2s,transform .2s;display:inline-flex}.week-card-complete .week-card-open-arrow{color:#3f8d2c;background:#53a64a1f}.week-card-complete:hover .week-card-open-arrow{background:#3f8d2c}.week-card-complete:hover .week-card-open-copy{color:#3f8d2c}.login-shell{isolation:isolate;background:radial-gradient(circle at 18% 14%, #fdba7485 0 18%, transparent 34%), radial-gradient(circle at 85% 16%, #f9731629 0 14%, transparent 32%), linear-gradient(145deg, var(--color-bg) 0%, #fffdf8 52%, #ffedd5 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:clamp(20px,5vw,48px);display:flex;position:relative;overflow:hidden}.login-shell:before{z-index:-1;content:"";opacity:.34;pointer-events:none;background-image:radial-gradient(circle,#78716c2e .7px,#0000 .8px),linear-gradient(135deg,#ffffff8f,#0000 48%);background-size:12px 12px,100% 100%;position:absolute;inset:0}.login-shell:after{z-index:-1;aspect-ratio:1;content:"";filter:blur(1px);background:radial-gradient(circle at 35% 35%,#ffffffb3,#0000 24%),linear-gradient(135deg,#f9731647,#fdba7429);border-radius:999px;width:min(320px,58vw);position:absolute;bottom:max(-110px,-14vw);right:max(-90px,-12vw)}.login-card{background:linear-gradient(180deg, #fffffff5, #ffffffe6), var(--color-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #fdba748a;border-radius:28px;flex-direction:column;align-items:center;width:min(100%,420px);padding:clamp(28px,7vw,40px) clamp(20px,6vw,32px) 28px;animation:.4s ease-out both fadeInUp;display:flex;position:relative;box-shadow:0 28px 72px #7c2d1229,0 10px 28px #f973161f,inset 0 1px #ffffffe6}.login-card:before{z-index:-1;content:"";opacity:.38;background-image:radial-gradient(circle at 1px 1px,#f973161f 1px,#0000 0);background-size:18px 18px;border-radius:24px;position:absolute;inset:12px}.login-icon-wrap{background:radial-gradient(circle at 30% 24%, #ffffffdb 0 11%, transparent 12%), radial-gradient(circle at 69% 74%, #7c2d122e 0 1.5px, transparent 1.8px), linear-gradient(135deg, #fb923c 0%, var(--color-primary) 48%, var(--color-primary-dark) 100%);background-size:auto,8px 8px,auto;border:1px solid #ffffffb8;border-radius:999px;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:18px;display:flex;box-shadow:0 16px 30px #ea580c47,inset 0 1px #ffffff6b}.login-card-icon img{width:28px;height:28px}.login-brand-label{border-radius:var(--radius-pill);color:var(--color-primary-dark);letter-spacing:-.01em;background:#fff7ed;border:1px solid #fdba74b3;justify-content:center;align-items:center;margin:0 0 12px;padding:7px 12px;font-size:12px;font-weight:800;display:inline-flex}.login-saying-card{background:linear-gradient(#fffaf6 0%,#fff4ec 100%);border:1px solid #ff8c422e;border-radius:18px;margin-top:20px;padding:16px 18px}.login-saying-label,.login-saying-label-with-icon{align-items:center;gap:8px;display:inline-flex}.login-saying-label{color:var(--primary-dark);font-size:12px;font-weight:900}.login-saying-text{color:var(--text);margin:10px 0 0;font-size:15px;font-weight:700;line-height:1.7}.login-saying-author{color:var(--text-muted);margin-top:10px;font-size:13px;font-weight:700}.login-title{color:var(--color-text);text-align:center;letter-spacing:-.045em;margin:0;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:clamp(22px,6vw,27px);font-weight:700;line-height:1.28}.login-copy{max-width:310px;color:var(--color-text-muted);text-align:center;letter-spacing:-.025em;margin:12px 0 0;font-size:14px;line-height:1.7}.login-form{width:100%;margin-top:28px}.login-form.is-shaking{animation:.38s ease-in-out both shake}.login-field{gap:8px;display:grid}.login-field+.login-field{margin-top:14px}.login-input-shell{background:#fffffff0;border:1.5px solid #fdba74db;border-radius:16px;align-items:center;min-height:60px;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #7c2d120b}.login-input-shell:before{content:"";background:var(--color-primary);opacity:0;transform-origin:50%;border-radius:0 999px 999px 0;width:3px;transition:opacity .2s,transform .2s;position:absolute;top:12px;bottom:12px;left:0;transform:scaleY(.4)}.login-input-shell:focus-within{border-color:var(--color-primary);background:var(--color-surface);transform:translateY(-1px);box-shadow:0 0 0 4px #f973161f,0 14px 30px #7c2d1217}.login-input-shell:focus-within:before{opacity:1;transform:scaleY(1)}.login-field.is-invalid .login-input-shell{border-color:var(--color-error);box-shadow:0 0 0 4px #ef444417}.login-field.is-invalid .login-input-shell:before{opacity:1;background:var(--color-error);transform:scaleY(1)}.login-input-icon{z-index:1;color:var(--color-primary-dark);opacity:.96;pointer-events:none;position:absolute;left:17px}.login-field-label{z-index:1;color:var(--color-text-muted);letter-spacing:-.02em;pointer-events:none;transform-origin:0;background:0 0;border-radius:8px;padding:0 5px;font-size:12px;font-weight:800;transition:transform .2s,top .2s,left .2s,color .2s,background .2s;position:absolute;top:50%;left:48px;transform:translateY(-50%)}.login-input-shell:focus-within .login-field-label,.login-input:not(:placeholder-shown)~.login-field-label{color:var(--color-primary-dark);background:0 0;top:10px;left:45px;transform:translateY(0)scale(.88)}.login-field.is-invalid .login-field-label{color:var(--color-error)}.form-label{margin-top:18px;margin-bottom:8px;font-size:14px;font-weight:700;display:block}.form-label-with-icon,.button-with-icon,.login-hint-item{align-items:center;gap:8px;display:inline-flex}.form-input{border:1px solid var(--border-strong);background:#fffdfb;border-radius:14px;width:100%;padding:14px 16px}.login-input{z-index:0;height:60px;color:var(--color-text);letter-spacing:-.015em;background:0 0;border:0;border-radius:16px;outline:none;padding:26px 16px 10px 48px;font-size:15px;font-weight:700;transition:border-color .2s;position:relative}.login-input::placeholder{color:#78716c7a;opacity:0;font-weight:500;transition:opacity .16s}.login-input:focus::placeholder{opacity:1}.login-field-error{min-height:18px;color:var(--color-error);letter-spacing:-.02em;align-items:flex-start;gap:6px;margin:0;font-size:12px;font-weight:800;line-height:1.45;display:inline-flex}.login-error-icon{filter:brightness(0)saturate()invert(42%)sepia(92%)saturate(2705%)hue-rotate(337deg)brightness(98%)contrast(91%);margin-top:1px}.otp-input{letter-spacing:.3em}.login-actions{width:100%;margin-top:18px;display:flex}.primary-button,.secondary-button{border-radius:14px;min-width:150px;padding:12px 16px;font-weight:700}.primary-button{background:var(--color-primary-dark);color:#fff}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;box-shadow:none;opacity:.55;transform:none}.dev-otp-box,.form-error{border-radius:14px;margin-top:16px;padding:14px 16px}.dev-otp-box{color:#fff;background:#1c1c2e;justify-content:space-between;gap:12px;display:flex}.form-error{color:#b42318;background:#fff1f0;border:1px solid #fda29b}.login-form .form-error{color:#b91c1c;background:#fff1f2;border-color:#ef444452;border-radius:14px;align-items:flex-start;gap:8px;margin-top:14px;padding:12px 14px;font-size:12px;font-weight:800;line-height:1.6;display:flex}.login-submit-button{isolation:isolate;background:linear-gradient(180deg, #ffffff14, transparent), var(--color-primary-dark);letter-spacing:-.02em;border-radius:14px;justify-content:center;gap:8px;width:100%;min-width:0;min-height:54px;padding:15px 18px;font-size:15px;font-weight:900;position:relative;overflow:hidden;box-shadow:0 16px 32px #ea580c40}.login-submit-button:hover:not(:disabled){background:linear-gradient(#ffffff1f,#0000),#c2410c;transform:scale(1.02);box-shadow:0 22px 40px #ea580c57}.login-submit-button:disabled{cursor:wait;opacity:1}.login-submit-button:active:not(:disabled){transform:scale(.99)}.login-submit-button:after{left:var(--ripple-x,50%);top:var(--ripple-y,50%);z-index:-1;content:"";opacity:0;pointer-events:none;background:#ffffff57;border-radius:999px;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)scale(1)}.login-submit-button.is-rippling:after{animation:.52s ease-out both loginRipple}.login-submit-button.is-success,.login-submit-button.is-success:disabled{background:var(--color-success);cursor:default;opacity:1;box-shadow:0 18px 36px #22c55e3d}.login-spinner{border:2px solid #ffffff6b;border-top-color:#fff;border-radius:999px;width:18px;height:18px;animation:.72s linear infinite spin}.login-status{min-height:20px;color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;gap:7px;margin-top:12px;font-size:12px;font-weight:800;line-height:1.5;display:flex}.login-status-idle{opacity:0}.login-status-loading{color:var(--color-primary-dark)}.login-status-success{color:#15803d}.login-status-dot{background:var(--color-primary);border-radius:999px;width:7px;height:7px;animation:1s ease-out infinite pulseDot;box-shadow:0 0 #f9731680}.login-success-icon{filter:brightness(0)saturate()invert(48%)sepia(69%)saturate(628%)hue-rotate(88deg)brightness(91%)contrast(91%)}.login-footer-text{width:100%;color:var(--color-text-muted);text-align:center;letter-spacing:-.02em;border-top:1px solid #fdba745c;margin:18px 0 0;padding-top:18px;font-size:12.5px;line-height:1.7}.login-footer-text p{margin:0 0 8px}.login-footer-text a{color:var(--color-text);text-underline-offset:4px;font-weight:900;-webkit-text-decoration:underline #f9731670;text-decoration:underline #f9731670;transition:color .18s,text-decoration-color .18s;display:inline-flex}.login-footer-text a:hover{color:var(--color-primary-dark);-webkit-text-decoration-color:var(--color-primary-dark);text-decoration-color:var(--color-primary-dark)}.login-hint-list{gap:8px;margin-top:20px;display:grid}.login-hint-item{color:inherit}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@keyframes loginRipple{0%{opacity:.55;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(28)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseDot{0%{box-shadow:0 0 #f973166b}to{box-shadow:0 0 0 8px #f9731600}}@media (max-width:380px){.login-shell{padding:16px}.login-card{border-radius:24px;padding:26px 18px 24px}.login-title{font-size:22px}.login-input{font-size:14px}}.podium-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.podium-card{text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;display:flex}.podium-avatar,.ranking-avatar{border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.podium-avatar{color:#fff;width:64px;height:64px}.place-1 .podium-avatar{background:linear-gradient(135deg,#f6c549,#e6a817)}.place-2 .podium-avatar{background:linear-gradient(135deg,#a0aec0,#718096)}.place-3 .podium-avatar{background:linear-gradient(135deg,#c87b3c,#9a5a1e)}.podium-crown{font-size:28px}.podium-bar{background:var(--primary-light);width:100%;color:var(--primary-dark);border-radius:14px;padding:10px 12px;font-weight:700}.ranking-list{gap:10px;margin-top:18px;display:grid}.ranking-row{border-radius:var(--radius-lg);grid-template-columns:40px 44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.ranking-row.me{border-color:var(--primary);background:var(--surface-subtle)}.ranking-rank,.ranking-score{font-weight:800}.ranking-avatar{background:var(--surface-soft);border:1px solid var(--border);width:44px;height:44px}.ranking-name{align-items:center;gap:8px;font-weight:700;display:flex}.ranking-badge{border-radius:var(--radius-pill);background:var(--primary);color:#fff;padding:2px 8px;font-size:11px}.attendance-card{border-radius:20px;margin-top:18px;padding:20px}.attendance-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.attendance-day{border:1px solid var(--border);background:var(--surface-soft);min-height:40px;color:var(--text-muted);border-radius:12px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.attendance-day.done{border-color:var(--primary);background:var(--primary);color:#fff}.attendance-day.today{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}@media (max-width:880px){.hero-card{grid-template-columns:1fr;gap:20px;min-height:auto;padding:28px 22px}.nav-shell{gap:12px;padding:14px 18px}.nav-logo-image{max-height:44px}.nav-logo-text{font-size:16px}.nav-tabs{flex-basis:100%;order:3;justify-content:flex-start;gap:12px;width:100%;padding-bottom:2px;display:flex}.nav-actions{margin-left:auto}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.podium-grid{grid-template-columns:1fr}}@media (max-width:640px){.app-shell{width:100%}.page-shell{padding:24px 16px 40px}.site-footer-inner{padding:28px 16px 22px}.site-footer-intro{font-size:16px;line-height:1.5}.site-footer-brandmark-image{width:min(100%,300px);height:auto}.site-footer-body{grid-template-columns:1fr;justify-items:center;margin-top:20px}.site-footer-fill{display:none}.site-footer-links-block,.site-footer-links-list{align-items:center}.site-footer-links-list a{text-align:center;align-items:center}.site-footer-bottom{text-align:center;flex-direction:column;gap:4px}.hero-card{border-radius:24px;padding:24px 20px}.home-quote-hero{border-radius:24px;padding:26px 22px}.home-quote-text{font-size:32px}.home-quote-author{font-size:14px}.hero-title{font-size:30px}.hero-progress-stage-value{flex-wrap:wrap}.hero-mascot-card{place-self:center;width:min(240px,62vw)}.home-curriculum-heading{flex-direction:column;align-items:flex-start}.week-grid{grid-template-columns:1fr;gap:14px}.week-card{border-radius:24px;padding:20px}.week-status-badge-complete-image{width:100%}.week-card-complete .week-card-copy{padding-right:104px}.week-status-badge.complete{width:84px;top:12px;right:6px}.week-card-complete .week-status-badge.complete{width:92px;height:88px;top:14px;right:14px}.week-card-complete .week-status-badge.complete:before{inset:-10px -8px 10px}.week-card-complete .week-status-badge.complete:after{width:70px;height:26px;font-size:14px;bottom:4px;right:4px}.week-card-complete .week-status-badge-complete-image{width:82px;transform:translateY(-10px)}.home-curriculum-badges,.week-card-summary,.week-card-footer{width:100%}.rank-header,.week-card-top,.week-progress-copy,.ranking-row{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.ranking-row{display:flex}.attendance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.salgu-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.salgu-eyebrow{color:#ff8c42;margin-bottom:8px;font-weight:700}.salgu-hero h1{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.15}.salgu-hero p{color:#6b6b6b;margin:10px 0 0}.salgu-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px;display:grid}.salgu-summary-card,.salgu-problem-card{background:#fff;border:1px solid #f3d7c4;border-radius:20px;box-shadow:0 10px 30px #ff8c4214}.salgu-summary-card{padding:18px}.salgu-summary-title,.salgu-panel-label{color:#3b2a20;font-size:15px;font-weight:800}.salgu-progress-track{background:#fff2ea;border-radius:999px;height:12px;margin:14px 0 10px;overflow:hidden}.salgu-progress-fill{background:linear-gradient(90deg,#ff8c42 0%,#ffc06f 100%);height:100%}.salgu-summary-meta{color:#6b6b6b;justify-content:space-between;gap:12px;font-size:14px;display:flex}.salgu-topic-text{margin:12px 0 16px;font-size:18px;font-weight:700}.salgu-week-strip{gap:10px;margin-bottom:18px;padding-bottom:8px;display:flex;overflow-x:auto}.salgu-week-pill{min-width:116px;color:inherit;background:#fff;border:1px solid #f3d7c4;border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;font-weight:700;text-decoration:none;display:flex}.salgu-week-pill small{color:#6b6b6b;font-weight:600}.salgu-week-pill.active{color:#d4651d;background:#ffefe4;border-color:#ff8c42}.salgu-card-list{flex-direction:column;gap:14px;display:flex}.salgu-problem-card{overflow:hidden}.salgu-status-solved{border-color:#3daa5c52}.salgu-status-master{border-color:#5b4fd652}.salgu-problem-header{text-align:left;background:0 0;align-items:center;gap:14px;width:100%;padding:18px;display:flex}.salgu-problem-number{color:#d4651d;letter-spacing:-.01em;white-space:nowrap;background:#fff2ea;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;min-width:116px;height:44px;padding:0 14px;font-size:15px;font-weight:800;display:inline-flex}.salgu-problem-copy{flex:1;min-width:0}.salgu-problem-title-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.salgu-problem-title{font-size:18px;font-weight:900;line-height:1.3}.salgu-problem-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.salgu-timer-chip,.salgu-solve-pill,.salgu-toggle-button{border-radius:999px;padding:8px 12px;font-weight:700}.salgu-timer-chip{background:#fff8f4}.salgu-timer-chip.running,.salgu-timer-big.running{color:#d4651d}.salgu-solve-pill{color:#8b5a3c;background:#fff7f1}.salgu-solve-pill.solved{color:#2d8f4a;background:#ecf8ef}.salgu-solve-pill.master{color:#5b4fd6;background:#f2efff}.salgu-toggle-button{color:#d4651d;cursor:pointer;background:#fff2ea;transition:transform .2s}.salgu-toggle-button.open{transform:rotate(180deg)}.salgu-problem-body{padding:0 18px 18px;display:none}.salgu-problem-body.open{display:block}.salgu-detail-stack{flex-direction:column;gap:14px;display:flex}.salgu-panel{background:#fffdfb;border:1px solid #f3d7c4;border-radius:16px;padding:18px}.salgu-detail-panel{flex-direction:column;gap:12px;display:flex}.salgu-detail-title{color:#1a1a1a;letter-spacing:-.02em;margin:0;font-size:24px;font-weight:900;line-height:1.2}.salgu-description{white-space:pre-wrap;color:#2c2c2c;line-height:1.7}.salgu-statement-grid,.salgu-description-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.salgu-statement-block{flex-direction:column;gap:8px;display:flex}.salgu-plain-block{color:#2c2c2c;white-space:pre-wrap;word-break:break-word;background:#fff8f4;border:1px solid #f3d7c4;border-radius:14px;margin:0;padding:14px;font-size:14px;line-height:1.65;overflow-x:auto}.salgu-sample-stack{flex-direction:column;gap:14px;display:flex}.salgu-copy-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.salgu-copy-button{color:#8b5a3c;cursor:pointer;background:#fff;border:1px solid #f3d7c4;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800}.salgu-solution-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.salgu-solution-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.salgu-inline-button{align-self:flex-start}.salgu-solution-block{white-space:pre-wrap;word-break:break-word;border-radius:16px;min-height:160px;margin:0;padding:16px 18px;font-size:13px;line-height:1.7;overflow-x:auto}.salgu-solution-placeholder{color:#f8f8f2;background:#171923}.salgu-code-block{color:#f8f8f2;background:#282a36}.salgu-code-block .token.comment{color:#6272a4}.salgu-code-block .token.keyword{color:#ff79c6}.salgu-code-block .token.type{color:#8be9fd}.salgu-code-block .token.string{color:#f1fa8c}.salgu-code-block .token.number{color:#bd93f9}.salgu-code-block .token.preprocessor{color:#ffb86c}.salgu-code-block .token.builtin{color:#50fa7b}.salgu-code-block .token.function{color:#f8f8f2}.salgu-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;display:flex}.salgu-timer-big{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:34px;font-weight:800}.salgu-helper-copy{color:#6b6b6b;font-size:13px}.salgu-control-buttons{flex-wrap:wrap;gap:10px;display:flex}.salgu-primary-button,.salgu-secondary-button,.salgu-status-button{cursor:pointer;border-radius:14px;padding:12px 16px;font-weight:700}.salgu-primary-button{color:#fff;background:#ff8c42}.salgu-secondary-button,.salgu-status-button{color:#1a1a1a;background:#fff;border:1px solid #f3d7c4}.salgu-status-button.active{color:#6f6259;background:#f4f1ee}.salgu-status-button.active.solved{color:#2d8f4a;background:#ecf8ef}.salgu-status-button.active.master{color:#5b4fd6;background:#f2efff}.salgu-toast{color:#fff;z-index:50;background:#1a1a1a;border-radius:999px;padding:14px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0003}.codingtest-shell{flex-direction:column;gap:24px;display:flex}.codingtest-title{font-size:clamp(32px,4vw,50px)}.codingtest-hero-card,.codingtest-timeline-card,.codingtest-set-card,.codingtest-summary-card,.codingtest-problem-card,.codingtest-countdown-card,.codingtest-hero-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.codingtest-hero-card{border-radius:30px;grid-template-columns:minmax(0,1.2fr) minmax(300px,400px);gap:24px;padding:32px;display:grid}.codingtest-launcher-hero{background:radial-gradient(circle at 100% 0,#ffb36f38,#0000 28%),radial-gradient(circle at 0 100%,#ff8c421f,#0000 34%),linear-gradient(#fffdfb 0%,#fff7f1 100%);grid-template-columns:1fr;justify-items:center;padding:52px 32px 36px;position:relative;overflow:hidden}.codingtest-launcher-hero:before{content:"";pointer-events:none;background:#ff8c4214;border-radius:999px;width:180px;height:180px;position:absolute;inset:auto auto -64px -48px}.codingtest-hero-copy,.codingtest-hero-panel,.codingtest-countdown-card,.codingtest-set-card,.codingtest-problem-card,.codingtest-timeline-card{flex-direction:column;gap:16px;display:flex}.codingtest-hero-panel,.codingtest-countdown-card,.codingtest-timeline-card,.codingtest-set-card,.codingtest-problem-card,.codingtest-summary-card{border-radius:24px;padding:24px}.codingtest-launcher-copy{text-align:center;align-items:center;gap:18px;max-width:920px}.codingtest-launcher-subtitle{max-width:720px}.codingtest-launcher-chip-row,.codingtest-launcher-section-head,.codingtest-launcher-set-top,.codingtest-launcher-highlight-list{flex-wrap:wrap;gap:10px;display:flex}.codingtest-launcher-chip-row{justify-content:center}.codingtest-launcher-chip,.codingtest-launcher-set-status,.codingtest-launcher-set-index{border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:800;display:inline-flex}.codingtest-launcher-chip,.codingtest-launcher-set-index{color:var(--primary-dark);background:#ff8c421f;border:1px solid #ff8c4229}.codingtest-launcher-set-status{color:var(--text);background:#1a1a1a0f;border:1px solid #1a1a1a14}.codingtest-launcher-summary-grid{width:100%;max-width:880px}.codingtest-panel-copy,.codingtest-problem-copy,.codingtest-set-card p,.codingtest-io-card p,.codingtest-inline-note,.codingtest-inline-error{color:var(--text-muted);white-space:pre-wrap;margin:0;line-height:1.7}.codingtest-problem-copy,.codingtest-io-card{flex-direction:column;gap:14px;display:flex}.codingtest-table-wrap{width:100%;overflow-x:auto}.codingtest-table{border-collapse:collapse;background:#ffffffeb;border:1px solid #1a1a1a1a;border-radius:16px;width:100%;min-width:320px;overflow:hidden}.codingtest-table th,.codingtest-table td{text-align:left;vertical-align:top;color:var(--text);border-bottom:1px solid #1a1a1a14;padding:12px 14px;font-size:14px;line-height:1.6}.codingtest-table th{color:var(--primary-dark);background:#ff8c421f;font-weight:800}.codingtest-table tr:last-child td{border-bottom:none}.codingtest-summary-grid,.codingtest-set-grid,.codingtest-io-grid{gap:14px;display:grid}.codingtest-summary-grid,.codingtest-set-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.codingtest-launcher-section{flex-direction:column;gap:18px;display:flex}.codingtest-launcher-section-head{justify-content:space-between;align-items:flex-end}.codingtest-launcher-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.codingtest-summary-card span,.codingtest-countdown-label,.codingtest-problem-order,.codingtest-sample-card span{color:var(--primary-dark);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:900}.codingtest-summary-card strong,.codingtest-set-card h2,.codingtest-problem-card h2,.codingtest-solution-card h3,.codingtest-io-card h3,.codingtest-sample-card h3{margin:0}.codingtest-summary-card strong{font-size:24px}.codingtest-guide-list{color:var(--text-muted);margin:0;padding-left:18px;line-height:1.8}.codingtest-duration-list,.codingtest-problem-meta,.codingtest-session-links,.codingtest-problem-actions{flex-wrap:wrap;gap:10px;display:flex}.codingtest-duration-chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:12px 16px;display:inline-flex}.codingtest-duration-chip.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.codingtest-start-button,.codingtest-session-return-link{align-self:flex-start}.primary-button.codingtest-start-button{background:var(--primary);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;display:inline-flex}.codingtest-back-link{align-self:flex-start}.codingtest-problem-list-section,.codingtest-problem-list{flex-direction:column;gap:16px;display:flex}.codingtest-set-card,.codingtest-session-problem{min-width:0}.codingtest-set-card{justify-content:space-between}.codingtest-launcher-set-card{background:linear-gradient(#fffffffa 0%,#fff9f4 100%);position:relative;overflow:hidden;box-shadow:0 20px 44px #ff8c4214}.codingtest-launcher-set-card:after{content:"";pointer-events:none;background:#ff8c4214;border-radius:999px;width:120px;height:120px;position:absolute;bottom:-40px;right:-22px}.codingtest-launcher-meta span{background:#ffffffdb;border:1px solid #ff8c421a;border-radius:999px;padding:8px 12px}.codingtest-launcher-highlight-list{flex-direction:column}.codingtest-launcher-highlight{background:#ffffffd6;border:1px solid #ff8c421a;border-radius:18px;padding:14px 16px}.codingtest-launcher-highlight strong{color:var(--text);font-size:14px;display:block}.codingtest-launcher-highlight span{color:var(--text-muted);margin-top:6px;font-size:13px;line-height:1.6;display:block}.codingtest-session-banner{grid-template-columns:minmax(0,1.2fr) minmax(280px,360px);gap:24px;display:grid}.codingtest-countdown-card{justify-content:center}.codingtest-countdown-value{color:var(--primary-dark);font-size:clamp(40px,5vw,64px);line-height:1}.codingtest-unlock-pill{color:var(--primary-dark);background:#ff8c421f;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.codingtest-unlock-pill.unlocked{color:var(--success);background:#3daa5c24}.codingtest-timeline-card{background:linear-gradient(#fffdfb 0%,#fff8f3 100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.codingtest-timeline-row{flex-direction:column;gap:8px;display:flex}.codingtest-timeline-row span,.codingtest-problem-meta span{color:var(--text-muted);font-size:13px}.codingtest-problem-card-head,.codingtest-problem-toggle{justify-content:space-between;gap:12px;display:flex}.codingtest-problem-card-head{flex-wrap:wrap;align-items:flex-start}.codingtest-problem-toggle{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:0}.codingtest-problem-body,.codingtest-sample-list,.codingtest-solution-card{flex-direction:column;gap:16px;display:flex}.codingtest-io-grid,.codingtest-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.codingtest-io-card,.codingtest-sample-card,.codingtest-solution-card{border:1px solid var(--border);background:var(--surface-subtle);border-radius:18px;padding:18px}.codingtest-sample-grid{gap:14px;display:grid}.codingtest-sample-card{background:#fffdfb;border-color:#f3d7c4;border-radius:16px;flex-direction:column;gap:12px;display:flex}.codingtest-sample-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.codingtest-sample-block,.codingtest-sample-grid div,.codingtest-solution-card pre{min-width:0}.codingtest-sample-block{flex-direction:column;gap:8px;display:flex}.codingtest-sample-card>span{color:#3b2a20;letter-spacing:0;text-transform:none;font-size:15px}.codingtest-sample-block h3{letter-spacing:0;text-transform:none;color:#3b2a20;font-size:15px;font-weight:800}.codingtest-copy-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.codingtest-copy-button{appearance:none;color:#d96b1f;cursor:pointer;background:#fff8f4;border:1px solid #f3d7c4;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.codingtest-copy-button.copied{color:#2d8f4a;background:#ecf8ef;border-color:#2d8f4a40}.codingtest-copy-button:hover{background:#ffe9d8;border-color:#ffb07a}.codingtest-sample-grid pre{color:#2c2c2c;white-space:pre-wrap;word-break:break-word;background:#fff8f4;border:1px solid #f3d7c4;border-radius:14px;margin:0;padding:14px;font-size:14px;line-height:1.65;overflow-x:auto}.codingtest-solution-card pre{color:#f6f7fb;background:#1f2430;border-radius:14px;margin:8px 0 0;padding:14px;font-size:13px;line-height:1.6;overflow-x:auto}.codingtest-inline-error{color:#c84545}@media (max-width:980px){.codingtest-hero-card,.codingtest-session-banner,.codingtest-summary-grid,.codingtest-set-grid,.codingtest-timeline-card,.codingtest-io-grid,.codingtest-sample-grid{grid-template-columns:1fr}.codingtest-launcher-copy{text-align:left;align-items:flex-start}.codingtest-launcher-chip-row{justify-content:flex-start}}.codingtest-countdown-value.warning{color:#c85a23}.codingtest-session-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:20px;display:grid}.codingtest-problem-nav-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;flex-direction:column;gap:14px;padding:24px;display:flex}.codingtest-problem-nav-list{flex-direction:column;gap:10px;display:flex}.codingtest-problem-nav-button{border:1px solid var(--border);background:var(--surface-subtle);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:18px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.codingtest-problem-nav-button strong{font-size:15px}.codingtest-problem-nav-button span{color:var(--text-muted);font-size:12px}.codingtest-problem-nav-button.active{border-color:var(--primary);background:var(--primary-light)}.codingtest-problem-panel{gap:20px}.codingtest-problem-illustration{margin:0}.codingtest-problem-illustration-image{object-fit:cover;width:100%;height:auto;display:block}.codingtest-set-copy{flex-direction:column;gap:12px;display:flex}.codingtest-session-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.codingtest-session-return-link{box-shadow:0 12px 24px #1f243014}.codingtest-session-link-chip{color:var(--text);background:linear-gradient(#ffffffeb 0%,#fff7f1eb 100%);border:1px solid #ff8c4224;border-radius:16px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffffd6}.codingtest-problem-actions-panel{background:radial-gradient(circle at 100% 0,#ffffffb8,#0000 28%),linear-gradient(#fffdfb 0%,#fff7f1 100%);border:1px solid #ff8c4224;border-radius:22px;grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:14px;width:min(100%,540px);padding:14px 16px;display:grid;box-shadow:inset 0 1px #ffffffd1,0 16px 30px #ff8c4214}.codingtest-problem-action-status{align-items:center;gap:12px;min-width:0;display:flex}.codingtest-problem-action-status.ready .codingtest-problem-action-icon-box{background:#56bd7824;border-color:#56bd7833}.codingtest-problem-action-icon-box{background:#ff8c421f;border:1px solid #ff8c4229;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.codingtest-problem-action-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.codingtest-problem-action-copy strong{color:var(--text);font-size:14px}.codingtest-problem-action-copy span{color:var(--text-muted);font-size:12px;line-height:1.6}.codingtest-problem-action-buttons,.codingtest-launcher-actions{flex-wrap:wrap;gap:10px;display:flex}.codingtest-problem-action-buttons{justify-content:flex-end}.codingtest-action-link,.codingtest-code-button,.codingtest-start-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.codingtest-action-link,.codingtest-code-button{min-width:148px}.codingtest-action-link{border-radius:999px}.codingtest-code-button{border-radius:999px;padding-inline:18px;box-shadow:0 14px 24px #ff8c4229}.codingtest-launcher-actions{align-items:center}.codingtest-code-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}@media (max-width:980px){.codingtest-session-grid,.codingtest-sample-split{grid-template-columns:1fr}.codingtest-problem-actions-panel{grid-template-columns:1fr;width:100%}.codingtest-problem-action-buttons{justify-content:flex-start}}
.salgu-hero{flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:16px;margin-bottom:20px;display:flex}.salgu-eyebrow{color:#ff8c42;align-items:center;gap:8px;margin-bottom:8px;font-weight:700;display:inline-flex}.salgu-problems-shell h1{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.15}.salgu-problems-shell p{color:#6b6b6b;margin:10px 0 0}.salgu-stats-card,.salgu-search-panel,.salgu-summary-card,.salgu-problem-card{background:#fff;border:1px solid #f3d7c4;border-radius:20px;box-shadow:0 10px 30px #ff8c4214}.salgu-stats-card{min-width:240px;padding:20px}.salgu-stat-label,.salgu-summary-title,.salgu-panel-label{color:#3b2a20;font-size:17px;font-weight:800}.salgu-stat-value{margin-top:6px;font-size:28px;font-weight:800}.salgu-stat-sub{color:#6b6b6b;margin-top:10px;font-size:14px}.salgu-week-strip{gap:10px;margin-bottom:18px;padding-bottom:8px;display:flex;overflow-x:auto}.salgu-search-panel{margin-bottom:18px;padding:16px 18px}.salgu-search-form{width:100%}.salgu-search-input-wrap{background:#fff8f4;border:1px solid #f3d7c4;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}.salgu-search-input{color:#1a1a1a;min-width:0;font:inherit;background:0 0;border:none;outline:none;flex:1}.salgu-search-input::placeholder{color:#8c7769}.salgu-search-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.salgu-search-submit,.salgu-search-clear{appearance:none;color:#d4651d;font:inherit;cursor:pointer;background:#fff8f4;border:1px solid #f3d7c4;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:8px 12px;font-weight:700;display:inline-flex}.salgu-search-submit{color:#fff;background:#ff8c42;border-color:#ff8c42}.salgu-search-submit:hover{background:#d96b1f;border-color:#d96b1f}.salgu-search-helper{color:#6b6b6b;margin-top:10px;font-size:14px}.salgu-week-pill{min-width:116px;color:inherit;background:#fff;border:1px solid #f3d7c4;border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;font-weight:700;text-decoration:none;display:flex}.salgu-week-emoticon{--salgu-emoticon-column:0;--salgu-emoticon-row:0;background-image:url(../media/emoticon.00ary72p2u4db.png);background-repeat:no-repeat;background-size:128px 96px;background-position:calc(var(--salgu-emoticon-column) * -32px) calc(var(--salgu-emoticon-row) * -32px);filter:drop-shadow(0 2px 3px #542a0e24);border-radius:8px;flex:none;width:32px;height:32px}.salgu-week-emoticon-smile{--salgu-emoticon-column:0;--salgu-emoticon-row:0}.salgu-week-emoticon-happy{--salgu-emoticon-column:1;--salgu-emoticon-row:0}.salgu-week-emoticon-joy{--salgu-emoticon-column:2;--salgu-emoticon-row:0}.salgu-week-emoticon-cry{--salgu-emoticon-column:3;--salgu-emoticon-row:0}.salgu-week-emoticon-angry{--salgu-emoticon-column:0;--salgu-emoticon-row:1}.salgu-week-emoticon-nervous{--salgu-emoticon-column:1;--salgu-emoticon-row:1}.salgu-week-emoticon-surprised{--salgu-emoticon-column:2;--salgu-emoticon-row:1}.salgu-week-emoticon-sleep{--salgu-emoticon-column:3;--salgu-emoticon-row:1}.salgu-week-emoticon-love{--salgu-emoticon-column:0;--salgu-emoticon-row:2}.salgu-week-emoticon-think{--salgu-emoticon-column:1;--salgu-emoticon-row:2}.salgu-week-emoticon-wink{--salgu-emoticon-column:2;--salgu-emoticon-row:2}.salgu-week-emoticon-party{--salgu-emoticon-column:3;--salgu-emoticon-row:2}.salgu-week-pill-label,.salgu-title-with-icon,.salgu-inline-button,.salgu-header-start-button,.salgu-ghost-button,.salgu-secondary-button,.salgu-timer-chip,.salgu-problem-meta span{align-items:center;gap:8px;display:inline-flex}.salgu-title-with-icon>.salgu-inline-icon,.salgu-inline-button>.salgu-inline-icon,.salgu-header-start-button>.salgu-inline-icon,.salgu-ghost-button>.salgu-inline-icon,.salgu-secondary-button>.salgu-inline-icon,.salgu-timer-chip>.salgu-inline-icon,.salgu-eyebrow-with-icon>.salgu-inline-icon,.salgu-title-with-icon>.salgu-inline-icon img,.salgu-inline-button>.salgu-inline-icon img,.salgu-header-start-button>.salgu-inline-icon img,.salgu-ghost-button>.salgu-inline-icon img,.salgu-secondary-button>.salgu-inline-icon img,.salgu-timer-chip>.salgu-inline-icon img,.salgu-eyebrow-with-icon>.salgu-inline-icon img{width:1em;height:1em}.salgu-summary-title.salgu-title-with-icon{gap:12px;font-size:30px;line-height:1.2}.salgu-summary-title.salgu-title-with-icon .site-icon img{width:30px;height:30px}.salgu-week-pill small{color:#6b6b6b;font-weight:600}.salgu-week-pill.active{color:#d4651d;background:#ffefe4;border-color:#ff8c42}.salgu-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px;display:grid}.salgu-summary-card{padding:18px}.salgu-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.salgu-list-toolbar-copy{gap:6px;display:grid}.salgu-list-toolbar-description{color:#6b6b6b;margin:0;font-size:14px}.salgu-progress-track{background:#fff2ea;border-radius:999px;height:12px;margin:14px 0 10px;overflow:hidden}.salgu-progress-fill{will-change:width;background:linear-gradient(90deg,#ff8c42 0%,#ffc06f 100%);height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.salgu-summary-meta{color:#6b6b6b;justify-content:space-between;gap:12px;font-size:14px;display:flex}.salgu-ghost-button,.salgu-primary-button,.salgu-secondary-button,.salgu-problem-header{appearance:none;font:inherit;border:none}.salgu-ghost-button{color:#1a1a1a;text-align:center;background:#fff8f4;border:1px solid #f3d7c4;border-radius:14px;padding:12px 14px;font-weight:700;text-decoration:none}.salgu-ghost-button.disabled{opacity:.45;pointer-events:none}.salgu-card-list{flex-direction:column;gap:14px;display:flex}.salgu-empty-state{color:#5f524a;background:#fffdfa;border:1px dashed #f3d7c4;border-radius:20px;gap:6px;padding:22px 20px;display:grid}.salgu-empty-state strong{color:#3b2a20;font-size:17px}.salgu-problem-card{animation:.42s cubic-bezier(.22,1,.36,1) both salgu-problem-card-enter;animation-delay:calc(var(--card-index,0) * 55ms);transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.salgu-problem-card:hover{transform:translateY(-1px);box-shadow:0 16px 34px #ff8c421f}.salgu-problem-card.solved{border-color:#3daa5c80;box-shadow:0 12px 30px #3daa5c14}.salgu-problem-card.salgu-status-solved{border-color:#3daa5c57}.salgu-problem-card.salgu-status-master{border-color:#5b4fd65c;box-shadow:0 12px 30px #5b4fd614}.salgu-problem-header{text-align:left;cursor:pointer;background:linear-gradient(#fffdfa 0%,#fff7f1 100%);align-items:center;gap:14px;width:100%;padding:20px 18px;transition:background .2s,box-shadow .2s;display:flex}.salgu-problem-header:hover{background:linear-gradient(#fffaf6 0%,#ffefe3 100%)}.salgu-problem-header:focus-visible{outline-offset:-3px;outline:3px solid #d96b1f2e}.salgu-problem-number{color:#d4651d;letter-spacing:-.01em;white-space:nowrap;background:linear-gradient(#fff1e6 0%,#ffe1cb 100%);border:1px solid #d96b1f2e;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;min-width:116px;height:46px;padding:0 16px;font-size:15px;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffffb8}.salgu-problem-copy{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.salgu-problem-title{color:#1f160f;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:18px;font-weight:800;line-height:1.35;overflow:hidden}.salgu-header-controls{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.salgu-problem-actions{flex-flow:row;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.salgu-timer-chip,.salgu-solve-pill{background:#fff8f4;border:1px solid #f6ddd0;border-radius:999px;padding:8px 12px;font-weight:700}.salgu-header-start-button{appearance:none;color:#fff;cursor:pointer;background:#ff8c42;border:1px solid #f3d7c4;border-radius:999px;flex-shrink:0;padding:8px 12px;font-weight:700}.salgu-header-start-button:hover{background:#d96b1f}.salgu-timer-chip.running,.salgu-timer-big.running{color:#d4651d}.salgu-solve-pill.unsolved{color:#6f6259;background:#f4f1ee;border-color:#6f625924}.salgu-solve-pill.done{color:#2d8f4a;background:#ecf8ef}.salgu-solve-pill.solved{color:#2d8f4a;background:#ecf8ef;border-color:#2d8f4a24}.salgu-solve-pill.master{color:#5b4fd6;background:#f2efff;border-color:#5b4fd62e}.salgu-toggle-button{appearance:none;color:#d96b1f;cursor:pointer;transform-origin:50%;will-change:transform;background:#fff8f4;border:1px solid #f3d7c4;border-radius:999px;flex-shrink:0;place-items:center;width:34px;height:34px;padding:0;font-size:16px;line-height:1;transition:transform .28s cubic-bezier(.22,1,.36,1),background .18s,border-color .18s,box-shadow .18s;display:grid}.salgu-problem-header:hover .salgu-toggle-button{background:#fff1e7}.salgu-toggle-button.open{background:#ffefe3;border-color:#d96b1f3d;transform:rotate(180deg)scale(1.04);box-shadow:0 8px 16px #d96b1f1f}.salgu-toggle-button:focus-visible,.salgu-header-start-button:focus-visible{outline-offset:2px;outline:3px solid #d96b1f38}.salgu-problem-body{padding:0 18px 18px;display:none}.salgu-problem-body.open{animation:.24s cubic-bezier(.22,1,.36,1) salgu-problem-body-enter;display:block}.salgu-detail-stack{flex-direction:column;gap:14px;display:flex}.salgu-panel{background:#fffdfb;border:1px solid #f3d7c4;border-radius:16px;margin-top:10px;padding:18px}.salgu-detail-panel{flex-direction:column;gap:12px;display:flex}.salgu-statement-panel{gap:18px}.salgu-problem-illustration{justify-content:center;display:flex}.salgu-problem-image{width:50%;max-width:100%;height:auto;display:block}.salgu-problem-subimage-stack{grid-template-columns:1fr;gap:14px;display:grid}.salgu-problem-subimage-stack.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.salgu-problem-subimage-stack.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.salgu-problem-subimage-figure{flex-direction:column;gap:8px;margin:0;display:flex}.salgu-problem-subimage-caption{color:#9a4b17;letter-spacing:-.01em;font-size:14px;font-weight:900}.salgu-problem-subimage{background:#fff;border:1px solid #f3d7c4;border-radius:12px;width:100%;max-width:760px;height:auto;display:block}@media (max-width:860px){.salgu-problem-subimage-stack.two-up,.salgu-problem-subimage-stack.three-up{grid-template-columns:1fr}}.salgu-detail-title{color:#1a1a1a;letter-spacing:-.02em;margin:0;font-size:24px;font-weight:900;line-height:1.2}.salgu-description{white-space:pre-wrap;color:#2c2c2c;line-height:1.65}.salgu-statement-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.salgu-statement-block{flex-direction:column;gap:10px;display:flex}.salgu-description-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.salgu-problems-shell pre{white-space:pre-wrap;word-break:break-word;border-radius:14px;margin:8px 0 0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;overflow-x:auto}.salgu-statement-pre{box-sizing:border-box;color:#2c2c2c;white-space:pre;word-break:normal;background:#fff8f4;border:1px solid #f3d7c4;width:100%;margin:0;box-shadow:inset 0 0 0 1px #ff8c4214}.salgu-plain-block{color:#2c2c2c;background:#fff8f4;border:1px solid #f3d7c4;margin:0}.salgu-statement-copy{white-space:normal;flex-direction:column;gap:10px;display:flex}.salgu-statement-copy p{margin:0}.salgu-statement-table-wrap{max-width:100%;overflow-x:auto}.salgu-statement-table{border-collapse:collapse;background:#fffdfb;border:1px solid #f3d7c4;border-radius:14px;width:max-content;min-width:min(100%,220px);overflow:hidden;box-shadow:0 12px 24px #7c3b1614}.salgu-statement-table th,.salgu-statement-table td{color:#2c2c2c;text-align:center;border:1px solid #f3d7c4;min-width:36px;padding:8px 10px;font-size:14px;line-height:1.35}.salgu-statement-table-pre{text-align:left;width:auto;min-width:max-content;margin:0;display:inline-block}.salgu-statement-table th{color:#8a4218;background:#fff1e7;font-weight:800}.salgu-sample-stack{flex-direction:column;gap:14px;display:flex}.salgu-private-testcase-stack{border-top:1px dashed #f3d7c4;flex-direction:column;gap:14px;margin-top:4px;padding-top:16px;display:flex}.salgu-private-testcase-toggle{appearance:none;width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff8f4;border:1px solid #f3d7c4;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.salgu-private-testcase-toggle:hover{background:#ffeede;border-color:#ffb07a}.salgu-private-testcase-toggle>div{flex:1;min-width:0}.salgu-private-testcase-title{align-items:center;gap:8px;display:inline-flex}.salgu-private-testcase-title .salgu-inline-icon,.salgu-private-testcase-title .salgu-inline-icon img{width:1em;height:1em}.salgu-private-testcase-toggle p{color:#7d6f66;margin:4px 0 0;font-size:13px;line-height:1.45}.salgu-private-testcase-count{color:#d96b1f;background:#fff;border:1px solid #d96b1f2e;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:700;line-height:16px;display:inline-flex}.salgu-private-testcase-chevron{color:#d96b1f;flex-shrink:0;margin-top:0;transition:transform .18s}.salgu-private-testcase-chevron.open{transform:rotate(180deg)}.salgu-private-testcase-body{flex-direction:column;gap:14px;display:flex}.salgu-private-testcase-body[hidden]{display:none}.salgu-private-testcase-block{max-height:360px;overflow-y:auto}.salgu-copy-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.salgu-copy-button{appearance:none;color:#d96b1f;cursor:pointer;background:#fff8f4;border:1px solid #f3d7c4;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.salgu-copy-button.copied{color:#2d8f4a;background:#ecf8ef;border-color:#2d8f4a40}.salgu-copy-button:hover{background:#ffe9d8;border-color:#ffb07a}.salgu-solution-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.salgu-solution-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.salgu-inline-button{align-self:flex-start}.salgu-code-window{background:#282a36;border:1px solid #d8d8dc;border-radius:18px;overflow:hidden;box-shadow:0 2px 6px #0000000f,0 18px 40px #00000014}.salgu-code-window-topbar{background:linear-gradient(90deg,#2a2a2a 0%,#1f1f1f 45%,#252525 100%);border-bottom:1px solid #ffffff0f;align-items:center;height:42px;padding:0 22px;display:flex}.salgu-code-window-lights{align-items:center;gap:14px;display:flex}.salgu-code-window-light{border-radius:999px;width:12px;height:12px;box-shadow:inset 0 1px 1px #ffffff40}.salgu-code-window-light-red{background:#ff6b5f}.salgu-code-window-light-yellow{background:#f6c84f}.salgu-code-window-light-green{background:#63cf5a}.salgu-solution-block{min-height:160px;margin:0}.salgu-code-window .salgu-solution-block{border:0;border-radius:0}.salgu-solution-placeholder{color:#5f524a;background:#fff8f4;border:1px solid #f3d7c4}.salgu-code-block{color:#f8f8f2;background:#282a36;border:1px solid #44475a;box-shadow:inset 0 1px #ffffff08}.salgu-code-block .token.preprocessor,.salgu-code-block .token.keyword{color:#ff79c6}.salgu-code-block .token.type{color:#8be9fd}.salgu-code-block .token.string{color:#f1fa8c}.salgu-code-block .token.number{color:#bd93f9}.salgu-code-block .token.comment{color:#6272a4}.salgu-code-block .token.function,.salgu-code-block .token.builtin{color:#50fa7b}.salgu-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;display:flex}.salgu-timer-big{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:34px;font-weight:800}.salgu-helper-copy{color:#6b6b6b;margin-top:6px;font-size:13px}.salgu-control-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-left:auto;display:flex}.salgu-primary-button,.salgu-secondary-button{cursor:pointer;border-radius:14px;padding:12px 16px;font-weight:700}.salgu-inline-icon{opacity:.95}.salgu-inline-icon-inverse{filter:brightness(0)invert()}.salgu-primary-button{color:#fff;background:#ff8c42}.salgu-primary-button.secondary-accent{color:#d4651d;background:#fff0e6}.salgu-secondary-button{color:#1a1a1a;background:#fff;border:1px solid #f3d7c4}.salgu-toast{color:#fff;z-index:50;background:#1a1a1a;border-radius:999px;padding:14px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0003}.salgu-celebration-overlay{z-index:70;pointer-events:none;background:radial-gradient(circle at 50% 42%,#ffffffe6 0 14%,#fff5eb6b 32%,#fff8f414 66%),#fff8f429;place-items:center;animation:2.2s ease-out forwards salgu-celebration-overlay-fade;display:grid;position:fixed;inset:0}.salgu-celebration-stage{place-items:center;width:min(480px,92vw);height:min(480px,72vh);display:grid;position:relative}.salgu-firework{filter:drop-shadow(0 16px 28px #ff8c422e);width:188px;height:188px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.salgu-firework-left{transform:translate(calc(-50% - 142px),calc(-50% - 54px))scale(.88)}.salgu-firework-center{transform:translate(-50%,calc(-50% - 132px))scale(.76)}.salgu-firework-right{transform:translate(calc(142px - 50%),calc(-50% - 54px))scale(.88)}.salgu-firework-left .salgu-firework-ray:before,.salgu-firework-left .salgu-firework-core{background:linear-gradient(#ffe27a 0%,#ff8c42 68%,#ff6f61 100%)}.salgu-firework-center .salgu-firework-ray:before,.salgu-firework-center .salgu-firework-core{background:linear-gradient(#fff1a7 0%,#ffc066 54%,#ff8c42 100%)}.salgu-firework-right .salgu-firework-ray:before,.salgu-firework-right .salgu-firework-core{background:linear-gradient(#ffd0ff 0%,#ff9ec4 48%,#ff7b72 100%)}.salgu-firework-ray{transform:rotate(var(--rotation));position:absolute;inset:0}.salgu-firework-ray:before{content:"";opacity:0;transform-origin:50% 0;width:8px;height:82px;animation:.98s cubic-bezier(.18,.9,.32,1) forwards salgu-firework-burst;animation-delay:var(--ray-delay);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)scaleY(.15);box-shadow:0 0 18px #ffffffb8}.salgu-firework-core{border-radius:999px;width:18px;height:18px;animation:.98s ease-out forwards salgu-firework-core;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.25);box-shadow:0 0 0 10px #ffffff47,0 0 30px #ff8c426b}.salgu-celebration-card{z-index:1;text-align:center;background:#ffffffe6;border:1px solid #ff8c423d;border-radius:32px;align-content:center;justify-items:center;gap:10px;width:min(340px,86vw);min-height:260px;padding:24px 24px 26px;animation:1.05s cubic-bezier(.16,1,.3,1) forwards salgu-celebration-card-pop;display:grid;position:relative;box-shadow:0 26px 62px #ff8c4233,inset 0 1px #ffffffe6}.salgu-celebration-image-wrap{background:radial-gradient(circle at 50% 45%,#ffd89270,#fff0 68%),#fff7ee;border:1px solid #ff8c422e;border-radius:999px;place-items:center;width:150px;height:150px;animation:1.15s ease-out forwards salgu-celebration-image-bounce;display:grid;overflow:hidden}.salgu-celebration-image{object-fit:contain;object-position:52% 50%;border-radius:24px;width:132px;height:132px}.salgu-celebration-card strong{color:#c85a11;font-size:clamp(20px,3vw,28px)}.salgu-celebration-card span{color:#6b6b6b;font-size:14px;line-height:1.4}@keyframes salgu-celebration-overlay-fade{0%{opacity:0}12%,76%{opacity:1}to{opacity:0}}@keyframes salgu-firework-burst{0%{opacity:0;transform:translate(-50%,-35%)scaleY(.08)}20%{opacity:1}55%{opacity:1;transform:translate(-50%,-110%)scaleY(1)}to{opacity:0;transform:translate(-50%,-128%)scaleY(.72)}}@keyframes salgu-firework-core{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)}25%{opacity:1}55%{opacity:1;transform:translate(-50%,-50%)scale(1.22)}to{opacity:0;transform:translate(-50%,-50%)scale(.82)}}@keyframes salgu-celebration-card-pop{0%{opacity:0;transform:translateY(18px)scale(.84)}45%{opacity:1;transform:translateY(-4px)scale(1.03)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes salgu-celebration-image-bounce{0%{transform:translateY(12px)rotate(-5deg)scale(.88)}48%{transform:translateY(-5px)rotate(2deg)scale(1.04)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes salgu-problem-card-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes salgu-problem-body-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.salgu-celebration-overlay,.salgu-firework-ray:before,.salgu-firework-core,.salgu-celebration-card,.salgu-celebration-image-wrap,.salgu-problem-card,.salgu-problem-body.open{animation-duration:1ms}.salgu-toggle-button,.salgu-progress-fill{transition-duration:1ms}}@media (max-width:768px){.salgu-search-input-wrap{flex-wrap:wrap}.salgu-search-actions{width:100%}.salgu-search-submit,.salgu-search-clear{flex:1;justify-content:center}.salgu-list-toolbar>.salgu-ghost-button{justify-content:center;width:100%}.salgu-problem-header{gap:10px}.salgu-problem-number{min-width:94px;height:40px;padding:0 12px;font-size:14px}.salgu-problem-copy{gap:8px}.salgu-problem-title{font-size:16px}.salgu-header-controls{justify-content:flex-start;gap:6px}.salgu-problem-actions{align-items:center;gap:8px}.salgu-controls-row{align-items:stretch}.salgu-control-buttons{width:100%}.salgu-primary-button,.salgu-secondary-button{flex:1;justify-content:center}.salgu-copy-button{width:32px;height:32px}.salgu-firework{width:148px;height:148px}.salgu-firework-left{transform:translate(calc(-50% - 96px),calc(-50% - 46px))scale(.78)}.salgu-firework-center{transform:translate(-50%,calc(-50% - 118px))scale(.68)}.salgu-firework-right{transform:translate(calc(96px - 50%),calc(-50% - 46px))scale(.78)}.salgu-celebration-card{width:min(308px,90vw);min-height:238px;padding:20px}.salgu-celebration-image-wrap{width:128px;height:128px}.salgu-celebration-image{width:112px;height:112px}}
