:root{--ink:#111;--sub:#666;--dim:#999;--line:#e3e3e3;--line-strong:#111;--bg:#fff;--bg-soft:#f6f6f6;--warn:#c00}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,Yu Gothic,system-ui,sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100%;display:flex}.nav{border-right:1px solid var(--line);flex:0 0 200px;height:100vh;padding:22px 0;position:sticky;top:0}.nav .brand{letter-spacing:.12em;border-bottom:1px solid var(--line);margin-bottom:14px;padding:0 20px 18px;font-size:15px;font-weight:700}.nav a{color:var(--sub);padding:7px 20px;font-size:13px;display:block}.nav a:hover{background:var(--bg-soft);color:var(--ink);text-decoration:none}.nav a.on{color:var(--ink);box-shadow:inset 3px 0 0 var(--ink);font-weight:700}.nav .sec{color:var(--dim);letter-spacing:.14em;padding:16px 20px 4px;font-size:10px}.main{flex:1;min-width:0;max-width:1100px;padding:30px 36px 80px}h1{letter-spacing:.04em;font-size:22px;font-weight:700}h1 .meta{color:var(--sub);letter-spacing:0;margin-left:12px;font-size:12px;font-weight:400}h2.sec{letter-spacing:.1em;border-bottom:1px solid var(--line-strong);margin:34px 0 12px;padding-bottom:5px;font-size:13px;font-weight:700}h2.sec .n{color:var(--dim);letter-spacing:0;margin-left:8px;font-size:11px;font-weight:400}.lead{color:var(--sub);margin-top:4px;font-size:13px}.stats{border:1px solid var(--line);gap:0;margin-top:18px;display:grid}.stats>div{border-right:1px solid var(--line);padding:12px 16px}.stats>div:last-child{border-right:0}.stats .k{color:var(--dim);letter-spacing:.1em;font-size:10px}.stats .v{font-size:21px;font-weight:700;line-height:1.3}.stats .v small{color:var(--sub);font-size:12px;font-weight:400}.stats .v.s{font-size:15px}.bar{background:#e6e6e6;height:5px;margin-top:7px}.bar i{background:var(--ink);height:100%;display:block}table.list{border-collapse:collapse;width:100%}table.list th{text-align:left;color:var(--dim);letter-spacing:.1em;border-bottom:1px solid var(--line-strong);padding:6px 8px;font-size:10px;font-weight:400}table.list td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 8px}table.list tr:hover td{background:var(--bg-soft)}table.list td.c{text-align:center;white-space:nowrap}table.list td.r{text-align:right;white-space:nowrap}table.list td.id{color:var(--dim);width:54px;font-size:12px}table.list td.dim{color:var(--sub);font-size:12px}.note{color:var(--sub);margin-top:2px;font-size:12px}.badge{text-align:center;letter-spacing:.06em;border:1px solid var(--ink);min-width:52px;padding:2px 6px;font-size:10px;display:inline-block}.badge.done{background:var(--ink);color:#fff}.badge.block{border-style:dashed}.badge.plan{color:var(--sub);border-color:var(--dim)}.tag{color:var(--sub);border:1px solid var(--line);padding:1px 6px;font-size:10px}.asks{border:2px solid var(--ink);margin-top:12px;padding:14px 18px}.ask{border-top:1px solid var(--line);gap:14px;padding:9px 0;display:flex}.ask:first-child{border-top:0;padding-top:0}.ask .due{flex:0 0 84px;font-size:12px;font-weight:700}.ask .why{color:var(--sub);font-size:12px}.btn{border:1px solid var(--ink);letter-spacing:.06em;cursor:pointer;background:#fff;padding:6px 16px;font-size:12px;display:inline-block}.btn:hover{background:var(--ink);color:#fff;text-decoration:none}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{opacity:.82}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.preview{border:1px solid var(--line);background:var(--bg-soft);margin-top:16px;padding:16px;overflow:auto}.preview iframe{background:#fff;border:0;width:210mm;height:297mm;margin:0 auto 16px;display:block;box-shadow:0 1px 6px #00000029}.empty{color:var(--dim);padding:22px 0;font-size:13px}input,select,textarea,button{font:inherit;color:inherit}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{border:1px solid var(--line);background:#fff;border-radius:0;width:100%;padding:6px 8px;font-size:13px}input:focus,select:focus,textarea:focus{outline:1px solid var(--ink);border-color:var(--ink)}textarea{resize:vertical;min-height:62px}label>span{color:var(--dim);letter-spacing:.1em;margin-bottom:3px;font-size:10px;display:block}.stack{gap:12px;margin-top:14px;display:grid}.fields{grid-template-columns:repeat(12,1fr);align-items:end;gap:10px 12px;display:grid}.fields>*{grid-column:span 12}.w2{grid-column:span 2!important}.w3{grid-column:span 3!important}.w4{grid-column:span 4!important}.w6{grid-column:span 6!important}.box{border:1px solid var(--line);margin-top:12px;padding:14px 16px}.box>summary{cursor:pointer;letter-spacing:.06em;color:var(--sub);font-size:12px;list-style:none}.box>summary:before{content:"＋ "}.box[open]>summary:before{content:"− "}.box>summary:hover{color:var(--ink)}.err{color:var(--warn);font-size:12px}.ok{color:var(--sub);font-size:12px}.msg{border-left:3px solid var(--ink);background:var(--bg-soft);padding:6px 10px;font-size:12px}.linkish{color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.linkish:hover{color:var(--warn)}.mono{word-break:break-all;background:var(--bg-soft);border:1px solid var(--line);padding:8px 10px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.nav .who{color:var(--sub);border-top:1px solid var(--line);padding-top:10px;font-size:11px;position:absolute;bottom:18px;left:20px;right:20px}.auth{max-width:320px;margin:14vh auto 0;padding:0 20px}.auth .brand{letter-spacing:.12em;font-size:16px;font-weight:700}.auth .note{color:var(--dim);font-size:11px}.auth button{width:100%;padding:8px}
