
:root{
  --ivory:#fff8f2;
  --cream:#f7e7dc;
  --paper:#fffaf1;
  --tea:#c8ab8d;
  --sepia:#7c5f45;
  --coffee:#5a3a24;
  --dark:#322016;
  --rose:#d86f95;
  --dustyrose:#b95e7f;
  --pink:#f3a9bf;
  --blush:#f8d7df;
  --sage:#c7c9a7;
  --sage2:#eeecd0;
  --mint:#e8ead0;
  --butter:#f3e8b8;
  --gold:#c7a46b;
  --line:#d6a5a2;
  --shadow:rgba(70,43,24,.24);
  --plaidbrown:#9a7a59;
  --softbrown:#b59574;
  --flowerpink:#df6c91;
  --zoom:.67;
  --desktop-width:1120px;
  --frame-width:calc(var(--desktop-width) * var(--zoom));
}

*{ box-sizing:border-box; }

html{
  min-height:100%;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 10px 10px, rgba(255,255,255,.78) 0 5px, transparent 6px),
    radial-gradient(circle at 34px 34px, rgba(255,255,255,.55) 0 7px, transparent 8px),
    linear-gradient(45deg, rgba(255,190,218,.26) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(176,220,234,.34) 25%, transparent 25%),
    linear-gradient(to bottom, #c4e2ed, #fff8fc 48%, #f7a9c7);
  background-size:48px 48px,48px 48px,28px 28px,28px 28px,100% 100%;
  font-family:"Trebuchet MS", Verdana, sans-serif;
}

body{
  margin:0;
  color:var(--sepia);
  font-family:Georgia, "Times New Roman", serif;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 18px 18px, rgba(255,255,255,.55) 0 4px, transparent 5px),
    radial-gradient(circle at 24px 24px, rgba(255,194,217,.20) 0 9px, transparent 10px),
    repeating-linear-gradient(90deg,
      rgba(255,159,189,.18) 0 14px,
      rgba(159,202,221,.22) 14px 31px,
      rgba(216,190,233,.14) 31px 39px,
      transparent 39px 56px),
    repeating-linear-gradient(0deg,
      rgba(255,194,217,.18) 0 12px,
      rgba(184,220,233,.22) 12px 31px,
      rgba(255,231,168,.10) 31px 41px,
      transparent 41px 58px),
    linear-gradient(#d8eef6, #ffe3ee 48%, #b59574 49%, #5a3a24 100%);
  background-size:48px 48px,48px 48px,86px 86px,86px 86px,auto;
  image-rendering:auto;
}

a{ color:#7354b8; font-weight:700; text-decoration:none; }
a:hover{ text-decoration:underline; }

.zoom-frame{
  width:var(--frame-width);
  max-width:100vw;
  margin:0 auto;
  position:relative;
  overflow:visible;
}

.site{
  width:var(--desktop-width);
  margin:0;
  border:4px ridge #fff;
  background:rgba(255,244,251,.84);
  box-shadow:0 0 0 2px rgba(139,74,54,.12), 0 15px 40px rgba(120,90,70,.22);
  position:relative;
  transform:scale(var(--zoom));
  transform-origin:top left;
}

.topbar{
  height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:4px 12px;
  background:linear-gradient(#ffffff, #eaf5ed);
  border-bottom:2px solid var(--line);
  font-family:"Courier New", monospace;
  color:#a46b54;
  font-size:22px;
  font-weight:900;
  text-shadow:1px 1px #fff;
}

.icons{
  display:flex;
  gap:16px;
  align-items:center;
  white-space:nowrap;
}

.tiny-icon{
  width:24px;
  height:24px;
  border:3px solid #a46b54;
  display:inline-grid;
  place-items:center;
  font-size:13px;
  line-height:1;
  background:#fff;
  box-shadow:1px 1px 0 #d78aa0;
}

.datebar{
  display:flex;
  gap:10px;
  align-items:center;
  white-space:nowrap;
}

.battery{
  width:58px;
  height:25px;
  border:4px solid #7c5f45;
  position:relative;
  background:#e8fbff;
}

.battery:after{
  content:"";
  position:absolute;
  right:-9px;
  top:5px;
  width:5px;
  height:9px;
  background:#a46b54;
}

.battery span{
  display:block;
  width:70%;
  height:100%;
  background:#a46b54;
}

.banner{
  min-height:185px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 35%, rgba(255,255,255,.8), transparent 10%),
    radial-gradient(circle at 72% 30%, rgba(255,213,226,.9), transparent 18%),
    linear-gradient(100deg, #fffdf8 0%, #fff1e8 46%, #f0dccb 100%);
  border-bottom:4px solid #f3a9bf;
}

.banner:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0 49px, rgba(183,112,210,.16) 50px),
    linear-gradient(0deg, transparent 0 49px, rgba(255,139,191,.14) 50px);
  background-size:50px 50px;
  opacity:.45;
}

