:root{--text:#111;--text-muted:#666;--text-heading:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--mono:ui-monospace, Consolas, monospace;--sans:Calibri, "Segoe UI", Arial, sans-serif;--heading:Calibri, "Segoe UI", Arial, sans-serif;font:16px/1.45 var(--sans);letter-spacing:0;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:15px}}#root{border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-heading);font-weight:600}h1{letter-spacing:0;margin:24px 0;font-size:40px}h2{letter-spacing:0;margin:0 0 8px;font-size:24px;line-height:1.15}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-heading);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:1.35}@media (width<=1024px){h1{margin:18px 0;font-size:30px}h2{font-size:20px}}*{box-sizing:border-box}body{color:#111;background:#f5f5f5;margin:0;font-family:Calibri,Segoe UI,Arial,sans-serif}html,body,#root{height:100%;overflow:hidden}.app{height:100vh;display:flex;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #ddd;flex-shrink:0;width:260px;padding:20px;overflow-y:auto}.main{flex-direction:column;flex:1;min-width:0;padding:24px;display:flex}h1,h2{margin-top:0}.list,.category-list,.words-list,.text-items,.media-list,.plain-items{margin:0;padding:0;list-style:none}.list li+li,.category-list li+li,.media-list li+li,.plain-items li+li,.words-list li+li{margin-top:6px}button{font:inherit}.sidebar .list button,.category-button{text-align:left;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;width:100%;padding:8px 10px;transition:background .15s,border-color .15s}.sidebar .list button:hover,.category-button:hover{background:#f0f0f0}.sidebar .list button.active,.category-button.active{background:#e6f0ff;border-color:#7aa7ff}.login-page{flex-direction:column;align-items:center;margin-top:100px;display:flex}.login-page form{flex-direction:column;gap:10px;width:250px;display:flex}.login-page input{font:inherit;padding:8px}.login-page button{padding:10px}.topbar{border-bottom:1px solid #ddd;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:14px;display:flex}.page-title{letter-spacing:0;margin:0;font-size:34px;font-weight:700;line-height:1.05}.page-subtitle{color:#666;margin:6px 0 0;font-size:15px;line-height:1.2}.user-panel{align-items:center;gap:12px;display:flex}.user-info{color:#444;font-size:14px}.logout-button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;width:auto;padding:8px 14px}.content-area{text-align:left;scrollbar-gutter:stable;flex:1;max-width:900px;min-height:0;padding-right:8px;overflow-y:auto}.content-title{text-align:left;margin:0 0 14px;font-size:28px;font-weight:700;line-height:1.15}.category-list{flex-direction:column;gap:8px;display:flex}.category-list-item{margin:0}.category-button{font-size:18px;font-weight:600;line-height:1.15}.nested-items{margin-top:8px;margin-left:0;padding-left:16px}.info-message{color:#555;font-size:15px;line-height:1.35}.error-message{color:#c62828;margin-bottom:12px;font-size:15px;line-height:1.35}.footer-status{color:#666;margin-top:10px;font-size:13px}.words-list{flex-direction:column;gap:4px;display:flex}.word-row{align-items:baseline;gap:8px;font-size:17px;line-height:1.25;display:flex}.word-left{font-weight:600}.word-separator{color:#666}.word-right{color:#222}.text-items{flex-direction:column;gap:12px;display:flex}.text-item{text-align:left;color:#111;font-size:17px;line-height:1.45}.story-item,.dialog-item{white-space:normal}.dialog-line{margin-bottom:4px}.dialog-speaker{font-weight:700}.media-list{flex-direction:column;gap:8px;display:flex}.media-row{align-items:center;gap:10px;display:flex}.play-button{cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:6px;width:auto;min-width:58px;padding:5px 10px;font-size:14px;line-height:1}.play-button:hover{background:#f3f3f3}.media-title,.plain-item{text-align:left;font-size:17px;line-height:1.2}@media (width<=900px){.topbar{flex-direction:column;align-items:flex-start}.user-panel{flex-wrap:wrap}.sidebar{width:220px}}
