 *{
    box-sizing:border-box;
    margin:0;
    padding:0;
}


body{

    background:#252525;
    font-family:Arial,sans-serif;
    color:#222;

}


/* APP FRAME */

.app-shell{

    min-height:100vh;
    display:flex;
    flex-direction:column;

}



/* TOP BAR */


.editor-header{

    height:68px;

    background:#151515;

    color:white;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 25px;

    gap:20px;

}



.brand{

    display:flex;

    align-items:center;

    gap:12px;

    min-width:240px;

}


.brand .logo{

    font-size:24px;

}


.brand strong{

    display:block;

    font-size:18px;

}


.brand small{

    color:#999;

    font-size:12px;

}





#scriptTitle{

    width:380px;

    background:#252525;

    color:white;

    border:1px solid #444;

    padding:11px 15px;

    border-radius:8px;

    font-size:15px;

}



.header-actions{

    display:flex;

    align-items:center;

    gap:10px;

}


.header-actions button,
.header-actions a{

    border:none;

    background:#303030;

    color:white;

    padding:9px 15px;

    border-radius:8px;

    cursor:pointer;

    text-decoration:none;

    font-size:14px;

}


#saveStatus{

    background:#166534;

}






/* MENU */


.menu-bar{

    height:38px;

    background:#202020;

    color:#aaa;

    display:flex;

    align-items:center;

    gap:25px;

    padding-left:25px;

    font-size:14px;

}


.menu-bar span:hover{

    color:white;

    cursor:pointer;

}





/* WORKSPACE */


.workspace{

    flex:1;

    display:flex;

    overflow:hidden;

}





/* SCENE PANEL */


.scene-panel{

    width:270px;

    background:#171717;

    color:white;

    border-right:1px solid #333;

    padding:20px;

}


.panel-title{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

}


.panel-title button{

    background:#333;

    color:white;

    border:none;

    width:28px;

    height:28px;

    border-radius:50%;

    cursor:pointer;

}



.scene{

    padding:12px;

    border-radius:8px;

    color:#bbb;

    margin-bottom:6px;

    cursor:pointer;

    font-size:14px;

}



.scene span{

    color:#777;

    margin-right:8px;

}



.scene:hover{

    background:#252525;

}


.scene.active{

    background:#333;

    color:white;

}





/* EDITOR AREA */


.editor-area{

    flex:1;

    display:flex;

    flex-direction:column;

    overflow:auto;

}





/* TOOLBAR */


.toolbar{

    height:55px;

    background:#f8f8f8;

    border-bottom:1px solid #ddd;

    display:flex;

    align-items:center;

    gap:8px;

    padding:10px 20px;

}



.toolbar button{

    background:white;

    border:1px solid #ddd;

    padding:8px 14px;

    border-radius:7px;

    cursor:pointer;

    font-size:13px;

}



.toolbar button:hover{

    background:#eeeeee;

}



.toolbar-spacer{

    flex:1;

}



.toolbar select{

    padding:8px;

    border-radius:7px;

    border:1px solid #ddd;

}







/* SCREENPLAY PAGE */


.page-container{

    flex:1;

    display:flex;

    justify-content:center;

    padding:45px;

    overflow:auto;

}





.screenplay-page{

    background:#fffdf8;

    width:8.5in;

    min-height:11in;

    padding:

    1in

    1in

    1in

    1.5in;


    box-shadow:

    0 15px 50px rgba(0,0,0,.45);

}



#scriptEditor{

    font-family:"Courier Prime",monospace;

    font-size:12pt;

    line-height:1.5;

    min-height:900px;

    outline:none;

    white-space:pre-wrap;

}





/* STATUS BAR */


.status-bar{

    height:32px;

    background:#111;

    color:#aaa;

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:25px;

    padding:0 20px;

    font-size:12px;

}







/* FOCUS MODE */


.focus-mode .scene-panel,
.focus-mode .toolbar,
.focus-mode .menu-bar{

    display:none;

}


.focus-mode .editor-header{

    justify-content:center;

}


.focus-mode .screenplay-page{

    box-shadow:none;

}





/* RESPONSIVE */


@media(max-width:1000px){


.scene-panel{

    width:200px;

}



#scriptTitle{

    width:250px;

}


}





@media(max-width:700px){


.scene-panel{

    display:none;

}


.editor-header{

    flex-wrap:wrap;

    height:auto;

    padding:15px;

}



#scriptTitle{

    width:100%;

}



.toolbar{

    overflow-x:auto;

}



.page-container{

    padding:20px;

}



.screenplay-page{

    width:100%;

    padding:40px;

}


}

/* SCREENPLAY FORMATTING */


.scene-heading{

    text-transform:uppercase;

    text-align:left;

    margin-bottom:20px;

}




.action{

    text-align:left;

    margin-bottom:20px;

}




.character{

    text-align:center;

    margin-left:2.2in;

    width:3.7in;

    text-transform:uppercase;

    margin-bottom:0;

}




.dialogue{

    text-align:left;

    margin-left:1.5in;

    width:3.5in;

    margin-bottom:20px;

}




.parenthetical{

    margin-left:2in;

    width:3in;

    font-style:italic;

}




.transition{

    text-align:right;

    text-transform:uppercase;

    margin-top:20px;

    margin-bottom:20px;

}