.logo{
  position:absolute;
  left:42px;
  top:34px;
  font-size:52px;
  line-height:1;
  font-weight:bold;
  color:#fffaf1;
  text-shadow:
    2px 2px 0 var(--coffee),
    4px 4px 0 rgba(75,47,36,.22);
  transform:rotate(-4deg);
  background:
    radial-gradient(circle at 12px 12px, rgba(255,253,244,.45) 0 3px, transparent 4px),
    linear-gradient(#d86f95, #b95e7f);
  background-size:22px 22px, auto;
  border:2px dashed #fff8f2;
  border-radius:24px;
  padding:13px 26px 15px;
  box-shadow:5px 5px 0 rgba(47,29,24,.18);
}

.subtitle{
  position:absolute;
  left:52px;
  top:112px;
  max-width:560px;
  background:rgba(255,255,255,.75);
  border:2px dashed #d6a5a2;
  padding:8px 12px;
  font-family:"Courier New", monospace;
  color:#5a3a24;
  font-weight:700;
}

.mascot{
  position:absolute;
  right:50px;
  bottom:18px;
  width:205px;
  height:132px;
  border:3px solid #e7b6dc;
  background:
    radial-gradient(circle at 40% 42%, #f8d7df 0 34px, transparent 35px),
    linear-gradient(#fff, #fff5f8);
  box-shadow:6px 6px 0 rgba(248,191,209,.45);
  display:grid;
  place-items:center;
  font-size:82px;
}

.mascot:after{
  content:"Irina's room";
  position:absolute;
  right:12px;
  bottom:-17px;
  background:#ef9bb2;
  color:#5a3a24;
  font-size:22px;
  padding:0 10px;
  font-weight:900;
  text-shadow:1px 1px #fff;
}

.scroll{
  height:32px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-top:1px solid #fff;
  border-bottom:2px solid var(--line);
  background:linear-gradient(#fff, #eef3dc 50%, #fff);
  font-family:"Courier New", monospace;
  font-weight:900;
  color:#5a3a24;
}

.scroll span{
  white-space:nowrap;
  animation:marquee 24s linear infinite;
  padding-left:100%;
}

@keyframes marquee{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-100%); }
}

.nav{
  display:flex;
  justify-content:center;
  gap:0;
  background:linear-gradient(#8a684a, #5a3a24);
  border-top:1px solid rgba(255,253,244,.45);
  border-bottom:5px solid #322016;
  padding:0 12px;
}

.nav a{
  color:#fff8f2;
  text-decoration:none;
  padding:9px 20px;
  font-weight:bold;
  font-size:15px;
  text-shadow:1px 1px #322016;
  border-left:1px solid rgba(255,255,255,.18);
  border-right:1px solid rgba(0,0,0,.28);
  letter-spacing:.3px;
}

.nav a:nth-child(2){ background:linear-gradient(#fffdf8, #f3a9bf); }
.nav a:nth-child(3){ background:linear-gradient(#fffdf8, #f3ecd3); }
.nav a:nth-child(4){ background:linear-gradient(#fffdf8, #f6c2cf); }
.nav a:nth-child(5){ background:linear-gradient(#fffdf8, #d9879b); }
.nav a:nth-child(6){ background:linear-gradient(#fffdf8, #d86f95); }

.layout{
  display:grid;
  grid-template-columns:250px 1fr 280px;
  gap:14px;
  padding:14px;
  align-items:start;
}

.box{
  background:
    linear-gradient(90deg, rgba(227,196,106,.38) 0 2px, transparent 2px 100%),
    repeating-linear-gradient(0deg, transparent 0 27px, rgba(211,160,154,.45) 28px 29px),
    linear-gradient(#fffaf1, #fff8f2);
  background-size:34px 100%, 100% 29px, auto;
  border:1px solid #e5c7b5;
  border-radius:24px;
  box-shadow:5px 7px 0 rgba(47,29,24,.13);
  margin:9px;
  padding:16px;
  position:relative;
  outline:2px dashed rgba(199,120,135,.38);
  outline-offset:-8px;
}

.box:after{
  content:"";
  position:absolute;
  right:14px;
  top:-10px;
  width:72px;
  height:22px;
  background:rgba(244,205,208,.65);
  border:1px solid rgba(123,87,66,.18);
  transform:rotate(3deg);
  box-shadow:1px 1px 0 rgba(47,29,24,.08);
  pointer-events:none;
}

.box-title{
  display:inline-block;
  font-weight:bold;
  color:#fffaf1;
  background:
    radial-gradient(circle at 8px 8px, rgba(255,253,244,.65) 0 2px, transparent 3px),
    linear-gradient(#d86f95, #b95e7f);
  background-size:17px 17px, auto;
  padding:8px 15px;
  margin:-8px 0 12px;
  border:1px dashed #fff8f2;
  border-radius:18px;
  text-shadow:1px 1px #5a3a24;
  transform:rotate(-1deg);
  box-shadow:2px 2px 0 rgba(47,29,24,.15);
}

.box-title a{ color:#fffaf1; text-decoration:none; }

.box-content{ padding:12px; }

.fake-folder{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px;
  border:1px solid #e7b6dc;
  background:linear-gradient(#fff, #f7fbff);
  margin-bottom:8px;
  font-weight:900;
}

.fake-folder .fileicon{
  width:30px;
  height:24px;
  background:#ef9bb2;
  border:2px solid #fff;
  outline:1px solid #b59574;
  box-shadow:2px 2px 0 #ead4dc;
  flex:0 0 auto;
}

.welcome{
  min-height:370px;
  background:
    linear-gradient(90deg, transparent 0 28px, #d8b089 29px 30px, transparent 31px),
    repeating-linear-gradient(#fffdf8 0 31px, var(--line) 32px 33px);
  padding:16px 20px 16px 56px;
  border-radius:0 0 12px 12px;
  overflow:auto;
}

.welcome h1{
  margin:0 0 8px;
  font-size:28px;
  color:var(--coffee);
  text-shadow:1px 1px #fff;
}

.welcome h2{
  margin:22px 0 6px;
  color:var(--coffee);
  font-size:22px;
}

.welcome p{
  margin:0 0 12px;
  line-height:1.48;
  font-size:18px;
}

.note{
  border:2px dashed #d7b6d9;
  background:#fff8ef;
  padding:12px;
  line-height:1.4;
  font-size:16px;
}

.mini-log{
  font-family:"Courier New", monospace;
  font-size:14px;
  line-height:1.45;
  font-weight:700;
  color:#5a3a24;
}

.entry-list{
  display:grid;
  gap:9px;
}

.entry-link{
  display:block;
  background:#fff8ef;
  border:1px dashed #d7b6d9;
  padding:9px;
  font-family:"Courier New", monospace;
  font-weight:900;
  color:#5a3a24;
}

.entry-link small{
  display:block;
  color:#b95e7f;
  margin-top:3px;
}

.art-book{
  display:grid;
  grid-template-columns:105px 1fr;
  gap:14px;
  align-items:start;
}

.art-tabs{
  display:grid;
  gap:7px;
  position:sticky;
  top:0;
}

.art-tab{
  border:1px solid #d6a5a2;
  background:linear-gradient(#fff, #f6d8de);
  border-radius:12px;
  padding:7px 8px;
  font-family:"Courier New", monospace;
  font-weight:900;
  color:#7c5f45;
  text-align:left;
  box-shadow:2px 2px 0 rgba(75,47,36,.08);
}

.art-tab:first-child{
  background:linear-gradient(#d48494, #b95e7f);
  color:#fff8f2;
  text-shadow:1px 1px #5a3a24;
}

.swipe-row{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:8px 8px 14px;
  max-width:100%;
}

.swipe-row::-webkit-scrollbar{ height:12px; }
.swipe-row::-webkit-scrollbar-track{ background:#fff1e8; border:1px solid #e5c7b5; }
.swipe-row::-webkit-scrollbar-thumb{ background:#d86f95; border:2px solid #fff1e8; }

.art-card{
  flex:0 0 210px;
  min-height:185px;
  scroll-snap-align:start;
  border:2px solid #fff;
  outline:1px solid #d8b8a0;
  background:
    linear-gradient(45deg, rgba(255,255,255,.18) 0 12px, transparent 12px 24px),
    radial-gradient(circle at 30% 28%, rgba(196,88,117,.24) 0 24px, transparent 25px),
    linear-gradient(135deg,#fff8fc,#f3ecd3);
  display:grid;
  place-items:center;
  text-align:center;
  font-size:17px;
  font-weight:900;
  color:#5a3a24;
  padding:14px;
  cursor:pointer;
  box-shadow:4px 4px 0 rgba(75,47,36,.12);
  position:relative;
}

.art-card:after{
  content:"open me";
  position:absolute;
  bottom:12px;
  right:12px;
  font-family:"Courier New", monospace;
  font-size:11px;
  background:#fff8f2;
  border:1px dashed #d86f95;
  padding:2px 5px;
  color:#7c5f45;
}

.media-chain{
  padding-bottom:6px;
}

.media-group{
  margin-bottom:14px;
}

.media-subtitle{
  font-family:"Courier New", monospace;
  font-weight:900;
  color:#7c5f45;
  margin:2px 0 8px;
  border-bottom:1px dashed #d7b6d9;
  padding-bottom:4px;
}

.media-stack{
  display:grid;
  gap:9px;
}

.media-file{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:9px;
  align-items:center;
  border:1px solid #e7b6dc;
  background:linear-gradient(#fff, #f7fbff);
  padding:8px;
  font-weight:900;
  color:#5a3a24;
}

.film-icon{
  width:42px;
  height:32px;
  border:2px solid #5a3a24;
  background:
    repeating-linear-gradient(90deg, #5a3a24 0 5px, #fff8f2 5px 9px),
    linear-gradient(#d9879b, #fff);
  background-blend-mode:multiply;
  box-shadow:2px 2px 0 #ead4dc;
}

.photo-icon{
  width:42px;
  height:32px;
  border:2px solid #fff;
  outline:1px solid #b59574;
  background:
    radial-gradient(circle at 65% 35%, #ef9bb2 0 9px, transparent 10px),
    linear-gradient(135deg,#fff8f2,#d8c7b6);
  box-shadow:2px 2px 0 #ead4dc;
}

.media-file small{
  display:block;
  font-family:"Courier New", monospace;
  color:#9a7a59;
  margin-top:2px;
}

.button-row{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:center;
  padding:7px;
}

.site-button{
  width:88px;
  height:31px;
  display:grid;
  place-items:center;
  background:linear-gradient(90deg,#ef9bb2,#d874a1);
  border:2px solid #fff;
  outline:1px solid #aa8;
  font-size:11px;
  font-family:"Courier New", monospace;
  font-weight:900;
  color:#5a3a24;
}

.footer{
  text-align:center;
  padding:12px;
  font-family:"Courier New", monospace;
  font-weight:700;
  color:#5a3a24;
  border-top:2px solid #f3a9bf;
  background:rgba(255,255,255,.65);
}

.side-flower{
  position:absolute;
  left:-48px;
  top:260px;
  width:95px;
  height:95px;
  border-radius:50%;
  background:#ef9bb2;
  border:3px dashed #fff;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  font-size:21px;
  text-align:center;
  text-shadow:1px 1px #5a3a24;
  transform:rotate(-7deg);
  box-shadow:4px 4px 0 rgba(139,74,54,.14);
  z-index:5;
}

.page-layout{
  padding:18px;
}

.page-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:18px;
  align-items:start;
}

.diary-paper{
  background:
    linear-gradient(90deg, transparent 0 42px, #d8b089 43px 44px, transparent 45px),
    repeating-linear-gradient(#fffdf8 0 31px, var(--line) 32px 33px);
  padding:28px 34px 28px 76px;
  min-height:620px;
  border:1px solid #e5c7b5;
  box-shadow:5px 7px 0 rgba(47,29,24,.13);
}

.diary-paper h1{
  color:#5a3a24;
  margin:0 0 18px;
  font-size:36px;
}

.diary-paper p{
  font-size:20px;
  line-height:1.58;
  margin:0 0 18px;
}

.back-link{
  display:inline-block;
  margin-bottom:12px;
  background:#b95e7f;
  color:#fff8f2;
  padding:7px 14px;
  border-radius:16px;
  border:1px dashed #fff;
  text-shadow:1px 1px #5a3a24;
}

.big-art-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.big-art-card{
  min-height:240px;
  border:2px solid #fff;
  outline:1px solid #d8b8a0;
  background:
    linear-gradient(45deg, rgba(255,255,255,.18) 0 12px, transparent 12px 24px),
    radial-gradient(circle at 30% 28%, rgba(196,88,117,.24) 0 32px, transparent 33px),
    linear-gradient(135deg,#fff8fc,#f3ecd3);
  display:grid;
  place-items:center;
  text-align:center;
  font-size:22px;
  font-weight:900;
  color:#5a3a24;
  padding:18px;
  box-shadow:4px 4px 0 rgba(75,47,36,.12);
}

@media (max-width:760px){
  .zoom-frame{
    width:var(--frame-width);
    max-width:100vw;
    margin:0 auto;
  }
}




/* warm pink plaid + brown floral reference palette */
.site::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 13% 11%, rgba(255,255,255,.46), transparent 8%),
    radial-gradient(circle at 82% 18%, rgba(243,169,191,.33), transparent 14%),
    radial-gradient(circle at 48% 64%, rgba(199,201,167,.16), transparent 18%),
    repeating-linear-gradient(90deg, transparent 0 54px, rgba(154,122,89,.035) 55px 56px),
    repeating-linear-gradient(0deg, transparent 0 54px, rgba(154,122,89,.030) 55px 56px);
  mix-blend-mode:soft-light;
  z-index:0;
}

.site > *{
  position:relative;
  z-index:1;
}

.topbar{
  background:linear-gradient(#fff8f2, #f8efe4);
  color:#9a5f55;
}

.banner{
  background:
    radial-gradient(circle at 18% 35%, rgba(255,255,255,.82), transparent 10%),
    radial-gradient(circle at 72% 30%, rgba(243,169,191,.72), transparent 18%),
    linear-gradient(100deg, #fff8f2 0%, #f8d7df 46%, #f0dccb 100%);
}

.banner:before{
  background:
    linear-gradient(90deg, transparent 0 49px, rgba(154,122,89,.16) 50px),
    linear-gradient(0deg, transparent 0 49px, rgba(216,111,149,.11) 50px);
}

.logo{
  background:
    radial-gradient(circle at 12px 12px, rgba(255,248,242,.52) 0 3px, transparent 4px),
    linear-gradient(#d86f95, #b95e7f);
  color:#fff8f2;
}

.mascot{
  background:
    radial-gradient(circle at 40% 42%, #f8d7df 0 34px, transparent 35px),
    linear-gradient(#fff8f2, #fff1e8);
  box-shadow:6px 6px 0 rgba(154,122,89,.18);
}

.mascot:after{
  background:#ef9bb2;
  color:#5a3a24;
}

.scroll{
  background:linear-gradient(#fff8f2, #f3ecd3 50%, #fff8f2);
  color:#5a3a24;
}

.nav{
  background:linear-gradient(#8a684a, #5a3a24);
}

.nav a:nth-child(2){ background:linear-gradient(#fff8f2, #f8d7df); color:#5a3a24; text-shadow:1px 1px #fff; }
.nav a:nth-child(3){ background:linear-gradient(#fff8f2, #f3ecd3); color:#5a3a24; text-shadow:1px 1px #fff; }
.nav a:nth-child(4){ background:linear-gradient(#fff8f2, #f4d7df); color:#5a3a24; text-shadow:1px 1px #fff; }
.nav a:nth-child(5){ background:linear-gradient(#fff8f2, #ef9bb2); color:#5a3a24; text-shadow:1px 1px #fff; }
.nav a:nth-child(6){ background:linear-gradient(#fff8f2, #c7c9a7); color:#5a3a24; text-shadow:1px 1px #fff; }

.box{
  background:
    linear-gradient(90deg, rgba(199,164,107,.28) 0 2px, transparent 2px 100%),
    repeating-linear-gradient(0deg, transparent 0 27px, rgba(216,111,149,.24) 28px 29px),
    linear-gradient(#fffaf1, #fff6ec);
  border-color:#e5c7b5;
  box-shadow:5px 7px 0 rgba(90,58,36,.12);
}

.box-title{
  background:
    radial-gradient(circle at 8px 8px, rgba(255,248,242,.70) 0 2px, transparent 3px),
    linear-gradient(#d86f95, #b95e7f);
}

.welcome{
  background:
    linear-gradient(90deg, transparent 0 28px, #d8b089 29px 30px, transparent 31px),
    repeating-linear-gradient(#fffaf1 0 31px, #d6a5a2 32px 33px);
}

.art-card, .big-art-card, .thumb{
  background:
    radial-gradient(circle at 30% 28%, rgba(216,111,149,.22) 0 24px, transparent 25px),
    radial-gradient(circle at 72% 70%, rgba(199,201,167,.24) 0 36px, transparent 37px),
    linear-gradient(135deg,#fff8f2,#f8d7df 48%,#f3ecd3);
}

.art-tab{
  background:linear-gradient(#fff8f2, #f3ecd3);
  color:#7c5f45;
}

.art-tab:first-child{
  background:linear-gradient(#d86f95, #b95e7f);
  color:#fff8f2;
}

.media-file{
  background:linear-gradient(#fff8f2, #fff1e8);
}

.photo-icon{
  background:
    radial-gradient(circle at 65% 35%, #ef9bb2 0 9px, transparent 10px),
    linear-gradient(135deg,#fff8f2,#f3ecd3);
}

.film-icon{
  border-color:#7c5f45;
  background:
    repeating-linear-gradient(90deg, #7c5f45 0 5px, #fff8f2 5px 9px),
    linear-gradient(#ef9bb2, #f3ecd3);
  background-blend-mode:multiply;
}

.side-flower{
  background:#ef9bb2;
  color:#fff8f2;
}

.diary-paper{
  background:
    linear-gradient(90deg, transparent 0 42px, #d8b089 43px 44px, transparent 45px),
    repeating-linear-gradient(#fffaf1 0 31px, #d6a5a2 32px 33px);
}

.site-button{
  background:linear-gradient(90deg,#c7c9a7,#ef9bb2,#b59574);
}
