/* STEP 08 / 2017 생활감과 기록을 보강한 팬픽 전용 화면 */
.home-view{overflow:hidden}
.home-view .dock{margin-top:auto;flex-shrink:0}
.home-view .apps-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:82px;row-gap:0;align-content:start;padding-top:0}
.home-view .apps-grid .app-icon-wrap{align-self:start;justify-self:center}
.home-view .page-dots{display:flex;justify-content:center;align-items:center;gap:11px;pointer-events:auto;position:absolute;bottom:101px;left:0;right:0;height:18px;z-index:5}
.home-view .page-dots .dot{width:7px;height:7px;border:0;border-radius:50%;background:#ffffff78;padding:0;opacity:1;box-shadow:none;cursor:pointer}
.home-view .page-dots .dot.active{background:#fff}
.app-square.naver{background:#03c75a;color:white;font-weight:900;font-family:Arial;font-size:38px}
.app-square.google{background:#fff;color:#4285f4;font-weight:750;font-family:Arial;font-size:39px}
.app-square.temple{background:linear-gradient(145deg,#583d22,#b59b5c);font-size:28px}
.app-square.youtube{background:white;color:#ff3535;font-size:34px}
.app-square.melon{background:linear-gradient(145deg,#e7f4cc,#65b40c);color:white;font-size:34px}
.app-square.marble{background:linear-gradient(140deg,#1a68c3,#31c6cb);font-size:27px}
.app-square.anipang{background:linear-gradient(135deg,#f36d91,#ffb97b);font-size:25px}
.app-square.maps{background:linear-gradient(135deg,#75b3db,#fff,#94c99a);font-size:26px;color:#426889}
.app-square.calendar{background:#fff;color:#df3c3c;font-size:32px;font-weight:300}
.app-square.weather{background:#42a2ed;color:white;font-size:29px}
.app-square.mail{background:#e8efff;color:#3678df;font-size:29px}
.app-square.store{background:#4f9ff2;color:white;font-weight:750;font-size:34px}
.app-square.pokemon{background:#2c3765;color:#ffd132;font-size:32px}
/* 작지만 읽을 수 있는 메시지별 시간: 그룹에서도 시간의 간격을 확인 가능 */
.kakao-thread .message-line{gap:5px}
.kakao-thread .message-time{font-size:9px;min-width:38px;color:#627888;line-height:1.3;white-space:nowrap}
.kakao-thread .message-line .message-bubble{max-width:75%;padding:9px 10px}
.kakao-thread .group-person .message-time{min-width:38px}
.vt-row{padding:4px 28px 17px;display:flex;justify-content:center}
.vt-archive{display:flex;align-items:center;gap:8px;border:1px solid #cfdae0;border-radius:13px;padding:9px 11px;min-width:70%;max-width:94%;background:#ffffffc2;text-align:left;color:#435563;box-shadow:0 2px 6px #62738212}
.vt-archive .vt-icon{display:grid;place-items:center;background:#ffdf3e;color:#6c652f;border-radius:50%;width:31px;height:31px;font-size:17px}
.vt-archive b{font-size:11px;font-weight:650;display:block}
.vt-archive small{font-size:9px;display:block;margin-top:4px;color:#788591}
.vt-archive>span:last-child{margin-left:auto;color:#93a0ab}
.sticker-line .bts-sticker{border-radius:16px;padding:13px 15px 10px;background:linear-gradient(140deg,#f7edff,#d9b6f4);display:flex;flex-direction:column;align-items:center;gap:3px;min-width:112px;box-shadow:0 1px 3px #80709818;transform:rotate(-1deg)}
.bts-sticker .sticker-face{font-size:43px;line-height:1.2}
.bts-sticker b{font-size:12px;color:#583d74}
.bts-sticker small{font-size:9px;color:#9d76a5;letter-spacing:.03em}
.sticker-line.me .message-time{order:0}
.sticker-line.me .bts-sticker{order:1}
.voice-detail-layer{position:absolute;inset:0;z-index:120;background:#060c19b5;display:flex;align-items:center;justify-content:center;padding:22px}
.voice-detail-card{width:100%;background:#fff;color:#212936;border-radius:18px;padding:24px 18px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px}
.voice-detail-card>span{width:52px;height:52px;background:#f9dc52;border-radius:50%;display:grid;place-items:center;font-size:26px}
.voice-detail-card b{font-size:19px}
.voice-detail-card p{margin:0;color:#65717f;font-size:13px}
.voice-detail-card button{background:#ffe258;border:0;border-radius:10px;padding:12px 28px;margin-top:8px}
/* 포털 검색 기록 — 저장된 결과만 표시, 실제 외부 서버에는 요청하지 않음 */
.searchapp{background:#fff;min-height:100%;color:#303742;padding-bottom:30px}
.searchapp.google .search-logo{font-family:Arial,sans-serif;color:#4285f4}
.searchapp.naver .search-logo{font-family:Arial,sans-serif;color:#03c75a;font-weight:900;font-size:34px}
.search-logo{font-size:39px;text-align:center;margin:34px 0 23px;font-weight:600}
.search-logo span{color:#4285f4;font-size:50px}
.fake-search-form{display:flex;border:1px solid #dde2e8;border-radius:7px;margin:0 12px;padding:5px 6px;align-items:center;box-shadow:0 2px 5px #0000000a;gap:6px}
.fake-search-form span{padding:6px;font-size:18px;color:#838b98}
.fake-search-form input{border:0;outline:none;font-size:13px;min-width:0;flex:1;background:transparent;padding:8px 2px}
.fake-search-form button{border:none;background:#f2f5fa;color:#4276ac;font-size:11px;padding:8px;border-radius:5px}
.searchapp.naver .fake-search-form{border:2px solid #03c75a}
.searchapp.naver .fake-search-form button{background:#03c75a;color:white}
.searchhistory-head{margin:33px 15px 8px;font-size:12px;font-weight:700;color:#8e949e}
.searchhistory-list button{display:flex;gap:9px;align-items:center;width:100%;border:0;border-bottom:1px solid #eff1f4;background:#fff;padding:12px 17px;text-align:left;color:#3d424b;font-size:12px}
.searchhistory-list button>span:first-child{color:#acb5c1;font-size:16px}
.searchhistory-list button>span:nth-child(2){flex:1}
.searchhistory-list button small{font-size:9px;color:#a5aab0}
.search-details{margin:19px 12px 0;border-radius:8px;padding:13px;background:#f5f8fc;display:flex;flex-direction:column;gap:7px;color:#526176;font-size:12px}
.search-details small{font-size:10px;color:#899aad}
.search-details p{margin:0;font-size:11px}
/* 게임과 나머지 생활 앱의 기록 */
.gameapp,.dailyapp{height:100%;min-height:100%;background:#f9f9fc;color:#32364a;text-align:center}
.game-hero{background:linear-gradient(130deg,#edd6b9,#b3b4b0);padding:26px 14px 24px}
.gameapp.marble .game-hero{background:linear-gradient(130deg,#ace0fa,#499ad1)}
.gameapp.anipang .game-hero{background:linear-gradient(130deg,#fad2d4,#fac29d)}
.gameapp.pokemon .game-hero{background:linear-gradient(130deg,#c7d3f6,#8ba3e3)}
.game-hero>span{font-size:55px}
.game-hero h2{margin:7px 0 5px;font-size:20px}
.game-hero p{margin:0;color:#5c5660;font-size:11px}
.game-stats,.daily-card{margin:20px 15px;background:white;border-radius:10px;padding:17px;box-shadow:0 1px 7px #14203c0f;font-size:13px}
.game-stats small{display:block;color:#9297a2;font-size:10px;margin:10px 0 0}
.game-start,.go-linked{background:#4279c6;color:white;border:0;border-radius:10px;padding:12px 25px;font-size:13px}
.game-result{font-size:12px;min-height:21px;color:#5b6577;margin:13px}
.game-foot{font-size:10px;color:#a1a5b1}
.daily-emoji{font-size:56px;margin:35px auto 6px}
.dailyapp h2{font-size:21px;margin:10px}
.daily-card{text-align:left}
.daily-card b{font-size:13px}
.daily-card p{font-size:11px;color:#888e9e}
.dailyapp .go-linked{margin:6px auto}
@media(max-width:430px){.home-view .apps-grid{grid-auto-rows:80px}}
@media(max-height:680px){.home-view .apps-grid{grid-auto-rows:72px}.home-view .apps-grid .app-square{width:51px;height:51px}.home-view .page-dots{bottom:91px}}

.bts-sticker{position:relative;overflow:hidden}.bts-sticker>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24;filter:saturate(.7)}.bts-sticker>*:not(img){z-index:1;position:relative}.bts-sticker .sticker-face{filter:drop-shadow(0 1px 1px #fff)}

/* Candidate: repaired app icons, conversation history and real-input epilogue */
.app-square.temple{background:#f1ad20;color:#ffd769}
.app-square.temple img,.app-square.photos img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px}
.app-square.photos{background:white}
.app-square.google{font-family:Arial,sans-serif;font-weight:850;color:#4285f4;background:white;font-size:35px;text-shadow:-2px 0 #ea4335, 2px 1px #34a853}
.app-square.melon{font-family:Arial,sans-serif;font-weight:900;background:#a1ce29;color:#f3ffe3;font-size:27px}
.app-square.marble{font-family:Arial,sans-serif;font-weight:900;background:linear-gradient(140deg,#1679c9,#2dd8d8);color:#fff;font-size:26px}
.app-square.anipang{background:linear-gradient(160deg,#f8b8d2,#ef5c8a);color:white;font-weight:900;font-size:27px}
.app-square.pokemon{background:linear-gradient(140deg,#294270,#1c1d49);font-size:31px;color:#ffe84c}
.vt-row{justify-content:flex-start;padding:8px 19px 12px}
.vt-archive{max-width:100%;min-width:0;width:auto;box-shadow:none;background:#f6f9fc;min-height:49px;text-align:left;border:1px solid #9cbbc9;border-radius:7px;font-weight:400}
.vt-archive .vt-icon{width:29px;height:29px;background:#eff7fa;color:#4582ac}
.ending-view{padding:34px 26px 26px!important;overflow-y:auto;align-items:stretch}
.ending-story{min-height:0;justify-content:flex-start!important;flex:0 0 auto;padding-bottom:12px}
.ending-copy{line-height:2.05}
.ending-copy p{margin-bottom:22px}
.ending-actions{display:flex;align-items:center;flex-direction:column;gap:5px;padding:6px 0 26px}
.ending-chat-open{background:#f5d947;color:#292521;border:0;border-radius:22px;padding:13px 19px;font-size:13px;font-weight:750;max-width:100%;cursor:pointer}
.ending-replay{padding:11px;color:#a9a8b0}
.live-chat-composer{gap:8px}
#freeChatInput{border:0;outline:0;background:#f4f4f4;border-radius:20px;padding:11px 12px;font-size:14px;flex:1;min-width:0;color:#333}
.photo-album{min-height:100%;background:#fff}
.photo-count{padding:14px 14px 10px;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;color:#262d35}
.photo-count small{font-size:12px;font-weight:400;color:#858b95}
.photo-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:2px 3px 10px}
.gallery-photo{position:relative;width:100%;aspect-ratio:1;background:#e1e5ee;border:0;padding:0;overflow:hidden}
.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-fallback{display:none;padding:7px;color:#717888;font-size:11px}
.gallery-photo.gallery-unloaded .gallery-fallback{display:grid;place-items:center;position:absolute;inset:0}
.photo-lightbox{position:absolute;inset:0;z-index:55;background:#0b0a0e;color:white;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:16px;padding:40px 12px 30px}
.photo-lightbox img{max-width:100%;max-height:75%;object-fit:contain}
.photo-lightbox>div{font-size:13px;text-align:center}
.photo-lightbox small{display:block;color:#aaa9b1;margin-top:8px}
.photo-close{position:absolute;top:18px;right:13px;background:#333;color:white;padding:9px 13px;border-radius:18px;border:0}

/* Replace the fake purple BTS emoji blocks with a minimal photo-reaction sticker. */
.bts-photo-sticker{width:88px;height:88px;border-radius:12px;overflow:hidden;background:#eff2f4;position:relative;display:block}
.bts-photo-sticker img{display:block;width:100%;height:100%;object-fit:cover}
.bts-photo-fallback{display:none;position:absolute;inset:0;place-items:center;font-size:16px;color:#4c5460;background:#e9eff4}
