:root{--color-ground: #f6efdf;--color-panel: #fffaf0;--color-text: #1c1610;--color-navy: #14213d;--color-navy-2: #1d2c4f;--color-accent: #b68235;--color-accent-700: #7a5620;--color-accent-300: #d9b98a;--color-accent-100: #f1e2c4;--color-divider: rgba(28, 22, 16, .22);--color-capture-bg: #131a2c;--font-head: "Cormorant Garamond", Georgia, serif;--font-body: "Lora", Georgia, serif;--font-mono: ui-monospace, Menlo, Consolas, monospace;--radius-sm: 8px;--radius-md: 12px;--shadow-card: 0 2px 6px rgba(28, 22, 16, .12);--shadow-btn: 0 2px 4px rgba(122, 86, 32, .35)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--color-ground);color:var(--color-text);font:500 15.5px/1.55 var(--font-body);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select{font:inherit;color:inherit}.app{max-width:402px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative}html,body,.app,.screen{overflow-anchor:none}.screen{flex:1;overflow-y:auto;padding-bottom:92px}.h-display{font:700 30px/1.08 var(--font-head);letter-spacing:-.01em;color:#14100a}.h-title{font:700 21px/1.15 var(--font-head);color:#14100a}.h-num{font:600 46px/1 var(--font-head);color:#14100a}.mono-label{font:800 10px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-700);font-variant-numeric:tabular-nums}.mono-meta{font:600 11.5px/1.5 var(--font-mono);color:#1c1610d9;font-variant-numeric:tabular-nums}.mono-sm{font:600 10.5px/1.5 var(--font-mono);color:#1c1610b3;font-variant-numeric:tabular-nums}.body-sm{font:500 14px/1.5 var(--font-body);color:#241c12}.ital{font-style:italic}.subjrow{display:block;width:100%;text-align:left;padding:13px 0;border-bottom:1px solid var(--color-divider)}.subjrow:active{background:#b682351f}.subj-name{font:700 17px/1.2 var(--font-head);color:#14100a}.subjchip{padding:5px 12px 5px 9px;border:1.5px solid var(--color-accent-300);border-radius:999px;background:var(--color-panel);box-shadow:var(--shadow-card)}.subjchip:active{background:var(--color-accent-100)}.rule{border:0;border-top:1px solid var(--color-divider)}.pagehead{padding:max(20px,env(safe-area-inset-top)) 20px 15px;background:linear-gradient(180deg,var(--color-navy),var(--color-navy-2));border-bottom:3px solid var(--color-accent)}.pagehead .h-display,.pagehead .h-title{color:#f6efdf}.pagehead .mono-label{color:var(--color-accent-300)}.pagehead .mono-meta,.pagehead .mono-sm{color:#f6efdfd9}.pagehead button.mono-label{color:var(--color-accent-300)}.card{border:1.5px solid var(--color-accent-300);border-radius:var(--radius-md);background:var(--color-panel);box-shadow:var(--shadow-card)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;border-radius:var(--radius-sm);background:linear-gradient(180deg,#c89a4d,#a97a2e);color:#fff8ec;padding:12px 18px;font:800 11.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-btn);text-shadow:0 1px 1px rgba(90,60,15,.5)}.btn-outline:active{transform:translateY(1px);box-shadow:0 1px 2px #7a562059}.btn-outline:disabled{opacity:.45;cursor:default}.btn-quiet{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-accent-700);padding:11px 16px;background:var(--color-panel);font:800 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-card)}.btn-quiet:active{background:var(--color-accent-100)}.bar-track{height:7px;background:#1c16101f;border-radius:4px;overflow:hidden;border:.5px solid rgba(28,22,16,.08)}.bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.chip{border:1.5px solid var(--color-accent-300);border-radius:999px;padding:7px 14px;font:700 10.5px var(--font-mono);letter-spacing:.1em;color:#3a2d1a;background:var(--color-panel);white-space:nowrap;box-shadow:var(--shadow-card)}.chip.on{border-color:var(--color-accent);color:#fff8ec;background:linear-gradient(180deg,#c89a4d,#a97a2e);text-shadow:0 1px 1px rgba(90,60,15,.4)}.chip.dim{opacity:.45}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:402px;display:flex;border-top:3px solid var(--color-accent);background:linear-gradient(180deg,var(--color-navy-2),var(--color-navy));padding-bottom:env(safe-area-inset-bottom);z-index:40}.tabbar button{flex:1;padding:11px 0 9px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#f6efdf8c}.tabbar button.on{color:var(--color-accent-300)}.tabbar .tlabel{font:800 9px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;max-width:100%;overflow:hidden;white-space:nowrap}.tabbar button{min-width:0}@media (max-width: 520px){.tabbar .tlabel{font-size:8px;letter-spacing:.02em}}.lessons-toggle{display:inline-flex;align-items:center;gap:4px;padding:8px 2px 8px 10px;align-self:flex-start;margin-top:10px;color:#1c1610bf;white-space:nowrap}.lessons{padding:6px 0 12px 28px}.lesson{display:flex;gap:10px;padding:9px 0;border-top:1px dashed var(--color-divider);align-items:flex-start}.lesson-title{font:700 14px/1.35 var(--font-body);color:#14100a}.termstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.termstrip .term{border:1.5px solid var(--color-accent-300);border-radius:var(--radius-sm);padding:8px 6px;text-align:center;background:var(--color-panel);box-shadow:var(--shadow-card)}.termstrip .term.now{border-color:var(--color-accent);background:var(--color-accent-100)}.termstrip .term .mono-sm{white-space:nowrap;font-size:9px}.crest{border-radius:14px;object-fit:cover;flex-shrink:0;box-shadow:0 3px 8px #14100a59}.capture{background:var(--color-capture-bg);color:#f2efe8;min-height:100%}.capture .mono-label,.capture .mono-meta,.capture .mono-sm{color:#f2efe8a6}.viewfinder{position:relative;margin:8px 20px;aspect-ratio:3/1.6;max-height:150px;border:1.5px solid rgba(242,239,232,.2);border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center}.vf-corner{position:absolute;width:16px;height:16px;border-color:var(--color-accent);border-style:solid;border-width:0}.shutter{width:50px;height:50px;border-radius:50%;border:2.5px solid var(--color-accent);display:flex;align-items:center;justify-content:center;margin:0 auto}.shutter-core{width:36px;height:36px;border-radius:50%;background:linear-gradient(180deg,#c89a4d,#a97a2e)}.capture .chip{background:#efeeec14;color:#efeeece6;border-color:#efeeec73;box-shadow:none;padding:5px 11px;font-size:10px}.capture .chip.on{color:#fff3dc;border-color:var(--color-accent);background:linear-gradient(180deg,#c89a4d,#a97a2e)}.capture .btn-outline{padding:6px 12px;font-size:12px}.stdrow{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-divider);align-items:flex-start;width:100%;text-align:left}.stdbox{width:20px;height:20px;border-radius:5px;border:2px solid;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 2px #1c16101a}.alarm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--color-capture-bg);color:#f2efe8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:30px}.row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}.px{padding-left:20px;padding-right:20px}.fade{color:#1c1610a6}.stepper{display:inline-flex;align-items:center;gap:8px}.stepper button{width:28px;height:28px;border:1.5px solid var(--color-accent-300);border-radius:50%;font-size:15px;line-height:1;color:var(--color-accent-700);background:var(--color-panel)}.scroll-fab{position:fixed;right:8px;top:calc(env(safe-area-inset-top,0px) + 64px);z-index:60;width:auto;height:auto;border:none;background:none;box-shadow:none;padding:4px;display:flex;align-items:center;justify-content:center;font-size:72px;line-height:1;filter:drop-shadow(0 3px 6px rgba(20,16,10,.5))}.scroll-fab:active{transform:scale(.94)}.scroll-fab-roll{display:inline-block;animation:scroll-bob 3.2s ease-in-out infinite}@keyframes scroll-bob{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-3px) rotate(6deg)}}.scroll-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#0c0e18b8;display:flex;align-items:flex-start;justify-content:center;padding:max(10px,env(safe-area-inset-top)) 8px 8px}.scroll-paper{width:100%;max-width:440px;max-height:calc(100dvh - 20px);display:flex;flex-direction:column;background:repeating-linear-gradient(0deg,rgba(120,90,40,.035) 0 2px,transparent 2px 5px),linear-gradient(90deg,#e9dcc0,#f8f1e0 12%,#f8f1e0 88%,#e9dcc0);border-left:1px solid #b89a68;border-right:1px solid #b89a68;box-shadow:0 12px 40px #00000080,inset 0 0 40px #785a282e;transform-origin:top center}.scroll-paper.unroll{animation:scroll-unroll .55s cubic-bezier(.2,.9,.3,1.1)}@keyframes scroll-unroll{0%{transform:scaleY(.04);opacity:.6}to{transform:scaleY(1);opacity:1}}.scroll-roller{height:18px;flex-shrink:0;border-radius:9px;margin:0 -10px;background:linear-gradient(180deg,#6b4a1e,#3f2a10 55%,#6b4a1e);box-shadow:0 2px 4px #0006;position:relative}.scroll-roller:before,.scroll-roller:after{content:"";position:absolute;top:2px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d9b98a,#7a5620)}.scroll-roller:before{left:-4px}.scroll-roller:after{right:-4px}.scroll-head{padding:10px 14px 8px;border-bottom:1px dashed rgba(122,86,32,.45)}.scroll-search{width:100%;margin-top:8px;padding:8px 12px;border-radius:999px;background:#fffaf0cc;border:1.5px solid var(--color-accent-300);font:500 13px var(--font-body)}.scroll-body{flex:1;overflow-y:auto;padding:10px 14px 14px;-webkit-overflow-scrolling:touch}.scroll-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.scroll-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;background:#fffaf0d9;border:1.5px solid var(--color-accent-300);box-shadow:var(--shadow-card)}.scroll-card:active{background:var(--color-accent-100)}.scroll-card.far{opacity:.55}.scroll-card-emoji{font-size:24px;line-height:1}.scroll-card-title{font:700 14px/1.2 var(--font-head);color:#14100a}.scroll-pin{position:absolute;top:6px;right:8px;font-size:13px}.scroll-smoke{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 20%,#f6efdfe6,#f6efdf00 55%);animation:scroll-smoke .7s ease-out forwards}@keyframes scroll-smoke{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.8)}}.scroll-flash{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);pointer-events:none;font:800 30px var(--font-head);color:#fff8ec;text-shadow:0 2px 10px rgba(0,0,0,.7),0 0 20px var(--color-accent);animation:scroll-flash .7s ease-out forwards;white-space:nowrap}@keyframes scroll-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-60%) scale(1)}}@media (prefers-reduced-motion: reduce){.scroll-paper.unroll,.scroll-smoke,.scroll-flash,.scroll-fab-roll{animation:none}}:root{--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText;--hcm-highligh-filter: invert(100%)}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:var(--hcm-highligh-filter);backdrop-filter:var(--hcm-highligh-filter)}.annotationLayer .linkAnnotation>a:hover{opacity:0!important;background:none!important;box-shadow:none}.annotationLayer .popupAnnotation .popup{outline:calc(1.5px * var(--scale-factor)) solid CanvasText!important;background-color:ButtonFace!important;color:ButtonText!important}.annotationLayer .highlightArea:hover:after{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backdrop-filter:var(--hcm-highligh-filter);backdrop-filter:var(--hcm-highligh-filter);content:"";pointer-events:none}.annotationLayer .popupAnnotation.focused .popup{outline:calc(3px * var(--scale-factor)) solid Highlight!important}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%;pointer-events:none}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton):not(.hasBorder)>a:hover{opacity:.2;background-color:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .linkAnnotation.hasBorder:hover{background-color:#ff03}.annotationLayer .hasBorder{background-size:100% 100%}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{height:100%;width:100%}.annotationLayer .popupAnnotation{position:absolute;font-size:calc(9px * var(--scale-factor));pointer-events:none;width:-moz-max-content;width:max-content;max-width:45%;height:auto}.annotationLayer .popup{background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));outline:1.5px solid rgb(255,255,74);padding:calc(6px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popupAnnotation.focused .popup{outline-width:3px}.annotationLayer .popup *{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup>.header{display:inline-block}.annotationLayer .popup>.header h1{display:inline}.annotationLayer .popup>.header .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor));width:-moz-fit-content;width:fit-content}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .popupTriggerArea{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}.annotationLayer svg.quadrilateralsContainer{contain:strict;width:0;height:0;position:absolute;top:0;left:0;z-index:-1}.annotationLayer{z-index:3}.annotationLayer section{margin:0;padding:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select{color:#14213d;padding:0 3px;border-radius:2px;min-height:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:Helvetica,Arial,sans-serif}.annotationLayer .textWidgetAnnotation textarea{line-height:1.25}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:#fff9d68c!important;outline:none;border-color:transparent;box-shadow:inset 0 -2px #c9a227}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked{background-image:none!important;background-color:#ffd00080!important}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{display:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{cursor:pointer}.annotationLayer .linkAnnotation>a{cursor:pointer}
