.pyq-shell{min-height:100vh;background-color:#fbf9f4;color:#0c182d;font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif)}.pyq-main{max-width:1240px;margin:0 auto;padding:36px 24px 64px}.pyq-hero{margin-bottom:28px}.pyq-hero h1{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-size:38px;font-weight:700;letter-spacing:-.03em;margin:0 0 8px;color:#0c182d}.pyq-hero p{font-size:15px;color:#667085;margin:0}.pyq-subject-card{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;padding:20px 24px;margin-bottom:24px;box-shadow:0 1px 3px rgba(0,0,0,.02)}.pyq-subject-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.pyq-subject-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b7280}.pyq-subjects-subtitle{font-size:12px;color:#94a3b8;margin:3px 0 0}.pyq-edit-profile-link{font-size:12px;font-weight:600;color:#0c182d;background:#f1f5f9;border:1px solid #e2e8f0;padding:5px 12px;border-radius:6px;text-decoration:none;transition:all .15s ease}.pyq-edit-profile-link:hover{background:#d8f25a;border-color:#c4e13f;color:#0c182d}.pyq-stream-select-wrap{position:relative;display:inline-block}.pyq-stream-select{appearance:none;background:#ffffff;border:1px solid #d1d5db;border-radius:6px;padding:7px 32px 7px 14px;font-size:13px;font-weight:500;color:#111827;cursor:pointer;outline:none;transition:border-color .15s ease}.pyq-stream-select:focus{border-color:#0c182d}.pyq-select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:10px;color:#6b7280}.pyq-subjects-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}@media (max-width:1024px){.pyq-subjects-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.pyq-subjects-grid{grid-template-columns:repeat(2,1fr)}}.pyq-sub-tile{background:#ffffff;border:1px solid #e5e7eb;border-radius:6px;padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .15s ease;text-align:left;outline:none;min-height:48px}.pyq-sub-tile:hover{background:#f9fafb;border-color:#d1d5db}.pyq-sub-tile.active{background:#d8f25a;border-color:#92b810;box-shadow:0 1px 2px rgba(0,0,0,.04)}.pyq-sub-letter{width:24px;height:24px;border-radius:4px;background:#f3f4f6;font-size:12px;font-weight:700;color:#1f2937;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pyq-sub-tile.active .pyq-sub-letter{background:#ffffff;color:#0c182d}.pyq-sub-name{font-size:13px;font-weight:600;color:#1f2937;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.pyq-sub-tile.active .pyq-sub-name{color:#0c182d;font-weight:700}.pyq-sub-chevron{font-size:14px;color:#9ca3af;margin-left:auto;line-height:1}.pyq-sub-tile.active .pyq-sub-chevron{color:#0c182d}.pyq-papers-card{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;padding:24px 28px;box-shadow:0 1px 3px rgba(0,0,0,.02)}.pyq-papers-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:16px}.pyq-papers-title-group h2{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-size:26px;font-weight:700;color:#0c182d;margin:0 0 4px;letter-spacing:-.02em}.pyq-papers-title-group p{font-size:14px;color:#6b7280;margin:0}.pyq-btn-syllabus{background:#ffffff;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .15s ease;text-decoration:none}.pyq-btn-syllabus:hover{background:#f9fafb;border-color:#9ca3af;color:#0c182d}.pyq-year-bar{display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;margin-bottom:24px;background:#ffffff;width:100%;overflow-x:auto}.pyq-year-tab{flex:1;padding:10px 0;font-size:13px;font-weight:500;color:#4b5563;background:transparent;border:none;border-right:1px solid #e5e7eb;cursor:pointer;transition:all .15s ease;text-align:center;white-space:nowrap}.pyq-year-tab:last-child{border-right:none}.pyq-year-tab:hover{background:#f9fafb;color:#111827}.pyq-year-tab.active{background:#d8f542;color:#0c182d;font-weight:700}.pyq-papers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width:1180px){.pyq-papers-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.pyq-papers-grid{grid-template-columns:1fr}}.pyq-paper-item{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:146px;transition:border-color .15s ease,box-shadow .15s ease}.pyq-paper-item:hover{border-color:#cbd5e1;box-shadow:0 3px 8px rgba(0,0,0,.03)}.pyq-paper-top{display:flex;align-items:flex-start;gap:14px}.pyq-paper-icon{width:42px;height:42px;border-radius:8px;border:1px solid #e2e8f0;background:#ffffff;color:#334155;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pyq-paper-info{flex:1;min-width:0}.pyq-paper-title{font-size:15px;font-weight:700;color:#0c182d;margin:0 0 2px;line-height:1.2}.pyq-paper-subject{font-size:13px;color:#64748b;margin:0 0 3px;line-height:1.2;font-weight:500}.pyq-paper-meta{font-size:12px;color:#64748b;margin:0}.pyq-btn-attempt{background:#c8f53c;color:#0c182d;border:none;border-radius:6px;height:38px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;width:100%;transition:background .15s ease,transform .1s ease}.pyq-btn-attempt:hover{background:#b5e82b;transform:translateY(-1px)}.pyq-appeared-strip{background:#f4fce3;border:1px solid #e2f2b8;border-radius:6px;padding:6px 12px;display:flex;align-items:center;justify-content:space-between;height:38px;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease}.pyq-appeared-strip:hover{background:#eefad7;border-color:#d4eda1}.pyq-appeared-left{display:flex;align-items:center;gap:10px;min-width:0}.pyq-appeared-circle{width:22px;height:22px;border-radius:50%;border:2px solid #16a34a;background:#ffffff;color:#16a34a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pyq-appeared-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.pyq-appeared-title{font-size:12px;font-weight:700;color:#0c182d;line-height:1.1}.pyq-appeared-sub{font-size:11px;color:#64748b;line-height:1.2;white-space:nowrap}.pyq-appeared-arrow{color:#0c182d;font-size:14px;font-weight:700;margin-left:auto;flex-shrink:0}.pyq-modal-overlay{position:fixed;inset:0;background:rgba(12,24,45,.45);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.pyq-modal-content{background:#ffffff;border-radius:12px;max-width:650px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);position:relative}.pyq-modal-header{padding:24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-start;justify-content:space-between}.pyq-modal-header h3{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-size:22px;font-weight:700;color:#0c182d;margin:0 0 4px}.pyq-modal-header p{font-size:13px;color:#6b7280;margin:0}.pyq-modal-close{background:transparent;border:none;font-size:20px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px}.pyq-modal-close:hover{color:#0c182d;background:#f3f4f6}.pyq-modal-body{padding:24px}.pyq-unit-card{border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;margin-bottom:12px;background:#fbf9f4}.pyq-unit-card h4{font-size:14px;font-weight:700;color:#0c182d;margin:0 0 4px}.pyq-unit-card p{font-size:12px;color:#4b5563;margin:0;line-height:1.4}.pyq-unit-meta{display:flex;gap:16px;margin-top:8px;font-size:11px;font-weight:600;color:#6b7280}.pyq-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media (max-width:960px){.pyq-split-grid{grid-template-columns:1fr}}.pyq-half-section{background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;padding:22px;box-shadow:0 1px 3px rgba(0,0,0,.02)}.pyq-half-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.pyq-half-title-group{display:flex;align-items:center;gap:10px}.pyq-half-icon-pill{width:36px;height:36px;border-radius:10px;background:#0c182d;color:#d8f25a;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}.pyq-half-icon-pill.mock{background:#fef3c7;color:#b45309}.pyq-half-title{font-family:var(--font-serif,"Fraunces",Georgia,serif);font-size:18px;font-weight:700;color:#0c182d;margin:0}.pyq-half-sub{font-size:11px;color:#6b7280;margin:2px 0 0}.pyq-half-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#f1f5f9;color:#475569}.pyq-half-items-list{display:flex;flex-direction:column;gap:12px}.pyq-landscape-section{background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;padding:24px 28px;box-shadow:0 1px 3px rgba(0,0,0,.02);width:100%}.pyq-landscape-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:12px}.pyq-landscape-items-list{display:flex;flex-direction:column;gap:14px}.pyq-landscape-card{border:1px solid #e2e8f0;border-radius:10px;background:#ffffff;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;gap:20px;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.pyq-landscape-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(0,0,0,.03)}.pyq-landscape-left{display:flex;align-items:center;gap:18px;flex:1;min-width:0}.pyq-landscape-icon{width:48px;height:48px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;color:#059669;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pyq-landscape-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pyq-landscape-title{font-size:16px;font-weight:700;color:#0c182d;margin:0;line-height:1.3}.pyq-landscape-subject{font-size:13px;color:#64748b;margin:0;font-weight:500}.pyq-landscape-meta-row{display:flex;align-items:center;gap:14px;font-size:12px;color:#64748b;margin-top:4px;flex-wrap:wrap}.pyq-landscape-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.pyq-landscape-appeared{display:flex;align-items:center;gap:10px}.pyq-landscape-appeared-check{width:26px;height:26px;border-radius:50%;border:2px solid #16a34a;background:#f0fdf4;color:#16a34a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pyq-landscape-btn-attempt{background:#ccf244;color:#0c182d;border:none;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:background .15s ease,transform .1s ease;white-space:nowrap}.pyq-landscape-btn-attempt:hover{background:#b5e82b;transform:translateY(-1px)}.pyq-landscape-btn-result{background:#ffffff;border:1px solid #0c182d;color:#0c182d;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:all .15s ease;white-space:nowrap}.pyq-landscape-btn-result:hover{background:#f8fafc}@media (max-width:768px){.pyq-landscape-card{flex-direction:column;align-items:flex-start}.pyq-landscape-right{width:100%;justify-content:space-between;border-top:1px solid #f1f5f9;padding-top:12px;margin-top:6px}}