@@ -254,18 +254,18 @@ type Styles struct {
254254 // Tool - styles for tool call rendering
255255 Tool struct {
256256 // Icon styles with tool status
257− IconPending lipgloss.Style // Pending operation icon
258− IconSuccess lipgloss.Style // Successful operation icon
259− IconError lipgloss.Style // Error operation icon
260− IconCancelled lipgloss.Style // Cancelled operation icon
257+ IconPending lipgloss.Style
258+ IconSuccess lipgloss.Style
259+ IconError lipgloss.Style
260+ IconCancelled lipgloss.Style
261261
262262 // Tool name styles
263− NameNormal lipgloss.Style // Normal tool name
264− NameNested lipgloss.Style // Nested tool name
263+ NameNormal lipgloss.Style // Top-level tool name
264+ NameNested lipgloss.Style // Nested child tool name (inside Agent/Agentic Fetch)
265265
266266 // Parameter list styles
267− ParamMain lipgloss.Style // Main parameter
268− ParamKey lipgloss.Style // Parameter keys
267+ ParamMain lipgloss.Style
268+ ParamKey lipgloss.Style
269269
270270 // Content rendering styles
271271 ContentLine lipgloss.Style // Individual content line with background and width
@@ -632,14 +632,14 @@ func DefaultStyles() Styles {
632632 StylePrimitive: ansi.StylePrimitive{
633633 // BlockPrefix: "\n",
634634 // BlockSuffix: "\n",
635− Color: stringPtr(charmtone.Smoke.Hex()),
635+ Color: new(charmtone.Smoke.Hex()),
636636 },
637− // Margin: uintPtr(defaultMargin),
637+ // Margin: new(uint(defaultMargin)),
638638 },
639639 BlockQuote: ansi.StyleBlock{
640640 StylePrimitive: ansi.StylePrimitive{},
641− Indent: uintPtr(1),
642− IndentToken: stringPtr("│ "),
641+ Indent: new(uint(1)),
642+ IndentToken: new("│ "),
643643 },
644644 List: ansi.StyleList{
645645 LevelIndent: defaultListIndent,
@@ -647,17 +647,17 @@ func DefaultStyles() Styles {
647647 Heading: ansi.StyleBlock{
648648 StylePrimitive: ansi.StylePrimitive{
649649 BlockSuffix: "\n",
650− Color: stringPtr(charmtone.Malibu.Hex()),
651− Bold: boolPtr(true),
650+ Color: new(charmtone.Malibu.Hex()),
651+ Bold: new(true),
652652 },
653653 },
654654 H1: ansi.StyleBlock{
655655 StylePrimitive: ansi.StylePrimitive{
656656 Prefix: " ",
657657 Suffix: " ",
658− Color: stringPtr(charmtone.Zest.Hex()),
659− BackgroundColor: stringPtr(charmtone.Charple.Hex()),
660− Bold: boolPtr(true),
658+ Color: new(charmtone.Zest.Hex()),
659+ BackgroundColor: new(charmtone.Charple.Hex()),
660+ Bold: new(true),
661661 },
662662 },
663663 H2: ansi.StyleBlock{
@@ -683,21 +683,21 @@ func DefaultStyles() Styles {
683683 H6: ansi.StyleBlock{
684684 StylePrimitive: ansi.StylePrimitive{
685685 Prefix: "###### ",
686− Color: stringPtr(charmtone.Guac.Hex()),
687− Bold: boolPtr(false),
686+ Color: new(charmtone.Guac.Hex()),
687+ Bold: new(false),
688688 },
689689 },
690690 Strikethrough: ansi.StylePrimitive{
691− CrossedOut: boolPtr(true),
691+ CrossedOut: new(true),
692692 },
693693 Emph: ansi.StylePrimitive{
694− Italic: boolPtr(true),
694+ Italic: new(true),
695695 },
696696 Strong: ansi.StylePrimitive{
697− Bold: boolPtr(true),
697+ Bold: new(true),
698698 },
699699 HorizontalRule: ansi.StylePrimitive{
700− Color: stringPtr(charmtone.Charcoal.Hex()),
700+ Color: new(charmtone.Charcoal.Hex()),
701701 Format: "\n--------\n",
702702 },
703703 Item: ansi.StylePrimitive{
@@ -712,117 +712,117 @@ func DefaultStyles() Styles {
712712 Unticked: "[ ] ",
713713 },
714714 Link: ansi.StylePrimitive{
715− Color: stringPtr(charmtone.Zinc.Hex()),
716− Underline: boolPtr(true),
715+ Color: new(charmtone.Zinc.Hex()),
716+ Underline: new(true),
717717 },
718718 LinkText: ansi.StylePrimitive{
719− Color: stringPtr(charmtone.Guac.Hex()),
720− Bold: boolPtr(true),
719+ Color: new(charmtone.Guac.Hex()),
720+ Bold: new(true),
721721 },
722722 Image: ansi.StylePrimitive{
723− Color: stringPtr(charmtone.Cheeky.Hex()),
724− Underline: boolPtr(true),
723+ Color: new(charmtone.Cheeky.Hex()),
724+ Underline: new(true),
725725 },
726726 ImageText: ansi.StylePrimitive{
727− Color: stringPtr(charmtone.Squid.Hex()),
727+ Color: new(charmtone.Squid.Hex()),
728728 Format: "Image: {{.text}} →",
729729 },
730730 Code: ansi.StyleBlock{
731731 StylePrimitive: ansi.StylePrimitive{
732732 Prefix: " ",
733733 Suffix: " ",
734− Color: stringPtr(charmtone.Coral.Hex()),
735− BackgroundColor: stringPtr(charmtone.Charcoal.Hex()),
734+ Color: new(charmtone.Coral.Hex()),
735+ BackgroundColor: new(charmtone.Charcoal.Hex()),
736736 },
737737 },
738738 CodeBlock: ansi.StyleCodeBlock{
739739 StyleBlock: ansi.StyleBlock{
740740 StylePrimitive: ansi.StylePrimitive{
741− Color: stringPtr(charmtone.Charcoal.Hex()),
741+ Color: new(charmtone.Charcoal.Hex()),
742742 },
743− Margin: uintPtr(defaultMargin),
743+ Margin: new(uint(defaultMargin)),
744744 },
745745 Chroma: &ansi.Chroma{
746746 Text: ansi.StylePrimitive{
747− Color: stringPtr(charmtone.Smoke.Hex()),
747+ Color: new(charmtone.Smoke.Hex()),
748748 },
749749 Error: ansi.StylePrimitive{
750− Color: stringPtr(charmtone.Butter.Hex()),
751− BackgroundColor: stringPtr(charmtone.Sriracha.Hex()),
750+ Color: new(charmtone.Butter.Hex()),
751+ BackgroundColor: new(charmtone.Sriracha.Hex()),
752752 },
753753 Comment: ansi.StylePrimitive{
754− Color: stringPtr(charmtone.Oyster.Hex()),
754+ Color: new(charmtone.Oyster.Hex()),
755755 },
756756 CommentPreproc: ansi.StylePrimitive{
757− Color: stringPtr(charmtone.Bengal.Hex()),
757+ Color: new(charmtone.Bengal.Hex()),
758758 },
759759 Keyword: ansi.StylePrimitive{
760− Color: stringPtr(charmtone.Malibu.Hex()),
760+ Color: new(charmtone.Malibu.Hex()),
761761 },
762762 KeywordReserved: ansi.StylePrimitive{
763− Color: stringPtr(charmtone.Pony.Hex()),
763+ Color: new(charmtone.Pony.Hex()),
764764 },
765765 KeywordNamespace: ansi.StylePrimitive{
766− Color: stringPtr(charmtone.Pony.Hex()),
766+ Color: new(charmtone.Pony.Hex()),
767767 },
768768 KeywordType: ansi.StylePrimitive{
769− Color: stringPtr(charmtone.Guppy.Hex()),
769+ Color: new(charmtone.Guppy.Hex()),
770770 },
771771 Operator: ansi.StylePrimitive{
772− Color: stringPtr(charmtone.Salmon.Hex()),
772+ Color: new(charmtone.Salmon.Hex()),
773773 },
774774 Punctuation: ansi.StylePrimitive{
775− Color: stringPtr(charmtone.Zest.Hex()),
775+ Color: new(charmtone.Zest.Hex()),
776776 },
777777 Name: ansi.StylePrimitive{
778− Color: stringPtr(charmtone.Smoke.Hex()),
778+ Color: new(charmtone.Smoke.Hex()),
779779 },
780780 NameBuiltin: ansi.StylePrimitive{
781− Color: stringPtr(charmtone.Cheeky.Hex()),
781+ Color: new(charmtone.Cheeky.Hex()),
782782 },
783783 NameTag: ansi.StylePrimitive{
784− Color: stringPtr(charmtone.Mauve.Hex()),
784+ Color: new(charmtone.Mauve.Hex()),
785785 },
786786 NameAttribute: ansi.StylePrimitive{
787− Color: stringPtr(charmtone.Hazy.Hex()),
787+ Color: new(charmtone.Hazy.Hex()),
788788 },
789789 NameClass: ansi.StylePrimitive{
790− Color: stringPtr(charmtone.Salt.Hex()),
791− Underline: boolPtr(true),
792− Bold: boolPtr(true),
790+ Color: new(charmtone.Salt.Hex()),
791+ Underline: new(true),
792+ Bold: new(true),
793793 },
794794 NameDecorator: ansi.StylePrimitive{
795− Color: stringPtr(charmtone.Citron.Hex()),
795+ Color: new(charmtone.Citron.Hex()),
796796 },
797797 NameFunction: ansi.StylePrimitive{
798− Color: stringPtr(charmtone.Guac.Hex()),
798+ Color: new(charmtone.Guac.Hex()),
799799 },
800800 LiteralNumber: ansi.StylePrimitive{
801− Color: stringPtr(charmtone.Julep.Hex()),
801+ Color: new(charmtone.Julep.Hex()),
802802 },
803803 LiteralString: ansi.StylePrimitive{
804− Color: stringPtr(charmtone.Cumin.Hex()),
804+ Color: new(charmtone.Cumin.Hex()),
805805 },
806806 LiteralStringEscape: ansi.StylePrimitive{
807− Color: stringPtr(charmtone.Bok.Hex()),
807+ Color: new(charmtone.Bok.Hex()),
808808 },
809809 GenericDeleted: ansi.StylePrimitive{
810− Color: stringPtr(charmtone.Coral.Hex()),
810+ Color: new(charmtone.Coral.Hex()),
811811 },
812812 GenericEmph: ansi.StylePrimitive{
813− Italic: boolPtr(true),
813+ Italic: new(true),
814814 },
815815 GenericInserted: ansi.StylePrimitive{
816− Color: stringPtr(charmtone.Guac.Hex()),
816+ Color: new(charmtone.Guac.Hex()),
817817 },
818818 GenericStrong: ansi.StylePrimitive{
819− Bold: boolPtr(true),
819+ Bold: new(true),
820820 },
821821 GenericSubheading: ansi.StylePrimitive{
822− Color: stringPtr(charmtone.Squid.Hex()),
822+ Color: new(charmtone.Squid.Hex()),
823823 },
824824 Background: ansi.StylePrimitive{
825− BackgroundColor: stringPtr(charmtone.Charcoal.Hex()),
825+ BackgroundColor: new(charmtone.Charcoal.Hex()),
826826 },
827827 },
828828 },
@@ -837,8 +837,8 @@ func DefaultStyles() Styles {
837837 }
838838
839839 // PlainMarkdown style - muted colors on subtle background for thinking content.
840− plainBg := stringPtr(bgBaseLighter.Hex())
841− plainFg := stringPtr(fgMuted.Hex())
840+ plainBg := new(bgBaseLighter.Hex())
841+ plainFg := new(fgMuted.Hex())
842842 s.PlainMarkdown = ansi.StyleConfig{
843843 Document: ansi.StyleBlock{
844844 StylePrimitive: ansi.StylePrimitive{
@@ -851,8 +851,8 @@ func DefaultStyles() Styles {
851851 Color: plainFg,
852852 BackgroundColor: plainBg,
853853 },
854− Indent: uintPtr(1),
855− IndentToken: stringPtr("│ "),
854+ Indent: new(uint(1)),
855+ IndentToken: new("│ "),
856856 },
857857 List: ansi.StyleList{
858858 LevelIndent: defaultListIndent,
@@ -860,7 +860,7 @@ func DefaultStyles() Styles {
860860 Heading: ansi.StyleBlock{
861861 StylePrimitive: ansi.StylePrimitive{
862862 BlockSuffix: "\n",
863− Bold: boolPtr(true),
863+ Bold: new(true),
864864 Color: plainFg,
865865 BackgroundColor: plainBg,
866866 },
@@ -869,7 +869,7 @@ func DefaultStyles() Styles {
869869 StylePrimitive: ansi.StylePrimitive{
870870 Prefix: " ",
871871 Suffix: " ",
872− Bold: boolPtr(true),
872+ Bold: new(true),
873873 Color: plainFg,
874874 BackgroundColor: plainBg,
875875 },
@@ -910,17 +910,17 @@ func DefaultStyles() Styles {
910910 },
911911 },
912912 Strikethrough: ansi.StylePrimitive{
913− CrossedOut: boolPtr(true),
913+ CrossedOut: new(true),
914914 Color: plainFg,
915915 BackgroundColor: plainBg,
916916 },
917917 Emph: ansi.StylePrimitive{
918− Italic: boolPtr(true),
918+ Italic: new(true),
919919 Color: plainFg,
920920 BackgroundColor: plainBg,
921921 },
922922 Strong: ansi.StylePrimitive{
923− Bold: boolPtr(true),
923+ Bold: new(true),
924924 Color: plainFg,
925925 BackgroundColor: plainBg,
926926 },
@@ -948,17 +948,17 @@ func DefaultStyles() Styles {
948948 Unticked: "[ ] ",
949949 },
950950 Link: ansi.StylePrimitive{
951− Underline: boolPtr(true),
951+ Underline: new(true),
952952 Color: plainFg,
953953 BackgroundColor: plainBg,
954954 },
955955 LinkText: ansi.StylePrimitive{
956− Bold: boolPtr(true),
956+ Bold: new(true),
957957 Color: plainFg,
958958 BackgroundColor: plainBg,
959959 },
960960 Image: ansi.StylePrimitive{
961− Underline: boolPtr(true),
961+ Underline: new(true),
962962 Color: plainFg,
963963 BackgroundColor: plainBg,
964964 },
@@ -981,7 +981,7 @@ func DefaultStyles() Styles {
981981 Color: plainFg,
982982 BackgroundColor: plainBg,
983983 },
984− Margin: uintPtr(defaultMargin),
984+ Margin: new(uint(defaultMargin)),
985985 },
986986 },
987987 Table: ansi.StyleTable{
@@ -1119,7 +1119,7 @@ func DefaultStyles() Styles {
11191119 s.Tool.IconCancelled = s.Muted.SetString(ToolPending)
11201120
11211121 s.Tool.NameNormal = base.Foreground(blue)
1122− s.Tool.NameNested = base.Foreground(fgHalfMuted)
1122+ s.Tool.NameNested = base.Foreground(blue)
11231123
11241124 s.Tool.ParamMain = s.Subtle
11251125 s.Tool.ParamKey = s.Subtle
@@ -1368,10 +1368,6 @@ func DefaultStyles() Styles {
13681368 return s
13691369}
13701370
1371−// Helper functions for style pointers
1372−func boolPtr(b bool) *bool { return &b }
1373−func stringPtr(s string) *string { return &s }
1374−func uintPtr(u uint) *uint { return &u }
13751371func chromaStyle(style ansi.StylePrimitive) string {
13761372 var s strings.Builder
13771373