:root{font-family:system-ui,-apple-system,sans-serif;color:#242b2b;background:#e9e5d9}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:2px solid #26302d;border-radius:12px;background:#fff;padding:12px 16px;color:inherit;font-weight:750}button:active{transform:translateY(2px)}.shell{max-width:650px;margin:auto;padding:18px 18px 45px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px}.logo{font-size:28px;font-weight:950;letter-spacing:-1px}.muted{color:#68716e}.panel{background:#fffdf7;border:2px solid #26302d;border-radius:22px;padding:20px;margin-top:17px;box-shadow:5px 5px 0 #26302d}.hero{background:#f8a77d}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1}.screen{background:#b4d4b1;border:3px solid #293a2e;border-radius:9px;padding:15px;font-family:ui-monospace,monospace;min-height:88px;word-break:break-word}.btnaccent{background:#ff805d}.btnmint{background:#b4d4b1}.btnwide{width:100%;margin-top:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{text-align:left;min-height:105px}.tile span{display:block;font-size:30px}.small{font-size:13px}.contact{padding:13px 0;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center;gap:8px}input,textarea{width:100%;padding:12px;border:2px solid #26302d;border-radius:10px;background:#fff;margin:6px 0 12px}textarea{min-height:85px}.back{margin:10px 0}.pill{padding:8px 11px;font-size:13px}.selected{background:#ff805d}.radio{background:#39423b;border:5px solid #1f2521;border-radius:35px;padding:25px 20px;color:#fff;text-align:center;box-shadow:8px 8px 0 #b1ada0}.radio .screen{color:#1c3022;text-align:left}.ptt{border-radius:50%;width:145px;height:145px;background:#ff805d;margin:28px auto;touch-action:none;user-select:none}.speaker{letter-spacing:5px;color:#b7c0b9}.message{border-bottom:1px solid #ddd;padding:12px 0}.message audio{width:100%;margin-top:8px}.qr{width:100%;max-height:320px;object-fit:contain;border-radius:10px}.hide{display:none}footer{text-align:center;padding:30px 0;color:#6c706b}body.dark{background:#171e1c;color:#e9efe8}body.dark .panel{background:#28322e;color:#edf0e8;border-color:#cbd4cc;box-shadow:5px 5px 0 #080d0b}body.dark .hero{background:#725144}body.dark button{border-color:#cbd4cc;color:#202b26}body.dark .muted{color:#bdc9c0}body.dark .contact,body.dark .message{border-color:#59645c}h1,h2,h3{margin:8px 0 12px}p{line-height:1.5}button:focus-visible,input:focus-visible{outline:3px solid #e27c3f;outline-offset:2px}

.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:950;letter-spacing:-1px}.brand span{color:#f16c40}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:0}.notice{background:#b4d4b1;border:2px solid #26302d;border-radius:12px;padding:12px;margin-top:10px;color:#1e2927}.notice[hidden]{display:none}.plain{border:0;background:transparent;text-align:left;padding:8px}.bigcode{text-align:center;font-size:36px;font-weight:900;letter-spacing:4px}.choices{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.categories{margin-top:15px}.actions{margin-top:20px}.danger{background:#ffb8a6}.pager{background:#343c35;padding:18px;border-radius:22px}.pager .choices button,.pager .categories button{font-size:12px}.pager .screen{min-height:110px;font-size:20px;display:grid;place-items:center}.message .screen{margin:10px 0;min-height:48px}.message{display:grid;gap:8px}.message button{width:max-content}.top .pill{white-space:nowrap}.radio .ptt{font-size:17px}.qr{max-height:290px}body.dark .plain{color:#f4f4f4}body.dark .pager button{color:#1e2927}@media(max-width:410px){.brand{font-size:20px}.shell{padding:12px}.panel{padding:16px}.grid{gap:8px}.bigcode{font-size:27px}}
/* Version 3 — tactile Ping Lah! pager */
.pager-section{overflow:hidden}.pager-device{background:linear-gradient(150deg,#42474a,#202428 65%,#151719);border:7px solid #62696a;border-radius:44px;padding:20px 16px 22px;color:#eef1e9;box-shadow:inset 0 7px 13px #6c727255,inset 0 -8px 12px #0008,0 14px 22px #1114;margin:20px auto;max-width:540px}.pager-top{display:flex;justify-content:space-between;gap:8px;letter-spacing:2px;font-size:11px;font-weight:900;padding:0 10px 14px}.pager-bezel{padding:10px;background:#0d1b0d;border:6px solid #727d77;border-radius:36px;box-shadow:0 0 18px #9aff5a33}.pager-lcd{background:repeating-linear-gradient(0deg,#9ce94c 0px,#9ce94c 3px,#8ed942 4px);border-radius:24px;min-height:250px;color:#19360a;display:flex;flex-direction:column;text-align:center;padding:16px 13px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-shadow:0 1px #bfff82}.lcd-meta{display:flex;justify-content:space-between;font-size:12px;font-weight:900}.lcd-label{font-size:12px;letter-spacing:2px;margin-top:19px}.lcd-code{font-size:clamp(32px,8vw,62px);font-weight:1000;line-height:1.3;letter-spacing:2px}.lcd-message{font-weight:900;font-size:clamp(17px,4.5vw,26px);min-height:55px;overflow-wrap:anywhere;display:grid;place-items:center}.lcd-date{text-align:left;font-size:12px;font-weight:800;margin-top:auto;padding-top:14px}.pager-controls{display:flex;align-items:center;gap:16px;justify-content:space-between;margin:20px 8px}.pager-controls button{flex:1;border-radius:40px;border:2px solid #4d5357;background:linear-gradient(#52575c,#1d2025);box-shadow:0 4px 5px #0008;color:#9ce94c;font-size:24px;padding:10px}.pager-controls button:disabled{opacity:.35;cursor:default}.pager-lights{display:flex;gap:14px}.pager-lights i{width:20px;height:20px;border-radius:50%;background:#ff5149;box-shadow:inset 0 2px 3px #0005}.pager-lights i+i{background:#9ce94c}.pager-foot{text-align:center;color:#c2cfc6;font-size:12px}.compose-pager{margin-top:24px}.pager-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.pager-categories button{white-space:normal;min-height:49px}.pager-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pager-option{text-align:left;background:#f4f1e8;font-size:13px;min-height:64px}.pager-option.chosen{background:#b4d4b1;outline:2px solid #335d36}.pager-preview{margin-top:18px;border:2px solid #33402e;background:#b4d4b1;border-radius:12px;padding:12px;display:grid;gap:8px;color:#203525}.pager-preview span{font:700 11px ui-monospace,monospace;letter-spacing:1px}.pager-preview strong{font-size:17px}body.dark .pager-options button{color:#1c2b21}body.dark .pager-preview{color:#203525}@media(max-width:390px){.pager-device{padding:14px 9px;border-radius:32px}.pager-lcd{min-height:220px}.pager-top{letter-spacing:1px;font-size:9px}.pager-controls{gap:8px}.pager-lights{gap:7px}.pager-lights i{width:13px;height:13px}.pager-options{grid-template-columns:1fr}}

/* v8: compact scannable payment QR images */
.qr{display:block;width:min(100%,260px);height:auto;max-height:none;object-fit:contain;border-radius:0;margin:12px auto 22px;background:#fff;padding:0}

/* v9 broadcast radio tuner */
.radio-tuner{background:#26362f;color:#b5f0aa;border:4px solid #17241e;border-radius:22px;padding:18px;margin:18px 0;box-shadow:inset 0 0 16px #0007}.radio-led{font:700 11px ui-monospace,monospace;color:#ff8c6a;letter-spacing:2px}.radio-frequency{font:900 34px ui-monospace,monospace;margin-top:10px}.radio-station-name{font:700 16px ui-monospace,monospace;overflow-wrap:anywhere}.station-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #ddd;padding:14px 0}.station-row .pill{white-space:nowrap}select{width:100%;padding:12px;border:2px solid #26302d;border-radius:10px;background:#fff;margin:7px 0 14px;font:inherit}body.dark .station-row{border-color:#59645c}body.dark select{color:#222}

/* Analog-style station dial */
.tuning-scale{display:flex;justify-content:space-between;font:700 11px ui-monospace,monospace;letter-spacing:2px;margin-top:18px;color:#b5f0aa}.radio-tuner input[type=range]{width:100%;accent-color:#f6b081;cursor:pointer;height:24px}.radio-tuner .row{margin-top:12px;justify-content:space-between}.radio-tuner .pill{font-size:13px}.radio-tuner #radioDialLabel{color:#d4f8c7;min-height:22px}

/* v11 radio usability */
.radio-heart{font-size:1.65rem;min-width:42px;padding:6px;color:#bb4a55;background:transparent;border:0;cursor:pointer}.saved-heart{color:#bb4a55}.radio-tuner input[type=range]{width:100%;height:36px;touch-action:pan-y;accent-color:#b4e8a6;cursor:pointer}.radio-frequency{font-variant-numeric:tabular-nums}.station-row{align-items:center;gap:8px}.station-row .pill{flex-shrink:0}#radioTuningCount{color:#b4e8a6;margin-bottom:10px}

/* v12 messaging and accessibility */
.inbox-tile{position:relative}.unread-badge{display:inline-flex;align-items:center;justify-content:center;background:#ff7755;color:#152420;border:2px solid #26302d;border-radius:999px;min-width:25px;height:25px;padding:0 5px;font-size:13px;font-weight:900;vertical-align:middle}.inbox-tile .unread-badge{position:absolute;top:5px;right:6px}.emoji-picker{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:14px 0}.emoji-picker span{font-size:13px;font-weight:800}.emoji-btn{padding:7px 9px;font-size:19px;min-width:42px}.new-label{color:#a83e26;font-weight:800}body.dark .unread-badge{color:#152420}
.account-indicator{font-size:13px;margin:12px 0 0;opacity:.85}

.voice-playback audio{display:block;margin:10px 0;max-width:100%;min-height:42px}

/* v14: notification bubbles and handheld walkie-talkie */
.notification-wrap{position:relative;display:inline-flex}.notification-wrap .mini{position:absolute;top:-9px;right:-9px;pointer-events:none;min-width:22px;height:22px;font-size:12px}.walkie-device{position:relative;margin:44px auto 24px;max-width:440px;background:linear-gradient(125deg,#454b46,#171c1a 55%,#303833);border:8px solid #101614;border-radius:32px 32px 48px 48px;padding:22px 22px 30px;color:#e5ebdb;box-shadow:inset 5px 0 #727c6a88,inset -7px 0 #0009,0 14px 18px #0004}.walkie-antenna{position:absolute;bottom:calc(100% + 2px);left:12%;height:51px;width:23px;background:repeating-linear-gradient(0deg,#111 0 8px,#313935 8px 12px);border:3px solid #111;border-radius:9px 9px 0 0}.walkie-head{display:flex;justify-content:space-between;font:800 12px ui-monospace,monospace;letter-spacing:1px;margin-bottom:16px}.walkie-led{color:#ff7c53;text-shadow:0 0 10px #ff7c53}.walkie-screen{background:#9dcb85;border:7px solid #0d1711;border-radius:13px;min-height:170px;color:#183420;text-align:center;display:flex;flex-direction:column;justify-content:space-between;padding:13px 8px;font:800 17px ui-monospace,monospace;box-shadow:inset 0 0 18px #395b4480}.walkie-screen-top,.walkie-screen-bottom{font-size:11px;letter-spacing:1px}.walkie-speaker{margin:22px auto;display:flex;flex-direction:column;gap:7px;width:84%}.walkie-speaker i{height:7px;background:#0d1311;border-radius:12px;box-shadow:inset 0 2px #000}.walkie-ptt{display:block;margin:10px auto!important;border-radius:28px!important;min-width:75%;min-height:90px;background:linear-gradient(#ff9d7a,#d85e40)!important;color:#17201b!important;border:5px solid #101614!important;box-shadow:0 7px #101614;font-weight:900;font-size:18px}.walkie-hint{text-align:center;font-size:12px;margin-top:22px;color:#d8e1d2}.walkie-footer{text-align:center;font:800 10px ui-monospace,monospace;letter-spacing:2px;margin-top:20px;color:#a9b7ab}@media(max-width:380px){.walkie-device{padding:16px 12px}.walkie-screen{font-size:14px}}

/* v16: elapsed-time counter on physical walkie */
.record-clock{font:900 24px ui-monospace,SFMono-Regular,monospace;letter-spacing:2px;margin:8px 0;color:#183420}.record-progress{height:9px;border-radius:10px;background:#5a795b;margin:6px 12px 4px;overflow:hidden}.record-progress>div{width:0;height:100%;background:#ff7755;transition:width .1s linear}

/* v18: notification count is pinned inside tile, never overlaps its label */
.inbox-tile{position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;overflow:visible!important;padding-right:54px!important}
.inbox-tile .unread-badge{position:absolute!important;top:12px!important;right:12px!important;left:auto!important;transform:none!important;min-width:25px!important;width:auto!important;height:25px!important;padding:0 7px!important;font-size:12px!important;line-height:1!important;box-shadow:none!important;z-index:2}
.walkie-history{background:#f7f7f1;border:3px solid #26302d;border-radius:22px;padding:18px;margin:18px 0 24px;color:#26302d}
.walkie-history-title{font-weight:900;letter-spacing:.4px;margin-bottom:8px}.walkie-history-meta{font-size:14px;min-height:38px}.walkie-history-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.walkie-history-nav button{font-size:13px;padding:10px 12px}.walkie-history-nav span{font-size:12px;text-align:center}.voice-history-play{width:100%;background:#b8d8b4!important}.walkie-audio audio{width:100%;margin-top:12px}body.dark .walkie-history{background:#26352f;color:#f2f3ed;border-color:#8d9f91}

/* v19: one-screen send and receive, clean contact selection */
.recipient-picker{display:block;margin:16px 0 10px;font-weight:800;color:inherit}
.recipient-picker select{display:block;width:100%;margin-top:9px;min-height:52px;border:2px solid #27332f;border-radius:14px;background:#fff;color:#27332f;padding:10px 12px;font-size:1rem}
.walkie-device .recipient-picker{margin:20px 0 12px;color:#c2e5c0;text-align:left}
.walkie-device .recipient-picker select{background:#f8faf5;color:#27332f}
.walkie-device .walkie-history{margin:18px 0 12px;background:#e6f0df;color:#22342a;border:2px solid #30473a;border-radius:14px;padding:14px}
.walkie-device .walkie-history button{min-height:44px}
.walkie-device .walkie-history-meta{overflow-wrap:anywhere}
.walkie-device .walkie-audio audio{display:block;max-width:100%;margin-top:10px}
.walkie-send{margin-top:14px}
@media(max-width:420px){.walkie-device .walkie-history-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}}

/* v20: compact incoming display integrated into the transceiver */
.walkie-screen-incoming{margin-top:12px;border-top:2px solid #476e4c;padding-top:9px;width:100%}.walkie-received{text-align:left;font:700 11px ui-monospace,monospace;line-height:1.5;overflow-wrap:anywhere}.walkie-received-heading{letter-spacing:1px}.walkie-received-from{font-size:13px}.walkie-received-date{font-size:10px;font-weight:500}.walkie-action-row{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:10px;align-items:center;margin-top:14px}.walkie-action-row .walkie-ptt{width:100%;min-width:0;min-height:100px;margin:0!important;font-size:15px}.walkie-transport{display:grid;grid-template-columns:1fr 1fr;gap:6px}.walkie-transport button{min-width:0;padding:8px 2px;border-radius:9px;font-size:12px;background:#d8e8d1;color:#1a2b20;border:2px solid #111}.walkie-transport .walkie-listen{grid-column:1/-1;grid-row:1;font-weight:900}.walkie-transport button:disabled{opacity:.35}.walkie-action-row .walkie-audio{grid-column:1/-1}.walkie-action-row audio{width:100%;max-width:100%}.walkie-screen{min-height:240px}.walkie-screen-incoming .walkie-received{color:#193c22} @media(max-width:370px){.walkie-action-row{grid-template-columns:minmax(0,1fr) 98px}.walkie-action-row .walkie-ptt{font-size:13px}}

/* v23 Messenger: classic blue-window nostalgia with touch-friendly controls */
.solo-radio{margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#ddd)}
.msn-panel{overflow:hidden}.msn-title{background:linear-gradient(125deg,#1650a6,#4c98dd);color:white;border-radius:12px 12px 5px 5px;padding:15px;font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:12px}.msn-title span{font-size:12px;font-weight:500}.msn-my-profile{padding:14px;background:rgba(87,151,225,.09);border-radius:10px;margin:12px 0}.msn-my-profile span{font-size:12px;margin-left:6px}.msn-friend{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:13px 8px;border:0;border-bottom:1px solid rgba(130,140,150,.2);background:transparent;color:inherit;cursor:pointer}.msn-friend>span:nth-child(2){flex:1}.msn-friend small{display:block;font-size:12px;opacity:.7;margin-top:4px}.msn-avatar{font-size:25px}.msn-log{height:min(52vh,490px);min-height:260px;overflow:auto;padding:12px 8px;background:rgba(90,145,225,.07);border-radius:10px;margin:12px 0;overscroll-behavior:contain}.msn-message{margin:0 0 15px;max-width:93%}.msn-message.mine{margin-left:auto}.msn-message-head{font-size:11px;opacity:.65;margin-bottom:4px}.msn-message-text{background:rgba(125,160,205,.19);border-radius:11px;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere}.msn-message.mine .msn-message-text{background:rgba(83,159,226,.25)}.msn-reactions{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.msn-reactions button{padding:4px 6px;border-radius:20px;font-size:12px;min-height:28px;border:1px solid rgba(130,140,150,.25);background:transparent;color:inherit}.msn-emoji{display:flex;gap:4px;flex-wrap:wrap}.msn-emoji button{border:0;background:transparent;font-size:20px;padding:6px}.msn-compose{display:flex;gap:8px;margin-top:10px}.msn-compose input{flex:1;min-width:0;margin:0}.msn-compose button{white-space:nowrap}

.nudge-target{display:inline-flex}.nudge-shake{animation:nudgeShake .45s ease-in-out 3}@keyframes nudgeShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}.msn-nudge{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}

/* v24: MSN contrast and mobile keyboard-safe conversation layout */
.msn-panel .msn-friend{color:#24344b;background:#f4f8ff;border:1px solid #cbd8e7;border-radius:12px;margin:8px 0;padding:13px 12px;min-height:72px}
.msn-panel .msn-friend strong{color:#233752}.msn-panel .msn-friend small{color:#516780;opacity:1}.msn-panel .msn-friend>span:last-child{color:#47688d;font-size:22px}
.msn-panel .msn-my-profile{background:#e7f1fc;color:#20364f}.msn-panel .msn-my-profile .muted{color:#566c81}
body.dark .msn-panel .msn-friend{background:#344854;color:#f2f8ff;border:1px solid #6d8797}
body.dark .msn-panel .msn-friend strong{color:#fff}body.dark .msn-panel .msn-friend small{color:#d2e1ed}body.dark .msn-panel .msn-friend>span:last-child{color:#c9dff3}
body.dark .msn-panel .msn-my-profile{background:#344854;color:#fff}body.dark .msn-panel .msn-my-profile .muted{color:#d2e1ed}
body.chat-active{overflow:hidden;overscroll-behavior:none}body.chat-active .shell{padding:0;max-width:none}body.chat-active .top,body.chat-active footer{display:none}
.msn-chat-window{position:fixed;top:var(--chat-top,0px);left:0;right:0;height:var(--chat-height,100dvh);max-width:720px;margin:0 auto;z-index:50;display:flex;flex-direction:column;overflow:hidden;background:#f4f8fc;color:#223448;border:1px solid #c5d7e8;box-shadow:0 4px 24px #0003}
.msn-chat-header{flex:none;display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 12px;background:linear-gradient(110deg,#1650a6,#4c98dd);color:#fff}
.msn-chat-header button{color:#fff;border:1px solid #ffffff88;background:#ffffff22;border-radius:10px;padding:8px 10px}.msn-chat-back{font-size:26px;line-height:1}.msn-chat-identity{flex:1;min-width:0;display:grid;gap:2px}.msn-chat-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msn-chat-identity small{font-size:12px;color:#e8f3ff}.msn-chat-nudge{font-size:13px}
.msn-chat-window .msn-log{flex:1;min-height:0;height:auto;overflow-y:auto;overflow-x:hidden;margin:0;padding:14px 13px;overscroll-behavior:contain;background:#eef4fc;border-radius:0;-webkit-overflow-scrolling:touch}
.msn-chat-window .msn-message-head{color:#526782;opacity:1}.msn-chat-window .msn-message-text{background:#fff;border:1px solid #d6e1ed;color:#24364b}.msn-chat-window .msn-message.mine .msn-message-text{background:#d7eaff;border-color:#bdd7f1}
.msn-chat-window .msn-reactions button{color:#30445e;background:#fff;border:1px solid #c9d8e8}
.msn-chat-bottom{flex:none;background:#fff;border-top:1px solid #c9d8e8;padding:7px 12px max(10px,env(safe-area-inset-bottom,0px))}
.msn-chat-bottom .msn-emoji{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:4px;scrollbar-width:none}.msn-chat-bottom .msn-emoji button{flex:none;font-size:21px;padding:5px 7px;color:#24344b}
.msn-chat-bottom .msn-compose{margin:5px 0 0;align-items:stretch}.msn-chat-bottom .msn-compose input{font-size:16px;margin:0;min-height:46px;border-color:#94aac0;color:#223448;background:#fff}.msn-chat-bottom .msn-compose button{min-height:46px;color:#182b2c}
body.dark .msn-chat-window{background:#1d2a35;color:#f0f6ff;border-color:#536a7d}body.dark .msn-chat-window .msn-log{background:#1d2a35}
body.dark .msn-chat-window .msn-message-head{color:#b8cee1}body.dark .msn-chat-window .msn-message-text{background:#344858;color:#fff;border-color:#567084}body.dark .msn-chat-window .msn-message.mine .msn-message-text{background:#285a86;border-color:#5086b1}
body.dark .msn-chat-window .msn-reactions button{color:#f0f6ff;background:#344858;border-color:#567084}
body.dark .msn-chat-bottom{background:#293b49;border-color:#536a7d}body.dark .msn-chat-bottom .msn-emoji button{color:#fff}body.dark .msn-chat-bottom .msn-compose input{background:#f7fbff;color:#20344b}
@media(max-width:380px){.msn-chat-header{gap:6px}.msn-chat-nudge{padding:8px}.msn-chat-bottom{padding-left:8px;padding-right:8px}}

/* v25 Nostalgia Pack */
.msn-chat-feedback{flex:none;background:#fff2bd;color:#443311;border-bottom:1px solid #d4bb69;padding:10px 14px;font-size:14px;font-weight:700;text-align:center;animation:msnFeedback .2s ease-out}
.msn-chat-feedback[hidden]{display:none}.msn-typing{min-height:18px;font-size:12px;font-style:italic;color:#526d88;padding:0 3px}.setting-check{display:flex!important;align-items:center;gap:10px;margin:14px 0}.setting-check input{width:auto!important;min-height:0!important;accent-color:#2878bd}
body.dark .msn-chat-feedback{background:#4b4530;color:#fff1c4;border-color:#887646}body.dark .msn-typing{color:#c5d9e9}
@keyframes msnFeedback{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.nudge-shake,.msn-chat-feedback{animation:none!important}}

/* v30: one typography standard for all quick-access tiles. */
.grid>.tile{display:flex;align-items:center;justify-content:flex-start;text-align:left;min-width:0;padding:18px 16px;font-size:clamp(16px,4vw,20px);font-weight:800;line-height:1.25}
.grid>.tile .tile-label,.grid>.tile>span:first-child{display:block;font-size:inherit;font-weight:inherit;line-height:inherit;overflow-wrap:anywhere}
.grid>.inbox-tile{padding-right:48px!important}
.grid>.tile .unread-badge{font-size:12px;font-weight:900;line-height:1}
/* Pager: retro LCD blinks briefly on first viewing of an unread page. */
.pager-lcd.pager-new-blink{animation:pager-attention 0.68s steps(2,end) 7;will-change:filter}
@keyframes pager-attention{0%,100%{filter:brightness(1)}50%{filter:brightness(.40)}}
/* Messenger: gentle single-message jiggle for newly received messages. */
.msn-message.new-arrival .msn-message-text{animation:chat-attention .85s ease-in-out 5;transform-origin:bottom left;will-change:transform}
@keyframes chat-attention{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-.45deg)}55%{transform:translateY(1px) rotate(.35deg)}80%{transform:translateY(-2px) rotate(0)}}
@media(prefers-reduced-motion:reduce){.pager-lcd.pager-new-blink,.msn-message.new-arrival .msn-message-text{animation:none!important;will-change:auto}}

/* v31 Quick Connect */
.friend-qr{background:#fff;border-radius:20px;padding:16px;width:min(100%,310px);margin:18px auto;box-shadow:0 3px 0 #bac7bc;display:flex;justify-content:center}.friend-qr svg{width:100%;height:auto;display:block;image-rendering:pixelated}.qr-identity{text-align:center}.scanner-box{margin:14px 0;padding:12px;border:2px solid #a1b2a5;border-radius:16px}.scanner-box[hidden]{display:none}.scanner-box video{width:100%;max-height:360px;object-fit:cover;border-radius:12px}.friend-preview-area{margin:12px 0}.friend-preview{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;background:rgba(130,170,140,.14)}.friend-preview small{display:block}.preview-avatar{font-size:32px}.invite-welcome{padding:15px;margin:12px 0;border:2px solid #c3cfc3;border-radius:14px}.invite-welcome p{line-height:1.5}

/* v32: camera-independent QR image fallback */
.scan-photo-label{display:block;text-align:center;margin:12px 0 18px;padding:12px;border:2px solid var(--line,#b9c8c0);border-radius:14px;cursor:pointer;font-weight:700;background:#fff;color:#20302b}.scan-photo-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.scan-photo-label:focus-within{outline:3px solid #ff8061}

/* v33 — selectable material-aware retro hardware. Modern mode keeps v32 visuals. */
.settings-panel hr{margin:24px 0;border:0;border-top:1px solid #89928b66}.device-style-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.style-choice{min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:15px;border:2px solid #86968a;border-radius:17px;background:linear-gradient(145deg,#f9f8f1,#e4e8e1);color:#24352c!important;min-height:175px}.style-choice strong{font-size:15px}.style-choice small{font-size:12px;line-height:1.4;font-weight:500}.style-choice .style-icon{font-size:28px}.style-choice .style-check{margin-top:auto;font-size:12px;font-weight:850;color:#275f47}.style-choice.is-active{border:3px solid #368e6b;background:linear-gradient(145deg,#e4f7e9,#c8e9d7);box-shadow:0 0 0 2px #7bbd9966}.style-choice:focus-visible{outline:3px solid #f18b5a;outline-offset:3px}body.dark .style-choice{color:#24352c!important}@media(max-width:360px){.device-style-options{gap:8px}.style-choice{padding:10px}}
/* Pager: subtly stippled injection-moulded ABS, split moulding seam, reflective LCD */
.devices-retro .pager-device{position:relative;isolation:isolate;background:radial-gradient(ellipse at 18% 8%,#70787a99,transparent 45%),repeating-linear-gradient(112deg,#ffffff04 0 1px,#00000006 1px 3px),linear-gradient(112deg,#41474b 0%,#262c31 19%,#191f23 72%,#41484a 100%);border:7px solid #383f42;box-shadow:inset 3px 4px 3px #ffffff3c,inset -6px -7px 9px #000b,0 2px 0 #6b7374,0 17px 27px #0006}
.devices-retro .pager-device:before{content:'';position:absolute;inset:7px;border:1px solid #a2a9a42c;border-radius:35px;pointer-events:none;z-index:0;box-shadow:inset 0 2px 1px #ffffff12}
.devices-retro .pager-bezel{position:relative;background:linear-gradient(135deg,#090f0c,#293a30 50%,#080e0b);border:7px solid #56615b;box-shadow:inset 0 4px 10px #000c,0 2px 1px #9ca7a766,0 7px 10px #0006}
.devices-retro .pager-lcd{position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,#a3e760 0px,#a3e760 3px,#94d451 4px);box-shadow:inset 0 8px 14px #142b165c,inset 0 -4px 9px #f3ffe04d}
.devices-retro .pager-lcd:after,.devices-retro .walkie-screen:after,.devices-retro .radio-tuner:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(143deg,#ffffff5e 0%,#ffffff18 16%,transparent 36%,transparent 70%,#ffffff0e 100%);box-shadow:inset 0 2px 2px #ffffff45}
.devices-retro .pager-controls button{border:3px solid #101719;background:linear-gradient(165deg,#656e70 0%,#323b40 44%,#151b20 100%);box-shadow:inset 0 2px 2px #ffffff5a,inset 0 -4px 5px #0008,0 5px 0 #0a0e10,0 8px 9px #0009;text-shadow:0 1px 2px #0008;transition:transform .09s,box-shadow .09s}
.devices-retro .pager-controls button:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 3px 6px #000a,0 1px 0 #0a0e10}
/* Walkie: rugged moulded polymer, recessed glass and rubber tactile controls */
.devices-retro .walkie-device{isolation:isolate;background:radial-gradient(ellipse at 15% 0%,#7b87803b,transparent 48%),repeating-linear-gradient(98deg,#ffffff04 0 1px,#00000006 1px 3px),linear-gradient(105deg,#444d49 0%,#202a25 25%,#151c19 72%,#3c4540 100%);border:8px solid #171e1b;box-shadow:inset 5px 5px 3px #ffffff33,inset -6px -8px 10px #000c,0 3px 0 #53625b,0 18px 28px #0007}
.devices-retro .walkie-device:before{content:'';position:absolute;inset:7px;border:1px solid #d1d8cc24;border-radius:25px 25px 42px 42px;pointer-events:none}
.devices-retro .walkie-screen{position:relative;overflow:hidden;border:8px solid #0c1510;box-shadow:inset 0 5px 13px #2443268c,0 2px 0 #77897c77,0 7px 10px #0009}
.devices-retro .walkie-speaker i{background:linear-gradient(#080e0b,#29342d 65%,#101713);box-shadow:inset 0 3px 3px #000e,0 1px 1px #c0d0bd24}
.devices-retro .walkie-ptt{background:linear-gradient(160deg,#ffb493 0%,#e77752 42%,#b8422d 100%)!important;border:5px solid #131b17!important;box-shadow:inset 0 3px 3px #ffe4c477,inset 0 -5px 5px #862d2a66,0 7px 0 #111a15,0 12px 12px #000a!important;text-shadow:0 1px #ffe6cb70;transition:transform .1s,box-shadow .1s}
.devices-retro .walkie-ptt:active{transform:translateY(5px);box-shadow:inset 0 4px 8px #8c342a99,0 2px 0 #111a15!important}
.devices-retro .walkie-transport button{background:linear-gradient(160deg,#e4f0df,#9eb9a1);box-shadow:inset 0 2px #fff9,0 3px 0 #18261d,0 5px 5px #0008;transition:transform .1s}
.devices-retro .walkie-transport button:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px 4px #0006}
/* Radio: mid-tone teak/walnut, visible flowing wood grain and inset glass tuner */
.devices-retro .radio-tuner{position:relative;isolation:isolate;overflow:hidden;color:#f6e7c9;background:repeating-radial-gradient(ellipse 220% 90% at 9% -65%,transparent 0 10px,#4c271d30 11px 12px,transparent 13px 21px),repeating-linear-gradient(176deg,#f6c68b14 0 2px,#50291924 3px 4px,#d79a6010 5px 12px),linear-gradient(105deg,#8b5735,#bd8756 28%,#9c643f 61%,#75462e);border:9px solid #653e2c;border-radius:26px;box-shadow:inset 3px 4px 3px #ffe0ac65,inset -6px -8px 12px #46251791,0 4px 0 #4c2d20,0 14px 20px #0006}
.devices-retro .radio-tuner:before{content:'';position:absolute;inset:5px;border:1px solid #ffe0b05e;border-radius:14px;pointer-events:none}
.devices-retro .radio-tuner:after{background:linear-gradient(143deg,#fff6e52b,transparent 27%,transparent 78%,#2c150a29);box-shadow:inset 0 2px 3px #ffe5bd33}
.devices-retro .radio-tuner .radio-frequency,.devices-retro .radio-tuner .radio-station-name,.devices-retro .radio-tuner .radio-led,.devices-retro .radio-tuner .tuning-scale,.devices-retro .radio-tuner #radioTuningCount{position:relative;z-index:1;text-shadow:0 2px 2px #48271eb0}
.devices-retro .radio-tuner .radio-frequency{color:#f6e2b0}.devices-retro .radio-tuner .radio-led{color:#ffe6aa}.devices-retro .radio-tuner .tuning-scale{color:#ffe6b8}
.devices-retro .radio-tuner .pill{background:linear-gradient(#f6dbad,#bd9460);color:#362619;border:2px solid #66482e;box-shadow:inset 0 2px 2px #fff8,0 4px 0 #59371f,0 6px 7px #2c150a88;transition:transform .1s,box-shadow .1s}
.devices-retro .radio-tuner .pill:active{transform:translateY(3px);box-shadow:inset 0 3px 5px #0005,0 1px 0 #59371f}
@media(prefers-reduced-motion:reduce){.devices-retro .pager-controls button,.devices-retro .walkie-ptt,.devices-retro .walkie-transport button,.devices-retro .radio-tuner .pill{transition:none}}

/* v34: cabinet-style retro radio, with separate glazed LCD and speaker grille */
.devices-retro .radio-tuner{padding:clamp(15px,4vw,26px);background:repeating-radial-gradient(ellipse 220% 85% at 12% -55%,transparent 0 12px,#4b281b2b 13px 14px,transparent 15px 25px),repeating-linear-gradient(177deg,#efc68c16 0 3px,#63351d24 4px 5px,#d59d6c14 6px 16px),linear-gradient(110deg,#865234,#b78356 26%,#ad764b 63%,#75472f);border:10px solid #623b29;box-shadow:inset 3px 4px 3px #ffe0ac75,inset -6px -7px 14px #3b1c1199,0 5px 0 #432719,0 16px 22px #0006}
.devices-retro .radio-tuner .radio-glass{position:relative;isolation:isolate;overflow:hidden;margin:5px 0 20px;padding:16px 17px 18px;border:6px solid #5d3b28;border-radius:15px;background:linear-gradient(145deg,#d7f0c133 0%,transparent 28%,#ffffff0a 52%,#121f1733 100%),linear-gradient(165deg,#405f48,#243e30 62%,#172b23);box-shadow:inset 0 2px 8px #07130e, inset 0 0 0 2px #b1c9a23b,0 3px 2px #f6d0a25e,0 8px 12px #3a1c1277;color:#d5f4c5}
.devices-retro .radio-tuner .radio-glass:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:9px;background:linear-gradient(148deg,#ffffff30 0%,#ffffff12 14%,transparent 32%,transparent 72%,#ffffff08);box-shadow:inset 0 1px 2px #ffffff55}
.devices-retro .radio-tuner .radio-glass .radio-led{color:#a8d7a0;font-size:10px;letter-spacing:2px;text-shadow:0 0 8px #a2e6a655}
.devices-retro .radio-tuner .radio-glass .radio-frequency{color:#e4f7d4;font-size:clamp(24px,7vw,34px);text-shadow:0 0 9px #a3e6a74d}
.devices-retro .radio-tuner .radio-glass .radio-station-name{color:#d8f3ce;text-shadow:0 0 6px #b2f3b447}
.devices-retro .radio-tuner .radio-glass #radioTuningCount{color:#a9d6a3;text-shadow:none}
.devices-retro .radio-tuner .radio-speaker{height:76px;margin:15px 2px 18px;border:5px solid #69432f;border-radius:12px;background:repeating-linear-gradient(90deg,#241e19 0 5px,#4e382a 5px 7px,#8e6648 7px 11px,#3b2b22 11px 14px);box-shadow:inset 0 5px 9px #100d0bba,inset 0 -2px 2px #d6a77750,0 2px 1px #e2b5876b;position:relative}
.devices-retro .radio-tuner .radio-speaker:after{content:'';position:absolute;inset:7px 8px;border-radius:4px;background:linear-gradient(180deg,#ffffff10,transparent 42%,#0000002b);pointer-events:none}
.devices-retro .radio-tuner .tuning-scale{margin-top:16px;color:#f4d6a8;text-shadow:0 1px 2px #321b13}
.devices-retro .radio-tuner input[type=range]{appearance:none;-webkit-appearance:none;height:30px;background:transparent;margin:12px 0 16px;cursor:pointer}
.devices-retro .radio-tuner input[type=range]::-webkit-slider-runnable-track{height:9px;border:1px solid #70452c;border-radius:12px;background:linear-gradient(#503626,#ad7b52 40%,#d5a273 65%,#64402a);box-shadow:inset 0 2px 4px #2c160e9e,0 1px 1px #ffe0b263}
.devices-retro .radio-tuner input[type=range]::-moz-range-track{height:9px;border:1px solid #70452c;border-radius:12px;background:linear-gradient(#503626,#ad7b52 40%,#d5a273 65%,#64402a);box-shadow:inset 0 2px 4px #2c160e9e}
.devices-retro .radio-tuner input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:31px;height:31px;margin-top:-12px;border-radius:10px;border:3px solid #70442d;background:repeating-linear-gradient(175deg,#bb8859 0 3px,#8e5b38 4px 5px,#d3a06a 6px 10px);box-shadow:inset 1px 2px 2px #ffe1b27a,inset -2px -3px 4px #46251591,0 4px 0 #4b2b1d,0 6px 7px #24110c9c}
.devices-retro .radio-tuner input[type=range]::-moz-range-thumb{width:27px;height:27px;border-radius:10px;border:3px solid #70442d;background:repeating-linear-gradient(175deg,#bb8859 0 3px,#8e5b38 4px 5px,#d3a06a 6px 10px);box-shadow:inset 1px 2px 2px #ffe1b27a,inset -2px -3px 4px #46251591,0 4px 0 #4b2b1d,0 6px 7px #24110c9c}
.devices-retro .radio-tuner #radioDialLabel{color:#f0d5b2;text-shadow:0 1px 2px #3b2217}
.devices-retro .radio-tuner audio{border-radius:12px;box-shadow:0 2px 5px #39231875}
@media(max-width:410px){.devices-retro .radio-tuner .radio-speaker{height:60px}.devices-retro .radio-tuner .radio-glass{padding:12px}}

/* v36 — conversation-first bubble layout shared by both appearance modes */
.msn-chat-window .msn-message{display:flex;flex-direction:column;align-items:flex-start;max-width:100%;margin:0 0 14px;min-width:0}
.msn-chat-window .msn-message.mine{align-items:flex-end;margin-left:0}
.msn-chat-window .msn-message-head{max-width:85%;font-size:11px;margin-bottom:5px}
.msn-chat-window .msn-bubble-line{display:flex;max-width:85%;min-width:0}
.msn-chat-window .msn-message-text{display:inline-block;width:fit-content;max-width:100%;min-width:0;box-sizing:border-box;line-height:1.4;padding:10px 14px;border-radius:17px 17px 17px 5px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.msn-chat-window .msn-message.mine .msn-message-text{border-radius:17px 17px 5px 17px}
.msn-chat-window .msn-message-actions{display:flex;align-items:center;gap:6px;margin-top:4px;max-width:85%;min-height:25px}
.msn-chat-window .msn-reactions{display:flex;gap:4px;flex-wrap:wrap;margin:0}
.msn-chat-window .msn-reactions button{min-height:24px;padding:2px 7px;font-size:12px;border-radius:20px}
.msn-chat-window .msn-react-trigger{min-height:26px;min-width:28px;padding:2px 7px;border-radius:20px;font-size:16px;line-height:1;background:transparent;border:1px solid transparent;color:#6d849a;opacity:.68}
.msn-chat-window .msn-react-trigger:focus-visible,.msn-chat-window .msn-react-trigger[aria-expanded="true"]{opacity:1;outline:2px solid #83b9e5;outline-offset:1px}
.msn-chat-window .msn-reaction-picker{display:flex;gap:5px;max-width:85%;padding:6px;margin-top:3px;border-radius:22px;background:#fff;border:1px solid #c6d8e8;box-shadow:0 3px 12px #142b4629}
.msn-chat-window .msn-reaction-picker[hidden]{display:none!important}
.msn-chat-window .msn-reaction-picker button{padding:5px;min-width:32px;min-height:32px;border:0;border-radius:50%;background:transparent;font-size:19px;line-height:1}
.msn-chat-window .msn-reaction-picker button:active{transform:scale(.92)}
body.dark .msn-chat-window .msn-react-trigger{color:#a7c5df}
body.dark .msn-chat-window .msn-reaction-picker{background:#2a3e50;border-color:#59758a}
/* Modern stays clean and understated, with the same compact widths and alignment. */
body.messenger-modern .msn-chat-window .msn-message-text{box-shadow:none}
/* Retro: early-2000s glossy chat bubbles, clearly distinct senders. */
body.messenger-retro .msn-chat-window .msn-message.mine .msn-message-text{color:#fff;background:linear-gradient(155deg,#72c1f5 0%,#428dd3 36%,#2964aa 100%);border:1px solid #82c9f8;box-shadow:inset 0 2px 1px #ffffff70,inset 0 -2px 4px #123c7b44,0 3px 8px #173c683b;text-shadow:0 1px 1px #173a6b55}
body.messenger-retro .msn-chat-window .msn-message.theirs .msn-message-text{color:#17391c;background:linear-gradient(155deg,#c3eeb3 0%,#89cf7c 38%,#5ca85b 100%);border:1px solid #a5dc95;box-shadow:inset 0 2px 1px #ffffff94,inset 0 -2px 4px #39744435,0 3px 8px #183f2b3b;text-shadow:0 1px 1px #ffffff55}
body.messenger-retro .msn-chat-window .msn-message-text{position:relative}
body.messenger-retro .msn-chat-window .msn-message-text:after{content:'';position:absolute;bottom:2px;left:-5px;width:9px;height:12px;background:inherit;border-radius:0 0 0 90%;transform:skewY(-28deg);z-index:-1}
body.messenger-retro .msn-chat-window .msn-message.mine .msn-message-text:after{left:auto;right:-5px;transform:skewY(28deg);border-radius:0 0 90% 0}
body.messenger-retro .msn-chat-window .msn-message.new-arrival .msn-message-text{animation:chat-attention .85s ease-in-out 5}
@media(prefers-reduced-motion:reduce){body.messenger-retro .msn-chat-window .msn-message.new-arrival .msn-message-text{animation:none!important}}
@media(max-width:380px){.msn-chat-window .msn-bubble-line,.msn-chat-window .msn-message-head,.msn-chat-window .msn-message-actions{max-width:89%}}

/* Pocket Cam v37 */
.solo-radio{display:flex;flex-wrap:wrap;gap:10px}.pocket-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.pocket-heading h1{margin:0}.pocket-body{max-width:660px;margin:15px auto;padding:18px;border-radius:25px;box-shadow:inset 2px 3px 3px #ffffff7a,inset -4px -5px 9px #0003,0 14px 26px #0004;background:linear-gradient(135deg,color-mix(in srgb,var(--cam-metal),white 38%),var(--cam-metal) 36%,color-mix(in srgb,var(--cam-metal),black 18%) 85%,color-mix(in srgb,var(--cam-metal),white 15%));border:2px solid #ffffff85;color:#253341}.pocket-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.09em;margin-bottom:12px;text-shadow:0 1px #fff7}.pocket-lcd{position:relative;overflow:hidden;background:#101b24;border:9px solid #2d3540;border-radius:11px;box-shadow:inset 0 3px 12px #000b,0 3px 5px #fff9;aspect-ratio:4/3;max-height:65vh}.pocket-lcd video{width:100%;height:100%;object-fit:cover;display:block;transform-origin:center}.pocket-hud{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;padding:8px;color:white;font-size:12px;text-shadow:1px 1px 3px #000;font-weight:700;pointer-events:none}.pocket-bottom-hud{top:auto;bottom:0}.pocket-buttons{display:flex;justify-content:space-around;align-items:center;gap:10px;margin-top:16px}.pocket-buttons button,.pocket-extra button{cursor:pointer;border:1px solid #fff9;color:#26313a;background:linear-gradient(#f7f8fa,#adb7c3);box-shadow:inset 0 2px 3px #fff,0 4px 6px #0005;border-radius:22px;padding:12px;font-weight:750}.pocket-buttons button:active,.pocket-extra button:active{transform:translateY(2px);box-shadow:inset 0 2px 6px #0004}.pocket-buttons .pocket-snap{border-radius:50%;width:78px;height:78px;font-size:28px;border:5px solid #e5e9ed}.pocket-extra{display:flex;justify-content:center;gap:12px;margin-top:12px}.pocket-shutter{position:absolute;inset:0;z-index:4;display:flex;pointer-events:none}.pocket-shutter i{width:50%;height:100%;background:#12161c;transform:scaleX(0);transition:transform .14s ease-in-out}.pocket-shutter i:first-child{transform-origin:left}.pocket-shutter i:last-child{transform-origin:right}.pocket-shutter.snap i{animation:camshutter .32s ease-in-out}@keyframes camshutter{0%,100%{transform:scaleX(0)}45%,65%{transform:scaleX(1)}}.pocket-portrait{max-width:390px}.pocket-portrait .pocket-lcd{aspect-ratio:3/4}.pocket-modern{background:#141e2a;border:1px solid #526274;box-shadow:0 8px 20px #0003;color:#f4f8fa;border-radius:20px}.pocket-modern .pocket-top{text-shadow:none}.pocket-modern .pocket-lcd{border:2px solid #40536b;border-radius:15px;box-shadow:none}.pocket-modern .pocket-buttons button,.pocket-modern .pocket-extra button{background:#293c51;color:white;box-shadow:none;border:1px solid #657b90}.pocket-modern .pocket-snap{background:white!important;color:#213248!important}.cam-editor{margin-top:24px}.cam-photo-wrap{max-width:620px;margin:12px auto}.cam-photo-wrap img{width:100%;height:auto;border-radius:10px;display:block}.cam-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.cam-actions button{flex:1;min-width:135px}.cam-friend-picker{margin-top:15px}.cam-friend-picker button{margin:5px}.cam-chat-entry{padding:5px 12px}.cam-chat-entry button{border:1px solid #8199aa;background:#32465a;color:white;border-radius:10px;padding:7px 12px}.photo-message{max-width:320px}.photo-message p{margin:8px 0}.photo-lightbox{position:fixed;inset:0;z-index:1000;background:#0b111beb;display:flex;align-items:center;justify-content:center;padding:15px;overflow:auto}.photo-lightbox-inner{max-width:700px;max-height:95vh;overflow:auto;text-align:center;color:white}.photo-lightbox img{max-width:100%;max-height:72vh;display:block;margin:10px auto;border-radius:8px}@media(max-width:440px){.pocket-body{padding:10px;border-radius:18px}.pocket-lcd{border-width:6px}.pocket-buttons .pocket-snap{width:65px;height:65px}.pocket-buttons button{font-size:12px;padding:9px}}


/* v39 · Machined-metal Pocket Cam. Pure CSS, responsive, with live controls. */
.pocket-classic{
  isolation:isolate;position:relative;overflow:hidden;
  background:
    linear-gradient(92deg,#0309155e 0%,#ffffff68 1.2%,transparent 5%,#ffffff0c 17%,#00000026 43%,#ffffff28 64%,#ffffff88 94%,#03091599 100%),
    linear-gradient(174deg,#ffffffaa 0%,#ffffff2b 5%,transparent 18%,#00000020 43%,#ffffff15 64%,#00000066 96%,#ffffffa0 100%),
    linear-gradient(113deg,color-mix(in srgb,var(--cam-metal),white 58%) 0%,color-mix(in srgb,var(--cam-metal),white 22%) 17%,var(--cam-metal) 38%,color-mix(in srgb,var(--cam-metal),black 24%) 62%,color-mix(in srgb,var(--cam-metal),white 13%) 86%,color-mix(in srgb,var(--cam-metal),black 39%) 100%);
  border:2px solid color-mix(in srgb,var(--cam-metal),white 69%);
  border-top-color:#ffffffda;border-left-color:#ffffffa8;
  border-right-color:color-mix(in srgb,var(--cam-metal),black 38%);
  border-bottom-color:color-mix(in srgb,var(--cam-metal),black 48%);
  border-radius:29px;
  box-shadow:inset 0 3px 2px #ffffffa8,inset 3px 0 4px #ffffff7a,inset -5px 0 9px #0000005c,inset 0 -9px 12px #00000055,0 3px 0 #070c13a8,0 15px 24px #00000066,0 30px 45px #00000038;
  color:#111e2e;
}
.pocket-classic:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:5px;border-radius:23px;border:1px solid #ffffff55;background:linear-gradient(168deg,#ffffff62 0%,#ffffff00 18%,#ffffff00 76%,#0000003c 100%);box-shadow:inset 0 1px 0 #ffffff63,inset 0 -1px 0 #0000004d}
.pocket-classic:after{content:'';position:absolute;pointer-events:none;z-index:-1;top:10px;left:12%;width:72%;height:20%;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,#ffffff5c,transparent 75%);filter:blur(14px)}
.pocket-classic .pocket-top{font-weight:800;letter-spacing:.115em;color:#0c1b2b;text-shadow:0 1px 1px #ffffffb0,0 -1px 1px #00000055}
.pocket-classic .pocket-lcd{border-color:#273341;border-top-color:#0c121b;border-left-color:#1c2938;border-right-color:#506274;border-bottom-color:#6b7985;border-radius:15px;box-shadow:0 0 0 2px #ffffff88,0 0 0 4px #00000022,inset 0 5px 13px #000000d9,0 7px 9px #00000077,0 11px 15px #ffffff21}
.pocket-classic .pocket-buttons button,.pocket-classic .pocket-extra button{background:linear-gradient(164deg,#fff 0%,#f7faff 13%,#c5cdd7 40%,#e6eaf0 54%,#8a98a8 89%,#e3e8ee 100%);border:1px solid #ffffffdc;border-bottom-color:#657484;border-right-color:#7c8a9b;box-shadow:inset 0 2px 2px #ffffffef,inset -2px -3px 4px #596b7a66,0 2px 0 #4c596e,0 6px 10px #00000076;color:#182a37;text-shadow:0 1px 1px #fff8}
.pocket-classic .pocket-snap{background:radial-gradient(circle at 35% 20%,#fff 0%,#e9eef7 25%,#c4d0df 49%,#8598af 76%,#e8edf5 100%)!important;border:5px solid #dfe8f4!important;box-shadow:inset 0 3px 5px #ffffffed,inset -3px -5px 7px #52657e88,0 0 0 2px #4d5b71,0 4px 0 #38485b,0 9px 13px #00000099!important}
.pocket-classic .pocket-buttons button:active,.pocket-classic .pocket-extra button:active{transform:translateY(2px);box-shadow:inset 0 3px 7px #00000066,0 1px 2px #00000065!important}
.pocket-modern{border:1px solid color-mix(in srgb,var(--cam-metal),white 32%);background:linear-gradient(135deg,color-mix(in srgb,var(--cam-metal),#202735 65%),#111b29 78%);box-shadow:inset 0 1px 0 #ffffff32,0 12px 25px #0005}
.pocket-modern .pocket-snap{border-color:color-mix(in srgb,var(--cam-metal),white 35%)}
@media(max-width:440px){.pocket-classic{border-radius:21px}.pocket-classic:before{border-radius:16px}}
/* Personal Spotify Music Player: responsive CSS-built metallic hardware */
.music-panel{max-width:720px;margin-inline:auto}.music-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.music-device{--music-color:#bdc5cc;width:min(100%,340px);margin:22px auto;padding:23px 23px 30px;border-radius:34px;background:linear-gradient(118deg,rgba(255,255,255,.65),transparent 28%,rgba(0,0,0,.20) 68%,rgba(255,255,255,.40)),var(--music-color);box-shadow:inset 4px 5px 6px #ffffff91,inset -6px -7px 10px #0005,0 18px 28px #0004;border:2px solid #7778}.music-screen{min-height:235px;background:linear-gradient(155deg,#e4eff0,#a7bdc4 65%,#839eaa);border:7px solid #1c252b;border-radius:13px;box-shadow:inset 0 5px 14px #0005,0 3px 6px #fff8;display:flex;align-items:center;flex-direction:column;gap:5px;padding:12px;text-align:center;color:#14242a}.music-kicker{font-size:10px;letter-spacing:2px;font-weight:800}.music-cover{width:106px;height:106px;object-fit:cover;border-radius:6px;box-shadow:0 5px 9px #0004}.music-placeholder{display:grid;place-items:center;background:#456;font-size:52px;color:white}.music-screen strong,.music-screen small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-screen small{font-size:11px}.music-wheel{position:relative;width:235px;height:235px;margin:20px auto 0;border-radius:50%;background:linear-gradient(145deg,#fdfdfd,#d5d9df 55%,#a4adb7);box-shadow:inset 0 3px 6px #fff,inset 0 -6px 12px #0003,0 5px 12px #0004}.music-wheel button{position:absolute;border:0;background:none;color:#3c4954;font-weight:800;cursor:pointer;font-size:13px;touch-action:manipulation}.music-wheel button:active{transform:scale(.94)}.music-up{top:19px;left:50%;translate:-50% 0}.music-down{bottom:19px;left:50%;translate:-50% 0}.music-left{left:14px;top:50%;translate:0 -50%}.music-right{right:14px;top:50%;translate:0 -50%}.music-wheel .music-center{width:96px;height:96px;left:50%;top:50%;translate:-50% -50%;border-radius:50%;background:linear-gradient(145deg,#edf1f5,#aeb8c3);box-shadow:inset 0 2px 5px #fff,0 4px 9px #0004;font-size:21px}.music-device.modern{background:#f5f6f8;border:1px solid #dce0e5;border-radius:25px;box-shadow:0 12px 25px #0002}.music-device.modern .music-screen{background:#fff;border:1px solid #dfe4e8;box-shadow:none}.music-device.modern .music-wheel{box-shadow:none;background:#e9edf2}.music-albums,.music-tracks{display:grid;gap:8px;margin:15px 0;max-height:380px;overflow:auto}.music-album{display:flex;align-items:center;gap:12px;text-align:left;padding:9px;border-radius:12px;background:var(--panel,#fff);border:1px solid #8885;color:inherit}.music-album img{width:48px;height:48px;object-fit:cover;border-radius:5px}.music-album small{display:block;opacity:.7}.music-tracks button{text-align:left;padding:10px;border:1px solid #8884;border-radius:8px;background:transparent;color:inherit}@media(max-width:420px){.music-options{grid-template-columns:1fr}.music-device{width:min(100%,315px)}}

/* Personal Edition v4 — Master Collection */
.master-collection{margin:20px 0;padding:18px;border:1px solid rgba(195,161,89,.48);border-radius:20px;background:linear-gradient(145deg,rgba(25,31,51,.96),rgba(46,36,68,.93));color:#f8f3ff;box-shadow:0 10px 28px rgba(0,0,0,.17)}
.master-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;color:#f4d58e;font-weight:800;letter-spacing:.09em}.master-heading small{font-size:10px;color:#d3c4e8}.master-collection h3{color:#f5e7ff;margin:18px 0 9px}.master-collection .muted{color:#c7bfd7!important}.master-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.master-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.master-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:106px;border-radius:13px;border:1px solid rgba(220,198,255,.24);background:linear-gradient(145deg,#3c365d,#20283e);color:#fff;padding:9px 5px;cursor:pointer;text-align:center}.master-tile.selected,.master-tile:focus-visible{outline:2px solid #f4d58e;border-color:#f4d58e;background:linear-gradient(145deg,#574573,#343b5d)}.master-tile strong{font-size:11px;line-height:1.25}.master-tile small{font-size:10px;color:#c8c0d6;line-height:1.25}.master-emoji{font-size:29px;line-height:1.2}@media(max-width:380px){.master-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Personal Edition v6: Modern Music Player finishes. Classic metallic palette remains intact. */
.music-device.modern.snow-white{background:linear-gradient(145deg,#fff,#f0f2f5 68%,#e5e9ee);border:1px solid #d7dce4;color:#1b2733;box-shadow:0 14px 30px #0002,inset 0 2px 2px #fff}
.music-device.modern.snow-white .music-screen{background:#fff;border:1px solid #dfe4e8;color:#1b2733}
.music-device.modern.snow-white .music-wheel{background:#e9edf2}
.music-device.modern.jet-black{background:linear-gradient(145deg,#30333a,#101216 62%,#060709);border:1px solid #444953;color:#f5f7fb;box-shadow:0 18px 36px #0006,inset 0 1px 2px #ffffff35}
.music-device.modern.jet-black .music-screen{background:linear-gradient(150deg,#242832,#101319);border:1px solid #3c4350;color:#f5f7fb;box-shadow:inset 0 1px 3px #0008}
.music-device.modern.jet-black .music-placeholder{background:#353e50;color:#f5f7fb}
.music-device.modern.jet-black .music-wheel{background:linear-gradient(145deg,#343944,#15191f 72%,#0c0f14);border:1px solid #424853}
.music-device.modern.jet-black .music-wheel button{color:#f3f6fc}
.music-device.modern.jet-black .music-wheel .music-center{background:linear-gradient(145deg,#464f5d,#171b22);box-shadow:inset 0 1px 2px #ffffff30,0 4px 12px #0008;color:#fff}

/* Personal v7: realistic screen status and playlist-first library */
.music-screen-top{display:flex;width:100%;align-items:center;justify-content:space-between;gap:6px;min-height:17px}.music-screen-top .music-kicker{flex:1;text-align:center;padding-left:22px}.music-battery{display:block;position:relative;width:22px;height:11px;border:1.7px solid currentColor;border-radius:3px;flex-shrink:0;padding:1px;opacity:.85}.music-battery:after{content:"";position:absolute;right:-4px;top:2.5px;width:2px;height:4px;background:currentColor;border-radius:0 2px 2px 0}.music-battery-level{display:block;background:currentColor;width:100%;height:100%;border-radius:1px}.music-playback-progress{width:100%;margin-top:7px;padding:0 2px}.music-progress-track{height:5px;border-radius:20px;background:#71859155;overflow:hidden}.music-progress-track>div{height:100%;background:currentColor;border-radius:20px;transition:width .4s linear}.music-progress-meta{display:flex;justify-content:space-between;gap:5px;font-size:10px;margin-top:4px;font-weight:700}.music-progress-meta span:nth-child(2){font-size:9px;opacity:.85}.music-library-tabs{display:flex;gap:8px;margin:18px 0 10px}.music-library-tabs button{flex:1;border:2px solid #293330;border-radius:12px;background:transparent;color:inherit;padding:12px;font-weight:800}.music-library-tabs button.active{background:#c0d8c1;color:#1c2d25}.music-screen{min-height:260px}.music-device.modern .music-screen{min-height:260px}
