@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Yomogi&display=swap";:root{font-family:DM Sans,Noto Sans JP,sans-serif;color:#29261f;background:#f4efe5;font-synthesis:none;--ink: #29261f;--muted: #817b70;--line: rgba(72, 61, 43, .12);--accent: #ee735a}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;min-height:100dvh;overflow:hidden;background:#f4efe5}button,textarea,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:100vh;height:100dvh}.board-toolbar{position:relative;z-index:19;display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);align-items:center;min-height:57px;padding:7px clamp(22px,4vw,64px);background:#faf7f0e6;border-bottom:1px solid var(--line)}.project-controls{display:flex;align-items:center;gap:6px;min-width:0}.project-icon{display:grid;place-items:center;width:31px;height:31px;flex:none;border-radius:8px;color:#5c736a;background:#e1eee8;font-size:15px}.project-controls select{width:min(230px,100%);height:38px;padding:0 34px 0 11px;border:1px solid rgba(72,61,43,.16);border-radius:9px;outline:none;color:#403b33;background:#fffdf8;font-size:14px;font-weight:600;cursor:pointer}.project-controls select:focus-visible{border-color:#2a749d8c;box-shadow:0 0 0 3px #2a749d1f}.project-action{display:grid;place-items:center;width:34px;height:34px;flex:none;padding:0;border:0;border-radius:8px;color:#6f695e;background:transparent;font-size:18px;cursor:pointer}.project-action:hover{color:#343129;background:#eee8dd}.project-action.danger:hover{color:#9b3527;background:#f5dfda}.project-action:disabled{opacity:.3;cursor:not-allowed}.status-tabs{grid-column:2;display:flex;align-items:center;justify-content:center;gap:5px;padding:0}.status-tab{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 15px;border:0;border-radius:9px;color:#746e63;background:transparent;font-size:14px;font-weight:600;cursor:pointer;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.status-tab:hover{color:#3f3a32;background:#ffffffa8}.status-tab.is-active{color:#37332c;background:#fffdf8;box-shadow:0 2px 8px #4237231c}.status-tab span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;color:#756f64;background:#eee7da;font-size:12px;font-variant-numeric:tabular-nums}.topbar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:90px;padding:16px clamp(22px,4vw,64px);background:#faf7f0f0;border-bottom:1px solid var(--line);box-shadow:0 3px 18px #4237230a}.brand{display:flex;align-items:center;gap:14px}.brand h1{margin:0;font-size:clamp(20px,2vw,27px);line-height:1.05;letter-spacing:-.045em}.brand p{margin:6px 0 0;color:var(--muted);font-size:12px;letter-spacing:.03em}.brand-mark{position:relative;width:42px;height:42px;flex:none}.brand-mark span{position:absolute;width:29px;height:29px;border:2px solid rgba(54,48,37,.75);border-radius:3px;box-shadow:2px 3px #36302521}.brand-mark span:nth-child(1){left:1px;top:8px;background:#aad8cb;transform:rotate(-7deg)}.brand-mark span:nth-child(2){right:1px;top:1px;background:#f29a83;transform:rotate(7deg)}.brand-mark span:nth-child(3){left:7px;bottom:0;background:#f4cb64;transform:rotate(1deg)}.topbar-actions{display:flex;align-items:center;gap:24px}.search-box{position:relative;display:flex;align-items:center;width:clamp(210px,29vw,390px);height:44px;margin:0 24px;color:#817b70}.search-box>svg{position:absolute;left:14px;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;pointer-events:none}.search-box input{width:100%;height:100%;padding:0 43px 0 42px;border:1px solid rgba(72,61,43,.16);border-radius:12px;outline:none;color:var(--ink);background:#ffffff9e;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.search-box input.has-result-count{padding-right:105px}.search-box input::placeholder{color:#9a9489}.search-box input:focus{border-color:#3d686975;background:#fffdf9;box-shadow:0 0 0 3px #3d68691a}.search-box input::-webkit-search-cancel-button{display:none}.search-count{position:absolute;right:41px;display:inline-flex;align-items:center;justify-content:center;min-width:49px;height:26px;padding:0 7px;border-radius:7px;color:#514b42;background:#eee7da;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.search-count[hidden]{display:none}.search-clear{position:absolute;right:6px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;color:#777166;background:transparent;font-size:20px;line-height:1;cursor:pointer}.search-clear:hover{background:#eee8dd;color:#403b33}.search-clear[hidden]{display:none}.save-status{display:inline-flex;align-items:center;gap:7px;color:#746f65;font-size:12px;font-weight:600;white-space:nowrap}.save-status span{display:grid;place-items:center;width:19px;height:19px;color:#287761;background:#d8ede6;border-radius:50%;font-size:11px}.save-status.saving span{color:#836b2b;background:#f1e6c4}.add-button,.empty-add-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:0 21px;border:0;border-radius:11px;color:#fffdf8;background:var(--accent);box-shadow:0 6px 14px #c84f3633;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.add-button span:first-child,.empty-add-button span:first-child{font-size:22px;font-weight:400;line-height:1}.add-button:hover,.empty-add-button:hover{background:#e7644b;box-shadow:0 8px 18px #c84f3642;transform:translateY(-1px)}.add-button:active,.empty-add-button:active{transform:translateY(1px)}.add-button:focus-visible,.empty-add-button:focus-visible,.project-action:focus-visible,.status-tab:focus-visible,.search-clear:focus-visible,.complete-button:focus-visible,.color-button:focus-visible,.delete-button:focus-visible,textarea:focus-visible{outline:3px solid rgba(42,116,157,.35);outline-offset:3px}.project-dialog{width:min(430px,calc(100% - 28px));padding:0;border:0;border-radius:18px;color:var(--ink);background:#fffdf8;box-shadow:0 28px 70px #30271952}.project-dialog::backdrop{background:#2d271e66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.project-dialog form{position:relative;padding:30px}.dialog-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;color:#746e63;background:transparent;font-size:21px;cursor:pointer}.dialog-close:hover{background:#eee8dd}.dialog-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border-radius:12px;color:#477060;background:#e1eee8;font-size:20px}.project-dialog h2{margin:0 0 8px;font-size:22px}.project-dialog p{margin:0 0 23px;color:var(--muted);font-size:14px;line-height:1.6}.project-dialog label{display:block;margin-bottom:7px;font-size:14px;font-weight:700}.project-dialog input{width:100%;height:46px;padding:0 13px;border:1px solid rgba(72,61,43,.22);border-radius:10px;outline:none;font-size:16px}.project-dialog input:focus{border-color:#3d68698c;box-shadow:0 0 0 3px #3d68691a}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.dialog-actions button{min-height:42px;padding:0 17px;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer}.dialog-cancel{border:1px solid rgba(72,61,43,.17);color:#5f5a51;background:#fffdf8}.dialog-submit{border:0;color:#fff;background:#4d9175}.board{position:relative;min-height:0;overflow:hidden;background-color:#f4efe5}.board-grid{position:absolute;inset:0;opacity:.56;background-image:linear-gradient(rgba(120,104,77,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(120,104,77,.065) 1px,transparent 1px);background-size:30px 30px}.board:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 34%,rgba(97,80,49,.035) 100%)}.notes-layer{position:absolute;inset:0;z-index:4}.notes-layer:has(.is-dragging){z-index:8}.completion-zone{position:absolute;z-index:6;top:24px;right:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:190px;height:calc(100% - 48px);min-height:180px;padding:22px 15px;border:2px dashed rgba(63,112,92,.3);border-radius:18px;color:#4f665d;background:#e3f0e875;text-align:center;pointer-events:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.completion-zone-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:12px;border:2px solid rgba(63,112,92,.48);border-radius:50%;font-size:25px;font-weight:700}.completion-zone strong{font-family:Yomogi,Noto Sans JP,cursive;font-size:18px}.completion-zone small{margin-top:8px;color:#708078;font-size:12px}.completion-zone.is-drag-over{border-color:#397c62;background:#bee2d0d1;transform:scale(1.02)}.empty-state{position:absolute;z-index:2;top:48%;left:50%;width:min(440px,calc(100% - 32px));text-align:center;transform:translate(-50%,-50%)}.empty-state[hidden]{display:none}.empty-state h2{margin:24px 0 9px;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.035em}.empty-state p{margin:0 0 25px;color:var(--muted);font-size:14px}.empty-illustration{position:relative;width:112px;height:98px;margin:0 auto}.empty-note{position:absolute;display:block;width:77px;height:77px;border:1px solid rgba(62,54,42,.1);box-shadow:0 8px 18px #493b251a}.note-back{right:2px;top:0;background:#afdacc;transform:rotate(9deg)}.note-front{left:4px;bottom:1px;display:flex;flex-direction:column;gap:8px;padding:24px 16px;background:#f5cd67;transform:rotate(-5deg)}.note-front i{display:block;width:100%;height:3px;background:#55472740;border-radius:2px}.note-front i:last-child{width:64%}.search-empty-state{position:absolute;z-index:2;top:48%;left:50%;width:min(420px,calc(100% - 32px));text-align:center;transform:translate(-50%,-50%)}.search-empty-state[hidden]{display:none}.search-empty-state>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border:1px dashed rgba(76,62,36,.25);border-radius:50%;color:#837c70;background:#ffffff57;font-size:34px}.search-empty-state h2{margin:0 0 8px;font-size:22px;letter-spacing:-.025em}.search-empty-state p{margin:0;color:var(--muted);font-size:14px}.sticky-note{position:absolute;left:0;top:0;display:grid;grid-template-rows:45px minmax(0,1fr) 30px;width:240px;height:230px;transform:translate3d(var(--x),var(--y),0) rotate(-.35deg);border:1px solid rgba(63,51,31,.15);border-radius:2px 3px 8px 2px;box-shadow:0 15px 24px #41331c29,1px 2px 2px #41331c1a,inset 0 1px #ffffff52;animation:note-in .28s cubic-bezier(.2,.8,.3,1) both;animation-delay:var(--delay);transition:box-shadow .18s ease,opacity .16s ease,scale .16s ease;touch-action:none}.sticky-note:before{content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;pointer-events:none;background-image:repeating-linear-gradient(7deg,rgba(87,68,34,.018) 0 1px,transparent 1px 4px),repeating-linear-gradient(96deg,rgba(255,255,255,.045) 0 1px,transparent 1px 6px),radial-gradient(circle at 18% 23%,rgba(255,255,255,.22) 0 1px,transparent 1.5px),radial-gradient(circle at 76% 72%,rgba(66,48,21,.045) 0 1px,transparent 1.5px);background-size:auto,auto,17px 19px,23px 21px;mix-blend-mode:soft-light}.sticky-note:after{content:"";position:absolute;right:3px;bottom:-3px;left:8px;height:7px;border-radius:50%;background:#48371e1f;filter:blur(3px);pointer-events:none;z-index:0}.sticky-note>*{position:relative;z-index:1}.sticky-note:nth-child(2n){transform:translate3d(var(--x),var(--y),0) rotate(.4deg)}.sticky-note.is-dragging{z-index:100;scale:1.025;box-shadow:0 22px 38px #41331c3d;cursor:grabbing}.sticky-note.is-removing{opacity:0;scale:.9}.sticky-note.is-completed{filter:saturate(.52);opacity:.76}.sticky-note.is-completed textarea{color:#393d3c9e;text-decoration:line-through;text-decoration-thickness:1.5px}.color-yellow{background:#f5cf6d}.color-pink{background:#f1a2bb}.color-blue{background:#a9d4df}.color-green{background:#a9d8b1}.color-purple{background:#c9b9dc}.note-handle{display:flex;align-items:center;gap:7px;padding:6px 8px 2px 12px;border-bottom:1px dashed rgba(76,62,36,.16);cursor:grab;-webkit-user-select:none;user-select:none}.drag-dots{color:#302a1f6b;font-size:18px;line-height:1}.note-label{color:#322b1f85;font-family:Yomogi,Noto Sans JP,cursive;font-size:13px;letter-spacing:.1em;transform:rotate(-2deg)}.complete-button{display:grid;place-items:center;width:32px;height:32px;margin-left:auto;padding:0;border:1.5px solid rgba(55,45,31,.28);border-radius:50%;color:transparent;background:#ffffff2e;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.complete-button:hover{border-color:#397c62;color:#397c6280;transform:scale(1.06)}.complete-button[aria-pressed=true]{border-color:#397c62;color:#fff;background:#4d9175;box-shadow:0 2px 5px #255d473d}.color-picker{position:relative}.color-button,.delete-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:9px;color:#372d1f85;background:transparent;cursor:pointer;transition:color .15s ease,background .15s ease}.color-button:hover,.color-button[aria-expanded=true]{background:#fff6}.current-color{width:18px;height:18px;border:2px solid rgba(255,255,255,.82);border-radius:50%;box-shadow:0 1px 4px #372d1f47}.color-menu{position:absolute;z-index:120;top:41px;right:-44px;width:154px;padding:7px;border:1px solid rgba(65,51,28,.14);border-radius:12px;background:#fffdf8;box-shadow:0 14px 32px #41331c38}.color-menu[hidden]{display:none}.color-option{display:grid;grid-template-columns:22px 1fr 16px;align-items:center;gap:8px;width:100%;min-height:38px;padding:5px 7px;border:0;border-radius:7px;color:#3b3428;background:transparent;font-size:13px;text-align:left;cursor:pointer}.color-option:hover,.color-option:focus-visible{outline:none;background:#f3eee5}.color-swatch{width:20px;height:20px;border:1px solid rgba(55,45,31,.13);border-radius:50%}.color-check{color:#4a675e;font-weight:700;opacity:0}.color-option.is-selected .color-check{opacity:1}.color-dot-yellow{background:#f5cf6d}.color-dot-pink{background:#f1a2bb}.color-dot-green{background:#a9d8b1}.color-dot-blue{background:#a9d4df}.color-dot-purple{background:#c9b9dc}.delete-button:hover{color:#9b3527;background:#ffffff61}.delete-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sticky-note textarea{width:100%;height:100%;resize:none;padding:9px 17px;border:0;outline:none;color:#2b2f34e0;background:repeating-linear-gradient(to bottom,transparent 0 27px,rgba(76,62,36,.11) 27px 28px);background-position:0 9px;font-family:Yomogi,Noto Sans JP,cursive;font-size:18px;font-weight:400;line-height:28px;letter-spacing:.025em;caret-color:#8c4538;text-shadow:.25px .2px 0 rgba(20,25,30,.24);touch-action:pan-y}.sticky-note textarea::placeholder{color:#3b34286b}.note-footer{display:flex;align-items:center;padding:0 12px 6px 17px;color:#322b1f7a;font-family:Yomogi,Noto Sans JP,cursive;font-size:12px;letter-spacing:.03em}.paper-corner{width:20px;height:20px;margin:0 -8px -5px auto;background:linear-gradient(135deg,transparent 47%,rgba(255,255,255,.58) 48% 64%,rgba(67,51,27,.12) 65% 67%,rgba(255,255,255,.38) 68%);filter:drop-shadow(-2px -2px 1px rgba(74,60,38,.08));border-radius:0 0 6px}.footer{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px clamp(22px,4vw,64px);color:#817b70;background:#faf7f0f5;border-top:1px solid var(--line);font-size:11px}.footer p{display:flex;align-items:center;gap:8px;margin:0}.footer-logo{width:12px;height:12px;background:#f4cb64;border:1px solid rgba(67,57,42,.32);transform:rotate(-4deg)}.hint span{font-size:14px}@keyframes note-in{0%{opacity:0;scale:.86}to{opacity:1;scale:1}}@media(max-width:899px){.board-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px 16px}.status-tabs{grid-column:2}.project-controls select{width:min(190px,38vw)}.completion-zone{inset:auto 16px 14px;flex-direction:row;gap:10px;width:auto;height:66px;min-height:0;padding:9px 14px;border-radius:14px}.completion-zone-icon{width:38px;height:38px;margin:0;font-size:20px}.completion-zone strong{font-size:16px}.completion-zone small{margin:0}}@media(max-width:767px){.topbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:10px 14px;min-height:128px;padding:12px 20px}.brand{gap:11px}.brand-mark{width:36px;height:36px}.brand-mark span{width:25px;height:25px}.brand p{display:none}.topbar-actions{gap:12px}.search-box{grid-column:1 / -1;grid-row:2;width:100%;height:42px;margin:0}.board-toolbar{grid-template-columns:1fr;gap:7px;padding:8px 14px}.project-controls{justify-content:center}.project-controls select{width:min(230px,calc(100vw - 170px))}.status-tabs{grid-column:1;min-height:42px}.status-tab{min-height:36px;padding:0 10px}.add-button{min-width:46px;min-height:46px;padding:0 12px}.add-button span:last-child{display:none}.save-status{font-size:11px}.footer{padding:8px 20px}}@media(max-width:599px){.topbar{min-height:122px;padding:10px 14px}.brand h1{font-size:19px}.brand-mark{width:34px;height:34px}.save-status{width:20px;overflow:hidden;gap:8px}.save-status span{flex:none}.add-button{width:48px;height:48px;padding:0;border-radius:13px}.board-grid{background-size:24px 24px}.empty-state{top:46%}.empty-state h2{margin-top:20px}.sticky-note{width:min(230px,calc(100vw - 32px));height:218px;grid-template-rows:48px minmax(0,1fr) 28px}.complete-button{width:36px;height:36px}.color-button,.delete-button{width:38px;height:40px}.color-menu{top:44px;right:-42px;width:160px}.color-option{min-height:44px;font-size:14px}.sticky-note textarea{padding:9px 15px;font-size:18px}.footer{min-height:40px;padding:7px 14px}.hint{display:none!important}.completion-zone{right:10px;bottom:8px;left:10px;height:58px;padding:7px 10px}.completion-zone small{display:none}.project-action{width:36px;height:36px}.project-dialog form{padding:25px 20px 20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
