:root{color:#111;background:#fff7f0;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #fff7f0;--surface: rgba(255, 255, 255, .9);--surface-solid: #ffffff;--surface-muted: rgba(255, 247, 239, .82);--surface-mint: rgba(232, 248, 238, .86);--text: #111111;--muted: #1f1f1f;--subtle: #333333;--line: rgba(17, 17, 17, .18);--line-strong: rgba(17, 17, 17, .32);--peach: #ffe2d1;--orange: #ffc783;--mint: #dff7e9;--green: #d7f0d8;--amber: #ffe7aa;--red-soft: #ffe2dc;--shadow: 0 24px 70px rgba(50, 30, 18, .14);--card-shadow: 0 28px 80px rgba(41, 28, 18, .22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(132deg,#fffaf4,#ffe2d1 42%,#f9f0df 66%,#e4f7ec)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:repeating-linear-gradient(180deg,rgba(63,43,25,.16) 0,rgba(63,43,25,.16) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(88deg,rgba(96,69,42,.045) 0,rgba(96,69,42,.045) 1px,transparent 1px,transparent 10px),repeating-linear-gradient(176deg,rgba(96,69,42,.034) 0,rgba(96,69,42,.034) 1px,transparent 1px,transparent 14px),radial-gradient(circle at 18% 22%,rgba(96,69,42,.13) 0 1px,transparent 1.4px),radial-gradient(circle at 76% 48%,rgba(255,255,255,.28) 0 1px,transparent 1.6px),linear-gradient(180deg,#ffffff52,#fff0);background-size:100% 32px,18px 18px,26px 26px,13px 13px,17px 17px,100% 100%;background-blend-mode:multiply,multiply,multiply,multiply,screen,normal;opacity:.94;-webkit-mask-image:linear-gradient(180deg,#000000d1,#00000094 74%,#0000003d);mask-image:linear-gradient(180deg,#000000d1,#00000094 74%,#0000003d);pointer-events:none}button,textarea,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.64}a{color:var(--text);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:14px;color:var(--text);font-size:clamp(34px,5vw,58px);line-height:1.08;letter-spacing:0}h2{margin-bottom:10px;color:var(--text);font-size:clamp(24px,3vw,34px);line-height:1.15;letter-spacing:0}h3{margin-bottom:8px;color:var(--text);font-size:24px;line-height:1.22}p{color:var(--text);line-height:1.72}.app-shell{position:relative;z-index:1;width:min(1220px,calc(100% - 40px));margin:0 auto;padding:22px 0 56px}.slogan-banner{margin:10px 0 16px;color:var(--text);font-size:clamp(30px,5vw,58px);font-weight:900;line-height:1.04;letter-spacing:0;text-shadow:0 12px 34px rgba(80,46,26,.12)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:10;margin-bottom:26px;padding:12px 14px;border:1px solid rgba(17,17,17,.12);border-radius:8px;background:linear-gradient(135deg,#ffffffd1,#fff7f0b8);box-shadow:0 16px 44px #4426141a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar>div{display:flex;align-items:baseline;gap:12px;min-width:0}.topbar span,.topbar strong{color:var(--text)}.topbar span{font-size:14px}.topbar strong{font-size:15px;white-space:nowrap}.page-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.page-nav button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:#ffffff9e;color:var(--text);font-weight:750;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.page-nav button:hover{background:#ffffffe6;border-color:var(--line)}.page-nav button[aria-current=page]{background:linear-gradient(135deg,#ffd7bdfa,#dff7e9f0);border-color:var(--line-strong);color:var(--text);box-shadow:0 12px 28px #4e301829}.page-nav button:active{transform:translateY(1px)}.account-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.account-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#ffffffbd;color:var(--text);font-weight:800;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.account-button:hover{border-color:var(--line-strong);background:#fffffff5;box-shadow:0 10px 22px #4e30181a}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#2518103d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-dialog{width:min(420px,100%);padding:20px;border:1px solid var(--line-strong);border-radius:10px;background:repeating-linear-gradient(180deg,rgba(91,66,42,.08) 0,rgba(91,66,42,.08) 1px,transparent 1px,transparent 28px),linear-gradient(145deg,#fffffff5,#fff6ecf0);box-shadow:0 30px 90px #2d1c104d}.auth-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.auth-dialog-header span{color:var(--text);font-size:13px;font-weight:850}.auth-dialog-header h2{margin:4px 0 0;font-size:26px}.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 14px;padding:4px;border:1px solid rgba(40,40,40,.12);border-radius:9px;background:#ffffff94}.auth-mode-tabs button{min-height:34px;border:0;border-radius:7px;background:transparent;color:var(--text);font-weight:850;cursor:pointer}.auth-mode-tabs button[aria-selected=true]{background:linear-gradient(135deg,#ffd1a4eb,#cbeed9d1);box-shadow:0 8px 18px #5f3a1c1f}.auth-fields{display:grid;gap:12px}.auth-fields label{display:grid;gap:7px;color:var(--text);font-weight:800}.auth-fields input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#ffffffe0;color:var(--text);outline:none}.sms-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.auth-submit{width:100%;margin-top:16px}.auth-disclaimer{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(40,40,40,.12);border-radius:9px;background:repeating-linear-gradient(180deg,rgba(91,66,42,.06) 0,rgba(91,66,42,.06) 1px,transparent 1px,transparent 22px),#ffffff9e}.auth-disclaimer summary{color:var(--text);font-weight:900;cursor:pointer}.auth-disclaimer-body{max-height:156px;overflow:auto;margin-top:8px;padding-right:4px;color:var(--text);font-size:12px;line-height:1.65}.auth-disclaimer-body p{margin:0 0 7px}.auth-consent{display:flex;align-items:flex-start;gap:8px;color:var(--text);font-size:13px;font-weight:850;line-height:1.45}.auth-consent input{width:16px;min-width:16px;height:16px;margin-top:1px;accent-color:#f2a65a}.auth-notice{margin:12px 0 0;color:var(--text);font-size:14px}.page-shell{min-height:620px}.app-page{animation:pageIn .2s ease-out}.analysis-page{display:grid;gap:22px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr);gap:18px;align-items:start}.composer,.panel,.empty-state{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.composer{padding:clamp(24px,4vw,40px);background:linear-gradient(135deg,#ffffffeb,#fffaf3e0)}.section-heading{color:var(--text)}.results>.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.results>.section-heading p{max-width:760px}.section-heading span,.eyebrow{display:inline-flex;margin-bottom:9px;color:var(--text);font-size:13px;font-weight:850}textarea{width:100%;min-height:188px;margin-top:18px;padding:18px;resize:vertical;border:1px solid var(--line-strong);border-radius:8px;background:#ffffffdb;color:var(--text);line-height:1.72;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}textarea:focus,input:focus,select:focus{border-color:#1111118f;background:#fff;box-shadow:0 0 0 4px #ffc7834d}.composer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.primary-button,.secondary-button,.danger-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:8px;color:var(--text);font-weight:800;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.primary-button{border:1px solid var(--line-strong);padding:0 16px;background:linear-gradient(135deg,#ffc783,#dff7e9);color:var(--text);box-shadow:0 12px 28px #4e301829}.primary-button:hover{background:linear-gradient(135deg,#ffb96b,#c9f0da)}.secondary-button{border:1px solid var(--line);padding:0 16px;background:#ffffffd1;color:var(--text)}.secondary-button:hover,.icon-button:hover{border-color:var(--line-strong);box-shadow:0 10px 22px #4e30181a}.danger-button{border:1px solid var(--line);padding:0 16px;background:var(--red-soft);color:var(--text)}.icon-button{width:40px;min-height:40px;padding:0;border:1px solid var(--line);background:#ffffffdb;color:var(--text)}.primary-button:active,.secondary-button:active,.danger-button:active,.icon-button:active{transform:translateY(1px)}.panel,.empty-state{padding:22px;background:linear-gradient(145deg,#ffffffe6,#fffaf3d1)}.profile-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0}.profile-summary div{min-height:78px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff8f}dt,dd{color:var(--text)}dt{font-size:13px;font-weight:800}dd{margin:6px 0 0;line-height:1.45}.system-message{width:fit-content;max-width:100%;margin:-8px 0 18px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#e8f8eee0;color:var(--text);font-size:14px;font-weight:800}.missing-fields{margin-top:0}.cross-reference-alert{margin:0 0 16px;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#ffe7aab8;color:var(--text);font-size:14px;font-weight:750;line-height:1.58}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;margin:16px 0 8px}.field-control{min-width:0}label{display:grid;gap:8px;color:var(--text);font-weight:800}input,select{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:8px;padding:0 12px;background:#ffffffe0;color:var(--text);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}.field-help{color:var(--text);font-size:12px;font-weight:500;line-height:1.5}.field-grid-help{margin:0 0 14px}.results{display:grid;gap:16px}.favorites-page{gap:18px}.favorites-heading{align-items:center;border:1px solid rgba(17,17,17,.13);border-radius:8px;padding:18px 20px;background:linear-gradient(135deg,#ffffffdb,#ffe7aa57),linear-gradient(90deg,#ffe2d152,#dff7e94d);box-shadow:0 20px 54px #3e24141f}.favorites-grid .recommendation-card{animation-name:favoriteCardIn}.result-hint{margin:-2px 0 0;color:var(--text);font-size:14px;line-height:1.6;opacity:.72}.message-page{display:grid;gap:12px}.message-panel,.message-wall{border:1px solid rgba(17,17,17,.14);border-radius:8px;background:linear-gradient(135deg,#ffffffe6,#fff7f0c7),linear-gradient(90deg,#ffe2d161,#dff7e952);box-shadow:0 24px 64px #3e241421;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.message-panel{display:grid;gap:14px;padding:clamp(16px,2.5vw,22px)}.message-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.message-panel .section-heading h2{margin-bottom:4px}.message-panel .section-heading p{max-width:720px;margin-bottom:0;font-size:14px}.message-quota{flex:0 0 auto;padding:11px 14px;border:1px solid rgba(17,17,17,.15);border-radius:8px;background:#ffffffb8;color:var(--text);font-size:14px;font-weight:850;box-shadow:0 12px 30px #41271517}.message-composer{display:grid;gap:8px;padding:0}.message-composer label{color:var(--text);font-weight:850}.message-composer textarea{width:100%;min-height:82px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#ffffffd6;color:var(--text);line-height:1.65;outline:none;box-shadow:inset 0 1px #ffffffe6}.message-composer textarea:focus{border-color:var(--line-strong);box-shadow:0 0 0 4px #ffc7832e,inset 0 1px #ffffffe6}.message-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.message-counter,.message-notice{color:var(--text);font-size:13px;line-height:1.5}.message-counter{opacity:.74}.message-counter.is-over{opacity:1;font-weight:850}.message-notice{margin:0;font-weight:750}.message-wall{position:relative;overflow:hidden;min-height:520px;max-height:760px;padding:clamp(16px,2.5vw,22px);background:linear-gradient(180deg,rgba(17,17,17,.032) 1px,transparent 1px),linear-gradient(135deg,#ffffffdb,#fff4e9b8);background-size:100% 30px,auto}.message-wall:before{content:"";position:absolute;inset:-20% 12% auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,199,131,.24),transparent 68%);pointer-events:none}.message-wall-title{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text)}.message-track{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;animation:messageWallDrift 32s ease-in-out infinite alternate}.wish-card{min-width:0;padding:16px;border:1px solid rgba(17,17,17,.16);border-radius:8px;background:linear-gradient(180deg,rgba(17,17,17,.026) 1px,transparent 1px),linear-gradient(135deg,#fffffff0,#fff6e0e6);background-size:100% 20px,auto;box-shadow:0 18px 42px #38221421,inset 0 1px #ffffffd1;transform:rotate(calc((var(--wish-index) - 4) * .25deg));animation:wishCardFloat 7.5s ease-in-out infinite;animation-delay:calc(var(--wish-index) * -.65s)}.wish-card p{margin-bottom:14px;color:var(--text);font-size:clamp(16px,2vw,20px);font-weight:850;line-height:1.65;overflow-wrap:anywhere}.wish-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid rgba(17,17,17,.12);color:var(--text);font-size:12px;line-height:1.5}.wish-card time,.wish-card footer span{color:var(--text);opacity:.72}.message-empty{position:relative;z-index:1;display:grid;min-height:260px;place-items:center;border:1px dashed rgba(17,17,17,.18);border-radius:8px;background:#ffffff80;color:var(--text);font-weight:750}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recommendation-card{position:relative;min-width:0;perspective:1200px;filter:drop-shadow(0 24px 44px rgba(41,28,18,.12));animation:cardShuffleIn .68s cubic-bezier(.16,.9,.22,1) both;animation-delay:calc(var(--reveal-index) * 86ms)}.recommendation-card:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:-1;border-radius:8px;background:#ffffff75;filter:blur(20px);transform:translateY(22px);opacity:.72;pointer-events:none}.card-flip-inner{min-height:100%;transform-style:preserve-3d}.card-face{position:relative;overflow:hidden;width:100%;min-height:560px;border:1.5px solid rgba(17,17,17,.34);border-radius:8px;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.72),transparent 26%),linear-gradient(135deg,#fffffff5,#fffaf3f0);color:var(--text);box-shadow:var(--card-shadow);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card-face:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:repeating-linear-gradient(88deg,rgba(70,45,24,.026) 0 1px,transparent 1px 7px),repeating-linear-gradient(176deg,rgba(70,45,24,.018) 0 1px,transparent 1px 9px),linear-gradient(90deg,rgba(17,17,17,.018) 1px,transparent 1px),linear-gradient(180deg,rgba(17,17,17,.014) 1px,transparent 1px),radial-gradient(circle at 30% 20%,rgba(255,255,255,.28),transparent 18%);background-size:auto,auto,22px 22px,22px 22px,auto;opacity:.85;mix-blend-mode:multiply;pointer-events:none}.recommendation-card:not(.is-revealed):hover .card-front,.recommendation-card.is-revealed:hover .card-back{transform:translateY(-7px) rotateX(1.2deg);border-color:#11111170;box-shadow:0 38px 96px #291c1247}.card-front{display:grid;align-content:space-between;gap:18px;padding:22px;text-align:left;background:radial-gradient(circle at 0 0,rgba(255,231,170,.32),transparent 32%),linear-gradient(160deg,#fffffffa,#ffe2d1f5 58%,#dff7e9eb)}.card-front:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.42) 45%,transparent 70%);opacity:.54;pointer-events:none}.front-emblem{position:absolute;right:-62px;bottom:58px;width:300px;height:300px;object-fit:contain;opacity:.16;filter:saturate(.95) contrast(1.05);mix-blend-mode:multiply;pointer-events:none}.card-number{position:relative;z-index:1;display:inline-flex;align-items:center;color:#1111116b;font-size:24px;font-weight:950;line-height:1;letter-spacing:.04em}.card-front .tier,.card-front .reference-badge,.card-front .nearby-badge,.front-school-name{position:relative;z-index:1;width:fit-content}.card-index-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.front-card-footer{position:relative;z-index:1;display:flex;align-items:flex-end;gap:14px;width:100%;min-height:60px}.front-card-footer.has-detail-hint{justify-content:space-between}.front-school-name{box-sizing:border-box;max-width:min(100%,320px);border:1px solid rgba(17,17,17,.18);border-radius:8px;padding:10px 12px;background:#ffffffdb;color:var(--text);font-size:20px;font-weight:900;line-height:1.25;min-width:0;overflow-wrap:anywhere;box-shadow:0 10px 24px #291c121f}.front-card-footer.has-detail-hint .front-school-name{max-width:min(calc(100% - 104px),245px)}.front-detail-hint{position:relative;z-index:1;flex:0 0 auto;margin-bottom:2px;color:#1111118f;font-size:15px;font-weight:800;line-height:1;white-space:nowrap}.card-back{display:flex;flex-direction:column;gap:14px;min-height:560px;padding:20px;background:radial-gradient(circle at 100% 0,rgba(255,231,170,.22),transparent 30%),linear-gradient(150deg,#fffffffa,#fff8eff5);animation:flipIn .48s cubic-bezier(.2,.8,.2,1) both}.card-back>*:not(.emblem-watermark){position:relative;z-index:1}.emblem-watermark{position:absolute;top:46px;right:-54px;z-index:0;width:260px;height:260px;object-fit:contain;opacity:.1;filter:saturate(.82) contrast(1.05);mix-blend-mode:multiply;pointer-events:none}.card-topline,.card-back footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.card-actions{display:inline-flex;align-items:center;gap:8px}.card-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.tier,.reference-badge,.nearby-badge,.recommendation-type-badge{display:inline-flex;align-items:center;min-height:30px;border-radius:8px;padding:0 10px;color:var(--text);font-size:13px;font-weight:850;line-height:1}.tier{border:1px solid var(--line);background:#ffd7bda8}.tier-冲刺{background:#ffb0b09e}.tier-稳妥{background:#c6edcda8}.tier-保底{background:#bedaffa8}.tier-参考{background:#ffe7aad1}.recommendation-type-badge{border:1px solid var(--line);background:#dff7e9db}.reference-badge{border:1px solid var(--line);background:#ffe7aad1}.nearby-badge{border:1px solid var(--line);background:#d5f2e0db}.school-title{margin:3px 0 -2px;padding-bottom:10px;border-bottom:1px solid rgba(17,17,17,.2);color:var(--text);font-size:26px;font-weight:950;line-height:1.18;letter-spacing:0;overflow-wrap:anywhere}.school-meta{display:inline-flex;align-items:center;gap:7px;margin-bottom:2px;color:var(--text);font-weight:700;overflow-wrap:anywhere}.school-motto{margin:-6px 0 0;color:var(--text);font-size:13px;line-height:1.5}.policy-tags,.fit-tags,.detail-fit-tags{display:flex;flex-wrap:wrap;gap:6px}.policy-tags{margin-top:-3px}.fit-tags,.detail-fit-tags{margin-top:-6px}.policy-tags span,.fit-tags span,.detail-fit-tags span,.primary-program,.section-title-row span{display:inline-flex;align-items:center;min-height:24px;border:1px solid var(--line);border-radius:8px;padding:0 8px;color:var(--text);font-size:12px;font-weight:850;line-height:1}.policy-tags span{background:#ffe7aab8}.fit-tags span,.detail-fit-tags span,.section-title-row span{background:#dff7e9c2}.reference-note{margin:-4px 0 0;border-left:3px solid rgba(17,17,17,.54);padding:9px 10px;background:#ffe7aa8f;color:var(--text);font-size:13px;line-height:1.5}.program-strip{display:grid;gap:8px;padding:13px;border:1.5px solid rgba(17,17,17,.26);border-radius:8px;background:#ffffffd6;color:var(--text);box-shadow:inset 0 1px #ffffffd1;overflow:hidden}.recommendation-reason-section,.admission-program-section{display:grid;gap:9px}.program-strip strong{color:var(--text);font-size:16px;line-height:1.35;overflow-wrap:anywhere}.record-kind-badge{display:inline-flex;width:fit-content;align-items:center;min-height:24px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:#ffffffc2;color:var(--text);font-size:12px;font-weight:850}.major-direction{width:fit-content;border-left:3px solid rgba(17,17,17,.5);padding-left:9px;font-weight:850}.program-strip span,.program-strip a,.program-option span{color:var(--text);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.program-strip a{width:fit-content;color:var(--text);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.program-options{display:grid;gap:8px;margin-top:4px}.program-option{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffffc7}.program-option div{display:flex;align-items:center;justify-content:space-between;gap:8px}.program-option strong{color:var(--text);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.primary-program{flex:0 0 auto;background:#ffffffc2}.verified-group-programs{display:grid;gap:7px;border:1.5px solid rgba(17,17,17,.3);border-radius:8px;padding:9px 10px 8px;background:#ffffffbd}.verified-group-heading{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between}.verified-group-title{color:var(--text);font-size:14px;font-weight:900;line-height:1.25}.verified-group-label,.verified-program-tag{display:inline-flex;width:fit-content;align-items:center;min-height:20px;border:1px solid var(--line);border-radius:7px;padding:0 6px;background:#ffffffc2;color:var(--text);font-size:11px;font-weight:850;line-height:1.2}.verified-group-subject{width:fit-content;color:var(--muted);font-size:12px;font-weight:800}.verified-program-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.verified-program-item{display:grid;gap:2px;padding:6px 0;border-top:1px dashed rgba(17,17,17,.18)}.verified-program-item:first-child{border-top:0;padding-top:0}.verified-program-item:last-child{padding-bottom:0}.verified-program-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;line-height:1.35}.verified-program-name{color:var(--text);font-size:13px;font-weight:900;line-height:1.35;overflow-wrap:anywhere}.verified-program-notes{display:flex;flex-wrap:wrap;gap:2px 8px;line-height:1.4}.verified-program-note{color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.subject-requirement{width:fit-content;border-radius:8px;padding:2px 7px;background:#ffffffc2;font-weight:800}.subject-requirement.is-pending{background:#ffe7aaa3}.representative-majors{color:var(--muted);font-size:12px;font-weight:780;line-height:1.45}.verification-note{margin:0;border-radius:8px;padding:8px 9px;background:#ffe7aa94;color:var(--text);font-size:13px;line-height:1.5}.card-section strong{color:var(--text)}.card-section p{margin:7px 0 0}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.life-keywords{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.life-keywords>strong{font-size:13px}.life-keywords dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.life-keywords dl div{display:grid;gap:3px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8}.life-keywords dt,.life-keywords dd{margin:0;color:var(--text);font-size:12px;overflow-wrap:anywhere}.life-keywords dt{font-weight:850}.compact-section{padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff9e}.source-list{display:grid;gap:6px;margin:8px 0 0;padding-left:18px}.source-list li{color:var(--text);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.card-back footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);color:var(--text);font-size:13px;line-height:1.5;flex-direction:column;align-items:flex-start}.empty-state{display:grid;gap:12px;min-height:280px;align-content:center}.favorites-empty{position:relative;overflow:hidden;min-height:360px}.favorites-empty:after{content:"";position:absolute;right:42px;bottom:-22px;width:210px;height:260px;border:1.5px solid rgba(17,17,17,.16);border-radius:8px;background:linear-gradient(135deg,#ffffffb8,#ffe2d185);box-shadow:-18px -18px #dff7e975,-36px -34px #ffe7aa57;transform:rotate(-5deg);pointer-events:none}.empty-state h2{margin-bottom:0}.empty-state .primary-button{width:fit-content}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes cardShuffleIn{0%{opacity:0;transform:translate3d(var(--shuffle-x),34px,0) rotate(var(--shuffle-rotate)) scale(.94)}to{opacity:1;transform:translateZ(0) rotate(0) scale(1)}}@keyframes flipIn{0%{opacity:.2;transform:rotateY(-72deg) scale(.98)}to{opacity:1;transform:rotateY(0) scale(1)}}@keyframes favoriteCardIn{0%{opacity:0;transform:translate3d(0,26px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes messageWallDrift{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--message-scroll-distance, 18px)))}}@keyframes wishCardFloat{0%,to{transform:translateY(0) rotate(calc((var(--wish-index) - 4) * .25deg))}50%{transform:translateY(-8px) rotate(calc((var(--wish-index) - 4) * -.18deg))}}@media(max-width:1040px){.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-shell{width:min(100% - 24px,720px);padding-top:14px}.topbar,.topbar>div,.results>.section-heading,.favorites-heading,.message-panel-header,.message-actions{align-items:flex-start;flex-direction:column}.page-nav{width:100%;justify-content:flex-start}.page-nav button{flex:1 1 92px}.hero-grid,.field-grid,.recommendation-grid,.profile-summary dl,.life-keywords dl,.message-track{grid-template-columns:1fr}.message-panel,.message-wall{padding:16px}.message-quota,.message-actions .primary-button{width:100%}.message-wall{min-height:360px;max-height:860px}.wish-card footer{align-items:flex-start;flex-direction:column}.slogan-banner{font-size:clamp(28px,11vw,48px)}h1{font-size:40px}.card-face{min-height:480px}.card-back{padding:16px}.card-topline{align-items:flex-start}.program-option div{align-items:flex-start;flex-direction:column}.front-emblem{width:250px;height:250px}.favorites-empty:after{opacity:.36;right:-44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
