/* global */ * { box-sizing: border-box; } html, body { height: 100%; margin: 0; overflow: hidden; } body { display: grid; grid-template-rows: auto 1fr auto; height: 100vh; font-family: sans-serif; background: #f5f5f5; color: #181818 } a, a:visited { color: inherit; text-decoration: none; cursor: pointer; } /* header */ header { padding-left: 1em; background: #222831; color: #fff; } /* main */ .main { display: grid; grid-template-columns: 200px 1fr; height: 100%; min-height: 0; } /* menu */ .menu { overflow: auto; min-height: 0; background: #393E46; color: #fff; } .menu ul { list-style-type: none; padding-left: 1em; } li.dir > span { font-weight: bold; } .menu a { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* main part of the page */ .content { margin: 1em; overflow: auto; min-height: 0; background: #ffffff; border: 1px solid #ccc; border-radius: 4px; box-shadow: 4px 4px 10px rgba(0,0,0,0.3); } /* display */ .content-main { padding-left: 1em; } /* edit mode */ .content-edit { height: 100%; display: flex; } .editor, .preview { flex: 1; overflow-y: auto; padding: 1em; } .editor { background: #ffffff; border-right: 1px solid #ccc; } .preview { background: #fafafa; } .editor textarea { width: 100%; height: 100%; resize: none; border: none; outline: none; font-family: monospace; font-size: 14px; } .preview a { text-decoration: underline; } /* footer */ footer { padding: 1em; text-align: center; background: #222831; color: #fff; } /* icons */ .icon-edit, .icon-save, .icon-download { padding-right: 0.3em; } .icon-login, .icon-logout { float: right; padding-right: 0.5em; } /* login */ .mask { height: 100%; width: 100%; background: rgba(0,0,0,0.7); position: absolute; } .login { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 300px; padding: 20px; background-color: #1e1e1e; border-radius: 8px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.5); color: white; font-family: sans-serif; } .login input.username, .login input.password { padding: 10px; border-radius: 4px; border: 1px solid #555; background-color: #2a2a2a; color: white; font-size: 14px; } .login input.username:focus, .login input.password:focus { outline: none; border-color: #00aaff; } .login button.submit, .login button.cancel { padding: 10px; border: none; border-radius: 4px; font-size: 14px; cursor: pointer; transition: background 0.2s; } .login button.submit { background-color: #00aaff; color: white; } .login button.submit:hover { background-color: #0088cc; } .login button.cancel { background-color: #555; color: white; } .login button.cancel:hover { background-color: #333; } .circle { position: fixed; width: 2em; height: 2em; border-radius: 50%; background: #222831; color: #fff; align-items: center; justify-content: center; display: grid; place-items: center; font-size: 2em; } #button_menu { left: -1em; transform: translateY(-50%); top: 50%; } #button_preview { right: 1em; bottom: 2.5em; } /* responsive */ @media(max-width: 1080px){ body { font-size: 2em; } .main { grid-template-columns: 100vw; } .menu { display: none; } .content { overflow: auto; } .preview { display: none; } .circle { display: grid; } header h2 { display: flex; align-items: center; margin: 0; } header h2 #title { flex: 0 1 auto; white-space: nowrap; /* pas de retour à la ligne */ overflow: hidden; /* masque le texte dépassant */ text-overflow: ellipsis; /* tronque avec "..." */ max-width: 60vw; } header h2 #buttons { flex: 1; flex-shrink: 0; /* ne rétrécit pas */ } .login { width: 60vw; } .login button.submit, .login button.cancel, .login input.username, .login input.password { font-size: 30px; } } @media(min-width: 1081px){ .circle { display: none; } } /* Fonts */ @font-face { font-family: 'wiki'; src: url('/fonts/wiki.eot'); src: url('/fonts/wiki.eot') format('embedded-opentype'), url('/fonts/wiki.ttf') format('truetype'), url('/fonts/wiki.woff') format('woff'), url('/fonts/wiki.svg') format('svg'); font-weight: normal; font-style: normal; font-display: block; } [class^="icon-"], [class*=" icon-"] { font-family: 'wiki' !important; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-edit:before { content: "\e905"; } .icon-download:before { content: "\e960"; } .icon-save:before { content: "\e962"; } .icon-login:before { content: "\e971"; } .icon-menu:before { content: "\e9bd"; } .icon-display:before { content: "\e9ce"; } .icon-logout:before { content: "\ea14"; }