.purpose-book-shelf{display:flex;gap:20px;margin-left:auto;align-items:center;padding:8px 12px}.purpose-book{position:relative;isolation:isolate;flex:none;width:66px;height:84px;border:0;background:none;cursor:pointer;perspective:350px;padding:0}.purpose-book-pages,.purpose-book-cover{position:absolute;inset:0;border-radius:3px 8px 8px 3px;box-shadow:2px 5px 10px #160b1938}.purpose-book-pages{inset:3px 0 3px 5px;background:repeating-linear-gradient(#fff9e7 0 3px,#d7c8a7 3px 4px);border:1px solid #cab98e}.purpose-book-cover{display:grid;align-content:center;text-align:center;color:#fff1cc;background:#346a71;border-left:6px solid #23494f;font:700 13px/1.4 Georgia,serif;transform-origin:left;transition:transform .55s cubic-bezier(.2,.7,.2,1);backface-visibility:hidden}.purpose-book-happy .purpose-book-cover{background:#b87d35;border-left-color:#795123}.purpose-book:hover .purpose-book-cover,.purpose-book:focus-visible .purpose-book-cover{transform:rotateY(-65deg)}.purpose-book:focus-visible{outline:3px solid #ffe4a2;outline-offset:6px}.purpose-book-dialog{border:1px solid #cfbe9b;border-radius:20px;padding:28px;width:min(400px,85vw);background:#fffaf0;color:#473849}.purpose-book-dialog::backdrop{background:#28183270}.purpose-book-dialog button{padding:10px 22px;cursor:pointer}@media(max-width:650px){.learning-purpose-heading{flex-wrap:wrap}.purpose-book-shelf{margin-left:0}.purpose-book{width:56px;height:72px}}@media(prefers-reduced-motion:reduce){.purpose-book-cover{transition:none}}
.learning-purpose-heading{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.learning-purpose-copy{flex:1 1 360px;min-width:0}.learning-purpose-title-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.learning-purpose-title-row h2{margin:0}.learning-purpose-title-row .learning-purpose-updated{position:static;white-space:nowrap;font-size:12px;color:#6b675e}.purpose-book-ifthen .purpose-book-cover{background:#596b8c;border-left-color:#394a68}.purpose-book-shelf{margin-left:0;flex:none}.purpose-tool-dialog{box-sizing:border-box;width:min(1280px,94vw);height:min(820px,88dvh);max-height:88dvh;padding:0;overflow:hidden;display:flex;flex-direction:column;background:#fffdf7;color:#303b31}.purpose-tool-dialog::backdrop{background:#19271f99;backdrop-filter:blur(4px)}.purpose-tool-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 22px;border-bottom:1px solid #dce1d7}.purpose-tool-dialog>header h2{margin:0;font:700 25px Georgia,serif}.purpose-tool-dialog>header button{font-size:25px;border:0;background:transparent;cursor:pointer}.purpose-tool-body{flex:1;min-height:0;overflow:auto;padding:20px}.book-split{display:grid;grid-template-columns:minmax(0,var(--left-width)) 12px minmax(0,1fr);height:100%;min-height:420px}.book-split>section{min-width:0;overflow:auto;padding:0 14px}.book-splitter{cursor:col-resize;background:linear-gradient(90deg,transparent 4px,#c1c8b8 4px 7px,transparent 7px);touch-action:none}.book-splitter:focus-visible{outline:2px solid #628659}.book-split h3,.habit-columns h3{margin:0 0 12px}.true-value-search{margin-bottom:18px}.true-value-search label{display:grid;gap:7px}.true-value-search input,.ifthen-row input{padding:10px;border:1px solid #c7d0c2;border-radius:8px;font:inherit}.true-value-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:15px;text-align:left;margin:6px 0;padding:12px;border:1px solid #e0e4dc;border-radius:9px;background:#fff;cursor:pointer}.true-value-row small{display:block;margin-top:5px;font-size:.83em;color:#667164}.true-value-row.selected{justify-content:flex-start}.value-check{flex:none;width:20px;height:20px;border:1px solid #9aa895;border-radius:4px;text-align:center;color:#267249}.book-empty,.book-help{color:#6e796e;font-size:14px}.habit-dialog .purpose-tool-body{overflow:hidden}.habit-columns{height:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.habit-columns>section{min-width:0;overflow:auto;padding:14px;background:#f5f7f2;border:1px solid #dce3d8;border-radius:14px}.habit-row,.habit-pair{display:flex;align-items:center;gap:4px;margin:8px 0}.habit-row button,.habit-pair button{border:0;background:transparent;cursor:pointer}.habit-row .habit-select{flex:1;min-width:0;text-align:left;padding:9px;border-radius:8px;background:#fff;overflow-wrap:anywhere}.habit-select.selected{outline:2px solid #73935f;background:#edf4e8}.habit-pair{justify-content:space-between;padding:10px;border-radius:8px;background:#e9f0e5}.habit-columns section>button,.ifthen-dialog [data-add-plan]{padding:9px 12px;border:1px solid #b9c9b6;border-radius:8px;background:white;cursor:pointer}.ifthen-list{display:grid;gap:10px}.ifthen-row{display:grid;grid-template-columns:1fr 1fr 54px 34px;align-items:end;gap:10px;padding:12px;border:1px solid #dce3d8;border-radius:12px;background:white}.ifthen-row label{display:grid;gap:6px}.then-field span{font-weight:800}.ifthen-count{height:42px;border:1px solid #9fb899;border-radius:10px;background:#edf4e8;color:#244e30;font-size:18px;font-weight:800;cursor:pointer}.ifthen-row>button:last-child{height:40px;border:0;background:transparent;font-size:22px;cursor:pointer}.ifthen-dialog [data-add-plan]{margin-top:12px}@media(max-width:720px){.purpose-tool-dialog{width:100vw;height:92dvh;max-height:92dvh;border-radius:15px 15px 0 0}.purpose-tool-body{padding:12px}.book-split{grid-template-columns:minmax(0,var(--left-width)) 12px minmax(0,1fr)}.book-split>section{padding:0 7px}.habit-dialog .purpose-tool-body{overflow:auto}.habit-columns{height:auto;grid-template-columns:1fr}.habit-columns>section{max-height:320px}.ifthen-row{grid-template-columns:1fr 1fr 46px 28px}.true-value-row{padding:8px;font-size:13px}}@media(prefers-reduced-motion:reduce){.purpose-book-cover{transition:none}}
.true-values-dialog .purpose-tool-body{display:flex;flex-direction:column;overflow:hidden}.true-values-dialog [data-value-split]{flex:1;min-height:0}.true-values-dialog .book-split{height:100%}

/* Purpose tools: warm Edmund palette and motion with accessible reduced-motion fallback. */
.purpose-tool-dialog{border:1px solid #d6c69a;box-shadow:0 28px 95px #142b3040;background:#fffdf6;animation:book-dialog-in .32s cubic-bezier(.2,.8,.2,1) both}
.purpose-tool-dialog>header{background:linear-gradient(110deg,#f7eed6,#fffdf7 62%,#e9f5e9);border-bottom-color:#d9dccb}
.purpose-tool-dialog>header h2{color:#244c44;letter-spacing:-.02em}
.purpose-tool-dialog>header button{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:50%;transition:background .2s,transform .2s}
.purpose-tool-dialog>header button:hover{background:#e9e2cf;transform:rotate(90deg)}
.value-intro,.habit-hero{display:flex;align-items:center;gap:15px;padding:14px 18px;margin-bottom:16px;border:1px solid #d9e7d2;border-radius:16px;background:linear-gradient(120deg,#eaf7e8,#fff9df);color:#275444}
.value-intro-icon,.habit-hero>span{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:#2b785e;color:#fff1b5;font-size:25px;box-shadow:0 5px 0 #1a5a46}
.value-intro strong,.habit-hero strong{font-size:1.08rem}.value-intro p,.habit-hero p{margin:3px 0 0;color:#4f6e5c;font-size:.9rem}
.true-value-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:12px}
.true-value-search label{font-weight:700;color:#345446}.true-value-search input,.true-value-search select,.habit-sort-label select{min-height:44px;border:1px solid #b7d2be;border-radius:11px;background:#fff;color:#24443b;padding:9px 12px;font:inherit;transition:border-color .2s,box-shadow .2s}
.true-value-search input:hover,.true-value-search select:hover,.habit-sort-label select:hover{border-color:#438e68}.true-value-search input:focus,.true-value-search select:focus{outline:none;border-color:#33805b;box-shadow:0 0 0 4px #70bb8255}
.value-category-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 10px;margin-bottom:10px;scrollbar-width:thin}.value-category-tabs button{flex:none;border:1px solid #bcd5bd;border-radius:999px;background:#f5f9ef;color:#315948;padding:8px 12px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}.value-category-tabs button:hover{transform:translateY(-2px);background:#e0f3db;box-shadow:0 4px 10px #1d683022}.value-category-tabs button[aria-pressed=true]{background:#256c52;color:white;border-color:#256c52;box-shadow:0 3px 0 #164935}.value-category-tabs small{opacity:.75}
.value-pane-head,.habit-columns section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.value-pane-head h3,.habit-columns section>header h3{margin:0;color:#2a5145}.value-pane-head strong,.habit-columns section>header strong{padding:5px 9px;border-radius:999px;background:#e0f1de;color:#236348;font:700 .75rem system-ui}
.true-value-row{justify-content:flex-start;border-color:#d7e5d8;border-radius:12px;background:#fff;box-shadow:0 2px 0 #e8eee3;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s,background .22s}.true-value-row:hover{transform:translateY(-3px);box-shadow:0 8px 16px #264e321c;border-color:#55a875;background:#f8fff7}.true-value-row:active{transform:translateY(0) scale(.992)}.true-value-row.selected{background:#f3fbef}.value-row-copy{flex:1}.value-row-copy small{line-height:1.4}.value-check{display:grid;place-items:center;width:24px;height:24px;line-height:1;padding:0;border:1.5px solid #79a588;color:#fff;background:white;font:800 17px/1 system-ui}.selected .value-check{background:#2a9362;border-color:#2a9362}.value-row-action{font-size:20px;color:#39865c}.value-arrived{animation:value-arrive .42s cubic-bezier(.2,.8,.2,1)}.value-flight{position:fixed;z-index:100000;pointer-events:none;margin:0;overflow:hidden;box-shadow:0 12px 30px #1f543549}
.habit-dialog .purpose-tool-body{overflow:auto}.habit-columns{height:auto;min-height:340px;grid-template-columns:repeat(3,minmax(0,1fr))}.habit-columns>section{background:linear-gradient(155deg,#f5fbf3,#fffdf6);border-color:#d4e4d0;box-shadow:0 5px 0 #dce9d5;padding:16px;max-height:calc(88dvh - 205px)}.habit-columns>section:nth-child(2){background:linear-gradient(155deg,#eef8fb,#fffdf6)}.habit-columns>section:nth-child(3){background:linear-gradient(155deg,#fff8e8,#fffdf6)}
.habit-row{gap:7px;padding:5px;border:1px solid #d7e6d9;border-radius:12px;background:white;box-shadow:0 2px 0 #dce9d7;transition:transform .2s,box-shadow .2s,border-color .2s}.habit-row:hover{transform:translateY(-2px);box-shadow:0 7px 15px #244c3522}.habit-row.dragging{opacity:.48;transform:scale(.98)}.habit-row.drop-ready{border-color:#d58c2b;background:#fff3d6;box-shadow:0 0 0 3px #f1c96b88}.habit-grip{color:#80998a;cursor:grab;letter-spacing:-3px;padding:0 5px}.habit-row .habit-select{padding:9px 5px;background:none;font-weight:650}.habit-row .habit-select:hover{color:#167653}.habit-row .habit-select.selected{background:#dcf2d8;outline:none}.habit-row>button:not(.habit-select){width:30px;height:30px;border-radius:8px;color:#526c61;transition:background .2s,transform .2s}.habit-row>button:not(.habit-select):hover{background:#e4f1e5;transform:scale(1.1)}
.habit-columns section>.habit-add,.ifthen-dialog [data-add-plan]{border:1px solid #2b8058;border-radius:11px;background:linear-gradient(#56aa78,#2b8058);color:white;box-shadow:0 4px 0 #1b6241,0 8px 14px #174f3629;font-weight:800;transition:transform .2s,box-shadow .2s,filter .2s}.habit-columns section>.habit-add:hover,.ifthen-dialog [data-add-plan]:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 6px 0 #1b6241,0 12px 20px #174f3629}.habit-columns section>.habit-add:active,.ifthen-dialog [data-add-plan]:active{transform:translateY(3px);box-shadow:0 1px 0 #1b6241}
.habit-sort-label{display:grid;gap:5px;font-size:.8rem;font-weight:700;color:#55705c;margin-bottom:12px}.habit-pair{display:block;background:#fffaf0;border:1px solid #e2d6ad;border-radius:12px;box-shadow:0 3px 0 #e4dbbf;padding:12px;animation:value-arrive .34s ease}.habit-pair-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#315044}.habit-pair-flow strong{overflow-wrap:anywhere}.habit-pair-flow span{color:#c77722;font-size:1.3rem}.habit-pair-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px}.habit-pair-actions button{padding:6px 8px;border-radius:8px;background:#f0f5e9;color:#275846;font-weight:700;transition:transform .18s,background .18s}.habit-pair-actions button:hover{transform:translateY(-2px);background:#d9edd6}.habit-pair-count{display:flex;align-items:center;gap:4px;padding:3px;border-radius:9px;background:#e1eed9}.habit-pair-count output{min-width:25px;text-align:center;font-weight:900;color:#1e6641}
.ifthen-dialog .purpose-tool-body{background:radial-gradient(circle at 90% 0%,#e5f1dc,transparent 28%),#fffdf8}.ifthen-row{border-color:#d4e3d2;border-left:5px solid #4d9c70;border-radius:16px;box-shadow:0 5px 0 #e1eadf;transition:transform .22s,box-shadow .22s,border-color .22s;animation:value-arrive .35s ease}.ifthen-row:hover{transform:translateY(-3px);box-shadow:0 9px 20px #2a5a3422;border-color:#76b987}.ifthen-row label{font-weight:800;color:#315d48}.ifthen-row input{transition:border-color .2s,box-shadow .2s}.ifthen-row input:focus{outline:none;border-color:#348d60;box-shadow:0 0 0 4px #6db68544}.ifthen-count{background:linear-gradient(#e7f7dd,#c7e7c2);box-shadow:0 3px 0 #8db78c;transition:transform .2s,box-shadow .2s}.ifthen-count:hover{transform:translateY(-2px);box-shadow:0 5px 0 #8db78c}.ifthen-count:active{transform:translateY(2px);box-shadow:0 1px 0 #8db78c}
@keyframes book-dialog-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes value-arrive{from{opacity:.2;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:820px){.habit-columns{grid-template-columns:1fr}.habit-columns>section{max-height:none}.true-value-search{grid-template-columns:1fr}.value-category-tabs{margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){.purpose-tool-dialog,.true-value-row,.value-category-tabs button,.habit-row,.habit-pair,.ifthen-row,.value-arrived{animation:none!important;transition:none!important}}
