:root{
  --paper:#f5eee2;--ink:#40352d;--muted:#7f7368;--olive:#747d59;--olive-deep:#626b4b;
  --hair:rgba(112,84,54,.22);--shadow:rgba(46,30,18,.20)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#ede5da;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Helvetica Neue",Arial,sans-serif}
button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(91,105,66,.30);outline-offset:3px}
.stage{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 17% 10%,rgba(255,243,223,.18),transparent 24%),repeating-linear-gradient(2deg,rgba(63,40,23,.026) 0 1px,transparent 1px 9px),linear-gradient(115deg,#9b785e,#795943 62%,#8b654c)}
.device-preview{position:relative;width:374px;height:760px;border:7px solid #11110f;border-radius:46px;background:#11110f;box-shadow:0 23px 54px rgba(36,23,13,.34),0 3px 10px rgba(0,0,0,.2)}
.preview-notch{position:absolute;z-index:30;top:-7px;left:50%;width:126px;height:27px;transform:translateX(-50%);border-radius:0 0 18px 18px;background:#11110f}
.notebook{position:absolute;inset:9px 9px 9px 13px}
.cover-edge{position:absolute;z-index:0;left:-5px;top:4px;bottom:4px;width:12px;border-radius:15px 0 0 15px;background:linear-gradient(90deg,#805d3f,#b5885d 53%,#d0aa78 76%,#8a6342);box-shadow:-2px 0 4px rgba(55,35,18,.22),inset -1px 0 rgba(69,42,21,.22)}
.page-stack{position:absolute;z-index:1;right:-4px;top:11px;bottom:11px;width:7px;border-radius:0 20px 20px 0;background:repeating-linear-gradient(90deg,#d0b995 0 1px,#f1e4d1 1px 2px)}
.page{position:relative;z-index:2;width:100%;height:100%;overflow:hidden;border-radius:28px 31px 31px 26px;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.78),transparent 23%),radial-gradient(circle at 76% 80%,rgba(194,151,105,.08),transparent 34%),repeating-linear-gradient(1deg,rgba(107,79,48,.018) 0 1px,transparent 1px 3px),linear-gradient(96deg,#fbf8f1 0%,var(--paper) 60%,#eee1cf 100%);box-shadow:inset -1px 0 rgba(128,91,56,.16),inset 0 0 24px rgba(91,60,31,.035),0 1px 3px rgba(55,36,20,.12)}
.page::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;background-image:radial-gradient(circle at 11% 18%,rgba(114,85,52,.055) 0 .5px,transparent .8px),radial-gradient(circle at 72% 37%,rgba(114,85,52,.04) 0 .45px,transparent .76px),radial-gradient(circle at 44% 76%,rgba(114,85,52,.036) 0 .5px,transparent .8px);background-size:18px 17px,23px 21px,31px 29px}
.hidden{display:none!important}
.date-row{position:absolute;top:7%;left:9.5%;right:8.5%;display:flex;justify-content:space-between;align-items:flex-start}
.date-block strong{display:block;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:11px;letter-spacing:.12em;font-weight:600}
.date-block span{display:block;margin-top:3px;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:8.5px;letter-spacing:.14em;color:var(--muted)}
.sprig{font-family:Georgia,serif;font-size:26px;line-height:1;color:#78806a;transform:rotate(19deg);opacity:.76}
.today-copy{position:absolute;top:18%;left:10.5%;right:10.5%}
.today-copy h1{margin:0 0 18px;font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:23px;line-height:1.2;font-weight:500;letter-spacing:.02em}
.today-copy p{margin:0;font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:14px;line-height:1.75;font-weight:400}.reading-ref{font-weight:600}
.prepared-passage{position:absolute;top:35.5%;left:13%;right:12%;min-height:177px;padding:22px 20px 18px;background:linear-gradient(116deg,#faf5e9,#f2e5d2 75%,#e8d4b8);border:1px solid rgba(120,89,55,.18);box-shadow:0 7px 18px rgba(75,48,26,.12);transform:rotate(-.45deg)}
.prepared-passage::after{content:"";position:absolute;right:0;bottom:0;width:25px;height:25px;background:linear-gradient(135deg,transparent 48%,rgba(124,93,57,.12) 49%,#e2c9a7 52%)}
.paperclip{position:absolute;top:-8px;left:18px;width:26px;height:34px;border:2px solid #98836d;border-radius:13px 13px 9px 9px;border-bottom-color:transparent;transform:rotate(6deg)}
.tiny-label{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:#8d7d6d}
.prepared-passage h2{margin:8px 0 6px;font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:18px;font-weight:600}
.prepared-passage p{margin:0;font-size:10.5px;line-height:1.55;color:#807367}
.prepared-actions{display:flex;align-items:center;gap:15px;margin-top:15px}
.primary{min-height:44px;border:0;border-radius:7px;padding:0 18px;background:var(--olive);color:#fff;font-size:12px;font-weight:600;box-shadow:0 3px 8px rgba(65,72,43,.16)}
.primary:hover{background:var(--olive-deep)}.primary.small{min-height:39px;padding:0 17px;font-size:11px}
.quiet{min-height:40px;border:0;background:none;padding:5px 0;font-size:10.5px;color:#685d53;border-bottom:1px solid rgba(104,93,83,.28)}
.voice-hint{position:absolute;top:64%;left:12%;right:12%;display:grid;justify-items:start;gap:6px}
.voice-button{display:flex;align-items:center;gap:9px;min-height:44px;padding:0;border:0;background:none;font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:13px}
.voice-button>span:first-child,.mic span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(108,89,66,.28);border-radius:50%;font-size:18px;color:var(--olive)}
.voice-hint p{margin:0 0 0 39px;font-size:9.5px;color:#908377}
.page-note{position:absolute;left:10.5%;right:10.5%;bottom:7%;padding-top:10px;border-top:1px solid rgba(112,84,54,.16);font-size:8.7px;line-height:1.5;color:#94877b}
.scripture-top{position:absolute;top:6%;left:8.5%;right:8.5%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#756a60}
.scripture-top>span{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:9.5px;letter-spacing:.13em}
.back-button,.finder-icon{border:0;background:none;min-width:44px;min-height:44px;padding:0;color:#766a60}.back-button{justify-self:start;font-size:28px;font-weight:300}.finder-icon{justify-self:end;font-size:18px}
.scripture-content{position:absolute;top:13%;left:10.5%;right:10.5%;height:48%}.scripture-heading{text-align:center}
.scripture-heading>span{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:8.5px;letter-spacing:.18em;color:#918377}
.scripture-heading h1{margin:6px 0 13px;font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:19px;line-height:1.25;font-weight:600}
.api-status{display:flex;justify-content:center;align-items:center;gap:6px;margin-bottom:10px;font-size:8.5px;color:#918377}
.status-dot{width:6px;height:6px;border-radius:50%;background:#b99b70}.api-status.connected .status-dot{background:#788260}.api-status.error .status-dot{background:#9b715d}
.scripture-text{height:230px;overflow:auto;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:12px 3px 10px;font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:13px;line-height:1.85}
.scripture-text p{margin:.2em 0 .8em}.scripture-text .v{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:8px;font-weight:700;color:#786b60;margin-right:5px;vertical-align:super}
.source-gate{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif!important;font-size:10px!important;line-height:1.65!important;text-align:center;color:#928679;margin-top:54px!important}
.skeleton{display:grid;gap:10px;padding:8px 0 3px}.skeleton i{display:block;height:6px;border-radius:10px;background:linear-gradient(90deg,rgba(66,55,46,.18),rgba(66,55,46,.09))}.skeleton i.short{width:61%}.skeleton i.mid{width:78%}
.copyright{margin-top:7px;font-size:7.5px;line-height:1.4;color:#978a7e}
.journal-lines{position:absolute;top:64%;left:10.5%;right:10.5%;display:grid;gap:14px}.journal-lines h2{margin:0 0 5px;font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:12.5px;font-weight:600}
.journal-lines textarea{width:100%;resize:none;border:0;border-bottom:1px solid rgba(112,84,54,.18);background:repeating-linear-gradient(to bottom,transparent 0 19px,rgba(112,84,54,.10) 19px 20px);outline:none;font-size:12px;line-height:20px;padding:1px 0}
.scripture-actions{position:absolute;bottom:4.7%;left:10.5%;right:10.5%;display:flex;justify-content:space-between;align-items:center;gap:18px}
.finder-dialog{width:min(420px,calc(100vw - 24px));border:0;padding:0;background:transparent}.finder-dialog::backdrop{background:rgba(37,28,21,.36);backdrop-filter:blur(3px)}
.finder-sheet{padding:24px 22px 20px;border-radius:20px;background:linear-gradient(108deg,#fbf7ef,var(--paper));box-shadow:0 18px 50px rgba(43,29,18,.28);border:1px solid rgba(112,84,54,.15)}
.finder-sheet header{display:flex;justify-content:space-between;align-items:flex-start}.finder-sheet h2{margin:6px 0 17px;font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:20px;font-weight:600}
.close{width:44px;height:44px;border:0;background:none;font-size:24px;color:#7f7368}
.speech-row{display:grid;grid-template-columns:1fr 50px;gap:8px}.speech-row input{height:50px;border:1px solid rgba(112,84,54,.20);border-radius:8px;background:#fffaf1;padding:0 13px;font-size:13px}
.mic{height:50px;border:1px solid rgba(112,84,54,.20);border-radius:8px;background:#efe5d6;display:grid;place-items:center}.mic.listening{background:#dde2cf}
.speech-status{min-height:28px;margin:8px 0 12px;font-size:10px;line-height:1.4;color:#8a7e72}
.parsed-result{padding:12px 13px;margin-bottom:12px;border-left:3px solid var(--olive);background:rgba(116,125,89,.07)}.parsed-result span{display:block;font-size:8.5px;color:#8a7d71;margin-bottom:3px}.parsed-result strong{font-family:"AppleMyungjo","Songti KR","Noto Serif KR",serif;font-size:14px}
.example-chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 17px}.example-chips button{min-height:34px;border:1px solid rgba(112,84,54,.16);border-radius:18px;background:transparent;padding:0 10px;font-size:9px}
.full{width:100%;min-height:48px}.primary:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:559px){html,body{background:var(--paper)}.stage{display:block;padding:0;background:var(--paper)}.device-preview{width:100vw;height:100dvh;border:0;border-radius:0;background:var(--paper);box-shadow:none}.preview-notch{display:none}.notebook{inset:0}.cover-edge{display:none}.page-stack{right:0;top:0;bottom:0;width:4px;border-radius:0}.page{height:100dvh;border-radius:0}.date-row{top:max(7%,calc(env(safe-area-inset-top) + 16px))}.scripture-top{top:max(5%,calc(env(safe-area-inset-top) + 8px))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(prefers-contrast:more){.prepared-passage,.speech-row input,.mic{border-color:#786551}.scripture-text,.journal-lines textarea{border-color:#786551}}
