*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;background:#f3f1ea;color:#2d2a24;font-size:14px;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;background:none;border:0;padding:0;color:inherit}input,textarea,select{font:inherit;color:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 22px;background:#fff;border-bottom:1px solid #e8e4d6;position:sticky;top:0;z-index:20}.topbar .brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.08em}.topbar .brand .ver{font-size:10px;color:#b8aa84;background:#f5efdf;padding:2px 6px;border-radius:4px;letter-spacing:.05em}.topbar .brand .review-btn{margin-left:8px;font-size:12px;padding:4px 10px;border-radius:6px;border:1px solid #e2dcc7;background:#fff;color:#6b6149}.topbar .brand .review-btn:hover{background:#f7f3e6}.topbar .nav{display:flex;gap:2px}.topbar .nav button{padding:7px 14px;border-radius:8px;color:#777;display:inline-flex;align-items:center;gap:6px;font-size:13px}.topbar .nav button.active{background:#2d2a24;color:#fff}.topbar .nav button:hover:not(.active){background:#f0ebd9}.page{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 360px;gap:24px;padding:24px}@media (max-width: 820px){.page{grid-template-columns:1fr;gap:14px;padding:12px}.topbar{padding:8px 12px}.topbar .brand{gap:8px}.topbar .brand .review-btn{padding:4px 8px;font-size:11px}.topbar .nav button{padding:6px 10px;font-size:12px}.summary-card{padding:14px 16px}.summary-card .big-time{font-size:24px}.task{padding:10px;gap:8px}.task .handle{display:none}.task .tags{flex-wrap:wrap}.task .time-display{font-size:11px;min-width:42px}.tag-proj,.tag-type{font-size:10px;padding:2px 7px}.boards-page{padding:12px}.board-canvas{height:calc(100vh - 240px)}.add-card-fab{width:48px;height:48px;font-size:26px;bottom:16px;right:16px}}.summary-card{background:#fff;border:1px solid #e8e4d6;border-radius:14px;padding:18px 22px;margin-bottom:18px;box-shadow:0 1px #00000005}.summary-card .date{font-size:12px;color:#8a8369;margin-bottom:4px}.summary-card .big-time{font-size:28px;font-weight:700;line-height:1.1}.summary-card .big-time .of{font-size:14px;color:#b8aa84;font-weight:500;margin-left:4px}.summary-card .stats{font-size:12px;color:#6b6149;margin-top:4px}.summary-card .stats .overdue{color:#c45a4f;margin-left:8px;cursor:pointer}.summary-card .stats .overdue:hover{text-decoration:underline}.summary-card .pbar{height:4px;background:#efebd9;border-radius:99px;overflow:hidden;margin-top:10px}.summary-card .pbar>div{height:100%;background:linear-gradient(90deg,#f0a06c,#c97e54);transition:width .3s}.quick-add{display:flex;gap:8px;margin-bottom:16px;background:#fff;border:1px solid #e8e4d6;border-radius:12px;padding:8px;align-items:center}.quick-add .plus{color:#b8aa84;font-size:20px;padding:0 6px}.quick-add input{flex:1;border:0;padding:8px 4px;background:transparent;outline:none}.quick-add input::placeholder{color:#b8b09a}.quick-add button.add{padding:7px 18px;background:#2d2a24;color:#fff;border-radius:8px;font-size:13px}.quick-add-hint{font-size:11px;color:#999;margin:-8px 0 12px;padding:0 4px}.quick-add-hint code{background:#efe8d2;padding:1px 5px;border-radius:3px;color:#6b6149;font-size:11px}.quick-add-hint .predict{margin-left:8px;color:#a07a44}.section-head{display:flex;align-items:center;justify-content:space-between;padding:6px 4px;margin:16px 0 6px}.section-head h2{margin:0;font-size:13px;font-weight:600;color:#555048;display:flex;align-items:center;gap:8px}.section-head .count{color:#b8aa84;font-weight:500}.section-head .move-all{font-size:12px;color:#6b6149;padding:4px 10px;border-radius:6px;border:1px solid #e2dcc7;background:#fff}.section-head .move-all:hover{background:#f7f3e6}.section-head h2.overdue-title{color:#c45a4f}.task-list{background:#fff;border:1px solid #e8e4d6;border-radius:12px;overflow:hidden}.task{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #f3eddc;cursor:pointer;transition:background .1s}.task:last-child{border-bottom:0}.task:hover{background:#faf7ec}.task.selected{background:#f5efdc}.task .handle{color:#d3cbac;font-size:14px;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.task .handle:hover{color:#a89978}.task .status-circle{width:18px;height:18px;border-radius:50%;border:2px solid var(--proj-ring, #cdc4a4);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#fff;cursor:pointer;transition:all .15s}.task .status-circle:hover{transform:scale(1.1)}.task.done .status-circle{background:#6b9462;border-color:#6b9462;color:#fff}.task.done .status-circle:before{content:"✓";font-size:11px;font-weight:700}.task .title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.task.done .title{color:#aaa3a3;text-decoration:line-through}.task .tags{display:flex;gap:4px;align-items:center;flex-shrink:0}.task .time-display{font-size:12px;color:#888066;min-width:50px;text-align:right;flex-shrink:0}.task .time-display .actual{color:#2d2a24;font-weight:600}.tag-proj{font-size:11px;padding:3px 9px;border-radius:99px;background:var(--proj-bg, #ede6d2);color:var(--proj-fg, #5a5040);font-weight:500;white-space:nowrap}.tag-type{font-size:11px;padding:3px 9px;border-radius:99px;background:#f2eed8;color:#7c7459;white-space:nowrap}.task .delete{opacity:0;padding:2px 6px;color:#b8aa84;font-size:14px;margin-left:4px}.task:hover .delete{opacity:.8}.task .delete:hover{color:#c45a4f;opacity:1}.task .move-today{font-size:11px;padding:3px 8px;border-radius:5px;background:#fbe9d6;color:#a06a3c;white-space:nowrap}.task .move-today:hover{background:#f8d6b0}.proj-akoako{--proj-bg: #dbe8f5;--proj-fg: #1f4d8a;--proj-ring: #5e8fc7}.proj-haco{--proj-bg: #daf0d4;--proj-fg: #2f6a26;--proj-ring: #7bbf6b}.proj-fukugyo{--proj-bg: #fbe4cc;--proj-fg: #8a4d1f;--proj-ring: #d6a276}.proj-private{--proj-bg: #fdf1c8;--proj-fg: #7a6020;--proj-ring: #d4b86b}.proj-default{--proj-bg: #ede6d2;--proj-fg: #6b6149;--proj-ring: #cdc4a4}.right-col{display:flex;flex-direction:column;gap:16px}.notes-panel{background:#fff;border:1px solid #e8e4d6;border-radius:14px;padding:16px}.notes-panel .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.notes-panel .head h3{margin:0;font-size:14px;font-weight:600}.notes-panel .head .ct{color:#b8aa84;font-size:12px}.notes-panel textarea.add{width:100%;border:1px solid #e8e4d6;border-radius:8px;padding:8px 10px;resize:vertical;min-height:50px;background:#faf7ec;outline:none}.notes-panel .add-row{display:flex;gap:6px;margin-top:6px;align-items:center}.notes-panel .add-row select{flex:1;padding:6px 8px;border:1px solid #e8e4d6;border-radius:6px;background:#fff;font-size:12px}.notes-panel .add-row button{padding:6px 14px;background:#2d2a24;color:#fff;border-radius:6px;font-size:12px}.note-item{border-top:1px solid #f0ead7;padding:10px 0}.note-item:first-of-type{border-top:0;padding-top:0}.note-item .title{font-size:13px;font-weight:600;margin-bottom:2px}.note-item .body{font-size:12px;color:#6b6149;line-height:1.5;white-space:pre-wrap;word-break:break-word}.note-item .meta{display:flex;gap:8px;align-items:center;margin-top:6px;font-size:11px;color:#b8aa84}.note-item .actions{margin-left:auto;display:flex;gap:4px}.note-item .actions button{padding:2px 8px;border-radius:4px;font-size:11px;color:#8a8369}.note-item .actions button:hover{background:#f5efdc;color:#4a4538}.note-item .actions button.danger:hover{background:#fde2e2;color:#c45a4f}.detail-panel{background:#fff;border:1px solid #e8e4d6;border-radius:14px;padding:16px}.detail-panel h3{margin:0 0 10px;font-size:14px;font-weight:600}.detail-panel .field{margin-bottom:10px}.detail-panel .field label{display:block;font-size:11px;color:#8a8369;margin-bottom:3px}.detail-panel .field input,.detail-panel .field select,.detail-panel .field textarea{width:100%;padding:7px 10px;border:1px solid #e8e4d6;border-radius:6px;background:#faf7ec;outline:none}.detail-panel .field input:focus,.detail-panel .field textarea:focus{background:#fff;border-color:#c9b07f}.detail-panel .close{font-size:12px;padding:4px 10px;border-radius:5px;color:#888066}.detail-panel .close:hover{background:#f5efdc}.empty{text-align:center;padding:24px 8px;color:#b8aa84;font-size:12px}.boards-page{padding:20px;max-width:1400px;margin:0 auto}.board-tabs{display:flex;gap:6px;margin-bottom:14px}.board-tabs button{padding:7px 16px;border:1px solid #e8e4d6;background:#fff;border-radius:8px;font-size:13px}.board-tabs button.active{background:#2d2a24;color:#fff;border-color:#2d2a24}.canvas-wrap{position:relative}.board-canvas{position:relative;height:calc(100vh - 220px);background:#fbfaf2;background-image:radial-gradient(circle,#e8e1c6 1px,transparent 1px);background-size:24px 24px;border:1px solid #e8e4d6;border-radius:14px;overflow:auto}.add-card-fab{position:absolute;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#2d2a24;color:#fff;font-size:30px;line-height:1;font-weight:300;box-shadow:0 4px 14px #2d2a2459,0 2px 4px #2d2a2433;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:50;transition:transform .15s,box-shadow .15s}.add-card-fab:hover{transform:scale(1.08);box-shadow:0 6px 18px #2d2a2473,0 2px 6px #2d2a2440}.add-card-fab:active{transform:scale(.95)}.add-card-fab-menu{position:absolute;bottom:92px;right:24px;background:#fff;border:1px solid #e8e4d6;border-radius:12px;box-shadow:0 8px 24px #0000002e;padding:8px;z-index:50;display:flex;flex-direction:column;gap:4px;min-width:180px}.add-card-fab-menu .color-row{display:flex;gap:6px;padding:4px;border-bottom:1px solid #f0ead7;margin-bottom:4px}.add-card-fab-menu .color-row>span{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.1);cursor:pointer;transition:transform .15s}.add-card-fab-menu .color-row>span:hover{transform:scale(1.15)}.add-card-fab-menu .type-btn{padding:8px 12px;border-radius:6px;font-size:13px;text-align:left}.add-card-fab-menu .type-btn:hover{background:#f5efdc}.card{position:absolute;border-radius:10px;padding:12px 14px;box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;transition:box-shadow .15s}.card:hover{box-shadow:0 4px 10px #0000001a,0 2px 4px #0000000f}.card.dragging{box-shadow:0 8px 20px #0000002e;z-index:100;transform:rotate(-1deg)}.card .head{display:flex;gap:6px;align-items:flex-start}.card .check{width:16px;height:16px;border-radius:4px;border:1.5px solid rgba(0,0,0,.4);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.card.done .check{background:#0009;color:#fff}.card .ttl{font-weight:600;flex:1;word-break:break-word;font-size:13.5px;line-height:1.35;cursor:text}.card .body{font-size:12px;margin-top:6px;word-break:break-word;flex:1;min-height:1.2em;white-space:pre-wrap;cursor:text;line-height:1.5}.card .foot{font-size:10px;color:#00000073;margin-top:8px;display:flex;justify-content:space-between;gap:8px}.card .foot>span:last-child{text-align:right}.color-yellow{background:#fdf3a6}.color-pink{background:#ffd0e0}.color-skyblue{background:#c7e8ff}.color-green{background:#c9efc1}.color-orange{background:#ffd6a0}.color-gray{background:#e2e2dc}.card-menu{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 6px 18px #00000026;padding:4px;min-width:150px}.card-menu button{display:block;width:100%;text-align:left;padding:7px 12px;border-radius:4px;font-size:12px}.card-menu button:hover{background:#f5efdc}.color-swatches{display:flex;gap:4px;padding:6px;border-bottom:1px solid #f0ead7;margin-bottom:4px}.color-swatches>span{width:20px;height:20px;border-radius:50%;cursor:pointer;border:1px solid rgba(0,0,0,.1)}.color-swatches>span:hover{transform:scale(1.15)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#28231959;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:14px;padding:26px;min-width:460px;max-width:620px;box-shadow:0 20px 50px #00000040}.modal h2{margin:0 0 14px;font-size:17px}.modal .row{margin-bottom:14px}.modal label{display:block;font-size:12px;color:#8a8369;margin-bottom:4px}.modal input,.modal textarea,.modal select{width:100%;padding:8px 10px;border:1px solid #e8e4d6;border-radius:8px;background:#faf7ec}.modal textarea{min-height:80px;resize:vertical}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.modal .actions button{padding:8px 18px;border-radius:7px;border:1px solid #e8e4d6;background:#fff}.modal .actions button.primary{background:#2d2a24;color:#fff;border-color:#2d2a24}
