/* 뼈대만(자리·보이기/숨기기). 색·글꼴·선·꾸밈은 theme.css 한 파일에 — 시안을 바꿀 때 이 파일은 안 건드린다. */
* { box-sizing: border-box; }
html, body { margin: 0; }
[hidden] { display: none !important; }
body { -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%; }
.wrap { max-width: 600px; margin: 0 auto; padding: 16px 16px calc(40px + env(safe-area-inset-bottom)); }
.dateline { display: flex; justify-content: space-between; gap: 8px; }
.tools { display: flex; justify-content: flex-end; margin: 0 0 6px; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.c { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; text-align: left; font: inherit; color: inherit; cursor: pointer; min-width: 0; }
.c .s { word-break: keep-all; overflow-wrap: anywhere; }
.grid.list { grid-template-columns: 1fr; }
.grid.list .c { flex-direction: row; align-items: baseline; gap: 10px; min-height: 0; padding-right: 64px; }
.grid.list .c .n { flex: 0 0 3.2em; }
.grid.list .c .s { margin-top: 0; }
.btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.line { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.dots { display: flex; gap: 4px; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.linkform .row { display: flex; gap: 8px; }
.linkform input { flex: 1; min-width: 0; }
pre { white-space: pre-wrap; }
