@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@600;700;800&display=swap);body{margin:0}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#f8f9fa;color:#374151;font-family:Inter,sans-serif;min-height:100vh}h1,h2,h3,h4{color:#111827;font-family:Poppins,sans-serif}.page-fade{animation:pageFadeIn .35s ease forwards}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-inner{margin:0 auto;max-width:860px;padding:0 20px 60px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;padding:24px}.section-title{color:#111827;font-size:1.05rem;font-weight:700;margin-bottom:18px}.btn-primary,.section-title{font-family:Poppins,sans-serif}.btn-primary{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:14px 28px;transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #22c55e59;transform:scale(1.03)}.btn-primary.btn-disabled,.btn-primary:disabled{background:#d1d5db!important;box-shadow:none;color:#9ca3af!important;cursor:not-allowed;transform:none}.btn-secondary{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;color:#374151;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;gap:8px;padding:12px 22px;transition:all .2s ease}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;transform:scale(1.02)}.back-btn{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;gap:6px;margin:20px 20px 0;padding:10px 18px;transition:all .2s ease}.back-btn:hover{background:#f9fafb;border-color:#9ca3af}.home-page{padding-bottom:60px}.home-header{background:#fff;padding:0 0 40px;position:relative;text-align:center}.home-header-gradient-strip{background:linear-gradient(90deg,#6366f1,#8b5cf6 50%,#ec4899);height:4px;width:100%}.home-header-inner{padding:48px 24px 0}.logo-text{align-items:center;display:flex;justify-content:center;margin-bottom:8px}.logo-emoji{font-size:2rem;margin-right:8px}.logo-title{color:#111827;font-family:Poppins,sans-serif;font-size:32px;font-weight:700}.home-subtitle{color:#6b7280;font-family:Inter,sans-serif;font-size:16px;font-weight:400}.progress-section{margin:-24px auto 32px;max-width:860px;padding:0 20px}.progress-section-inner{align-items:center;display:flex;gap:28px;padding:28px}.progress-text-block{flex:1 1}.progress-count{color:#374151;font-size:1.05rem;margin-bottom:6px}.progress-count strong{color:#111827}.progress-motivation{color:#6b7280;font-size:.9rem;line-height:1.5}.books-section{margin:0 auto;max-width:1100px;padding:0 20px}.books-section-title{color:#111827;font-family:Poppins,sans-serif;font-size:1.3rem;font-weight:700;margin-bottom:20px}.books-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:40px}.book-card{border-radius:18px;cursor:pointer;display:flex;flex-direction:column;gap:10px;min-height:220px;outline:none;padding:24px 20px 20px;position:relative;transition:transform .25s ease,box-shadow .25s ease}.book-card:focus-visible,.book-card:hover{box-shadow:0 16px 40px #0003!important;transform:translateY(-6px) scale(1.03)}.book-card-undo{background:#00000040;border:none;border-radius:50px;bottom:16px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;position:absolute;right:16px;transition:all .2s ease;z-index:2}.book-card-undo:hover{background:#00000073;transform:scale(1.05)}.undo-dialog{align-items:center;animation:fadeIn .2s ease;background:#fffffff2;border-radius:18px;display:flex;flex-direction:column;inset:0;justify-content:center;padding:24px;position:absolute;text-align:center;z-index:10}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.undo-dialog-title{color:#111827;font-family:Poppins,sans-serif;font-size:1rem;font-weight:700;margin-bottom:8px}.undo-dialog-msg{color:#4b5563;font-size:.8rem;line-height:1.4;margin-bottom:16px}.undo-dialog-actions{display:flex;gap:10px}.btn-undo-confirm{background:#ef4444;color:#fff}.btn-undo-cancel,.btn-undo-confirm{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 16px}.btn-undo-cancel{background:#f3f4f6;color:#4b5563}.book-card-emoji{font-size:2.4rem;line-height:1}.book-card-body{flex:1 1}.book-card-title{color:#fff;font-family:Poppins,sans-serif;font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:4px}.book-card-scientist{color:#ffffffd9;font-size:.8rem;font-style:italic;margin-bottom:6px}.book-card-desc{color:#fffc;font-size:.78rem;line-height:1.45}.book-card-footer{margin-top:auto}.book-card-status{border-radius:50px;display:inline-block;font-size:.78rem;font-weight:600;padding:5px 14px}.book-card-status--todo{background:#ffffff40;border:1px solid #fff6;color:#fff}.book-card-status--done{background:#fffffff2;border:1px solid #fffc;color:#065f46}.remarks-section{padding:0}.tutor-comment-card{border-left:4px solid #6366f1}.tutor-comment-hint{color:#6b7280;font-size:.88rem;line-height:1.5;margin-bottom:14px}.tutor-comment-textarea{background:#fafafa;border:1.5px solid #e5e7eb;border-radius:10px;color:#374151;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.6;min-height:140px;outline:none;padding:14px 16px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.tutor-comment-textarea:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.tutor-comment-textarea::placeholder{color:#9ca3af}.tutor-comment-footer{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.tutor-comment-save-btn{background:linear-gradient(135deg,#6366f1,#4f46e5)}.tutor-comment-save-btn:hover:not(:disabled){box-shadow:0 6px 20px #6366f159}.tutor-comment-success{color:#16a34a;font-size:.85rem;font-weight:500}.overall-cta{padding:0 20px 48px;text-align:center}.btn-overall{font-size:1.05rem;padding:16px 36px}.btn-disabled-hint{display:block;font-size:.78rem;font-weight:400;margin-top:2px}.modal-overlay{align-items:flex-start;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;inset:0;justify-content:center;padding:24px 16px 16px;position:fixed;z-index:9999}.modal-overlay,.modal-sheet{display:flex;overflow:hidden}.modal-sheet{background:#fff;border-radius:24px;box-shadow:0 24px 80px #00000059;flex-direction:column;max-height:90vh;max-width:720px;width:100%}.modal-header{align-items:center;border-radius:24px 24px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:22px 24px;position:relative;z-index:2}.modal-header-left{align-items:center;display:flex;gap:14px}.modal-book-emoji{font-size:2rem}.modal-book-name{color:#fff;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.2}.modal-subtitle{color:#fffc;font-size:.82rem;margin-top:2px}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:36px;justify-content:center;transition:background .2s;width:36px}.modal-close-btn:hover{background:#ffffff59}.modal-body{max-height:calc(90vh - 92px);overflow-y:auto;padding:24px}.skill-row{border-bottom:1px solid #f3f4f6;padding-bottom:18px}.skill-row:last-of-type{border-bottom:none}.skill-row-header{align-items:center;display:flex;gap:10px;margin-bottom:12px}.skill-icon{font-size:1.3rem}.skill-name{color:#111827;flex:1 1;font-size:.95rem;font-weight:600}.skill-desc{color:#9ca3af;display:block;font-family:Inter,sans-serif;font-size:11px;font-weight:400;margin-top:2px}.skill-tooltip-wrapper{position:relative}.skill-tooltip-btn{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:.9rem;padding:2px 4px;transition:color .15s}.skill-tooltip-btn:hover{color:#374151}.skill-tooltip-box{background:#1f2937;border-radius:8px;box-shadow:0 4px 12px #0003;color:#fff;font-size:.78rem;max-width:220px;padding:8px 12px;position:absolute;right:0;top:calc(100% + 6px);white-space:nowrap;white-space:normal;z-index:100}.rating-pills-row{display:flex;flex-wrap:wrap;gap:8px}.rating-pill{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;color:#9ca3af;cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;min-width:72px;padding:8px 6px;text-align:center;transition:all .15s ease}.rating-pill:hover:not(.rating-pill--selected){background:#f3f4f6;border-color:#9ca3af;color:#374151}.modal-submit-btn{font-size:1rem;justify-content:center;margin-top:8px;width:100%}.skill-legend{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.skill-legend--compact{gap:8px;padding:8px 12px}.skill-legend-item{align-items:center;color:#374151;display:flex;font-size:.8rem;gap:6px}.skill-legend-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.book-analysis-page{padding-bottom:60px}.book-hero-strip{align-items:center;border-radius:18px;display:flex;flex-wrap:wrap;gap:16px;margin:16px 20px;padding:24px}.book-hero-emoji{font-size:2.8rem}.book-hero-text{flex:1 1}.book-hero-name{color:#fff;font-family:Poppins,sans-serif;font-size:1.3rem;font-weight:700}.book-hero-scientist{color:#fffc;font-size:.85rem;font-style:italic}.book-analysis-container{display:flex;flex-direction:column;gap:0}.avg-badge-wrapper{margin-bottom:8px;text-align:right}.avg-badge{border-radius:50px;display:inline-block;font-size:.85rem;font-weight:700;padding:6px 16px}.avg-badge-hero{align-self:center;margin-left:auto}.analysis-radar-card{padding:28px}.skill-pills-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.skill-score-pill{align-items:center;border:1.5px solid;border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:12px 10px;text-align:center}.skill-score-pill-icon{font-size:1.4rem}.skill-score-pill-label{font-size:.75rem;font-weight:600}.skill-score-pill-score{font-size:.85rem;font-weight:700}.two-col-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.strength-card{background:#ecfdf5;border:2px solid #6ee7b7;text-align:center}.developing-card{background:#fffbeb;border:2px solid #fcd34d;text-align:center}.strength-icon{font-size:1.8rem;margin-bottom:6px}.strength-tag{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.strength-name{color:#111827;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:4px}.strength-score{color:#065f46;font-size:.9rem;font-weight:600}.developing-note{color:#92400e;font-size:.78rem;font-style:italic}.insight-card{border-left:4px solid #6366f1}.insight-text{color:#374151;font-size:.95rem;line-height:1.75;margin-bottom:12px}.skill-story{color:#6b7280;font-size:.88rem;font-style:italic;line-height:1.6}.rec-subtitle{color:#6b7280;font-size:.85rem;margin-bottom:14px}.rec-pills-row{display:flex;flex-wrap:wrap;gap:10px}.rec-pill{align-items:center;background:#f0f9ff;border:1.5px solid #bae6fd;border-radius:50px;color:#0369a1;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:10px 18px}.rec-pill-icon{font-size:1.1rem}.analysis-action-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:8px}.overall-page{padding-bottom:60px}.overall-page-header{padding:32px 24px 16px;text-align:center}.overall-title{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;margin-bottom:8px}.overall-subtitle{color:#6b7280;font-size:.95rem}.overall-ring-card{padding:36px 24px;text-align:center}.ring-label{font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:700;margin-top:12px}.ring-subtitle{color:#6b7280;font-size:.85rem;margin-top:4px}.highlight-card{align-items:flex-start;display:flex;gap:16px}.strength-highlight{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:4px solid #22c55e}.developing-highlight{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left:4px solid #f59e0b}.highlight-icon{font-size:2rem}.highlight-body{flex:1 1}.highlight-tag{color:#6b7280;font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.highlight-name{color:#111827;font-family:Poppins,sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:6px}.highlight-desc{color:#374151;font-size:.88rem;line-height:1.6}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.skills-table{border-collapse:collapse;font-size:.82rem;min-width:600px;width:100%}.skills-table thead tr{background:#eff6ff}.skills-table th{border-bottom:2px solid #dbeafe;color:#374151;font-family:Poppins,sans-serif;font-size:.78rem;font-weight:600;padding:10px;text-align:center}.skills-table th:first-child{text-align:left}.skills-table td{border-bottom:1px solid #f3f4f6;padding:9px 10px;text-align:center}.table-book-cell{align-items:center;display:flex;gap:8px;min-width:170px;text-align:left!important}.table-book-emoji{flex-shrink:0;font-size:1.1rem}.table-book-name{color:#111827;font-size:.78rem;font-weight:500;line-height:1.3}.table-score-cell{border-radius:6px;font-size:.85rem;font-weight:700;min-width:50px}.table-avg-cell{font-size:.88rem}.milestone-badges-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.milestone-badge-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:16px;flex:1 1;max-width:200px;min-width:140px;padding:24px 16px;text-align:center;transition:transform .2s ease}.milestone-badge-card.unlocked{box-shadow:0 4px 20px #0000001a;transform:translateY(-2px)}.milestone-badge-card.locked{opacity:.5}.badge-emoji{font-size:2.2rem;margin-bottom:8px}.badge-label{font-family:Poppins,sans-serif;font-size:.9rem;font-weight:700;margin-bottom:6px}.badge-desc{color:#6b7280;font-size:.75rem;line-height:1.4}.print-row{margin-bottom:8px;margin-top:8px;text-align:center}.btn-print{background:linear-gradient(135deg,#6366f1,#4f46e5)}.overall-empty{padding:80px 24px;text-align:center}.overall-empty-emoji{font-size:3rem;margin-bottom:16px}.error-page{align-items:center;display:flex;flex-direction:column;gap:16px;padding:80px 24px;text-align:center}@media (max-width:900px){.books-grid,.skill-pills-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.books-grid{grid-template-columns:1fr}.progress-section-inner{flex-direction:column;gap:16px;text-align:center}.two-col-cards{grid-template-columns:1fr}.skill-pills-row{grid-template-columns:repeat(2,1fr)}.rating-pills-row{gap:5px}.rating-pill{font-size:.7rem;padding:6px 4px}.book-hero-strip{align-items:flex-start;flex-direction:column}.analysis-action-row{flex-direction:column;justify-content:stretch}.milestone-badges-row{flex-direction:row}.milestone-badge-card{min-width:100px;padding:16px 10px}.modal-overlay{align-items:center;padding:10px}.modal-sheet{border-radius:18px;max-height:94vh;max-width:100%}.modal-header{border-radius:18px 18px 0 0;padding:16px}.modal-book-emoji{font-size:1.6rem}.modal-book-name{font-size:.95rem}.modal-subtitle{font-size:.74rem}.modal-close-btn{flex-shrink:0;height:32px;width:32px}.modal-body{gap:16px;padding:16px}.rating-pills-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.rating-pill{font-size:.74rem;min-width:0;padding:9px 6px;width:100%}.skill-row-header{align-items:flex-start}.skill-tooltip-box{font-size:.72rem;max-width:220px;right:-8px}.books-grid,.skill-pills-row,.two-col-cards{grid-template-columns:1fr}.analysis-action-row{flex-direction:column}.analysis-action-row button{justify-content:center;width:100%}.table-scroll-wrapper{overflow-x:auto}}@media print{.back-btn,.books-section,.btn-primary,.btn-print,.btn-secondary,.home-header,.modal-overlay,.overall-cta,.progress-section{display:none!important}body{background:#fff}.card{border:1px solid #ddd!important;box-shadow:none!important}.page-fade{animation:none!important}}.skill-tracker-loading{align-items:center;background:#f8f9fa;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin .8s linear infinite;border:5px solid #e5e7eb;border-radius:50%;border-top-color:#6366f1;height:52px;width:52px}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{color:#6b7280;font-family:Inter,sans-serif;font-size:1rem;font-weight:500}.access-restriction-banner{align-items:center;animation:bannerSlideIn .4s ease forwards;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #fcd34d;border-radius:14px;box-shadow:0 2px 12px #fbbf242e;display:flex;gap:14px;margin:16px 20px 4px;padding:16px 20px}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.access-restriction-icon{flex-shrink:0;font-size:1.6rem}.access-restriction-text{flex:1 1}.access-restriction-text strong{color:#92400e;display:block;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:700;margin-bottom:2px}.access-restriction-text p{color:#78350f;font-size:.85rem;line-height:1.5;margin:0}.modal-restriction-msg{align-items:flex-start;background:#fef9c3;border:1.5px solid #fde047;border-radius:10px;color:#713f12;display:flex;font-size:.88rem;font-weight:500;gap:10px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.modal-restriction-icon{flex-shrink:0;font-size:1.1rem;margin-top:1px}.rating-pill--readonly{cursor:default!important;opacity:.75}.rating-pill--readonly:hover{background:#f9fafb!important;border-color:#e5e7eb!important;color:#9ca3af!important;transform:none!important}.rating-pill:disabled{cursor:default}.skill-row--disabled{opacity:.85}.remarks-disabled .tutor-comment-textarea{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280;cursor:default;resize:none}.remarks-view-only-note{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.82rem;font-weight:500;margin-bottom:10px;padding:8px 12px}
/*# sourceMappingURL=main.635f68df.css.map*/