:root{--bg:#f4f4f2;--card:#fff;--text:#1a1a1a;--muted:#5c5c5c;--accent:#2563eb;--border:#e2e2de;--ok:#16a34a}*{box-sizing:border-box}body,html{margin:0;max-width:100%}body{font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;font-size:15px}header{background:var(--card);border-bottom:1px solid var(--border);padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}header h1{margin:0;font-size:1rem;font-weight:700}header nav{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem}header a{color:var(--accent);text-decoration:none;font-size:.9rem}header a:hover{text-decoration:underline}.nav-sub{margin:.35rem 0 0;font-size:.85rem;color:var(--muted)}main{max-width:42rem;margin:0 auto;padding:1rem 1rem 3rem}main a{color:var(--accent)}h2{font-size:1.15rem;margin:0 0 .75rem}h3{font-size:1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:.75rem;display:block;text-decoration:none;color:inherit}a.card:hover{border-color:var(--accent)}.card h3{margin:0 0 .35rem;font-size:1rem}.card .meta{font-size:.85rem;color:var(--muted);margin-bottom:.5rem}.btn{display:inline-block;background:var(--accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;font-family:inherit}.btn:hover{filter:brightness(1.05)}.btn-secondary{background:var(--text)}.task-list{list-style:none;padding:0;margin:0}.task-list li{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.task-list li:last-child{border-bottom:none}.task-list input[type=checkbox]{margin-top:.25rem;accent-color:var(--ok)}.memo{width:100%;min-height:6rem;padding:.6rem;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.95rem;resize:vertical}.plan-day strong{display:block;margin-bottom:.35rem;color:var(--accent)}.badge{display:inline-block;font-size:.75rem;background:#e8eefc;color:var(--accent);padding:.15rem .45rem;border-radius:4px;margin-left:.35rem}pre.export-box{background:#1e1e1e;color:#e4e4e4;padding:.75rem;border-radius:6px;overflow:auto;font-size:.75rem;max-height:12rem}.empty{color:var(--muted);font-size:.9rem}.pass{color:var(--ok)}.fail,.pass{font-weight:700;margin-left:.35rem}.fail{color:#dc2626}ul.metric-list{list-style:none;padding:0;margin:0}ul.metric-list li{padding:.6rem 0;border-bottom:1px solid var(--border)}ul.metric-list li:last-child{border-bottom:none}.export{margin-top:.75rem}code{font-size:.85em;background:#eee;padding:.1em .35em;border-radius:4px}.flow-steps{list-style:none;padding:0;margin:1rem 0 0}.flow-step{border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:.75rem;background:var(--card)}.flow-step-done{border-color:#86efac;background:#f0fdf4}.flow-step-head{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}.flow-step-num{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}.flow-step-done .flow-step-num{background:var(--ok)}.flow-step-desc{margin:.25rem 0 0}.flow-step-btn{text-decoration:none;text-align:center}.flow-warn{border-color:#fbbf24;background:#fffbeb}.flow-warn-inline{padding:.5rem .75rem;background:#fffbeb;border-radius:6px;border:1px solid #fbbf24}.flow-brief-summary p{margin:.35rem 0}html{-webkit-text-size-adjust:100%}.flow-step-btn,a.btn,button{touch-action:manipulation}main code,main pre{max-width:100%;overflow-x:auto;word-break:break-word}@media (max-width:480px){body{font-size:16px}header h1{font-size:.95rem;line-height:1.3}header nav{gap:.4rem .75rem}header nav a{font-size:.85rem}main{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));padding-bottom:max(3rem,env(safe-area-inset-bottom,0px))}header{padding-left:max(.75rem,env(safe-area-inset-left,0px));padding-right:max(.75rem,env(safe-area-inset-right,0px));padding-top:max(.75rem,env(safe-area-inset-top,0px))}.btn,a.btn,a.flow-step-btn,button.btn{min-height:44px;padding:.55rem 1rem;display:inline-flex;align-items:center;justify-content:center}.flow-step-btn{width:100%;box-sizing:border-box}.flow-step-head{flex-direction:column;gap:.5rem}h2{font-size:1.1rem}}