:root{color-scheme:light}@font-face{font-family:KGPrimaryPenmanship;src:url(/fonts/KGPrimaryPenmanship.ttf) format("truetype");font-weight:400;font-style:normal}*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 20% 30%,hsla(0,0%,100%,.35) 0,hsla(0,0%,100%,0) 45%),radial-gradient(circle at 80% 70%,hsla(0,0%,100%,.25) 0,hsla(0,0%,100%,0) 50%),radial-gradient(circle at 50% 90%,hsla(0,0%,100%,.18) 0,hsla(0,0%,100%,0) 55%),linear-gradient(180deg,#f6e9ef,#efe3ea);color:#3a2f2a}button,input,select,textarea{font:inherit}.shell{min-height:100vh;align-items:center;justify-content:center;padding:clamp(18px,3vw,32px)}.panel,.shell{display:flex;overflow:hidden}.panel{width:min(880px,100%);height:90vh;background:rgba(255,252,248,.92);border:1px solid hsla(37,39%,59%,.45);border-radius:28px;box-shadow:0 10px 28px rgba(0,0,0,.06);padding:clamp(18px,2.4vw,28px);flex-direction:column;gap:18px}.panel.speechActive{box-shadow:0 14px 36px rgba(154,124,146,.18);border:1px solid #dcc7d2}.topRow{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.title{font-size:clamp(1.36rem,2.9vw,1.95rem);line-height:1.18;font-family:Palatino Linotype,Palatino,Book Antiqua,Georgia,ui-serif,serif;letter-spacing:.01em;font-weight:600;color:#3a2f2a;text-wrap:balance;margin:0;text-shadow:0 1px 0 hsla(0,0%,100%,.45);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default;transition:transform .15s ease}.title:active{transform:scale(.97)}.subtle{margin:0;color:#7f6d67;font-size:.97rem;line-height:1.45}.profileRow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.chip{border:1px solid #d8c29a;border-radius:999px;min-height:40px;padding:9px 15px;background:linear-gradient(180deg,#fffaf8,#fef4f8);color:#4a3a34;cursor:pointer;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.85);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.chip[aria-pressed=true]{background:linear-gradient(180deg,#f5e4ea,#eed9e4);border-color:#d8c29a;color:#3a2f2a;box-shadow:0 0 0 2px hsla(39,44%,73%,.24),inset 0 1px 0 hsla(0,0%,100%,.8)}.paper{width:100%;min-height:280px;border:1px solid #d8c29a;border-radius:20px;padding:clamp(20px,2vw,26px);font-size:clamp(1.28rem,2.9vw,1.68rem);line-height:1.6;resize:vertical;background:linear-gradient(180deg,hsla(0,0%,100%,.9),rgba(255,249,246,.97)),repeating-linear-gradient(180deg,rgba(128,170,215,.2),rgba(128,170,215,.2) 1px,transparent 0,transparent calc(.8em - 1px),rgba(128,170,215,.16) calc(.8em - 1px),rgba(128,170,215,.16) .8em,transparent 0,transparent calc(1.6em - 1px),rgba(128,170,215,.46) calc(1.6em - 1px),rgba(128,170,215,.46) 1.6em);box-shadow:inset 0 1px 2px rgba(0,0,0,.05),0 4px 10px rgba(0,0,0,.03)}.mainWritingWindow{height:360px;overflow-y:auto;overflow-x:hidden}.storyArea{display:flex;flex-direction:column;flex:1 1;margin-top:2px;min-height:0;overflow:hidden}.storyArea,.storyEditView{position:relative}.storyEditView.paper{height:360px;resize:none;overflow:hidden}.storyEditorPaper{width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:none;padding:clamp(20px,2vw,26px);border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;overflow-y:auto}.wordBubbleToggle{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:10px}.wordBubbleToggleLabel{font-size:.95rem;color:#6f5f5a;font-weight:600}.wordBubbleToggleButtons{display:inline-flex;gap:6px}.wordBubbleToggleButton{border:1px solid #d8c29a;border-radius:999px;min-height:34px;padding:6px 12px;background:linear-gradient(180deg,#fffaf8,#fdf1f6);color:#4a3a34;font-size:.82rem;font-weight:700;letter-spacing:.02em;cursor:pointer}.wordBubbleToggleButton[aria-pressed=true]{background:linear-gradient(180deg,#f3e3eb,#ead7e4);box-shadow:0 0 0 2px hsla(39,44%,73%,.22)}.storyInlineTapView{display:grid;flex:1 1;min-height:0;grid-gap:14px;gap:14px;align-content:start;position:relative}.inlineEditLink{position:absolute;top:8px;right:10px;border:none;background:transparent;color:#826f82;font-size:.8rem;line-height:1;padding:2px 4px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.inlineEditClose{min-width:40px;min-height:40px;display:grid;place-items:center;text-decoration:none;font-size:1.08rem;line-height:1;border-radius:10px;background:transparent;border:none;box-shadow:none;color:#6c6461;z-index:1}.storyInlineTapView.focusModeActive{padding-top:0;padding-bottom:0}.storyInlineLine{margin:0;line-height:1.85}.inlineWordTap{border:none;background:rgba(248,231,238,.42);display:inline-block;align-items:center;justify-content:center;padding:7px 10px;margin-right:5px;margin-bottom:2px;min-width:1.2em;min-height:2.05em;color:inherit;font:inherit;line-height:inherit;text-align:inherit;cursor:pointer;border-radius:14px;box-shadow:inset 0 0 0 1px hsla(39,44%,73%,.5),inset 0 1px 0 hsla(0,0%,100%,.78),0 2px 4px rgba(0,0,0,.05);transition:background-color .14s ease,box-shadow .14s ease,transform .08s ease}.inlineWordTap.tapWordActive{background:rgba(232,188,203,.52);box-shadow:inset 0 0 0 1px hsla(39,44%,73%,.58),inset 0 -.1em 0 rgba(232,188,203,.28),0 1px 2px rgba(122,94,86,.1);transform:scale(.98);transition:background-color 90ms ease,box-shadow 90ms ease,transform 90ms ease}.inlineWordTap:hover{background:rgba(243,214,223,.52);box-shadow:0 4px 8px rgba(0,0,0,.08);transform:translateY(-1px)}.inlineWordTap:focus-visible{outline:2px solid #c6acc6;outline-offset:2px;border-radius:10px}.inlineWordTap.wordBubbleOff,.inlineWordTap.wordBubbleOff:hover{background:transparent;box-shadow:none}.inlineWordTap.wordBubbleOff:hover{transform:none}.inlineWordTap.wordBubbleOff.tapWordActive{background:rgba(232,188,203,.16);box-shadow:none;transform:scale(.98)}.focusModeWordTap{display:inline;padding:0;margin-right:0;margin-bottom:0;min-width:0;min-height:0;border-radius:0;line-height:inherit;vertical-align:baseline}.focusModeWordTap.wordBubbleOff{background:transparent;border:none;box-shadow:none}.focusModeWordTap.wordBubbleOff.tapWordActive,.focusModeWordTap.wordBubbleOff:hover{background:transparent;box-shadow:none;transform:none}.focusModeWordTap.wordBubbleOff.tapWordActive{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.08em}.focusModeView{display:grid;grid-gap:2px;gap:2px;justify-items:center;align-content:start;width:100%;padding-top:0}.focusModeNav{display:inline-flex;align-items:center;gap:10px;margin-bottom:0}.focusNavButton{width:52px;height:52px;font-size:1.25rem;line-height:1;display:grid;place-items:center;cursor:pointer}.focusNavButton:not(.focusExitButton){background:transparent;border:0;box-shadow:none;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:0;padding:0;color:#525252}.focusExitButton,.focusModeNav.wordBubbleOff .focusNavButton,.focusModeNav.wordBubbleOff .focusNavButton:disabled{background:transparent;border:none;box-shadow:none;color:#525252}.focusModeNav.wordBubbleOff .focusNavButton:disabled{opacity:.46}.focusModeSentence{--band-height:90px;--visible-rows:4;--top-line:25px;--top-rule:2px;--midline:50px;--baseline:82px;width:100%;max-width:700px;min-height:calc(var(--band-height) * var(--visible-rows));margin:0;font-family:KGPrimaryPenmanship,sans-serif;font-size:clamp(4.2rem,9.4vw,5.8rem);line-height:var(--band-height);text-align:left;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent var(--top-line),rgba(159,183,219,.82) var(--top-line),rgba(159,183,219,.82) calc(var(--top-line) + var(--top-rule)),transparent calc(var(--top-line) + var(--top-rule)),transparent calc(var(--midline) - 1px),rgba(159,183,219,.62) calc(var(--midline) - 1px),rgba(159,183,219,.62) var(--midline),transparent var(--midline),transparent calc(var(--baseline) - 2px),rgba(159,183,219,.9) calc(var(--baseline) - 2px),rgba(159,183,219,.9) var(--baseline),transparent var(--baseline),transparent var(--band-height));background-size:100% var(--band-height);background-position:0 0;background-repeat:repeat;scroll-snap-align:start;scroll-snap-stop:always}.sentenceSegment.focusModeSentence{border-radius:12px;padding:12px 12px 8px;margin:2px 0}.focusWritingWindow{--band-height:90px;--visible-rows:4;width:100%;max-width:700px;margin-top:14px;padding:0;height:calc(var(--band-height) * var(--visible-rows));overflow-y:auto;overflow-x:hidden;border-radius:18px;position:relative;scroll-snap-type:y mandatory;scroll-padding-top:0}.focusSnapMarkers{position:absolute;inset:0;pointer-events:none}.focusSnapMarker{position:absolute;left:0;right:0;height:1px;scroll-snap-align:start}.storyReadView{min-height:280px;max-height:420px;overflow-y:auto;display:grid;align-content:start;grid-gap:12px;gap:12px}.sentenceSegment{transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.sentenceSegment:not(.focusModeSentence){border-radius:12px;padding:8px 12px;margin:2px 0}.sentenceLine{display:block;line-height:1.7}.sentenceSegment.isActive{background:linear-gradient(180deg,#f8e9ef,#f2dfe8);color:#3a2f2a;box-shadow:inset 0 0 0 1px hsla(39,44%,73%,.48),0 0 0 2px rgba(255,245,241,.5),0 3px 8px rgba(140,109,98,.12)}.controls{flex-wrap:wrap;gap:10px;align-items:center}.controls,.lowerSection{display:flex;justify-content:space-between}.lowerSection{align-items:flex-start;gap:14px}.lowerLeft,.lowerRight{display:grid;grid-gap:6px;gap:6px}.lowerRight{justify-items:end}.micFeedback{margin:0}.rightReadStatus{text-align:right}.controlsLeft{display:flex;align-items:center}.controlsRight{margin-left:auto;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.readLabelShort{display:none}.controls .micGroupInline{margin-bottom:0;padding:0;gap:10px}.controls .micGroupInline .micButton{width:72px;height:72px;font-size:1.55rem}.wordTapSection{display:grid;grid-gap:10px;gap:10px}.wordChipRow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.wordChip{display:inline-flex;align-items:center;padding:10px 16px;min-height:42px;font-size:1rem;line-height:1.2}.wordChip:hover{background:#f7edf3;border-color:#d8c29a}.wordChip:focus-visible{outline:3px solid #c6acc6;outline-offset:2px}.button{border:1px solid #d8c29a;border-radius:16px;background:linear-gradient(180deg,#fffaf8,#fdf1f6);color:#4a3a34;padding:12px 15px;min-height:42px;cursor:pointer;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.88),0 3px 6px rgba(0,0,0,.08);transition:background-color .14s ease,border-color .14s ease,transform .12s ease}.button:active{transform:translateY(1px)}.button:disabled{opacity:.72;background:#f3ecec;border-color:#dbcfd3;color:#8a8174;box-shadow:none;cursor:not-allowed}.entriesView,.entryDetailView{display:flex;flex:1 1;min-height:0;flex-direction:column;gap:16px}.entriesHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.entriesTitle{margin:0;color:#3a2f2a;font-family:Palatino Linotype,Palatino,Book Antiqua,Georgia,ui-serif,serif;font-size:clamp(1.26rem,2.4vw,1.72rem);font-weight:600;line-height:1.2}.entryList{display:grid;grid-gap:10px;gap:10px;overflow-y:auto;padding-right:2px}.entryListItem{display:grid;grid-template-columns:1fr auto;grid-gap:5px 14px;gap:5px 14px;width:100%;border:1px solid #d8c29a;border-radius:14px;background:linear-gradient(180deg,#fffaf8,#fdf1f6);color:#3a2f2a;padding:14px 16px;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.85),0 2px 6px rgba(0,0,0,.05)}.entryListItem:focus-visible,.entryListItem:hover{border-color:#c8a7b4;background:#fff7fa}.entryListTitle{min-width:0;font-weight:750;overflow-wrap:anywhere}.entryListDate{color:#826f82;font-size:.92rem;white-space:nowrap}.entryListPreview{grid-column:1/-1;color:#6f5f5a;font-size:.98rem;line-height:1.4}.emptyEntriesState{display:grid;flex:1 1;min-height:220px;place-items:center;border:1px dashed #d8c29a;border-radius:16px;background:rgba(255,250,248,.7);color:#6f5f5a;font-size:1.08rem;text-align:center;padding:24px}.emptyEntriesState p{margin:0}.entryDetailPaper{flex:1 1;min-height:0;overflow-y:auto;font-size:clamp(1.22rem,2.6vw,1.6rem);line-height:1.7}.entryDetailPaper p{margin:0 0 1em}.entryDetailPaper p:last-child{margin-bottom:0}.entryDetailActions{display:flex;justify-content:flex-start;width:100%}.readingButtonActive{background:#efe7f6;border-color:#c6acc6;color:#5c4b63}.speechStatus{min-height:1.25rem}.speechStatus.isActive{color:#5c4b63;font-weight:600}.micButton{width:92px;height:92px;border-radius:999px;border:none;background:#c8a7b4;color:#fff;font-size:2rem;cursor:pointer;display:grid;place-items:center}.micIcon{width:1.35em;height:1.35em;display:block}.profileInitialBadge{display:grid;justify-items:center;align-content:center;width:100%;height:100%}.profileSealLetter{display:block;font-family:Palatino Linotype,Palatino,Book Antiqua,Georgia,ui-serif,serif;font-size:2.65rem;line-height:.92;font-weight:600;letter-spacing:.01em;text-transform:uppercase;color:#ecd6a7;text-shadow:0 1px 0 hsla(0,0%,100%,.4),0 1px 2px rgba(104,78,64,.24);transform:translateY(1px)}.micButton[aria-busy=true]{background:#b493a4;box-shadow:0 0 0 0 rgba(200,167,180,.45),0 0 0 10px rgba(200,167,180,.14);animation:micListeningPulse 1.35s ease-out infinite}.micGroup{display:flex;align-items:center;gap:14px;padding:4px 2px 2px;margin-bottom:6px;border-radius:14px;transition:background-color .18s ease,box-shadow .18s ease}.micGroup.isListening{background:rgba(200,167,180,.13);box-shadow:inset 0 0 0 1px rgba(200,167,180,.3)}.micText{font-size:1rem;margin:0;padding-right:6px;transition:color .16s ease,text-shadow .16s ease}.micText.isListening{color:#4f3341;font-size:1.06rem;font-weight:750;text-shadow:0 0 14px rgba(200,167,180,.25);animation:listeningTextPulse 2.2s ease-in-out infinite}.micText.isListening strong{color:#4f3341}@keyframes micListeningPulse{0%{box-shadow:0 0 0 0 rgba(200,167,180,.45),0 0 0 8px rgba(200,167,180,.14)}70%{box-shadow:0 0 0 10px rgba(200,167,180,0),0 0 0 20px rgba(200,167,180,0)}to{box-shadow:0 0 0 0 rgba(200,167,180,0),0 0 0 8px rgba(200,167,180,0)}}@keyframes listeningTextPulse{0%,to{text-shadow:0 0 8px rgba(200,167,180,.18)}50%{text-shadow:0 0 14px rgba(200,167,180,.3)}}.fallback{display:grid;grid-gap:8px;gap:8px;background:#faf5f8;border:1px dashed #d8c29a;border-radius:12px;padding:12px}.fallbackInput{width:100%;min-height:72px;border:1px solid #d6c9cf;border-radius:10px;padding:10px}@media (max-width:640px){.lowerSection{flex-direction:column;align-items:stretch}.lowerRight{justify-items:start}.rightReadStatus{text-align:left}.topRow{flex-direction:column;align-items:flex-start}.controls .micGroupInline .micText,.readLabelFull{display:none}.readLabelShort{display:inline}}