.public-report-page{min-height:100vh;padding:40px 20px;color:#27211a;background:radial-gradient(circle at 12% 8%,rgba(255,184,77,.22),transparent 30%),radial-gradient(circle at 88% 12%,rgba(37,99,235,.14),transparent 28%),linear-gradient(180deg,#fff8ef,#f7f3eb 46%,#eef2ff)}.public-report-shell,.report-detail-container{width:min(1080px,100%);margin:0 auto}.full-width{width:100%}.public-report-hero{margin-bottom:24px;overflow:hidden;color:#fff;border-radius:28px;background:linear-gradient(135deg,#111827f5,#1e40afeb 56%,#f97316eb),radial-gradient(circle at 80% 18%,rgba(255,255,255,.24),transparent 22%);box-shadow:0 26px 60px #432e1538}.public-report-hero .ant-card-body{padding:34px}.public-report-hero h1{margin:0;color:#fff;font-size:clamp(30px,4vw,44px);letter-spacing:-.04em}.public-report-hero p,.public-report-hero .ant-typography:not(h1){color:#ffffffdb}.public-report-hero p{max-width:720px;margin:0;font-size:16px;line-height:1.8}.hero-tag{width:-moz-fit-content;width:fit-content;border:0;color:#3b2300;background:#ffd28a}.lookup-card,.stat-card,.report-list-card{border:1px solid rgba(226,214,198,.86);border-radius:24px;box-shadow:0 16px 42px #543c1f14}.lookup-card .ant-card-body{padding:26px}.lookup-card h3{margin:6px 0 0}.captcha-frame{display:flex;min-height:62px;width:100%;align-items:center;justify-content:center;overflow:hidden;border:1px solid #eadfce;border-radius:16px;background:linear-gradient(180deg,#fffaf2,#f8f3ea);cursor:pointer}.captcha-frame img{width:140px;height:46px}.captcha-frame:disabled{cursor:wait}.access-result{padding:8px 0 0}.access-result .ant-result-title{font-size:18px}.stat-card{background:#ffffffd1}.stat-card .ant-statistic-title{color:#7a7167;font-weight:600}.stat-card .ant-statistic-content{color:#f97316;font-weight:800}.report-list-card .ant-card-head{padding:0 28px;border-bottom:1px solid #eee5d8}.report-list-card .ant-card-body{padding:28px}.report-list-loading{padding:80px 0;text-align:center}.report-list-item{margin-bottom:14px;padding:24px 28px!important;border:1px solid #f6d9aa!important;border-radius:22px;background:linear-gradient(90deg,#fff8edfa,#fffcf6f5);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.report-list-item:hover{transform:translateY(-2px);border-color:#ffbd70!important;box-shadow:0 16px 30px #bb742424}.report-list-name{color:#18120b;font-size:18px;font-weight:800}.score-pill{display:inline-flex;min-width:84px;align-items:center;justify-content:center;padding:4px 10px;border-radius:9px;font-size:15px;font-weight:800;line-height:1.2}.score-pill.excellent{color:#047857;border:1px solid #86efac;background:#ecfdf5}.score-pill.strong{color:#0369a1;border:1px solid #7dd3fc;background:#eff6ff}.score-pill.stable{color:#1d4ed8;border:1px solid #93c5fd;background:#eff6ff}.score-pill.warm{color:#a16207;border:1px solid #facc15;background:#fefce8}.score-pill.risk{color:#b91c1c;border:1px solid #fca5a5;background:#fef2f2}.score-pill.muted{color:#64748b;border:1px solid #cbd5e1;background:#f8fafc}.public-report-detail-page{min-height:100vh;padding:28px 20px 120px;background:radial-gradient(circle at 10% 6%,rgba(255,168,58,.22),transparent 24%),radial-gradient(circle at 88% 12%,rgba(96,165,250,.16),transparent 24%),linear-gradient(180deg,#fff9f2,#f8f2e9 38%,#f4f5f8)}.public-report-detail-topbar{position:sticky;top:16px;z-index:50;width:min(1080px,100%);margin:0 auto 20px;padding:16px 18px;border:1px solid rgba(233,223,209,.9);border-radius:22px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;box-shadow:0 18px 36px #3d2e1d14}.public-report-detail-topbar .ant-btn{border-radius:14px}.detail-topbar-main{display:flex;align-items:center;justify-content:space-between;gap:18px}.detail-topbar-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.detail-topbar-kicker{color:#9a7e57;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.detail-topbar-copy h2{margin:0;color:#21170f;font-size:clamp(26px,4vw,36px);font-weight:900;letter-spacing:-.04em}.detail-topbar-meta{display:flex;flex-wrap:wrap;gap:10px;color:#716659;font-size:14px}.detail-topbar-status{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #86efac;color:#047857;background:#ecfdf5;font-weight:800;white-space:nowrap}.report-detail-loading-screen{display:flex;width:min(1080px,100%);min-height:420px;margin:0 auto;align-items:center;justify-content:center;border:1px solid rgba(233,223,209,.9);border-radius:28px;background:#ffffffd6;box-shadow:0 16px 42px #3d2e1d14}.report-detail-container{display:flex;flex-direction:column;gap:18px}.score-header-card{position:relative;overflow:hidden;padding:34px;border-radius:30px;background:linear-gradient(145deg,#ff9f1c,#f6a623 58%,#ffc65c);box-shadow:0 22px 48px #b86e0d2e}.score-header-card:after{content:"";position:absolute;right:-72px;top:-64px;width:280px;height:280px;border-radius:999px;background:#ffffff24}.score-main{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:stretch}.score-info{display:flex;flex-direction:column;min-width:0}.score-badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.score-grade-badge,.score-level-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:800;border:1px solid rgba(255,255,255,.28)}.score-grade-badge{color:#fff7e8;background:#4d26002e}.score-level-badge{color:#fffffff5;background:#ffffff2e}.score-level-badge.exam{background:#ffffff1f}.score-headline{display:block;color:#fff;font-size:clamp(40px,5vw,56px);line-height:1.08;font-weight:900;letter-spacing:-.06em}.score-lead{display:block;margin-top:14px;color:#fffffff0;font-size:19px;line-height:1.65;font-weight:700}.score-footnote{display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}.score-footnote-title{color:#fffffff7;font-size:15px;font-weight:800}.score-footnote-text{color:#ffffffd6;font-size:15px;line-height:1.6}.score-grade-panel{position:relative;z-index:1;display:flex;min-height:192px;flex-direction:column;align-items:center;justify-content:center;border-radius:28px;border:1px solid rgba(255,255,255,.38);background:#ffffff2e;box-shadow:inset 0 1px #fff3}.score-grade-letter{color:#fff;font-size:88px;line-height:1;font-weight:900;letter-spacing:-.06em}.score-grade-unit{margin-top:8px;color:#ffffffdb;font-size:22px;font-weight:800}.score-summary-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:22px;padding:20px 22px;border-radius:22px;border:1px solid rgba(255,255,255,.18);background:#ffffff29}.score-summary-label{color:#ffffffdb;font-size:14px;font-weight:800}.score-summary{display:-webkit-box;overflow:hidden;color:#fffffff5;font-size:17px;line-height:1.72;-webkit-line-clamp:2;-webkit-box-orient:vertical}.score-summary.expanded{display:block}.summary-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#4d260029;color:#fffffff2;font-size:13px;font-weight:700}.identity-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.identity-item{min-width:0;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#ffffff24}.identity-label{display:block;color:#ffffffb8;font-size:12px;font-weight:700}.identity-value{display:block;overflow:hidden;margin-top:4px;color:#fff;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.report-nav-card,.suggestion-card,.metrics-card{border:1px solid #ebe3d7;border-radius:28px;background:#ffffffeb;box-shadow:0 10px 24px #3d2e1d0d}.report-nav-card{padding:24px}.report-nav-head{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.report-nav-title{color:#2f2a24;font-size:22px;font-weight:800}.report-nav-subtitle{color:#7b736a;font-size:14px;line-height:1.5}.report-nav-list{display:flex;flex-wrap:wrap;gap:12px}.report-nav-chip{min-height:40px;padding:0 18px;border:1px solid #f6d7b2;border-radius:999px;background:#fff4e6;color:#aa5e00;font-size:14px;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.report-nav-chip:hover{transform:translateY(-1px);box-shadow:0 12px 18px #ff9f1c26}.report-nav-chip-text{line-height:38px}.suggestion-card{position:relative;overflow:hidden;padding:30px 28px}.suggestion-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,#ff9500,#ffbc42)}.card-header{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.card-header.compact{margin-bottom:20px}.card-title{color:#2f2a24;font-size:28px;font-weight:900;letter-spacing:-.03em}.card-subtitle{color:#8a8178;font-size:14px;line-height:1.55}.brief-grid,.summary-grid,.dimension-detail-list,.risk-list,.checklist-list,.week-plan-list,.sprint-plan-list,.chart-bar-list,.training-plan{display:flex;flex-direction:column;gap:14px}.brief-grid{gap:16px}.brief-item{padding:24px 22px;border:1px solid #efe6da;border-radius:22px}.brief-item.warm{background:linear-gradient(180deg,#fff8f1,#fff1df)}.brief-item.accent{background:linear-gradient(180deg,#fff9ef,#fdeccb)}.brief-item.calm{background:linear-gradient(180deg,#f6f9ff,#eef4ff)}.brief-label{display:block;margin-bottom:10px;color:#8a5c1a;font-size:14px;font-weight:800}.brief-text{display:block;color:#2f2a24;font-size:18px;line-height:1.65;font-weight:700}.metrics-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px}.metric-item{min-height:132px;padding:18px 16px;border:1px solid #f0e7db;border-radius:20px;background:linear-gradient(180deg,#fffdf9,#faf6f0)}.metric-content{display:flex;flex-direction:column;gap:10px}.metric-label{color:#847b72;font-size:14px;font-weight:700}.metric-value{color:#2f2a24;font-size:34px;line-height:1.1;font-weight:900;letter-spacing:-.04em}.metric-value.wpm-fast{color:#ff4b4b}.metric-value.wpm-slow{color:#1cb0f6}.metric-value.wpm-normal{color:#58cc02}.executive-summary-card:before{background:linear-gradient(90deg,#ff9500,#f5a623)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-box{padding:18px;border:1px solid #e5e5e5;border-radius:16px;border-bottom-width:4px;background:linear-gradient(180deg,#fff,#f8fbff)}.summary-box-title{display:block;margin-bottom:8px;color:#1cb0f6;font-size:14px;font-weight:800}.summary-box-text{display:block;color:#3c3c3c;font-size:16px;line-height:1.58}.dimension-detail-card .card-subtitle,.ability-card-wrap .card-subtitle,.speech-card .card-subtitle,.highlight-card .card-subtitle,.judge-lens-card .card-subtitle,.risk-register-card .card-subtitle,.charts-card .card-subtitle,.coach-plan-card .card-subtitle,.week-plan-card .card-subtitle,.sprint-plan-card .card-subtitle,.checklist-card .card-subtitle,.sprint-calendar-card .card-subtitle,.parent-letter-card .card-subtitle,.heatmap-card .card-subtitle,.vocab-card .card-subtitle,.peer-card .card-subtitle,.course-card-wrap .card-subtitle{max-width:760px}.dimension-detail-list{gap:16px}.dim-detail-item{padding:20px;border:1px solid #e5e5e5;border-radius:18px;background:#fff}.dim-detail-header{display:grid;grid-template-columns:34px 120px minmax(0,1fr) auto;gap:12px;align-items:center}.dim-detail-icon{font-size:26px}.dim-detail-name{color:#3c3c3c;font-size:18px;font-weight:800}.dim-detail-bar{height:12px;overflow:hidden;border-radius:999px;background:#ece5da}.dim-detail-fill{height:100%;border-radius:999px}.dim-detail-score{font-size:18px;font-weight:900}.dim-detail-comments{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;border-top:1px dashed #e5e5e5}.dim-comment-row{display:flex;align-items:flex-start;gap:10px}.dim-comment-index{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:#fff1dc;color:#c47715;font-size:13px;font-weight:800}.dim-comment{flex:1;color:#65584a;font-size:15px;line-height:1.65}.ability-card-wrap:before{background:linear-gradient(90deg,#22c55e,#4ade80)}.ability-grid,.judge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ability-card,.judge-card{padding:20px;border:1px solid #ebe5d7;border-radius:20px;background:linear-gradient(180deg,#fff,#fffdf9)}.ability-top{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.ability-name{color:#2f2a24;font-size:17px;font-weight:800}.ability-level-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;color:#fff;font-size:12px;font-weight:800}.ability-level-badge.ability-excellent{background:linear-gradient(135deg,#22c55e,#16a34a)}.ability-level-badge.ability-good{background:linear-gradient(135deg,#3b82f6,#2563eb)}.ability-level-badge.ability-improve{background:linear-gradient(135deg,#f59e0b,#d97706)}.ability-level-badge.ability-weak{background:linear-gradient(135deg,#ef4444,#dc2626)}.ability-score{color:#2f2a24;font-size:22px;font-weight:900}.ability-progress{height:10px;overflow:hidden;margin-top:14px;border-radius:999px;background:#ece5da}.ability-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ff9500,#ffbc42)}.ability-bottom{margin-top:14px}.ability-evidence{display:block;color:#65584a;font-size:15px;line-height:1.6}.ability-action{margin-top:12px;padding:10px 12px;border-left:3px solid #ff9500;border-radius:10px;background:#fff8f0;color:#915005;font-size:14px;line-height:1.58}.speech-card:before{background:linear-gradient(90deg,#1cb0f6,#60a5fa)}.speech-group{margin-top:20px}.speech-group-title{display:block;margin-bottom:12px;color:#3c2d1d;font-size:18px;font-weight:800}.speech-item{margin-bottom:12px;padding:18px 20px;border-radius:18px;background:#fff8ef}.speech-item-title{display:block;margin-bottom:8px;color:#2f2418;font-size:17px;font-weight:800}.speech-item-text{display:block;color:#73573c;font-size:15px;line-height:1.7}.highlight-card:before{background:linear-gradient(90deg,#ff9500,#22c55e)}.highlight-section{margin-bottom:20px}.highlight-section:last-child{margin-bottom:0}.section-label{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:800}.positive-label{color:#c70;background:#fff5e6}.improve-label{color:#1899d6;background:#e8f4fd}.highlight-item{display:flex;align-items:flex-start;gap:14px;margin-top:12px;padding:18px 20px;border-radius:18px}.highlight-positive{border-left:4px solid #ff9500;background:#fff5e6}.highlight-improve{border-left:4px solid #1cb0f6;background:#e8f4fd}.highlight-time-badge{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:34px;padding:0 12px;border-radius:999px;background:#ffffffd1;color:#5d3b00;font-size:13px;font-weight:800;cursor:pointer}.highlight-text-wrap{display:flex;flex-direction:column;gap:8px}.highlight-text,.highlight-suggestion{color:#3c3c3c;font-size:15px;line-height:1.6}.highlight-suggestion{color:#4b7a9c}.locked-wrap{display:flex;flex-direction:column;gap:18px}.video-review-card:before{background:linear-gradient(90deg,#f97316,#fbbf24)}.video-wrapper{position:relative;overflow:hidden;border-radius:22px;border:1px solid #ede1d1;background:#111827}.video-player{display:block;width:100%;max-height:520px;background:#111827}.video-placeholder{display:flex;min-height:320px;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc,#eef2f7)}.placeholder-content{display:flex;flex-direction:column;align-items:center;gap:12px}.placeholder-icon{font-size:56px;opacity:.72}.placeholder-text{color:#7d8794;font-size:16px;font-weight:700}.video-markers-overlay{position:absolute;inset:auto 0 14px;height:28px;pointer-events:none}.marker{position:absolute;bottom:0;width:16px;height:16px;border:2px solid rgba(255,255,255,.72);border-radius:999px;transform:translate(-50%);pointer-events:auto}.marker.positive{background:#58cc02}.marker.negative{background:#ff4b4b}.marker.suggestion{background:#ffc800}.marker-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);opacity:0;padding:4px 8px;border-radius:8px;background:#111827eb;color:#fff;font-size:12px;white-space:nowrap;transition:opacity .12s ease}.marker:hover .marker-tooltip{opacity:1}.timeline-scroll{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px}.timeline-item{padding:16px 18px;border:1px solid #f0e6d6;border-bottom-width:4px;border-radius:18px;background:#fffdf8;text-align:left;cursor:pointer}.timeline-item.positive{border-left:4px solid #58cc02}.timeline-item.negative{border-left:4px solid #ff4b4b}.timeline-item.suggestion{border-left:4px solid #ffc800}.timeline-row{display:flex;align-items:flex-start;gap:12px}.timeline-content{flex:1}.timeline-time{display:block;margin-bottom:6px;color:#ff9500;font-size:13px;font-weight:800}.timeline-desc{color:#3c3c3c;font-size:15px;line-height:1.55}.timeline-actions{display:flex;flex-direction:column;gap:8px}.timeline-expand-btn,.timeline-seek-btn{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800}.timeline-expand-btn{color:#ff9500;background:#fff5e6}.timeline-seek-btn{color:#1cb0f6;background:#e8f4fd}.timeline-full{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed #e5e5e5}.timeline-full-text{color:#5d5144;font-size:14px;line-height:1.6}.section-anchor{height:0}.judge-lens-card:before{background:linear-gradient(90deg,#6366f1,#818cf8)}.judge-card{background:linear-gradient(180deg,#fff,#f8fbff)}.judge-card-title{display:block;margin-bottom:8px;color:#3c3c3c;font-size:17px;font-weight:800}.judge-card-desc{display:block;color:#777;font-size:15px;line-height:1.58}.risk-register-card:before{background:linear-gradient(90deg,#ef4444,#f97316)}.risk-item{padding:18px;border:1px solid #f0d5d5;border-left:6px solid #ff4b4b;border-radius:18px;background:linear-gradient(180deg,#fff9f9,#fff3f3)}.risk-item-title{display:block;margin-bottom:8px;color:#c33;font-size:17px;font-weight:800}.risk-item-desc{display:block;color:#775050;font-size:15px;line-height:1.58}.charts-card:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.chart-section{margin-bottom:24px}.chart-section:last-child{margin-bottom:0}.chart-section-title{display:block;margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed #e5e5e5;color:#3c3c3c;font-size:16px;font-weight:800}.chart-bar-row{display:grid;grid-template-columns:86px minmax(0,1fr) 56px;gap:12px;align-items:center}.chart-bar-label{color:#777;font-size:13px;font-weight:700}.chart-bar-track{height:14px;overflow:hidden;border-radius:999px;background:#f0f0f0}.chart-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1cb0f6,#58cc02)}.chart-bar-fill.chart-bar-warning{background:linear-gradient(90deg,#ff4b4b,#ff7070)}.chart-bar-value{text-align:right;color:#3c3c3c;font-size:14px;font-weight:900}.chart-bar-value.chart-value-warning{color:#ff4b4b}.coach-plan-card:before{background:linear-gradient(90deg,#22c55e,#4ade80)}.coach-plan-header{margin-bottom:20px}.coach-title-wrap{display:flex;flex-direction:column;gap:8px}.coach-diagnosis-banner,.coach-target-card,.training-task-card,.plan-step,.week-plan-item,.sprint-plan-item,.checklist-item,.course-main-card,.parent-letter-body{border:1px solid #e9e0d2;border-radius:20px;background:#fff}.coach-diagnosis-banner{margin-bottom:16px;padding:18px 20px;background:linear-gradient(180deg,#effbf3,#f9fffb)}.coach-diagnosis-label{display:block;margin-bottom:8px;color:#137f41;font-size:14px;font-weight:800}.coach-diagnosis-text{display:block;color:#31503c;font-size:16px;line-height:1.62}.coach-target-card{margin-bottom:16px;padding:20px;background:linear-gradient(180deg,#fff8f1,#fffdf8)}.coach-target-title{display:block;margin-bottom:12px;color:#3c2d1d;font-size:18px;font-weight:900}.coach-target-row{display:flex;align-items:center;gap:14px;color:#8d6421;font-size:16px;font-weight:800}.coach-target-arrow{color:#ff9500}.training-task-card,.plan-step{display:flex;align-items:flex-start;gap:16px;padding:18px}.step-number-circle{display:inline-flex;width:36px;height:36px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#ff9500,#ffbc42);color:#fff;font-weight:900}.step-number{font-size:15px}.training-task-main,.step-content{display:flex;flex:1;flex-direction:column;gap:10px}.training-task-title{color:#2f2a24;font-size:18px;font-weight:800}.step-text{color:#5d5144;font-size:15px;line-height:1.62}.training-task-meta{display:flex;flex-wrap:wrap;gap:8px}.task-meta-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#fff5e6;color:#aa5e00;font-size:12px;font-weight:800}.task-success,.task-time-link{color:#66715f;font-size:14px;line-height:1.58}.task-time-link{color:#1cb0f6;cursor:pointer}.week-plan-card:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.sprint-plan-card:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.week-plan-item,.sprint-plan-item{padding:18px;text-align:left;cursor:pointer}.week-plan-item.expanded{border-color:#1cb0f6}.sprint-plan-item.expanded{border-color:#ff9500}.week-plan-header,.sprint-plan-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}.week-plan-title,.sprint-plan-title{color:#3c3c3c;font-size:17px;font-weight:800}.week-plan-goal-badge,.sprint-plan-goal-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800}.week-plan-goal-badge{color:#1cb0f6;background:#e8f4fd}.sprint-plan-goal-badge{color:#c70;background:#fff5e6}.week-plan-arrow,.sprint-plan-arrow{color:#9aa3b2;font-size:22px;transition:transform .16s ease}.week-plan-arrow.rotated,.sprint-plan-arrow.rotated{transform:rotate(90deg)}.week-plan-body,.sprint-plan-body{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed #e5e5e5}.week-plan-detail,.sprint-plan-detail,.week-plan-kpi,.sprint-plan-kpi,.checklist-item-text,.parent-letter-text{color:#5d5144;font-size:15px;line-height:1.62}.checklist-card:before{background:linear-gradient(90deg,#10b981,#34d399)}.checklist-item{padding:18px;background:linear-gradient(180deg,#fff,#f7fbff)}.checklist-item-title{display:block;margin-bottom:8px;color:#3c3c3c;font-size:17px;font-weight:800}.sprint-calendar-card:before{background:linear-gradient(90deg,#f59e0b,#ffbc42)}.sprint-calendar-table{overflow:hidden;border:1px solid #eaeaea;border-radius:18px}.sprint-calendar-head,.sprint-calendar-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.sprint-calendar-head{background:linear-gradient(135deg,#fff8f0,#fff3e0)}.sprint-calendar-head-cell,.sprint-calendar-cell{padding:14px 16px}.sprint-calendar-head-cell{color:#666;font-size:13px;font-weight:800}.sprint-calendar-row{border-top:1px solid #f3eee7}.sprint-calendar-row:nth-child(2n){background:#fafafa}.sprint-calendar-cell{color:#555;font-size:14px;line-height:1.58}.sprint-calendar-day{display:block;color:#ff9500;font-size:13px;font-weight:800}.sprint-calendar-topic{display:block;margin-top:4px}.parent-letter-card:before{background:linear-gradient(90deg,#d4a574,#e8c9a0)}.parent-letter-body{padding:22px;background:#fffdf5}.parent-letter-text{display:block;white-space:pre-wrap}.heatmap-card:before{background:linear-gradient(90deg,#ec4899,#f472b6)}.heatmap-wrap{display:flex;flex-wrap:wrap;gap:12px;line-height:1.8}.heat-token{position:relative;padding:8px 14px;border:0;border-radius:10px;font-size:16px;cursor:pointer}.heat-red{color:#ff4b4b;background:#ff4b4b26}.heat-yellow{color:#d4a600;background:#ffc80033}.heat-green{color:#46a302;background:#58cc0226}.heat-gray{color:#8c97a5;background:#afafaf1a}.heat-text{display:inline-block}.heat-tip-popup{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:5;min-width:180px;max-width:280px;padding:12px 14px;border-radius:10px;transform:translate(-50%);background:#111827f0;color:#fff;text-align:left;white-space:normal}.heat-tip-text{display:block;font-size:13px;line-height:1.58}.transcript-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;padding-top:16px;border-top:1px dashed #e5e5e5}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:14px;height:14px;border-radius:4px}.legend-dot.dot-red{background:#ff6b6b}.legend-dot.dot-yellow{background:#fbbf24}.legend-dot.dot-green{background:#34d399}.legend-dot.dot-gray{background:#cbd5e1}.legend-text{color:#888;font-size:13px}.vocab-card:before{background:linear-gradient(90deg,#06b6d4,#22d3ee)}.vocab-table{overflow:hidden;border:1px solid #e5e5e5;border-radius:18px}.vocab-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-row+.vocab-row{border-top:1px solid #e5e5e5}.vocab-row-head{background:#f0f7ff}.vocab-cell{padding:16px 18px;color:#3c3c3c;font-size:15px;line-height:1.55}.vocab-cell+.vocab-cell{border-left:1px solid #e5e5e5}.vocab-row-head .vocab-cell{color:#1cb0f6;font-weight:800}.vocab-original{color:#777}.vocab-upgraded{color:#58cc02;font-weight:800}.peer-card:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.peer-percentile-wrap{display:flex;align-items:center;gap:18px;margin-bottom:18px}.peer-percentile-circle{display:flex;width:104px;height:104px;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;box-shadow:0 18px 32px #8b5cf62e}.peer-percentile-number{font-size:36px;font-weight:900}.peer-percentile-unit{margin-left:4px;font-size:16px;font-weight:800}.peer-percentile-desc{color:#4d3d68;font-size:16px;font-weight:700}.peer-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.peer-section{display:flex;flex-direction:column;gap:10px}.peer-section-label{color:#3c3c3c;font-size:15px;font-weight:800}.peer-strength-label{color:#11823b}.peer-gap-label{color:#c46d00}.peer-item{padding:12px 14px;border-radius:14px}.peer-strength{background:#58cc0214}.peer-gap{background:#ff950014}.peer-item-text{color:#3c3c3c;font-size:15px;line-height:1.55}.course-card-wrap:before{background:linear-gradient(90deg,#f97316,#fb923c)}.course-main-card{padding:24px;background:linear-gradient(180deg,#fffaf4,#fff4e6)}.course-recommend-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 14px;border-radius:999px;background:#f97316;color:#fff;font-size:13px;font-weight:800}.course-main-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.course-main-title{color:#2f2a24;font-size:22px;font-weight:900}.course-main-meta{display:flex}.course-main-badge,.course-stage-tag{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#fff7ed;color:#ea580c;font-size:12px;font-weight:800}.course-main-desc{margin-top:12px;color:#6b5b49;font-size:15px;line-height:1.62}.course-stages{display:flex;flex-direction:column;gap:12px;margin-top:18px}.course-stage-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:16px;background:#ffffffbf}.course-stage-reason{color:#5d5144;font-size:14px;line-height:1.58}.course-btn-group{display:flex;gap:14px;margin-top:22px}.course-btn-primary,.course-btn-secondary,.qr-modal-close{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:0;border-radius:999px;font-size:15px;font-weight:800;cursor:pointer}.course-btn-primary{background:#f97316;color:#fff}.course-btn-secondary{background:#fff7ed;color:#ea580c}.action-bar{position:sticky;bottom:18px;z-index:40;display:flex;gap:14px;margin-top:4px;padding:16px;border:1px solid rgba(233,223,209,.9);border-radius:24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd6;box-shadow:0 16px 36px #3d2e1d14}.action-btn{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:56px;border-radius:18px;border:0;font-size:16px;font-weight:800;cursor:pointer}.action-btn.primary{background:linear-gradient(135deg,#ff9500,#ffb347);color:#fff}.action-btn.secondary{border:1px solid #e8dfd0;background:#fff;color:#58cc02}.qr-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#1118278f;padding:18px}.qr-modal-box{display:flex;width:min(420px,100%);flex-direction:column;align-items:center;gap:12px;padding:30px 28px 24px;border-radius:28px;background:#fff;box-shadow:0 24px 60px #11182747}.qr-modal-title{color:#1a1a2e;font-size:28px;font-weight:900}.qr-modal-desc{color:#6b7280;font-size:14px;line-height:1.62;text-align:center}.qr-modal-image{width:280px;height:280px;-o-object-fit:cover;object-fit:cover;border:1px solid #e5e7eb;border-radius:18px}.qr-modal-hint{color:#9ca3af;font-size:12px}.qr-modal-close{width:100%;background:#f3f4f6;color:#374151}@media (max-width: 960px){.public-report-page,.public-report-detail-page{padding:22px 12px 110px}.public-report-hero .ant-card-body,.lookup-card .ant-card-body,.report-list-card .ant-card-body{padding:22px}.report-list-item{padding:18px!important}.public-report-detail-topbar{top:10px;margin-bottom:16px;padding:14px}.detail-topbar-main{flex-direction:column;align-items:flex-start}.score-main,.summary-grid,.ability-grid,.judge-grid,.peer-details,.metrics-card,.identity-grid{grid-template-columns:1fr}.metrics-card{padding:16px}.metric-item{min-height:112px}.dim-detail-header{grid-template-columns:30px minmax(0,1fr)}.dim-detail-bar{grid-column:1 / -1}.dim-detail-score{grid-column:2;justify-self:end}.peer-percentile-wrap,.course-btn-group,.action-bar,.coach-target-row{flex-direction:column;align-items:stretch}.timeline-scroll,.chart-bar-row,.sprint-calendar-head,.sprint-calendar-row,.week-plan-header,.sprint-plan-header{grid-template-columns:1fr}.course-stage-item,.training-task-card,.plan-step,.highlight-item{flex-direction:column}}@media print{body{background:#fff!important}.public-report-detail-page{padding:0!important;background:#fff!important}.public-report-detail-topbar,.report-nav-card,.summary-toggle,.action-bar,.course-btn-group,.report-nav-chip{display:none!important}.report-detail-container{max-width:none!important;gap:18px!important}.score-header-card,.metrics-card,.suggestion-card,.dimension-detail-card,.ability-card-wrap,.highlight-card,.timeline-card,.script-card,.peer-card,.course-card,.parent-letter-card{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none!important}button{box-shadow:none!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}body{margin:0;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc}.ant-card{border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 40px #0f172a0f}.ant-card-head{border-bottom-color:#94a3b82e!important}.ant-table-wrapper .ant-table{border-radius:16px}.ant-upload-wrapper .ant-upload-drag{background:linear-gradient(180deg,#fff,#f8fbff)!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
