:root{color-scheme:light;--ivory:#FCFAF7;--ink:#37363A;--muted:#89828A;--warm:#8B4C37;--good:#F6DFCF;--good-dark:#AA624C;--good-dotted:#D99B82;--bad:#EAE4F2;--bad-dark:#625575;--bad-dotted:#A89AB9;--memo:#E5EDEB;--memo-dark:#506A68;--memo-dotted:#92B0A6;--gold:#C5A57C;--line:#EDE6E0;--paper:#FFFEFC;--shadow:0 10px 28px rgba(99,77,64,.075);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}html{height:100%;background:var(--ivory)}body{margin:0;min-height:100%;color:var(--ink);font-size:15px;line-height:1.6;background:linear-gradient(158deg,#FFFCF8 0%,#FCFAF7 52%,#F9F6F3 100%)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #B39472;outline-offset:3px}input,textarea{font-size:16px}button{-webkit-touch-callout:none}button,textarea,input{touch-action:manipulation}.app-shell{max-width:520px;min-height:100dvh;margin:0 auto;position:relative;background:var(--ivory);overflow:hidden;padding-top:env(safe-area-inset-top,0px);box-shadow:0 0 72px rgba(75,56,44,.035)}.ambient-star{position:absolute;z-index:0;pointer-events:none;color:#E3CDA9;font-size:13px}.ambient-star-a{top:113px;left:21px}.ambient-star-b{top:151px;right:28px;font-size:9px;opacity:.72}.topbar{display:flex;justify-content:space-between;align-items:center;padding:19px 23px 6px;position:relative;z-index:1}.brand{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.15em;color:#776B69;font-weight:560}.brand-icon{font-family:Georgia,serif;color:#B8996C;font-size:25px;line-height:1}.icon-button{display:grid;place-items:center;border:0;background:transparent;color:#8D817C;border-radius:50%;width:44px;height:44px}.icon-button svg{width:20px;height:20px}.icon-button:hover{background:#F6EFE8}.screen{padding:3px 24px 130px;position:relative;z-index:1;animation:appear .23s ease both}@keyframes appear{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hero{text-align:center;margin:13px 0 27px}.hero .hero-star{font-family:Georgia,serif;color:var(--gold);font-size:18px;height:22px}.hero-date{font-size:20px;font-weight:600;letter-spacing:.095em;line-height:1.65}.hero-subtitle{font-size:12px;color:#9C9190;letter-spacing:.11em;margin:1px 0 0}.mood-buttons{display:grid;gap:13px}.mood-card{position:relative;width:100%;text-align:left;padding:25px 19px 24px 22px;min-height:111px;border-radius:22px;border:1px solid rgba(255,255,255,.85);overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-shadow:0 5px 17px rgba(100,77,65,.045);transition:transform .15s ease,box-shadow .15s ease}.mood-card:active{transform:scale(.986)}.mood-card.good{background:linear-gradient(112deg,#FBEBE1 0%,#F4D9C9 100%);color:#6D4943}.mood-card.bad{background:linear-gradient(115deg,#F2EDF6 0%,#E5DDEB 100%);color:#584F68}.mood-card::after{content:'✧';position:absolute;color:rgba(255,255,255,.73);font:18px Georgia,serif;top:15px;right:79px}.mood-card.good::before,.mood-card.bad::before{content:'';position:absolute;inset:-36px -25px auto auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.45),transparent 72%);pointer-events:none}.mood-title{display:block;font-size:21px;line-height:1.5;font-weight:650;letter-spacing:.06em}.mood-subtext{display:block;font-size:11px;letter-spacing:.07em;margin-top:4px}.mood-plus{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.65);box-shadow:0 2px 8px rgba(110,76,69,.045)}.mood-plus svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5}.section-header{display:flex;justify-content:space-between;align-items:center;margin:33px 1px 12px}.section-heading{margin:0;font-size:16px;font-weight:600;letter-spacing:.055em}.sub-count{font-size:12px;color:#8C8180}.entries{display:grid;gap:8px}.entry-row{display:flex;gap:11px;align-items:flex-start;background:#FFFEFC;border:1px solid rgba(236,229,222,.67);padding:12px 12px;border-radius:15px;min-width:0;box-shadow:0 2px 11px rgba(88,73,63,.018);text-align:left;width:100%}.entry-row:active,.history-entry:active{background:#FCF9F4}.entry-dot{width:12px;height:12px;flex:none;display:inline-block;border-radius:50%;margin-top:5px}.entry-dot.good{background:#EEC2AF}.entry-dot.bad{background:#C2B5D0}.entry-copy{flex:1;min-width:0}.entry-line{display:flex;gap:10px;align-items:baseline}.entry-time{font-size:11px;letter-spacing:.02em;color:#948C8D;font-variant-numeric:tabular-nums;flex:none}.entry-text{font-size:13px;color:#565056;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.entry-row .entry-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.copied-chip{margin-left:auto;flex:none;display:grid;place-items:center;color:#A98D61;background:#F4EBDB;border-radius:50%;width:19px;height:19px;align-self:center}.copied-chip svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}.empty-state{border:1px dashed #E9E0D6;color:#978A87;text-align:center;border-radius:18px;padding:30px 20px;background:rgba(255,255,255,.5);font-size:13px}.empty-state .small-star{display:block;color:#C9AC89;font-family:Georgia,serif;font-size:26px;margin-bottom:6px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:calc(72px + env(safe-area-inset-bottom,0px));background:rgba(255,253,250,.97);border-top:1px solid #EFE8DF;display:grid;grid-template-columns:repeat(3,1fr);padding:7px 12px env(safe-area-inset-bottom,0px);box-shadow:0 -8px 20px rgba(90,75,67,.025);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-tab{border:0;background:transparent;color:#9A9290;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:10px;letter-spacing:.08em;border-radius:12px}.nav-tab svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.nav-tab.is-active{color:#B28A55;font-weight:650}.nav-tab:active{background:#F8F0E8}.page-head{text-align:center;margin:20px 0 24px}.page-symbol{display:block;color:var(--gold);font-size:26px;line-height:1.4;margin-bottom:8px}.page-title{margin:0;font-size:21px;font-weight:600;letter-spacing:.085em}.page-description{font-size:12px;color:#998D89;letter-spacing:.035em;margin:5px 0 0}.calendar-bar{display:flex;align-items:center;gap:7px;margin:0 0 17px}.date-nav{border:1px solid #F0E7E0;border-radius:12px;background:white;color:#958782;width:42px;height:45px;font-size:22px;flex:none}.date-nav:disabled{opacity:.3}.date-wrap{position:relative;display:flex;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;padding:10px 9px;background:#FFFEFC;border:1px solid #EFE6DD;border-radius:14px;min-height:45px;font-size:13px;color:#655B5A}.date-wrap label{pointer-events:none}.date-wrap input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.note-summary{display:flex;align-items:center;justify-content:space-between;margin:3px 1px 12px}.summary-text{font-size:12px;color:#8F827C}.pending-pill{font-size:11px;font-weight:650;border-radius:999px;padding:5px 11px;background:#FFF0E6;color:#A66B4F}.pending-banner{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;background:#F8F2EA;border:1px solid #EEE0D0;color:#78624E;border-radius:14px;padding:12px 13px;margin-bottom:15px;font-size:12px;gap:10px}.pending-banner strong{font-weight:650}.pending-banner .right-chevron{font-size:19px;color:#A88765;flex:none}.view-switch{display:flex;align-items:center;gap:8px;margin:0 0 15px}.soft-link{border:0;background:transparent;color:#97785A;text-decoration:underline;text-underline-offset:3px;font-size:12px;padding:6px}.note-group{margin:23px 0 0}.note-group-heading{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;letter-spacing:.025em;margin:0 0 10px}.note-group-heading.good{color:#A0604B}.note-group-heading.bad{color:#665779}.note-group-heading span:nth-child(2){font-size:12px;color:#938985;font-weight:400}.note-item{display:flex;gap:10px;border:1px solid #F0E8E2;background:#FFFEFC;border-radius:15px;padding:14px 13px;margin-bottom:8px;align-items:flex-start}.note-item.good{border-left:3px solid #EAC4B3}.note-item.bad{border-left:3px solid #D2C4DF}.note-item.is-copied{opacity:.65}.note-item.is-copied .note-body{text-decoration:none}.note-check{width:25px;height:25px;flex:none;display:grid;place-items:center;border-radius:7px;border:1.5px solid #CCBFB6;background:white;color:white;padding:0;margin-top:6px}.note-check[aria-checked="true"]{background:#D58D73;border-color:#D58D73}.note-item.bad .note-check[aria-checked="true"]{background:#9B87B6;border-color:#9B87B6}.note-check svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4}.note-details{flex:1;min-width:0}.note-time{display:block;font-size:11px;color:#9B9290;line-height:1.5;margin-bottom:4px}.note-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;color:#4F4B4F}.note-edit{border:none;background:transparent;padding:4px 2px 4px 10px;color:#9A8A86;font-size:12px;flex:none}.note-actions{display:grid;gap:9px;margin:26px 0 0}.primary-button{background:linear-gradient(105deg,#C8A47A,#B99567);color:white;min-height:49px;border:0;border-radius:14px;font-weight:610;letter-spacing:.03em;box-shadow:0 5px 15px rgba(154,122,83,.15)}.primary-button:active{transform:scale(.992)}.secondary-button{min-height:47px;border:1px solid #D9C5AF;border-radius:14px;background:transparent;color:#796B60;font-size:13px}.note-group-empty{border-radius:15px;border:1px dashed #EBE3DB;text-align:center;padding:17px;color:#A69B96;font-size:12px}.history-search{position:relative;margin:0 0 13px}.history-search svg{position:absolute;top:14px;left:14px;width:18px;height:18px;stroke:#ADA19C;fill:none}.history-search input{border:1px solid #EEE7E0;border-radius:14px;background:#F8F5F1;width:100%;height:48px;padding:10px 13px 10px 41px;color:var(--ink)}.history-search input::placeholder{color:#AEA49F}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px}.filter-chip{background:#FFFEFC;border:1px solid #EAE0D9;border-radius:999px;padding:7px 13px;color:#827572;font-size:12px;white-space:nowrap}.filter-chip.is-active{background:#BFA06F;color:white;border-color:#BFA06F}.history-day{margin-bottom:16px;border:1px solid #F0E9E3;background:#FFFEFC;border-radius:16px;overflow:hidden}.history-day-heading{display:flex;width:100%;justify-content:space-between;align-items:center;background:#FCF8F3;border:0;text-align:left;padding:13px 14px;color:#605658;font-size:13px;font-weight:650}.history-day-heading .day-number{font-size:11px;font-weight:400;color:#938782;margin-left:7px}.history-day-heading .arrow{font-size:16px;font-weight:400}.history-entry{width:100%;border:0;border-top:1px solid #F3EDE7;background:transparent;display:flex;align-items:center;text-align:left;gap:9px;padding:12px 13px;color:#5A5455;min-width:0}.history-entry .entry-dot{margin-top:0;width:10px;height:10px}.history-entry .history-time{font-size:11px;color:#958987;flex:none;font-variant-numeric:tabular-nums}.history-entry .history-preview{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.history-empty{margin-top:20px}.divider-label{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.muted-caption{font-size:11px;color:#A0948D}.sheet-overlay{position:fixed;inset:0;background:rgba(54,46,48,.43);z-index:100;animation:fade .19s ease both}@keyframes fade{from{opacity:0}to{opacity:1}}.sheet{position:fixed;z-index:101;left:50%;transform:translateX(-50%);bottom:var(--keyboard-offset,0px);width:min(100%,520px);background:#FFFCF9;border-radius:25px 25px 0 0;box-shadow:0 -12px 40px rgba(29,23,29,.09);padding:10px 20px calc(16px + env(safe-area-inset-bottom,0px));max-height:var(--sheet-max-height,calc(92dvh - env(safe-area-inset-top,0px)));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:slidein .24s cubic-bezier(.2,.7,.2,1) both}@keyframes slidein{from{opacity:.75;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%,0)}}.sheet-handle{width:36px;height:4px;border-radius:999px;background:#E0DAD5;margin:0 auto 13px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.sheet-title{font-size:16px;font-weight:650;letter-spacing:.04em;display:flex;align-items:center;gap:7px;margin:0}.sheet-title.good{color:#A2604D}.sheet-title.bad{color:#6E5E83}.sheet-close{background:none;border:0;width:36px;height:36px;display:grid;place-items:center;color:#948784;font-size:23px;line-height:1;border-radius:50%}.segmented{display:flex;gap:7px;margin:0 0 14px;flex-wrap:wrap}.segment{border:1px solid #EEE5DD;background:#FFFDFB;border-radius:999px;padding:9px 16px;color:#8C807B;font-size:12px;min-height:39px}.segment.is-active{border-color:#D9A68F;background:#FFF0E9;color:#A65F49}.segment.bad.is-active{background:#F2EDF8;border-color:#BFAED0;color:#6F5D83}.form-date{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #F0E7E0;border-radius:12px;background:white;margin:0 0 12px;gap:8px}.form-date label{font-size:12px;color:#77706D}.form-date input{border:0;background:transparent;font-size:14px;color:var(--ink);max-width:180px;padding:0}.feel-textarea{display:block;width:100%;border:1px solid #F0E8E0;background:#FFFEFC;border-radius:17px;resize:vertical;min-height:165px;max-height:45vh;padding:16px 15px;color:#504A4C;font-size:16px;line-height:1.8;outline:none}.feel-textarea:focus{border-color:#DAB7A6;box-shadow:0 0 0 3px rgba(223,177,160,.13)}.feel-textarea::placeholder{color:#B5A9A4}.sheet-buttons{display:flex;gap:9px;margin-top:15px}.sheet-save{background:linear-gradient(100deg,#EFAE98,#DF927D);color:white;border:0;border-radius:14px;min-height:51px;font-weight:650;flex:1;box-shadow:0 5px 15px rgba(212,127,103,.13)}.sheet-save.bad{background:linear-gradient(110deg,#B9A8CE,#9C89B5);box-shadow:0 5px 15px rgba(149,127,176,.12)}.sheet-danger{border:1px solid #EBCFCB;border-radius:14px;background:transparent;color:#B37C72;padding:0 17px;font-size:12px}.sheet-hint{font-size:11px;color:#A59893;margin:10px 4px 0}.type-toggle{display:flex;gap:6px;margin:0 0 13px}.type-pill{border:1px solid #ECE2D9;border-radius:999px;padding:6px 13px;font-size:12px;color:#877775;background:#FFFEFC}.type-pill.is-active.good{background:#F6DFCF;border-color:#F1C8B5;color:#8B4C37}.type-pill.is-active.bad{background:#EAE4F2;border-color:#C9BFD7;color:#625575}.settings-section{padding:14px 0;border-top:1px solid #F0E8E1}.settings-section h3{font-size:14px;margin:0 0 8px}.settings-section p{font-size:12px;color:#877E7C;margin:0 0 13px;line-height:1.8}.settings-actions{display:grid;gap:10px}.settings-btn{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #E4D8CB;background:#FFFEFC;color:#74675F;padding:13px 12px;border-radius:13px;font-size:13px;font-weight:570;min-height:47px}.settings-foot{font-size:11px;color:#AA9A91;line-height:1.85;padding-bottom:6px}.backup-flag{display:inline-block;color:#A68057;background:#F7EEE3;border-radius:9px;padding:4px 9px;font-size:11px;margin-bottom:12px}.file-input{display:none}#toast{position:fixed;z-index:200;left:50%;bottom:calc(93px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(12px);background:rgba(72,62,61,.95);color:white;max-width:min(88vw,420px);width:max-content;text-align:center;padding:11px 16px;border-radius:14px;box-shadow:0 5px 22px rgba(0,0,0,.14);font-size:12px;line-height:1.65;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;white-space:pre-wrap}#toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}.alert-warning{background:#F9EEE7;border:1px solid #EEDDD2;color:#8F5E48;padding:13px;border-radius:12px;margin:10px 0;font-size:12px}.launch-error{padding:45px 25px;text-align:center}.launch-error p{color:#815C52;line-height:1.9}.loading-state{text-align:center;margin-top:110px;color:#A89686;font-size:13px}.loading-state span{display:block;font-size:30px;margin-bottom:10px}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (min-width:700px){body{background:radial-gradient(ellipse at 9% 10%,#F6EDE8 0,transparent 39%),radial-gradient(ellipse at 91% 83%,#ECE6F1 0,transparent 41%),#FBF7F3}.app-shell{box-shadow:0 0 70px rgba(103,76,65,.085);min-height:100vh}.sheet{border-radius:24px;bottom:max(20px,var(--keyboard-offset,0px));max-width:485px;padding-bottom:20px}.sheet-overlay{backdrop-filter:blur(3px)}.bottom-nav{box-shadow:0 -8px 20px rgba(90,75,67,.035)}}@media (max-width:360px){.screen{padding-left:17px;padding-right:17px}.topbar{padding-left:16px;padding-right:16px}.mood-card{padding-left:18px;min-height:102px}.mood-title{font-size:19px}.mood-subtext{font-size:10px}.filter-chip{padding:6px 10px}.sheet{padding-left:15px;padding-right:15px}}@media (max-height:640px){.hero{margin:7px 0 17px}.mood-card{min-height:94px;padding-top:17px;padding-bottom:17px}.section-header{margin-top:24px}}
[hidden]{display:none!important}

/* v1.0 — Accessibility and iPhone safe-area refinements */
.visually-hidden {
  position: absolute!important;
  width: 1px!important;
  height: 1px!important;
  padding: 0!important;
  margin: -1px!important;
  overflow: hidden!important;
  clip: rect(0,0,0,0)!important;
  white-space: nowrap!important;
  border: 0!important;
}
body.is-modal-open {overflow:hidden;touch-action:pan-x;}
.pending-help {font-size:12px;line-height:1.7;color:#978B89;margin:5px 3px 17px;}
.screen-caption {font-size:11px;line-height:1.8;color:#A39792;margin:17px 3px 5px;}
.sheet {max-height:min(calc(92dvh - env(safe-area-inset-top,0px)),calc(100dvh - var(--keyboard-offset,0px) - env(safe-area-inset-top,0px) - 12px));}
.note-check {touch-action:manipulation;}
.history-search input::-webkit-search-cancel-button {cursor:pointer;}
@media (max-height:650px) {
  .sheet .feel-textarea {min-height:120px;}
  .sheet-head {margin-bottom:10px;}
}

/* v1.1.0 — ふとメモ（中立の記録） */
.mood-card.memo{background:linear-gradient(112deg,#EFF4F1 0%,#DFEAE5 100%);color:#506A68}
.mood-card.memo::before{content:'';position:absolute;inset:-36px -25px auto auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),transparent 72%);pointer-events:none}
.entry-dot.memo{background:#9FBFB4}
.note-group-heading.memo{color:#506A68}
.note-item.memo{border-left:3px solid #B3CEC4}
.note-item.memo .note-check[aria-checked="true"]{background:#739A8C;border-color:#739A8C}
.sheet-title.memo{color:#506A68}
.segment.memo.is-active{background:#EBF3EF;border-color:#A4C5B8;color:#506A68}
.type-pill.is-active.memo{background:#E5EDEB;border-color:#A6C3B8;color:#506A68}
.sheet-save.memo{background:linear-gradient(108deg,#88AE9E,#6F988A);box-shadow:0 5px 15px rgba(96,142,124,.14)}
.feel-textarea.memo:focus{border-color:#ACCBBE;box-shadow:0 0 0 3px rgba(134,185,168,.13)}
.notebook-choice{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 14px;border:1px solid #D7E5DC;background:#F4F8F5;border-radius:15px;cursor:pointer;min-height:65px;color:#506A68}
.notebook-choice input{width:22px;height:22px;flex:none;accent-color:#6F988A;margin:0}
.notebook-choice-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.notebook-choice-copy strong{font-size:13px;font-weight:630}
.notebook-choice-copy small{font-size:11px;line-height:1.5;color:#70847C}
@media(max-width:360px){.type-toggle{flex-wrap:wrap}.type-pill{padding:7px 10px}}


/* v1.2.0 — Opal Prism Glass edition */
:root{
  --bg-main:#FCFAF7;
  --bg-grad-1:rgba(246,200,214,.20);
  --bg-grad-2:rgba(203,233,245,.18);
  --bg-grad-3:rgba(217,203,243,.16);
  --bg-grad-4:rgba(209,238,226,.18);
  --glass-stroke:rgba(255,255,255,.82);
  --glass-inner:rgba(255,255,255,.36);
  --glass-shadow:0 14px 36px rgba(93,77,70,.10),0 1px 0 rgba(255,255,255,.55) inset;
  --prism:linear-gradient(120deg, rgba(246,200,214,.24) 0%, rgba(244,230,185,.16) 20%, rgba(203,233,245,.24) 44%, rgba(217,203,243,.22) 64%, rgba(209,238,226,.20) 84%, rgba(255,255,255,0) 100%);
  --glass-fill:rgba(255,252,250,.74);
  --glass-fill-strong:rgba(255,253,251,.90);
  --glass-fill-soft:rgba(255,252,250,.82);
  --nav-glass:rgba(255,252,250,.84);
}
html{background:var(--bg-main)}
body{
  position:relative;
  background:
    radial-gradient(1200px 420px at -10% -8%, rgba(246,200,214,.28) 0%, rgba(246,200,214,0) 45%),
    radial-gradient(820px 320px at 105% 18%, rgba(203,233,245,.26) 0%, rgba(203,233,245,0) 46%),
    radial-gradient(760px 300px at 12% 98%, rgba(209,238,226,.18) 0%, rgba(209,238,226,0) 46%),
    linear-gradient(180deg, #FFFDFC 0%, #FCFAF7 43%, #FAF7F4 100%);
  overflow-x:hidden;
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:auto;
  pointer-events:none;
  z-index:0;
}
body::before{
  top:74px; right:-100px;
  width:360px; height:360px;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.56), rgba(255,255,255,.08) 44%, transparent 72%), var(--prism);
  filter:blur(22px);
  opacity:.78;
  transform:rotate(-11deg);
}
body::after{
  bottom:120px; left:-140px;
  width:420px; height:240px;
  background:linear-gradient(135deg, rgba(255,255,255,.0), rgba(255,255,255,.42), rgba(203,233,245,.18), rgba(246,200,214,.16), rgba(255,255,255,0));
  filter:blur(26px);
  opacity:.62;
  transform:rotate(-8deg);
}
.app-shell{
  background:linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.10));
  backdrop-filter:saturate(118%);
}
.app-shell::before,
.app-shell::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:999px;
  filter:blur(12px);
  z-index:0;
}
.app-shell::before{
  width:260px; height:260px; top:90px; right:-140px;
  background:radial-gradient(circle, rgba(255,255,255,.65) 0%, rgba(255,255,255,.12) 38%, rgba(203,233,245,.10) 56%, transparent 72%);
  opacity:.8;
}
.app-shell::after{
  width:240px; height:240px; left:-120px; bottom:160px;
  background:radial-gradient(circle, rgba(255,255,255,.58) 0%, rgba(246,200,214,.10) 44%, rgba(209,238,226,.08) 62%, transparent 75%);
  opacity:.7;
}
.ambient-star{color:#C7A97D;text-shadow:0 0 14px rgba(255,255,255,.6)}
.topbar{padding-top:22px;padding-bottom:8px}
.brand{
  gap:10px;
  color:#7E726E;
  letter-spacing:.16em;
  background:rgba(255,255,255,.28);
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  padding:8px 13px;
  box-shadow:0 6px 18px rgba(131,107,90,.05);
  backdrop-filter:blur(10px) saturate(112%);
  -webkit-backdrop-filter:blur(10px) saturate(112%);
}
.brand-icon{color:#B99169;text-shadow:0 0 14px rgba(255,255,255,.7)}
.icon-button{
  width:46px;height:46px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.32);
  box-shadow:0 10px 22px rgba(117,94,80,.06);
  backdrop-filter:blur(10px) saturate(116%);
  -webkit-backdrop-filter:blur(10px) saturate(116%);
}
.icon-button:hover,.icon-button:active{background:rgba(255,255,255,.48)}
.hero{margin:12px 0 24px}
.hero .hero-star,
.page-symbol{
  color:var(--gold);
  text-shadow:0 0 16px rgba(255,255,255,.78);
}
.hero-date,.page-title{
  letter-spacing:.07em;
  color:#433B41;
}
.hero-subtitle,.page-description{color:#8F8485;letter-spacing:.08em}

.mood-card,
.entry-row,
.note-item,
.history-day,
.history-search input,
.date-wrap,
.primary-button,
.secondary-button,
.settings-btn,
.filter-chip,
.pending-banner,
.note-group-empty,
.empty-state,
.form-date,
.segment,
.type-pill,
.notebook-choice,
.date-nav,
.settings-section,
.sheet,
.bottom-nav{
  -webkit-backdrop-filter:blur(16px) saturate(118%);
  backdrop-filter:blur(16px) saturate(118%);
}

.mood-card{
  background:var(--glass-fill);
  border:1px solid rgba(255,255,255,.74);
  box-shadow:var(--glass-shadow);
  overflow:hidden;
}
.mood-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.44) 0%, rgba(255,255,255,.10) 30%, rgba(255,255,255,.02) 100%);
  pointer-events:none;
}
.mood-card::after{
  content:"";
  position:absolute;
  inset:-20% -15% auto auto;
  width:60%; height:82%;
  background:var(--prism);
  opacity:.85;
  transform:rotate(8deg);
  pointer-events:none;
}
.mood-card.good{background:linear-gradient(140deg, rgba(255,255,255,.54), rgba(246,223,207,.74) 48%, rgba(255,255,255,.46) 100%);color:#6F4C42}
.mood-card.bad{background:linear-gradient(140deg, rgba(255,255,255,.56), rgba(234,228,242,.74) 48%, rgba(255,255,255,.48) 100%);color:#584E69}
.mood-card.memo{background:linear-gradient(140deg, rgba(255,255,255,.56), rgba(229,237,235,.78) 48%, rgba(255,255,255,.46) 100%);color:#4E6764}
.mood-card.good::after{background:linear-gradient(125deg, rgba(255,255,255,0) 0%, rgba(246,200,214,.26) 24%, rgba(244,230,185,.14) 38%, rgba(203,233,245,.22) 62%, rgba(255,255,255,0) 100%)}
.mood-card.bad::after{background:linear-gradient(125deg, rgba(255,255,255,0) 0%, rgba(217,203,243,.23) 28%, rgba(203,233,245,.18) 58%, rgba(255,255,255,0) 100%)}
.mood-card.memo::after{background:linear-gradient(125deg, rgba(255,255,255,0) 0%, rgba(209,238,226,.24) 26%, rgba(203,233,245,.18) 60%, rgba(255,255,255,0) 100%)}
.mood-title{font-weight:670}
.mood-subtext{font-size:11.5px;letter-spacing:.06em;color:rgba(70,64,68,.78)}
.mood-plus{
  background:rgba(255,255,255,.45);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 10px 20px rgba(120,97,81,.09), inset 0 1px 0 rgba(255,255,255,.65);
  -webkit-backdrop-filter:blur(12px) saturate(130%);
  backdrop-filter:blur(12px) saturate(130%);
}
.mood-plus::before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:linear-gradient(145deg, rgba(255,255,255,.42), rgba(255,255,255,.02));
}
.section-header{margin-top:28px}
.section-heading{color:#4B4348}
.sub-count{color:#857A78}
.entry-row,
.note-item,
.history-day,
.empty-state,
.note-group-empty,
.form-date,
.date-wrap,
.pending-banner,
.history-search input,
.settings-btn,
.filter-chip,
.segment,
.type-pill,
.notebook-choice,
.date-nav{
  background:var(--glass-fill-strong);
  border:1px solid rgba(255,255,255,.68);
  box-shadow:0 8px 24px rgba(104,85,73,.06), inset 0 1px 0 rgba(255,255,255,.55);
}
.entry-row{border-radius:18px;padding:13px 13px}
.entry-row .entry-text{color:#534C52}
.entry-row::before,
.note-item::before,
.history-day::before,
.history-search::before,
.date-wrap::before,
.pending-banner::before,
.notebook-choice::before,
.bottom-nav::before,
.sheet::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,0) 24%, rgba(255,255,255,0) 100%);
}
.entry-row,.note-item,.history-day,.date-wrap,.pending-banner,.notebook-choice{position:relative;overflow:hidden}
.entry-dot{box-shadow:0 0 0 3px rgba(255,255,255,.55), 0 3px 10px rgba(112,92,84,.10)}
.entry-dot.good{background:linear-gradient(145deg,#F0C3B1,#E7AA8D)}
.entry-dot.bad{background:linear-gradient(145deg,#D3C7E2,#A89AB9)}
.entry-dot.memo{background:linear-gradient(145deg,#BDD6CE,#8FB6AA)}
.copied-chip{background:rgba(244,235,219,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.empty-state{background:rgba(255,255,255,.55);border-style:solid}
.bottom-nav{
  width:min(calc(100% - 24px),496px);
  bottom:calc(10px + env(safe-area-inset-bottom,0px));
  height:72px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:24px;
  background:var(--nav-glass);
  box-shadow:0 16px 36px rgba(86,70,64,.10), inset 0 1px 0 rgba(255,255,255,.65);
  border-top:none;
  overflow:hidden;
  padding:6px 10px;
}
.bottom-nav::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:40%;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.16));
  pointer-events:none;
}
.nav-tab{position:relative;border-radius:16px;color:#8D8182}
.nav-tab.is-active{
  color:#A88351;
  background:rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52);
}
.nav-tab svg{width:22px;height:22px}
.page-head{margin:16px 0 21px}
.pending-pill{background:rgba(255,240,230,.84);border:1px solid rgba(255,255,255,.6);color:#A26A50}
.note-group-heading{margin-bottom:11px}
.note-item{border-radius:18px}
.note-item.good{border-left:3px solid rgba(232,171,143,.78)}
.note-item.bad{border-left:3px solid rgba(170,154,185,.85)}
.note-item.memo{border-left:3px solid rgba(143,182,170,.86)}
.note-check{
  border-color:rgba(211,198,191,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  background:rgba(255,255,255,.7);
}
.note-check[aria-checked="true"]{background:linear-gradient(145deg,#E7A48B,#D3856F)}
.note-item.bad .note-check[aria-checked="true"]{background:linear-gradient(145deg,#B6A5CB,#9883B3)}
.note-item.memo .note-check[aria-checked="true"]{background:linear-gradient(145deg,#8BB2A2,#70998A)}
.primary-button{
  background:linear-gradient(130deg, rgba(197,165,124,.96), rgba(181,142,92,.94));
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 12px 22px rgba(153,117,73,.18), inset 0 1px 0 rgba(255,255,255,.28);
}
.secondary-button{
  background:rgba(255,255,255,.42);
  border:1px solid rgba(217,197,175,.82);
  box-shadow:0 8px 18px rgba(120,98,81,.06), inset 0 1px 0 rgba(255,255,255,.55);
}
.history-search{position:relative}
.history-search input{
  background:rgba(255,255,255,.72);
}
.chips{gap:8px}
.filter-chip{background:rgba(255,255,255,.56)}
.filter-chip.is-active{
  background:linear-gradient(140deg, rgba(196,161,114,.95), rgba(177,136,82,.96));
  color:white;
  border-color:rgba(196,161,114,.95);
}
.history-day{border-radius:18px;background:rgba(255,255,255,.66)}
.history-day-heading{background:rgba(255,255,255,.28)}
.history-entry{padding:13px 13px;background:transparent}
.date-wrap{background:rgba(255,255,255,.66)}
.date-nav{background:rgba(255,255,255,.56)}
.pending-banner{background:rgba(255,251,247,.74)}
.pending-banner strong{color:#986F4B}
.sheet-overlay{background:rgba(82,66,72,.18);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.sheet{
  background:rgba(255,252,252,.82);
  border:1px solid rgba(255,255,255,.74);
  box-shadow:0 -8px 44px rgba(52,43,51,.10), inset 0 1px 0 rgba(255,255,255,.64);
  -webkit-backdrop-filter:blur(20px) saturate(125%);
  backdrop-filter:blur(20px) saturate(125%);
  border-radius:28px 28px 0 0;
}
.sheet::after{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:38%;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,0) 60%);
  pointer-events:none;
}
.sheet-handle{background:rgba(191,183,179,.85)}
.sheet-title.good{color:#9A594A}
.sheet-title.bad{color:#6B5D80}
.sheet-title.memo{color:#4E6764}
.segment,.type-pill{background:rgba(255,255,255,.6)}
.segment.is-active{background:rgba(255,239,233,.88);border-color:rgba(241,200,181,.92)}
.segment.bad.is-active{background:rgba(242,237,248,.88);border-color:rgba(201,191,215,.92)}
.segment.memo.is-active{background:rgba(235,243,239,.88);border-color:rgba(164,197,184,.92)}
.form-date{background:rgba(255,255,255,.64)}
.feel-textarea{
  background:rgba(255,255,255,.95);
  border:1px solid rgba(240,232,224,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62);
}
.sheet-save{
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 12px 22px rgba(212,127,103,.16), inset 0 1px 0 rgba(255,255,255,.34);
}
.sheet-save.good{background:linear-gradient(125deg,#F0BEA8,#E39A82)}
.sheet-save.bad{background:linear-gradient(125deg,#BEADD2,#9E8AB7)}
.sheet-save.memo{background:linear-gradient(125deg,#96B8AB,#759E91)}
.notebook-choice{background:rgba(245,249,246,.82)}
.settings-section{border-top-color:rgba(240,232,225,.75)}
.settings-btn{background:rgba(255,255,255,.62)}
#toast{background:rgba(79,68,72,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

@media (min-width:700px){
  body{
    background:
      radial-gradient(900px 420px at -8% -10%, rgba(246,200,214,.24) 0%, rgba(246,200,214,0) 52%),
      radial-gradient(700px 380px at 108% 14%, rgba(203,233,245,.26) 0%, rgba(203,233,245,0) 50%),
      radial-gradient(620px 280px at 16% 102%, rgba(209,238,226,.18) 0%, rgba(209,238,226,0) 50%),
      linear-gradient(180deg,#FFFDFC 0%, #FCFAF7 45%, #FAF6F3 100%);
  }
  .sheet{border-radius:28px;bottom:max(18px,var(--keyboard-offset,0px));}
}
@media (max-width:360px){
  .bottom-nav{width:min(calc(100% - 18px),496px)}
  .mood-card{min-height:106px}
}
