* {
    box-sizing: border-box;
}


body {

    margin:0;

    height:100vh;

    overflow:hidden;

    background:#ECE1D5;

    color:#1C1C1E;

    font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

}



/* Desktop */

.desktop {

    height:100vh;

    padding:35px;

}



/* Top Bar */

.top-bar {

    display:flex;

    justify-content:space-between;

    align-items:center;

}



.logo {

    font-family:"Allura", cursive;

    font-size:40px;

    color:#1C1C1E;

    position:relative;

    display:inline-block;

    padding-bottom:6px;

}



.logo::after {

    content:"";

    position:absolute;

    left:15%;

    bottom:0;

    width:70%;

    height:2px;

    background:#1C1C1E;

    border-radius:10px;

}



#clock {

    font-size:18px;

    color:#555;

}



.welcome {

margin-top:45px;

}


.welcome h1 {

font-size:24px;
font-weight:600;
margin-bottom:5px;

}


.welcome p {

font-size:14px;
color:#666;

}
/* Weather */

.weather {

margin-top:25px;

width:240px;

padding:18px;

border-radius:25px;

background:
rgba(255,255,255,.55);

backdrop-filter:blur(15px);

box-shadow:
0 15px 35px rgba(0,0,0,.08);

}


.weather h2{

font-size:16px;

margin:0 0 12px;

}


#weatherText{

font-size:15px;

line-height:1.6;

color:#555;

}


#weatherText strong{

font-size:28px;

color:#1C1C1E;

}



/* Apps */


.apps {

        position:absolute;

    top:180px;

    right:50px;

    display:flex;

    flex-direction:row;

    gap:25px;
}



.app-icon {

   width:90px;
    height:90px;


    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;


    background:
    rgba(255,255,255,0.55);


    border-radius:22px;


    box-shadow:
    0 10px 25px rgba(0,0,0,0.08);


    cursor:pointer;


    transition:.3s;


    font-size:26px;

}



.app-icon span {

   font-size:11px;

margin-top:6px;

text-align:center;

width:85px;

line-height:1.2;

}



.app-icon:hover {

    transform:

    translateY(-8px);


    box-shadow:

    0 20px 45px rgba(0,0,0,0.15);

}



/* Search */


.search {

    position:absolute;

    bottom:25px;

    left:50%;

    transform:translateX(-50%);

    width:320px;

    padding:12px 20px;

    border-radius:25px;

    background:
    rgba(255,255,255,.45);

    backdrop-filter:blur(20px);

    box-shadow:
    0 10px 30px rgba(0,0,0,.12);

}



.search input {

    border:none;

    outline:none;

    background:none;

    width:85%;

    font-size:16px;

    color:#222;

}



.search input::placeholder {

    color:#777;

}



/* App Windows */


.window {

    display:none;


    position:absolute;


    top:150px;


    left:50%;


    transform:translateX(-50%);



    width:380px;


    padding:25px;



    border-radius:30px;



    background:

    rgba(255,255,255,.75);



    backdrop-filter:blur(20px);



    box-shadow:

    0 25px 70px rgba(0,0,0,.18);



    animation:

    openWindow .3s ease;


    z-index:10;

}



@keyframes openWindow {


    from {

        opacity:0;

        transform:

        translateX(-50%)

        scale(.9);

    }


    to {

        opacity:1;

        transform:

        translateX(-50%)

        scale(1);

    }


}



.window h2 {

    margin-top:0;

}



/* Buttons */


button {

    border:none;

    border-radius:20px;

    padding:10px 20px;

    cursor:pointer;

    background:#1C1C1E;

    color:white;

    margin-top:15px;

}



button:hover {

    opacity:.8;

}



/* Notes */


textarea {

    width:100%;

    height:180px;


    border:none;

    border-radius:20px;


    padding:15px;


    resize:none;


    background:#F5EFE8;

    outline:none;


    font-size:16px;

}



/* Calculator */


#display {

    width:100%;

    height:50px;


    border:none;

    border-radius:15px;


    padding:10px;


    margin-bottom:15px;


    background:#F5EFE8;


    font-size:22px;

}



.calc-buttons {

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:10px;

}



.calc-buttons button {

    margin:0;

    padding:15px;

    border-radius:15px;

}