:root{--cream:#f8f6ee;--paper:#fffef9;--pink:#f4d7da;--pink-dark:#a85f71;--green:#dce5d4;--green-dark:#55705a;--ink:#494b40;--muted:#888a7b;--line:#dfdfd1;--pixel:#7a8069;--shadow:3px 3px 0 #e6e5d9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:14px;line-height:1.6}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer;color:inherit}button{background:none;border:0}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid var(--pink-dark)}a{color:var(--green-dark)}svg.icon{width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:miter;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-1px;line-height:1.4}h2{font-size:16px;font-weight:700;letter-spacing:-.4px}h3{font-size:14px}.muted{color:var(--muted)}.small{font-size:12px}.label{font-size:10px;letter-spacing:2px;font-family:monospace;font-weight:700}.app-shell{display:grid;grid-template-columns:218px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#f1f1e7;border-right:1px solid var(--line);padding:34px 22px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:#637059}.brand-word{font-family:monospace;font-size:27px;letter-spacing:2px;font-weight:900;text-shadow:2px 2px #dce2ce}.brand .icon{width:31px;height:31px;stroke-width:2.5}.brand-sub{margin:7px 0 35px 3px;color:#92917e;font-size:11px;letter-spacing:1px}.nav-label{font-size:10px;letter-spacing:1.8px;color:#92917e;margin:18px 10px 10px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;font-size:13px;border:1px solid transparent;border-radius:5px;color:#767967}.nav button:hover{background:#e9ecdf}.nav button.active{background:var(--green);border-color:#c5d1bc;color:#4e654c;box-shadow:2px 2px 0 #d1d8c6;font-weight:700}.nav button.active:after{content:'✦';margin-left:auto;color:#829371}.sidebar-note{margin-top:auto;padding:22px 6px 20px;text-align:center;color:#92917e;font-size:11px}.sidebar-note .plant{font-size:25px;margin-bottom:8px}.side-profile{border-top:1px dashed #cecfbd;padding-top:20px;display:flex;align-items:center;gap:10px}.profile-tile{width:34px;height:34px;background:#ead7c3;border:1px solid #b9ab96;display:grid;place-items:center;color:#807257;box-shadow:2px 2px #e0d9cb}.side-profile strong{font-size:12px}.main{min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;color:#81836f;font-size:12px;background:#fbfaf4}.topbar .right{display:flex;align-items:center;gap:14px}.pill{padding:4px 9px;border:1px solid #d4dccb;background:#edf1e7;border-radius:4px;font-size:11px;color:#69755c;white-space:nowrap}.dot{width:6px;height:6px;background:#8da47e;display:inline-block;margin-right:6px}.content{max-width:1350px;margin:auto;padding:32px 38px 26px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{color:#9b9b86;font-size:10px;letter-spacing:2px;font-family:monospace;margin-bottom:6px}.page-head p{font-size:13px;color:var(--muted);margin-top:7px}.date-badge{text-align:right;color:#767b66;font-size:12px}.hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:153px;background:#e8edde;border:1px solid #ccd7bf;border-radius:6px;margin-bottom:25px;padding:25px 30px}.hero h2{font-size:21px;font-weight:600;letter-spacing:-.8px;margin:8px 0}.hero p{font-size:12px;color:#7a846b}.hero .label{color:#8b997e}.hero-art{position:absolute;right:26px;bottom:0;width:270px;height:154px;image-rendering:pixelated}.desk-grid{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:22px}.main-column,.aside-column{display:flex;flex-direction:column;gap:22px}.card{background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center;padding:16px 21px;border-bottom:1px dashed var(--line);gap:12px}.card-head h2{display:flex;align-items:center;gap:9px}.card-head .icon{color:#8a977c;width:18px;height:18px}.card-body{padding:20px}.tag{font-size:10px;padding:3px 7px;border:1px solid #e6ded3;background:#f6f1e8;color:#a09581;border-radius:3px;white-space:nowrap}.text-button{font-size:11px;color:#8a8d79;padding:3px}.text-button:hover{text-decoration:underline}.timer-card{border-color:#c8d2bd}.timer-card .card-head{background:#f1f4e9}.timer-content{text-align:center;padding:25px 18px 20px}.timer-label{font-size:12px;color:#959a87;display:flex;align-items:center;justify-content:center;gap:8px}.timer-number{font-family:monospace;font-size:58px;letter-spacing:4px;line-height:1.4;font-weight:500;color:#657257;font-variant-numeric:tabular-nums;margin:6px 0 16px}.btn{padding:10px 19px;border:1px solid #c8cdba;border-radius:4px;background:#f7f7ee;box-shadow:2px 2px 0 #dedfd0;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600}.btn:hover{filter:brightness(.98);transform:translateY(-1px)}.btn.primary{background:#dfe8d4;border-color:#aebb9c;color:#526946}.btn.pink{background:#f4dfe2;border-color:#d9b9c0;color:#9a6070}.btn .icon{width:15px;height:15px}.timer-actions{display:flex;justify-content:center;gap:12px}.timer-footer{border-top:1px dashed var(--line);padding:13px 22px;font-size:11px;display:flex;justify-content:space-between;color:#939582}.timer-footer strong{color:#687658;font-weight:600}.goal-tabs{display:flex;gap:18px;padding:0 21px;border-bottom:1px solid #eeeee3}.goal-tabs button{padding:13px 0 10px;font-size:12px;color:#969988;border-bottom:2px solid transparent}.goal-tabs button.active{border-color:#ba8792;color:#a36d7a;font-weight:700}.goal-list{padding:7px 21px}.goal-row{display:flex;align-items:center;gap:11px;min-height:47px;border-bottom:1px dashed #e9e8dd}.goal-row:last-child{border-bottom:0}.checkbox{width:17px;height:17px;flex-shrink:0;border:1px solid #c5cbb6;background:#fcfdf6;padding:0;display:grid;place-items:center;font-size:12px;color:#718263}.goal-row.done .checkbox{background:#dce6d3}.goal-row.done span{text-decoration:line-through;color:#a3a593}.goal-row span{font-size:12px;flex:1;overflow-wrap:anywhere}.delete{color:#a49a8d;opacity:.6;font-size:17px;padding:0 5px}.goal-add{margin:7px 21px 18px;display:flex;gap:8px}.goal-add input{background:#faf9f2;border:1px dashed #d7d9c8;border-radius:3px;min-width:0;flex:1;padding:9px 11px;font-size:12px}.goal-add button{border:1px solid #d8dbca;border-radius:3px;width:34px;font-size:18px;color:#87947a}.attendance{text-align:center;background:#fffaf7}.attendance .card-head{background:#fbf0ef}.stamp{width:103px;height:103px;border:2px dashed #d9a7b0;outline:1px solid #ebc5ca;outline-offset:4px;margin:27px auto 19px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-7deg);color:#bd8c98;background:#fff8f5;border-radius:50%}.stamp .icon{height:31px;width:31px;margin-bottom:2px}.stamp strong{font-size:13px;letter-spacing:2px}.stamp small{font-size:8px;letter-spacing:2px;margin-top:3px}.stamp.checked{background:#f6dfe3;color:#a96477;border-color:#b87d8c}.attendance .btn{margin:8px 0 13px;min-width:175px}.attendance p{font-size:11px;color:#a08f8c}.attendance .card-body{padding:0 18px 19px}.attendance .note{font-size:10px;color:#aaa196;margin-top:6px}.member-row{display:flex;align-items:center;gap:10px;padding:12px 0}.member-row+.member-row{border-top:1px dashed var(--line)}.member-row .profile-tile{background:#e9e4d4}.member-row strong{font-size:12px}.member-row p{font-size:10px;color:#949484;margin-top:1px}.member-row .status-dot{margin-left:auto;width:7px;height:7px;background:#c9cbbd}.member-row .status-dot.on{background:#9caf8c}.empty-room{background:#f6f5ed;border:1px dashed #dcdccf;padding:14px 12px;text-align:center;color:#a09e8d;font-size:11px;line-height:1.9;margin-top:9px}.room-footer{font-size:10px;color:#9b9c8b;text-align:center;padding:10px;border-top:1px dashed var(--line)}.sticky-note{position:relative;background:#f3edd6;border:1px solid #e4dcc3;padding:22px 21px 18px;transform:rotate(-1.5deg);box-shadow:2px 3px #e9e5d5;color:#958764;margin:3px 5px}.sticky-note:before{content:'';position:absolute;top:-7px;left:calc(50% - 23px);width:46px;height:15px;background:#d9dfc4a8;transform:rotate(3deg)}.sticky-note p{font-size:12px;line-height:1.9}.sticky-note .label{font-size:9px;color:#b3a780;margin-bottom:8px}.journal-form{padding:19px 21px}.journal-form label{display:block;font-size:12px;margin-bottom:8px;color:#8f8a7b}.journal-form textarea{display:block;width:100%;min-height:94px;resize:vertical;border:1px solid #e1dfd0;border-radius:3px;padding:11px 13px;background:repeating-linear-gradient(#fffef9,#fffef9 27px,#f1eee3 28px);line-height:28px;font-size:12px;color:var(--ink);margin-bottom:17px}.journal-form input{width:100%;border:1px solid #e1dfd0;background:#fbfaf3;border-radius:3px;padding:10px 12px;font-size:12px}.form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px;gap:8px}.form-footer small{color:#a29d90;font-size:10px}.footer{display:flex;justify-content:space-between;margin-top:29px;font-size:10px;color:#a8a694}.footer .label{font-size:9px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-toolbar button{padding:9px 16px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.weekday{padding:10px;text-align:center;background:#eef1e6;font-size:11px;color:#7d876d}.day{min-height:105px;padding:11px;text-align:left;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffef8;display:flex;flex-direction:column;gap:7px;align-items:flex-start;font-size:12px}.day:hover{background:#f6f0e7}.day.today{background:#f9eeef}.day.selected{outline:2px solid #b28a92;outline-offset:-3px}.day.blank{background:#f6f5ee}.day small{font-size:10px;color:#7e8b6b}.day .mini-stamp{color:#b67887;font-size:13px}.detail{margin-top:20px;background:#faf9f2;padding:20px;border:1px dashed var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.detail p{margin-top:8px;font-size:13px}.settings-form{padding:23px;max-width:720px}.field{margin-bottom:20px}.field label{display:block;font-size:12px;margin-bottom:7px}.field input{width:100%;padding:11px;border:1px solid var(--line);background:#fffef9;border-radius:4px}.switch-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px dashed var(--line);gap:20px}.switch-row label{font-size:13px;cursor:pointer}.switch-row p{font-size:11px;color:var(--muted);margin-top:4px}.switch-row input{accent-color:#819977;width:19px;height:19px}.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.member-card{padding:22px}.member-card .member-row{padding-top:0}.member-detail{margin-top:15px;font-size:12px;border-top:1px dashed var(--line);padding-top:15px;white-space:pre-wrap;overflow-wrap:anywhere}.member-detail p{margin-top:5px}.login-wrap{min-height:100vh;display:grid;place-items:center;background-image:radial-gradient(#d8dccc 1px,transparent 1px);background-size:18px 18px;padding:20px}.login-card{width:440px;max-width:100%;background:var(--paper);border:1px solid var(--line);box-shadow:5px 5px #e1e4d4;padding:35px;border-radius:7px}.login-card .brand{justify-content:center}.login-card h1{font-size:21px;text-align:center;margin:24px 0 8px}.login-card>p{text-align:center;font-size:12px;color:var(--muted);margin-bottom:24px}.login-card .btn{width:100%}.login-card .text-button{display:block;margin:14px auto}.demo-banner{background:#f4e9db;font-size:11px;color:#957e62;padding:9px 15px;border-bottom:1px solid #e5d7c3;text-align:center}.empty{padding:25px;text-align:center;color:var(--muted);font-size:12px}.admin-list{padding:20px}.admin-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);flex-wrap:wrap}.admin-row span{flex:1;overflow-wrap:anywhere;font-size:12px}.invite-link{display:block;width:100%;padding:10px;background:#f3f4eb;border:1px dashed var(--line);color:#6c795e;font-size:11px;overflow-wrap:anywhere}.notice{padding:15px 20px;border:1px dashed #d7d9c7;background:#f0f3e7;color:#848a74;font-size:12px;margin-bottom:20px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);padding:12px 22px;background:#53624e;color:#fff;border:1px solid #43543e;box-shadow:3px 3px #b2bba3;border-radius:4px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.save-indicator{font-size:10px;color:#8a957d}.history-row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:11px;font-size:12px}.page-card{margin-bottom:22px}::placeholder{color:#aba99a}input,textarea{color:var(--ink)}@media(min-width:1500px){.content{padding-top:40px}.desk-grid{grid-template-columns:minmax(0,1fr) 320px}.timer-content{padding:30px 20px}.timer-number{font-size:66px}}@media(max-width:1100px){.app-shell{grid-template-columns:180px 1fr}.sidebar{padding:28px 13px}.content{padding:25px 24px}.topbar{padding:0 24px}.desk-grid{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.hero-art{right:0;width:230px;opacity:.8}.hero h2{font-size:18px}.hero{padding:22px}.hero>div{z-index:1}.hero p{max-width:260px}.brand-word{font-size:23px}.timer-number{font-size:49px}.card-head{padding:15px}.timer-footer{padding:12px 15px}}@media(max-width:850px){.app-shell{grid-template-columns:75px 1fr}.sidebar{padding:24px 10px}.brand-word,.brand-sub,.nav-label,.nav button span,.side-profile,.sidebar-note{display:none}.brand{justify-content:center;margin-bottom:25px}.nav button{justify-content:center;padding:13px}.nav button.active:after{display:none}.nav{margin-bottom:20px}.desk-grid{grid-template-columns:1fr}.aside-column{display:grid;grid-template-columns:1fr 1fr}.sticky-note{display:none}.hero-art{width:220px}.hero{min-height:150px}.day{min-height:85px}.member-grid{grid-template-columns:1fr}}@media(max-width:560px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:12px 15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);border-right:0}.sidebar>.brand{margin:0}.nav{flex-direction:row;gap:3px;margin:0}.nav button{padding:9px}.nav.secondary{display:none}.topbar{height:46px;padding:0 17px;font-size:10px}.topbar .right{gap:7px}.content{padding:22px 17px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.date-badge{font-size:10px}.hero{padding:20px;min-height:165px}.hero h2{font-size:17px;max-width:185px}.hero p{max-width:165px;font-size:11px}.hero-art{width:160px;right:-24px;opacity:.7}.hero .label{font-size:8px}.aside-column{display:flex}.timer-number{font-size:49px}.timer-footer{font-size:10px}.footer{gap:12px}.footer>span:last-child{display:none}.calendar .day{min-height:75px;padding:6px;font-size:11px}.day small{font-size:8px}.calendar .weekday{padding:7px 2px}.card-body{padding:12px}.form-footer small{max-width:170px}.demo-banner{font-size:10px}.login-card{padding:28px 23px}}
@media(max-width:560px){.sidebar{gap:4px;padding:10px}.nav.secondary{display:flex;gap:0;margin:0}.nav{gap:0}.nav button{padding:8px}.sidebar>.brand .icon{width:25px;height:25px}.sidebar{flex-wrap:wrap}.date-badge{max-width:105px}}
/* Strawberry milk theme: soft surfaces, generous rounded corners. */
:root{--cream:#fff4f6;--paper:#fffafb;--pink:#f8dce5;--pink-dark:#a65f7b;--green:#f8dce5;--green-dark:#995b78;--ink:#624c59;--muted:#9b7e8b;--line:#eed6df;--pixel:#aa7089;--shadow:0 5px 18px #a8627c0a}
.sidebar{background:#fce7ee;border-color:#efd3df}.brand{color:#ab6f8b}.brand-word{text-shadow:2px 2px #f7d4e1}.brand-sub,.nav-label,.sidebar-note{color:#a98496}.nav button{color:#96758a;border-radius:15px}.nav button:hover{background:#f9dce7}.nav button.active{background:#f6cfdf;border-color:#edbed1;color:#8b4e6c;box-shadow:0 3px 9px #c37c9910}.nav button.active:after{color:#b57895}.topbar{background:#fff8fa;color:#9b7b8e}.pill{background:#ffedf3;border-color:#eecbd9;color:#9c6680;border-radius:20px}.dot{background:#c991a7}.page-head p,.date-badge{color:#9a7e8c}.eyebrow{color:#b48b9d}.hero{background:#fce1eb;border-color:#f0ccdb;border-radius:24px}.hero .label{color:#ba8a9f}.hero p{color:#a47a90}.card{border-radius:22px}.card-head{background:#fff2f7;border-color:#edd5df}.card-head .icon{color:#bb879f}.tag{border-radius:20px;background:#fff6f9;border-color:#efd9e2;color:#ae8498}.btn{border-radius:14px;border-color:#e6c7d5;background:#fff3f8;color:#9d6681;box-shadow:0 3px 7px #c6809d0a}.btn.primary,.btn.pink{background:#f6d3e2;border-color:#e8b6cd;color:#915471}.timer-card{border-color:#eecddc}.timer-card .card-head{background:#fbe6ee}.timer-label{color:#ac8396}.timer-number{color:#b77893}.timer-footer{color:#ab8798}.timer-footer strong{color:#a76a85}.goal-tabs{border-color:#f4e2e9}.goal-tabs button{color:#ad8a9c}.goal-tabs button.active{color:#a66583;border-color:#d59bb5}.goal-row{border-color:#f0dfe6}.checkbox{border-color:#dcb7c9;border-radius:6px;background:#fff6fa;color:#ab6d8c}.goal-row.done .checkbox{background:#f1d0df}.goal-row.done span{color:#b79aa9}.goal-add input{background:#fff5f9;border-color:#e8cbd8;border-radius:12px}.goal-add button{border-color:#e8cbd8;border-radius:11px;color:#b7829b}.attendance{background:#fff8fb}.attendance .card-head{background:#fbe6ef}.stamp{background:#fff3f8}.profile-tile,.member-row .profile-tile{border-radius:12px;background:#fae0eb;border-color:#e5c0d0;color:#b48097;box-shadow:none}.side-profile{border-color:#e4bfd0}.empty-room{background:#fff1f7;border-color:#ebcddc;border-radius:15px;color:#a78193}.member-row .status-dot{background:#dbc6d0}.member-row .status-dot.on{background:#c1809d}.room-footer{color:#ae8a9d}.sticky-note{background:#fce4ed;border-color:#f0ccd9;border-radius:15px;color:#a4788d;box-shadow:0 4px 12px #c9809c10}.sticky-note:before{background:#ebc2d4aa;border-radius:3px}.sticky-note .label{color:#c193a7}.journal-form textarea,.journal-form input{border-radius:13px;border-color:#edd4df;background:#fffafd}.journal-form textarea{background:repeating-linear-gradient(#fffafd,#fffafd 27px,#f8eaf0 28px)}.journal-form label{color:#a57c90}.field input{border-radius:13px;background:#fffafd}.switch-row{border-color:#ecd3de}.switch-row input{accent-color:#c78ea9}.notice{background:#fbe8f0;border-color:#edccd9;color:#a5748e;border-radius:16px}.calendar{border-radius:15px;overflow:hidden;border-color:#efd8e2}.weekday{background:#f9e3ec;color:#a5788f}.day{background:#fffafd}.day:hover{background:#fcebf2}.day.today{background:#f8dfe9}.day.selected{outline-color:#cf98b1}.day.blank{background:#fcf0f5}.day small{color:#af8498}.detail{background:#fff2f7;border-radius:15px}.login-wrap{background-image:radial-gradient(#f0cddc 1px,transparent 1px)}.login-card{border-radius:25px;box-shadow:0 12px 45px #cb8aa120}.demo-banner{background:#fae3ed;border-color:#efccd9;color:#aa7c91}.footer{color:#bd98a9}#toast{background:#a66a88;border-color:#965d79;box-shadow:0 5px 20px #b37a9640;border-radius:16px}.save-indicator{color:#a67b91}.text-button{color:#a77e93}.journal-form .form-footer small{color:#ac8799}.timer-footer .icon{width:14px;height:14px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.writing-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:24px;align-items:start}.writing-card{min-width:0}.writing-card .card-head{padding:18px 25px}.memo-heading{padding:26px 30px 14px}.memo-heading input{display:block;width:100%;font-size:20px;font-weight:600;border:0;background:transparent;padding:0 0 13px;outline-offset:7px;color:#886378}.memo-paper-label{font-size:9px;letter-spacing:2.2px;color:#c69eb1}.writing-card textarea{display:block;width:100%;height:clamp(440px,58vh,800px);min-height:330px;resize:vertical;padding:18px 30px 30px;border:0;outline-offset:-5px;font-size:15px;line-height:2.1;letter-spacing:.2px;background:#fffafb;color:#695361;border-radius:0;tab-size:4}.writing-card textarea::placeholder{color:#c2a3b2}.memo-bottom{padding:18px 25px 20px;background:#fff3f8;border-top:1px dashed #eacbd9}.character-count{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:11px;color:#b0869b}.character-count strong{font-size:21px;color:#a86483;font-variant-numeric:tabular-nums}.character-count #count-without{font-weight:600;font-size:14px}.count-divider{margin:0 4px;color:#d7b8c7}.character-count small{margin-left:auto;font-size:10px;color:#b794a5}.memo-save-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.writing-side{display:flex;flex-direction:column;gap:22px;position:sticky;top:22px}.presence-intro{font-size:12px;color:#b08499;margin-bottom:8px}.presence-card .card-head{padding:16px}.presence-card .card-head h2{font-size:14px}.presence-card .pill{font-size:10px;padding:3px 7px}.presence-card .member-row>div:nth-child(2){min-width:0;flex:1}.writer-message{overflow-wrap:anywhere}.presence-card .member-row p{color:#b08c9d}.presence-card .member-row .status-dot{flex-shrink:0}.writing-side .timer-number{font-size:34px;letter-spacing:2px}.writing-side .timer-label{font-size:10px}.writing-side .timer-actions{gap:7px;flex-wrap:wrap}.writing-side .timer-actions .btn{padding:9px 12px;font-size:11px}.writing-side .timer-card .tag{display:none}.writing-side .timer-footer{flex-direction:column;gap:5px}.memo-tip{text-align:center;font-size:11px;line-height:1.9;color:#b38da0;padding:0 13px}
@media(max-width:1100px){.writing-layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.memo-heading{padding:23px 22px 12px}.writing-card textarea{padding:15px 22px}.memo-heading input{font-size:17px}.memo-bottom{padding:16px}.presence-card .card-head{flex-wrap:wrap;gap:6px}}
@media(max-width:850px){.writing-layout{grid-template-columns:1fr}.writing-side{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:start}.memo-tip{grid-column:1/-1}.writing-card textarea{height:480px}.hero{border-radius:22px}}
@media(max-width:560px){.writing-side{display:flex}.memo-save-row{align-items:flex-start}.memo-save-row .btn{white-space:nowrap}.character-count small{width:100%;margin-left:0}.writing-card textarea{height:450px}.card{border-radius:20px}.sidebar{justify-content:flex-start}.sidebar>.nav{flex:1}.sidebar .nav.secondary{flex:0}.sidebar .nav button{padding:7px}.memo-heading input{font-size:16px}.memo-save-row .save-indicator{max-width:170px}}
/* A strawberry-milk ring diary, with stitched bookmark navigation. */
body{background-color:#f7e2eb;background-image:linear-gradient(#fff5f74d 1px,transparent 1px),linear-gradient(90deg,#fff5f74d 1px,transparent 1px);background-size:20px 20px}.app-shell{grid-template-columns:222px minmax(0,1fr);padding:22px 25px 22px 0;gap:0}.main{position:relative;background:#fffaf9;border:1px solid #e7c9d3;border-radius:23px 28px 28px 23px;box-shadow:5px 5px 0 #fdf2f4,6px 6px 0 #e9cfd8,10px 10px 0 #faedf1,11px 11px 0 #e7cbd5,0 14px 30px #be8ba31a}.main:after{content:'';position:absolute;inset:0 auto 0 23px;border-left:1px solid #f1d9e1;pointer-events:none}.topbar{border-radius:23px 28px 0 0;background:#fff9fa;padding-left:44px}.content{background-image:radial-gradient(#ead7df88 .7px,transparent .7px);background-size:16px 16px;padding-left:44px}.sidebar{background:transparent;border:0;padding:15px 19px 22px 20px;top:22px;height:calc(100vh - 44px);z-index:2}.brand{gap:2px;justify-content:center}.brand>.icon{display:none}.brand-word{display:block;line-height:1}.brand-word img{display:block;max-width:100%;height:auto}.brand-sub{text-align:center;font-size:10px;letter-spacing:.5px;margin:5px 0 29px}.nav-label{font-size:9px;letter-spacing:1.2px;color:#b68c9f;margin:18px 3px 12px}.nav{gap:11px}.nav button{position:relative;min-height:47px;margin-left:6px;margin-right:-20px;padding:12px 28px 12px 16px;background:#f5d3e1;border:1px solid #e5b9cc;border-radius:15px 4px 4px 15px;box-shadow:-2px 3px 0 #c58a9e12;color:#94657d;font-size:12px;transition:margin .18s,background .18s}.nav button:before{content:'';position:absolute;inset:5px 8px 5px 5px;border:1px dashed #fff8fbc9;border-radius:11px 2px 2px 11px;pointer-events:none}.nav button:nth-child(2){background:#f2dbe9}.nav button:nth-child(3){background:#f8e1d9}.nav button:nth-child(4){background:#e9e0ed}.nav button:nth-child(5){background:#f4dce2}.nav button:hover{margin-left:0;background:#f0c5d8}.nav button.active{margin-left:0;margin-right:-29px;background:#eeb8ce;border-color:#dba2bb;box-shadow:-2px 4px 0 #bb79951a;color:#85485f}.nav button.active:after{content:'♡';font-size:16px;position:absolute;right:21px;color:#a35c7b}.nav button span{position:relative;z-index:1}.nav.secondary button{background:#f4e1ea}.nav.secondary button.active{background:#eeb8ce}.diary-binding{position:absolute;left:-12px;top:175px;display:flex;flex-direction:column;gap:88px;z-index:3;pointer-events:none}.diary-binding i{display:block;width:30px;height:13px;border-radius:9px;background:linear-gradient(#d4bcc7,#fffafd 40%,#e0cbd4 65%,#b99eaa);border:1px solid #c5a8b6;box-shadow:1px 2px 2px #936b7833}.sidebar-note{font-size:11px;line-height:1.9}.side-profile{background:#fff4f87a;border:1px dashed #dfbacd;border-radius:16px;padding:12px 9px}.side-profile .small{font-size:9px}.hero{position:relative;background:#fce9ee;border:1px solid #ebcdd9;box-shadow:0 4px 0 #f3e3e8;border-radius:17px;overflow:visible;margin-top:8px}.hero:before{content:'';position:absolute;width:83px;height:21px;top:-11px;left:32px;background:repeating-linear-gradient(45deg,#f0c8d6aa,#f0c8d6aa 5px,#f8dae4bb 5px,#f8dae4bb 10px);transform:rotate(-5deg);border-left:2px dotted #fff2f8;border-right:2px dotted #fff2f8}.card{border-radius:18px;border-color:#ead6db;box-shadow:2px 4px 0 #f3e5e9}.card-head{background:#fff5f7;border-bottom:1px dashed #e8cbd6}.card-head h2{font-size:15px}.card-head h2 .icon{transform:rotate(-6deg)}.writing-card textarea{background:repeating-linear-gradient(#fffafb,#fffafb 30.5px,#f4e5ec 31.5px);background-origin:content-box}.journal-form textarea{border-radius:11px}.memo-paper-label{letter-spacing:2px}.memo-bottom{background:#fff3f6}.attendance{background:#fff9fb}.attendance .card-head{background:#fbe8f0}.stamp{position:relative;border-radius:29% 35% 31% 36%;width:142px;height:151px;outline:0;border:1px dashed #e4b9c9;background:#fff2f7;transform:rotate(-6deg);margin:23px auto 18px;box-shadow:4px 4px 0 #f3dfe7}.flower-stamp{width:91px;height:82px;display:block;margin:-3px 0 3px;filter:saturate(.75);opacity:.85}.stamp strong{font-family:'Arial Rounded MT Bold','Hiragino Maru Gothic ProN',sans-serif;font-size:14px;letter-spacing:.3px;color:#b57390}.stamp small{font-size:8px;letter-spacing:1.6px;color:#ba8b9f}.stamp.checked{background:#fbe3ec;border:2px dashed #cd91a9;transform:rotate(-9deg)}.stamp.checked .flower-stamp{filter:none;opacity:1}.stamp.checked:after{content:'♡';position:absolute;right:-10px;top:-15px;color:#c37c9a;font-size:29px;transform:rotate(18deg)}.attendance p{color:#aa8094}.attendance .note{color:#b699a6}.sticky-note{transform:rotate(2deg);border-radius:3px 3px 22px 3px}.login-card .brand-word img{width:185px}.login-card{background:#fffaf9}.page-head h1{font-weight:650}.calendar{border-radius:12px}.demo-banner{background:#faedf2;color:#b1889c;font-size:10px}
@media(max-width:1100px){.app-shell{grid-template-columns:192px minmax(0,1fr);padding-right:20px}.sidebar{padding-left:14px;padding-right:17px}.brand-word img{width:151px}.content{padding-left:35px;padding-right:24px}.topbar{padding-left:35px}.nav button{font-size:11px;padding-left:12px;gap:8px}.hero h2{font-size:17px}.diary-binding{left:-10px}.diary-binding i{width:25px}}
@media(max-width:850px){.app-shell{grid-template-columns:89px minmax(0,1fr);padding:14px 16px 17px 0}.sidebar{top:14px;height:calc(100vh - 28px);padding:10px 13px 15px 8px}.brand-word{display:block}.brand-word img{width:69px}.sidebar .brand{margin-bottom:29px}.nav{gap:12px}.nav button{margin-left:7px;margin-right:-14px;padding:12px 16px 12px 11px;min-height:47px;border-radius:12px 3px 3px 12px}.nav button.active{margin-right:-23px}.nav button.active:after{display:none}.nav.secondary{margin-top:22px}.content{padding-left:30px;padding-right:20px}.topbar{padding-left:30px;padding-right:15px}.main:after{left:17px}.diary-binding{top:128px;gap:95px}.diary-binding i{width:23px;height:11px}.hero{overflow:hidden}.hero:before{top:0}.main{border-radius:19px}.topbar{border-radius:19px 19px 0 0}}
@media(max-width:560px){.app-shell{display:grid;grid-template-columns:57px minmax(0,1fr);padding:9px 9px 13px 0}.sidebar{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;flex-wrap:nowrap;position:sticky;top:9px;height:calc(100vh - 18px);width:auto;padding:12px 7px 10px 4px;gap:0}.sidebar .brand{margin-bottom:25px}.brand-word img{width:46px}.sidebar>.nav{flex:0;flex-direction:column;gap:10px}.sidebar .nav.secondary{margin-top:22px;flex-direction:column;gap:10px}.sidebar .nav button{padding:10px 8px;min-height:41px;margin-left:5px;margin-right:-8px;justify-content:center;border-radius:10px 2px 2px 10px}.sidebar .nav button.active{margin-left:0;margin-right:-15px}.sidebar .nav button .icon{width:17px;height:17px}.nav button:before{inset:4px;border-radius:7px 1px 1px 7px}.content{padding:23px 12px 18px 20px}.main:after{left:11px}.diary-binding{left:-6px;top:118px;gap:100px}.diary-binding i{width:15px;height:9px}.topbar{padding:9px 12px 9px 20px;height:auto;min-height:48px;gap:8px;flex-wrap:wrap}.topbar .right{margin-left:auto}.page-head{gap:10px;flex-wrap:wrap}.page-head h1{font-size:21px}.date-badge{max-width:none;text-align:left;font-size:10px}.date-badge br,.date-badge .small{display:none}.page-head p{font-size:11px}.hero{padding:21px 17px;min-height:156px}.hero-art{opacity:.4;width:145px}.hero h2{font-size:16px}.hero p{font-size:10px;max-width:155px}.timer-number{font-size:36px;letter-spacing:2px}.timer-footer{flex-direction:column;gap:5px}.card-head{padding:14px 12px}.card-head h2{font-size:13px}.card-head .tag{font-size:9px}.goal-tabs,.goal-list{padding-left:14px;padding-right:14px}.goal-add{margin-left:14px;margin-right:14px}.journal-form{padding:16px 14px}.form-footer{flex-wrap:wrap}.memo-heading{padding:20px 16px 10px}.memo-heading input{font-size:14px}.writing-card textarea{padding:16px;font-size:14px}.writing-card .card-head{padding:15px}.memo-save-row{flex-wrap:wrap}.memo-save-row .btn{margin-left:auto}.demo-banner{font-size:9px;padding:7px 13px}.calendar .day{min-height:67px;padding:4px}.day .mini-stamp{font-size:10px}.weekday{font-size:10px}}
@media(prefers-reduced-motion:reduce){.nav button{transition:none}}
.memo-navigation{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px}.memo-navigation .pill{padding:1px 7px}.memo-navigation>.small{font-size:11px}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.archive-search{display:flex;align-items:center;gap:13px;margin-bottom:24px}.archive-search label{font-size:12px;color:#a77891;white-space:nowrap}.archive-search input{width:100%;max-width:470px;border:1px solid #e9cad8;border-radius:13px;background:#fff8fb;padding:11px 15px;font-size:12px}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.archive-note{position:relative;text-align:left;display:flex;flex-direction:column;align-items:flex-start;background:#fffbfa;border:1px solid #ead0da;border-radius:5px 17px 17px 17px;box-shadow:3px 4px 0 #f4e4ea;padding:23px 20px 18px;min-height:226px;overflow-wrap:anywhere;transition:transform .15s}.archive-note:before{content:'';position:absolute;top:-7px;left:23px;width:46px;height:15px;background:#edc9d9ad;transform:rotate(-4deg)}.archive-note:nth-child(3n+2){background:#fff8fc}.archive-note:nth-child(3n+3){background:#fffaf5}.archive-note:hover{transform:translateY(-3px);border-color:#ce91ad}.archive-note.selected{outline:2px solid #d49bb5;outline-offset:3px}.archive-note-icon{color:#bf8ba2;margin-bottom:10px}.archive-note h3{font-size:15px;color:#916179;margin-bottom:9px}.archive-note p{font-size:12px;color:#a38494;line-height:1.9;margin-bottom:19px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.archive-note-meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:5px 12px;color:#b58c9f;font-size:10px}.archive-open{font-size:11px;color:#b27a96;margin-top:14px}.archive-reader{margin-bottom:30px;scroll-margin-top:20px}.archive-reader-heading{padding:25px 28px 10px}.archive-reader-heading h2{font-size:21px;overflow-wrap:anywhere}.archive-reader-heading p{font-size:11px;color:#b38a9e;margin-top:8px}.archive-reader-body{padding:22px 28px 30px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:2;font-size:14px;max-height:65vh;overflow-y:auto;background:repeating-linear-gradient(#fffafb,#fffafb 27px,#f3e4eb 28px);background-origin:content-box}.archive-reader-footer{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-top:1px dashed var(--line);gap:12px;flex-wrap:wrap;background:#fff2f7}.archive-reader-footer>.small{font-size:11px}.archive-empty{grid-column:1/-1;padding:60px 20px;border:1px dashed #e5c4d4;border-radius:20px;background:#fff8fb}.archive-empty>.icon{width:36px;height:36px;margin-bottom:17px;color:#bf8ba2}.archive-empty h3{margin-bottom:8px}.archive-footnote{text-align:center;font-size:11px;color:#b68d9f;line-height:1.9;margin-top:25px}.nav button:nth-child(6){background:#f4dce2}@media(max-width:1100px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.archive-grid{grid-template-columns:1fr}.archive-search{align-items:flex-start;flex-direction:column;gap:6px}.memo-navigation{gap:9px}.memo-navigation .btn{padding:9px 12px;font-size:11px}.archive-reader-heading{padding:20px 17px 8px}.archive-reader-body{padding:17px;font-size:13px}.archive-reader-heading h2{font-size:18px}.archive-reader-footer{padding:16px}.archive-toolbar .btn{font-size:11px}.archive-reader-footer .btn{margin-left:auto}}@media(prefers-reduced-motion:reduce){.archive-note{transition:none}}
.attendance-admin{margin-bottom:30px}.attendance-controls{display:flex;align-items:center;gap:12px;padding:18px 22px;flex-wrap:wrap}.attendance-controls label{font-size:12px;color:#a3758d}.attendance-controls input{padding:9px 12px;border:1px solid #e4bed1;background:#fff8fc;border-radius:12px;color:#89566f}.attendance-help{font-size:11px;color:#ab8396;padding:0 22px 17px;line-height:1.9}.attendance-table-wrap{overflow-x:auto;margin:0 20px 17px;border:1px solid #eed6e1;border-radius:12px}.attendance-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;text-align:center;white-space:nowrap}.attendance-table caption{text-align:left;padding:13px;font-size:12px;background:#fff4f9;color:#a6748f}.attendance-table th,.attendance-table td{padding:10px 8px;min-width:34px;border-bottom:1px solid #f3e1e9;border-right:1px solid #f5e6ec}.attendance-table thead{background:#fceaf2;color:#b17893}.attendance-table th:first-child{position:sticky;left:0;background:#fff4f8;z-index:1;min-width:100px;text-align:left;padding-left:13px}.attendance-table th:nth-child(2){min-width:65px}.attendance-table tbody tr:last-child>*{border-bottom:0}.attendance-table .attendance-today{background:#fff0f6}.attendance-flower{font-size:21px;color:#c87e9f;cursor:help;display:inline-block}.attendance-flower:focus{outline:2px solid #b77f99;border-radius:7px}
