/* Fictional dating app: one contained light surface on phone and laptop. */
:is(#phone,#desk) .ph-hinge-wrap{background:#faf8f6;color:#30232c;text-align:left;min-height:0;height:100%;padding:0;display:flex;flex-direction:column;overflow:hidden;font:15px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:is(#phone,#desk) .ph-hinge{padding:10px;gap:8px;min-width:0;min-height:0;height:100%;overflow:hidden;color:#30232c;font:inherit}
:is(#phone,#desk) .ph-hinge button{font:inherit;font-size:14px;font-weight:600;line-height:1.25;min-height:44px;height:auto;width:auto;max-width:100%;margin:0;padding:10px 14px;border:1px solid #d4cbd0;background:#fff;color:#3f2940;box-shadow:none;border-radius:12px;text-transform:none;letter-spacing:normal;white-space:normal;overflow-wrap:anywhere;flex:0 0 auto}
:is(#phone,#desk) .ph-hinge button:focus-visible{outline:3px solid #805a7b;outline-offset:2px}
:is(#phone,#desk) .hg-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none}
:is(#phone,#desk) .hg-brand strong{font:bold 25px Georgia,serif;letter-spacing:-1px;color:#30232c}
:is(#phone,#desk) .hg-brand span{font-size:10px;color:#695662;text-align:right;max-width:150px}
:is(#phone,#desk) .hg-tabs{display:flex;gap:4px;margin:0;flex:none;border-bottom:1px solid #e5dde1;padding-bottom:6px}
:is(#phone,#desk) .hg-tabs button{flex:1;border-color:transparent;background:transparent;border-radius:8px}
:is(#phone,#desk) .hg-tabs button.on{background:#eee5ed;color:#442b43}
:is(#phone,#desk) .hg-tabs i{background:#75516f;color:white;font-size:10px}
:is(#phone,#desk) .hg-discover{min-height:0;display:flex;flex-direction:column;gap:8px;flex:1;overflow:hidden}
:is(#phone,#desk) .hg-card{display:flex;flex-direction:column;min-height:0;flex:1;padding:0;overflow:hidden;border-radius:16px;background:#fff;border:1px solid #e0d7dc;touch-action:pan-y}
:is(#phone,#desk) .hg-face{margin:0;flex:none;overflow:hidden;background-color:#cfc2bb;color:#594454;border-radius:50%;width:48px;height:48px}
:is(#phone,#desk) .hg-photo{background-image:url('./assets/hinge/fictional-profiles.png');background-size:200% 500%;background-position:var(--hg-x) var(--hg-y);background-repeat:no-repeat}
:is(#phone,#desk) .hg-card>.hg-face{width:100%;height:auto;border-radius:0;flex:1 1 48%;min-height:90px;max-height:430px}
:is(#phone,#desk) .hg-profile-copy{padding:12px;flex:0 1 auto;min-height:0;overflow:auto}
:is(#phone,#desk) .hg-who{text-align:left;display:flex;align-items:baseline;justify-content:space-between;gap:8px}
:is(#phone,#desk) .hg-who b{font-size:21px;color:#30232c;white-space:nowrap}
:is(#phone,#desk) .hg-who span{color:#695662;font-size:12px;text-align:right;margin:0}
:is(#phone,#desk) .hg-job{font-size:12px;color:#695662;text-align:left;margin:5px 0 10px}
:is(#phone,#desk) .hg-prompt{margin:0;padding-top:10px;border-top:1px solid #eee7eb;text-align:left;color:#30232c}
:is(#phone,#desk) .hg-prompt small{color:#695662;font-size:11px;font-weight:600}
:is(#phone,#desk) .hg-prompt p{font-size:15px;line-height:1.35;color:#30232c;margin:5px 0 0}
:is(#phone,#desk) .hg-actions{display:flex;gap:10px;margin:0;flex:none;justify-content:space-between}
:is(#phone,#desk) .hg-actions button{border-radius:12px;flex:1;height:46px;font-size:20px;display:flex;align-items:center;justify-content:center;gap:9px}
:is(#phone,#desk) .hg-actions button span{font-size:14px}
:is(#phone,#desk) .hg-actions .hg-heart{background:#72516d;color:#fff;border-color:#72516d}
:is(#phone,#desk) .hg-list{min-height:0;overflow:auto;gap:0}
:is(#phone,#desk) .hg-row{display:flex;width:100%;text-align:left;gap:12px;padding:13px 4px;border:0;border-bottom:1px solid #e7dfe4;border-radius:0;background:transparent}
:is(#phone,#desk) .hg-row>span{min-width:0;flex:1}
:is(#phone,#desk) .hg-row b{color:#30232c;font-size:15px}
:is(#phone,#desk) .hg-row small{display:block;font-size:12px;color:#695662;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(#phone,#desk) .hg-row .hg-face{width:48px;height:48px;margin:0}
:is(#phone,#desk) .hg-row.unread b{color:#693b65}
:is(#phone,#desk) .hg-row.dead{opacity:1}
:is(#phone,#desk) .hg-chat{min-height:0;overflow:hidden;gap:8px}
:is(#phone,#desk) .hg-chat-head{margin:0;padding-bottom:7px;border-bottom:1px solid #e5dde1;gap:8px}
:is(#phone,#desk) .hg-chat-head b{color:#30232c;font-size:16px}
:is(#phone,#desk) .hg-chat-head button{min-width:44px;font-size:23px;padding:4px;border:0;background:transparent}
:is(#phone,#desk) .hg-chat-head .hg-face{width:36px;height:36px}
:is(#phone,#desk) .hg-thread{flex:1 1 35%;min-height:45px;overflow:auto;gap:8px;padding:4px 0;overscroll-behavior:contain}
:is(#phone,#desk) .hg-bubble{font-size:14px;line-height:1.4;border-radius:14px;padding:9px 12px;overflow-wrap:anywhere;max-width:88%}
:is(#phone,#desk) .hg-bubble.her{background:#e9e4e7;color:#30232c;border-bottom-left-radius:4px}
:is(#phone,#desk) .hg-bubble.you{background:#765572;color:#fff;border-bottom-right-radius:4px}
:is(#phone,#desk) .hg-replies{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;max-height:60%;overflow:auto;gap:8px;overscroll-behavior:contain}
:is(#phone,#desk) .hg-chips{display:flex;flex-direction:column;gap:7px;margin:0}
:is(#phone,#desk) .hg-chips button{text-align:left;font-size:13px;padding:10px 12px;border-color:#d5c7d2;background:#fff}
:is(#phone,#desk) .hg-date-picker,:is(#phone,#desk) .hg-help{margin:0;border:0;padding:0;color:#60465c}
:is(#phone,#desk) .hg-date-picker summary,:is(#phone,#desk) .hg-help summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:600;padding:6px 2px}
:is(#phone,#desk) .hg-dates{gap:6px;margin:0;display:flex;flex-wrap:wrap}
:is(#phone,#desk) .hg-dates button{font-size:12px;flex:1 0 42%;padding:8px}
:is(#phone,#desk) .hg-hint{font-size:12px;line-height:1.4;color:#695662;margin:6px 0;text-align:left}
:is(#phone,#desk) .hg-replies :is(.ph-post-composer,.ph-receipt){margin:0;padding:10px;background:#f0e9ef;color:#30232c;border:1px solid #d9cbd6;border-radius:12px}
:is(#phone,#desk) .hg-replies :is(.ph-post-composer,.ph-receipt) p{font-size:12px;color:#594454;margin:5px 0 8px}
:is(#phone,#desk) .hg-flash{padding:12px;overflow:auto;color:#30232c}
:is(#phone,#desk) .hg-flash>.hg-face{width:160px;height:160px;margin:12px auto}
:is(#phone,#desk) .hg-flash p{color:#72516d;font-size:18px;letter-spacing:0;text-transform:none}
:is(#phone,#desk) .hg-flash .acts{display:flex;gap:8px;justify-content:center;margin-top:16px}
#desk .ph-hinge{max-width:none}
#desk .hg-discover{max-width:820px;width:100%;align-self:center}
#desk .hg-card{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1fr);align-items:stretch}
#desk .hg-card>.hg-face{height:100%;min-height:150px;max-height:none}
#desk .hg-profile-copy{display:flex;flex-direction:column;justify-content:center;padding:24px}
#desk .hg-chat{max-width:860px;width:100%;align-self:center}
#desk .hg-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:4px 20px}
@media(max-height:600px){:is(#phone,#desk) .ph-hinge{gap:5px;padding:6px}:is(#phone,#desk) .hg-brand strong{font-size:19px}:is(#phone,#desk) .hg-profile-copy{padding:8px}:is(#phone,#desk) .hg-job{margin:3px 0 5px;font-size:10px}:is(#phone,#desk) .hg-prompt{padding-top:4px}:is(#phone,#desk) .hg-prompt p{font-size:12px}:is(#phone,#desk) .hg-who b{font-size:17px}:is(#phone,#desk) .hg-replies{max-height:63%}}
@media(max-width:600px){#desk .hg-card{display:flex}#desk .hg-profile-copy{padding:10px}}
@media(prefers-reduced-motion:reduce){:is(#phone,#desk) .hg-card{transition:none!important}}
/* Atlas cells keep their natural square proportions, including compact views. */
:is(#phone,#desk) .hg-photo{position:relative;background-image:none}
:is(#phone,#desk) .hg-photo::before{content:"";position:absolute;width:100%;aspect-ratio:1;left:0;top:50%;transform:translateY(-50%);background-image:url('./assets/hinge/fictional-profiles.png');background-size:200% 500%;background-position:var(--hg-x) var(--hg-y);background-repeat:no-repeat}
@media(max-height:600px){#phone .hg-card{display:grid;grid-template-columns:40% 60%;align-items:stretch}#phone .hg-card>.hg-face{height:100%;min-height:0}#phone .hg-who{display:block}#phone .hg-who span{text-align:left}#phone .hg-profile-copy{overflow:auto}}
@media(max-height:500px) and (orientation:landscape){
 #phone .ph-hinge{display:grid;grid-template-columns:130px minmax(0,1fr);grid-template-rows:44px minmax(0,1fr);gap:5px}
 #phone .hg-brand{gap:4px}#phone .hg-brand span{font-size:9px;max-width:90px}#phone .hg-tabs{height:44px;padding:0;border:0}
 #phone :is(.hg-discover,.hg-list,.hg-flash,.hg-chat){grid-column:1/-1;min-height:0}
 #phone .hg-chat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:38px minmax(0,1fr);gap:5px 12px}
 #phone .hg-chat-head{grid-column:1;grid-row:1;padding:0;border:0}#phone .hg-thread{grid-column:1;grid-row:2;min-height:0}
 #phone .hg-replies{grid-column:2;grid-row:1/3;max-height:none;height:100%;min-height:0}
 #phone .hg-chips{display:grid;grid-template-columns:1fr 1fr;gap:5px}
 #phone .hg-chips button{font-size:11px;padding:6px 8px;line-height:1.2}#phone .hg-chips button:last-child:nth-child(odd){grid-column:1/-1}
 #phone .hg-discover{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}
 #phone .hg-actions{flex-direction:column;gap:5px}#phone .hg-actions button{flex:1;height:auto;min-height:44px}
 #phone .hg-card{grid-template-columns:120px minmax(0,1fr)}
}
