body[data-page=home] #main{overflow:clip}.ca-wrap{width:min(100% - 10vw,1440px);margin:auto}.ca-label{display:block;font:600 11px/1.4 monospace;letter-spacing:.04em;text-transform:uppercase}.ca-experience{height:300vh;position:relative;background:#f1eee6}.ca-stage{position:sticky;top:0;height:100vh;overflow:hidden;z-index:1}.ca-underlay{position:absolute;inset:0;overflow:hidden}.ca-field{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.ca-hero-copy{position:absolute;left:6.2%;top:50%;transform:translateY(-50%);width:34%;z-index:2}.ca-hero-copy h1{font-size:clamp(32px,3.4vw,60px);line-height:1.16;letter-spacing:-.06em;white-space:pre-line;margin:28px 0}.ca-hero-copy p{font-size:clamp(14px,1.2vw,19px);line-height:1.8;color:#555;max-width:520px}.ca-hero-actions{display:flex;gap:8px;margin-top:32px}.ca-button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;padding:16px 20px;border-radius:3px;font-size:13px;text-decoration:none;min-width:150px}.ca-button-dark{background:#222;color:#fff}.ca-button-light{background:#ddd;color:#222}.ca-button-paper{background:#f1eee6;color:#222}.ca-scroll-hint{position:absolute;left:6.2%;bottom:7%;font-size:12px;color:#777}.ca-hold-hint{position:absolute;right:8%;bottom:15%;background:#ddd;font:10px monospace;padding:3px 5px}.ca-method-flow{position:relative;z-index:0;min-height:100vh;margin-top:-100vh;background:#f1eee6}.ca-method-flow .ca-method{min-height:100vh;height:auto}.ca-method{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:14vh 8vw 8vh;align-items:center;background:#f1eee6}.ca-method-intro h2{font-size:clamp(30px,3.5vw,58px);line-height:1.2;letter-spacing:-.05em;white-space:pre-line}.ca-method-intro>p{max-width:370px;color:#666;line-height:1.7}.ca-method-number{font:400 clamp(90px,15vw,240px)/.9 monospace;letter-spacing:-.12em;margin:5vh 0 2vh}.ca-ledger{border:1px dashed #888;padding:24px 28px}.ca-ledger-head,.ca-ledger-foot{display:flex;justify-content:space-between;gap:12px}.ca-ledger-head{padding-bottom:18px}.ca-ledger-foot{padding-top:18px}.ca-method-row{display:grid;grid-template-columns:45px 1fr;gap:12px;padding:15px 0;border-top:1px dashed #aaa;opacity:.48;transition:opacity .25s}.ca-method-row.is-active{opacity:1}.ca-method-row h3{font-size:17px;margin:0 0 5px}.ca-method-row p{font-size:13px;line-height:1.5;margin:0}.ca-method-index{font:12px monospace}.ca-section-head{display:grid;grid-template-columns:1fr 2fr;gap:1rem;padding:0 0 6vw;border-top:1px solid #777;padding-top:20px}.ca-section-head h2{font-size:clamp(38px,5.6vw,94px);line-height:1.08;letter-spacing:-.065em;white-space:pre-line;text-wrap:balance;margin:0}.ca-section-head>p{grid-column:2;max-width:460px;color:#666;line-height:1.7}.ca-features,.ca-courses,.ca-articles,.ca-entry,.ca-faq{padding-top:11vw;padding-bottom:11vw}.ca-features{background:#191919;color:#f1eee6}.ca-features .ca-section-head{border-color:#777}.ca-features .ca-section-head>p{color:#aaa}.ca-feature-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw;border-top:1px solid #555}.ca-feature{display:grid;grid-template-columns:62px 1fr;gap:12px;align-content:start;min-height:132px;padding:24px 0;border-bottom:1px solid #555}.ca-feature .ca-label{color:#aaa;padding-top:3px}.ca-feature-copy{max-width:390px}.ca-feature h3{font-size:18px;line-height:1.35;margin:0 0 9px}.ca-feature p{color:#b7b5ae;font-size:14px;line-height:1.65;margin:0}.ca-work-section{background:#222;color:#f1eee6;padding:10vw 0}.ca-work-section .ca-section-head{border-color:#777}.ca-work-section .ca-section-head>p{color:#aaa}.ca-workbench{background:#f1eee6;color:#222;border:1px solid #777;box-shadow:0 18px 50px #0004}.ca-work-top,.ca-work-bottom{display:flex;justify-content:space-between;gap:15px;padding:13px 18px;background:#171717;color:#eee;font:11px monospace}.ca-work-body{display:grid;grid-template-columns:30% 70%;min-height:560px}.ca-work-sidebar{border-right:1px solid #999;padding:18px}.ca-work-tabs,.ca-entry-tabs{display:flex;gap:4px}.ca-work-tabs button,.ca-entry-tabs button,.ca-note-actions button{border:1px solid #999;background:transparent;color:inherit;padding:9px 15px;cursor:pointer}.ca-work-tabs button.is-active,.ca-entry-tabs button.is-active{background:#222;color:#fff}.ca-work-sidebar input{width:100%;margin:20px 0;padding:12px;border:1px solid #aaa;background:transparent;color:#222}.ca-work-list-label{font:10px monospace;color:#777;margin-bottom:10px}.ca-work-list button{display:block;text-align:left;width:100%;border:0;border-top:1px solid #c4c2bb;background:transparent;padding:13px 8px;cursor:pointer;color:#222}.ca-work-list button.is-active{background:#ddd9cf}.ca-work-list button span,.ca-work-list button small{display:block}.ca-work-list button small{color:#777;margin-top:4px}.ca-work-main{display:flex;flex-direction:column;min-width:0}.ca-work-preview{padding:clamp(24px,4vw,64px);flex:1}.ca-work-preview h3{font-size:clamp(28px,3vw,45px);line-height:1.2;margin:25px 0}.ca-work-preview h4{margin:30px 0 10px}.ca-work-preview p{max-width:740px;line-height:1.8;color:#555}.ca-work-crumb{font:11px monospace;color:#777}.ca-work-summary{font-size:17px}.ca-note{border-top:1px solid #aaa;padding:22px clamp(24px,4vw,64px)}.ca-note-heading{display:flex;justify-content:space-between;gap:15px;font-size:12px}.ca-note-status{color:#666}.ca-note textarea{width:100%;min-height:90px;margin:12px 0;background:transparent;border:1px solid #aaa;padding:12px;resize:vertical;color:#222}.ca-note-actions{display:flex;gap:6px}.ca-note-actions button{padding:6px 12px;font-size:12px}.ca-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw 2vw}.ca-course{container-type:inline-size;min-width:0}.ca-course-cover{display:block;background:#222}.ca-course-cover>.code-cover{height:auto;min-height:69cqw}.ca-course-cover .cover-art-unit{transition:opacity .3s}.ca-course-cover:hover .cover-art-unit{opacity:.7}.ca-course-info{padding:20px 0;border-bottom:1px solid #999}.ca-course-info h3{font-size:clamp(22px,2.4vw,38px);margin:18px 0 10px}.ca-course-info p{color:#666;line-height:1.6}.ca-course-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:25px}.ca-text-link,.ca-course-bottom a{display:inline-block;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:13px}.ca-courses>.ca-text-link,.ca-articles>.ca-text-link{margin-top:45px}.ca-articles{border-top:1px solid #aaa}.ca-article-list{border-top:1px solid #999}.ca-article-list .journal-row{display:grid;grid-template-columns:1fr 3fr auto;gap:2vw;padding:28px 0;border-bottom:1px solid #aaa}.ca-article-list .journal-meta{display:flex;flex-direction:column;gap:8px;font-size:12px}.ca-article-list .journal-copy h2{font-size:clamp(22px,2.5vw,38px);margin:0 0 10px}.ca-article-list .journal-copy p{color:#666;line-height:1.6}.ca-article-list a{color:inherit}.ca-entry-panel{border:1px solid #777;display:grid;grid-template-columns:1fr 1fr}.ca-entry-copy,.ca-entry-side{padding:clamp(30px,5vw,80px)}.ca-entry-copy h3{font-size:clamp(35px,4vw,64px);margin:50px 0 15px}.ca-entry-copy p,.ca-entry-side p{color:#666;line-height:1.7;max-width:400px}.ca-entry-copy .ca-button{margin-top:30px}.ca-entry-side{border-left:1px solid #aaa;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:300px}.ca-faq-list{border-top:1px solid #777}.ca-faq-item{border-bottom:1px solid #aaa}.ca-faq-item summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:80px 1fr auto;gap:15px;padding:25px 0;font-size:clamp(18px,2vw,28px)}.ca-faq-item summary::-webkit-details-marker{display:none}.ca-faq-no{font:11px monospace}.ca-faq-plus{font-size:24px}.ca-faq-item[open] .ca-faq-plus{transform:rotate(45deg)}.ca-faq-item p{margin:0 0 30px 95px;max-width:680px;color:#666;line-height:1.8}.ca-end{background:#222;color:#f1eee6;padding:10vw 0 5vw;overflow:hidden}.ca-end h2{font-size:clamp(52px,10vw,160px);letter-spacing:-.08em;line-height:1.05;white-space:pre-line;margin:10vw 0 6vw}.ca-end-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.ca-end-link{color:#eee;margin-left:25px}.ca-end-mark{font:20vw/.8 monospace;text-align:right;color:#353535;margin-top:5vw}.ca-workbench button:focus-visible,.ca-entry button:focus-visible{outline:2px solid #9c714b;outline-offset:2px}#courses,#articles,#workbench,#faq,#judgment{scroll-margin-top:90px}
@media(max-width:700px){.ca-wrap{width:calc(100% - 40px)}.ca-experience{height:300vh}.ca-hero-copy{left:7%;top:16%;transform:none;width:86%}.ca-hero-copy h1{font-size:32px;margin:18px 0}.ca-hero-copy p{font-size:14px}.ca-hero-actions{margin-top:20px}.ca-button{min-width:125px;padding:14px;gap:15px}.ca-scroll-hint{color:#eee;bottom:4%;z-index:3}.ca-hold-hint{display:none}.ca-method{grid-template-columns:1fr;gap:14px;padding:13vh 6vw 4vh;align-content:center}.ca-method-intro h2{font-size:28px;margin:8px 0}.ca-method-intro>p{display:none}.ca-method-number{font-size:70px;margin:15px 0 0}.ca-ledger{padding:14px}.ca-method-row{padding:8px 0}.ca-method-row h3{font-size:14px}.ca-method-row p{font-size:11px}.ca-ledger-head,.ca-ledger-foot{padding:5px 0}.ca-section-head{display:block;padding-bottom:45px}.ca-section-head h2{font-size:42px;margin:30px 0 15px}.ca-section-head>p{font-size:14px}.ca-features,.ca-courses,.ca-articles,.ca-entry,.ca-faq{padding-top:80px;padding-bottom:80px}.ca-feature-grid{grid-template-columns:1fr}.ca-feature{min-height:0;padding:17px 0;grid-template-columns:48px 1fr;gap:10px}.ca-feature h3{font-size:16px;margin-bottom:5px}.ca-feature p{font-size:13px;line-height:1.55}.ca-work-section{padding:80px 0}.ca-work-body{grid-template-columns:1fr}.ca-work-sidebar{border-right:0;border-bottom:1px solid #999}.ca-work-list{max-height:180px;overflow:auto}.ca-work-preview{min-height:330px}.ca-work-top,.ca-work-bottom{font-size:9px}.ca-note-heading{flex-direction:column}.ca-course-grid{grid-template-columns:1fr;gap:45px}.ca-course-cover>.code-cover{min-height:56.25cqw}.ca-article-list .journal-row{grid-template-columns:1fr;gap:10px}.ca-article-list .journal-meta{flex-direction:row}.ca-entry-panel{grid-template-columns:1fr}.ca-entry-side{border-left:0;border-top:1px solid #aaa;min-height:230px}.ca-faq-item summary{grid-template-columns:35px 1fr auto}.ca-faq-item p{margin-left:50px}.ca-end{padding:80px 0 40px}.ca-end h2{font-size:52px;margin:70px 0 45px}.ca-end-bottom{display:block}.ca-end-link{display:inline-block;margin:25px 0 0 15px}}
@media(prefers-reduced-motion:reduce){.ca-experience{height:auto}.ca-stage{position:relative;height:auto;overflow:visible;display:flex;flex-direction:column}.ca-underlay{display:none}.ca-method-flow{min-height:0;margin-top:0}.ca-method-flow .ca-method{min-height:80vh}.ca-field{position:relative;order:1;height:50vh}.ca-hero-copy{position:relative;top:auto;left:auto;transform:none!important;opacity:1!important;width:auto;padding:150px 7% 70px;order:0}.ca-scroll-hint,.ca-hold-hint{display:none}.ca-method{min-height:80vh}.ca-course-cover .cover-art-unit{transition:none}}
/* Character fields continue the visual language without obscuring content. */
.ca-features,.ca-courses,.ca-end{position:relative;isolation:isolate;overflow:hidden}
.ca-glyph-texture{position:absolute;inset:0;z-index:-1;background-repeat:repeat;opacity:.62;pointer-events:none;mask-image:linear-gradient(100deg,transparent 4%,#000 60%)}
.ca-features .ca-wrap,.ca-courses .ca-wrap,.ca-end .ca-wrap{position:relative;z-index:1}
.ca-edge{height:180px;background:#f1eee6;overflow:hidden}.ca-edge canvas{display:block;width:100%;height:100%}
.ca-work-section{background:#f1eee6;color:#222;padding-top:7vw}.ca-work-section .ca-section-head{border-color:#777}.ca-work-section .ca-section-head>p{color:#666}
.ca-workbench{background:#202020;color:#eee;border-color:#555}.ca-work-sidebar{background:#252525;border-color:#555}.ca-work-sidebar input{background:#171717;border-color:#666;color:#eee}.ca-work-list button{color:#ddd;border-color:#555}.ca-work-list button.is-active{background:#444}.ca-work-list button small,.ca-work-list-label{color:#aaa}.ca-work-tabs button{border-color:#777}.ca-work-tabs button.is-active{background:#eee;color:#222}.ca-work-preview p{color:#c1c0b9}.ca-work-crumb{color:#aaa}.ca-note{border-color:#555}.ca-note textarea{background:#171717;border-color:#777;color:#eee}.ca-note-status{color:#bbb}.ca-note-actions button{border-color:#777}
.ca-courses{background:#191919;color:#f1eee6}.ca-courses .ca-section-head{border-color:#777}.ca-courses .ca-section-head>p,.ca-courses .ca-course-info p{color:#bbb}.ca-courses .ca-course-info{border-color:#666}.ca-courses .ca-wrap>.ca-text-link{margin-top:45px}.ca-courses .ca-glyph-texture{opacity:.35;mask-image:none}
.ca-end-field{position:absolute;inset:0 0 auto;width:100%;height:min(65vw,650px);z-index:0;pointer-events:none}.ca-end .ca-wrap{z-index:1}.ca-end h2{text-shadow:0 2px 16px #222}.ca-edge-footer{margin-top:-1px}
@media(max-width:700px){.ca-edge{height:120px}.ca-work-section{padding-top:60px}.ca-end-field{height:370px;opacity:.7}.ca-glyph-texture{mask-image:linear-gradient(90deg,transparent,#000)}}
/* Entry ticket and questions share the reference's paper/ink rhythm. */
.ca-entry-panel{position:relative;grid-template-columns:58% 42%;border:0;border-radius:12px;background:#202020;color:#f1eee6}
.ca-entry-panel::before,.ca-entry-panel::after{content:'';position:absolute;left:58%;width:28px;height:28px;border-radius:50%;background:#f1eee6;transform:translateX(-50%);z-index:2}
.ca-entry-panel::before{top:-14px}.ca-entry-panel::after{bottom:-14px}
.ca-entry-copy,.ca-entry-side{padding:clamp(30px,4vw,60px)}
.ca-entry-copy{display:flex;flex-direction:column;align-items:flex-start}
.ca-entry-copy h3{font-size:clamp(52px,6.5vw,106px);line-height:1.08;letter-spacing:-.06em;margin:60px 0 20px}
.ca-entry-copy p,.ca-entry-side p{color:#c5c3bc}.ca-entry-copy .ca-button{background:#f1eee6;color:#222}
.ca-entry-side{border-left:1px dashed #777;justify-content:flex-start;gap:18px;min-height:0}
.ca-entry-status{width:100%;border-top:1px solid #555}.ca-entry-status-row{display:flex;align-items:center;gap:18px;padding:12px 0;border-bottom:1px solid #555;font-size:14px}.ca-entry-status-row .ca-label{color:#aaa}
.ca-entry-tabs{margin-top:12px}.ca-entry-tabs button{border-color:#777;color:#eee}.ca-entry-tabs button.is-active{background:#f1eee6;color:#222}
.ca-entry-side p{font-size:12px;margin:0}.ca-entry-side .ca-text-link{margin-top:auto}
.ca-faq{position:relative;isolation:isolate;overflow:hidden;background:#191919;color:#f1eee6}
.ca-faq .ca-glyph-texture{opacity:.32;mask-image:none}.ca-faq-layout{position:relative;z-index:1;display:grid;grid-template-columns:35% 1fr;gap:5vw}
.ca-faq .ca-section-head{display:block;padding:0 0 30px;border-top:1px solid #777}.ca-faq .ca-section-head .ca-label{margin-top:20px}.ca-faq .ca-section-head h2{font-size:clamp(38px,4vw,68px);margin:30px 0}.ca-faq .ca-section-head>p{color:#aaa;max-width:300px}
.ca-faq-list{border-color:#777}.ca-faq-item{border-color:#555}.ca-faq-item summary{grid-template-columns:48px 1fr auto;font-size:clamp(16px,1.3vw,20px);line-height:1.5}.ca-faq-no{color:#999}.ca-faq-item p{margin-left:63px;color:#c2c0b9}.ca-faq-plus{display:grid;place-items:center;align-self:start;width:28px;height:28px;background:#363636;font-size:20px;line-height:1}
@media(max-width:700px){.ca-entry-panel{grid-template-columns:1fr}.ca-entry-panel::before,.ca-entry-panel::after{left:auto;top:auto;bottom:auto;transform:none}.ca-entry-panel::before{left:-14px;top:50%}.ca-entry-panel::after{right:-14px;top:50%}.ca-entry-copy h3{font-size:50px;margin:45px 0 15px}.ca-entry-side{border-left:0;border-top:1px dashed #777;gap:18px}.ca-faq-layout{grid-template-columns:1fr;gap:25px}.ca-faq .ca-section-head h2{font-size:42px;margin:24px 0 12px}.ca-faq-item summary{grid-template-columns:35px 1fr auto}.ca-faq-item p{margin-left:50px}}
@media(max-width:700px){.ca-entry-panel::before,.ca-entry-panel::after{display:none}.ca-entry-side{position:relative}.ca-entry-side::before,.ca-entry-side::after{content:'';position:absolute;top:-14px;width:28px;height:28px;border-radius:50%;background:#f1eee6}.ca-entry-side::before{left:-14px}.ca-entry-side::after{right:-14px}}
.ca-work-view{display:none}
@media(max-width:700px){.ca-work-view{display:block;width:100%;margin-top:14px;padding:12px;border:1px solid #aaa;background:transparent;color:inherit;text-align:left}.ca-work-view:disabled{opacity:.5;cursor:not-allowed}.ca-work-preview{scroll-margin-top:110px}}
