/* pofis social features — inspired by green smile mascot and TV SMS-era playful cues. */
.pofis-social-home{display:grid;grid-template-columns:1.16fr .84fr;gap:16px;margin:17px 0}
.pofis-social-home .card{min-width:0}
.social-kicker{font-weight:900;letter-spacing:1.2px;color:#14975d;font-size:10px;margin-bottom:10px}
.social-pulse-card h2{font-size:18px;line-height:1.35;margin:0 0 8px}
.social-poll-answers{display:grid;gap:7px;margin-top:13px}
.social-poll-choice{display:flex;flex-direction:column;gap:5px;cursor:pointer;border:1px solid #d7e9dc;background:#fbfffc;color:#2c4437;border-radius:11px;padding:9px 12px;min-height:53px;text-align:left;font:inherit}
.social-poll-choice.chosen{border-color:#28ba70;background:#e8fcf1}
.social-poll-choice:hover{border-color:#48c789}
.social-poll-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.social-poll-line b{font-size:12px}
.social-poll-line>span{white-space:nowrap;color:#658473;font-size:11px}
.social-poll-bar{background:#e3e9e6;height:5px;overflow:hidden;border-radius:8px}
.social-poll-bar i{display:block;height:100%;border-radius:8px;background:#23c875;transition:width .35s ease}
.social-poll-edit{border-top:1px solid #e6ece8;margin-top:12px;padding-top:9px;font-size:12px}
.social-poll-edit summary{cursor:pointer;color:#58846c;font-weight:800}
.social-poll-edit form{display:grid;gap:9px;margin-top:11px}
.social-poll-edit label{display:grid;gap:5px}
.social-poll-edit input,.social-poll-edit textarea{width:100%}
.social-message{font-size:11px;line-height:1.45;color:#1f975a;min-height:0}
.social-ritual-card{display:flex;align-items:center;gap:15px;background:linear-gradient(118deg,#f5fff7,#eaf9f0);border-color:#cdeada}
.social-mascot{width:110px;min-width:110px;position:relative;display:grid;place-items:center}
.social-face{position:relative;width:105px;height:105px;transform-origin:bottom;animation:pofisBreath 3.5s ease-in-out infinite}
.social-face svg{width:100%;height:100%;filter:drop-shadow(0 8px 6px #247b4729)}
/* One logo-faithful SVG: every face has curved LINE eyes, never pupil circles. */
.social-face .face-mouth,.social-face .face-shades{display:none}
.social-face .face-mouth-neutral{display:block}
.social-face .face-stop-start{stop-color:#ffe577}
.social-face .face-stop-end{stop-color:#f4c23c}
.social-face-relaxed .face-mouth-neutral,
.social-face-waiting .face-mouth-neutral{display:block}
.social-face-closing .face-mouth-neutral,
.social-face-overdue .face-mouth-neutral,
.social-face-friday .face-mouth-neutral,
.social-face-sunglasses .face-mouth-neutral{display:none}
.social-face-closing .face-mouth-worried,
.social-face-overdue .face-mouth-worried,
.social-face-friday .face-mouth-happy,
.social-face-sunglasses .face-mouth-happy{display:block}
.social-face-closing .face-stop-start{stop-color:#ffb35f}
.social-face-closing .face-stop-end{stop-color:#ee812d}
.social-face-overdue .face-stop-start{stop-color:#ff8179}
.social-face-overdue .face-stop-end{stop-color:#e44849}
.social-face-friday .face-stop-start,.social-face-sunglasses .face-stop-start{stop-color:#4bf2a5}
.social-face-friday .face-stop-end,.social-face-sunglasses .face-stop-end{stop-color:#00c65d}
.social-face-friday .face-shades,.social-face-sunglasses .face-shades{display:block}
.social-face-friday,.social-face-sunglasses{transform:rotate(-5deg)}
.social-face-overdue .face-sparkle{color:#e44b47}
.social-face-closing .face-sparkle{color:#f29b40}
.social-face-relaxed .face-sparkle,.social-face-waiting .face-sparkle{color:#deb949}
.face-sparkle{position:absolute;top:-10px;right:-7px;color:#24be79;font-size:26px;animation:pofisSparkle 2.5s ease-in-out infinite}
.social-ritual-copy{min-width:0}
.social-ritual-copy h2{margin:0 0 6px;font-size:19px;line-height:1.25}
.social-ritual-copy .sub{font-size:12px;line-height:1.55}
.social-streak{display:inline-block;padding:8px 10px;border:1px solid #bbe7cc;background:#e0f7e9;border-radius:9px;font-size:11px;font-weight:850;color:#22794e;line-height:1.5;margin-top:10px}
@keyframes pofisBreath{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(2deg)}}
@keyframes pofisSparkle{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
.pofis-closing-mode .social-ritual-card{outline:2px solid #66c589;animation:closingGlow 2.8s ease-in-out infinite}
.pofis-office-closed .social-ritual-card{background:linear-gradient(120deg,#d7ffe5,#c5f6db);border-color:#78d6a2}
.social-ritual-card[data-mood="relaxed"],.social-ritual-card[data-mood="waiting"]{background:linear-gradient(118deg,#fffaf0,#fff4d5);border-color:#ead9a3}
.social-ritual-card[data-mood="closing"]{background:linear-gradient(118deg,#fff4e8,#ffe7d3);border-color:#f5b779}
.social-ritual-card[data-mood="overdue"]{background:linear-gradient(118deg,#fff0ec,#ffdedb);border-color:#eb9994}
.social-ritual-card[data-mood="friday"],.social-ritual-card[data-mood="sunglasses"]{background:linear-gradient(118deg,#e5fff0,#c9f5d9);border-color:#78d6a2}
.mascot-celebrate .social-face{animation:mascotJump .65s ease-in-out 3}
.pofis-finish-toast{position:fixed;z-index:150;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:18px 25px;text-align:center;background:#126b3c;color:#fff;font-weight:900;font-size:17px;border-radius:16px;box-shadow:0 15px 60px #08351f88;animation:toastArrival .35s ease-out both}
@keyframes closingGlow{50%{outline-color:#4ef3a2;box-shadow:0 4px 18px #31c57940}}
@keyframes mascotJump{45%{transform:translateY(-14px) rotate(-7deg)}}
@keyframes toastArrival{from{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%,0)}}
.social-club-hero{margin-bottom:18px}
.social-club-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.social-panel{min-width:0}
.social-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:7px}
.social-card-head h2{margin:0;font-size:19px}
.social-panel form{display:grid;gap:10px;margin-top:14px}
.social-panel form label{display:grid;gap:6px;font-size:12px;font-weight:800}
.social-panel form input,.social-panel form select,.social-panel form textarea{min-width:0;width:100%;min-height:43px;border:1px solid #d6e2dc;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:#263b2d;font-size:13px}
.social-panel form textarea{resize:vertical;min-height:70px}
.social-panel form .btn{min-height:43px}
.social-kudos-list{display:grid;gap:8px;margin-top:15px;max-height:360px;overflow:auto}
.social-kudos-item{display:flex;align-items:flex-start;gap:9px;background:#f4fcf6;border:1px solid #e1f1e6;border-radius:11px;padding:11px}
.social-kudos-item>span{font-size:20px}
.social-kudos-item>div{flex:1;min-width:0}
.social-kudos-item strong{font-size:12px}
.social-kudos-item p{font-size:12px;color:#49665a;line-height:1.5;margin:5px 0 0;overflow-wrap:anywhere}
.social-kudos-item small{font-size:10px;color:#779184;white-space:nowrap}
.social-thanks-count{color:#228c55;font-size:11px;font-weight:850;white-space:nowrap;background:#e1f7e8;padding:3px 7px;border-radius:8px}
.social-manager-form{background:#f1f9f5;border:1px solid #d8e9dc;border-radius:12px;padding:13px}
.social-market-list{display:grid;gap:10px;max-height:460px;overflow:auto;padding-top:8px}
.social-market-item{display:flex;gap:13px;justify-content:space-between;border:1px solid #e1eae4;border-radius:12px;padding:12px;background:#fcfffd}
.social-market-item>div:first-child{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.social-market-item strong{font-size:13px;line-height:1.4}
.social-market-item small{font-size:11px;line-height:1.4;color:#6d8577;overflow-wrap:anywhere}
.social-market-state{font-size:10px;color:#478d68;font-weight:850}
.social-market-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:112px}
.social-xp{font-weight:950;font-size:14px;color:#20a865;white-space:nowrap}
.social-market-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.social-market-actions button{background:#e1f9ec;border:1px solid #bee4cc;color:#13703f;font-weight:750;padding:8px 10px;border-radius:9px;font-size:11px;min-height:36px;cursor:pointer}
.social-market-actions button.subtle{background:#f5f4f5;color:#816b70;border-color:#e8dfe5}
.social-market-actions button:disabled{opacity:.4}
.social-wheel-scene{display:grid;place-items:center;position:relative;margin:17px auto;width:min(260px,90%);aspect-ratio:1}
.social-wheel-disc{width:100%;height:100%;border-radius:50%;border:9px solid #183f2d;background:conic-gradient(#17c17a 0 45deg,#a1edb5 45deg 90deg,#e7f8b1 90deg 135deg,#66dba3 135deg 180deg,#48b87a 180deg 225deg,#eafbb6 225deg 270deg,#a0e4bf 270deg 315deg,#3abe8d 315deg 360deg);box-shadow:0 7px 28px #216c4537,inset 0 0 0 1px #fff9;display:grid;place-items:center}
#socialWheelCenter{width:100px;height:100px;border-radius:50%;background:#fff;border:6px solid #174a35;display:grid;place-items:center;text-align:center;padding:8px;line-height:1.25;font-size:14px;font-weight:950;color:#185638}
.social-wheel-pointer{position:absolute;top:-6px;font-size:32px;color:#1a4130;text-shadow:0 2px 0 #fff;z-index:2}
.social-wheel-result{text-align:center;min-height:30px;font-size:13px;color:#1d8754;display:grid;gap:7px}
.social-wheel-result strong{font-size:23px;color:#177444}
.social-feed{display:grid;gap:0;max-height:520px;overflow:auto}
.social-feed-line{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #e9f0ea}
.social-feed-line time{color:#81958a;font-size:10px;font-weight:800;white-space:nowrap;padding-top:5px}
.social-feed-icon{font-size:18px}
.social-feed-line p{font-size:12px;line-height:1.5;margin:1px 0;flex:1;overflow-wrap:anywhere}
.social-title-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid #e9f0ea}
.social-title-row>span{font-size:13px;font-weight:800}
.social-title-row strong{font-size:12px;color:#22774c}
.social-title-row small{font-size:11px;color:#829186;grid-column:1/-1}
.social-secret-card{text-align:center;border:1px dashed #72b48a;border-radius:14px;padding:18px;background:#f2fcf5;display:grid;gap:10px;justify-items:center}
.social-secret-icon{font-size:38px}
.social-secret-card strong{font-size:17px}
.social-secret-card p{margin:0;color:#5e7c69;font-size:12px}
.social-secret-done{font-size:12px;font-weight:850;color:#14965a}
.social-secret-sleep{line-height:1.7;font-size:13px;color:#71907d;text-align:center;padding:24px}
.social-wall-panel{grid-column:1/-1}
.social-wall-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:14px 0}
.social-wall-stats>div{background:linear-gradient(150deg,#ebfff1,#f8fff9);border:1px solid #d8efdf;border-radius:13px;display:flex;flex-direction:column;gap:5px;align-items:center;padding:13px 5px}
.social-wall-stats span{font-size:22px}
.social-wall-stats strong{font-size:24px;color:#167748}
.social-wall-stats small{font-size:10px;color:#688471;text-align:center}
.social-wall-quote{padding:13px;background:#f4faf5;border-left:4px solid #33c87b;border-radius:9px;color:#496657;font-size:12px;line-height:1.5}
@media(max-width:900px){.social-club-grid,.pofis-social-home{grid-template-columns:1fr}.social-ritual-card{justify-content:center}}
@media(max-width:600px){
 .social-panel{padding:15px}
 .social-ritual-card{gap:12px}
 .social-mascot{width:78px;min-width:78px}
 .social-face{width:78px;height:78px}
 .social-ritual-copy h2{font-size:16px}
 .social-wall-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .social-market-item{flex-direction:column}
 .social-market-side{flex-direction:row;justify-content:space-between;align-items:center}
 .social-kudos-item small{display:none}
}
@media(prefers-reduced-motion:reduce){
 .social-face,.face-sparkle,.mascot-celebrate .social-face,.pofis-closing-mode .social-ritual-card,
 .pofis-finish-toast{animation:none!important}
}
html[data-theme="dark"] .social-pulse-card,html[data-theme="dark"] .social-panel,
html[data-theme="dark"] .social-ritual-card{background:#192b36!important;border-color:#3b5d54!important;color:#e7f8ee}
html[data-theme="dark"] .social-ritual-card[data-mood="closing"]{border-color:#bb773d!important}
html[data-theme="dark"] .social-ritual-card[data-mood="overdue"]{border-color:#bb5656!important}
html[data-theme="dark"] .social-ritual-card[data-mood="friday"],html[data-theme="dark"] .social-ritual-card[data-mood="sunglasses"]{border-color:#398c61!important}
html[data-theme="dark"] .social-kicker,html[data-theme="dark"] .social-wall-stats strong{color:#69e8a5}
html[data-theme="dark"] .social-poll-choice,html[data-theme="dark"] .social-market-item,
html[data-theme="dark"] .social-kudos-item,html[data-theme="dark"] .social-title-row,
html[data-theme="dark"] .social-secret-card,html[data-theme="dark"] .social-manager-form,
html[data-theme="dark"] .social-wall-stats>div,html[data-theme="dark"] .social-wall-quote{
 background:#21384a!important;border-color:#3c5b69!important;color:#e2f2ff!important
}
html[data-theme="dark"] .social-poll-choice.chosen{background:#174b39!important;border-color:#42d58b!important}
html[data-theme="dark"] .social-poll-line>span,html[data-theme="dark"] .social-kudos-item p,html[data-theme="dark"] .social-kudos-item small,
html[data-theme="dark"] .social-market-item small,html[data-theme="dark"] .social-title-row small,
html[data-theme="dark"] .social-secret-card p,html[data-theme="dark"] .social-wall-stats small{color:#b5c9c9}
html[data-theme="dark"] .social-poll-bar{background:#374d52}
html[data-theme="dark"] .social-streak{background:#194735;border-color:#356c51;color:#c5f7d8}
html[data-theme="dark"] .social-wheel-disc{border-color:#73bc93}
html[data-theme="dark"] #socialWheelCenter{background:#193b2f;color:#d2ffe3;border-color:#8cdaa9}
html[data-theme="dark"] .social-wheel-pointer{color:#bff1c9;text-shadow:none}
html[data-theme="dark"] .social-feed-line,html[data-theme="dark"] .social-title-row{border-color:#3b4c59}
html[data-theme="dark"] .social-title-row strong,html[data-theme="dark"] .social-xp{color:#80f5b4}
html[data-theme="dark"] .social-market-actions button{background:#235b40;color:#e8fff0;border-color:#438b60}

/* At 17:30, the whole app gently acknowledges closing time. */
.pofis-closing-mode .pofis-app-header{border-bottom:2px solid #48ca82;padding-bottom:13px;transition:border-color .3s ease}
.pofis-closing-mode .tabs{border-radius:13px;background:linear-gradient(95deg,#e4faec,#f3fff4);padding:6px}
.pofis-closing-mode #dutyHero{background:linear-gradient(120deg,#106942,#26ae6c);box-shadow:0 7px 24px #119c5736}
.pofis-office-closed .social-ritual-card{border-width:2px}
html[data-theme="dark"] .pofis-closing-mode .tabs,
html[data-theme="dark"].pofis-closing-mode .tabs{background:linear-gradient(95deg,#153e30,#214c3b)}
html[data-theme="dark"].pofis-closing-mode .pofis-app-header{border-bottom-color:#52c78a}

.social-wheel-disc{position:relative;overflow:hidden}
.social-wheel-label{position:absolute;top:50%;left:50%;z-index:1;display:block;max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;color:#183a2a;text-shadow:0 1px 1px #ffffffad;font-size:10px;line-height:1.2;font-weight:900;transform:translate(-50%,-50%) rotate(var(--wheel-angle)) translateY(-91px) rotate(var(--wheel-reverse))}
#socialWheelCenter{position:relative;z-index:2;pointer-events:none}
@media(max-width:420px){.social-wheel-label{font-size:9px;max-width:56px;transform:translate(-50%,-50%) rotate(var(--wheel-angle)) translateY(-82px) rotate(var(--wheel-reverse))}}
