:root{--font-base: 16px;--bg: #f4f5f7;--surface: #ffffff;--text: #1a1f2b;--text-sub: #555f6e;--border: #d4d9e0;--primary: #1d4ed8;--primary-text: #ffffff;--danger: #b91c1c;--danger-bg: #fee2e2;--success: #166534;--success-bg: #dcfce7;--focus: #1d4ed8}:root[data-font-size=small]{--font-base: 14px}:root[data-font-size=medium]{--font-base: 16px}:root[data-font-size=large]{--font-base: 19px}:root[data-font-size=xlarge]{--font-base: 22px}:root[data-contrast=high]{--bg: #ffffff;--surface: #ffffff;--text: #000000;--text-sub: #1a1a1a;--border: #000000;--primary: #00218f;--primary-text: #ffffff;--danger: #8a0000;--danger-bg: #ffd9d9;--success: #003d00;--success-bg: #d2f5d2;--focus: #ff6a00}*{box-sizing:border-box}html{font-size:var(--font-base)}body{margin:0;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.6rem 1rem;position:sticky;top:0;z-index:10}.app-title{font-weight:700;font-size:1rem;color:var(--text);text-decoration:none}.app-main{flex:1;padding:1rem 1rem 5rem;max-width:900px;width:100%;margin:0 auto}.nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--border);z-index:10;padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;text-align:center;padding:.9rem .2rem;font-size:.85rem;color:var(--text-sub);text-decoration:none;background:none;border:none;border-radius:0;cursor:pointer;min-height:48px}.nav-item.active{color:var(--primary);font-weight:700;border-top:3px solid var(--primary);margin-top:-1px}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem;flex-wrap:wrap}h1{font-size:1.3rem;margin:0}h2{font-size:1.05rem;margin:0 0 .6rem}h3{font-size:1rem;margin:0 0 .4rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:1rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}button,.button{display:inline-block;cursor:pointer;border:1px solid transparent;border-radius:8px;padding:.65rem 1rem;min-height:44px;background:var(--primary);color:var(--primary-text);font-size:.95rem;font-family:inherit;text-decoration:none;text-align:center}button:disabled{opacity:.45;cursor:not-allowed}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.danger{background:var(--danger-bg);color:var(--danger)}button.icon{min-height:40px;min-width:40px;padding:.3rem;background:var(--surface);color:var(--text);border-color:var(--border)}button.link{background:none;border:none;color:var(--primary);padding:0;min-height:0;text-decoration:underline;font-size:inherit}button.wide,.button.wide{width:100%}input,select,textarea{width:100%;padding:.65rem .7rem;min-height:44px;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text)}textarea{line-height:1.7}label{display:block;margin-bottom:.8rem;font-size:.85rem;color:var(--text-sub);font-weight:600}label input,label select,label textarea{margin-top:.25rem;font-weight:400}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.inline-form{display:flex;gap:.5rem;margin-bottom:1rem}.inline-form input{flex:1}.filters{display:grid;gap:.5rem;margin-bottom:.7rem}.toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem;align-items:center}.save-bar{position:sticky;bottom:4.2rem;z-index:5;margin-bottom:1rem}.card-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem;color:var(--text);text-decoration:none}.card:active{background:var(--bg)}.card-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.card-title{font-weight:700}.card-sub{color:var(--text-sub);font-size:.9rem}.card-meta{color:var(--text-sub);font-size:.8rem;margin-top:.3rem}.card-tags{color:var(--primary);font-size:.85rem;margin-top:.2rem}.badge{display:inline-block;padding:.15rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.badge-not_started{background:#e5e7eb;color:#374151}.badge-editing{background:#fef3c7;color:#92400e}.badge-awaiting_output{background:#ede9fe;color:#5b21b6}.badge-awaiting_publish{background:#dbeafe;color:#1e40af}.badge-published{background:var(--success-bg);color:var(--success)}:root[data-contrast=high] .badge{border-color:currentColor}.order-list{list-style:none;margin:0 0 .8rem;padding:0}.order-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.order-buttons{display:flex;gap:.3rem}.order-link{flex:1;color:var(--text);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis}.order-no{color:var(--text-sub)}.article-title{overflow-wrap:anywhere}.meta-grid{display:grid;grid-template-columns:7em 1fr;gap:.35rem .8rem;margin:0}.meta-grid dt{color:var(--text-sub);font-size:.85rem}.meta-grid dd{margin:0;overflow-wrap:anywhere}.block-view h2{border-left:4px solid var(--primary);padding-left:.5rem;margin:1.2rem 0 .5rem}.block-view blockquote{border-left:3px solid var(--border);margin:.7rem 0;padding:.2rem .8rem;color:var(--text-sub)}.block-view .para{white-space:pre-wrap;overflow-wrap:anywhere}.block{border:1px solid var(--border);border-radius:8px;padding:.5rem;margin-bottom:.6rem;background:var(--surface)}.block-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.4rem}.block-toolbar select{width:auto;min-height:40px;font-size:.85rem}.block-actions{display:flex;gap:.3rem}.block-input{border:none;padding:.3rem;min-height:0}.block-input:focus-visible{outline:2px solid var(--focus)}.block-heading2{font-weight:700;font-size:1.15rem}.block-heading3{font-weight:700;font-size:1.05rem}.block-quote{color:var(--text-sub);font-style:italic}.block-insert{display:block;margin:.2rem auto 0;min-height:34px;padding:.1rem 1.4rem;background:var(--bg);color:var(--text-sub);border:1px dashed var(--border);font-size:.9rem}.comment-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.comment{border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;padding:.6rem .8rem}.comment-applied,.comment-resolved{opacity:.65;border-left-color:var(--success)}.comment-quote{color:var(--text-sub);font-size:.85rem;margin-bottom:.2rem}.comment-body{overflow-wrap:anywhere}.comment-meta{color:var(--text-sub);font-size:.78rem;margin:.25rem 0}.comment-input{margin-bottom:.8rem}.comment-input textarea{margin:.4rem 0}.selection-info{background:var(--success-bg);color:var(--success);border-radius:6px;padding:.35rem .6rem;font-size:.85rem;margin:0;overflow-wrap:anywhere}.revision-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.revision-diff{margin-top:.8rem;border-top:1px solid var(--border);padding-top:.8rem}.diff-grid{display:grid;gap:1rem}.diff-grid>div{border:1px solid var(--border);border-radius:8px;padding:.7rem;overflow-x:auto}.diff-title{font-weight:700}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekday{text-align:center;font-size:.75rem;color:var(--text-sub);padding:.2rem 0}.calendar-cell{position:relative;min-height:52px;padding:.2rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;align-items:flex-start;font-size:.85rem}.calendar-cell.empty{background:transparent;border-color:transparent}.calendar-cell.today{border-color:var(--primary);border-width:2px}.calendar-cell.selected{background:var(--primary);color:var(--primary-text)}.calendar-count{margin-top:auto;align-self:flex-end;background:var(--success-bg);color:var(--success);border-radius:999px;min-width:1.4em;text-align:center;font-size:.75rem;font-weight:700;padding:0 .3em}.calendar-cell.selected .calendar-count{background:var(--primary-text)}.preview-title{font-size:1.3rem;border-bottom:2px solid var(--border);padding-bottom:.4rem;margin:0 0 .8rem;overflow-wrap:anywhere}.eyecatch{max-width:100%;border-radius:8px;border:1px solid var(--border);margin-bottom:.6rem;display:block}.user-list{list-style:none;margin:0 0 1rem;padding:0}.user-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.user-item .badge{margin-left:.4rem}.login-card{background:var(--surface);border:1px solid var(--border);padding:1.6rem;border-radius:12px;width:100%;max-width:380px;display:grid;gap:.7rem}.login-card h1{font-size:1.15rem}.code{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.7rem;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}.error{color:var(--danger);background:var(--danger-bg);border-radius:8px;padding:.5rem .8rem;font-size:.9rem}.success{color:var(--success);background:var(--success-bg);border-radius:8px;padding:.5rem .8rem;font-size:.9rem}.muted{color:var(--text-sub);font-size:.9rem}.error-panel{text-align:center;padding:2rem 1rem}.choice-group{display:flex;gap:.5rem;flex-wrap:wrap}.choice{background:var(--surface);color:var(--text);border:1px solid var(--border)}.choice.active{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}@media(min-width:768px){.app-main{padding-bottom:1.5rem}.nav{position:sticky;top:0;bottom:auto;border-top:none;border-bottom:1px solid var(--border);order:-1;justify-content:flex-start;padding:0 1rem}.shell{flex-direction:column}.app-header{order:-2}.nav-item{flex:0 0 auto;padding:.8rem 1.2rem}.nav-item.active{border-top:none;border-bottom:3px solid var(--primary);margin-top:0;margin-bottom:-1px}.nav-logout{margin-left:auto}.filters{grid-template-columns:1fr 1fr 2fr}.diff-grid{grid-template-columns:1fr 1fr}.save-bar{bottom:1rem}h1{font-size:1.5rem}}
