
/* Wallpaper and icon fidelity refinements: 2017-inspired rather than an exact app reproduction */
.screen{background:#d7c4b8}
.wallpaper{z-index:-1;background:linear-gradient(180deg,rgba(35,25,35,.30),rgba(27,20,20,.13) 39%,rgba(15,8,9,.24) 100%),url('assets/poodle_wallpaper.jpg') center 55%/cover no-repeat!important}
.wallpaper::before,.wallpaper::after{display:none}
.lock-view .lock-date{text-shadow:0 2px 12px #30251b99}
.app-square:has(img)::before,.app-square:has(img)::after{display:none!important}
.app-square img{width:100%;height:100%;object-fit:cover;display:block;border-radius:13px}
.home-view .app-icon-wrap .app-label{color:#fff;text-shadow:0 1px 5px #000c,0 0 2px #0009;font-size:11px;font-weight:600}
.home-view .app-square{box-shadow:0 2px 6px #231b1d51}
.dock{background:#e9e8ed80;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.ios-notes-app{min-height:100%;background:#fff;color:#232323}
.ios-notes-app .app-nav{background:#fff9e2;border-bottom-color:#e7e3d7}
.ios-notes-app .app-nav .title{color:#3e3a31;font-weight:550}
.note-save,.note-new{border:0;background:transparent;font-size:16px;color:#a57b05;font-weight:600;padding:10px}
.notes-list-head{font-size:29px;letter-spacing:-.04em;font-weight:750;padding:19px 21px 14px}
.notes-list-head span{font-size:13px;color:#a29c8f;font-weight:400;letter-spacing:0}
.notes-list{padding:0 14px}
.notes-list-row{position:relative;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:0;border-bottom:1px solid #e9e9e9;width:100%;text-align:left;padding:13px 25px 14px 8px;gap:5px;color:#232323}
.notes-list-row b{font-size:15px;font-weight:650}
.notes-list-row span{display:block;font-size:12px;color:#8a8a89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.notes-list-row em{position:absolute;right:8px;top:25px;font-style:normal;color:#c2c2c2;font-size:23px}
.notes-footer{font-size:11px;text-align:center;color:#aba8a2;margin:23px 0}
.note-editor{padding:18px 17px;display:flex;flex-direction:column;gap:14px}
.note-editor input{border:0;border-bottom:1px solid #eee;padding:10px 0;font-size:20px;font-weight:650;outline:none;background:#fff}
.note-editor textarea{border:0;resize:vertical;outline:none;min-height:250px;font-family:inherit;font-size:15px;line-height:1.8;color:#343434;background:#fff;white-space:pre-wrap}
.note-editor-foot{font-size:11px;color:#a4a4a4;text-align:center;padding-bottom:20px}
@media(max-width:430px){.wallpaper{background-position:center 55%!important}}

/* Verified release: distinct unread notification persists until opened */
.fb2017-tabs .fb-unread-indicator{position:relative;color:#147fff;font-weight:700}
.fb2017-tabs .fb-unread-indicator::after{content:'';position:absolute;right:12px;top:7px;width:8px;height:8px;border-radius:50%;background:#e42d49;border:2px solid white}
.live-messenger-notice.visible{z-index:61;box-shadow:0 9px 24px #0003}

/* 아이폰 외관 - 실버 */
.phone {
  background: #f4f4f5;
  border-color: #c9c9ce;
}

.hardware-home {
  background: #f5f5f5;
  border-color: #c9c9ce;
}

/* 2017년 아이폰 홈 화면 앱 배치 */

/* 홈 화면 앱 아이콘 크기 */
.home-view .apps-grid .app-square {
  width: 60px;
  height: 60px;
  border-radius: 14px;
}

/* 앱 로고 이미지의 둥근 모서리 */
.home-view .apps-grid .app-square img {
  border-radius: 14px;
}

/* 앱 이름과 아이콘 사이 간격 */
.home-view .apps-grid .app-icon-wrap {
  gap: 5px;
}

/* 화면 높이가 작은 경우 기존 작은 아이콘 유지 */
@media (max-height: 680px) {
  .home-view .apps-grid .app-square {
    width: 51px;
    height: 51px;
  }
}

/* 페이스북 아이콘 여백 제거 */
.app-square.fb {
  padding: 0 !important;
  align-items: center;
  justify-content: center;
}

.app-square.fb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

/* 2017년 아이폰 7 - iOS 10 하단 Dock */

.home-view .dock {
  /* 화면 양옆 끝까지 넓히기 */
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: -9px;

  /* 둥근 모서리 제거 */
  border-radius: 0;

  /* 반투명 유리 느낌 */
  background: rgba(225, 225, 230, 0.42);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  /* 아이콘 배치 */
  min-height: 88px;
  padding: 12px 12px 13px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-items: center;
  align-items: center;
  gap: 0;

  /* 상단 경계선 */
  border-top: 1px solid rgba(255,255,255,0.25);
  box-shadow: none;
}

/* 독 안에서는 앱 이름 숨기기 */
.home-view .dock .app-label {
  display: none;
}

/* 독 아이콘 크기 */
.home-view .dock .app-square {
  width: 58px;
  height: 58px;
  border-radius: 13px;
}

/* 페이지 표시 점 위치 */
.home-view .page-dots {
  bottom: 99px;
}

/* ===== 2017년 iOS 10 Today View ===== */

/* Today View 전체 화면 */
.today-view {
  z-index: 3;
  flex-direction: column;
  padding: 28px 0 0;

  background: rgba(145, 145, 150, 0.24);

  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

/* 위젯 화면 스크롤 */
.today-scroll {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  padding: 15px 12px 30px;
  overscroll-behavior: contain;
}

/* 상단 검색창 */
.today-search {
  height: 38px;
  border-radius: 9px;

  background: rgba(245, 245, 245, 0.72);
  color: #777;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 14px;
  margin-bottom: 25px;
}

/* 날짜 표시 */
.today-date {
  font-size: 24px;
  font-weight: 300;
  color: #fff;

  margin: 0 3px 18px;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
}

/* 날씨 / 캘린더 위젯 */
.today-widget {
  display: block;
  width: 100%;
  min-height: 125px;

  padding: 17px;
  margin-bottom: 13px;

  text-align: left;
  color: #303035;

  background: rgba(255, 255, 255, 0.85);
  border: 0;
  border-radius: 10px;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

/* 위젯 제목 */
.today-widget strong {
  display: block;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 14px;
}

/* 위젯 설명 */
.today-widget p {
  margin: 0;
  font-size: 13px;
  color: #777;
  line-height: 1.6;
}

/* Today View 좌우 스와이프 */
.home-view,
.today-view {
  touch-action: pan-y;
}

.today-view {
  user-select: none;
}

/* ===== iOS 10 Today View 디자인 개선 ===== */

.today-view {
  padding: 24px 0 0;
  background: transparent;
  overflow: hidden;
  isolation: isolate;
}

/* 강아지 배경화면을 흐리게 처리 */
.today-view::before {
  content: "";
  position: absolute;
  inset: -25px;
  z-index: -1;
  background: url("assets/poodle_wallpaper.jpg")
    center 55% / cover no-repeat;
  filter: blur(18px) brightness(0.76);
  pointer-events: none;
}

.today-view .today-scroll {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 12px 11px 35px;
  overflow-y: auto;
}

/* iOS 10 검색창 */
.today-view .today-search {
  height: 35px;
  margin-bottom: 20px;
  padding: 0 12px;
  border-radius: 9px;
  background: rgba(245,245,245,0.30);
  color: rgba(255,255,255,0.92);
  font-size: 14px;
  display: flex;
  justify-content: flex-start;
  gap: 7px;
  align-items: center;
}

.today-search-mic {
  margin-left: auto;
  font-size: 13px;
}

.today-view .today-date {
  margin: 0 3px 17px;
  color: #fff;
  font-size: 23px;
  font-weight: 300;
  letter-spacing: -0.5px;
  text-shadow: 0 1px 6px #0005;
}

/* 공통 위젯 카드 */
.today-view .today-widget {
  width: 100%;
  min-height: 0;
  padding: 0;
  margin-bottom: 12px;
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  display: block;
  text-align: left;
  color: #333;
  background: rgba(250,250,250,0.87);
  box-shadow: 0 2px 8px #0002;
}

/* 위젯 제목 영역 */
.today-widget-head {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 37px;
  padding: 0 11px;
  border-bottom: 1px solid #00000012;
  background: rgba(230,230,232,0.70);
  font-size: 12px;
  font-weight: 600;
  color: #505055;
}

.today-widget-head img {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  object-fit: contain;
}

.today-more {
  margin-left: auto;
  font-size: 11px;
  font-weight: 400;
  color: #777;
}

/* 날씨 위젯 내용 */
.today-weather-body {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 15px 12px;
  min-height: 96px;
}

.today-weather-city {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.today-weather-city b {
  font-size: 18px;
  font-weight: 500;
}

.today-weather-city span {
  color: #747474;
  font-size: 12px;
}

.today-temperature {
  font-size: 39px;
  font-weight: 200;
  letter-spacing: -2px;
}

.today-weather-symbol {
  font-size: 28px;
}

.today-weather-foot {
  padding: 8px 15px;
  color: #777;
  font-size: 11px;
  border-top: 1px solid #0000000c;
}

/* 캘린더 위젯 내용 */
.today-calendar-body {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 19px 15px;
  min-height: 94px;
}

.today-calendar-line {
  align-self: stretch;
  width: 3px;
  border-radius: 2px;
  background: #ef5353;
}

.today-calendar-body div {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.today-calendar-body b {
  font-size: 14px;
  font-weight: 500;
}

.today-calendar-body small {
  color: #888;
  font-size: 12px;
}

.today-edit {
  margin-top: 24px;
  padding: 10px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  text-shadow: 0 1px 4px #0005;
}

/* iOS 10 Today View 글꼴 통일 */
.today-view,
.today-view button,
.today-view .today-edit {
  font-family: -apple-system, BlinkMacSystemFont,
    "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

/* 2017년 iOS 10 편집 버튼 */
.today-view .today-edit {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;

  width: 76px;
  height: 34px;
  padding: 0;
  margin: 18px auto 16px;

  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 18px;

  color: #ffffff;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  text-shadow: none;
}

/* ===== Today View 세부 디자인 수정 ===== */

/* 일정이 없는 캘린더의 빨간 선 제거 */
.today-view .today-calendar-line {
  display: none;
}

/* 캘린더 텍스트 정리 */
.today-view .today-calendar-body {
  padding: 17px 16px;
  min-height: 85px;
}

.today-view .today-calendar-body b {
  font-size: 14px;
  font-weight: 400;
}

/* 검색창 디자인 */
.today-view .today-search {
  height: 36px;
  border-radius: 9px;
  background: rgba(240, 240, 240, 0.35);
  color: rgba(255, 255, 255, 0.95);
  font-size: 14px;
  letter-spacing: -0.2px;
}

/* 돋보기 아이콘을 CSS로 표현 */
.today-view .today-search > span:first-child {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 1.5px solid white;
  border-radius: 50%;
  font-size: 0;
  margin-right: 4px;
}

.today-view .today-search > span:first-child::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 1.5px;
  background: white;
  right: -5px;
  bottom: -2px;
  transform: rotate(45deg);
}

/* 기존 마이크 이모지 대신 단순한 마이크 */
.today-view .today-search-mic {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 18px;
  margin-left: auto;
  font-size: 0;
}

.today-view .today-search-mic::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 10px;
  background: white;
  border-radius: 5px;
}

.today-view .today-search-mic::after {
  content: "";
  position: absolute;
  left: 1px;
  top: 6px;
  width: 11px;
  height: 9px;
  border: 1.5px solid white;
  border-top: 0;
  border-radius: 0 0 8px 8px;
}

/* ===== Today View 세부 디자인 수정 ===== */

/* 일정이 없는 캘린더의 빨간 선 제거 */
.today-view .today-calendar-line {
  display: none;
}

/* 캘린더 텍스트 정리 */
.today-view .today-calendar-body {
  padding: 17px 16px;
  min-height: 85px;
}

.today-view .today-calendar-body b {
  font-size: 14px;
  font-weight: 400;
}

/* 검색창 디자인 */
.today-view .today-search {
  height: 36px;
  border-radius: 9px;
  background: rgba(240, 240, 240, 0.35);
  color: rgba(255, 255, 255, 0.95);
  font-size: 14px;
  letter-spacing: -0.2px;
}

/* 돋보기 아이콘을 CSS로 표현 */
.today-view .today-search > span:first-child {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 1.5px solid white;
  border-radius: 50%;
  font-size: 0;
  margin-right: 4px;
}

.today-view .today-search > span:first-child::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 1.5px;
  background: white;
  right: -5px;
  bottom: -2px;
  transform: rotate(45deg);
}

/* 기존 마이크 이모지 대신 단순한 마이크 */
.today-view .today-search-mic {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 18px;
  margin-left: auto;
  font-size: 0;
}

.today-view .today-search-mic::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 10px;
  background: white;
  border-radius: 5px;
}

.today-view .today-search-mic::after {
  content: "";
  position: absolute;
  left: 1px;
  top: 6px;
  width: 11px;
  height: 9px;
  border: 1.5px solid white;
  border-top: 0;
  border-radius: 0 0 8px 8px;
}

/* ===== iOS 10 날씨 위젯 크기 조정 ===== */

/* 날씨 정보 영역 */
.today-view .today-weather-body {
  min-height: 85px;
  padding: 12px 16px;
  gap: 8px;
}

/* 도시명과 날씨 설명 */
.today-view .today-weather-city {
  gap: 4px;
}

.today-view .today-weather-city b {
  font-size: 17px;
  font-weight: 500;
}

.today-view .today-weather-city span {
  font-size: 12px;
}

/* 온도 표시 */
.today-view .today-temperature {
  font-size: 40px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -1.5px;
  white-space: nowrap;
}

/* 구름과 태양 아이콘 */
.today-view .today-weather-symbol {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  flex-shrink: 0;
  font-size: 0;
}

.today-view .today-weather-symbol svg {
  width: 45px;
  height: 39px;
}

/* 최고·최저 기온 영역 */
.today-view .today-weather-foot {
  padding: 9px 16px;
  font-size: 11px;
}

/* 위젯 사이 간격 */
.today-view .today-widget {
  margin-bottom: 11px;
}

/* iOS 10 Today View 검색 입력창 */

.today-view .today-search input {
  flex: 1;
  min-width: 0;

  padding: 0;
  border: none;
  outline: none;
  background: transparent;

  color: #ffffff;
  font-family: inherit;
  font-size: 14px;

  user-select: text;
  -webkit-user-select: text;
}

.today-view .today-search input::placeholder {
  color: rgba(255, 255, 255, 0.9);
  opacity: 1;
}

/* ===== 2017년 iOS 캘린더 ===== */

.cal17 {
  display: flex;
  flex-direction: column;
  min-height: calc(100% - 24px);
  background: #ffffff;
  color: #222222;
  font-family: -apple-system, BlinkMacSystemFont,
    "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

.cal17 * {
  box-sizing: border-box;
}

.cal17-toolbar {
  height: 48px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  border-bottom: 1px solid #eeeeee;
}

.cal17-toolbar strong {
  font-size: 16px;
  font-weight: 600;
}

.cal17-back {
  border: 0;
  background: transparent;
  color: #ee4b4b;
  font-size: 16px;
  padding: 8px 0;
}

.cal17-toolbar-icon {
  color: #ee4b4b;
  font-size: 21px;
  width: 35px;
  text-align: right;
}

/* 요일 */
.cal17-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding: 11px 5px 7px;
  border-bottom: 1px solid #eeeeee;
}

.cal17-weekdays span {
  text-align: center;
  font-size: 12px;
  color: #777777;
}

.cal17-weekdays span:first-child {
  color: #e64b4b;
}

/* 날짜 */
.cal17-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(5, 49px);
  padding: 5px;
  border-bottom: 1px solid #e5e5e5;
}

.cal17-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
  padding: 5px 0 0;
  border: 0;
  background: transparent;
  color: #252525;
  font: inherit;
  cursor: pointer;
}

.cal17-date span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 15px;
}

.cal17-date.sunday {
  color: #e64b4b;
}

.cal17-date.selected span {
  background: #e84b4b;
  color: #ffffff;
}

.cal17-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #858585;
}

/* 선택한 날짜 */
.cal17-day-title {
  padding: 15px 17px;
  border-bottom: 1px solid #eeeeee;
  font-size: 17px;
  font-weight: 600;
}

/* 일정 목록 */
.cal17-agenda {
  flex: 1;
  min-height: 115px;
}

.cal17-event {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #eeeeee;
}

.cal17-event-time {
  width: 43px;
  color: #777777;
  font-size: 12px;
}

.cal17-event-mark {
  width: 3px;
  height: 30px;
  background: #ed4b4b;
  border-radius: 2px;
}

.cal17-event strong {
  font-size: 15px;
  font-weight: 500;
}

.cal17-noevents {
  padding: 24px;
  text-align: center;
  color: #999999;
  font-size: 13px;
}

/* 하단 메뉴 */
.cal17-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 45px;
  padding: 0 16px;
  border-top: 1px solid #dddddd;
  background: #fafafa;
  color: #e84b4b;
  font-size: 13px;
}

.cal17-footer button {
  border: 0;
  background: transparent;
  color: #e84b4b;
  font: inherit;
  cursor: pointer;
}
