Spaces:
Running
Running
Add styles
Browse files- src/style.css +86 -0
src/style.css
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
:root {
|
| 2 |
+
--paper: #f4efe6;
|
| 3 |
+
--ink: #23201b;
|
| 4 |
+
--muted: #776f63;
|
| 5 |
+
--line: #ddd4c4;
|
| 6 |
+
--accent: #b4532a;
|
| 7 |
+
--hl: #f2d9a8;
|
| 8 |
+
--done: #a39a8c;
|
| 9 |
+
--card: #fbf8f2;
|
| 10 |
+
color-scheme: light;
|
| 11 |
+
}
|
| 12 |
+
@media (prefers-color-scheme: dark) {
|
| 13 |
+
:root {
|
| 14 |
+
--paper: #1b1a17; --ink: #ece6da; --muted: #9b9385; --line: #34312b;
|
| 15 |
+
--accent: #e0855a; --hl: #4a3b22; --done: #6f685d; --card: #24221e;
|
| 16 |
+
color-scheme: dark;
|
| 17 |
+
}
|
| 18 |
+
}
|
| 19 |
+
* { box-sizing: border-box; }
|
| 20 |
+
html, body { margin: 0; background: var(--paper); color: var(--ink); }
|
| 21 |
+
body {
|
| 22 |
+
font: 17px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
| 23 |
+
min-height: 100dvh; display: flex; flex-direction: column;
|
| 24 |
+
padding-bottom: env(safe-area-inset-bottom);
|
| 25 |
+
}
|
| 26 |
+
.hidden { display: none !important; }
|
| 27 |
+
|
| 28 |
+
.top {
|
| 29 |
+
display: flex; align-items: center; justify-content: space-between;
|
| 30 |
+
padding: calc(10px + env(safe-area-inset-top)) 16px 8px;
|
| 31 |
+
position: sticky; top: 0; background: var(--paper); z-index: 5;
|
| 32 |
+
}
|
| 33 |
+
.top h1 { font: 600 20px/1 Georgia, "Iowan Old Style", serif; margin: 0; letter-spacing: .01em; }
|
| 34 |
+
.top-actions { display: flex; gap: 6px; }
|
| 35 |
+
|
| 36 |
+
button { font: inherit; color: inherit; cursor: pointer; border-radius: 999px; }
|
| 37 |
+
.ghost { background: transparent; border: 1px solid var(--line); padding: 7px 14px; font-size: 15px; }
|
| 38 |
+
.primary { background: var(--accent); color: #fff; border: 0; padding: 10px 22px; font-weight: 600; }
|
| 39 |
+
.primary:disabled { opacity: .5; }
|
| 40 |
+
.danger { color: #b3261e; border-color: #e3b8b4; }
|
| 41 |
+
|
| 42 |
+
.model-bar { margin: 0 16px 8px; font-size: 13px; color: var(--muted); }
|
| 43 |
+
.model-bar.ready { display: none; }
|
| 44 |
+
.progress { height: 3px; background: var(--line); border-radius: 2px; margin-top: 5px; overflow: hidden; }
|
| 45 |
+
.progress > div { height: 100%; width: 0; background: var(--accent); transition: width .2s; }
|
| 46 |
+
|
| 47 |
+
main { flex: 1; padding: 0 16px; }
|
| 48 |
+
#view-edit { display: flex; flex-direction: column; gap: 10px; height: 100%; }
|
| 49 |
+
textarea {
|
| 50 |
+
width: 100%; min-height: 55dvh; resize: vertical;
|
| 51 |
+
font: 17px/1.55 Georgia, "Iowan Old Style", serif;
|
| 52 |
+
background: var(--card); color: var(--ink);
|
| 53 |
+
border: 1px solid var(--line); border-radius: 14px; padding: 14px;
|
| 54 |
+
}
|
| 55 |
+
textarea:focus { outline: 2px solid var(--accent); outline-offset: -1px; }
|
| 56 |
+
.edit-actions { display: flex; gap: 8px; justify-content: flex-end; }
|
| 57 |
+
.privacy, .note { font-size: 13px; color: var(--muted); margin: 0; }
|
| 58 |
+
|
| 59 |
+
.reader {
|
| 60 |
+
font: 19px/1.65 Georgia, "Iowan Old Style", serif;
|
| 61 |
+
max-width: 680px; margin: 0 auto; padding: 4px 0 180px;
|
| 62 |
+
}
|
| 63 |
+
.reader p { margin: 0 0 1em; }
|
| 64 |
+
.reader .c { border-radius: 4px; transition: background .2s, color .2s; cursor: pointer; }
|
| 65 |
+
.reader .c.played { color: var(--done); }
|
| 66 |
+
.reader .c.now { background: var(--hl); color: var(--ink); box-decoration-break: clone; -webkit-box-decoration-break: clone; padding: 1px 0; }
|
| 67 |
+
|
| 68 |
+
.player {
|
| 69 |
+
position: fixed; left: 0; right: 0; bottom: 0; z-index: 10;
|
| 70 |
+
background: color-mix(in srgb, var(--paper) 92%, transparent);
|
| 71 |
+
backdrop-filter: blur(8px); border-top: 1px solid var(--line);
|
| 72 |
+
padding: 10px 16px calc(14px + env(safe-area-inset-bottom));
|
| 73 |
+
}
|
| 74 |
+
.status { font-size: 13px; color: var(--muted); text-align: center; min-height: 1.3em; margin-bottom: 6px; }
|
| 75 |
+
.controls { display: flex; justify-content: center; align-items: center; gap: 22px; }
|
| 76 |
+
.round { width: 48px; height: 48px; border: 1px solid var(--line); background: var(--card); font-size: 18px; display: grid; place-items: center; padding: 0; }
|
| 77 |
+
.round.big { width: 64px; height: 64px; background: var(--accent); color: #fff; border: 0; font-size: 24px; }
|
| 78 |
+
|
| 79 |
+
dialog { border: 0; border-radius: 18px; padding: 0; background: var(--card); color: var(--ink); width: min(420px, 92vw); }
|
| 80 |
+
dialog::backdrop { background: rgb(0 0 0 / .35); }
|
| 81 |
+
.settings { display: flex; flex-direction: column; gap: 14px; padding: 20px; }
|
| 82 |
+
.settings h2 { margin: 0; font: 600 19px Georgia, serif; }
|
| 83 |
+
.settings label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--muted); }
|
| 84 |
+
.settings select, .settings input[type=range] { font: inherit; color: var(--ink); }
|
| 85 |
+
.settings select { padding: 9px; border-radius: 10px; border: 1px solid var(--line); background: var(--paper); }
|
| 86 |
+
.dialog-actions { display: flex; justify-content: flex-end; }
|